/* A second cinematic movement: overlapping service plates, a treatment
   showroom, then a foreground booking desk. Works with vertical touch scroll. */
.service-stack{background:#0b0d0f;height:420svh!important;position:relative;z-index:7}
.service-stack .gallery-stage{height:100svh;min-height:620px;position:sticky!important;top:0;padding:0;overflow:hidden}
.service-stack .gallery-heading{position:relative;z-index:10;padding:105px var(--gutter) 24px;align-items:center}
.service-stack .gallery-heading h2{font-size:clamp(38px,4.5vw,68px);max-width:none;margin-top:10px}
.gallery-navigation{display:flex;align-items:center;gap:30px}.service-count{font-size:11px;letter-spacing:.16em;color:#a4aeb5;font-variant-numeric:tabular-nums}
.service-stack .gallery-window{position:absolute;inset:245px 0 45px;overflow:visible;scroll-snap-type:none}
.service-stack .gallery-rail{position:relative;width:100%;height:100%;display:block;padding:0;transform:none!important;perspective:1200px}
.service-stack .craft-card{position:absolute;inset:0 var(--gutter);width:auto;height:100%;min-height:0;margin:0;transform-origin:50% 0;border:1px solid #c5cbd333;box-shadow:0 -22px 70px #0007;will-change:transform,clip-path}
.service-stack .craft-card>img{width:100%;height:125%;object-fit:cover;object-position:50% 45%;transform:translate3d(0,var(--service-image-y,0px),0) scale(1.08);filter:brightness(.8);will-change:transform}
.service-stack .craft-card:after{background:linear-gradient(90deg,#030506ee 0%,#030506a0 43%,#03050600 78%),linear-gradient(0deg,#03050677,transparent 65%)}
.service-stack .craft-copy{left:5%;bottom:10%;max-width:500px;transform:translateY(var(--service-copy-y,0px));will-change:transform}
.service-stack .craft-copy h3{font-size:clamp(34px,4vw,60px);max-width:13ch;line-height:1.02}.service-stack .craft-copy p{font-size:13px;max-width:38ch;line-height:1.7}
.service-stack .craft-copy>span{color:#d5d9dc}.service-stack .craft-copy .text-link{margin-top:22px;min-height:44px}
.service-stack .protection-card>img{object-position:65% 50%}.service-stack .craft-card:last-child>img{object-position:50% 35%}
/* The treatment name is a far plane, the car a closer plane, and the choices
   and live details remain readable in front. Scroll previews never book. */
.treatments.section{padding:0;height:330svh;position:relative;z-index:8;background:#eae9e4}
.package-stage{position:sticky;top:0;width:100%;height:100svh;min-height:720px;padding:105px var(--gutter) 35px;overflow:hidden}
.treatment-heading{margin-bottom:25px;align-items:center}.treatment-heading h2{font-size:clamp(40px,4.5vw,66px);transform:none}.treatment-heading p{font-size:12px;max-width:310px}.treatment-heading small{font-size:10px;margin-top:10px}
.treatment-layout{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:minmax(180px,1fr) auto;gap:20px 5vw;min-height:390px;height:calc(100svh - 355px)}
.treatment-visual{position:relative;grid-column:1;grid-row:1;min-height:210px;isolation:isolate;overflow:visible}
.treatment-word{position:absolute;left:-8%;top:5%;font-family:Archivo,sans-serif;font-size:clamp(55px,7.8vw,120px);font-weight:550;letter-spacing:-.055em;line-height:1;color:#acb0ae66;transform:translateX(var(--package-word-x,0px));white-space:nowrap;z-index:0}
.treatment-halo{position:absolute;inset:5% 12%;border:1px solid #a7afaf77;border-radius:50%;transform:rotate(-18deg) scaleX(1.25);z-index:0}
.treatment-car{position:absolute;z-index:1;width:112%;height:auto;max-width:none;left:-8%;top:28%;transform:translate3d(var(--package-car-x,0px),var(--package-car-y,0px),0) scale(var(--package-car-scale,1));filter:drop-shadow(0 24px 15px #17202833);transform-origin:50% 80%;will-change:transform}
.treatment-caption{position:absolute;bottom:0;left:0;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#4d5558}
.treatment-options{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;position:relative;z-index:3;opacity:1!important;transform:none!important}
.treatment-options button,.treatment-options button:last-child{display:block;border:0;border-top:1px solid #afb5b2;border-bottom:1px solid #afb5b2;padding:18px 0;text-align:left;transition:color .3s,box-shadow .3s;min-height:94px}
.treatment-options button[aria-pressed=true]{box-shadow:inset 0 3px #11191f}
.treatment-options small{display:none}.treatment-options strong{font-size:clamp(19px,2vw,30px)}.option-price{display:block;font-size:17px;margin-top:5px}.option-price i{display:none}
.treatment-detail{grid-column:2;grid-row:1/3;align-self:center;position:relative;z-index:3;padding:30px 0;opacity:1!important;transform:none!important}
.treatment-detail h3{font-size:clamp(29px,3vw,44px);max-width:13ch}.treatment-detail>p{font-size:13px;max-width:40ch}.treatment-detail ul{font-size:12px;margin:22px 0;line-height:2.2}.treatment-detail .solid-button{max-width:390px}
.treatment-detail.changing h3,.treatment-detail.changing>p,.treatment-detail.changing ul{animation:treatment-in .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes treatment-in{from{opacity:.25;translate:0 16px}to{opacity:1;translate:0 0}}
.package-note{margin-top:18px;font-size:10px;max-width:80ch}
/* A quieter interactive beat with a sticky photographic plane. */
.questions{position:relative;z-index:9;background:#101416;gap:7vw;align-items:start}
.faq-heading{position:sticky;top:115px}.faq-heading>.eyebrow{font-size:9px;color:#9faab0;margin-bottom:25px}.faq-heading h2{font-size:clamp(36px,4vw,60px)}
.faq-orbit{position:relative;width:220px;height:220px;border-radius:50%;margin:55px 0 0 12%;overflow:hidden;border:1px solid #717c8255;transform:translateY(var(--faq-drift,0px)) rotate(var(--faq-turn,0deg))}
.faq-orbit img{width:100%;height:100%;object-fit:cover;filter:brightness(.65);transform:scale(1.2)}.faq-orbit span{position:absolute;bottom:20%;width:100%;text-align:center;font-size:9px;letter-spacing:.13em;color:#fff}
.faq-list{opacity:1!important;transform:none!important}.questions details{position:relative;border-color:#465059;padding:0 12px;transition:background .3s}.questions details[open]{background:#1a2329}.questions details[open] summary{color:#fff}.questions summary{font-size:14px;min-height:84px}.questions summary span{transition:transform .3s}.questions details[open] summary span{transform:rotate(45deg)}.questions details p{animation:answer-in .35s ease both;color:#b6c1c8;padding-bottom:26px}
@keyframes answer-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
/* Booking: the form travels over a sticky car/type scene. Inputs never move
   independently while visitors are typing. */
.booking.section{position:relative;z-index:10;background:#090c0e;padding-top:120px;padding-bottom:90px;align-items:start;gap:6vw;min-height:125svh;overflow:clip}
.booking-intro{position:sticky;top:110px;min-height:650px;height:calc(100svh - 155px);isolation:isolate}
.booking-intro>.eyebrow,.booking-intro>h2,.booking-intro>p,.booking-intro>.contact-details{position:relative;z-index:2}
.booking-intro h2{font-size:clamp(44px,5.5vw,82px);margin:25px 0;transform:none}.booking-intro>p:not(.eyebrow){font-size:13px;max-width:34ch}
.booking-visual{position:absolute;inset:32% -14% 12% -20%;z-index:0;pointer-events:none;overflow:visible}
.booking-visual>span{position:absolute;left:8%;top:10%;font-size:clamp(45px,6.8vw,110px);font-family:Archivo,sans-serif;letter-spacing:.03em;color:#d7dfe321;transform:translateX(var(--booking-word-x,0px))}
.booking-visual img{position:absolute;top:27%;left:-4%;width:116%;height:auto;max-width:none;transform:translate3d(var(--booking-car-x,0px),var(--booking-car-y,0px),0);filter:drop-shadow(0 20px 35px #000b);will-change:transform}
.booking-intro .contact-details{position:absolute;bottom:0;margin:0;width:100%;background:linear-gradient(transparent,#090c0eee 30%);padding-top:30px}.contact-details p{margin-top:14px;font-size:11px}
.booking-desk{position:relative;z-index:4;box-shadow:-30px 0 90px #0007;opacity:1!important;transform:none!important}
footer{position:relative;z-index:11;overflow:hidden;padding-top:100px;padding-bottom:40px}.footer-wordmark{transform:translateY(calc((1 - var(--footer-p,1))*145px));opacity:1}
@media(max-width:860px){
 .service-stack{height:400svh!important}.service-stack .gallery-stage{min-height:580px}.service-stack .gallery-heading{padding:92px 24px 18px}.service-stack .gallery-heading h2{font-size:35px;max-width:9ch;line-height:1}.gallery-navigation{flex-direction:column;align-items:flex-end;gap:8px}.gallery-buttons{gap:7px}.gallery-buttons button{width:44px;height:44px}.service-count{font-size:9px}
 .service-stack .gallery-window{inset:205px 0 35px}.service-stack .craft-card{inset:0 20px;width:auto;height:100%;min-height:0}.service-stack .craft-card>img{object-position:60% 30%;height:125%;filter:brightness(.85)}.service-stack .craft-card:after{background:linear-gradient(0deg,#030506f5 0%,#030506b0 44%,#03050600 90%)}.service-stack .craft-copy{left:24px;right:22px;bottom:8%;max-width:none}.service-stack .craft-copy h3{font-size:34px;max-width:13ch;margin:14px 0}.service-stack .craft-copy p{font-size:12px;line-height:1.6}.service-stack .craft-copy>span{font-size:8px}.service-stack .craft-copy .text-link{margin-top:10px;font-size:11px}
 .treatments.section{height:330svh}.package-stage{min-height:640px;padding:90px 24px 18px}.treatment-heading{margin-bottom:4px;display:block}.treatment-heading h2{font-size:35px;line-height:1.02}.treatment-heading p{font-size:0;line-height:1}.treatment-heading small{font-size:8px;margin-top:10px}
 .treatment-layout{grid-template-columns:1fr;grid-template-rows:130px 62px auto;gap:9px;min-height:0;height:auto}.treatment-visual{grid-column:1;grid-row:1;min-height:0}.treatment-word{font-size:57px;top:10%;left:-4%;opacity:.7}.treatment-car{width:109%;left:-5%;top:25%}.treatment-caption{display:none}.treatment-halo{inset:0 12%}
 .treatment-options{grid-column:1;grid-row:2;gap:10px}.treatment-options button,.treatment-options button:last-child{min-height:62px;padding:10px 0}.treatment-options strong{font-size:17px}.option-price{font-size:13px;margin-top:2px}.treatment-detail{grid-column:1;grid-row:3;padding:9px 0 0;align-self:start}.treatment-detail>p:first-child{font-size:8px}.treatment-detail h3{font-size:26px;line-height:1.03;max-width:100%;margin:9px 0}.treatment-detail>p{font-size:11px;line-height:1.5;max-width:100%}.treatment-detail ul{font-size:10px;line-height:1.8;margin:9px 0}.treatment-detail .solid-button{padding:10px 14px;min-height:44px;font-size:10px;max-width:none}.package-note{font-size:8px;line-height:1.5;margin-top:10px}
 .questions{padding-top:80px;padding-bottom:85px}.faq-heading{position:relative;top:auto;margin-bottom:28px;min-height:170px}.faq-heading h2{font-size:36px;max-width:9ch;margin:0;position:relative;z-index:2}.faq-heading>.eyebrow{margin-bottom:20px}.faq-orbit{position:absolute;right:-12px;top:-5px;margin:0;width:155px;height:155px;opacity:.55}.faq-orbit span{font-size:7px}.questions summary{font-size:12px;min-height:75px}.questions details{padding:0 6px}.questions details p{font-size:12px}
 .booking.section{display:block;padding:70px 24px 80px;min-height:0}.booking-intro{position:sticky;top:85px;min-height:510px;height:70svh}.booking-intro h2{font-size:48px;margin:22px 0}.booking-intro>p:not(.eyebrow){font-size:12px}.booking-intro .eyebrow{font-size:7px}.booking-visual{inset:30% -12% 14% -13%}.booking-visual>span{font-size:64px;top:20%;left:5%}.booking-visual img{top:38%;width:116%;left:-9%}.booking-intro .contact-details{padding-top:35px;bottom:16px}.booking-intro .contact-details p{font-size:9px}.booking-desk{margin-top:32px;padding:28px 20px;box-shadow:0 -40px 75px #000b}
 footer{padding-top:70px;padding-bottom:35px}
}
@media(max-width:860px){.treatment-visual{width:100%;max-width:340px;justify-self:center}.treatment-car{width:100%;left:0;top:5%}}
@media(max-height:720px) and (max-width:860px){.package-stage{padding-top:80px}.treatment-heading h2{font-size:29px}.treatment-layout{grid-template-rows:100px 54px auto;gap:6px}.treatment-options button,.treatment-options button:last-child{min-height:54px;padding:7px 0}.treatment-word{font-size:48px}.treatment-car{width:92%;left:4%;top:0}.treatment-detail h3{font-size:24px}.treatment-detail ul{margin:6px 0}.package-note{font-size:7px}.service-stack .gallery-window{inset:185px 0 24px}.service-stack .gallery-heading{padding-top:82px}.service-stack .craft-copy h3{font-size:29px}.service-stack .craft-copy p{font-size:11px}}
@media(prefers-reduced-motion:reduce){
 .service-stack,.treatments.section{height:auto!important}.service-stack .gallery-stage,.package-stage{position:relative!important;height:auto;min-height:0}.service-stack .gallery-window{position:relative;inset:auto}.service-stack .gallery-rail{height:auto}.service-stack .craft-card{position:relative;inset:auto;margin:20px var(--gutter);height:560px;clip-path:none!important;transform:none!important}.service-stack .craft-card>img,.service-stack .craft-copy{transform:none!important}.gallery-navigation{display:none}.treatment-layout{height:auto}.package-stage{padding-bottom:45px}.treatment-car,.treatment-word,.faq-orbit,.booking-visual img,.booking-visual>span{transform:none!important}.booking-intro,.faq-heading{position:relative;top:auto}.treatment-detail.changing>*{animation:none!important}
}
.questions{overflow:clip}
