/* WM-01 revision 04 — compositional and motion elevation over the preserved base. */
:root{--scene-top:52vh;--morph:0;--process:0;--strategy-pass:0;--copy-pass:0;--design-pass:0;--development-pass:0;--signal-color:#55c5c2}
.hero-story{height:460svh}.hero-pin{min-height:620px}.site-header{height:90px;padding:0 5vw}.brand-subtitle{letter-spacing:.09em;font-size:9px}
.environment{background:radial-gradient(ellipse at 78% 40%,#173d4655,transparent 54%),linear-gradient(125deg,#07090b 17%,#0c1419 65%,#0c191d)}
.atmosphere{inset:-20%;background:radial-gradient(ellipse at 69% 45%,#36828735,transparent 35%);animation:sculptural-light 18s ease-in-out infinite alternate}
.beam{left:67%;width:100vw;top:-112vh;filter:blur(28px);opacity:.48;background:linear-gradient(90deg,transparent 38%,#77acac13 48%,#55c5c22a 50%,transparent 60%)}.beam-two{left:39%;opacity:.2;width:75vw;transform:rotate(-48deg)}
.floor,.horizon{display:none}.depth-dust{position:absolute;inset:0;opacity:.2;background-image:radial-gradient(circle,#b4d2d299 .65px,transparent 1px),radial-gradient(circle,#a7b2b580 .7px,transparent 1.3px);background-size:221px 237px,359px 311px;background-position:19px 70px,100px 190px;mask-image:radial-gradient(ellipse at 74% 42%,black,transparent 57%);animation:dust-depth 28s ease-in-out infinite alternate}
.reveal-light{position:absolute;left:16%;right:8%;top:15%;bottom:4%;background:radial-gradient(ellipse,#389f9830,transparent 61%);opacity:calc(.12 + var(--ready)*.88);transform:scale(calc(.85 + var(--ready)*.3));filter:blur(22px)}
.intro{left:5vw;top:23%;width:40vw;max-width:560px}.intro .eyebrow{font-size:9px;letter-spacing:.16em}.intro h1{font-size:clamp(47px,4.45vw,76px);line-height:1.07;letter-spacing:-.062em;margin-top:25px}.intro-description{font-size:14px;line-height:1.8;max-width:395px;margin-top:26px}.hero-actions{gap:10px;margin-top:28px}.button{font-size:11px;min-height:50px;padding:0 20px;border-radius:3px}.intro-note{font-size:10px;margin-top:17px}
.stage-world{top:var(--scene-top);transform:translate(-50%,-50%) translateX(var(--scene-x));perspective:2000px;width:1200px;height:660px}
.world-float{perspective:2000px;animation:camera-drift 13s ease-in-out infinite alternate}
.machine-product{z-index:4;transform:translate(-50%,-50%) rotateX(calc(var(--rx) + var(--pointer-y))) rotateY(calc(var(--ry) + var(--pointer-x))) rotateZ(var(--rz));}
.product-shell{border-radius:calc(9px + var(--morph)*9px);border:1px solid #d7e4e056;box-shadow:0 0 1px #fff8,3px 4px 0 #3b545b,7px 9px 0 #1b323b,11px 14px 0 #102028,0 45px 90px #000c,inset 0 0 20px #fff1;transform:translateZ(calc(var(--morph)*23px));}
.product-shell::after{background:linear-gradient(135deg,#f2efe712,transparent 23%,transparent 80%,#55c5c20b);box-shadow:inset 0 1px 0 #fff6}.product-shadow{inset:0 -20px -45px;filter:blur(40px);opacity:.9}
.product-chrome{height:30px;background:linear-gradient(100deg,#223137,#111d22);border-bottom-color:#a7b2b536}.chrome-address{font-size:8px}.chrome-dots i{width:3px;height:3px}
.device-back{position:absolute;inset:0;border:1px solid #73b2b861;border-radius:12px;pointer-events:none;background:linear-gradient(100deg,#1a353a70,#172e3320);opacity:calc(var(--morph)*.8);transform:translate3d(calc(var(--morph)*-15px),calc(var(--morph)*15px),-35px)}
.back-two{transform:translate3d(calc(var(--morph)*-30px),calc(var(--morph)*30px),-70px);opacity:calc(var(--morph)*.35)}
.surface-reflection{position:absolute;inset:-10%;pointer-events:none;z-index:10;background:linear-gradient(112deg,transparent 35%,#c1e3da09 48%,#fff4d813 50%,transparent 60%);animation:surface-light 19s ease-in-out infinite}
.input{z-index:5;transform:none;opacity:1;will-change:transform,opacity;transform-origin:center;backface-visibility:hidden}.input-services{--ix:0!important;width:152px;padding:14px;border-top:1px solid #bad3d16b;background:linear-gradient(145deg,#26383aee,#111719bd);box-shadow:0 15px 40px #0004}.input-services strong{font-size:10px}.input-photos{margin:0;width:150px;height:115px;padding:4px;box-shadow:0 10px 26px #0009;background:#c7d5d1;overflow:hidden}.input-photos img{width:100%;height:calc(100% - 21px*(1 - var(--photo-merge,0)));object-fit:cover;object-position:70% center}.input-photos figcaption{opacity:calc(1 - var(--photo-merge,0));font-size:8px;padding:5px 4px 2px}
.input-area{width:115px;background:#17292ddd;padding:8px 10px}.input-area svg{width:95px;height:53px}.input-area .fragment-label{font-size:7px;margin-top:5px}.input-reviews{width:168px}.input-reviews p{font-size:10px}.input-trust{width:142px}.input-contact{width:139px;padding-right:0}.fragment-label{font-size:8px;letter-spacing:.13em}
.praxis-signal{position:absolute;left:-90px;top:-90px;width:calc(100% + 180px);height:calc(100% + 180px);overflow:visible;pointer-events:none;transform:translateZ(12px);z-index:6;fill:none;stroke:var(--signal-color);stroke-width:.85;transition:stroke 1s}.signal-bed{opacity:.25}.signal-flow{stroke-width:1.25;stroke-dasharray:95 1600;animation:signal-travel 16s linear infinite;filter:drop-shadow(0 0 3px #9bcfc845)}
.process-caption{position:absolute;left:0;top:-47px;display:flex;gap:12px;align-items:center;opacity:var(--process);transform:translateZ(12px);font-size:11px;white-space:nowrap}.process-caption>span{font-size:9px;color:var(--teal);letter-spacing:.08em}.process-caption strong{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:550}.process-caption i{font-style:normal;font-size:10px;color:var(--silver);padding-left:5px}
.process-glass{position:absolute;inset:30px 0 0;z-index:8;pointer-events:none;overflow:hidden}.strategy-grid{position:absolute;inset:7% 5% 8%;border:1px solid #82c7c65f;background:linear-gradient(90deg,transparent 39.8%,#82c7c658 40%,transparent 40.2%),linear-gradient(0deg,transparent 69.8%,#82c7c658 70%,transparent 70.2%);opacity:var(--strategy-pass);transform:scale(calc(.94 + var(--strategy-pass)*.06))}
.copy-pass{position:absolute;left:5%;top:26%;width:1px;height:43%;background:#d5e4dc;box-shadow:0 0 15px #bfd3d950;opacity:var(--copy-pass);transform:translateX(calc(var(--screen-scale)*700px*var(--copy-pass)))}
.design-pass{position:absolute;inset:0;background:linear-gradient(110deg,transparent 45%,#c7794320 50%,transparent 58%);opacity:var(--design-pass);transform:translateX(calc(-50% + var(--design-pass)*80%))}
.development-pass{position:absolute;inset:6px;border:1px solid #c7dbcc80;border-radius:3px;opacity:var(--development-pass);box-shadow:inset 0 0 35px #55c5c20e,0 0 15px #55c5c21a}
.story-heading{top:13%;z-index:8}.story-heading .eyebrow{font-size:9px;letter-spacing:.16em}.story-heading h2{font-size:clamp(27px,3.1vw,44px);line-height:1.1;letter-spacing:-.05em;margin-top:14px}
.product-caption{top:calc(100% + 16px);font-size:8px;opacity:calc(1 - var(--tools));padding:0 2px}.launch-mark{display:flex!important;top:calc(50% + var(--product-height)/2 + 33px);font-size:8px;letter-spacing:.14em;opacity:var(--ready);color:#adc4c3;pointer-events:none}.launch-mark i{font-size:9px;color:var(--amber)}
.product-tools{top:var(--tools-top);border:none;background:transparent;backdrop-filter:none;gap:12px;padding:0}.device-controls{border:1px solid #a7b2b52b;background:#12212880;border-radius:25px;padding:4px}.device-controls button{border-radius:50%;width:36px;height:34px}.device-controls button[aria-pressed=true]{background:#a7b2b525}.feature-tool{font-size:10px}.tools-separator{background:#a7b2b525}
.hero-bottom{left:5vw;right:5vw;bottom:3.4%}.chapter-nav{gap:23px}.chapter-nav button{font-size:10px;min-height:40px}.scene-caption strong{font-size:11px;font-weight:450}.scene-caption p{font-size:10px;max-width:260px;line-height:1.5}.scroll-cue{font-size:10px}.is-ready .world-float{animation-play-state:running}.is-ready .launch-mark{opacity:1}
@keyframes sculptural-light{from{opacity:.55;transform:translate(-2%,-1%) rotate(-3deg)}to{opacity:.95;transform:translate(2%,2%) rotate(2deg)}}
@keyframes camera-drift{from{translate:0 -4px;rotate:-.15deg}to{translate:0 4px;rotate:.15deg}}
@keyframes surface-light{0%,20%{transform:translateX(-90%)}80%,100%{transform:translateX(90%)}}
@keyframes signal-travel{from{stroke-dashoffset:120}to{stroke-dashoffset:-1580}}
@keyframes dust-depth{from{transform:translate(-3px,4px)}to{transform:translate(7px,-9px)}}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}
@media(max-width:1100px){
 .hero-pin{min-height:650px}.site-header{height:78px}.intro{left:7%;top:12%;width:86%;max-width:none;text-align:center}.intro .eyebrow{justify-content:center}.intro h1{font-size:53px;line-height:1.02;margin-top:18px}.intro h1 br:first-child{display:none}.intro-description{font-size:13px;line-height:1.65;max-width:540px;margin:19px auto 0}.hero-actions{justify-content:center;margin-top:20px}.intro-note{margin-top:12px}.story-heading{top:13%}.story-heading h2{font-size:37px}.product-caption{opacity:calc(1 - var(--tools))}.scene-caption{max-width:29%}.scene-caption p{display:none}.process-caption{top:-42px}
}
@media(max-width:600px){
 .hero-story{height:380svh}.hero-pin{min-height:640px}.site-header{height:68px;padding:0 22px}.intro{top:12%;left:24px;width:calc(100% - 48px);text-align:left}.intro .eyebrow{justify-content:flex-start;font-size:7px;letter-spacing:.14em}.intro h1{font-size:clamp(31px,8.9vw,41px);line-height:1.08;margin-top:17px}.intro h1 br:first-child{display:block}.intro-description{font-size:12px;line-height:1.65;margin:18px 0 0;max-width:330px}.hero-actions{justify-content:flex-start;gap:8px;margin-top:19px}.button{font-size:10px;min-height:45px;padding:0 13px;gap:12px}.button-secondary{gap:3px}.intro-note{font-size:9px;margin-top:13px}.story-heading{top:15%;padding:0 23px}.story-heading .eyebrow{font-size:7px}.story-heading h2{font-size:28px;max-width:325px;margin:13px auto 0}.input-trust,.input-area,.input-reviews,.input-contact{display:block}.input-trust{display:grid}.input-contact{display:flex}.input-area{width:90px}.input-area svg{width:68px;height:40px}.input-reviews{width:133px}.input-reviews p{font-size:9px}.input-reviews .empty-line{width:85px}.input-trust{width:119px;column-gap:6px}.input-trust p{font-size:8px}.input-contact{width:116px;gap:7px}.input-services{width:140px}.input-services strong{font-size:10px}.input[data-input="Reviews"],.input[data-input="Trust"],.input[data-input="Service Area"],.input[data-input="Contact"]{visibility:hidden}.show-secondary-inputs .input[data-input="Reviews"],.show-secondary-inputs .input[data-input="Trust"],.show-secondary-inputs .input[data-input="Service Area"],.show-secondary-inputs .input[data-input="Contact"]{visibility:visible}
 .product-shell{box-shadow:0 0 1px #fff6,2px 3px 0 #3b545b,5px 7px 0 #142e38,0 30px 70px #000c;border-radius:7px}.product-chrome{padding:0 10px}.chrome-address{font-size:7px}.process-caption{top:-40px;gap:9px}.process-caption strong{font-size:9px}.process-caption>span{font-size:8px}.process-caption i{display:none}.launch-mark{top:calc(50% + var(--product-height)/2 + 27px);font-size:6px;letter-spacing:.13em}.launch-mark i{margin:0 3px}.product-caption{display:none}.product-tools{gap:7px;padding:0;white-space:nowrap}.device-controls button{width:30px;height:30px}.device-controls button svg{width:14px}.feature-tool{font-size:9px;padding:10px 4px}.tools-separator{margin:0}.scene-caption{display:none}.hero-bottom{left:24px;right:24px;bottom:2%}.chapter-nav{gap:13px;margin-right:20px}.chapter-nav button{font-size:9px;min-height:40px}.scroll-cue{font-size:0}.reveal-light{left:-20%;right:-20%;top:20%}.depth-dust{opacity:.1}.beam{opacity:.35}.motion-control{width:30px;height:30px}.header-cta{font-size:10px}.header-actions{gap:12px}
}
@media(max-height:780px) and (min-width:1101px){.intro{top:22%}.intro h1{font-size:52px}.intro-description{font-size:12px;margin-top:21px;max-width:360px}.hero-actions{margin-top:22px}.intro-note{font-size:9px;margin-top:14px}.story-heading{top:13%}.story-heading h2{font-size:33px;margin-top:10px}.story-heading .eyebrow{font-size:8px}.process-caption{top:-35px}.hero-bottom{bottom:2.5%}.scene-caption strong{font-size:10px}.scene-caption p{font-size:9px}}
@media(max-height:780px) and (max-width:600px){.intro{top:12%}.intro h1{font-size:31px;margin-top:15px}.intro-description{font-size:11px;margin-top:15px}.hero-actions{margin-top:16px}.button{min-height:43px}.intro-note{display:none}.story-heading h2{font-size:25px}.story-heading{top:15%}.hero-bottom{bottom:1.5%}}
.reduced-scene .hero-story{height:100svh}.reduced-scene .story-heading,.reduced-scene .hero-bottom,.reduced-scene .process-caption,.reduced-scene .launch-mark{display:none}.reduced-scene .intro{opacity:1;transform:none}.reduced-scene .product-caption{opacity:1}.reduced-scene .product-tools{display:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.machine-product,.stage-world,.input{will-change:auto}}


/* Prevent focus navigation from scrolling the pinned stage internally. */
.hero-pin{overflow:clip}

.process-caption{top:8px!important;left:18px;z-index:12;gap:10px;transform:translateZ(30px)}
.process-caption i{font-size:8px}.process-caption strong{font-size:9px}.process-caption>span{font-size:8px}
.product-chrome .chrome-dots,.product-chrome .chrome-address{opacity:calc(1 - var(--process))}
.reduced-scene *,.reduced-scene *::before,.reduced-scene *::after{animation:none!important;transition:none!important}

.input-photos{padding:calc(4px*(1 - var(--photo-merge,0)))}
.input-photos img{object-position:center;filter:saturate(calc(1 - var(--photo-merge,0)*.85)) brightness(calc(1 - var(--photo-merge,0)*.3))}
.launch-mark{top:8px!important;left:50%;font-size:7px!important;transform:translateX(-50%);z-index:15;letter-spacing:.1em;white-space:nowrap}
.is-ready .chrome-address{opacity:0}.is-ready .chrome-dots{opacity:.4}
.hero-bottom{bottom:2%}
@media(max-width:600px){.hero-bottom{bottom:2%}.launch-mark{font-size:5px!important;letter-spacing:.06em}}

.is-ready .signal-flow{stroke:var(--amber)}
.motion-control:disabled{opacity:.5;cursor:default}
@media(min-width:601px) and (max-width:1100px){.intro h1 br:first-child{display:block}}
@media(max-height:780px) and (min-width:1101px){.story-heading{top:12%}.story-heading h2{font-size:31px}}
