/* Keep every layout within its viewport; wide tables scroll in their own region. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
main,section,article,aside,figure,.hero-copy,.hero-art,.lab-results,.lab-controls,.resource,.approach-copy,.article-copy,.stage-content{min-width:0}
.hero,.approach,.lab-grid,.workflow-layout,.research-teaser,.research-hero,.article-layout,.paper-note,.digest,.resource-grid,.research-cards,.governance-grid{grid-template-columns: minmax(0,1fr) minmax(0,1fr)}
.lab-grid{grid-template-columns:280px minmax(0,1fr)}
.workflow-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.resource-grid,.research-cards,.digest{grid-template-columns:repeat(3,minmax(0,1fr))}
.research-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.article-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.paper-note{grid-template-columns:160px minmax(0,1fr)}
img,svg{max-width:100%}
p,h1,h2,h3,.paper-title,.article-sources a{overflow-wrap:break-word}
.menu-toggle,.mobile-figure-key,.table-hint{display:none}
.table-scroll{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#8c9a77 #e5e9dc}
.table-scroll:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.menu-toggle .menu-icon{width:18px;height:18px;margin:0;stroke:currentColor;stroke-width:1.5;fill:none}
@media (min-width:961px) and (max-width:1100px){
 header{gap:12px;padding-inline:3%}header nav{gap:2px}header nav a{padding:12px 8px;font-size:12px}
 .lab-grid{grid-template-columns:220px minmax(0,1fr);gap:24px}
 .paper-note{grid-template-columns:130px minmax(0,1fr)}
 .digest{grid-template-columns:repeat(2,minmax(0,1fr))}.digest .evidence-limit{grid-column:1/-1}
}
@media (max-width:960px){
 html{scroll-padding-top:100px}
 header{height:auto;min-height:80px;padding:14px max(5%,env(safe-area-inset-left));gap:12px;flex-wrap:wrap;background:var(--paper);z-index:20}
 .has-ui header{position:sticky;top:0}
 header .wordmark{flex-shrink:0;min-height:48px}
 .logo-mark{font-size:38px;width:40px}
 .wordmark{font-size:9px;gap:9px}.wordmark b{font-size:12px}
 header>.header-cta{display:none}
 header nav{display:flex;order:3;width:100%;flex-wrap:wrap;gap:4px}
 header nav a{min-height:46px;padding:12px 14px;font-size:15px;display:flex;align-items:center;border-radius:4px;text-decoration:none}
 .has-ui .menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:96px;min-height:48px;margin-left:auto;padding:10px 14px;font-size:14px;border-color:#b9c3ac}
 .has-ui header nav{display:none;position:absolute;top:100%;inset-inline:0;width:auto;padding:12px max(5%,env(safe-area-inset-left)) 18px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 14px 18px #242b2210;max-height:calc(100dvh - 80px);overflow:auto}
 .has-ui header.nav-open nav{display:flex;flex-direction:column;align-items:stretch}
 .has-ui header.nav-open .menu-toggle{background:var(--ink);color:var(--paper)}
 header nav a:hover,header nav a[aria-current]{background:#e4e9da}
 .hero,.approach,.workflow-layout,.research-teaser,.research-hero,.article-layout{grid-template-columns:minmax(0,1fr)}
 .hero{min-height:0}.hero-copy{padding:36px 6% 30px}
 .hero h1{font-size:clamp(44px,8vw,72px);line-height:1.05;letter-spacing:-2.5px;margin:24px 0}
 .hero h1 br:last-child{display:initial}
 .hero p{max-width:590px;font-size:16px;line-height:1.8}
 .hero-actions{flex-wrap:wrap;gap:12px 22px}
 .hero-actions .dark span{margin-left:0}
 .hero-actions .button,.hero-actions .text-link{min-height:48px;display:inline-flex;align-items:center;font-size:14px}
 .hero-art{height:390px;border-left:0;border-top:1px solid var(--line)}
 .pyramid-hero svg{height:100%;width:100%;max-width:520px;inset:auto}
 .hero-bottom{margin-top:25px;font-size:9px;line-height:1.7}
 .section{padding:52px 6%}.section-heading{display:block}.section-heading>p{font-size:14px;margin-top:20px}
 h2,.section-heading h2,.research-teaser h2,.next-heading h2{font-size:clamp(30px,5.4vw,46px);line-height:1.2;letter-spacing:-1.4px}
 .eyebrow{font-size:10px;letter-spacing:1.1px}
 .principles{flex-wrap:wrap;gap:14px 24px;font-size:12px;padding:22px 6%}
 .approach-copy{padding-top:4px;max-width:650px}.approach-copy p{font-size:16px}.approach-copy .large{font-size:25px}
 .approach-copy .text-link{min-height:44px;display:inline-flex;align-items:center;font-size:14px}
 .lab-grid{grid-template-columns:minmax(0,1fr);gap:26px;padding:24px}
 .lab-controls{padding:0 0 24px;border-right:0;border-bottom:1px solid var(--line)}
 .lab-controls h3{font-size:18px;margin-bottom:24px}.lab-controls label{font-size:14px;margin:20px 0}
 .lab-controls select{font-size:16px;min-height:48px;padding:10px 12px}
 .lab-controls input[type=range]{height:44px;margin:8px 0 0;touch-action:pan-y;accent-color:var(--orange)}
 .lab-controls input[type=range]::-webkit-slider-thumb{width:26px;height:26px}
 .lab-controls input[type=range]::-moz-range-thumb{width:24px;height:24px}
 .control-note{display:block;font-size:12px;line-height:1.9}
 .small-button{font-size:13px;min-height:44px;padding:10px}.lab-topline{flex-wrap:wrap;gap:8px}.tag{font-size:9px;line-height:1.7}
 details{font-size:14px;line-height:1.9}summary{min-height:44px;padding:10px 0;line-height:1.6}
 .result-heading{font-size:10px;flex-wrap:wrap;gap:8px}.supplier{padding:24px 0}
 .supplier-name{font-size:16px;line-height:1.5}.supplier-name small{font-size:9px;margin:7px 0 0;display:block;width:max-content;max-width:100%;white-space:normal;padding:5px 8px}
 .supplier-total{font-size:32px;letter-spacing:-1px}.supplier-meta{font-size:12px;line-height:1.8}.legend{font-size:11px;gap:12px 18px;line-height:1.7}
 .cost-insight{font-size:14px;line-height:1.9;padding:20px}
 .breakdown{padding:10px 18px}.table-hint{display:block;font-size:12px;line-height:1.7;color:var(--muted);margin:6px 0 12px}
 table{font-size:13px}caption{font-size:12px;line-height:1.7}th,td{padding:12px}
 .lab-footer{display:block;font-size:13px;line-height:1.9}.lab-footer a{display:inline-flex;align-items:center;min-height:44px;margin-top:8px}
 .workflow-layout{gap:28px;margin-top:30px}.step-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .step,.step.active{display:grid;grid-template-columns:1fr auto;align-content:start;gap:9px;padding:18px;border:1px solid var(--line);border-radius:4px;min-height:160px}
 .step>div{grid-row:2;grid-column:1/-1}.step>span:first-child{grid-row:1;grid-column:1;font-size:12px}.step>span:last-child{grid-row:1;grid-column:2}
 .step strong{font-size:17px;line-height:1.5}.step small{font-size:12px;line-height:1.7;margin-top:8px}.step.active{border-color:#9fba87}
 .workflow-panel{padding:28px;min-height:0}.workflow-panel>.eyebrow{font-size:9px}
 .agent-map{gap:20px}.agent{flex:1;max-width:160px;min-width:0;min-height:140px}.agent>span{font-size:10px}.agent small{font-size:12px}
 .exchange{flex:0 0 55px}.exchange small{font-size:8px}.stage-content h3{font-size:26px;line-height:1.3}.stage-content p{font-size:15px;line-height:1.9}
 .stage-bottom{padding-top:22px;font-size:12px}.stage-bottom .text-link{min-height:44px;font-size:14px}
 .control-strip{flex-direction:column;gap:15px;font-size:13px;line-height:1.7;margin-top:26px}
 .research-context{font-size:13px;line-height:1.9}.research-context a{white-space:normal;display:inline}
 .research-teaser{gap:24px}.research-teaser p,.next-heading p{font-size:16px;max-width:650px}.teaser-points b{font-size:21px}.teaser-points span{font-size:10px}
 .next-heading{display:block}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource{padding:28px}.resource.pilot{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}
 .resource h3{font-size:28px;line-height:1.3}.resource p{font-size:15px;line-height:1.8;max-width:550px}.resource .eyebrow{font-size:10px}.resource-link{font-size:14px;min-height:44px;display:flex;align-items:center}
 .button{font-size:14px;min-height:48px}.next-links{flex-wrap:wrap;font-size:13px;line-height:1.8}.next-links a{min-height:44px;display:inline-flex;align-items:center}
 .closing{padding:44px 6%}.closing>p{font-size:clamp(36px,7vw,60px);letter-spacing:-1.8px;line-height:1.15}.closing .text-link{position:static;display:inline-flex;align-items:center;min-height:44px;font-size:14px;margin-top:10px}
 footer{flex-wrap:wrap;gap:18px;font-size:11px;line-height:1.8;padding:28px 6% max(28px,env(safe-area-inset-bottom))}footer .text-link{font-size:13px;min-height:44px;display:inline-flex;align-items:center}
 dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:54px 24px 28px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 dialog h2{font-size:29px}dialog p{font-size:14px}dialog label{font-size:14px}dialog input,dialog textarea{font-size:16px;padding:12px;min-height:48px}dialog .close{min-width:44px;min-height:44px;right:10px;top:8px}
 /* Reading layouts and figures. */
 .research-hero>div{padding:32px 6% 38px}.research-hero h1,.article-hero h1{font-size:clamp(38px,6.9vw,62px);line-height:1.12;letter-spacing:-2px}
 .research-hero p{font-size:16px;line-height:1.8}.research-hero .research-meta,.research-meta{font-size:10px;line-height:1.8;letter-spacing:.9px}
 .back-link{font-size:14px;min-height:44px;padding:10px 0;margin-bottom:22px;display:inline-flex;align-items:center}
 .editorial-art{height:auto;aspect-ratio:3/2;border-left:0;border-top:1px solid var(--line)}.editorial-art img{object-fit:cover}.editorial-art figcaption{font-size:9px;bottom:14px;left:16px;right:16px;line-height:1.5;width:max-content;max-width:calc(100% - 32px)}
 .research-rule{font-size:12px;flex-wrap:wrap;gap:12px 20px;padding:22px 6%;line-height:1.7}
 .research-cards{grid-template-columns:minmax(0,1fr)}.research-card{padding:28px}.research-card+.research-card{border-left:0;border-top:1px solid var(--line)}
 .research-card h3{font-size:29px;max-width:none}.research-card p{font-size:16px;line-height:1.8}.read-link{font-size:14px;min-height:44px;display:flex;align-items:center}.mini-art{height:150px}
 .editorial-position{padding:40px 6%}.editorial-position>p{font-size:clamp(24px,4.5vw,34px);line-height:1.6}.editorial-position>span{font-size:14px;line-height:1.9}
 .paper-note{grid-template-columns:minmax(0,1fr);gap:20px}.paper-index{display:flex;align-items:center;gap:20px;font-size:26px}.paper-index span{margin:0;max-width:none;font-size:12px}
 .paper-note h3{font-size:28px}.paper-title{font-size:15px;line-height:1.8}.paper-meta{font-size:12px;line-height:1.9;overflow-wrap:anywhere}
 .digest{grid-template-columns:minmax(0,1fr);gap:20px}.digest p{font-size:15px;line-height:1.9}.digest b{font-size:13px}.digest .evidence-limit{grid-column:auto;padding:18px}
 .paper-links{flex-direction:column;align-items:start;gap:12px;font-size:12px;line-height:1.8}.paper-links a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
 .research-end{padding:40px 6%}.research-end h2{font-size:32px}.research-end p{font-size:16px;line-height:1.9}
 .article-hero{padding:30px 6% 35px}.article-hero p{font-size:18px}.article-layout{padding:30px 6% 42px;gap:8px}.article-layout aside{position:static}
 .concept-figure svg{max-height:none;height:auto}.concept-figure figcaption{font-size:10px;line-height:1.6;padding:16px 20px;border-top:1px solid var(--line)}
 .mobile-figure-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 15px;list-style:none;margin:0;padding:4px 20px 22px;font-size:12px;line-height:1.7;color:#47583d}
 .mobile-figure-key li:before{content:'•';margin-right:6px;color:var(--orange)}
 .aside-note{max-width:none;padding:22px 0 26px;font-size:13px;line-height:1.9}.aside-note b{font-size:14px}.aside-note a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
 .article-copy{max-width:720px}.article-copy h2{font-size:29px;line-height:1.3}.article-copy p{font-size:16px;line-height:1.9}.article-copy .citation{font-size:12px;padding:5px 2px}
 .editorial-take{padding:22px}.editorial-take p{font-size:22px;line-height:1.6}.role-explorer{padding:22px}.role-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .role-buttons button{font-size:14px;min-height:48px;padding:10px}#role-detail h3{font-size:24px}#role-detail p{font-size:15px;line-height:1.9}#role-detail{min-height:0}
 .article-sources h2{font-size:28px}.article-sources p{font-size:14px;line-height:1.8}.article-sources small{font-size:12px;line-height:1.9}
 .scorecard{font-size:14px}.scorecard td{min-width:230px;line-height:1.8}
 .governance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.governance-grid>div{padding:20px}.governance-grid b{font-size:22px}.governance-grid p{font-size:14px;line-height:1.9}
 .research-page footer a,.research-page footer .footer-brand{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
}
@media (max-width:600px){
 .hero h1{font-size:clamp(42px,11.4vw,64px)}
 .hero-art{height:340px}.hero-actions{align-items:stretch}.hero-actions .button{width:100%}.hero-actions .text-link{min-height:44px}
 .section{padding:44px 6%}.lab-grid{padding:20px}.lab-topline{align-items:start}.tag{max-width:100%}
 .supplier-top{display:block}.supplier-total{display:block;margin-top:12px;font-size:34px}.supplier-name small{display:inline-block;margin:0 0 0 8px;font-size:8px;padding:5px 7px}
 .supplier-meta{font-size:12px}.result-heading{font-size:9px;letter-spacing:.7px}
 .step,.step.active{padding:15px;min-height:158px}.step strong{font-size:15px;line-height:1.45}.step small{font-size:11px;line-height:1.6}
 .workflow-panel{padding:22px}.agent-map{gap:10px}.agent{padding:12px;max-width:145px;min-height:130px}.agent small{font-size:11px}.exchange{flex-basis:48px}.exchange small{font-size:7px}
 .stage-content h3{font-size:25px}.control-strip{font-size:13px}.resource-grid{grid-template-columns:minmax(0,1fr)}.resource+.resource{border-left:0;border-top:1px solid var(--line)}.resource.pilot{grid-column:auto}
 .next-links{flex-direction:column;align-items:start}.research-teaser{gap:25px}.teaser-points b{font-size:20px}
 footer{flex-direction:column;align-items:start}.research-rule{flex-direction:column;gap:10px}
 .research-hero h1{font-size:clamp(36px,9vw,48px)}.article-hero h1{font-size:clamp(35px,9vw,48px)}
 .research-card{padding:24px}.research-card h3{font-size:27px}.editorial-position>p{font-size:clamp(22px,5.8vw,30px)}
 .paper-note h3{font-size:26px}.paper-index{gap:16px}.article-copy h2{font-size:27px}.governance-grid{grid-template-columns:minmax(0,1fr)}
 .editorial-take p{font-size:21px}.mobile-figure-key{font-size:12px}
}
@media (max-width:359px){
 .wordmark{font-size:8px;gap:6px}.wordmark b{font-size:11px}.logo-mark{font-size:34px;width:36px}
 .has-ui .menu-toggle{min-width:86px;padding:10px;gap:8px}.section{padding-inline:5%}
 .supplier-name small{display:block;margin:7px 0 0}.lab-grid{padding:17px}.workflow-panel{padding:18px}.step,.step.active{padding:12px;min-height:170px}
 .agent-map{gap:8px}.agent{padding:10px}.exchange{flex-basis:40px}.exchange small{font-size:6px}
 .mobile-figure-key{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
header nav .mobile-alpha{display:none}
@media(max-width:960px){header nav .mobile-alpha{display:flex;background:var(--ink);color:var(--paper);margin-top:6px}}
