.motion-enter{opacity:0;transform:translateY(10px);transition:opacity .55s ease var(--enter-delay,0ms),transform .55s cubic-bezier(.2,.65,.3,1) var(--enter-delay,0ms)}.motion-enter.motion-visible{opacity:1;transform:none}
.launch-home .motion-enter{transform:translateY(24px);transition-duration:.8s}.launch-home .motion-visible{transform:none}
.launch-home .motion-service .service-photo,.launch-home .motion-service h3,.launch-home .motion-service p{opacity:0;transform:translateY(12px);transition:opacity .65s ease,transform .7s cubic-bezier(.2,.65,.3,1)}
.launch-home .motion-service.motion-visible .service-photo,.launch-home .motion-service.motion-visible h3,.launch-home .motion-service.motion-visible p{opacity:1;transform:none}
.launch-home .motion-service.motion-visible .service-photo{transition-delay:40ms}.launch-home .motion-service.motion-visible h3{transition-delay:110ms}.launch-home .motion-service.motion-visible p{transition-delay:170ms}
.launch-home .service-card{transition-property:opacity,transform,box-shadow,background;box-shadow:0 3px 14px #102d4005}
main .button,main .text-link{transition:background .25s ease,box-shadow .25s ease,transform .25s ease,color .25s ease}
main .button:focus-visible{box-shadow:0 4px 16px #102d4020}main .service-card:focus-visible{box-shadow:0 8px 25px #102d4018}
@media(hover:hover) and (pointer:fine){.launch-home .service-card:hover{box-shadow:0 12px 28px #102d4018}main .text-link:hover{text-decoration-thickness:2px}}
@supports(animation-timeline:view()){@media(min-width:1001px) and (hover:hover) and (prefers-reduced-motion:no-preference){.launch-home .service-card{animation:trip-card-depth linear both;animation-timeline:view();animation-range:entry 0% exit 100%}@keyframes trip-card-depth{from{translate:0 5px}to{translate:0 -5px}}}}
.enquiry-dialog textarea.manual-location{min-height:76px;resize:vertical;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}
@media(max-width:760px){.motion-enter,.launch-home .motion-enter{transform:translateY(12px);transition-duration:.45s;transition-delay:0s}.motion-enter.motion-visible{transform:none}.launch-home .motion-service .service-photo,.launch-home .motion-service h3,.launch-home .motion-service p{transform:translateY(6px);transition-duration:.4s}.launch-home .motion-service.motion-visible .service-photo{transition-delay:0s}.launch-home .motion-service.motion-visible h3{transition-delay:50ms}.launch-home .motion-service.motion-visible p{transition-delay:90ms}nav.open .nav-link,nav.open>a{min-height:44px;display:flex;align-items:center}.language{min-height:44px}}
@media(hover:none){.service-photo:hover img{transform:none}main .button:hover{transform:none}main .button:active{opacity:.88}.launch-home .service-card:active{box-shadow:0 2px 8px #102d4018}}
@media(prefers-reduced-motion:reduce){.motion-enter,.launch-home .motion-enter,.launch-home .motion-service .service-photo,.launch-home .motion-service h3,.launch-home .motion-service p{opacity:1;transform:none;translate:none;transition:none}.launch-home .service-card{animation:none;translate:none}}
@media print{.motion-enter,.launch-home .motion-service .service-photo,.launch-home .motion-service h3,.launch-home .motion-service p{opacity:1!important;transform:none!important;translate:none!important}}
/* Paquete visual 01/10: contraste sin aumentar las fuentes. */
:root{--muted:#405968}
header nav{font-weight:600}.hero-copy .intro{color:#354e60;font-weight:500}
.enquiry-dialog .dialog-copy,.enquiry-dialog .form-note,.enquiry-dialog .form-terms,.enquiry-dialog small{color:#405968}
.enquiry-dialog input::placeholder,.enquiry-dialog textarea::placeholder{color:#586c78;opacity:1}
.booking-options .booking-option h2{font-size:clamp(26px,2.5vw,32px)}
.booking-options .booking-option .button{align-self:stretch;min-height:52px}
/* Native sticky cards keep the scroll continuous and release at their container end. */
.launch-home .service-grid{display:flex;flex-direction:column;gap:70px;max-width:700px;margin-inline:auto;padding-bottom:64px;isolation:isolate}
.launch-home .service-card{position:relative;flex:none;width:100%;background:#fff;animation:none;translate:none;box-shadow:0 12px 35px #102d4020}
.launch-home .service-grid.stack-ready .service-card{position:sticky;top:calc(var(--card-top,var(--stack-top,112px)) + var(--stack-index,0)*var(--stack-heading-height,0px));z-index:calc(1 + var(--stack-index,0));transform:none}
.launch-home .service-grid.stack-ready .service-card.motion-enter{opacity:1;transform:none}
.launch-home .service-grid.stack-ready .service-card:focus-visible{z-index:5}
.executive-photo{position:relative;overflow:hidden;border-radius:50px 0 0 5px;line-height:0}
.executive-photo img{display:block;width:100%;height:auto}



@keyframes optics-glint{0%,100%{opacity:0}35%{opacity:.72}60%{opacity:.2}}
.hero-copy h1{position:relative;isolation:isolate}


/* Compact visual indicator pill, with separate 44px-high touch targets. */
.trip-dots{background:transparent!important;border-radius:0;gap:0;bottom:4px}
.trip-dots:before{content:'';position:absolute;inset:12px 4px;border-radius:12px;background:#ffffffbc;box-shadow:0 1px 5px #102d4033;backdrop-filter:blur(3px);pointer-events:none}
.trip-carousel .trip-dot{min-width:26px;min-height:44px}
.trip-carousel .trip-dot:hover{background:transparent}
.trip-dot:before{width:6px;height:6px;opacity:.65;background:#286c90}
.trip-dot[aria-current=true]:before{transform:scale(1.25);background:#007da9;box-shadow:0 0 0 1.5px #fff}
@media(max-width:760px){
 .launch-home .service-grid{gap:52px;padding-bottom:48px}
 .executive-photo{border-radius:25px 4px 4px 4px}
 .enquiry-dialog{width:calc(100% - 20px);max-width:520px;max-height:calc(100dvh - 20px);padding:24px 16px 18px;border-radius:10px;overscroll-behavior:contain;scrollbar-gutter:stable}
 .enquiry-dialog h2{font-size:24px;line-height:1.2;padding-right:28px}
 .enquiry-dialog form,.enquiry-fields{gap:12px}
 .enquiry-dialog label{font-size:14px;line-height:1.45;gap:5px}
 .enquiry-dialog .dialog-copy{font-size:14px;line-height:1.5;margin-bottom:12px}
 .enquiry-dialog input,.enquiry-dialog select,.enquiry-dialog textarea{font-size:16px;min-height:44px;padding:9px 10px;max-width:100%}
 .enquiry-dialog input[type=checkbox],.enquiry-dialog input[type=radio]{min-height:20px}
 .enquiry-dialog textarea.manual-location{min-height:88px}
 .enquiry-dialog .form-note,.enquiry-dialog .form-terms{font-size:13px;line-height:1.55}
 .enquiry-dialog fieldset{padding:12px;margin-inline:0}
 .enquiry-dialog .quote-review{padding:8px 0}.enquiry-dialog .quote-summary{padding:12px;font-size:14px}
 .enquiry-dialog .quote-actions{gap:8px;margin-top:12px}.enquiry-dialog .quote-actions>button{flex-basis:100%;font-size:15px!important;min-height:46px}
 nav.open{max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
 body.menu-locked{position:fixed;width:100%;overflow:hidden}
 .trip-carousel .trip-play{min-width:36px;min-height:36px;bottom:7px}
}
@media(prefers-reduced-motion:reduce){
 .launch-home .service-grid.stack-ready .service-card{position:relative;top:auto}

 
}
@media print{.launch-home .service-grid.stack-ready .service-card{position:relative;top:auto}}
/* Leave breathing room after the stack so its sticky bounds release before the footer. */
.launch-home .service-grid{padding-bottom:0}
.launch-home .services{padding-bottom:55px}
@media(prefers-reduced-motion:reduce){.launch-home .services{padding-bottom:60px}}
.enquiry-dialog .decoration-options>fieldset{border:0;border-radius:0;padding:12px 0;margin:4px 0}.enquiry-dialog .decoration-options{border:0;border-top:1px solid var(--line);padding-inline:0}.event-estimate h3{font-size:18px;margin-top:16px}.estimate-stop{display:grid;gap:10px;border-top:1px solid var(--line);padding:14px 0}.event-estimate .form-note{font-size:14px}
/* Scoped V1 lighting and stack anchor. */
.launch-home .services .section-heading{margin-bottom:24px;padding-block:12px}.launch-home .services .section-heading{position:relative;margin:40px 0 0;opacity:1;transform:none;scroll-margin-top:110px}



.driver-photo,.hero-visual,.event-photo{position:relative}



@keyframes hazard-blink{0%,49%{opacity:1}50%,100%{opacity:0}}



.event-photo{overflow:hidden;border-radius:50px 0 0 5px;line-height:0}
.event-photo img{display:block;width:100%;height:auto}

@media(max-width:760px){.event-photo{border-radius:25px 4px 4px 4px}.launch-home .services .section-heading{padding-block:8px}}
@media(prefers-reduced-motion:reduce){}

/* Local brightness from original photograph pixels, never painted lamps. */
.photo-pixels{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden;opacity:0}
.beam-pixels{filter:brightness(2.7) contrast(1.1);transition:opacity 140ms ease-out}
.high-beam .beam-pixels{opacity:1;transition:opacity 25ms linear}
.indicator-pixels{filter:sepia(1) saturate(5) hue-rotate(350deg) brightness(1.5)}
.hazards-on .indicator-pixels{animation:hazard-blink .95s steps(1,end) infinite}
.wave-pixels{opacity:1;filter:brightness(2) saturate(1.25)}
.wave-pixels path{opacity:0}
.venue-pixels{filter:brightness(1.65)}

.event-strip{overflow:hidden}
.event-arrival{opacity:0;transform:translateX(-40px);transition:transform 850ms cubic-bezier(.2,.7,.2,1) var(--arrival-delay),opacity 750ms ease var(--arrival-delay)}
.event-arrival.arrived{opacity:1;transform:none}
@media(max-width:760px){.event-arrival{transform:none;transition:none}.event-arrival.arrived{animation:event-fabric 1050ms ease-out both}@keyframes event-fabric{0%{opacity:0;transform:perspective(900px) rotateX(5deg) skewY(-.7deg) scaleY(.97)}45%{opacity:1;transform:perspective(900px) rotateX(-1.5deg) skewY(.3deg) scaleY(1.005)}100%{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){.photo-pixels{display:none}.event-arrival,.event-arrival.arrived{opacity:1;transform:none;animation:none;transition:none}}

/* Home-only energy points and short, frequent title sweep. */
.home-energy{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}
.hero-copy h1 em{position:relative}


@media(prefers-reduced-motion:reduce){.home-energy,}

.lantern-flames{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;overflow:hidden}
@media(prefers-reduced-motion:reduce){.lantern-flames{display:none}}

/* Reserva exclusiva para el título durante el apilamiento. */
.launch-home .services-stack-title{position:sticky;top:var(--heading-top,100px);z-index:8;margin:0 0 24px;padding:14px 0;background:#fff;font-size:clamp(28px,3.2vw,49px);line-height:1.2}

.launch-home .service-card>div.service-card-heading{flex:none;box-sizing:border-box;height:var(--stack-heading-height,auto);display:flex;justify-content:center}
.launch-home .service-grid.stack-ready{padding-bottom:calc(64px + var(--stack-tail,0px))}

.launch-home .service-grid.stack-ready .service-card{margin-bottom:var(--stack-reserve,0px);margin-top:var(--stack-compensate,0px)}
