/* Three material treatments below the hero. Each has its own motion owner. */
@font-face{font-family:'Plex Detail';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/workspace-font-4.woff2) format('woff2')}
.vision-project{--work-accent:var(--accent-ink);--work-rgb:var(--field-primary)}
.vision-project#common{--work-accent:var(--secondary-ink);--work-rgb:var(--field-secondary)}
.case-head{align-items:flex-start;gap:35px;margin-bottom:40px;padding-top:14px}
.case-head>div{min-width:0;flex:1}
.case-order{font:600 clamp(3rem,5.5vw,5.5rem)/1 var(--display);letter-spacing:-.055em;color:transparent!important;-webkit-text-stroke:1px var(--muted);opacity:.55;min-width:1.14em;margin-top:37px}
.case-kind{font:400 .8125rem/1.5 'Plex Detail',monospace;letter-spacing:.025em}
.case-kind>span{font:400 .75rem/1.5 var(--body)}
.case-head h2.work-heading{position:relative;width:fit-content;max-width:100%;margin-top:15px;font:800 clamp(3.5rem,5.7vw,5.7rem)/.95 'Syne',sans-serif;letter-spacing:-.052em;font-synthesis:none;perspective:900px}
.work-title-base{display:block}
.work-word{display:inline-block;white-space:nowrap;perspective:700px}
.work-letter{display:inline-block;transform-origin:50% 100%;backface-visibility:hidden}
.work-title-shine{position:absolute;inset:0;pointer-events:none;opacity:0;color:transparent;background:linear-gradient(105deg,transparent 35%,var(--work-accent) 46%,var(--ink) 50%,var(--work-accent) 54%,transparent 66%);background-size:300% 100%;background-position:130% 50%;background-clip:text;-webkit-background-clip:text;mix-blend-mode:screen}
[data-theme="light"] .work-title-shine{mix-blend-mode:normal}
.case-arrow{margin-top:42px;font-size:3.2rem}
.case-summary{margin-top:30px;padding-top:14px;gap:65px}
.case-summary>p{font:450 clamp(1.35rem,2.15vw,2rem)/1.23 var(--display);letter-spacing:-.025em;max-width:490px}
.case-summary>div h3,.case-bottom h3{font:400 .8125rem/1.5 'Plex Detail',monospace;text-transform:uppercase;letter-spacing:.04em;margin-bottom:15px}
.case-summary>div p{font-size:1.0625rem;line-height:1.55}
.case-bottom{margin-top:30px;padding-top:26px;gap:65px}
.case-bottom>div>p{font-size:1.0625rem;line-height:1.65;max-width:440px}

/* Tool names and purposes remain readable while a single focus frame travels. */
.tool-ledger-wrap{position:relative;isolation:isolate}
.case-bottom ul.tool-ledger{display:grid;grid-template-columns:1fr;gap:0;position:relative;margin-top:-7px}
.case-bottom .tool-ledger>li{position:relative;display:grid;grid-template-columns:minmax(105px,1fr) minmax(22px,.55fr) minmax(94px,.8fr) 20px;gap:12px;align-items:center;min-height:59px;padding:8px 12px;border-bottom:1px solid var(--line)}
.case-bottom .tool-ledger>li:last-child{border-bottom:0}
.case-bottom .tool-ledger .tool-name{font:600 1.25rem/1.15 var(--display);letter-spacing:-.025em;color:var(--ink)}
.case-bottom .tool-ledger li>small{font:400 .8125rem/1.35 'Plex Detail',monospace;color:var(--muted);margin:0}
.case-bottom .tool-ledger .tool-order{font:400 .75rem/1 'Plex Detail',monospace;color:var(--muted);opacity:.6;text-align:right}
.tool-rule{display:block;height:1px;position:relative;background:var(--line);overflow:visible}
.tool-rule:after{content:'';position:absolute;right:0;top:-2px;width:5px;height:5px;border-right:1px solid var(--muted);border-top:1px solid var(--muted);transform:rotate(45deg)}
.tool-rule i{position:absolute;inset:0;transform:scaleX(0);transform-origin:left;background:var(--work-accent);box-shadow:0 0 9px var(--work-accent);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.tool-ledger>li[data-lit] .tool-rule i{transform:scaleX(1)}
.tool-ledger>li[data-lit] .tool-name{color:var(--work-accent)}
.tool-ledger>li[data-lit] .tool-order{color:var(--work-accent);opacity:1}
.tool-focus{position:absolute;left:0;right:0;top:0;height:var(--tool-height,59px);transform:translateY(var(--tool-y,0px));opacity:0;pointer-events:none;border:1px solid rgba(var(--work-rgb),.25);background:linear-gradient(90deg,rgba(var(--work-rgb),.08),transparent 80%);z-index:-1;transition:transform .28s cubic-bezier(.16,1,.3,1),height .28s,opacity .2s}
.tool-focus:before,.tool-focus:after{content:'';position:absolute;top:-1px;bottom:-1px;width:7px;border-block:1px solid var(--work-accent)}
.tool-focus:before{left:-1px;border-left:1px solid var(--work-accent)}
.tool-focus:after{right:-1px;border-right:1px solid var(--work-accent)}
.tool-ledger-wrap[data-active] .tool-focus{opacity:1}

/* Light runs over the existing workflow geometry; the base drawing stays intact. */
.system-stage{--work-accent:var(--accent-ink);--work-rgb:var(--field-primary)}
.operation-stage{--work-accent:var(--secondary-ink);--work-rgb:var(--field-secondary)}
.operation-word{font-size:clamp(3rem,5vw,5rem);line-height:1.02}
.stage-heading>p{font-weight:550;font-size:clamp(1.6rem,2.4vw,2.25rem)}
.flow-beam{stroke:var(--work-accent)!important;stroke-width:3px!important;stroke-linecap:round;fill:none;filter:drop-shadow(0 0 5px var(--work-accent));opacity:0;vector-effect:non-scaling-stroke}
.flow-particle{fill:var(--work-accent);filter:drop-shadow(0 0 7px var(--work-accent));opacity:0;pointer-events:none}
.system-stage .flow-caption{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:21px;border-top:1px solid var(--line);margin-top:30px;font-size:.8125rem;min-height:54px}
.flow-caption>span{max-width:65%}
.flow-replay{display:flex;align-items:center;justify-content:center;gap:11px;border:0;background:none;color:var(--ink);padding:0 2px;min-height:46px;font:400 .8125rem 'Plex Detail',monospace;cursor:pointer;white-space:nowrap}
.flow-replay svg{width:32px;height:32px;overflow:visible;flex:none}
.flow-ring{stroke:var(--line);stroke-width:1;transition:stroke .25s}
.flow-replay svg path{fill:var(--work-accent)}
.flow-replay:hover .flow-ring,.flow-replay:focus-visible .flow-ring{stroke:var(--work-accent)}
.flow-replay:focus-visible{outline:2px solid var(--work-accent);outline-offset:5px}
.flow-replay[data-playing] .flow-ring{stroke:var(--work-accent);stroke-dasharray:76;stroke-dashoffset:calc(76 * (1 - var(--flow-progress,0)))}
.source-sheet{position:relative}
.source-sheet:after{content:'';position:absolute;left:-10px;right:-10px;top:7px;bottom:7px;border-left:2px solid var(--work-accent);background:linear-gradient(90deg,rgba(var(--work-rgb),.13),transparent 90%);opacity:0;pointer-events:none;transition:opacity .24s}
.source-sheet[data-flow-lit]:after{opacity:1}
.source-sheet[data-flow-lit]>span{color:var(--work-accent)}
.source-sheet[data-flow-lit] b{color:var(--work-accent)}
.answer-object-inner:before,.operation-panel>div:before{content:'';position:absolute;inset:-1px;border:1px solid var(--work-accent);box-shadow:0 0 0 4px rgba(var(--work-rgb),.08),0 0 32px rgba(var(--work-rgb),.16);pointer-events:none;opacity:0;transition:opacity .25s}
.answer-object[data-flow-lit] .answer-object-inner:before,.operation-panel[data-flow-lit]>div:before{opacity:1}
.answer-object[data-flow-lit] .answer-dot{box-shadow:0 0 0 4px #14151122}
.operation-panel[data-flow-lit] .operation-number i{transform:translate(4px,-4px)}
.operation-number i{transition:transform .4s cubic-bezier(.16,1,.3,1)}
.operation-panel:nth-of-type(2)[data-flow-lit]>div:before{border-color:var(--ink);box-shadow:0 0 0 4px rgba(var(--work-rgb),.12),0 0 42px rgba(var(--work-rgb),.25)}
@media(min-width:1500px){.case-head h2.work-heading{font-size:6.2rem}}
@media(max-width:1100px){.case-head{gap:25px}.case-head h2.work-heading{font-size:6.7vw}.case-order{font-size:4.5rem}.case-summary,.case-bottom{gap:38px}.case-bottom .tool-ledger>li{grid-template-columns:minmax(100px,1fr) minmax(14px,.3fr) minmax(85px,.8fr) 16px;gap:9px;padding-inline:8px}.case-bottom .tool-ledger .tool-name{font-size:1.125rem}}
@media(max-width:760px){
 .case-head{gap:18px;margin-bottom:28px;padding-top:3px;position:relative}.case-order{font-size:2.25rem;margin-top:39px;min-width:1em}.case-kind{font-size:.75rem;line-height:1.6}.case-kind>span{font-size:.75rem}.case-head h2.work-heading{font-size:8.5vw;line-height:1;letter-spacing:-.05em;margin-top:9px}.case-arrow{display:none}
 .case-summary{gap:27px;margin-top:24px}.case-summary>p{font-size:1.55rem;max-width:100%;line-height:1.28}.case-summary>div p,.case-bottom>div>p{font-size:1rem}.case-summary>div h3,.case-bottom h3{font-size:.75rem;margin-bottom:11px}.case-bottom{gap:26px;margin-top:26px;padding-top:24px}
 .case-bottom .tool-ledger>li{grid-template-columns:minmax(105px,1fr) minmax(15px,.4fr) minmax(100px,.85fr) 16px;gap:10px;min-height:61px;padding:9px 8px}.case-bottom .tool-ledger .tool-name{font-size:1.2rem}.case-bottom .tool-ledger li>small{font-size:.75rem}
 .operation-word{font-size:10.8vw}.system-stage .flow-caption{gap:14px;align-items:flex-start;padding-top:18px;margin-top:25px}.flow-caption>span{max-width:60%;line-height:1.5}.flow-replay{min-width:44px;min-height:44px}.flow-replay>span{display:none}.flow-replay svg{width:36px;height:36px}
}
@media(max-width:350px){.case-head{gap:12px}.case-order{font-size:1.85rem}.case-head h2.work-heading{font-size:8.3vw}.case-bottom .tool-ledger>li{grid-template-columns:minmax(95px,1fr) 15px minmax(87px,.8fr) 14px;gap:7px;padding-inline:6px}.case-bottom .tool-ledger .tool-name{font-size:1.0625rem}.case-bottom .tool-ledger li>small{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.work-title-shine{display:none}.tool-focus,.tool-rule i,.source-sheet:after,.answer-object-inner:before,.operation-panel>div:before,.operation-number i,.flow-ring{transition:none!important}.work-letter{transform:none!important;opacity:1!important}.flow-beam,.flow-particle{display:none}}
