.homePage{
  background:
    linear-gradient(rgba(255,255,255,.79),rgba(255,255,255,.79)),
    url("/assets/cat_park_page_02.jpg") center/cover fixed;
}

.homeHero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.92fr);
  gap:24px;
  align-items:stretch;
}

.homeHeroCopy{display:flex; flex-direction:column; min-width:0}
.eyebrow{margin:0 0 8px; color:var(--forest); font-size:12px; font-weight:900; letter-spacing:.13em; text-transform:uppercase}
.homeHero h1{margin:0; color:var(--forest); font-family:var(--font-head); font-size:clamp(46px,5vw,68px); letter-spacing:-.035em; line-height:.98}
.homeHero .lede{margin:16px 0 0; max-width:62ch; color:var(--ink); font-size:17px; line-height:1.7}
.homeHero .support{margin:12px 0 0; max-width:64ch; color:var(--muted); font-size:15px}
.heroActions{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px}
.heroChips{display:flex; gap:8px; margin-top:auto; padding-top:20px; overflow:hidden}
.chip{display:inline-flex; align-items:center; min-height:30px; padding:6px 10px; border:1px solid rgba(13,89,37,.3); border-radius:999px; background:rgba(255,255,255,.75); color:var(--forest); font-size:11px; font-weight:800; white-space:nowrap}
.homeHeroFigure{display:flex; flex-direction:column; margin:0; min-height:570px; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow)}
.homeHeroFigure img{width:100%; min-height:0; flex:1; object-fit:cover}
.homeHeroFigure figcaption{padding:8px 11px; color:var(--muted); font-size:11px; line-height:1.4}

.introAnswer{margin-top:20px; padding:18px 20px; border-left:4px solid var(--forest); border-radius:0 16px 16px 0; background:rgba(255,255,255,.72)}
.introAnswer strong{display:block; margin-bottom:4px; color:var(--forest); font-size:12px; letter-spacing:.09em; text-transform:uppercase}
.introAnswer p{margin:0; color:var(--ink)}

.homeSection{margin-top:24px; padding-top:22px; border-top:1px solid var(--line)}
.splitHead{display:block; margin-bottom:15px}
.splitHead h2,.homeSection>h2{margin:0; color:var(--forest); font-family:var(--font-head); font-size:clamp(30px,4vw,42px); line-height:1.04; letter-spacing:-.025em}
.splitHead p{max-width:78ch; margin:8px 0 0; color:var(--muted)}
.homeCards{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.homeCard{display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.82); box-shadow:var(--shadow)}
.homeCard img{width:100%; height:190px; object-fit:cover}
.homeCardBody{display:flex; flex:1; flex-direction:column; padding:16px}
.kicker{margin:0 0 5px; color:var(--forest); font-size:10px; font-weight:900; letter-spacing:.11em; text-transform:uppercase}
.homeCard h3{margin:0 0 7px; font-size:19px; line-height:1.2}
.homeCard p{margin:0; color:var(--muted); font-size:14px; line-height:1.6}
.textLink{margin-top:auto; padding-top:13px; color:var(--forest); font-size:13px; font-weight:900}
.textLink:after{content:" →"}

.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; counter-reset:step}
.step{padding:18px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.76); counter-increment:step}
.step:before{content:counter(step); display:grid; place-items:center; width:27px; height:27px; margin-bottom:10px; border-radius:50%; background:rgba(13,89,37,.14); color:var(--forest); font-size:12px; font-weight:900}
.step h3{margin:0 0 6px; font-size:17px}.step p{margin:0; color:var(--muted); font-size:14px}

.guideGrid{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.guidePanel{padding:20px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.76)}
.guidePanel h3{margin:0 0 7px; color:var(--forest); font-family:var(--font-head); font-size:23px}.guidePanel p{margin:0 0 10px; color:var(--muted)}
.guidePanel ul{margin:0; padding-left:19px; color:var(--muted)}
.faqGrid{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.faqGrid details{padding:15px 17px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.76)}
.faqGrid summary{cursor:pointer; color:var(--ink); font-weight:900}
.faqGrid details p{margin:10px 0 0; color:var(--muted); font-size:14px}

.homeCta{display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; margin-top:25px; padding:24px; border:1px solid rgba(13,89,37,.35); border-radius:18px; background:rgba(225,241,218,.85)}
.homeCta h2{margin:0 0 5px; color:var(--forest); font-family:var(--font-head); font-size:30px}.homeCta p{margin:0; color:var(--muted)}
.homeCtaActions{display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end}

@media (max-width:900px){
  .homeHero{grid-template-columns:1fr}.homeHeroFigure{min-height:420px}.homeHero h1{font-size:46px}
  .heroChips{margin-top:0}.homeCards,.steps{grid-template-columns:1fr}.guideGrid,.faqGrid{grid-template-columns:1fr}.homeCta{grid-template-columns:1fr}.homeCtaActions{justify-content:flex-start}
}

@media (max-width:560px){
  .container{padding:12px}.page{padding:18px}.homeHero h1{font-size:39px}.homeHeroFigure{min-height:340px}.heroChips{overflow-x:auto}.homeCard img{height:210px}
}
