.desk-compact{display:none}
body:has([data-opening]) .site-header{position:absolute;inset:0 0 auto;z-index:50}
.opening-stage{position:relative}
.opening-navigation{display:none}
.landing-js .opening-story{height:340svh;position:relative}
.landing-js .opening-stage{position:sticky;top:0;height:100svh;min-height:700px;isolation:isolate;overflow:hidden}
.landing-js .opening-scene{position:absolute;inset:0;display:flex;align-items:center;min-height:0;height:100%;padding:40px 0 90px;border:0;background:transparent;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 180ms ease-out,visibility 180ms}
.landing-js .opening-story[data-step="1"] [data-opening-scene="1"],.landing-js .opening-story[data-step="2"] [data-opening-scene="2"],.landing-js .opening-story[data-step="3"] [data-opening-scene="3"]{opacity:1;visibility:visible;pointer-events:auto}
.opening-stage::after{background:#08070d;opacity:0;transition:opacity 550ms var(--ease)}
.opening-story[data-step="2"] .opening-stage::after{opacity:.87}
.opening-story[data-step="3"] .opening-stage::after{opacity:.8}
.landing-js .opening-hero>.wrap{padding-block:0}
.landing-js .opening-hero .hero-bottom{margin-top:32px}
.opening-hero .hero-meta{display:none}
.opening-hero h1{font-size:clamp(58px,7vw,136px)}
.opening-hero .lead{max-width:630px}
.opening-problem .problem-intro{gap:60px;margin-bottom:35px}
.opening-problem .problem-intro h2{font-size:clamp(46px,4.1vw,74px)}
.opening-problem .problem-intro>p{font-size:18px}
.opening-problem .desk-piece{min-height:385px}
.opening-problem .desk-reading{margin-top:22px}
.opening-problem .desk-trace>svg{height:125px;margin-top:10px}
.opening-problem .desk-piece h3{font-size:18px;margin-top:18px}
.opening-problem .desk-route{margin-top:18px}
.opening-problem .desk-stops{gap:12px;margin-block:15px}
.opening-problem .desk-stops li:not(:last-child) i::after{height:40px}
.opening-problem .criteria-document{margin-block:18px 22px;padding:21px;min-height:275px}
.opening-problem .desk-caption{margin-top:14px}
.opening-problem .desk-caption p{font-size:14px}
.landing-js .opening-navigation{position:absolute;bottom:28px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:25px;z-index:5}
.opening-index{display:flex;gap:30px;align-items:center}
.opening-index>span{display:flex;align-items:center;gap:10px;color:var(--muted);font:400 12px var(--data);padding-top:12px;border-top:1px solid var(--line)}
.opening-index b{font:500 13px var(--body)}
.opening-index [aria-current="true"]{color:var(--purple);border-color:var(--purple)}
.opening-controls{display:flex;gap:24px;align-items:center}
.scroll-cue{font:400 12px var(--data);color:var(--soft)}
@media(min-width:2200px){.opening-hero h1{font-size:clamp(150px,5vw,172px)}.opening-hero .lead{font-size:26px;max-width:850px}.opening-problem .problem-intro h2{font-size:100px}.opening-problem .problem-intro>p{font-size:26px}.opening-problem .desk-piece{min-height:475px}.opening-problem .desk-piece h3{font-size:26px}.opening-problem .desk-trace>svg{height:150px}.opening-problem .criteria-document{min-height:355px;padding:32px}.opening-problem .desk-stops{gap:22px}.opening-problem .desk-stops li:not(:last-child) i::after{height:55px}.opening-problem .desk-caption p,.opening-index b,.opening-index>span,.scroll-cue{font-size:16px}}
@media(max-width:1050px) and (min-width:901px){.opening-problem .evidence-desk{grid-template-columns:1.05fr 1fr}.opening-problem .desk-route{display:none}.opening-problem .desk-criteria{display:flex;grid-column:auto;min-height:385px;margin:0;padding-top:25px}.opening-problem .desk-criteria .criteria-document{width:100%;margin:18px 0}.opening-problem .problem-intro{gap:35px}.opening-problem .desk-caption{margin-top:24px}}
@media(max-width:900px){.landing-js .opening-story{height:350svh}.landing-js .opening-stage{min-height:720px}.landing-js .opening-scene{padding:24px 0 82px}.opening-hero h1{font-size:clamp(44px,12.7vw,80px)}.opening-hero .lead{font-size:16px}.opening-problem .problem-intro{grid-template-columns:1fr;gap:14px;margin-bottom:20px}.opening-problem .problem-intro h2{font-size:40px;margin-top:10px}.opening-problem .problem-intro h2 .type-line{display:inline}.opening-problem .problem-intro h2 .type-line>span{display:inline}.opening-problem .problem-intro h2 .type-line:first-child>span::after{content:" ";white-space:pre}.opening-problem .problem-intro>p{font-size:14px;max-width:35ch}.opening-problem .evidence-desk{grid-template-columns:1fr 1fr;gap:12px}.opening-problem .desk-piece{padding:14px;min-height:0;margin-top:0}.opening-problem .desk-piece-head{font-size:11px;padding-bottom:10px;gap:8px}.opening-problem .desk-file{font-size:11px}.opening-problem .desk-trace{grid-column:1/-1}.opening-problem .desk-trace h3,.opening-problem .desk-reading{display:none}.opening-problem .desk-trace>svg{height:82px;margin-top:13px}.opening-problem .desk-axis{font-size:11px;margin-top:5px}.opening-problem .desk-footer{font-size:11px;gap:5px;padding-top:10px;margin-top:12px}.opening-problem .desk-route-id,.opening-problem .desk-stops{display:none}.opening-problem .desk-piece h3{font-size:14px;line-height:1.4;margin-top:14px}.opening-problem .desk-compact{display:block;font-size:12px;margin-top:15px;line-height:1.7}.opening-problem .desk-compact>span{font-size:11px;color:var(--muted)}.opening-problem .desk-criteria{display:flex;grid-column:auto;background:#1b1523;border:1px solid var(--line)}.opening-problem .criteria-document{margin:14px 0 0;padding:11px;min-height:0;width:100%;transform:none}.opening-problem .criteria-doc-head,.opening-problem .criteria-commodity,.opening-problem .criteria-document p,.opening-problem .criteria-doc-bottom{display:none}.opening-problem .criteria-range{margin:0;font-size:26px;letter-spacing:-.06em}.opening-problem .criteria-range>span{font-size:13px}.opening-problem .criteria-range svg{bottom:-8px;height:13px}.opening-problem .desk-criteria .desk-footer{margin-top:auto;padding-top:10px}.opening-problem .desk-caption{margin-top:17px;justify-content:space-between}.opening-problem .desk-caption>svg{display:none}.opening-problem .desk-caption p{font-size:12px}.opening-problem .desk-caption .text-link{font-size:12px;margin:0;gap:6px;max-width:145px}.landing-js .opening-navigation{bottom:24px;gap:12px}.opening-index{gap:16px}.opening-index>span{font-size:11px;padding-top:8px}.opening-index b{display:none}.opening-index [aria-current="true"] b{display:block;font-size:11px}.opening-controls{gap:10px}.scroll-cue{display:none}}
@media(max-height:719px){.landing-js .opening-stage{min-height:0}.landing-js .opening-story{height:340svh}.landing-js .opening-scene{padding-top:22px;padding-bottom:65px}.opening-hero h1{font-size:clamp(42px,6.5vw,92px)}.opening-hero .lead{font-size:16px;max-width:590px;margin-top:20px}.opening-problem .problem-intro h2{font-size:40px}.opening-problem .problem-intro>p{font-size:14px}.opening-problem .problem-intro{margin-bottom:18px}.opening-problem .desk-piece{min-height:310px}.opening-problem .desk-piece-head{padding-bottom:10px}.opening-problem .desk-piece h3{margin-top:13px;font-size:16px}.opening-problem .desk-reading{margin-top:13px}.opening-problem .desk-reading strong{font-size:46px}.opening-problem .desk-trace>svg{height:80px}.opening-problem .criteria-document{min-height:220px;padding:18px}.opening-problem .criteria-commodity{font-size:21px;margin-top:12px}.opening-problem .criteria-range{margin-top:15px;font-size:30px}.opening-problem .criteria-document p{margin-top:20px}.opening-problem .criteria-doc-bottom{margin-top:12px}.opening-problem .desk-stops{gap:9px}.opening-problem .desk-stops li:not(:last-child) i::after{height:37px}.opening-problem .desk-caption{display:none}}
@media(max-width:900px) and (max-height:719px){.opening-problem .desk-piece{min-height:0}.opening-problem .criteria-document{min-height:0;padding:11px}.opening-problem .criteria-range{font-size:26px;margin:0}.opening-problem .desk-piece h3{font-size:14px}.opening-problem .problem-intro{gap:10px;margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.landing-js .opening-scene{transition:opacity 100ms,visibility 100ms}.opening-stage::after{transition:none}}
html:not(.landing-js) .opening-stage>img,html:not(.landing-js) .opening-stage>video{display:none}
