/* Scroll-driven engineering studies. Geometry is illustrative, never simulation output. */
.scroll-story{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:4vw;max-width:1600px;margin:0 auto 100px;padding:0 4vw;position:relative;border-top:1px solid #24272c}.story-visual{position:sticky;top:80px;align-self:start;height:calc(100svh - 102px);display:flex;flex-direction:column;justify-content:center;min-height:480px}.engineering-model{position:relative;isolation:isolate;width:100%;background:radial-gradient(ellipse at 47% 42%,#18222c 0%,#0c121a 48%,#080c11 100%);border:1px solid #28313c;border-radius:12px;overflow:hidden;height:min(69svh,700px);min-height:400px}.scene-topline{position:absolute;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;gap:16px;color:#8f9eac;font-size:10px;font-weight:600;letter-spacing:.12em;z-index:2}.scene-canvas{height:100%;width:100%}.scene-canvas canvas{display:block;width:100%;height:100%}.scene-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.scene-readout{position:absolute;left:26px;bottom:56px;display:flex;flex-direction:column;gap:8px;pointer-events:none}.scene-readout>span{font-size:10px;letter-spacing:.12em;color:#8e9eae}.scene-value{font-size:clamp(20px,2.6vw,35px);font-weight:450;letter-spacing:-.025em;color:#e7f3ff;font-variant-numeric:tabular-nums}.scene-value small{font-size:15px;color:#90a7bd}.scene-caption{position:absolute;bottom:20px;left:26px;right:20px;font-size:11px;line-height:1.4;color:#8798a9}.story-track{height:2px;background:#27313c;overflow:hidden;margin-top:24px}.story-track span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:#a9d9eb}.story-position{font-size:12px;color:#a2b2c1;margin:12px 0 0;letter-spacing:.025em}.story-step{min-height:90svh;display:flex;flex-direction:column;justify-content:center;padding:80px 2vw 80px 0}.story-step:first-child{min-height:100svh}.story-step h2{font-size:clamp(36px,4.2vw,62px);margin-bottom:24px}.story-step h3{font-size:19px;letter-spacing:-.02em;font-weight:500;margin-bottom:18px;color:#d0d6de}.story-step>p:not(.eyebrow){font-size:17px;line-height:1.75;max-width:460px}.story-step .eyebrow{color:#8ca3b8;font-size:11px;letter-spacing:.1em}.compact-model{height:440px;min-height:300px}.compact-model .scene-topline{font-size:9px}.compact-model .scene-value{font-size:26px}.compact-model .scene-readout{bottom:55px}.compact-model[data-scene=shim] .scene-readout{display:none}.shim-diagram{width:100%;height:100%;display:block;padding:15px 0 90px}.compact-model .shim-diagram{padding:0 0 12px}.engineering-model[data-scene=shim] .scene-topline{display:none}.engineering-model[data-scene=shim] .scene-caption{font-size:10px}.engineering-model[data-scene=eps] .scene-readout{left:24px;bottom:55px}.model-label{position:absolute;font-size:11px;letter-spacing:.015em;white-space:nowrap;color:#b8cbdc;pointer-events:none;transform:translate(0,-50%);padding:5px 8px;background:#0b111ad9;border-left:1px solid #648aa1;border-radius:0 4px 4px 0}.model-label.key{color:#80e2f5;border-color:#80e2f5}.model-label small{display:block;font-size:9px;color:#8f9eac;margin-top:3px}.compact-model .model-label{display:none}.technical-sheet{background:#e9eef1;border:1px solid #6f7c84;border-radius:5px;padding:12px}.technical-sheet .zoom-image{background:transparent}.drawing-intro{padding:55px 0 25px}.drawing-intro h2{font-size:clamp(32px,4vw,50px)}.drawing-intro p{max-width:750px}.source-figure.drawing-figure{margin-bottom:80px}.process-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:35px 0 0}.process-strip>div{padding:24px;background:#10151a;border:1px solid #28313c;border-radius:6px;color:#b3c0cc;font-size:14px}.process-strip b{display:block;color:#e0e9f2;font-size:20px;font-weight:500;letter-spacing:-.02em;margin-bottom:10px}.table-photos{display:grid;grid-template-columns:1fr 1fr;gap:24px}.table-photos img{aspect-ratio:1.2;object-fit:cover}.table-photos .source-figure{margin-bottom:45px}.reveal{transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.motion-ready .reveal:not(.is-visible){opacity:0;transform:translate3d(0,30px,0)}.digit-number{display:inline-flex!important;align-items:baseline;font:inherit!important;color:inherit!important;letter-spacing:inherit!important;margin:0!important;vertical-align:baseline;line-height:1.08}.digit-wheel{position:relative;display:inline-block!important;height:1.09em;width:.57em;overflow:hidden;vertical-align:baseline;perspective:180px;font:inherit!important;margin:0!important;color:inherit!important;line-height:1.08!important;mask-image:linear-gradient(transparent,#000 12%,#000 86%,transparent)}.digit-track{display:block!important;font:inherit!important;color:inherit!important;line-height:1.08!important;margin:0!important;transform-style:preserve-3d;will-change:transform}.digit-track i{display:block;height:1.08em;font:inherit;font-style:normal;text-align:center;backface-visibility:hidden}.number-affix{font:inherit!important;color:inherit!important;margin:0!important}.metrics strong,.lifting-stats strong{font-variant-numeric:tabular-nums}.still-note{font-size:12px;color:#8596a7;text-align:center;display:none}.reduced-motion .still-note{display:block}
@media(min-width:1800px){.scroll-story{gap:80px}.engineering-model{height:720px}}
@media(max-width:1000px){.scroll-story{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;padding:0 24px}.story-step h2{font-size:37px}.story-step>p:not(.eyebrow){font-size:16px}.scene-topline{left:16px;right:16px}.model-label{font-size:9px;padding:4px}.model-label small{font-size:8px}.compact-model{height:340px}.scene-readout{left:18px}.scene-caption{left:18px;font-size:10px}.shim-diagram{padding-bottom:110px}}
@media(max-width:700px){.scroll-story{display:block;padding:0 16px;margin-bottom:65px}.story-visual{top:66px;height:46svh;min-height:300px;z-index:5;background:#000;justify-content:flex-start;padding-top:8px}.engineering-model{height:calc(46svh - 50px);min-height:250px;border-radius:8px;flex-shrink:0}.story-track{margin-top:11px;flex-shrink:0}.story-position{font-size:10px;margin-top:8px;white-space:nowrap}.story-step,.story-step:first-child{min-height:94svh;padding:34px 12px 28px;justify-content:flex-start}.story-step h2{font-size:35px;margin-bottom:16px}.story-step h3{font-size:17px;margin-bottom:14px}.story-step>p:not(.eyebrow){font-size:15px;line-height:1.7;max-width:none}.story-step .eyebrow{font-size:9px;margin-bottom:16px}.story-step:not(:first-child){padding-top:24px}.scene-topline{top:13px;left:15px;right:15px;font-size:8px}.scene-readout{left:15px;bottom:33px;gap:4px}.scene-readout>span{font-size:8px}.scene-value{font-size:21px}.scene-caption{bottom:11px;left:15px;font-size:8px}.engineering-model[data-scene=eps] .scene-readout{left:15px;bottom:32px}.model-label{font-size:8px;padding:3px 5px}.model-label small{display:none}.compact-model{height:355px;min-height:300px}.compact-model .scene-topline{top:20px;font-size:9px}.compact-model .scene-caption{font-size:10px;bottom:18px}.compact-model .scene-readout{bottom:45px}.shim-diagram{padding:0 0 43px}.engineering-model[data-scene=shim] .scene-caption{font-size:8px;bottom:8px}.engineering-model[data-scene=shim] .scene-readout{bottom:27px;flex-direction:row;align-items:center;gap:12px}.engineering-model[data-scene=shim] .scene-value{font-size:18px}.engineering-model[data-scene=shim] .scene-value small{font-size:11px}.process-strip{grid-template-columns:1fr;gap:10px}.process-strip>div{padding:22px}.table-photos{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}.digit-track{will-change:auto}.story-track span{transition:none}}

.metrics strong small,.lifting-stats strong small{margin-left:.25em}.number-affix:empty{display:none}

@media(max-width:700px){.shim-diagram text{font-size:21px}.shim-title,.shim-footer,.shim-inset{display:none}.shim-key text{font-size:20px}.shim-diagram{padding:10px 0 63px}.compact-model .shim-diagram{padding-bottom:35px}}

.story-step{scroll-margin-top:110px}@media(max-width:700px){.story-step{scroll-margin-top:calc(46svh + 80px)}}
