/* Native vector studies, assembled by the chapter's reversible scroll progress. */
.diagram-inner{width:min(660px,60vw);top:42%}
.diagram-inner h2{font-size:clamp(34px,4.15vw,61px)}
.diagram-inner figure{margin:0}
.diagram-inner .diagram-caption{font-size:14px;line-height:1.45;letter-spacing:-.015em;max-width:390px;margin:21px auto 0;text-wrap:pretty}
.diagram-stage,.diagram-layer{--assembly:clamp(0,calc(var(--panel-reveal,1)*2.4 - .8 - var(--stage,0)*.23),1);opacity:var(--assembly);transform:translateY(calc((1 - var(--assembly))*12px));transform-box:fill-box;transform-origin:center}
.diagram-layer{transform:translateY(calc((1 - var(--assembly))*30px))}

/* Exact public brand artwork, set in the deck's single ink. */
.engine-diagram{padding-top:42px}
.engine-inputs{display:grid;grid-template-columns:1fr 1fr;gap:0}
.engine-inputs .engine-brand{height:46px;display:flex;align-items:center;justify-content:center;margin:0 0 15px}
.refract-lockup{display:inline-flex;align-items:center;gap:.2252em;font-size:40px;font-weight:500;line-height:1;letter-spacing:-.03em}
.refract-mark{display:inline-block;flex:none;width:.78162em;height:.68422em;background:currentColor;mask:url('./assets/refract-logo.svg') center / contain no-repeat;-webkit-mask:url('./assets/refract-logo.svg') center / contain no-repeat}
.prism-lockup{display:block;width:162px;height:42px;background:currentColor;mask:url('./assets/prism-logo.svg') center / contain no-repeat;-webkit-mask:url('./assets/prism-logo.svg') center / contain no-repeat}
.engine-inputs p{font-size:14px;line-height:1.45;margin:0;letter-spacing:-.015em}
.engine-confluence{display:block;width:100%;height:142px;margin:16px auto 0;overflow:visible}
.engine-channels{opacity:clamp(0,calc(var(--panel-reveal,1)*2.4 - 1.15),1)}
.channel-bed{fill:none;stroke:currentColor;stroke-width:13;opacity:.09}
.channel-edge{fill:none;stroke:currentColor;stroke-width:.7;opacity:.45}
.diagram-trace{fill:none;stroke:currentColor;stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:calc(1 - clamp(0,calc(var(--panel-reveal,1)*3 - 1.45),1))}
.channel-joints{fill:none;stroke:currentColor;stroke-width:.65;opacity:.24}
.business-plinth-side{fill:#2d1112;stroke:currentColor;stroke-width:.8}
.business-plinth-hatch{fill:url(#engine-stone);opacity:.35}
.business-plinth-top{fill:#090707;stroke:currentColor;stroke-width:1.1}
.plinth-inset{fill:none;stroke:currentColor;stroke-width:.65;opacity:.6}
.business-plinth-seams{fill:none;stroke:currentColor;stroke-width:.6;opacity:.5}
.business-portal{fill:currentColor;fill-opacity:.75;stroke:currentColor;stroke-width:.9}
.business-portal-side{fill:#351213;stroke:currentColor;stroke-width:.8}
.portal-joints{fill:none;stroke:#100808;stroke-width:.8}
.engine-output{position:relative;width:fit-content;margin:8px auto 0}
.engine-output strong{font-size:24px;line-height:1.2;font-weight:500;letter-spacing:-.035em}
.engine-output-label{display:block;transition:opacity .18s ease,transform .25s ease}
.engine-example-logo{position:absolute;left:50%;top:50%;width:116px;aspect-ratio:285/139;background:currentColor;mask:url('./assets/schmick-logo.svg') center / contain no-repeat;-webkit-mask:url('./assets/schmick-logo.svg') center / contain no-repeat;opacity:0;visibility:hidden;transform:translate(-50%,calc(-50% + 4px));pointer-events:none;transition:opacity .2s ease,transform .28s ease,visibility .2s}
/* A transient example, revealed only by a hovering pointer; never latched by a tap. */
@media(hover:hover) and (pointer:fine){
 .business-example,.engine-output{pointer-events:auto}
 .engine-output:before{content:'';position:absolute;inset:-12px 0 0}
 .engine-diagram:has(.business-example:hover,.engine-output:hover) .engine-output-label{opacity:0;transform:translateY(-3px)}
 .engine-diagram:has(.business-example:hover,.engine-output:hover) .engine-example-logo{opacity:1;visibility:visible;transform:translate(-50%,-50%)}
}

/* An exploded building: the physical arcade supports the two operating layers. */
.thesis-inner.diagram-inner{top:40.5%}
.business-section{display:grid;grid-template-columns:320px 1fr;gap:24px;max-width:560px;padding-top:27px;margin-inline:auto!important;text-align:left;align-items:center}
.business-section-art{display:block;width:100%;height:auto;overflow:visible}
.section-labels{display:grid;grid-template-rows:repeat(3,1fr);align-self:stretch;margin:0;padding:21px 0 0}
.section-labels div{position:relative;display:flex;flex-direction:column;justify-content:center;padding:0 0 8px}
.section-labels dt{font-size:20px;letter-spacing:-.035em;font-weight:500;line-height:1.15;margin-bottom:8px}
.section-labels dd{font-size:13px;line-height:1.5;margin:0;opacity:.9}
.thesis-inner .diagram-caption{margin-top:16px}

/* One continuous study; the next module remains a proposal in outline. */
.roadmap-intro{font-size:15px;line-height:1.4;margin:22px 0 0}
.proving-inner.diagram-inner{top:39.5%}
.expansion-diagram{padding-top:31px}
.expansion-study{display:block;width:100%;height:auto;overflow:visible}
.expansion-stages{list-style:none;padding:0;margin:13px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:left}
.expansion-stages li{position:relative;min-width:0}
.stage-number{font-size:11px;display:block;margin-bottom:9px;opacity:.85}
.expansion-stages h3{font-size:23px;line-height:1.12;margin:0 0 10px;letter-spacing:-.04em}
.expansion-stages p{font-size:13px;line-height:1.5;margin:0;max-width:171px;text-wrap:pretty}
.stage-art{display:none}
.evidence-gate{display:flex;align-items:center;justify-content:center;gap:10px;margin:27px auto 0;font-size:12px}
.evidence-gate svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1}

@media(max-height:740px) and (min-width:761px){
 .engine-example-logo{width:86px}
 .diagram-inner{top:43%;width:min(620px,61vw)}.diagram-inner h2{font-size:38px}
 .engine-diagram{padding-top:23px}.engine-inputs .engine-brand{height:34px;margin-bottom:11px}.refract-lockup{font-size:32px}.prism-lockup{width:132px;height:34px}.engine-inputs p{font-size:13px}.engine-confluence{height:108px;margin-top:11px}.engine-output strong{font-size:21px}.diagram-inner .diagram-caption{margin-top:16px;font-size:12px}
 .thesis-inner.diagram-inner{top:42%}.business-section{grid-template-columns:255px 1fr;max-width:480px;padding-top:17px}.section-labels{padding-top:17px}.section-labels dt{font-size:18px}.section-labels dd{font-size:12px}
 .proving-inner.diagram-inner{top:42%}.roadmap-intro{margin-top:16px;font-size:13px}.expansion-diagram{padding-top:15px}.expansion-study{max-height:137px}.expansion-stages{margin-top:8px;gap:24px}.stage-number{margin-bottom:7px}.expansion-stages h3{font-size:20px;margin-bottom:8px}.expansion-stages p{font-size:12px}.evidence-gate{margin-top:19px;font-size:11px}
}
@media(max-width:760px),(max-width:1024px) and (orientation:portrait),(max-height:540px) and (pointer:coarse){
 .journey[data-journey-mode=vertical] .diagram-inner{width:100%;max-width:520px}
 /* Local arrivals replace the desktop chapter-wide assembly timeline. */
 [data-mobile-motion] .diagram-stage,[data-mobile-motion] .diagram-layer{--assembly:var(--mobile-reveal,1);transform:translateY(calc((1 - var(--assembly))*8px))}
 [data-mobile-motion] .diagram-layer{transform:translateY(calc((1 - var(--assembly))*14px))}
 [data-mobile-motion] .engine-channels{opacity:var(--mobile-reveal,1)}
 [data-mobile-motion] .diagram-trace{stroke-dashoffset:calc(1 - var(--mobile-reveal,1))}
 /* The hidden master SVG supplies <use> artwork to the three mobile rows. */
 [data-mobile-motion] .expansion-study .diagram-stage{--assembly:1;opacity:1;transform:none}
 [data-mobile-motion] .stage-art use{--mobile-reveal:1;--assembly:1}
 /* Diagrams sit inside the chamber's central void; its live structure remains visible. */
 .diagram-inner h2{font-size:clamp(30px,8.6vw,46px);line-height:1.06}.thesis-inner.diagram-inner h2{font-size:clamp(27px,7.25vw,40px)}
 .engine-diagram{padding-top:29px}.engine-inputs .engine-brand{height:36px;margin-bottom:14px}.refract-lockup{font-size:31px}.prism-lockup{width:125px;height:33px}.engine-inputs p{font-size:14px;line-height:1.45}.engine-confluence{height:112px;margin-top:13px}.engine-output{margin-top:10px}.engine-output strong{font-size:22px}.diagram-inner .diagram-caption{font-size:13px;line-height:1.5;max-width:310px;margin-top:20px}
 .business-section{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;padding-top:27px}.business-section-art{height:auto}.section-labels{padding-top:4px}.section-labels div{padding-bottom:6px;min-height:75px}.section-labels dt{font-size:17px;margin-bottom:6px;line-height:1.12}.section-labels dd{font-size:12px;line-height:1.45}
 .roadmap-intro{font-size:15px;max-width:290px;margin:20px auto 0}.expansion-diagram{padding-top:0}.expansion-study{position:absolute;width:0;height:0;overflow:hidden}.expansion-stages{display:flex;flex-direction:column;gap:21px;max-width:390px;margin:27px auto 0}
 .expansion-stages li{display:grid;grid-template-columns:108px 1fr;column-gap:19px;align-content:center;min-height:106px}.stage-art{display:block;grid-row:1 / 4;align-self:center;width:108px;height:106px;overflow:visible}.stage-art svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter}.stage-number{font-size:11px;margin-bottom:7px}.expansion-stages h3{font-size:22px;margin-bottom:7px}.expansion-stages p{font-size:13px;line-height:1.5;max-width:220px}.evidence-gate{font-size:12px;line-height:1.45;margin-top:23px;text-align:left}.evidence-gate svg{flex:none}
}
@media(max-width:359px){.refract-lockup{font-size:27px}.prism-lockup{width:108px;height:29px}.engine-inputs .engine-brand{height:32px}.engine-inputs p{font-size:13px}.engine-output strong{font-size:20px}.business-section{gap:10px;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.section-labels dt{font-size:15px}.section-labels dd{font-size:12px}.section-labels div{min-height:82px}.expansion-stages li{grid-template-columns:88px 1fr;column-gap:15px}.stage-art{width:88px;height:100px}.expansion-stages h3{font-size:21px}.expansion-stages p{font-size:13px}}
@media(max-width:1024px) and (min-width:761px) and (orientation:portrait){.business-section{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:27px}.section-labels dt{font-size:21px}.section-labels dd{font-size:14px}.engine-inputs p{font-size:15px}.refract-lockup{font-size:36px}.prism-lockup{width:146px;height:38px}.expansion-stages{max-width:430px;gap:30px}.expansion-stages li{grid-template-columns:130px 1fr;gap:24px;min-height:125px}.stage-art{width:130px;height:125px}.expansion-stages h3{font-size:25px}.expansion-stages p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.diagram-stage,.diagram-layer,.engine-channels{opacity:1!important;transform:none!important}.diagram-trace{stroke-dashoffset:0!important}.engine-output-label,.engine-example-logo{transition:none}}
@media print{.diagram-stage,.diagram-layer,.engine-channels{opacity:1!important;transform:none!important}.diagram-trace{stroke-dashoffset:0!important}}
