/* The artwork is a map of related capabilities, not a numbered process. */
.approach-scene{position:relative;isolation:isolate;width:100%}
.approach-scene>.frame-illustration{width:100%;background:#eeeadd}
/* Lift dense shadows gently, keeping the original linework and warm paper. */
.approach-scene img{width:100%;height:auto;display:block;mix-blend-mode:multiply;filter:saturate(.76) contrast(.94) brightness(1.06)}
.home-page .craft-opening{margin-bottom:18px}
/* Lift the scene and animated route together, preserving the button row position. */
.home-page :is(.craft-drawing,.approach-thread){position:relative;top:-8px}
.home-page .approach-thread{aspect-ratio:2000/110;margin:-12px 0 8px}
.home-page .approach-thread .connection-thread-traveler{opacity:1}
.home-page .craft-choices{margin-top:0}
[data-study-color=original] .approach-scene img{filter:none}
.approach-ink,.approach-labels{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.approach-labels text{fill:color-mix(in srgb,var(--selection-shade) 60%,#243e33);font:400 23px var(--body);letter-spacing:.3px}
.approach-label-leader{fill:none;stroke:#92988f;stroke-width:.75;vector-effect:non-scaling-stroke}
.approach-label-point{fill:#68766b}
.approach-scene:has(.approach-labels) .frame-illustration>img{mask-image:url(#approach-spaces-clean);mask-mode:luminance}
[data-approach-active=model] [data-approach-label=model] text,[data-approach-active=route] [data-approach-label=route] text,[data-approach-active=detail] [data-approach-label=detail] text,[data-approach-active=interface] [data-approach-label=interface] text,[data-approach-active=ai] [data-approach-label=ai] text{font-weight:700}
.approach-ink>[data-approach-cue]{opacity:0;transition:opacity .16s ease}
.approach-ink{filter:drop-shadow(0 1px 2px #173424b3)}
.approach-orbit{fill:none;stroke:var(--selection-shade);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.approach-orbit-echo-near{stroke-width:1.5;opacity:.46}
.approach-orbit-echo-far{stroke-width:1.15;opacity:.23}
.approach-orbit-register{fill:none;stroke:var(--selection-shade);stroke-width:1;stroke-linecap:round;opacity:.38}
.approach-orbit-halo{fill:var(--selection-accent);fill-opacity:.17;stroke:var(--selection-shade);stroke-opacity:.35;stroke-width:.8}
.approach-orbit-dot{fill:var(--selection-accent);stroke:var(--selection-shade);stroke-width:1.6}
.approach-orbit-pinhole{fill:var(--paper);stroke:none}
[data-approach-orbit=model] [data-approach-cue=model],[data-approach-orbit=route] [data-approach-cue=route],[data-approach-orbit=detail] [data-approach-cue=detail],[data-approach-orbit=interface] [data-approach-cue=interface],[data-approach-orbit=ai] [data-approach-cue=ai]{opacity:1}
@media(max-width:560px){.approach-orbit-primary{stroke-width:6}.approach-orbit-echo-near{stroke-width:3}.approach-orbit-echo-far{stroke-width:2.3}.approach-orbit-dot{r:12}.approach-orbit-halo{r:21}.approach-orbit-pinhole{r:3.2}}
@media(max-width:640px){.approach-thread .connection-thread-stop{r:14}.approach-thread .connection-thread-dot{r:18}}
.craft-choices button[aria-selected=true],.craft-choices button:hover{background:linear-gradient(110deg,color-mix(in srgb,var(--selection-accent) 30%,var(--paper)),transparent 95%);box-shadow:none}
.craft-choices button::before{display:none}
.craft-choices button::after{content:'';position:absolute;left:0;bottom:-1px;width:28px;height:2px;background:var(--selection-shade);opacity:.6;transition:width .24s ease,opacity .2s}
.craft-choices button:hover::after,.craft-choices button[aria-selected=true]::after,.craft-choices button:focus-visible::after{width:100%;opacity:1}
.craft-choices button:focus-visible{outline:2px solid var(--selection-shade);outline-offset:3px}
.craft-evidence>.frame-approach{min-height:0;max-height:none;aspect-ratio:3/2;height:auto;flex:1}
.craft-evidence>.frame-approach>img{padding:16px}
#craft-image{opacity:1;transition:opacity .24s ease}
#craft-image.is-changing{opacity:0;transition-duration:.15s}
@media(max-width:850px) and (min-width:641px){.craft-evidence>.frame-approach{min-height:320px}}
@media(max-width:640px){.craft-evidence>.frame-approach{flex:none;aspect-ratio:3/2}.craft-evidence>.frame-approach>img{padding:12px}}
@media(prefers-reduced-motion:reduce){.approach-ink g,.craft-choices button::after{transition:none;animation:none!important}}
@media(prefers-reduced-motion:reduce){#craft-image{transition:none}}
/* A close view pans as one scene on phones; overlays and labels stay registered. */
@media(max-width:680px){
 .home-page .craft-drawing.approach-interactive{touch-action:pan-y}
 .home-page .approach-interactive .approach-scene{width:260%;transition:transform .7s cubic-bezier(.22,.68,.22,1)}
 .home-page .approach-interactive .approach-ink{display:none}
 .home-page .craft-choices button[data-craft]{min-height:46.5px;padding-block:5px;cursor:pointer}
}
@media(prefers-reduced-motion:reduce){.home-page .approach-interactive .approach-scene{transition:none}}
@media(forced-colors:active){.approach-ink{display:none}.craft-choices button[aria-selected=true]{outline:2px solid Highlight}.craft-choices button::after,.craft-swatch{background:CanvasText}.craft-notes::before{background:CanvasText}}
