.home-hero{padding:84px 28px 56px;max-width:1220px;margin:0 auto;position:relative}
.home-hero h1{font-size:clamp(2.4rem,6.4vw,4.6rem);font-weight:700;line-height:1.02;margin-bottom:24px;letter-spacing:-0.035em}
.home-hero h1 .l{display:block}
.home-hero h1 .amber{color:var(--sz-amber)}
.home-hero .sub{font-size:1.1rem;color:var(--sz-mute);max-width:660px;line-height:1.75;margin-bottom:34px}
.home-cta{display:flex;gap:11px;flex-wrap:wrap}
/* five family cards: one even row on a wide screen, and on narrower
   screens the trailing row stays centred rather than left-hugging */
.fam-grid{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.fam{flex:0 1 300px;max-width:340px}
@media(min-width:1280px){ .fam{flex:1 1 0;max-width:none} }
.fam{background:var(--sz-bg2);border:1px solid var(--sz-edge);border-radius:3px;padding:26px 24px;
  box-shadow:0 0 0 1px var(--sz-edge-soft) inset;
  transition:border-color .18s,transform .18s;display:flex;flex-direction:column;position:relative;overflow:hidden}
.fam::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--sz-blue),var(--sz-amber));opacity:0;transition:opacity .22s}
.fam:hover{border-color:var(--sz-edge-hi);transform:translateY(-3px)}
.fam:hover::before{opacity:1}
.fam .n{font-family:var(--mn);font-size:0.66rem;color:var(--sz-amber);letter-spacing:2px;margin-bottom:14px;
  display:flex;align-items:center;gap:8px}
.fam-icon{font-size:1.15rem;line-height:1;color:var(--sz-blue-hi)}
.fam h3{font-size:1.4rem;margin-bottom:7px}
.fam .s{font-size:0.92rem;color:var(--sz-blue-hi);font-weight:600;margin-bottom:13px}
.fam p{font-size:0.9rem;color:var(--sz-mute);line-height:1.68;margin-bottom:20px;flex:1}
.fam .row{display:flex;gap:8px}
.fam .row .mini{flex:1}
.steps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--sz-line2);border-radius:3px;overflow:hidden}
.step{padding:28px 22px;border-right:1px solid var(--sz-line2);background:var(--sz-bg2)}
.step:last-child{border-right:none}
.step .n{font-family:var(--hd);font-size:2.4rem;font-weight:700;color:var(--sz-blue-hi);line-height:1;margin-bottom:14px}
.step h4{font-size:1.05rem;margin-bottom:8px}
.step p{font-size:0.86rem;color:var(--sz-mute);line-height:1.66}
.claim{background:linear-gradient(135deg,rgba(213,173,73,0.11),rgba(42,142,135,0.09));
  border:1px solid var(--sz-amber-dim);border-radius:3px;padding:40px 36px;max-width:920px;margin:0 auto}
.claim h2{font-size:clamp(1.7rem,3.6vw,2.4rem);margin-bottom:16px}
.claim p{color:rgba(250,246,238,0.85);line-height:1.78;font-size:1rem}
.endcta{padding:88px 28px;text-align:center;max-width:760px;margin:0 auto}
.endcta h2{font-size:clamp(2rem,4.6vw,3rem);margin-bottom:14px}
.endcta p{font-size:1.02rem;color:var(--sz-mute);margin-bottom:28px}
@media(max-width:980px){
  .home-hero{padding:48px 18px 34px}
  .steps{grid-template-columns:1fr 1fr}
  .step{border-right:none;border-bottom:1px solid var(--sz-line2)}
  .step:nth-child(odd){border-right:1px solid var(--sz-line2)}
  .claim{padding:28px 22px}
  .endcta{padding:56px 18px}
}
@media(max-width:600px){ .steps{grid-template-columns:1fr} .step{border-right:none!important} }
