/* Focused storytelling: DESIGN_VARIANCE 5 / MOTION_INTENSITY 4 / VISUAL_DENSITY 2. */
.section-space { padding-block:64px; }
.hero { padding-top:65px; padding-bottom:65px; border-bottom:1px solid var(--rule); }
.hero-copy { max-width:1080px; padding:0; }
.hero h1 { font-size:clamp(44px,6.4vw,88px); max-width:1050px; line-height:1.08; }
.hero-one-liner { max-width:570px; font-size:18px; margin-top:25px; }
.hero-actions { margin-top:29px; }
.method-section { padding-top:52px; }
.method-section .section-heading { margin-bottom:30px; }
.method-section h2 { font-size:clamp(32px,3vw,43px); }
.method-experience.is-scroll-driven { height:calc(100svh + 420px); }
.method-sticky { grid-template-columns:.85fr 1.15fr; gap:70px; }
.is-scroll-driven .method-sticky { top:clamp(100px,calc((100svh - 440px + var(--header-height))/2),230px); }
.flow-copy { min-width:0; }
.flow-count { color:var(--gold); font-size:12px; margin-bottom:20px; }
.flow-copy h3 { font-size:clamp(28px,3vw,40px); line-height:1.15; letter-spacing:-1px; }
.flow-copy>p:not(.flow-count) { color:var(--muted); max-width:340px; margin-top:18px; font-size:16px; min-height:82px; }
.method-experience .method-flow { display:flex; gap:12px; border:0; margin:26px 0; padding:0; }
.method-experience .method-flow>li,.method-experience .method-flow>li+li { padding:0; border:0; list-style:none; }
.method-flow li>button { width:48px; height:44px; background:transparent; border:1px solid var(--rule); border-radius:6px; color:var(--muted); font-family:var(--mono); font-size:12px; transition:background 200ms,color 200ms; }
.method-flow li.is-current>button { background:var(--gold); color:#15130f; border-color:var(--gold); }
.method-stage-head .micro-label,.method-stage-hint,.scene-title,.scene-bottom { display:none; }
.method-stage figcaption { min-height:0; font-size:12px; }
.method-stage-footer { padding:17px 24px; }
.method-stage-track { margin-bottom:12px; }
.method-boundary { display:block; border:0; padding:18px 0 0; color:var(--muted); font-size:12px; }
.demo-section { display:grid; grid-template-columns:.8fr 1.2fr; align-items:start; gap:80px; border-top:1px solid var(--rule); }
.demo-story { position:sticky; top:150px; padding-top:35px; }
.demo-story p { font-size:17px; color:var(--muted); max-width:300px; margin:22px 0; }
.demo-story .prototype-label { font-size:9px; }
.hero-demo { width:100%; max-width:650px; }
.demo-caption,.demo-bottom,.window-dots,.case-symbol { display:none; }
.report-more { margin:20px 0; border-top:1px solid var(--rule); padding-top:16px; }
.report-more summary { color:var(--gold); cursor:pointer; font-size:13px; }
.report-more .report-metrics { margin-top:22px; }
.team-section { border-top:1px solid var(--rule); }
.team-grid { gap:40px; }
.team-initial { height:52px; }
.team-background { border:0; margin-top:14px; padding-top:0; }
.team-grid h3 { font-size:25px; }
.compact-research { border-top:1px solid var(--rule); }
.compact-publications { display:grid; grid-template-columns:repeat(3,1fr); gap:34px; }
.compact-publications>a { position:relative; padding:20px 26px 22px 0; border-top:1px solid var(--rule); }
.compact-publications .mono { font-size:9px; color:var(--muted); }
.compact-publications h3 { font-size:23px; line-height:1.25; margin-top:15px; }
.compact-publications>a>span:last-child { position:absolute; top:20px; right:0; color:var(--gold); }
.compact-milestone { margin-top:23px; font-size:12px; color:var(--muted); }
.compact-milestone a { color:var(--gold); margin-left:6px; }
.contact-section { padding-block:54px; }
.contact-section h2 { font-size:clamp(34px,3.5vw,48px); }
.contact-details { padding-top:0; }
.research-hero { padding-block:70px; }
.research-hero h1 { font-size:clamp(44px,6vw,76px); line-height:1.1; }
.research-hero>p:last-child { color:var(--muted); margin-top:24px; max-width:500px; }
.research-page .domain-list { margin-bottom:25px; }
.research-page .research-section { border-top:1px solid var(--rule); }
.research-page .milestone-section { margin-block:20px 50px; }
@media(max-width:860px) {
 .hero { padding-block:45px; }
 .hero h1 { font-size:clamp(40px,6.9vw,64px); }
 .method-sticky { gap:24px; }
 .flow-copy { order:0; }
 .method-stage { order:1; }
 .flow-copy>p:not(.flow-count) { min-height:0; max-width:500px; }
 .flow-count { margin-bottom:10px; }
 .method-experience .method-flow { margin:18px 0; }
 .demo-section { grid-template-columns:1fr; gap:28px; }
 .demo-story { position:static; padding:0; }
 .demo-story h2 br { display:none; }
 .demo-story p { max-width:500px; margin:16px 0; font-size:15px; }
 .hero-demo { max-width:none; }
 .section-space { padding-block:45px; }
 .compact-publications { grid-template-columns:1fr; gap:0; }
 .compact-publications h3 { font-size:21px; margin-top:8px; }
 .publications-heading { gap:22px; align-items:start; }
 .compact-milestone a { display:block; margin-left:0; }
}
@media(max-width:480px) {
 .hero h1 { font-size:40px; }
 .hero-one-liner { font-size:16px; }
 .hero h1 em { font-size:1em; }
 .hero-actions { gap:20px; }
 .method-scenes { height:250px; }
 .method-stage-footer { padding:16px; }
 .case-array { top:46px; }
 .case-stack { inset:34px 10px 42px; }
 .review-route { top:44px; }
 .review-evidence { top:180px; }
 .evidence-ledger { top:25px; }
 .publications-heading { display:block; }
 .publications-heading>.text-link { display:inline-block; margin-top:18px; }
}

.method-stage figcaption { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.method-stage-track { margin-bottom:0; }
