/* v19 — four deliberate acts; text and action remain independent of playback. */
.engineering-showcase{padding-block:90px}
.engineering-showcase .section-heading>p{max-width:33ch}
.story-choices{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);margin-bottom:38px;gap:12px}
.story-choices[hidden]{display:none}
.story-choices button{display:flex;gap:12px;align-items:center;min-height:66px;padding:15px 8px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:550 15px/1.5 var(--font-body);cursor:pointer;text-align:left}
.story-choices button small{font:10px var(--font-mono);color:var(--muted)}
.story-choices button span{margin-left:auto;opacity:0;transition:opacity .2s,transform .3s}
.story-choices button[aria-selected=true]{border-color:var(--blue);color:var(--ink)}
.story-choices button[aria-selected=true] span{opacity:1}
.story-choices button:hover{color:var(--blue)}
.story-choices button:hover span{transform:translate(2px,-2px)}
.story-panel{display:grid;grid-template-columns:.78fr 1.65fr;gap:clamp(32px,4vw,64px);align-items:center;padding-block:8px 30px;scroll-margin-top:10px}
.story-panel[hidden]{display:none}
.story-panel-copy .eyebrow{font-size:10px;margin-bottom:24px}
.story-panel-copy h3{font-size:clamp(30px,3.1vw,45px);line-height:1.16;letter-spacing:-.047em}
.story-panel-copy>p{font-size:15px;line-height:1.85;margin-block:24px;max-width:35ch}
.story-outcome{border-top:1px solid var(--line);padding-top:18px;margin:28px 0;max-width:34ch}
.story-outcome span{display:block;font:10px/1.5 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.story-outcome b{display:block;color:var(--ink);font-size:14px;line-height:1.6;font-weight:600}
.story-panel-copy .text-link{font-size:14px}
.engineering-story{--story-bg:var(--color-proof-mint);--story-ink:var(--color-jade-ink);--story-muted:var(--color-story-data-muted);--story-accent:var(--teal);--scene-face-light:#badfd0;--scene-face:#90c5b5;--scene-face-dark:#558f80;--scene-edge-light:#9dc8b8;--scene-edge:#507b70;--scene-rim:#b0d4c6;--scene-glass:#d8eade;--scene-record:#247c60;--scene-light:#92d3b5;--scene-paper-edge:#d5e5dc;--scene-back-sheet:#73a28f;--scene-middle-sheet:#b4d2be;margin:0;min-width:0;background:transparent;color:var(--ink)}
.story-screen{position:relative;isolation:isolate;overflow:hidden;border-radius:26px;background:radial-gradient(ellipse at 25% 0%,#ffffffb8,transparent 70%),var(--story-bg);color:var(--story-ink);border:1px solid #17243b0c}
.story-overline{position:absolute;inset:25px 30px auto;display:flex;align-items:center;justify-content:space-between;z-index:2;font:10px/1.5 var(--font-mono);letter-spacing:.035em;color:var(--story-muted)}
.story-act-count{display:flex;gap:5px}
.story-act-count i{width:14px;height:2px;background:currentColor;opacity:.25}
[data-story-phase="0"] .story-act-count i:first-child,[data-story-phase="1"] .story-act-count i:nth-child(2),[data-story-phase="2"] .story-act-count i:nth-child(3),[data-story-phase="3"] .story-act-count i:nth-child(4){opacity:1}
.story-art{display:block;width:100%;height:auto;stroke:none;fill:none;overflow:visible;padding-top:30px}
.story-art text{stroke:none}
.story-art [data-piece]{transform-box:fill-box;transform-origin:center}
.story-art [data-piece="world"],.story-art [data-piece="delivery"]{transform-box:view-box;transform-origin:480px 310px}
.scene-world,.scene-transient{opacity:0}
.scene-delivery{opacity:1}
.scene-floor{stroke:var(--story-ink);stroke-width:1;fill:none;opacity:.09}
.scene-shadow{fill:#052b25;opacity:.16}
.scene-rim{stroke:#ffffff70;stroke-width:1.5;fill:none}
.scene-edge-line{stroke:var(--scene-edge);stroke-width:1;fill:none}
.scene-route{stroke:var(--story-accent);stroke-width:2;fill:none}
.scene-warning-route{stroke:#a66037;stroke-width:2;fill:none}
.story-software .scene-warning-route{stroke:#ffc49d}
.scene-copper-route{stroke:#9e6d42;stroke-width:2;fill:none}
.scene-connection .scene-route{stroke:#4c9780}
.story-art [pathLength="1"]{stroke-dasharray:1;stroke-dashoffset:0}
.scene-token-arrow{fill:none;stroke:#dae8ff;stroke-width:3}
.scene-check{fill:none;stroke:#217455;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.scene-label{fill:var(--story-muted);font:500 25px var(--font-body);letter-spacing:-.015em}
.scene-warning-label{fill:#ffc49d;font:500 23px var(--font-body)}
.scene-verdict{fill:var(--story-ink);font:500 25px var(--font-body);letter-spacing:-.025em}
.scene-paper-label{fill:#234a3d;font:600 26px var(--font-body);letter-spacing:.06em}
.scene-paper-title{fill:#703b24;font:600 27px var(--font-body);letter-spacing:-.025em}
.scene-paper-small{fill:#715337;font:500 23px var(--font-body)}
.scene-paper-rule{fill:none;stroke:#92ad9f;stroke-opacity:.5}
.scene-record{fill:none;stroke:#7aa995;stroke-width:5;stroke-linecap:round}
.scene-number{fill:#803d22;font:550 52px var(--font-body);letter-spacing:-.055em}
.scene-unit{fill:#803d22;font:500 22px var(--font-body)}
.scene-lens-letter{fill:#f1ebff;font:450 100px var(--font-body);letter-spacing:-.04em}
.scene-lens-name{fill:#d6ccef;font:400 23px var(--font-body)}
.scene-criterion{fill:#493b69;font:550 23px var(--font-body);letter-spacing:-.025em}
.scene-delivery-kicker{fill:var(--color-story-paper-kicker);font:14px var(--font-mono);letter-spacing:.09em}
.scene-delivery-title{fill:var(--color-story-paper-title);font:600 28px var(--font-body);letter-spacing:-.03em}
.scene-delivery-row{fill:var(--color-story-paper-row);font:500 24px var(--font-body);letter-spacing:-.025em}
.scene-delivery-foot{fill:var(--story-muted);font:500 22px var(--font-body);letter-spacing:-.025em}
.story-caption{min-height:112px;padding:0 30px 28px;position:relative}
.story-caption span{font:10px/1.5 var(--font-mono);text-transform:uppercase;letter-spacing:.09em;color:var(--story-muted)}
.story-caption p{font-size:clamp(18px,1.6vw,23px);line-height:1.45;letter-spacing:-.03em;color:var(--story-ink);margin-top:10px;padding-right:60px;max-width:38ch}
.story-caption>div[hidden]{display:none}
.story-replay{position:absolute;right:24px;bottom:26px;display:grid;place-items:center;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;background:transparent;color:var(--story-ink);cursor:pointer;transition:background .2s,transform .3s}
.story-replay[hidden]{display:none}
.story-replay svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}
.story-replay span{display:none}
.story-replay:hover{background:#ffffff30;transform:rotate(-18deg)}
.story-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;list-style:none;padding:0;margin:24px 0 0}
.story-steps li{position:relative;border-top:1px solid var(--line);padding-top:12px}
.story-steps li::before{content:'';position:absolute;left:0;top:-1px;width:0;height:2px;background:var(--story-accent);transition:width .55s var(--motion-out)}
.story-steps li[data-active=true]::before{width:100%}
.story-steps li>span{display:block;font:9px var(--font-mono);color:var(--muted);margin-bottom:8px}
.story-steps b{font-size:12px;font-weight:650;color:var(--ink)}
.story-steps p{font-size:11px;line-height:1.7;color:var(--muted);margin-top:7px}
.story-note{font-size:11px;line-height:1.75;color:var(--muted);margin-top:18px;max-width:95ch}
.story-software{--story-bg:var(--color-story-software);--story-ink:var(--color-night-text);--story-muted:var(--color-night-muted);--story-accent:var(--color-business-accent);--scene-face-light:#8293ff;--scene-face:#3d54bc;--scene-face-dark:#25336f;--scene-edge-light:#4c669f;--scene-edge:#17294b;--scene-rim:#acb9f3;--scene-glass:#d9e5f5;--scene-light:#637bd5;--scene-paper-edge:#cad8e5;--scene-back-sheet:#324d8d;--scene-middle-sheet:#8ba5cb}
.story-ai{--story-bg:var(--color-story-ai);--story-ink:var(--color-night-text);--story-muted:var(--color-story-ai-muted);--story-accent:#c7b9fb;--scene-face-light:#ada1e7;--scene-face:#7462b0;--scene-face-dark:#3e326c;--scene-light:#9378dd;--scene-paper-edge:#ddd2ec;--scene-back-sheet:#716096;--scene-middle-sheet:#baa8d4}
.story-package{--story-bg:var(--color-proof-sand);--story-ink:var(--color-story-package-ink);--story-muted:var(--color-story-package-muted);--story-accent:var(--coral);--scene-face-light:#e5c8a9;--scene-face:#cba67d;--scene-face-dark:#9c7957;--scene-edge-light:#c3a689;--scene-edge:#987553;--scene-rim:#f9efe0;--scene-glass:#f2e6d5;--scene-record:#926542;--scene-light:#ebc799;--scene-paper-edge:#d6bda0;--scene-back-sheet:#9f7c5e;--scene-middle-sheet:#ceb18e}
.story-package .scene-paper-label{fill:#68432b}
.story-package .scene-record{stroke:#bda78a}
.story-package .scene-delivery-title{fill:#69452e}
.story-package .scene-delivery-row{fill:#72513c}
.story-software .story-screen,.story-ai .story-screen{background:radial-gradient(ellipse at 70% 5%,#6276c747,transparent 74%),var(--story-bg)}
.service-hero:has(.engineering-story){grid-template-columns:1fr 1.3fr;gap:44px;align-items:start;padding-top:42px}
.service-hero:has(.engineering-story) .service-hero-copy{padding-top:30px}
.service-hero:has(.engineering-story) h1{font-size:clamp(40px,4vw,62px)}
.service-hero:has(.engineering-story) .service-promise{font-size:18px}
.service-hero #evidencia{scroll-margin-top:10px;min-width:0}
@media(max-width:1000px){.story-panel{grid-template-columns:1fr;gap:28px}.story-panel-copy{display:grid;grid-template-columns:1fr 1fr;gap:12px 32px;align-items:start}.story-panel-copy .eyebrow{grid-column:1/-1;margin-bottom:0}.story-panel-copy>p{margin:0}.story-outcome{grid-column:2;margin:6px 0 0}.story-panel-copy .text-link{grid-column:2}.story-art{max-height:530px}.service-hero:has(.engineering-story){grid-template-columns:1fr;gap:32px}.service-hero:has(.engineering-story) .service-hero-copy{padding-top:0}.service-hero .engineering-story{max-width:760px;width:100%;margin-inline:auto}}
@media(max-width:600px){.scene-dossier{transform:scale(1.25);transform-origin:0 0}.story-art [data-piece="delivery-foot"]{display:none}.engineering-showcase{padding-block:58px}.story-choices{gap:5px;margin-bottom:26px}.story-choices button{display:block;font-size:12px;min-height:70px;padding:12px 5px;line-height:1.6}.story-choices button small{display:block;font-size:9px;margin-bottom:4px}.story-choices button span{display:none}.story-panel-copy{display:block}.story-panel-copy .eyebrow{margin-bottom:14px}.story-panel-copy h3{font-size:34px}.story-panel-copy h3 br{display:none}.story-panel-copy>p{margin-block:18px;font-size:15px;max-width:40ch}.story-outcome{margin:20px 0;padding-top:14px;max-width:100%}.story-outcome span{font-size:9px}.story-outcome b{font-size:13px}.story-panel{gap:26px}.story-screen{border-radius:20px}.story-overline{inset:19px 18px auto;font-size:9px}.story-art{width:calc(100% + 24px);margin-left:-12px;padding-top:34px;max-height:none}.story-caption{padding:7px 18px 22px;min-height:115px}.story-caption p{font-size:18px;padding-right:38px;max-width:29ch}.story-replay{right:15px;bottom:23px;width:40px;height:40px}.story-steps{grid-template-columns:repeat(2,1fr);gap:18px 20px;margin-top:22px}.story-steps li>span{font-size:9px;margin-bottom:5px}.story-steps p{font-size:12px;line-height:1.65}.story-note{font-size:11px}.service-hero:has(.engineering-story){padding-block:20px 40px}.service-hero:has(.engineering-story) h1{font-size:42px}.service-hero:has(.engineering-story) .service-promise{font-size:17px}.service-hero:has(.engineering-story) .service-fit{font-size:14px}}
@media(prefers-reduced-motion:reduce){.story-steps li::before,.story-choices button span,.story-replay{transition:none}.story-replay{display:none}}
.motion-paused .story-steps li::before{transition:none}
@media print{.story-choices,.story-replay{display:none!important}.story-panel[hidden]{display:grid!important}.story-caption{display:none}.scene-world{opacity:0!important}.scene-delivery{opacity:1!important}}
