/* Project-specific engineering studies. Motion stays opacity/transform only. */
.engineering-case{--mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;--case-rule:#d9dee3;--case-secondary:#5d6470;--case-accent:#325fba;color:#20252b;background:#fff}
.engineering-case .wrap{width:min(1392px,calc(100% - 112px))}
.case-hero{padding:32px 0 0}
.case-breadcrumb{display:flex;align-items:center;justify-content:space-between;gap:24px;font:10px/1.5 var(--mono);color:var(--case-secondary)}
.case-breadcrumb a{padding:10px 0;font:12px/1.5 var(--ui)}
.case-breadcrumb a:hover{color:var(--case-accent)}
.case-breadcrumb>span{letter-spacing:.07em;text-align:right}
.case-title-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:end;margin-top:37px}
.case-title-grid>div{min-width:0}
.case-company{display:flex;flex-direction:column;gap:7px;margin-bottom:20px}
.case-company>span{font:10px/1.5 var(--mono);color:var(--case-secondary)}
.case-company>strong{font:550 18px/1.4 var(--ui);color:var(--case-accent);letter-spacing:-.02em}
.case-eyebrow{font:11px/1.5 var(--mono);color:var(--case-accent);margin-bottom:16px}
.case-title-grid h1{font-family:var(--ui);font-size:clamp(38px,4.4vw,67px);font-weight:550;line-height:1.08;letter-spacing:-.052em;max-width:800px;text-wrap:balance}
.case-abstract{padding-bottom:3px;max-width:580px}
.case-abstract h2{font-family:var(--ui);font-size:19px;line-height:1.4;font-weight:550;letter-spacing:-.025em;margin-bottom:14px;text-wrap:balance}
.case-abstract p{font-size:14px;line-height:1.8;color:var(--case-secondary)}
.case-milestone{display:flex;align-items:center;gap:23px;margin-top:24px;padding-top:19px;border-top:1px solid var(--case-rule)}
.case-milestone-value{flex-shrink:0;font:500 39px/1 var(--ui);letter-spacing:-.055em;color:var(--case-accent)}
.case-milestone-value>span{display:block;font:10px/1.5 var(--mono);letter-spacing:.08em;margin-top:7px}
.case-milestone>div>strong{font:500 11px/1.5 var(--ui)}
.case-milestone>div>p{font-size:11px;line-height:1.7;margin-top:5px}
.case-facts{display:grid;grid-template-columns:1fr 1.05fr auto;gap:28px;margin-top:35px;padding:23px 0;border-top:1px solid var(--case-rule)}
.case-facts span{display:block;color:var(--case-secondary);font:9px/1.6 var(--mono);letter-spacing:.07em;margin-bottom:6px}
.case-facts p{font-size:11px;line-height:1.8}
.case-facts button{font-size:11px;align-self:center;color:var(--case-accent);text-align:right;padding:12px 0}
.case-signature{margin-top:7px}
.technical-plate{--sheet-bg:#f8f9fb;--sheet-fg:#252e39;--sheet-muted:#697684;--sheet-line:#8797a8;--sheet-border:#c9d2dc;--sheet-panel:#fff;--sheet-grid:#e1e5eb;--sheet-accent:var(--case-accent);background:var(--sheet-bg);color:var(--sheet-fg);border:1px solid var(--sheet-border);border-radius:7px;overflow:hidden}
.technical-plate[data-sheet-theme=dark]{--sheet-bg:#182126;--sheet-fg:#edf1f4;--sheet-muted:#a3b1bb;--sheet-line:#859da9;--sheet-border:#3d4c55;--sheet-panel:#1d2a32;--sheet-grid:#2c3a44;--sheet-accent:#9dc5e4}
[data-case=agent] .technical-plate{--sheet-bg:#1a202b;--sheet-panel:#222b3b;--sheet-accent:#b7c4ff}
[data-case=reelsomet] .technical-plate{--sheet-bg:#142825;--sheet-panel:#1a3530;--sheet-grid:#29433e;--sheet-border:#3d5f55;--sheet-accent:#a1d1bd}
[data-case=aviation] .technical-plate{--sheet-bg:#182737;--sheet-panel:#1e3145;--sheet-grid:#30445a;--sheet-border:#435c73;--sheet-accent:#a8ccef}
[data-case=salary] .technical-plate{--sheet-bg:#fbf8f7;--sheet-panel:#fff;--sheet-grid:#e9dfe5;--sheet-border:#d5cbd1}
[data-case=analytics] .technical-plate{--sheet-bg:#fcfaf6;--sheet-grid:#e7e0d6;--sheet-border:#d6cbbd}
[data-case=labor] .technical-plate{--sheet-bg:#f6f9f6;--sheet-grid:#dfe7df;--sheet-border:#c9d7cb}
.sheet-heading{display:flex;justify-content:space-between;gap:24px;padding:20px 25px 18px;border-bottom:1px solid var(--sheet-border);font:10px/1.5 var(--mono);letter-spacing:.025em}
.sheet-scroll-cue{display:none}
.sheet-heading>span:nth-child(2){color:var(--sheet-muted);font-size:9px;text-align:right}
.case-sheet-viewport{overflow:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding:13px 8px 8px}
.case-sheet-viewport:focus-visible{outline:2px solid var(--case-accent);outline-offset:-3px}
.signature-diagram{display:block;width:100%;min-width:790px;height:auto;overflow:visible}
.signature-diagram text{font-family:var(--mono);fill:var(--sheet-fg);font-size:12px;letter-spacing:-.3px}
.signature-diagram .sheet-ref{font-size:9px;letter-spacing:1px;fill:var(--sheet-muted)}
.signature-diagram .sheet-title{font-family:var(--ui);font-size:16px;letter-spacing:-.3px;font-weight:550}
.signature-diagram .sheet-sub{font-size:10px;letter-spacing:-.15px;fill:var(--sheet-muted)}
.signature-diagram .sheet-equation{font-size:20px;fill:var(--sheet-accent)}
.sheet-component>rect{fill:var(--sheet-panel);stroke:var(--sheet-border);stroke-width:1}
.sheet-zone{fill:none;stroke:var(--sheet-border);stroke-width:.8}
.sheet-wire{fill:none;stroke:var(--sheet-line);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.sheet-lifeline{fill:none;stroke:var(--sheet-border);stroke-width:.8;stroke-dasharray:3 6}
.sheet-activation{fill:var(--sheet-panel);stroke:var(--sheet-accent)}
.sheet-gridline{stroke:var(--sheet-grid);stroke-width:.7;fill:none}
.sheet-axis{stroke:var(--sheet-muted);stroke-width:1;fill:none}
.sheet-series{stroke:var(--sheet-accent);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.signature-diagram .dashed{stroke-dasharray:5 5}
.sheet-horizon{fill:var(--sheet-accent);opacity:.045}
.sheet-pruned rect{stroke-dasharray:4 4;fill:transparent}
.sheet-pruned .sheet-title,.sheet-pruned .sheet-ref{fill:#936b75}
.sheet-prune-mark{stroke:#936b75;stroke-width:1.5;fill:none}
.frequency-cell{fill:var(--sheet-panel);stroke:var(--sheet-line);stroke-width:.8}
.sheet-target{fill:var(--sheet-panel);stroke:var(--sheet-border)}
[data-sheet-layer]{opacity:1;transition:opacity .2s ease}
[data-sheet-layer].is-muted{opacity:.18}
.sheet-controls{display:flex;flex-wrap:wrap;gap:7px;border-top:1px solid var(--sheet-border);padding:16px 24px 0}
.sheet-controls button{font:11px/1.5 var(--ui);color:var(--sheet-muted);padding:9px 12px;min-height:38px;border:1px solid transparent;border-radius:3px;transition:background .16s,color .16s}
.sheet-controls button span{font:9px var(--mono);margin-right:7px;color:var(--sheet-muted)}
.sheet-controls button:hover{color:var(--sheet-fg);border-color:var(--sheet-border)}
.sheet-controls button[aria-pressed=true]{background:var(--sheet-panel);border-color:var(--sheet-border);color:var(--sheet-fg)}
.sheet-controls button:focus-visible{outline-color:var(--sheet-accent)}
.sheet-focus-caption{font-size:11px;line-height:1.8;color:var(--sheet-muted);padding:14px 26px 21px;min-height:74px;max-width:1080px}
.sheet-footnote{display:grid;grid-template-columns:200px 1fr;gap:30px;margin:17px 0 0;font-size:10px;line-height:1.8;color:var(--case-secondary)}
.sheet-footnote>span:first-child{font:9px/1.8 var(--mono);letter-spacing:.07em}
.sheet-footnote p{max-width:850px}
.sheet-mobile-hint{display:none}
.case-decisions{padding:90px 0 76px;scroll-margin-top:112px}
.case-section-title{display:grid;grid-template-columns:230px 1fr;gap:32px;border-top:1px solid var(--case-rule);padding-top:25px}
.case-section-title h2,.case-delivered h2{font-family:var(--ui);font-size:30px;line-height:1.3;letter-spacing:-.04em;font-weight:500}
.case-section-title .kicker{font-family:var(--mono);font-size:9px;line-height:1.8}
.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:40px}
.decision-grid article{position:relative;min-width:0}
.decision-index{font:11px var(--mono);color:var(--case-accent);margin-bottom:20px}
.decision-grid h3{font-family:var(--ui);font-size:23px;line-height:1.3;font-weight:500;letter-spacing:-.025em;max-width:450px}
.decision-grid article>p{font-size:13px;line-height:1.8;color:var(--case-secondary);max-width:550px;margin-top:14px}
.decision-grid dl{margin:24px 0 0}
.decision-grid dl>div{display:grid;grid-template-columns:135px 1fr;gap:18px;border-top:1px solid var(--case-rule);padding:17px 0}
.decision-grid dt{font:9px/1.8 var(--mono);letter-spacing:.02em;color:var(--case-secondary)}
.decision-grid dd{margin:0;font-size:12px;line-height:1.8;color:#434d59}
.engineering-case .story-intro{grid-template-columns:230px 1fr;gap:18px 32px;border-color:var(--case-rule)}
.engineering-case .story-intro>.kicker{font-family:var(--mono);font-size:9px}
.engineering-case .story-intro h2{font-family:var(--ui);font-size:30px;line-height:1.35;font-weight:500;letter-spacing:-.04em;text-wrap:initial}
.engineering-case .story-intro>p:last-child{font-size:12px;max-width:730px}
.engineering-case .pinned-figure{background:#fbfcfd;border:1px solid #cfd7df;border-radius:5px;box-shadow:none;padding:17px;top:110px;--flow:var(--case-accent)}
.engineering-case .pinned-figure .diagram-viewport>.diagram-scene{height:clamp(230px,calc(100svh - 355px),510px)}
.engineering-case .diagram-toolbar{font-family:var(--mono)}
.engineering-case .diagram-toolbar button{border-radius:3px;font-size:9px}
.engineering-case .diagram-toolbar>span{letter-spacing:.04em}
.engineering-case .diagram-group rect{fill:#f4f6f8;fill-opacity:.4;stroke:#bdc8d1;stroke-dasharray:4 5;rx:3px}
.engineering-case .diagram-group text{font-family:var(--mono);font-size:10px;fill:#657789;letter-spacing:.7px}
.engineering-case .diagram-node .node-shape{fill:#fff;stroke:#a7b7c5;stroke-width:1;rx:3px}
.engineering-case .diagram-node.is-active .node-shape{fill:#fff;stroke:var(--case-accent);stroke-width:1.4}
.engineering-case .node-sheen{display:none}
.engineering-case .node-detail{stroke:var(--case-accent);opacity:.7}
.engineering-case .node-title{fill:#263847;font-family:var(--ui);font-size:17px;font-weight:550;letter-spacing:-.25px}
.engineering-case .node-sub{fill:#667787;font-family:var(--mono);font-size:11px;letter-spacing:-.35px}
.engineering-case .diagram-edge .edge-line{stroke:#8c9baa;stroke-width:1.1}
.engineering-case .diagram-edge.is-active .edge-line{stroke:var(--case-accent);stroke-width:1.5}
.engineering-case .diagram-edge text{font-family:var(--mono);fill:#586d7b}
.engineering-case .diagram-node:not(.is-active){opacity:.24}
/* Node treatment and legend share the same semantic encoding. */
.engineering-case .diagram-node[data-tone=model] .node-shape{fill:#f1f4fa}
.engineering-case .diagram-node[data-tone=store] .node-shape{fill:#edf3f5}
.engineering-case .diagram-node[data-tone=evaluation] .node-shape{stroke-dasharray:4 3}
.engineering-case .figure-key{font-family:var(--mono)}
.engineering-case .figure-key span:before{border-radius:1px;background:#fff;border:1px solid var(--case-accent)}
.engineering-case .figure-key [data-tone=model]:before{background:#f1f4fa;border-inline-width:2px}
.engineering-case .figure-key [data-tone=store]:before{background:#edf3f5;border-top-width:2px}
.engineering-case .figure-key [data-tone=evaluation]:before{border-style:dashed}
.engineering-case .stage-nav button{border-radius:2px}
.engineering-case .story-step h3{font-family:var(--ui);font-size:28px;font-weight:500;line-height:1.25;letter-spacing:-.035em}
.engineering-case .story-step>p{font-size:13px;line-height:1.85}
.engineering-case .step-number{font-family:var(--mono);font-size:12px;color:var(--case-accent)}
.engineering-case .my-work,.engineering-case .story-step.is-active .my-work{background:none;border-radius:0;box-shadow:none;border-color:var(--case-accent);padding-left:17px}
.engineering-case .my-work>span{font-family:var(--mono);font-size:8px;line-height:1.7;color:var(--case-accent)}
.engineering-case .my-work p{font-size:12px;line-height:1.8}
.case-delivered{border-top:1px solid var(--case-rule);padding:36px 0 70px;display:grid;grid-template-columns:1fr 1fr;gap:80px}
.case-delivered .kicker{font-family:var(--mono);font-size:9px}
.case-delivered h2{margin:23px 0 17px}
.case-delivered p:not(.kicker){font-size:14px;line-height:1.85;color:var(--case-secondary)}
.case-delivered ol{list-style:none;margin:0;padding:0}
.case-delivered li{font-size:14px;line-height:1.7;padding:21px 0;border-bottom:1px solid var(--case-rule);display:flex;align-items:baseline;gap:27px}
.case-delivered li span{font:11px var(--mono);color:var(--case-accent)}
.case-next{border-top:1px solid var(--case-rule);padding:25px 0 70px;display:flex;justify-content:space-between;align-items:center;gap:40px}
.case-next>a:first-child{font-size:12px;color:var(--case-secondary)}
.case-next>a:last-child{text-align:right}
.case-next span{display:block;font:9px var(--mono);color:var(--case-secondary);margin-bottom:12px}
.case-next strong{font-weight:500;font-size:23px;letter-spacing:-.025em}
.case-next a:hover{color:var(--case-accent)}
/* The same engineering language carries into the project catalogue. */
body[data-design=article] .arc-project-cover{border-radius:8px;border-color:#d6dde4}
body[data-design=article] .arc-project-cover:hover>.project-cover-image{transform:scale(1.012)}
@media(min-width:1550px){.engineering-case .scrolly{grid-template-columns:350px minmax(0,1fr);gap:60px}}
@media(max-width:1100px){
 .engineering-case .wrap{width:calc(100% - 64px)}
 .case-title-grid{gap:36px}
 .case-title-grid h1{font-size:42px}
 .case-abstract h2{font-size:17px}.case-abstract p{font-size:12px}
 .case-facts{grid-template-columns:1fr 1fr}.case-facts button{display:none}
 .decision-grid{gap:35px}.decision-grid dl>div{grid-template-columns:1fr;gap:8px}
 .case-section-title,.engineering-case .story-intro{grid-template-columns:180px 1fr}
}
@media(max-width:760px){
 .engineering-case .wrap{width:calc(100% - 36px)}
 .case-hero{padding-top:17px}.case-breadcrumb{gap:18px}.case-breadcrumb>span{font-size:8px;max-width:185px}
 .case-title-grid{grid-template-columns:1fr;gap:25px;margin-top:23px}
 .case-company{margin-bottom:17px;gap:5px}.case-company>strong{font-size:17px}.case-company>span{font-size:9px}
 .case-milestone{margin-top:20px;gap:20px}.case-milestone-value{font-size:35px}
 .case-title-grid h1{font-size:39px;max-width:540px}.case-eyebrow{font-size:10px;margin-bottom:13px}
 .case-abstract h2{font-size:17px;max-width:370px}.case-abstract p{font-size:13px;line-height:1.8}
 .case-facts{gap:18px;margin-top:24px;padding:18px 0;grid-template-columns:1fr}.case-facts span{font-size:8px}.case-facts p{font-size:10px}
 .case-signature{margin-top:4px}.sheet-heading{padding:15px 16px;font-size:9px}.sheet-heading>span:nth-child(2){display:none}
 .sheet-heading{flex-wrap:wrap;gap:5px}.sheet-scroll-cue{display:block;width:100%;font-size:9px;color:var(--sheet-muted)}
 .case-sheet-viewport{padding:9px 4px}.signature-diagram{min-width:790px}
 .sheet-controls{padding:12px 11px 0;gap:3px}.sheet-controls button{font-size:10px;padding:8px;min-height:40px}
 .sheet-focus-caption{font-size:10px;padding:12px 16px 16px;min-height:110px}
 .sheet-footnote{display:block;font-size:9px;margin-top:13px}.sheet-footnote p{margin-top:7px}.sheet-mobile-hint{display:block;margin-top:8px;font-size:10px;color:var(--case-accent)}
 .case-decisions{padding:55px 0 40px}.case-section-title{display:block;padding-top:19px}.case-section-title h2{font-size:25px;margin-top:13px;max-width:320px}
 .decision-grid{grid-template-columns:1fr;gap:35px;padding-top:30px}.decision-grid h3{font-size:21px}.decision-index{margin-bottom:13px}.decision-grid article>p{font-size:12px}.decision-grid dl{margin-top:19px}
 .engineering-case .story-intro{display:block;padding:23px 0 30px}.engineering-case .story-intro h2{font-size:25px}
 .engineering-case .pinned-figure{top:84px;margin-inline:0;padding:10px;box-shadow:0 7px 0 #fff;border-radius:4px}
 body[data-design=article] .engineering-case .pinned-figure .diagram-viewport>.diagram-scene{height:27svh;min-height:175px}
 .engineering-case .story-step h3{font-size:25px}.engineering-case .story-step{padding-inline:3px;min-height:68vh}
 .engineering-case .figure-key{gap:9px;font-size:7px}.engineering-case .flow-indicator{display:none}
 .case-delivered{display:block;padding:28px 0 40px}.case-delivered h2{font-size:26px;margin-top:18px}.case-delivered p:not(.kicker){font-size:13px}.case-delivered ol{margin-top:22px}.case-delivered li{font-size:12px;padding:17px 0}
 .case-next{gap:20px;padding:24px 0 46px;align-items:flex-start}.case-next>a:last-child{max-width:230px}.case-next>a:first-child{font-size:10px}.case-next strong{font-size:18px;line-height:1.3}.case-next span{font-size:8px}
}
@media(prefers-reduced-motion:reduce){[data-sheet-layer],.sheet-controls button{transition:none}}
