/* Refinement pass: tighter rhythm, balanced type, calmer hero, crisper details. */
:root{
  --t-hero:clamp(2.3rem,1.15rem + 3.3vw,4.15rem);
  --t-h2:clamp(2rem,1.2rem + 2.8vw,3.6rem);
  --s-section:clamp(4.25rem,2.8rem + 4.6vw,7.5rem);
}

/* type: balanced headings, no orphans in body copy */
.hero-title,.h2,h3{text-wrap:balance}
p,li,dd{text-wrap:pretty}
.hero-title{letter-spacing:-.04em;line-height:.96}
.hero-title .sm{font-size:.36em;margin-top:1em;color:var(--muted);font-weight:500}
.hero-lead{margin-top:22px;max-width:46ch}

/* hero: copy gets the room, the visual stays a supporting piece */
@media (min-width:1024px){
  .hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}
  .hero-title .sm{max-width:none}
  .hero-visual{max-width:440px}
  .hero{padding-block:clamp(40px,5vw,80px) clamp(56px,6vw,96px)}
}
.hero::after{opacity:.6}

/* numbers band: hairline columns read as a ledger, not four loose figures */
@media (min-width:820px){
  .num-list > li{position:relative;padding-left:28px}
  .num-list > li + li::before{content:"";position:absolute;left:0;top:10%;bottom:10%;width:1px;background:rgba(168,195,168,.25)}
}

/* buttons: one shared press feel, visible keyboard focus on dark and light */
.btn{letter-spacing:.005em}
.btn:focus-visible{outline-offset:4px}
.btn-wa:hover{box-shadow:0 16px 30px -14px rgba(37,211,102,.55)}

/* cards: lift on hover only where a pointer exists */
@media (hover:none){
  .island:hover,.quote-card:hover{transform:none;box-shadow:var(--shadow-1)}
}

/* sticky header: slightly denser glass once scrolled */
.site-header.is-scrolled{background:rgba(247,245,239,.94)}

/* section rhythm: a quiet hairline between light sections that sit back to back */
.section + .section:not(.trust):not(.contact):not(.founder){border-top:1px solid var(--line)}
