/* A single visual vocabulary: context opens, work connects, the operator decides. */
.work-story{background:radial-gradient(ellipse at 28% 40%,#231130 0%,#100c15 38%,#0a0a0a 75%);padding-bottom:70px}
.work-story .statement{max-width:1000px}.work-story-intro{max-width:610px;color:var(--light-gray);font-size:17px;margin-bottom:36px}
.work-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:70px;align-items:start}
.work-stage-shell{min-width:0}.work-stage-shell>.eyebrow{font-size:11px;letter-spacing:.15em;margin-bottom:16px;color:var(--accent-warm)}
.work-stage-shell>.journey-note{font-size:11px;line-height:1.65;max-width:540px;margin:18px 0 0}
.work-theatre{position:relative;height:clamp(350px,55svh,560px);isolation:isolate;perspective:1300px;overflow:clip;min-width:0;border-block:1px solid #ffffff12}
.work-atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,#9c30ff24,transparent 68%);pointer-events:none}
.work-orbit{position:absolute;left:50%;top:50%;width:76%;aspect-ratio:1;border:1px solid #9c30ff35;border-radius:50%;transform:translate(-50%,-50%) rotateX(60deg);pointer-events:none}
.work-progress-ring{position:absolute;left:50%;top:50%;width:min(74%,430px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;z-index:1}
.ring-track{fill:none;stroke:#ffffff12;stroke-width:1.5}
.ring-fill{fill:none;stroke:var(--accent-warm);stroke-width:2;stroke-linecap:round;stroke-dasharray:0 340;filter:drop-shadow(0 0 6px rgba(240,180,41,.55))}
.work-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;z-index:0;pointer-events:none;transition:opacity .18s ease}
.work-core-num{display:block;font-family:var(--font-heading);font-size:clamp(64px,6.5vw,104px);line-height:1;letter-spacing:-.04em;color:#c98bfa;text-shadow:0 0 44px rgba(156,48,255,.5)}
.work-core-label{display:block;font-size:11px;letter-spacing:.24em;color:var(--accent-warm);margin-top:12px}
.work-camera{position:absolute;inset:0;transform-style:preserve-3d}
.work-plane{position:absolute;left:50%;top:50%;width:clamp(210px,22vw,290px);overflow:hidden;background:#151217;border:1px solid #ffffff35;border-radius:12px;box-shadow:0 22px 45px #0008;transform-origin:center;backface-visibility:hidden}
.plane-label{display:flex;justify-content:space-between;align-items:center;background:#1b171e;padding:11px 13px;border-bottom:1px solid #ffffff15;color:#d9b3ff;font-size:11px;letter-spacing:.11em;white-space:nowrap}
.plane-label i{width:5px;height:5px;background:currentColor;border-radius:50%;opacity:.6}
.work-plane>img{width:100%;height:125px!important;object-fit:cover;object-position:top}
.plane-caption{padding:10px 12px;color:#bcb7c2;font-size:11px;line-height:1.4;background:#161219}
.plane-context{transform:translate(-100%,-112%) rotate(-8deg);z-index:1}.plane-brief{transform:translate(-7%,-112%) rotate(8deg);z-index:2}.plane-specialists{transform:translate(-50%,-40%);z-index:3}.plane-review{transform:translate(-100%,26%) rotate(-5deg);z-index:4;border-color:#f0b42980}.plane-output{transform:translate(-2%,30%) rotate(5deg);z-index:5}
.plane-review .plane-label{color:var(--accent-warm)}.specialist-chain{display:flex;align-items:center;justify-content:space-around;gap:5px;padding:25px 12px}.specialist-chain span{font-size:11px;text-align:center}.specialist-chain b{display:block;color:#b14dff;font:500 26px/1.2 var(--font-heading);margin-bottom:8px}.specialist-chain i{font-style:normal;color:#794b9d}
.review-composition{display:flex;align-items:center;gap:20px;padding:18px}.review-composition img{width:70px;height:84px!important;object-fit:cover;border-radius:4px}.review-composition strong{font:600 25px/1.06 var(--font-heading);letter-spacing:-.025em}
.work-path{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:0}.work-path path{fill:none;stroke:#9c30ff;stroke-width:1.5;stroke-dasharray:900;stroke-dashoffset:900}.work-path circle{fill:#f0b429;filter:drop-shadow(0 0 6px #f0b429)}
.work-coordinate{position:absolute;bottom:10px;left:18px;right:18px;display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.1em;color:#b594c8;pointer-events:none}.work-coordinate i{height:1px;flex:1;background:linear-gradient(90deg,#9c30ff60,#f0b42960)}
.work-beats{position:relative}
.work-beats:before{content:'';position:absolute;left:-18px;top:28px;bottom:28px;width:2px;background:#ffffff10;border-radius:2px}
.work-rail{position:absolute;left:-18px;top:28px;bottom:28px;width:2px;background:linear-gradient(180deg,var(--purple-primary),var(--accent-warm));border-radius:2px;transform:scaleY(0);transform-origin:top center;box-shadow:0 0 14px rgba(156,48,255,.5);pointer-events:none}
.work-beat{position:relative;scroll-margin-top:calc(var(--header-height) + 36px);padding:30px 28px 32px;margin-bottom:24px;border:1px solid #ffffff1c;border-left:2px solid #9c30ff55;border-radius:16px;background:linear-gradient(135deg,#181220 0%,#100e13 62%);box-shadow:0 18px 44px rgba(0,0,0,.32);overflow:clip}
.beat-num{position:absolute;top:16px;right:22px;font-family:var(--font-heading);font-size:66px;line-height:1;letter-spacing:-.04em;color:rgba(188,121,244,.24);pointer-events:none;transition:color .4s}
.work-beat[data-active=true]{border-left-color:var(--accent-warm);border-color:#9c30ff44;box-shadow:0 0 0 1px rgba(156,48,255,.16),0 24px 60px rgba(156,48,255,.13)}
.work-beat[data-active=true] .beat-num{color:rgba(240,180,41,.42)}
html.motion-enabled .work-beat[data-active=true]{animation:beatGlow 3.2s ease-in-out infinite}
.is-paused .work-beat[data-active=true]{animation-play-state:paused}
@keyframes beatGlow{0%,100%{box-shadow:0 0 0 1px rgba(156,48,255,.16),0 24px 60px rgba(156,48,255,.12)}50%{box-shadow:0 0 0 1px rgba(156,48,255,.4),0 24px 70px rgba(156,48,255,.22)}}
.beat-tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;max-width:390px}
.beat-tags span{font-size:11px;letter-spacing:.06em;color:#d9b3ff;border:1px solid #9c30ff44;background:rgba(156,48,255,.07);border-radius:999px;padding:7px 13px;line-height:1.4}
.work-beat[data-active=true] .beat-tags span{border-color:#9c30ff77;color:#e6ccff}
.work-beat>.chapter-number{color:#bc79f4;font-size:11px;margin-bottom:18px;display:block}.work-beat h3{font-size:clamp(26px,2.8vw,40px)!important;max-width:390px;padding-right:64px}.work-beat p{font-size:15px;max-width:390px;margin:15px 0 0;line-height:1.75;color:#bbb}
.work-beat .work-mini{display:none}.work-replay{padding-top:56px;margin-top:8px;border-top:1px solid #ffffff18;text-align:center}.work-replay>div{max-width:620px;margin:0 auto 34px}.work-replay h3{margin-top:12px;font-size:clamp(30px,3.4vw,48px)!important}.work-replay p{max-width:480px;font-size:15px;color:#bbb;margin:14px auto 18px}.work-replay .work-demo{display:block;width:min(100%,1040px);margin:0 auto;border:1px solid #ffffff24;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.home-journey .arrival-stage,.home-journey .founder-photos{transform-style:preserve-3d;perspective:1300px}
.home-journey .hero-work,.home-journey .hero-portrait,.home-journey .hero-note,.home-journey .founder-photos figure{backface-visibility:hidden}
.home-journey .build-assembly{perspective:1000px;gap:10px;position:relative;max-width:370px;padding:20px 0 30px;margin-bottom:0}
.home-journey .build-assembly:before{content:'';position:absolute;left:23px;top:15px;bottom:25px;width:1px;background:linear-gradient(#9c30ff,#f0b429);opacity:.5;transform:scaleY(var(--assembly-fill,1));transform-origin:top center}
/* The dashed idle ring was replaced by the scroll-drawn gold progress ring. */
.site-journey .scene:not(.arrival):not(.closing-scene):before{transform:scaleX(var(--scene-divider,1));transform-origin:left center}
.home-journey .build-assembly>[data-assembly]{position:relative;min-height:62px;padding:18px 18px 18px 14px;background:linear-gradient(110deg,#211529,#100e13);box-shadow:0 15px 26px #0003;transform:none;z-index:1}
.home-journey .build-assembly>[data-assembly]:last-child{border-color:#f0b42988}.home-journey .week[data-active=true] .week-number{color:var(--accent-warm)}
.week-progress{display:none}.resolution-line{display:flex;align-items:center;gap:12px;max-width:400px;font-size:11px;letter-spacing:.08em;color:#bca4ce;margin:30px 0 0}.resolution-line i{height:1px;background:linear-gradient(90deg,#9c30ff,#f0b429);flex:1;transform-origin:left}.resolution-line strong{color:#f0b429;font-weight:500}
.home-journey .closing-work{mask-image:none;border-color:#9c30ff55;opacity:.5}.home-journey .closing-portrait{mask-image:none;opacity:.65}.home-journey .closing-baseline{color:#d5bded}.home-journey .closing-baseline span:last-child{color:var(--accent-warm)}
html.motion-enabled .home-journey .work-plane,html.motion-enabled .home-journey .work-camera{will-change:transform}
@media(min-width:701px){.work-story .journey-container{width:min(1320px,calc(100% - var(--journey-gutter)*2))}}
@media(min-width:701px) and (max-width:1000px){.work-layout{grid-template-columns:1.2fr 1fr;gap:28px}.work-plane{width:190px}.work-plane>img{height:95px!important}.review-composition{padding:13px;gap:10px}.review-composition img{width:55px;height:68px!important}.review-composition strong{font-size:21px}.plane-label{font-size:11px;padding:9px}.work-beat{padding-left:18px}.work-stage-shell>.eyebrow{font-size:11px}.work-replay{gap:35px}}
@media(max-width:700px){
.work-story{padding-bottom:50px}.work-story-intro{font-size:15px;margin-bottom:15px}.work-layout{display:block}.work-stage-shell{display:none}.work-beat{padding:26px 20px 28px;margin-bottom:20px}.work-beat h3{font-size:30px!important;max-width:310px;padding-right:52px}.work-beat p{font-size:14px;max-width:100%}.work-beat>.chapter-number{margin-bottom:13px}.beat-num{font-size:48px;top:18px;right:18px}.work-beats:before,.work-rail{left:-12px}
.work-beat .work-mini{display:block;margin-top:25px;height:295px;width:100%;border-radius:12px;border:1px solid #ffffff14;background:radial-gradient(ellipse at 50% 55%,#35174766,transparent 65%)}
.work-mini .work-orbit{width:58%;opacity:.7}
.work-mini .work-progress-ring{width:min(56%,240px)}
.work-mini .work-core-num{font-size:56px}
.work-mini .work-core-label{font-size:11px;letter-spacing:.18em;margin-top:8px}
.work-plane{width:210px;max-width:75%;box-shadow:0 18px 36px #0006}.work-plane>img{height:105px!important}.plane-label{font-size:11px;padding:9px 11px}.plane-caption{font-size:11px;padding:9px 11px}.review-composition{gap:15px;padding:15px}.review-composition img{width:58px;height:72px!important}.review-composition strong{font-size:22px}.specialist-chain{padding:23px 10px}.specialist-chain span{font-size:11px}.work-coordinate{font-size:11px;gap:9px;bottom:12px;left:12px;right:12px}
.work-mini .work-plane{display:none;transform:translate(-50%,-50%)}
.work-mini[data-pose="0"] .plane-context,.work-mini[data-pose="1"] .plane-brief,.work-mini[data-pose="2"] .plane-specialists,.work-mini[data-pose="3"] .plane-review{display:block;transform:translate(-57%,-100%) rotate(-6deg) scale(.84);z-index:1}
.work-mini[data-pose="0"] .plane-brief,.work-mini[data-pose="1"] .plane-specialists,.work-mini[data-pose="2"] .plane-review,.work-mini[data-pose="3"] .plane-output{display:block;transform:translate(-43%,-10%) rotate(3deg);z-index:2}
.work-replay{margin-top:15px;padding-top:35px;text-align:left}.work-replay>div{max-width:100%;margin-bottom:22px}.work-replay h3{font-size:30px!important}.work-replay p{font-size:14px;max-width:100%}.work-replay .work-demo{width:100%;border-radius:12px}.work-stage-note{font-size:11px!important;color:#988a9f!important;max-width:330px!important}
.home-journey .build-assembly{max-width:calc(100% - 30px);margin-bottom:40px}.home-journey .build-assembly>[data-assembly]{min-height:56px;font-size:11px;padding:15px;gap:18px}.week-progress{display:flex;gap:8px;margin-top:20px}.week-progress i{height:2px;flex:1;background:#ffffff20}.week-progress i.is-built{background:var(--purple-hover)}.week:last-child .week-progress i.is-built{background:var(--accent-warm)}
.home-journey .closing-work{left:-90px;bottom:90px;width:170px}.home-journey .closing-portrait{right:-32px;bottom:78px;width:118px}.home-journey .closing-copy{padding-bottom:85px}.home-journey .closing-copy em{white-space:nowrap}.home-journey .closing-baseline{font-size:11px;gap:8px}.resolution-line{font-size:11px;gap:8px}
}
@media(max-height:600px){.work-theatre{height:350px}.work-beat{min-height:240px}.work-theatre .work-coordinate{bottom:5px}}
@media(prefers-reduced-motion:reduce){
/* The JS gate in journey.js skips all GSAP work in setupConnectedScenes when
   prefers-reduced-motion matches, so work planes keep their static positioning
   transforms (those are layout, not motion). Only drop the GPU hints here. */
html:not(.motion-enabled) .work-plane,html:not(.motion-enabled) .work-camera{will-change:auto}
}
