/* Approved photographic scene and horizontal service journey. */
:root{--blue:#1d405b;--deep:#142d43;--bronze:#c69a76;--shine:#f4f7fa;--metal:#c69a76}
body{background:var(--deep)}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;text-transform:none;letter-spacing:-.025em;line-height:1.13}h1{font-size:clamp(44px,5vw,76px)}h2{font-size:clamp(34px,4vw,60px)}h3{font-size:28px}em{color:inherit}
.button{background:var(--bronze);border:1px solid #e3b997;position:relative;box-shadow:0 8px 22px #081b3045;isolation:isolate}.button:after{content:'';position:absolute;inset:-5px;border:1px solid #f4faff9c;box-shadow:0 0 5px #e8f5ff70;pointer-events:none}.button:hover{background:#dab28e}.text-link{color:var(--text);border-color:#eaf6ff9c}.site-header{background:#193e59}.site-header:after{width:45%;box-shadow:0 0 7px #f2f9ff}
.hero{height:220svh;min-height:0;background:radial-gradient(ellipse at 72% 58%,#456d87 0%,#203f58 42%,#142d43 78%)}.hero-stage{height:100svh;min-height:660px}.hero-world{background:none;transform:none;inset:0}.hero-copy{top:clamp(160px,25svh,250px);left:max(38px,calc((100vw - 1280px)/2));max-width:430px}.hero-copy h1{font-size:clamp(44px,5vw,76px)}.hero-copy p{font-size:16px;max-width:330px}.hero-copy .button{margin-top:6px}.scene-note{position:absolute;bottom:32px;right:36px;font-size:11px;color:#c5d7e4}.scroll-cue{bottom:34px}
.workshop-scene{position:absolute;width:min(79vw,1250px);aspect-ratio:1672/941;right:-2%;bottom:13%;transform:translate(var(--building-x,0px),var(--building-y,0px)) scale(var(--building-scale,1));transform-origin:60% 70%;will-change:transform;filter:drop-shadow(0 20px 25px #07182545)}.workshop{width:100%;height:100%;object-fit:contain}.van-occlusion{position:absolute;inset:0;clip-path:polygon(35% 37%,74% 41%,100% 40%,100% 100%,35% 100%)}.van-drive{position:absolute;width:44%;left:34%;top:43%;transform:translate(var(--van-x,0px),var(--van-y,0px)) scale(var(--van-scale,.77));transform-origin:0 50%;will-change:transform}.van-drive>img{width:100%;height:auto}.van-wheel{position:absolute;overflow:visible;fill:none;stroke:none}.van-wheel.rear{left:12.26%;top:68.86%;width:5.86%;height:18.28%}.van-wheel.front{left:53.29%;top:72.05%;width:9.81%;height:22.95%}.wheel-spin{transform:rotate(var(--wheel-angle,0rad));transform-origin:0 0}.garage-door{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:none;clip-path:inset(0 0 var(--door-cut,0%) 0);opacity:var(--door-opacity,1);pointer-events:none}
.service-journey{padding:0;height:340svh;position:relative;background:radial-gradient(ellipse at 50% 55%,#345b76,#142d43 73%)}.journey-stage{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden}.journey-stage>h2{position:absolute;top:125px;left:0;right:0;text-align:center;font-size:20px;letter-spacing:0;z-index:2;color:#c5d7e4}.service-track{height:100%;display:flex;width:300%;transform:translateX(var(--track-x,0px));will-change:transform}.service-slide{flex:0 0 33.333333%;height:100%;min-width:0;position:relative}.service-card{display:flex;flex-direction:column;align-items:center;border:0;box-shadow:none;aspect-ratio:auto;height:100%;width:100%;padding:185px 45px 75px;overflow:visible;perspective:none}.service-card:after{display:none}.service-heading{text-align:center;flex-shrink:0;max-width:780px}.service-heading h3{font-size:clamp(34px,3.7vw,58px);text-wrap:balance;max-width:24ch;margin:auto}.service-heading .text-link{margin-top:12px;font-size:14px;gap:12px}.service-card .motion-media{background:none;width:min(780px,70vw);height:calc(100% - 125px);margin-top:14px;overflow:visible}.motion-media img,.motion-media.is-visible img{animation:none!important;transform:none;filter:none;object-fit:contain}.service-card:hover img{filter:none}.journey-controls{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);width:min(650px,calc(100% - 48px));display:flex;align-items:center;gap:12px;z-index:3}.journey-controls button{width:44px;height:44px;border:1px solid transparent;background:transparent;display:grid;place-items:center;padding:0;border-radius:50%}.journey-controls button span{width:5px;height:5px;border-radius:50%;background:#96aebf}.journey-controls button[aria-pressed=true]{border-color:#eaf6ff7a}.journey-controls button[aria-pressed=true] span{background:white;box-shadow:0 0 8px white}.journey-controls a{margin-left:auto;display:flex;gap:12px;align-items:center;font-size:14px;text-decoration:none}
.service-visual{border:0;overflow:visible}.service-visual .motion-media{background:none}.service-visual img{object-fit:contain}.audience,.region,.contact,.service-section,.service-section:nth-of-type(odd){background:transparent}.section:not(.service-journey){border-top:1px solid #7894aa33}.process-list span{font-family:Georgia,serif;font-weight:400;color:var(--text)}.wizard:before{height:1px;top:-1px;background:white;box-shadow:0 0 7px #eaf7ff80}.wizard-top,.wizard-progress [aria-current],.upload-zone>span,.footer-name{color:var(--text)}.motion-toggle{bottom:12px;font-size:11px;right:14px;opacity:.85}
.hero-copy{max-width:370px}.hero-copy h1{font-size:clamp(44px,4.5vw,65px)}.workshop-scene{width:min(71vw,1150px);right:-1%;bottom:8%}.van-drive{top:44%;left:31%;width:52%;filter:drop-shadow(0 8px 4px #07182570)}.scene-note{bottom:66px}
/* When animation is paused or unavailable, every service remains accessible. */
body.motion-paused .hero{height:100svh;min-height:660px}body.motion-paused .hero-stage{position:relative}body.motion-paused .service-journey{height:auto}body.motion-paused .journey-stage{height:auto;position:relative;overflow:visible}body.motion-paused .journey-stage>h2{position:relative;top:auto;padding-top:100px}body.motion-paused .service-track{width:100%;display:block;transform:none!important}body.motion-paused .service-slide{height:90svh;min-height:620px}body.motion-paused .service-card{padding-top:65px}body.motion-paused .journey-controls{display:none}
@media(max-width:1000px){.hero-copy{left:30px;max-width:360px}.workshop-scene{width:88vw;right:-13%;bottom:15%}.hero-copy h1{font-size:56px}}
@media(max-width:760px){.hero{height:210svh}.hero-stage{min-height:660px}.hero-copy{left:24px;right:24px;top:120px;max-width:none}.hero-copy h1{font-size:clamp(38px,10vw,49px);line-height:1.08}.hero-copy p{font-size:14px;max-width:320px;margin:16px 0 22px}.hero-copy .button{font-size:12px;min-height:44px;padding:11px 16px}.workshop-scene{width:112%;right:-5%;bottom:13%;}.scroll-cue{left:24px;bottom:39px;font-size:11px}.scene-note{right:22px;bottom:65px;font-size:10px}.service-journey{height:330svh}.journey-stage{min-height:610px}.journey-stage>h2{top:113px;font-size:16px}.service-card{padding:174px 20px 83px}.service-heading h3{font-size:clamp(29px,8.1vw,40px);max-width:20ch;line-height:1.13}.service-heading .text-link{margin-top:17px;font-size:13px}.service-card .motion-media{width:110%;height:calc(100% - 145px);margin-top:20px}.journey-controls{bottom:40px}.hero-copy{opacity:var(--copy-opacity,1)}.page-intro h1,.legal h1{font-size:45px}.service-intro h2{font-size:36px}.footer-name{font-size:34px}.motion-toggle{bottom:7px;font-size:10px;padding:6px 8px}.section{padding:85px 0}}
@media(max-width:760px){.workshop-scene{width:100%;right:0;bottom:17%}}
@media(prefers-reduced-motion:reduce){.hero{height:100svh;min-height:660px}.hero-stage{position:relative}.service-journey{height:auto}.journey-stage{height:auto;position:relative;overflow:visible}.journey-stage>h2{position:relative;top:auto;padding-top:100px}.service-track{width:100%;display:block;transform:none!important}.service-slide{height:90svh;min-height:620px}.service-card{padding-top:65px}.journey-controls{display:none}.workshop-scene{transform:none}.garage-door{opacity:0}.van-drive{transform:translate(10%,7%) scale(1)}}
/* Approved September 20 revision: floating navigation, reversible door, luminous cards. */
:root{--blue:#102f61;--deep:#07172f;--field:#102849;--muted:#bdcde5}
body{background:#07172f}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{background:transparent;border:0;box-shadow:none;padding-left:0;pointer-events:none}
.site-header>*{pointer-events:auto}
.site-header:after{display:none}
.brand{overflow:hidden;background:transparent;border:1px solid #f1f8ff;box-shadow:0 0 6px #fff9,0 0 17px #c5e5ff45}
.workshop{opacity:var(--workshop-opacity,0)}.van-occlusion{opacity:var(--van-opacity,0)}
.logo-crop{overflow:hidden}
.logo-crop img{filter:url(#logo-transparent)}
.logo-filters{position:absolute}
.site-header nav a{text-shadow:0 2px 8px #000,0 0 5px #eaf4ff38}
.nav-cta:after{display:none}
.site-header .motion-toggle{position:static;padding:5px 0;background:transparent;border:0;font-size:11px;color:#bdcde5;opacity:1}
.hero{height:310svh;background:radial-gradient(ellipse at 53% 51%,#1b4380 0%,#0b2450 43%,#07172f 78%)}
.hero-stage{min-height:620px}
.hero-world{background:none}
.workshop-scene{width:min(108vw,1500px);right:calc((100% - min(108vw,1500px))/2);bottom:9%;transform-origin:55% 63%}
.hero-road{position:absolute;left:14%;right:-20%;bottom:0;height:38%;background:linear-gradient(165deg,transparent 7%,#65707e38 38%,#263c6038 64%,transparent 85%);transform:rotate(9deg);filter:blur(12px);mask-image:linear-gradient(90deg,transparent,#000 30%,#000 68%,transparent)}
.service-journey{background:radial-gradient(ellipse at 50% 48%,#153669,#07172f 76%);height:360svh}
.journey-stage>h2{top:120px;font-size:clamp(32px,3.8vw,54px);color:#f5f8ff;text-shadow:0 0 12px #eaf4ff50;margin:0}
.service-slide{display:flex;align-items:center;justify-content:center;padding:205px 36px 65px;perspective:1400px}
.service-card{width:min(840px,100%);height:min(570px,100%);padding:36px 32px 22px;background:linear-gradient(145deg,#173a70,#0c2348 65%,#091d3b);border:1px solid #bc9069;border-radius:3px;box-shadow:inset 0 1px 1px #ffe0bcb3,inset 0 0 25px #ba845512,0 0 13px #c4936550,0 22px 60px #0006;transform:rotateY(var(--card-rotate,0deg)) scale(var(--card-scale,1));overflow:hidden}
.service-card:before{content:'';position:absolute;inset:5px;border:1px solid #ca9b6b35;pointer-events:none}
.service-heading h3{font-size:clamp(28px,3.1vw,43px);color:#f4f8ff;text-shadow:0 0 9px #e5f3ff4a}
.service-card .motion-media{width:min(440px,68%);height:calc(100% - 85px);margin-top:17px;flex:1;min-height:0}
.service-card .motion-media img,.service-card:hover img{filter:brightness(.88) contrast(.88) saturate(.86)}
.service-card:focus-visible{outline:3px solid #fff;outline-offset:8px}
.footer{background:#061329}
.wizard{background:#102e57}
.field input,.field select,.field textarea{background:#0b2244}
body.motion-paused .service-slide{padding:50px 24px;min-height:560px}
body.motion-paused .service-card{transform:none;padding:30px}
@media(max-width:1000px){.site-header{gap:22px}.site-header nav{gap:18px}.site-header .motion-toggle{max-width:75px;line-height:1.3}.workshop-scene{width:115vw;right:-7.5%}}
@media(max-width:760px){.site-header{width:calc(100% - 36px);padding:7px 0;gap:13px}.brand{width:91px}.site-header nav{background:#0b2348;box-shadow:0 18px 35px #0007}.site-header .motion-toggle{max-width:none;padding:15px 0;text-align:left}.nav-cta{font-size:11px;padding:10px}.menu-toggle{border-color:#c8dafa70;background:#0a204566}.hero{height:290svh}.hero-stage{min-height:580px}.workshop-scene{width:155vw;right:-27.5%;bottom:25%;transform-origin:55% 63%}.hero-road{bottom:10%;left:-30%;height:32%}.journey-stage>h2{top:119px;font-size:31px;padding:0 20px;line-height:1.15}.service-slide{padding:215px 23px 75px}.service-card{height:min(480px,100%);padding:30px 20px 20px}.service-heading h3{font-size:27px;line-height:1.15}.service-card .motion-media{width:90%;height:calc(100% - 110px);margin-top:18px}.service-journey{height:340svh}}
@media(prefers-reduced-motion:reduce){.hero{height:100svh;min-height:580px}.service-journey{height:auto}.service-slide{padding:45px 24px;min-height:560px}.service-card{transform:none}.journey-stage>h2{top:auto}.workshop-scene{transform:none}.garage-door{display:none}}
/* Full-viewport shutter, no exterior building; approved correction. */
.brand{border:0;box-shadow:none;overflow:visible}
.logo-crop{width:112px;height:63px;left:0;top:0;overflow:hidden;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 5px #ffffff8c)}
.logo-crop img{width:149px;height:100px;position:absolute;left:-18px;top:-18px}
.hero-stage{min-height:0}
.hero-world{inset:0}
.workshop-scene{inset:0;width:100%;height:100%;aspect-ratio:auto;transform:none;filter:none}
.garage-interior{position:absolute;inset:0;background:radial-gradient(ellipse at 48% 65%,#183564,#050f24 72%)}
.garage-wall{position:absolute;inset:0;border:12px solid #e4e5e6;border-top-width:10px;border-bottom:0;box-shadow:inset 0 0 0 5px #242b39,inset 0 12px 28px #000b;pointer-events:none;opacity:var(--wall-opacity,1)}
.garage-door{position:absolute;inset:10px 17px 0;width:auto;height:auto;opacity:1;clip-path:none;transform:translateY(var(--door-lift,0%));background:repeating-linear-gradient(180deg,#a5abb2 0px,#c1c6cd 2px,#8a929e 5px,#858e9b 65px,#555f6d 68px,#333d4a 70px);box-shadow:0 12px 30px #0009;will-change:transform}
.door-sheen{position:absolute;inset:0;background:linear-gradient(105deg,#17253745,transparent 25%,#eff4fa30 47%,transparent 69%,#16243a55);box-shadow:inset 0 8px 14px #0007,inset 5px 0 12px #0005}
.door-logo{position:absolute;left:50%;top:50%;width:min(470px,50vw);height:auto;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 1px #f1f4f730)}
.door-handle{position:absolute;bottom:55px;left:calc(50% - 32px);width:64px;height:12px;border-radius:3px;background:linear-gradient(#485362,#162334);box-shadow:0 1px 2px #e8eefb99}
.van-occlusion{clip-path:none;opacity:1;z-index:0}
.van-drive{width:min(86vw,1100px);left:calc(50% - min(86vw,1100px)/2);top:auto;bottom:10%;transform:translate(var(--van-x,0px),var(--van-y,0px)) scale(var(--van-scale,.66));transform-origin:50% 80%}
.hero-road{z-index:1;pointer-events:none;left:20%;right:-20%;bottom:-5%;height:36%;background:linear-gradient(170deg,transparent 10%,#7d91ac22 43%,#7189ac19 65%,transparent 85%);filter:blur(15px)}
.site-header nav a{color:#fff;text-shadow:0 1px 3px #000,0 0 9px #07172f}
.journey-stage>h2{top:50%;transform:translateY(calc(-50% + var(--title-y,0px)));font-size:clamp(40px,5.3vw,76px);opacity:var(--title-opacity,1);padding:0 25px;pointer-events:none}
.service-track{opacity:var(--objects-opacity,0)}
.service-slide{padding:135px 36px 65px}
.service-card{background:transparent;border-radius:0;width:min(740px,100%);height:min(540px,100%);border:1px solid #d4a272;border-top-color:#fff;box-shadow:0 -3px 9px -3px #fff,0 0 15px #be874d77;overflow:visible}
.service-card:before{inset:-1px -1px auto;height:1px;border:0;background:#fff;box-shadow:0 0 5px #fff,0 0 12px #e6f0ff}
.service-card .motion-media{width:min(380px,64%);height:calc(100% - 85px)}
.service-heading h3{font-size:clamp(27px,2.9vw,39px)}
body.motion-paused .journey-stage>h2{transform:none;opacity:1}
body.motion-paused .service-track{opacity:1}
@media(max-width:760px){.logo-crop{width:91px;height:52px;top:0}.logo-crop img{width:122px;height:82px;left:-15px;top:-15px}.garage-wall{border-width:7px;border-bottom:0}.garage-door{inset:7px 11px 0;background-size:auto 55px}.door-logo{width:70vw}.van-drive{width:115vw;left:-7.5%;bottom:24%}.hero-road{left:-10%;right:-40%;bottom:10%;height:30%}.journey-stage>h2{font-size:clamp(38px,10vw,50px);top:50%;padding:0 25px}.service-slide{padding:135px 27px 70px}.service-card{padding:28px 18px 20px;height:min(460px,100%)}.service-heading h3{font-size:26px}.service-card .motion-media{width:86%}.hero{height:290svh}}
@media(prefers-reduced-motion:reduce){.journey-stage>h2{position:relative;top:auto;transform:none;opacity:1}.service-track{opacity:1}.garage-door{display:none}.van-drive{transform:scale(.8)}}
/* Compact reference menu and continuous patterned blue canvas. */
body{background-color:#07172f;background-image:repeating-linear-gradient(125deg,transparent 0px,transparent 8px,#a7c6ff06 8px,#a7c6ff06 9px),radial-gradient(ellipse at 50% 45%,#16315f 0%,#07172f 75%);background-attachment:fixed}
.hero,.service-journey,.audience,.region,.contact,.service-section,.service-section:nth-of-type(odd){background:transparent}
.hero-world{background:transparent}
.site-header{position:fixed;left:auto;right:28px;top:22px;transform:none;width:265px;height:auto;padding:0;display:flex;flex-direction:column;align-items:stretch;gap:0;pointer-events:auto}
.menu-toggle,.floating-request{background:repeating-linear-gradient(115deg,transparent 0 5px,#ffffff04 5px 6px),linear-gradient(135deg,#1c3d67,#0a2345);border:1px solid #ae825c;border-top:1px solid #efc294;border-radius:9px;color:#fff;box-shadow:0 -3px 12px -4px #efb477,0 8px 22px #0005;text-shadow:0 0 5px #fff3}
.site-header .menu-toggle{display:flex;width:100%;height:47px;font:600 15px Georgia,serif;letter-spacing:.13em;text-transform:uppercase;align-items:center;justify-content:center}
.site-header nav{display:none;position:static;flex-direction:column;align-items:stretch;gap:0;padding:12px 19px 16px;background:repeating-linear-gradient(115deg,transparent 0 5px,#ffffff04 5px 6px),linear-gradient(135deg,#183862,#091e3c);border:1px solid #b6886066;border-top:0;border-radius:0 0 9px 9px;box-shadow:0 18px 28px #0006}
.site-header.menu-open .menu-toggle{border-radius:9px 9px 0 0}
.site-header.menu-open nav{display:flex}
.site-header nav a{font:600 14px/1.5 Georgia,serif;letter-spacing:.09em;text-transform:uppercase;text-align:center;padding:13px 0;text-decoration:none;border-bottom:1px solid #bccce513;color:#eff6ff;text-shadow:none}
.site-header nav a:hover{color:#edc39b}
.site-header .motion-toggle{max-width:none;text-align:center;padding:16px 0 0;font-size:12px;cursor:pointer}
.floating-request{position:fixed;z-index:40;right:28px;bottom:24px;min-height:49px;padding:13px 21px;font-size:14px}
.floating-request:after{display:none}
.floating-request:hover,.menu-toggle:hover{background-color:#214773;color:white}
.garage-interior,.garage-wall{transform:translate(var(--portal-x,0%),var(--portal-y,0%)) scale(var(--portal-scale,1));transform-origin:48% 55%;will-change:transform}
.garage-interior{inset:0;background:radial-gradient(ellipse at 50% 70%,#13233c,#030811 75%);box-shadow:inset 0 0 55px #000}
.garage-wall{opacity:1;border-width:var(--wall-width,12px);border-bottom-width:0;border-color:#d9dde2;background:linear-gradient(90deg,#ffffff10,transparent);box-shadow:inset 0 0 0 5px #333d4a,0 4px 18px #0004}
.hero-road{z-index:0;left:15%;right:-25%;bottom:-4%;height:44%;background:linear-gradient(155deg,transparent 10%,#7893b322 40%,#7289a923 63%,transparent 86%);mask-image:linear-gradient(180deg,transparent,#000 35%,#000 65%,transparent);filter:blur(13px)}
.van-occlusion{z-index:2}
.garage-wall{z-index:1}
.garage-door{z-index:3}
.workshop-scene{mask-image:linear-gradient(180deg,#000 0%,#000 92%,transparent 100%)}
.service-more{display:inline-flex;align-items:center;gap:10px;margin-top:15px;padding:8px 14px;border:1px solid #c99b7280;border-radius:5px;color:#f7fbff;font:14px Outfit,Arial,sans-serif}
.service-more svg{width:17px;height:17px}
.service-card:hover .service-more{background:#c69a7626;border-color:#eac099}
.service-card .motion-media{height:calc(100% - 125px)}
@media(max-width:760px){.site-header{width:200px;right:18px;top:16px}.site-header .menu-toggle{height:44px}.site-header nav a{font-size:13px}.floating-request{right:18px;bottom:max(16px,env(safe-area-inset-bottom));min-height:46px;padding:12px 16px;font-size:13px}.hero-road{left:-15%;right:-55%;bottom:7%;height:38%}.service-more{font-size:12px;margin-top:12px}.service-card .motion-media{height:calc(100% - 145px)}}
/* Reference-based garage photograph: revealed only behind the opening shutter. */
.site-header{width:190px}
.site-header .menu-toggle{height:40px;font-size:13px;letter-spacing:.1em}
.site-header.menu-open{width:265px}
.garage-interior,.garage-wall,.hero-road{display:none}
.garage-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%;transform:translateY(var(--camera-y,0%)) scale(var(--camera-scale,1.7));transform-origin:50% 57%;will-change:transform;mask-image:linear-gradient(180deg,#000 0%,#000 88%,transparent 100%)}
.van-drive{width:min(62vw,1000px);left:calc(50% - min(62vw,1000px)/2);bottom:30%;filter:drop-shadow(0 12px 7px #03091599)}
.garage-door{inset:10px 17px 0}
.workshop-scene{mask-image:linear-gradient(180deg,#000 0%,#000 94%,transparent 100%)}
@media(max-width:760px){.site-header{width:140px}.site-header.menu-open{width:220px}.site-header .menu-toggle{height:38px;font-size:12px}.garage-photo{inset:auto;top:19%;left:-30%;width:160%;height:70%;object-fit:cover;object-position:50% 65%;transform-origin:50% 52%;mask-image:linear-gradient(180deg,transparent,#000 10%,#000 85%,transparent)}.van-drive{width:110vw;left:-5%;bottom:31%}.garage-door{inset:7px 11px 0}}
@media(prefers-reduced-motion:reduce){.garage-photo{transform:none}.van-drive{transform:scale(.8)}}
.garage-photo{max-width:none}
/* Approved sky-free workshop, separate warm-lit van, restrained foliage movement. */
.landscape-plane{position:absolute;inset:0;transform:translateY(var(--camera-y,0%)) scale(var(--camera-scale,1.28));transform-origin:38% 60%;will-change:transform;mask-image:linear-gradient(180deg,#000 0%,#000 89%,transparent)}
.landscape-image,.plant-wind{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 60%}
.plant-wind{pointer-events:none;animation:foliage-breeze 6s ease-in-out infinite alternate;animation-play-state:paused}
.plant-right{clip-path:polygon(84% 0,100% 0,100% 70%,85% 68%,77% 45%);transform-origin:96% 68%}
.plant-left{clip-path:polygon(0 0,4% 0,4% 45%,15% 50%,15% 64%,0 76%);transform-origin:8% 69%;animation-delay:-2s}
.wind-active .plant-wind{animation-play-state:running}
@keyframes foliage-breeze{from{transform:skewX(-.25deg) rotate(-.12deg)}to{transform:skewX(.3deg) rotate(.14deg)}}
.van-wheel.rear{left:24.46%;top:65.25%;width:4.07%;height:11.05%}
.van-wheel.front{left:58.13%;top:70.67%;width:5.98%;height:14.88%}
.van-drive{bottom:26%;left:calc(43% - min(62vw,1000px)/2)}
@media(max-width:760px){.landscape-plane{inset:18% -28% 4%;transform-origin:38% 60%;mask-image:linear-gradient(180deg,transparent,#000 8%,#000 85%,transparent)}.landscape-image,.plant-wind{object-fit:cover;object-position:42% 60%}.van-drive{left:-17%;bottom:28%}}
@media(prefers-reduced-motion:reduce){.plant-wind{animation:none}.landscape-plane{transform:none}}
body.motion-paused .plant-wind{animation-play-state:paused}
/* Van and workshop share one calibrated ground plane and camera. */
.landscape-plane{inset:auto;left:0;top:0;width:var(--scene-width,100vw);height:auto;aspect-ratio:1672/941;transform:translate(var(--scene-x,0px),var(--scene-y,0px)) scale(var(--scene-zoom,1)) scaleY(var(--scene-stretch-y,1));transform-origin:0 0;mask-image:linear-gradient(180deg,#000 0%,#000 90%,transparent)}
.landscape-image,.plant-wind{width:100%;height:100%;object-fit:fill;object-position:initial}
.landscape-plane .van-occlusion{position:absolute;inset:0;opacity:1;overflow:visible;clip-path:none}
.landscape-plane .van-drive{position:absolute;left:0;top:0;bottom:auto;width:100%;height:auto;transform:translate(var(--vehicle-x,0px),var(--vehicle-y,0px)) scale(var(--vehicle-scale,.40));transform-origin:0 0;filter:none;isolation:isolate}
@media(max-width:760px){.landscape-plane .van-drive{transform:translate(var(--vehicle-x,0px),var(--vehicle-y,0px)) scale(var(--vehicle-scale,.40)) scaleX(1.2)}}
.van-drive::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 5.5% 1.7% at 26.5% 78.6%,#100f10ed 15%,#151316a6 48%,transparent 100%),radial-gradient(ellipse 7% 2% at 61.1% 88.2%,#100f10f2 15%,#151316a6 48%,transparent 100%),radial-gradient(ellipse 5% 1.8% at 86% 85.5%,#100f10cc 15%,transparent 100%)}
.van-drive::after{content:"";position:absolute;left:24%;top:75%;width:64%;height:13%;z-index:-2;background:radial-gradient(ellipse,#12111bd1 0%,#15121c8c 43%,#15121c33 65%,transparent 75%);transform:rotate(7deg);filter:blur(7px);transform-origin:15% 50%;pointer-events:none}
.landscape-plane .van-drive>img{width:100%;height:auto;display:block}
.landscape-plane .van-drive>img,.van-drive .van-wheel{filter:brightness(var(--vehicle-light,1))}
/* Approved silver scene: quiet light, bronze foliage, clear pattern-free blue. */
.hero-stage{background:radial-gradient(ellipse at 65% 38%,#285687 0%,#17365d 53%,#07172f 100%)}
.hero-world{background:transparent}
.landscape-plane{mask-image:linear-gradient(180deg,#000 0%,#000 86%,transparent 100%)}
.plant-left{clip-path:polygon(0 0,8.6% 0,8% 28%,6% 45%,10% 70%,22% 100%,0 100%);transform-origin:0 88%;animation-duration:8s;z-index:3}
.plant-right{clip-path:polygon(51% 0,100% 0,100% 44.5%,69% 44.5%,68% 24%,51% 13%);transform-origin:75% 42%;animation-duration:10s;animation-delay:-3s}
.van-wheel.rear{left:19.20%;top:62.17%;width:3.59%;height:9.78%}
.van-wheel.front{left:49.34%;top:68.23%;width:5.26%;height:13.82%}
.van-drive::before,.van-drive::after{display:none}
.van-drive>img{transform-origin:50% 84%}
.van-touch{position:absolute;left:16%;top:25%;width:66%;height:59%;border:0;background:transparent;padding:0;border-radius:0;box-shadow:none;cursor:pointer}
.van-touch:disabled{cursor:default}
.van-touch:focus-visible{outline:2px solid #c69a76;outline-offset:8px}
@media(prefers-reduced-motion:reduce){.landscape-plane{transform:translate(var(--scene-x,0px),var(--scene-y,0px)) scale(var(--scene-zoom,1)) scaleY(var(--scene-stretch-y,1))}}
/* One-shot hero: first downward gesture runs the full 3.6-second departure. */
html.hero-playing{overflow:hidden;overscroll-behavior:none}
body .hero{height:auto;min-height:0;aspect-ratio:1672/941}
body .hero-stage{height:100%;min-height:0;aspect-ratio:1672/941;position:relative;overflow:hidden}
body .hero .workshop-scene{inset:0;width:100%;height:100%;aspect-ratio:auto;transform:none;mask-image:none;filter:none}
body .hero .landscape-plane{mask-image:none}
body .hero .garage-door{inset:0 5px;background:repeating-linear-gradient(180deg,#344554 0px,#485968 2px,#182b3b 5px,#203242 69px,#102231 72px,#0c1a27 75px);box-shadow:inset 0 0 65px #07131d77,0 12px 25px #0008;border:1px solid #496073}
body .hero .door-sheen{background:linear-gradient(115deg,transparent 15%,#b1c6cf10 44%,transparent 70%)}
body .hero .door-handle{background:linear-gradient(#7a8790,#283948);border:1px solid #9da7ad55}
.hero-next{position:absolute;z-index:8;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);width:54px;height:54px;border-radius:50%;border:1px solid #f7f5e9;background:#142b43d9;color:#fff;box-shadow:0 0 12px #fff4,0 8px 22px #0005;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .35s}
.hero-next svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7}
.hero-finished .hero-next{opacity:1;visibility:visible}
.hero-next:focus-visible{outline:3px solid #e3bb88;outline-offset:5px}
@media(prefers-reduced-motion:reduce){.hero-next{transition:none}}
@media(max-width:760px){.hero-next{width:40px;height:40px;bottom:8px}.hero-next svg{width:23px;height:23px}}
/* Full-height composition: bronze canopy, untouched workshop projection,
   extended navy paving. Only environment layers flex with viewport height. */
body .hero,body .hero-stage{height:100svh;min-height:0;aspect-ratio:auto}
body .hero-stage{background:#07172f}
body .hero .hero-world{background:radial-gradient(ellipse at 55% 30%,#244d77 0%,#122f51 45%,#07172f 80%)}
body .hero .workshop-scene::before{content:"";position:absolute;inset:var(--floor-top,55%) 0 0;background:linear-gradient(to bottom,#07172f00 0%,#07172f44 55%,#07172f 100%),url('/assets/hero-paving.webp') center top/100% 100% no-repeat;pointer-events:none}
body .hero .landscape-image,body .hero .plant-wind{mask-image:linear-gradient(to bottom,#000 0%,#000 76%,transparent 100%)}
body .hero .landscape-plane::after{content:"";position:absolute;inset:64% 0 0;background:linear-gradient(to bottom,transparent,#07172f99 62%,#07172f00);pointer-events:none;z-index:1}
body .hero .hero-world::after{content:"";position:absolute;inset:0 0 auto;height:var(--canopy-height,30%);background:url('/assets/hero-canopy.webp') center top/100% 100% no-repeat;mask-image:linear-gradient(#000 60%,transparent);pointer-events:none;opacity:0;transform-origin:top center;animation:canopy-breeze 10s ease-in-out infinite alternate;animation-play-state:paused;transition:opacity .7s}
body .hero-finished .hero-world::after,body .hero.wind-active .hero-world::after{opacity:.85}
body .hero.wind-active .hero-world::after{animation-play-state:running}
body .hero .hero-stage::after{content:"";position:absolute;inset:auto 0 0;height:14%;background:linear-gradient(transparent,#07172f);pointer-events:none;z-index:5}
.hero-next{bottom:max(30px,env(safe-area-inset-bottom));width:48px;height:48px}
@keyframes canopy-breeze{from{transform:rotate(-.25deg)}to{transform:rotate(.25deg)}}
body .hero .hero-world::after{background-size:100% auto}
@media(prefers-reduced-motion:reduce){body .hero .hero-world::after{animation:none;transition:none;opacity:.85}}
body.motion-paused .hero .hero-world::after{animation-play-state:paused;opacity:.85}
/* The shutter is now part of the calibrated workshop, never a viewport overlay. */
.garage-assembly{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:var(--portal-layer,4);pointer-events:none}
body .hero .garage-assembly .garage-door{transform:none;opacity:1;clip-path:none;background:none;border:0;box-shadow:none}
body .hero .hero-world::after{opacity:1;filter:brightness(.85) saturate(.78);height:calc(var(--scene-y,0px) + 35vw);background-size:100% 100%;mask-image:linear-gradient(#000 75%,transparent)}
body .hero .hero-world::after{z-index:0}
body .hero .workshop-scene{z-index:1}
@media(prefers-reduced-motion:reduce){body .hero .garage-assembly .garage-door{display:none}}
/* Original full-screen opening, neutral silver material and original badge. */
body .hero .hero-shutter{position:absolute;inset:0;z-index:7;opacity:1;clip-path:none;border:0;background:linear-gradient(115deg,#b7c0c9,#8d99a5 46%,#bac2ca 78%,#8894a0);box-shadow:inset 18px 0 28px #18263366,inset -18px 0 28px #18263366,inset 0 18px 24px #f3f7fa24,inset 0 -24px 34px #18263388,0 18px 34px #000b;overflow:hidden;will-change:transform;perspective:900px}
body .hero .hero-shutter::before{content:"";position:absolute;inset:0 0 auto;height:22px;background:linear-gradient(180deg,#eef3f6,#74818d 42%,#263746 48%,#0b1721);box-shadow:0 9px 16px #07131db3;z-index:2}
body .hero .hero-shutter::after{content:"";position:absolute;inset:22px 0 0;pointer-events:none;background:linear-gradient(90deg,#101d29cc 0,#77838e33 2.4%,transparent 5%,transparent 95%,#77838e33 97.6%,#101d29cc 100%);box-shadow:inset 12px 0 18px #08131d99,inset -12px 0 18px #08131d99}
.shutter-panels{position:absolute;inset:22px 14px 12px;border:4px solid #52606d;transform:translateZ(-8px);box-shadow:inset 0 3px 2px #f4f7fa,inset 0 -4px 5px #263746,inset 10px 0 14px #26374655,inset -10px 0 14px #26374655,0 0 0 5px #1a2a37,0 9px 18px #07131d99;background:repeating-linear-gradient(to bottom,#f4f7fa45 0px,#d2d9df2b 3px,#9da8b222 8px,transparent 13px,transparent 70px,#263847aa 76px,#edf2f599 80px,#6d7a8644 86px)}
.shutter-logo{position:absolute;width:min(540px,76vw);height:auto;left:50%;top:46%;transform:translate(-50%,-50%);overflow:visible}
.shutter-handle{position:absolute;left:47%;width:6%;height:9px;top:77%;border-radius:3px;background:linear-gradient(#c4cdd4,#384956);box-shadow:0 1px 2px #edf1f7}
.shutter-logo{overflow:hidden}
/* Fade only the foliage corner; keep architectural edges crisp. */
body .hero .landscape-image{mask-image:linear-gradient(to bottom,#000 76%,transparent 100%),linear-gradient(to right,transparent,#000 12%),linear-gradient(to bottom,transparent,#000 18%);mask-composite:intersect,add}
body .hero .plant-left{display:none}
body .hero .hero-world::after{z-index:2;filter:brightness(.98) saturate(.84);mask-image:linear-gradient(#000 60%,transparent 100%)}
@media(prefers-reduced-motion:reduce){body .hero .hero-shutter{display:none}}
.hero-slogan{position:absolute;z-index:9;left:50%;bottom:105px;margin:0;text-align:center;box-sizing:border-box;border-radius:18px}
.hero-slogan::after{content:"";position:absolute;pointer-events:none}
/* Georgia brand sequence: one finite reveal after the van, shared site colours. */
body .hero-slogan{width:min(650px,88%);min-height:224px;padding:27px 30px;background:#07172fe8;font-family:Georgia,'Times New Roman',serif;border:0;box-shadow:0 14px 32px #0006;opacity:1;visibility:visible;transform:translate(-50%,0)}
body .hero-slogan::after{inset:0;border:1px solid var(--text);border-radius:18px;box-shadow:0 0 6px #f4f7ff88,inset 0 0 6px #f4f7ff22;transform-origin:left;animation:none}
body .hero-slogan span{display:block;margin:0;color:var(--bronze);background:none;-webkit-text-fill-color:currentColor;filter:none;font:400 clamp(30px,3.2vw,44px)/1.04 Georgia,'Times New Roman',serif;letter-spacing:-.025em;animation:none;opacity:1;text-wrap:balance}
body .hero-slogan span+span{margin-top:12px}
body .hero-slogan strong{display:block;margin:24px 0 0;color:var(--text);font:600 clamp(21px,2.2vw,28px)/1.2 Outfit,Arial,sans-serif;letter-spacing:.012em;animation:none;opacity:1;text-wrap:balance}
.slogan-logo{display:block;width:76px;height:45px;margin:8px auto 0;opacity:1}
@media(min-width:1000px) and (min-height:601px){body .hero-slogan{bottom:64px;min-height:224px;padding:27px 30px}}
@keyframes slogan-engrave{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(18px)}to{opacity:1;clip-path:inset(0);transform:translateX(0)}}
@keyframes slogan-signature{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes slogan-frame{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}
body.motion-paused .hero-slogan,body.motion-paused .hero-slogan span,body.motion-paused .hero-slogan strong,body.motion-paused .slogan-logo{animation:none;opacity:1;visibility:visible;transform:none}
body.motion-paused .hero-slogan{transform:translateX(-50%)}
@media(max-width:760px){body .hero-slogan{width:calc(100% - 44px);min-height:224px;padding:24px 16px;bottom:62px}body .hero-slogan span{font-size:clamp(29px,8vw,37px)}body .hero-slogan span+span{margin-top:10px}body .hero-slogan strong{margin-top:22px;font-size:clamp(20px,5.2vw,24px)}}
@media(max-height:600px) and (min-width:761px){body .hero-slogan{left:50%;min-height:174px;bottom:40px;padding:17px 20px}body .hero-slogan span{font-size:30px}body .hero-slogan span+span{margin-top:7px}body .hero-slogan strong{margin-top:14px;font-size:15px}.slogan-logo{height:32px;margin-top:5px}}
@media(prefers-reduced-motion:reduce){body .hero-slogan,body .hero-slogan span,body .hero-slogan strong,body .hero-slogan::after,body .slogan-logo{animation:none!important;opacity:1;visibility:visible;clip-path:none;transform:none}body .hero-slogan{transform:translateX(-50%)}}
