.skip-link{position:fixed;top:12px;left:12px;z-index:20;background:var(--accent);color:var(--bg);padding:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent)}
.hero{width:100%;min-height:680px;min-height:min(850px,85svh);padding:100px 0 120px;display:flex;align-items:center;isolation:isolate;overflow:hidden}
.hero-background,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-background{background:#050505}.hero-background img,.hero-background video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 79%}.hero-background video{opacity:0;transition:opacity .6s;object-position:65% center}.hero-background video.ready{opacity:1}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(5,5,5,.90),rgba(5,5,5,.48) 48%,rgba(5,5,5,.12)),linear-gradient(0deg,#050505b8,transparent 30%)}
.hero-content{position:relative}.hero h1{font-size:clamp(48px,5.5vw,80px);letter-spacing:-2px;max-width:650px}.hero h1 em{font-style:italic}.hero p{font-size:16px;color:var(--text);max-width:370px;margin:28px 0 32px}.hero-foot{width:min(1240px,88%);bottom:25px;align-items:center;gap:20px;font-size:9px;color:var(--text)}
#video-toggle{border:1px solid #f2e9d880;background:#05050570;color:var(--text);padding:8px 13px;font-size:11px;letter-spacing:.3px}#video-toggle[hidden]{display:none}
.nav{height:90px}.preview{letter-spacing:1px}.section{padding:105px 0}.section-head{gap:48px}.experience{padding-bottom:0}.gallery .photo-tile{height:520px}.details .photo-tile{height:330px}.photo-tile:focus-visible{outline-offset:4px}.photo-tile img{will-change:auto}.client-video{max-height:75vh;object-fit:contain;border:0}.contact-card{border-top:1px solid var(--accent);background:#090909}.contact-card dd{overflow-wrap:anywhere}.booking-form [aria-invalid=true]{border-color:#e7b2a7}.form-message{border-color:var(--line)}#request-note{padding:15px 0;border-top:1px solid var(--line);line-height:1.7}.form button{min-height:48px}.lang{min-width:42px;min-height:44px}.lang[aria-pressed=true]{text-decoration:underline;text-underline-offset:6px}
dialog{width:auto;margin:auto}dialog img{width:auto;height:auto;max-height:78vh;max-width:88vw}dialog button{min-width:48px;min-height:44px}body.modal-open{overflow:hidden}footer{flex-wrap:wrap}footer .logo-letters{transform:scale(.8);transform-origin:left center}
@media(max-width:850px){.hero{min-height:690px}.hero-shade{background:linear-gradient(90deg,#050505cf,#05050550),linear-gradient(0deg,#050505b8,transparent 40%)}.hero h1{font-size:60px}.gallery .photo-tile{height:420px}.details .photo-tile{height:280px}.section{padding:80px 0}}
@media(max-width:600px){.nav{height:78px}.preview{font-size:8px;padding:9px 16px}.hero{min-height:740px;min-height:calc(100svh - 110px);align-items:flex-start;padding:54px 0 110px}.hero h1{font-size:clamp(43px,11.6vw,62px);letter-spacing:-1.5px}.hero .eyebrow{font-size:8px;letter-spacing:2px;max-width:290px;margin-bottom:22px}.hero p{max-width:290px;font-size:14px;margin:24px 0}.hero-background img{object-position:56% 72%}.hero-background video{object-position:62% center}.hero-shade{background:linear-gradient(180deg,#050505bd 0%,#05050599 43%,#05050526 70%,#050505cc)}.hero-foot{flex-wrap:wrap;font-size:8px;gap:12px}.hero-foot a{margin-left:auto}.hero-foot span{max-width:110px}.section{padding:65px 0}.section-head{margin-bottom:32px}.gallery .photo-tile{height:440px}.details .photo-tile{height:270px}.section-head p{max-width:100%}.contact-card{margin-top:12px}.city-art{height:310px}footer{gap:20px}footer p{margin:0}h2{font-size:38px}.photo-tile span{padding:32px 18px 18px}}
@media(max-width:600px){.gallery{grid-template-columns:1fr}.details .photo-tile:last-child{height:400px}.hero-foot a{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.photo-tile:hover img{transform:none}}

.hero-background .hero-poster{object-position:65% center}@media(max-width:600px){.hero-background .hero-poster{object-position:62% center}}

.contact-whatsapp{margin-top:24px}.contact-card a:not(.btn),.form-message a{text-decoration:underline;text-underline-offset:4px}.form-message a{display:inline-block;padding:8px 0}

.equipment{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:28px 0;margin-bottom:36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.equipment h3{font-size:29px}.equipment ul{margin:0;padding-left:20px;color:var(--muted);display:grid;gap:12px}@media(max-width:600px){.equipment{grid-template-columns:1fr;gap:20px}}

.hero-content h1 + .btn{margin-top:30px}

.gallery .exterior-tile img{object-fit:contain;background:#050505}.gallery .photo-tile:last-child:nth-child(odd){grid-column:1/-1;height:360px}@media(max-width:600px){.gallery .photo-tile:last-child:nth-child(odd){height:440px}}

#photo-dialog{box-sizing:border-box;width:fit-content;height:fit-content;max-width:96vw;max-height:94dvh;padding:48px 12px 12px;margin:auto;overflow:hidden}#photo-dialog[open]{display:flex;align-items:center;justify-content:center}#photo-dialog img{display:block;flex:none;width:auto;height:auto;max-width:calc(96vw - 26px);max-height:calc(94dvh - 62px);object-fit:contain;margin:0 auto}#photo-dialog button{position:absolute;top:0;right:0;margin:0;width:48px;height:48px;padding:0;display:grid;place-items:center;background:#050505;color:var(--text)}

/* Mobile navigation and touch-friendly booking. */
.mobile-quote,#menu-toggle{display:none}
.floating-whatsapp{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:15;display:flex;align-items:center;gap:9px;min-height:48px;padding:10px 16px;border:1px solid var(--accent);border-radius:28px;background:#050505;color:var(--text);font-size:12px;box-shadow:0 4px 22px #0006}
.floating-whatsapp[hidden],body.modal-open .floating-whatsapp{display:none}
footer{padding-bottom:100px}
@media(max-width:850px){
 .nav{position:relative;gap:8px;flex-wrap:wrap;height:auto;min-height:78px;padding:12px 0}
 .tools{gap:8px}.tools>div{display:flex}
 #menu-toggle:not([hidden]){display:block;min-height:44px;min-width:60px;padding:8px;border:1px solid var(--line);background:transparent;color:var(--text);font-size:12px}
 .links{display:none;order:3;flex-basis:100%;flex-direction:column;gap:0;padding:12px 0 4px;border-top:1px solid var(--line)}
 .links.is-open{display:flex}.links a{display:flex;align-items:center;min-height:48px;font-size:14px}.links .mobile-quote{display:flex;color:var(--accent)}
 .booking-layout{grid-template-columns:1fr}.contact-card{max-width:100%}
 .booking-form input,.booking-form textarea{font-size:16px;min-width:0;max-width:100%}.booking-form .fields>div{min-width:0}
 .contact-card a:not(.btn){display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:600px){
 .gallery .photo-tile,.gallery .photo-tile:last-child:nth-child(odd),.details .photo-tile,.details .photo-tile:last-child{height:auto;min-height:0}
 .photo-tile img{display:block;width:100%;height:auto;object-fit:contain}.photo-tile:hover img{transform:none}
 .details{gap:12px}.gallery{gap:16px}
 .booking-form .btn{width:100%;min-height:52px}.contact-whatsapp{width:100%}
 .floating-whatsapp{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}
 #video-toggle{min-height:44px}.hero-foot a{min-height:44px;display:flex;align-items:center}
}

@media(max-width:600px){.hero{padding-bottom:170px}.hero-foot{bottom:78px}}

/* Full photographs, grouped from vehicle overview to on-board details. */
.gallery-curated{grid-template-columns:.844fr 1fr 1fr;gap:20px;align-items:stretch}
.gallery-curated .photo-tile,.gallery-curated .photo-tile:last-child:nth-child(odd){grid-column:auto;height:auto;min-height:0;aspect-ratio:1066/1600;background:var(--bg)}
.gallery-curated .exterior-tile{aspect-ratio:941/1672}
.gallery-curated .photo-tile img,.details-curated .photo-tile img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.gallery-curated .photo-tile:hover img,.details-curated .photo-tile:hover img{transform:none}
.details-curated{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
.details-curated .photo-tile,.details-curated .photo-tile:last-child{grid-column:auto;height:auto;min-height:0;aspect-ratio:1066/1600;background:var(--bg)}
@media(max-width:600px){
 .gallery-curated{grid-template-columns:1fr;gap:20px}
 .gallery-curated .exterior-tile{width:100%;aspect-ratio:941/1672}
 .details-curated{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding-bottom:14px;scrollbar-width:thin;scrollbar-color:var(--accent) #151515}
 .details-curated .photo-tile,.details-curated .photo-tile:last-child{flex:0 0 80%;scroll-snap-align:start}
 .details-curated .photo-tile:focus-visible{outline-offset:-3px}
}


#experiences .experience{border-top:0;padding-top:0}#experiences .experience h2{font-size:clamp(38px,4vw,52px);grid-row:1/3}
#experiences .experience p{font-size:clamp(16px,1.4vw,18px);line-height:1.75;max-width:520px}
#experiences .experience .text-link{font-size:13px}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form button:disabled{opacity:.65;cursor:wait}
