:root { --navy:#10243a; --navy-2:#19364f; --gold:#d5a75c; --gold-soft:#f1e5d0; --ink:#202936; --muted:#667180; --tint:#f5f7f9; --line:#dfe4e9; --green:#25d366; --white:#fff; --radius:18px; --max:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family:"DM Sans",sans-serif; font-size:16px; line-height:1.6; overflow-x:hidden; }
body.no-scroll { overflow:hidden; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button, input, select, textarea { font:inherit; }
button { cursor:pointer; }
.container { width:min(calc(100% - 48px),var(--max)); margin:0 auto; }
.section-pad { padding:112px 0; }
.section-tint { background:var(--tint); }
.section-navy { color:var(--white); background:var(--navy); }
.eyebrow { margin:0 0 18px; color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.19em; line-height:1.2; }
.eyebrow-light { color:#e4c68e; }.eyebrow-gold { color:var(--gold); }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:"Manrope",sans-serif; line-height:1.07; letter-spacing:-.045em; } h2 { font-size:clamp(38px,5vw,64px); margin-bottom:26px; } h2 span,h1 em { color:var(--gold); font-style:normal; } h3 { font-size:25px; margin-bottom:12px; }
.skip-link { position:fixed; z-index:20; top:-60px; left:20px; background:var(--gold); color:var(--navy); padding:10px 16px; font-weight:700; }.skip-link:focus { top:20px; }
.site-header { position:fixed; z-index:10; width:100%; top:0; border-bottom:1px solid rgba(255,255,255,.16); color:var(--white); transition:background .25s,box-shadow .25s; }.site-header:has(.site-nav.is-open),.site-header.scrolled { background:rgba(16,36,58,.96); box-shadow:0 10px 30px rgba(10,27,44,.14); backdrop-filter:blur(12px); }
.header-inner { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:24px; }.brand { display:inline-flex; align-items:center; gap:11px; font-size:15px; line-height:1.1; letter-spacing:.02em; }.brand strong { display:block; font-family:"Manrope",sans-serif; font-size:16px; letter-spacing:-.03em; }.brand small { display:block; margin-top:4px; color:var(--gold); font-size:8px; font-weight:700; letter-spacing:.23em; }.brand-mark { display:grid; place-items:center; width:37px; height:37px; border:1px solid var(--gold); border-radius:50%; color:var(--gold); font-family:"Manrope",sans-serif; font-size:12px; }
.site-nav { display:flex; align-items:center; gap:28px; font-size:13px; font-weight:600; }.site-nav a:not(.button) { opacity:.84; transition:opacity .2s,color .2s; }.site-nav a:not(.button):hover { color:var(--gold); opacity:1; }.menu-toggle { display:none; border:0; background:transparent; padding:8px; }.menu-toggle span { display:block; width:25px; height:2px; margin:5px 0; background:var(--white); }
.button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; gap:13px; padding:0 22px; border:1px solid transparent; border-radius:999px; font-size:12px; font-weight:700; letter-spacing:.03em; transition:transform .2s,background .2s,color .2s,border-color .2s; }.button:hover { transform:translateY(-2px); }.button-small { min-height:40px; padding:0 17px; }.button-gold { background:var(--gold); color:var(--navy); }.button-gold:hover { background:#e2b870; }.button-navy { background:var(--navy); color:var(--white); }.button-navy:hover { background:var(--navy-2); }.button-outline-light { color:var(--white); border-color:rgba(255,255,255,.55); }.button-outline-light:hover { border-color:var(--gold); color:var(--gold); }.button-outline-navy { border-color:var(--navy); color:var(--navy); }.button-green { background:var(--green); color:#092f18; }.button-green:hover { background:#45e27e; }
.hero { position:relative; height:100svh; min-height:680px; display:flex; align-items:center; color:var(--white); background:var(--navy); overflow:hidden; }.hero-image { position:absolute; inset:0; background:linear-gradient(110deg,rgba(11,29,47,.72),rgba(11,29,47,.12)),url("https://images.unsplash.com/photo-1518548419970-58e3b4079ab2?auto=format&fit=crop&w=2200&q=84") center/cover; transform:scale(1.02); }.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,27,44,.86) 0%,rgba(10,27,44,.55) 45%,rgba(10,27,44,.08) 100%); }.hero-content { position:relative; z-index:1; padding-top:75px; }.hero h1 { max-width:700px; margin-bottom:23px; font-size:clamp(56px,8vw,100px); }.hero-copy { max-width:520px; margin-bottom:33px; color:rgba(255,255,255,.82); font-size:18px; }.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }.hero-highlights { display:flex; flex-wrap:wrap; gap:25px; margin-top:75px; padding-top:21px; border-top:1px solid rgba(255,255,255,.3); color:rgba(255,255,255,.8); font-size:12px; }.hero-highlights span { display:inline-flex; gap:9px; align-items:center; }.icon-check { display:grid; place-items:center; width:19px; height:19px; border:1px solid var(--gold); border-radius:50%; color:var(--gold); font-size:11px; font-style:normal; }.hero-note { position:absolute; right:28px; bottom:24px; z-index:1; color:rgba(255,255,255,.58); font-size:9px; letter-spacing:.13em; }
.intro-grid,.vehicle-grid,.booking-grid,.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }.intro h2 { margin-bottom:0; }.intro-copy { max-width:480px; color:var(--muted); font-size:18px; }.intro-copy p { margin-bottom:18px; }.text-link,.text-button { display:inline-flex; gap:10px; padding:0; border:0; background:none; color:var(--navy); font-size:12px; font-weight:700; }.text-link { margin-top:13px; border-bottom:1px solid var(--gold); padding-bottom:6px; }.text-link span,.text-button span { color:var(--gold); font-size:18px; transition:transform .2s; }.text-link:hover span,.text-button:hover span { transform:translateX(4px); }
.split-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:48px; }.split-heading h2 { margin-bottom:0; }.split-heading > p { max-width:370px; margin:0 0 3px; color:var(--muted); }.light-heading > p { color:rgba(255,255,255,.62); }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:17px; }.service-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); transition:transform .25s,box-shadow .25s; }.service-card:hover { transform:translateY(-5px); box-shadow:0 18px 40px rgba(16,36,58,.1); }.service-art { position:relative; height:190px; display:flex; align-items:end; justify-content:space-between; padding:18px; color:rgba(255,255,255,.83); overflow:hidden; background-position:center; background-size:cover; }.service-art::before { position:absolute; inset:0; content:""; background:linear-gradient(0deg,rgba(16,36,58,.76),transparent 70%); }.service-art span,.service-art strong { position:relative; z-index:1; font-size:9px; letter-spacing:.15em; }.service-art strong { color:var(--gold); font-family:"Manrope",sans-serif; font-size:28px; letter-spacing:-.08em; }.art-airport { background-image:url("https://images.unsplash.com/photo-1473448912268-2022ce9509d8?auto=format&fit=crop&w=700&q=80"); }.art-dropoff { background-image:url("https://images.unsplash.com/photo-1494783367193-149034c05e8f?auto=format&fit=crop&w=700&q=80"); }.art-tour { background-image:url("https://images.unsplash.com/photo-1518548419970-58e3b4079ab2?auto=format&fit=crop&w=700&q=80"); }.art-custom { background-image:url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=700&q=80"); }.service-body { padding:25px 23px 28px; }.card-kicker,.form-label,.footer-title { margin-bottom:13px; color:var(--gold); font-size:10px; font-weight:700; letter-spacing:.15em; }.service-body p:not(.card-kicker) { min-height:100px; color:var(--muted); font-size:13px; }.text-button { font-size:11px; }
.vehicle { background:var(--white); }.vehicle-visual { position:relative; min-height:560px; }.vehicle-placeholder { position:absolute; inset:0 50px 0 0; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:var(--radius); color:var(--navy); background:linear-gradient(135deg,#e5edf2,#d0dce2); text-align:center; }.vehicle-placeholder::before { position:absolute; inset:18px; border:1px dashed rgba(16,36,58,.25); border-radius:12px; content:""; }.placeholder-icon { margin-bottom:13px; font-size:55px; font-weight:400; line-height:1; }.vehicle-placeholder strong,.gallery-placeholder strong { position:relative; font-family:"Manrope",sans-serif; font-size:13px; letter-spacing:.05em; }.vehicle-placeholder small,.gallery-placeholder small { position:relative; margin-top:7px; color:var(--muted); font-size:11px; }.vehicle-stamp { position:absolute; right:0; bottom:42px; display:grid; place-items:center; width:118px; height:118px; border-radius:50%; background:var(--gold); color:var(--navy); font-family:"Manrope",sans-serif; font-size:17px; font-weight:800; line-height:1.05; text-align:center; }.vehicle-stamp span { font-size:10px; letter-spacing:.12em; }.vehicle-copy > p:not(.eyebrow) { max-width:500px; margin-bottom:26px; color:var(--muted); }.vehicle-details { display:grid; grid-template-columns:repeat(2,1fr); gap:18px 28px; margin:30px 0 34px; }.vehicle-details div { display:grid; grid-template-columns:28px 1fr; column-gap:9px; }.detail-icon { grid-row:span 2; color:var(--gold); font-size:21px; }.vehicle-details strong { font-size:13px; }.vehicle-details small { color:var(--muted); font-size:11px; }
.benefit-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:25px; margin-top:66px; }.benefit { padding-top:19px; border-top:1px solid rgba(255,255,255,.28); }.benefit-number { display:block; margin-bottom:34px; color:var(--gold); font-size:12px; font-weight:700; }.benefit h3 { font-size:20px; }.benefit p { margin:0; color:rgba(255,255,255,.6); font-size:13px; }
.booking { background:#f4efe8; }.booking-aside { align-self:start; }.booking-aside > p:not(.eyebrow) { max-width:390px; color:var(--muted); }.request-note { display:flex; gap:14px; max-width:390px; margin:35px 0 34px; padding:18px; border-left:3px solid var(--gold); background:rgba(255,255,255,.56); }.request-note > span { color:var(--gold); }.request-note strong { display:block; margin-bottom:4px; font-family:"Manrope",sans-serif; font-size:13px; }.request-note p { margin:0; color:var(--muted); font-size:12px; }.whatsapp-line { display:flex; align-items:center; gap:9px; width:max-content; max-width:100%; color:var(--navy); font-size:12px; font-weight:700; }.whatsapp-line > span:last-child { margin-left:3px; color:var(--gold); font-size:17px; }.whatsapp-dot { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--green); color:#073419; font-size:15px; }.form-panel { padding:38px; border:1px solid rgba(16,36,58,.12); border-radius:var(--radius); background:var(--white); box-shadow:0 18px 60px rgba(16,36,58,.06); }.form-section + .form-section { margin-top:36px; }.form-label { padding-bottom:12px; border-bottom:1px solid var(--line); color:var(--navy); }.form-grid { display:grid; gap:18px; }.two-col { grid-template-columns:1fr 1fr; }.form-grid label { display:flex; flex-direction:column; gap:7px; color:var(--navy); font-size:12px; font-weight:700; }.form-grid label > span { color:#bc6d52; }.form-grid label small { color:var(--muted); font-size:10px; font-weight:400; }.form-grid input,.form-grid select,.form-grid textarea { width:100%; padding:12px 13px; border:1px solid var(--line); border-radius:8px; outline:none; color:var(--ink); background:var(--white); font-size:13px; font-weight:400; transition:border .2s,box-shadow .2s; }.form-grid textarea { resize:vertical; }.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(213,167,92,.16); }.full-width { grid-column:1/-1; }.conditional-section { margin-top:36px; padding-top:1px; }.form-actions { display:flex; align-items:center; gap:20px; margin-top:36px; padding-top:25px; border-top:1px solid var(--line); }.form-actions p { max-width:270px; margin:0; color:var(--muted); font-size:10px; line-height:1.45; }.button-submit:disabled { opacity:.7; cursor:wait; }.spinner { display:inline-block; width:13px; height:13px; border:2px solid rgba(255,255,255,.45); border-top-color:var(--white); border-radius:50%; animation:spin .7s linear infinite; }.honeypot { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }.form-status { margin-bottom:25px; padding:16px 18px; border-radius:10px; font-size:13px; }.form-status strong { display:block; margin-bottom:4px; font-family:"Manrope",sans-serif; }.form-status p { margin:0 0 7px; color:var(--muted); font-size:12px; }.form-status.success { border:1px solid #b9e9c8; background:#effcf2; }.form-status.error { border:1px solid #efc5b8; background:#fff5f1; }.status-reference { display:block; color:var(--navy); font-size:11px; font-weight:700; }.status-button { margin-top:14px; min-height:40px; }
.gallery-grid { display:grid; grid-template-columns:1.3fr .8fr .8fr; grid-template-rows:270px 180px; gap:14px; }.gallery-item { position:relative; overflow:hidden; min-height:0; padding:0; border:0; border-radius:var(--radius); background:var(--navy); text-align:left; }.gallery-item img { width:100%; height:100%; object-fit:cover; opacity:.9; transition:transform .35s,opacity .35s; }.gallery-item:hover img { transform:scale(1.04); opacity:.72; }.gallery-item span { position:absolute; bottom:16px; left:18px; color:var(--white); font-size:10px; font-weight:700; letter-spacing:.08em; text-shadow:0 2px 10px rgba(0,0,0,.4); }.gallery-large { grid-row:span 2; }.gallery-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:180px; border:1px dashed #b6c2cc; border-radius:var(--radius); background:#e4ebef; color:var(--navy); text-align:center; }.gallery-placeholder .placeholder-icon { margin-bottom:4px; font-size:39px; }
.contact { background:var(--white); }.contact-grid { align-items:start; }.contact > .container > div:first-child > p:not(.eyebrow) { max-width:430px; color:var(--muted); }.contact-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }.contact-card { padding:36px; border-radius:var(--radius); background:var(--tint); }.contact-card dl { margin:0; }.contact-card dl div { padding:16px 0; border-bottom:1px solid var(--line); }.contact-card dl div:first-child { padding-top:0; }.contact-card dt { margin-bottom:3px; color:var(--muted); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }.contact-card dd { margin:0; color:var(--navy); font-size:15px; font-weight:700; }.contact-card dd a:hover { color:var(--gold); }.contact-note { margin:22px 0 0; color:var(--muted); font-size:11px; }.contact-note code { color:var(--navy); }
.site-footer { padding:70px 0 25px; color:rgba(255,255,255,.68); background:var(--navy); }.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:60px; padding-bottom:57px; }.brand-footer { color:var(--white); }.footer-grid > div:first-child > p { max-width:280px; margin:24px 0 0; font-size:13px; }.footer-title { color:var(--gold); }.footer-grid > div:not(:first-child) a { display:block; margin:0 0 10px; font-size:12px; }.footer-grid > div:not(:first-child) a:hover { color:var(--gold); }.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:20px; border-top:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.46); font-size:10px; }
.floating-whatsapp { position:fixed; right:22px; bottom:22px; z-index:8; display:flex; align-items:center; gap:7px; padding:12px 16px; border-radius:999px; color:#052b13; background:var(--green); box-shadow:0 10px 28px rgba(0,0,0,.16); font-size:11px; }.floating-whatsapp span { font-size:18px; }.floating-whatsapp:hover { transform:translateY(-2px); }
.lightbox { position:fixed; inset:0; z-index:30; display:grid; place-items:center; padding:40px; background:rgba(5,15,25,.92); }.lightbox[hidden] { display:none; }.lightbox img { max-height:80vh; max-width:min(100%,1000px); border-radius:10px; }.lightbox p { margin:14px 0 0; color:rgba(255,255,255,.78); font-size:12px; }.lightbox-close { position:absolute; top:18px; right:25px; color:var(--white); border:0; background:none; font-size:38px; font-weight:300; }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .65s,transform .65s; }.reveal.is-visible { opacity:1; transform:none; }@keyframes spin { to { transform:rotate(360deg); } }
@media (max-width:900px) { .section-pad { padding:82px 0; }.hero { min-height:720px; }.service-grid { grid-template-columns:repeat(2,1fr); }.benefit-grid { grid-template-columns:repeat(2,1fr); row-gap:40px; }.intro-grid,.vehicle-grid,.booking-grid,.contact-grid { gap:45px; }.split-heading { align-items:start; flex-direction:column; gap:18px; }.split-heading > p { margin:0; }.vehicle-visual { min-height:450px; }.gallery-grid { grid-template-columns:1fr 1fr; grid-template-rows:230px 170px; }.gallery-large { grid-row:span 2; }.gallery-tall { grid-row:span 1; }.footer-grid { gap:25px; } }
@media (max-width:680px) { .container { width:min(calc(100% - 34px),var(--max)); }.header-inner { min-height:74px; }.menu-toggle { display:block; }.site-nav { position:absolute; top:73px; left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:14px 17px 20px; background:rgba(16,36,58,.98); box-shadow:0 18px 25px rgba(0,0,0,.12); }.site-nav.is-open { display:flex; }.site-nav a:not(.button) { padding:12px 0; border-bottom:1px solid rgba(255,255,255,.1); }.site-nav .button { margin-top:14px; }.hero { height:auto; min-height:100svh; }.hero-content { padding-top:70px; padding-bottom:96px; }.hero h1 { font-size:57px; }.hero-copy { font-size:16px; }.hero-highlights { gap:12px; margin-top:50px; }.hero-highlights span { width:100%; }.hero-note { right:14px; bottom:14px; font-size:8px; }.intro-grid,.vehicle-grid,.booking-grid,.contact-grid { grid-template-columns:1fr; }.intro-copy { font-size:16px; }.service-grid { grid-template-columns:1fr; }.service-art { height:210px; }.service-body p:not(.card-kicker) { min-height:0; margin-bottom:25px; }.vehicle-visual { min-height:370px; }.vehicle-placeholder { right:25px; }.vehicle-stamp { width:88px; height:88px; right:0; bottom:25px; font-size:13px; }.vehicle-stamp span { font-size:8px; }.vehicle-details { gap:18px 8px; }.benefit-grid { grid-template-columns:1fr 1fr; gap:30px 15px; margin-top:45px; }.benefit-number { margin-bottom:18px; }.benefit h3 { font-size:18px; }.form-panel { padding:22px 17px; }.two-col { grid-template-columns:1fr; }.form-actions { align-items:stretch; flex-direction:column; gap:12px; }.form-actions .button { width:100%; }.gallery-grid { grid-template-columns:1fr 1fr; grid-template-rows:190px 150px; gap:9px; }.gallery-large { grid-row:span 2; }.gallery-item span { left:11px; bottom:11px; font-size:8px; }.gallery-placeholder { min-height:150px; }.contact-card { padding:25px 20px; }.footer-grid { grid-template-columns:1fr 1fr; }.footer-grid > div:first-child { grid-column:1/-1; }.footer-bottom { align-items:flex-start; flex-direction:column; gap:7px; }.floating-whatsapp { right:14px; bottom:14px; padding:10px 13px; }.floating-whatsapp b { display:none; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.reveal { opacity:1; transform:none; transition:none; }.button,.gallery-item img { transition:none; } }
.vehicle-placeholder { overflow:hidden; }
.vehicle-placeholder::before { z-index:1; border-color:rgba(255,255,255,.72); pointer-events:none; }
.vehicle-placeholder::after { position:absolute; inset:0; z-index:1; content:""; background:linear-gradient(0deg,rgba(16,36,58,.5),transparent 45%); pointer-events:none; }
.vehicle-placeholder img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.demo-badge { position:absolute; z-index:2; left:22px; bottom:22px; padding:6px 9px; border:1px solid rgba(255,255,255,.48); border-radius:999px; color:var(--white); background:rgba(16,36,58,.7); font-size:9px; font-weight:700; letter-spacing:.08em; }
