/* Content sets each chapter's height; diagrams and cards retain readable proportions. */
:root{--site-header-height:84px;--section-header-space:var(--site-header-height)}
html{scroll-padding-top:24px}
.site-header{height:var(--site-header-height)}
main>section[id]{scroll-margin-top:0}
.hero{height:auto;min-height:min(800px,100svh);padding:calc(var(--site-header-height) + 58px) 0 80px;align-items:center}
.hero .hero-content{padding:0}
.hero .eyebrow{margin-bottom:32px}
.hero h1{font-size:clamp(38px,4.5vw,65px)}
.hero .hero-subtitle{margin-top:28px}
.hero .hero-description{margin-top:16px}
.hero .hero-ctas{margin-top:32px}
:is(#system,#proof){block-size:auto;min-block-size:0;padding-block:54px}
:is(#system,#proof)>.tech-layout{block-size:auto}
:is(#system,#proof) .tech-visual{block-size:auto;align-self:center}
:is(#system,#proof) .stack-diagram{block-size:auto;inline-size:100%;max-inline-size:600px}
.research-section{height:auto;padding-block:60px}
.research-wrap{height:auto;display:block}
.research-section-heading{margin-bottom:26px}
.research-section-heading h2{margin-top:10px}
.research-carousel{display:block}
.research-card-grid{height:auto;padding-bottom:5px}
.research-card{flex-basis:clamp(330px,calc((100% - 40px)/2.85),450px);height:auto}
.research-card-cover{flex:none;max-height:none;aspect-ratio:16/9}
.research-card-body{padding:22px 24px 26px;flex:1}
.research-card-body h3{font-size:24px;line-height:1.45}
.research-card-footer{margin-inline:24px;padding-bottom:24px}
.research-carousel-controls{padding-top:20px}
.roadmap-architecture{min-height:0}
.faq-section{min-height:0;padding-block:60px}
.faq-list summary{padding-block:20px}
.faq-list details p{line-height:1.8}
.closing{min-height:0;padding:68px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center}
@media(max-width:820px){
 :root{--site-header-height:64px}
 .main-nav{top:63px}
 .hero{min-height:0;padding-top:126px;padding-bottom:68px}
 .hero .hero-video-frame{top:174px}
 .hero h1{font-size:clamp(32px,8.8vw,48px);line-height:1.35}
 :is(#system,#proof){padding-block:34px}
 :is(#system,#proof)>.tech-layout{grid-template-rows:auto auto;gap:20px}
 :is(#system,#proof) .tech-visual{grid-template-rows:auto;block-size:auto}
 #system .tech-visual{grid-template-rows:auto auto;row-gap:12px}
 .research-section{padding-block:36px}
 .research-section-heading h2{font-size:28px}
 .research-card{flex-basis:min(400px,calc(100% - 28px))}
 .research-card-body{padding:20px 20px 24px}
 .research-card-body h3{font-size:23px;margin-top:12px}
 .research-card-footer{margin-inline:20px;padding-bottom:22px}
 .research-carousel-controls{padding-top:18px}
 .faq-section{padding-block:36px}
 .faq-layout{gap:24px}
 .faq-list summary{padding-block:17px}
 .faq-list details p{padding-bottom:17px}
}
@media(max-width:540px){
 .hero{padding-top:120px;padding-bottom:58px}
 .hero .hero-video-frame{top:154px}
 .hero .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:26px}
 .hero .hero-subtitle{margin-top:26px}
 .hero .hero-description{font-size:12px;line-height:1.9}
 .hero .hero-ctas{gap:24px;margin-top:28px}
 .research-card-date{font-size:11px}
 .research-card-body h3{font-size:22px;line-height:1.5}
 .research-card-read{min-height:42px}
 .faq-layout .split-heading h2{margin-top:10px}
 .faq-layout .text-link{margin-top:10px}
 .faq-list summary{padding-block:15px}
 .faq-list details p{line-height:1.7;padding-bottom:14px}
 .closing{padding-block:44px}
}
@media(max-height:700px) and (min-width:821px){
 .hero{padding-top:120px;padding-bottom:50px}
 .hero .eyebrow{margin-bottom:20px}
 .hero h1{font-size:48px}
}
