/* Golden-ratio inspired editorial rhythm, not a forced scaling of every element.
   16 → 26 → 42 → 68 → 110; imagery is never stretched. */
:root{--ecs-phi:1.618;--space-xs:10px;--space-sm:16px;--space-md:26px;--space-lg:42px;--space-xl:68px;--space-2xl:110px}
body{line-height:1.618}
main h1,.expanded-page .intro h1{font-size:clamp(42px,5.2vw,68px);line-height:1.08}
main h2{font-size:clamp(30px,3.3vw,42px);line-height:1.18}
main h3{font-size:clamp(22px,2.05vw,26px);line-height:1.24}
main .section{padding-block:var(--space-xl)}
main .section-head{gap:var(--space-lg);margin-bottom:var(--space-lg)}
main .section-head>p{max-width:42ch;line-height:1.618}
main .lede,main .hero-lede{line-height:1.618}
main .card-body{padding-top:var(--space-md)}
main .eyebrow{margin-bottom:var(--space-sm)}
main .intro{padding-bottom:var(--space-xl)}
main .feature-copy p,main .detail-copy p{max-width:68ch;line-height:1.618}
@media(min-width:1100px){
 main .hero{grid-template-columns:minmax(0,1fr) minmax(0,1.618fr);column-gap:var(--space-lg)}
 main .hero-photo{height:auto;aspect-ratio:1.618;min-height:360px}
 main .story .split{grid-template-columns:minmax(0,1fr) minmax(0,1.618fr);gap:var(--space-xl)}
 .expanded-page .detail-layout{grid-template-columns:minmax(0,1.618fr) minmax(0,1fr);gap:var(--space-xl)}
 .expanded-page .cap-feature{grid-template-columns:minmax(0,1.618fr) minmax(0,1fr);gap:var(--space-xl);padding-bottom:var(--space-xl);margin-bottom:var(--space-xl)}
 .expanded-page .cap-feature:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.618fr)}
 .expanded-page .contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.618fr);gap:var(--space-xl)}
 main .section-head>div{flex:1.618;min-width:0}main .section-head>p{flex:1}
}
@media(max-width:760px){
 main .section{padding-block:var(--space-lg)}
 main .section-head{gap:var(--space-md);margin-bottom:var(--space-md)}
 main h1,.expanded-page .intro h1{font-size:clamp(36px,9vw,52px)}
 main h2{font-size:clamp(28px,7vw,34px)}
 main h3{font-size:22px}
 main .intro{padding-bottom:var(--space-lg)}
}
