:root{--ink:#071218;--ink-2:#0d2025;--cream:#f5f1e9;--gold:#d89b58;--line:rgba(245,241,233,.2);--muted:#a8b1ad}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer;border:0;color:inherit}.section-wrap{max-width:1240px;margin:auto;padding-left:42px;padding-right:42px}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;max-width:1325px;margin:auto;padding:0 42px;border-bottom:1px solid var(--line)}.brand{font-size:23px;letter-spacing:.25em;font-weight:800}.brand i{color:var(--gold);font-family:Georgia,serif;font-style:italic;letter-spacing:0}.main-nav{display:flex;gap:34px;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.main-nav a:hover,.socials a:hover,.arrow-link:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:24px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.text-button{background:none;color:var(--muted)}.outline-button{border:1px solid var(--line);padding:12px 17px;background:transparent}.outline-button span,.primary-button span{color:var(--gold);margin-left:13px}.menu-button{display:none;background:none;font-size:24px}.hero{min-height:620px;display:grid;grid-template-columns:42% 58%;align-items:center;padding-top:54px;padding-bottom:74px}.eyebrow{font:11px 'DM Mono',monospace;letter-spacing:.13em;color:var(--muted);margin:0 0 24px;display:flex;align-items:center;gap:10px}.eyebrow-line{display:inline-block;width:30px;height:1px;background:var(--gold)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(64px,8vw,112px);line-height:.87;letter-spacing:-.07em;margin:0 0 28px;font-weight:500}.hero h1 em,h2 em{font-family:'Playfair Display',serif;font-weight:500;color:var(--gold);letter-spacing:-.04em}.hero-lede{font-size:16px;line-height:1.7;color:var(--muted);margin-bottom:38px}.primary-button{background:var(--gold);color:var(--ink);font-weight:800;padding:16px 22px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;transition:transform .25s,background .25s}.primary-button:hover{background:#e7b474;transform:translateY(-2px)}.hero-proof{display:flex;align-items:center;gap:15px;margin-top:58px}.avatars{display:flex}.avatars span,.avatars b{width:30px;height:30px;border-radius:50%;background:#30464a;border:2px solid var(--ink);font-size:8px;display:grid;place-items:center;margin-left:-7px}.avatars span:first-child{margin-left:0;background:#986e52}.avatars span:nth-child(2){background:#7b8578}.avatars b{background:var(--gold);color:var(--ink)}.hero-proof p{font-size:12px;line-height:1.35;margin:0}.hero-proof small{color:var(--muted);font-size:10px}.hero-visual{position:relative;padding-left:28px}.hero-image{height:535px;overflow:hidden;position:relative}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,18,24,.15),transparent 50%),linear-gradient(0deg,rgba(7,18,24,.48),transparent 30%)}.hero-image img,.car-image img,.experience-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82)}.image-label{position:absolute;bottom:22px;left:53px;z-index:1;font:11px 'DM Mono',monospace;color:var(--cream);letter-spacing:.08em}.image-label strong{display:block;font:14px Manrope,sans-serif;margin-top:7px;letter-spacing:0}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold);margin-right:7px}.hero-vertical{position:absolute;right:-18px;top:65px;writing-mode:vertical-rl;font:10px 'DM Mono',monospace;color:var(--muted);letter-spacing:.13em}.hero-stamp{position:absolute;right:28px;bottom:25px;z-index:2;text-align:right;font-size:14px;letter-spacing:.2em}.hero-stamp small{font:8px 'DM Mono',monospace;letter-spacing:.08em;color:var(--gold)}.search-panel{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:0;border:1px solid var(--line);background:rgba(14,32,37,.8);padding:0}.field{padding:22px 25px;border-right:1px solid var(--line)}.field label{display:block;font:10px 'DM Mono',monospace;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:10px}.select-like{width:100%;background:none;text-align:left;font-size:13px}.select-like span{float:right;color:var(--gold)}.search-button{background:var(--gold);color:var(--ink);padding:0 30px;font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.search-button span{font-size:22px;margin-left:12px}.fleet{padding-top:135px;padding-bottom:120px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end}.section-heading h2,.experience h2,.how h2,.modal-card h2{font-size:58px;line-height:.95;letter-spacing:-.065em;font-weight:500;margin:0}.arrow-link{font:11px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);padding-bottom:5px;border-bottom:1px solid var(--gold)}.arrow-link span{color:var(--gold);font-size:16px;margin-left:10px}.fleet-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin:58px 0 32px}.tab{background:none;color:var(--muted);padding:0 0 15px;font:11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.1em;position:relative}.tab.active,.tab:hover{color:var(--cream)}.tab.active:after{content:"";position:absolute;height:2px;background:var(--gold);bottom:-1px;left:0;right:0}.car-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.car-image{height:260px;position:relative;overflow:hidden;background:#14272b}.car-image img{transition:transform .6s}.car-card:hover .car-image img{transform:scale(1.04)}.tag{position:absolute;top:14px;left:14px;background:var(--gold);color:var(--ink);font:9px 'DM Mono',monospace;padding:7px 9px;text-transform:uppercase}.tag.muted{background:rgba(7,18,24,.7);color:var(--cream);border:1px solid var(--line)}.heart{position:absolute;right:14px;top:10px;background:none;font-size:25px}.car-meta{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line)}.car-brand{font:9px 'DM Mono',monospace;color:var(--gold);letter-spacing:.12em;margin-bottom:8px}.car-meta h3{font-size:18px;margin-bottom:8px;letter-spacing:-.03em}.car-spec{font-size:11px;color:var(--muted);margin:0}.price{text-align:right;margin:25px 0 0;font-size:11px}.price strong{display:block;font-size:15px;color:var(--gold)}.price small{color:var(--muted)}.experience{display:grid;grid-template-columns:57% 43%;align-items:center;background:var(--ink-2);padding-top:72px;padding-bottom:72px}.experience-image{height:400px;margin-left:-42px}.experience-copy{padding-left:74px;max-width:470px}.experience-copy h2{margin-bottom:25px}.experience-copy>p:not(.eyebrow){color:var(--muted);line-height:1.8;font-size:14px;margin-bottom:32px}.how{padding-top:125px;padding-bottom:135px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:70px;margin-top:80px}.step{border-top:1px solid var(--line);padding-top:20px}.step-no{font:11px 'DM Mono',monospace;color:var(--gold)}.step h3{font-size:20px;margin:40px 0 15px}.step p{font-size:13px;line-height:1.75;color:var(--muted);max-width:260px}.site-footer{border-top:1px solid var(--line);padding-top:40px;padding-bottom:30px}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between}.footer-top>p{font-family:'Playfair Display',serif;font-style:italic;color:var(--muted);font-size:17px}.socials{display:flex;gap:20px;font:10px 'DM Mono',monospace;color:var(--muted)}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;margin-top:38px;font:9px 'DM Mono',monospace;color:var(--muted);letter-spacing:.05em}.modal{display:none;position:fixed;inset:0;z-index:20}.modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(7px)}.modal-card{position:relative;background:var(--cream);color:var(--ink);width:min(500px,calc(100% - 32px));margin:7vh auto;padding:46px 42px;animation:rise .35s ease}.modal-card .eyebrow{color:#5b6a68}.modal-card h2{font-size:48px;margin-bottom:28px}.modal-close{position:absolute;right:18px;top:14px;background:none;color:var(--ink);font-size:25px}.modal-card label{display:block;font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em;margin:18px 0}.modal-card input,.modal-card select{display:block;width:100%;border:0;border-bottom:1px solid #c5c7bd;background:transparent;padding:11px 0;font-size:14px;outline:none}.modal-card .primary-button{margin-top:18px;width:100%}.form-note{font-size:12px;color:#54706b;margin:18px 0 0}.label-hint{font:10px Manrope;color:#8b9791;text-transform:none}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.preview-grid img{width:100%;height:75px;object-fit:cover}.upload-card{max-height:86vh;overflow:auto}@keyframes rise{from{transform:translateY(25px);opacity:0}to{transform:translateY(0);opacity:1}}.reveal{animation:reveal .8s both}.reveal:nth-child(2){animation-delay:.12s}.reveal:nth-child(3){animation-delay:.24s}@keyframes reveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(max-width:800px){.section-wrap{padding-left:22px;padding-right:22px}.site-header{padding:0 22px;height:72px}.main-nav,.header-actions{display:none}.menu-button{display:block}.hero{grid-template-columns:1fr;padding-top:56px}.hero-visual{padding:0;margin-top:55px}.hero-image{height:390px}.hero-vertical{right:-7px}.hero-stamp{right:16px}.search-panel{grid-template-columns:1fr 1fr;margin-top:0}.field{padding:18px}.field:first-child{grid-column:span 2}.search-button{min-height:58px;grid-column:span 2}.fleet{padding-top:90px;padding-bottom:90px}.section-heading h2,.experience h2,.how h2{font-size:46px}.section-heading{align-items:flex-start;gap:20px;flex-direction:column}.fleet-tabs{margin-top:42px;overflow:auto;gap:21px}.car-grid{grid-template-columns:1fr}.car-image{height:260px}.experience{grid-template-columns:1fr;padding-top:0;padding-bottom:62px}.experience-image{height:300px;margin:0 -22px 44px}.experience-copy{padding:0}.how{padding-top:85px;padding-bottom:95px}.steps{grid-template-columns:1fr;gap:42px;margin-top:56px}.step h3{margin-top:25px}.footer-top,.footer-bottom{flex-wrap:wrap;gap:18px}.footer-top>p{order:3;width:100%}.footer-bottom{line-height:1.7}.modal-card{padding:38px 24px}.desktop-only{display:none}}
@media(max-width:800px){.site-header{position:relative}.main-nav.menu-open{display:flex;position:absolute;z-index:10;top:72px;left:0;right:0;flex-direction:column;gap:0;padding:18px 22px;background:var(--ink-2);border-bottom:1px solid var(--line)}.main-nav.menu-open a{padding:14px 0;border-bottom:1px solid var(--line)}.main-nav.menu-open a:last-child{border-bottom:0}}

/* Softer editorial spacing and rounded search frame */
.hero h1{line-height:.94;letter-spacing:-.055em}
.hero h1 em{letter-spacing:-.025em}
.search-panel{border-radius:10px;overflow:hidden}
.location-field{min-width:0}.location-selects{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.location-selects .select-like{border:1px solid var(--line);padding:10px 12px;color:var(--cream);background:var(--ink-2);font-size:12px;appearance:auto;color-scheme:dark}.location-selects .select-like option{background:var(--ink-2);color:var(--cream)}.location-selects .select-like:disabled{color:var(--muted);background:rgba(13,32,37,.65);cursor:not-allowed}.date-input{width:100%;border:0;background:transparent;color:var(--cream);font-size:13px;outline:none;color-scheme:dark;padding:9px 0}.date-input::-webkit-calendar-picker-indicator{filter:invert(72%) sepia(35%) saturate(700%) hue-rotate(350deg);cursor:pointer}@media(max-width:800px){.location-field{grid-column:span 2}.location-selects{grid-template-columns:1fr}.date-field{grid-column:span 1}.location-selects .select-like{min-height:42px}}
.location-field{min-width:0}.location-selects{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.location-selects .select-like{border:1px solid var(--line);padding:10px 12px;color:var(--cream);font-size:12px;appearance:auto}.location-selects .select-like:disabled{color:var(--muted);cursor:not-allowed}.date-input{width:100%;border:0;background:transparent;color:var(--cream);font-size:13px;outline:none;color-scheme:dark;padding:9px 0}.date-input::-webkit-calendar-picker-indicator{filter:invert(72%) sepia(35%) saturate(700%) hue-rotate(350deg);cursor:pointer}@media(max-width:800px){.location-field{grid-column:span 2}.location-selects{grid-template-columns:1fr}.date-field{grid-column:span 1}.location-selects .select-like{min-height:42px}}
.location-selects .select-like{background-color:#0d2025!important;color:#ffffff!important;font-weight:600}.location-selects .select-like option{background-color:#ffffff!important;color:#071218!important;font-weight:500}.location-selects .select-like:disabled{color:#8f9b98!important;background-color:#14282d!important}.date-input{color:#ffffff!important;font-weight:600}


/* VIP legal footer and policy modal */
.footer-bottom { align-items:center; color:#61758a; display:flex; font-family:"Plus Jakarta Sans",sans-serif; font-size:11px; justify-content:space-between; letter-spacing:1.5px; line-height:1.6; text-transform:uppercase; }
.footer-bottom > span { color:#61758a; }
.footer-legal { align-items:center; display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
.footer-legal a { color:#61758a; transition:color .25s ease; }
.footer-legal a:hover,.footer-legal a:focus-visible { color:#d19a5b; }
.footer-legal > span { color:#61758a; }
.policy-modal { align-items:center; display:flex; justify-content:center; opacity:0; pointer-events:none; transition:opacity .3s ease; }
.policy-modal.open { opacity:1; pointer-events:auto; }
.policy-modal .modal-backdrop { background:rgba(0,0,0,.75); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); inset:0; position:absolute; }
.policy-card { background:#0e1720; border:1px solid #223344; border-radius:12px; box-shadow:0 24px 80px rgba(0,0,0,.45); max-height:min(720px,calc(100vh - 48px)); max-width:680px; opacity:0; overflow:hidden; padding:42px 44px 34px; position:relative; transform:scale(.95); transition:opacity .3s ease,transform .3s cubic-bezier(.22,1,.36,1); width:calc(100% - 32px); z-index:1; }
.policy-modal.open .policy-card { opacity:1; transform:scale(1); }
.policy-card .modal-close { color:#8da2b5; font-size:18px; line-height:1; position:absolute; right:20px; top:18px; transition:color .2s ease,transform .2s ease; }
.policy-card .modal-close:hover,.policy-card .modal-close:focus-visible { color:#d19a5b; transform:rotate(90deg); }
.policy-card h2 { color:#d19a5b; font-family:"Plus Jakarta Sans",sans-serif; font-size:clamp(26px,4vw,38px); font-weight:700; line-height:1.15; margin:0 0 28px; }
.policy-card h2 em { color:#d19a5b; font-family:"Playfair Display",Georgia,serif; font-weight:500; }
.policy-content { max-height:470px; overflow-y:auto; padding-right:18px; scrollbar-color:#61758a #16232e; scrollbar-width:thin; }
.policy-content::-webkit-scrollbar { width:4px; }
.policy-content::-webkit-scrollbar-track { background:#16232e; }
.policy-content::-webkit-scrollbar-thumb { background:#61758a; border-radius:4px; }
.policy-content section { border-top:1px solid #223344; padding:22px 0; }
.policy-content section:first-child { padding-top:4px; }
.policy-content h3 { color:#fff; font-family:"Plus Jakarta Sans",sans-serif; font-size:13px; font-weight:700; letter-spacing:1.5px; margin:0 0 11px; text-transform:uppercase; }
.policy-content p { color:rgba(255,255,255,.68); font-family:"Plus Jakarta Sans",sans-serif; font-size:14px; line-height:1.75; margin:0; }
@media (max-width:700px) { .footer-bottom { align-items:flex-start; flex-direction:column; gap:14px; } .footer-legal { justify-content:flex-start; } .policy-card { padding:36px 24px 24px; } .policy-content { max-height:calc(100vh - 220px); padding-right:10px; } }



/* Clickable vehicle cards */
.car-card { cursor:pointer; outline:none; transition:transform .25s ease, opacity .25s ease; }
.car-card:hover { transform:translateY(-5px); }
.car-card:focus-visible { box-shadow:0 0 0 2px var(--gold); }
.car-card .heart { z-index:2; }

/* Vehicle detail page */
.detail-page { min-height:100vh; background:var(--ink); }
.detail-header { max-width:1325px; margin:auto; padding:24px 42px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.detail-back { color:var(--muted); font-size:12px; letter-spacing:1.5px; text-transform:uppercase; transition:color .2s ease; }
.detail-back:hover { color:var(--gold); }
.detail-main { max-width:1240px; margin:auto; padding:72px 42px 100px; }
.detail-layout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr); gap:72px; align-items:center; }
.detail-image { aspect-ratio:1.35; overflow:hidden; background:var(--ink-2); }
.detail-image img { width:100%; height:100%; display:block; object-fit:cover; }
.detail-copy .car-brand { margin-bottom:12px; }
.detail-copy h1 { margin:0 0 18px; color:#fff; font-size:clamp(40px,5vw,72px); line-height:1; letter-spacing:-2px; }
.detail-spec { color:var(--muted); font-size:15px; line-height:1.7; margin:0 0 26px; }
.detail-price { color:var(--gold); font-size:28px; font-weight:700; margin:0 0 30px; }
.detail-price small { color:var(--muted); font-size:12px; font-weight:400; margin-left:7px; }
.detail-description { border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--muted); line-height:1.8; padding:22px 0; margin-bottom:28px; }
.detail-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:72px; }
.detail-benefit { border-top:1px solid var(--line); padding-top:18px; }
.detail-benefit strong { display:block; color:#fff; font-size:13px; margin-bottom:7px; }
.detail-benefit span { color:var(--muted); font-size:12px; line-height:1.5; }
.detail-empty { text-align:center; padding:120px 20px; }
.detail-empty h1 { color:#fff; }
@media (max-width:800px) { .detail-header { padding:20px 22px; } .detail-main { padding:42px 22px 70px; } .detail-layout { grid-template-columns:1fr; gap:38px; } .detail-image { aspect-ratio:1.2; } .detail-benefits { margin-top:52px; } }
@media (max-width:520px) { .detail-copy h1 { font-size:42px; } .detail-benefits { grid-template-columns:1fr; } }


/* Expanded fleet categories and cards */
.fleet-tabs { display:flex; flex-wrap:wrap; gap:24px; overflow-x:auto; }
.fleet-tabs .tab { white-space:nowrap; }
.car-grid { transition:opacity .16s ease, transform .16s ease; }
.car-grid.fleet-transitioning { opacity:0; transform:scale(.985); }
.fleet-card-visible { animation:fleetCardIn .38s ease both; }
@keyframes fleetCardIn { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
.card-book-button { width:100%; margin-top:18px; padding:12px 0; border-top:1px solid var(--line); background:transparent; color:var(--cream); font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; text-align:left; }
.card-book-button span { color:var(--gold); margin-left:10px; }
.card-book-button:hover { color:var(--gold); }
.booking-error { color:#d97870 !important; font-size:12px; line-height:1.5; }

/* Admin authentication */
#auth-screen { display:flex; min-height:100vh; align-items:center; justify-content:center; }
#auth-screen[style*="display: none"] { display:none !important; }
#admin-dashboard { display:none; min-height:100vh; }
#admin-dashboard[style*="display: block"] { display:block; }
.admin-login { width:100%; min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 50% 0%, rgba(38,65,82,.28), transparent 32rem), var(--admin-bg); }
.admin-login-card { width:min(100%, 460px); padding:44px; background:var(--admin-surface); border:1px solid var(--admin-line-soft); box-shadow:0 24px 80px rgba(0,0,0,.35); }
.admin-login-card h1 { margin:0 0 14px; color:var(--admin-text); font-size:clamp(34px,6vw,52px); line-height:1; }
.admin-login-card h1 em { color:var(--admin-gold); font-family:Georgia,serif; font-weight:500; }
.admin-login-intro { margin:0 0 28px; color:var(--admin-muted); line-height:1.7; }
.admin-login-card label { display:grid; gap:8px; margin:16px 0; color:var(--admin-muted); font-size:11px; letter-spacing:1.4px; text-transform:uppercase; }
.admin-login-card input { width:100%; padding:13px; border:1px solid var(--admin-line-soft); background:var(--admin-bg); color:var(--admin-text); outline:none; }
.admin-login-card input:focus { border-color:var(--admin-gold); }
.admin-login-card .button { width:100%; margin-top:10px; }
.admin-login-error { margin:16px 0 0; color:#e58b83; font-size:12px; }
.button-logout { border-color:var(--admin-line-soft); background:transparent; color:var(--admin-gold); }
.button-logout:hover { background:var(--admin-gold-soft); }
@media(max-width:560px) { .admin-login-card { padding:30px 22px; } .fleet-tabs { gap:16px; } }



/* Car category filter */
.fleet-tabs .tab {
  position: relative;
  color: #8da2b5;
  background: transparent;
  border-bottom: 2px solid transparent;
  padding: 0 0 12px;
  transition: color .25s ease, border-color .25s ease;
}
.fleet-tabs .tab:hover,
.fleet-tabs .tab:focus-visible {
  color: #ffffff;
}
.fleet-tabs .tab.active {
  color: #ffffff;
  border-bottom-color: #d19a5b;
}
.car-grid .car-card[style*="display: none"] {
  display: none !important;
}
.car-grid .car-card[style*="display: block"] {
  display: block;
}
.car-grid .car-card.fleet-card-visible {
  animation: fleetCardIn .38s ease both;
}
@media (prefers-reduced-motion: reduce) {
  .car-grid .car-card.fleet-card-visible,
  .car-grid,
  .fleet-tabs .tab {
    animation: none;
    transition: none;
  }
}

/* Dark Luxury SEO content sections */
.lux-section,.guarantees-section,.faq-section{padding-top:110px;padding-bottom:110px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.info-card{min-height:250px;padding:28px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(13,32,37,.9),rgba(7,18,24,.5));display:flex;flex-direction:column}.info-card h3{margin:25px 0 12px;font-size:22px;font-weight:500}.info-card p,.journey-step p,.guarantee-copy>p,.guarantee-item p,.section-intro{color:var(--muted);font-size:13px;line-height:1.75}.info-card .arrow-link{margin-top:auto}.card-number,.journey-step>span{color:var(--gold);font:12px 'DM Mono',monospace;letter-spacing:.12em}.journey-section{border-top:1px solid var(--line)}.journey-section .section-heading{display:flex;justify-content:space-between;align-items:end}.section-intro{max-width:300px;margin:0 0 5px}.journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:50px}.journey-step{border-top:1px solid var(--line);padding-top:20px}.journey-step h3{font-size:16px;font-weight:500;line-height:1.35;margin:24px 0 10px}.guarantees-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;border-top:1px solid var(--line)}.guarantee-copy h2{font-size:clamp(42px,5vw,68px);line-height:.95;font-weight:500;margin:0 0 25px}.guarantee-list{border-top:1px solid var(--line)}.guarantee-item{display:flex;gap:22px;padding:24px 0;border-bottom:1px solid var(--line)}.guarantee-item>span{color:var(--gold);font-size:22px}.guarantee-item h3{font-size:16px;font-weight:500;margin:0 0 8px}.guarantee-item p{margin:0}.faq-section{border-top:1px solid var(--line)}.faq-list{max-width:850px;margin-left:auto}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;padding:24px 0;background:none;text-align:left;display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:500}.faq-question span{color:var(--gold);font-size:22px;transition:transform .2s}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.faq-answer p{overflow:hidden;color:var(--muted);font-size:13px;line-height:1.7;margin:0}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-item.open .faq-question span{transform:rotate(45deg)}
.availability{position:absolute;bottom:14px;left:14px;color:#d7e8d7;background:rgba(7,18,24,.8);padding:6px 9px;font-size:10px;letter-spacing:.05em}.availability i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#74c878;margin-right:5px}.car-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.car-specs span{display:flex;flex-direction:column;gap:4px;min-width:0}.car-specs b{color:var(--gold);font-size:12px}.car-specs small{color:var(--muted);font-size:9px}.car-specs strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}


.sticky-contact{position:fixed;right:22px;bottom:22px;z-index:20;display:flex;align-items:center;gap:8px;padding:8px 10px;background:rgba(13,32,37,.94);border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.3);backdrop-filter:blur(12px)}.sticky-contact a{display:flex;align-items:center;gap:6px;padding:7px 9px;color:var(--muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.sticky-contact a:hover{color:var(--gold)}.sticky-contact b{color:var(--gold);font-size:14px}.sticky-contact-label{padding:0 7px;color:var(--cream);font-size:10px;letter-spacing:.08em;text-transform:uppercase}@media(max-width:800px){.lux-section,.guarantees-section,.faq-section{padding-top:75px;padding-bottom:75px}.service-grid,.journey-grid{grid-template-columns:repeat(2,1fr)}.guarantees-section{grid-template-columns:1fr;gap:42px}.journey-section .section-heading{display:block}.section-intro{margin-top:22px}.car-specs strong{font-size:9px}.sticky-contact{right:10px;left:10px;bottom:10px;justify-content:space-around}.sticky-contact-label{display:none}.sticky-contact a{flex:1;justify-content:center;flex-direction:column;gap:3px}}@media(max-width:520px){.service-grid,.journey-grid{grid-template-columns:1fr}.info-card{min-height:220px}.car-specs{gap:4px}.car-specs small{font-size:8px}.sticky-contact{padding:5px}.sticky-contact a{font-size:9px}}



/* Thuê Xe Sang Hà Nội — Dark Luxury motion layer */
:root { --gold-champagne:#d19a5b; --ease-luxury:cubic-bezier(.16,1,.3,1); }

/* The drawer header and CTA belong to the mobile menu only. */
.mobile-nav-header,
.mobile-nav-cta { display:none; }
.mobile-nav-links { display:contents; }
.site-header,.search-panel,.modal-card,.policy-card,.sticky-contact,.mobile-bottom-bar { -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.site-header { position:sticky; top:0; z-index:30; background:rgba(7,18,24,.84); }
button,input,select { min-height:46px; }
.primary-button,.outline-button,.search-button,.card-book-button,.mobile-bottom-bar button,.mobile-bottom-bar a { min-height:48px; transition:transform .25s var(--ease-luxury),box-shadow .25s var(--ease-luxury),color .25s ease,background-color .25s ease; }
.primary-button,.search-button,.mobile-bottom-bar button { position:relative; isolation:isolate; overflow:hidden; }
.primary-button::before,.search-button::before,.mobile-bottom-bar button::before { content:""; position:absolute; z-index:-1; inset:0 auto 0 -120%; width:70%; background:linear-gradient(105deg,transparent,rgba(255,255,255,.24),transparent); transform:skewX(-18deg); transition:left .65s var(--ease-luxury); }
.primary-button:hover::before,.search-button:hover::before,.mobile-bottom-bar button:hover::before { left:140%; }
.primary-button:hover,.search-button:hover,.mobile-bottom-bar button:hover { box-shadow:0 8px 24px -10px rgba(209,154,91,.7); }
.primary-button:active,.search-button:active,.outline-button:active,.card-book-button:active,.mobile-bottom-bar button:active,.mobile-bottom-bar a:active { transform:scale(.98); }
.car-card { border:1px solid transparent; transition:all .4s cubic-bezier(.16,1,.3,1); }
.car-card:hover { transform:translateY(-6px); border-color:rgba(209,154,91,.45); box-shadow:0 12px 32px -8px rgba(209,154,91,.22); }
.car-card img { transition:transform .55s var(--ease-luxury); }
.car-card:hover img { transform:scale(1.04); }
.hero-image img { transition:transform .8s var(--ease-luxury); }
.hero-visual:hover .hero-image img { transform:scale(1.025); }
.search-panel { background:rgba(13,32,37,.72); border:1px solid rgba(245,241,233,.14); }
.location-selects .select-like,.date-input,.modal-card input,.modal-card select { min-height:48px; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible { outline:2px solid var(--gold-champagne); outline-offset:3px; }
.mobile-bottom-bar { display:none; }
@media (min-width:769px) and (max-width:1024px) {
  .section-wrap { padding-left:28px; padding-right:28px; } .site-header { padding:0 28px; }
  .hero { grid-template-columns:1fr 1fr; gap:28px; } .hero h1 { font-size:clamp(58px,8vw,88px); }
  .car-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:768px) {
  body { padding-bottom:76px; overflow-x:hidden; }
  .section-wrap { padding-left:16px; padding-right:16px; }
  .site-header { height:68px; padding:0 16px; }
  .site-header > .brand { font-size:18px; letter-spacing:.16em; }
  .header-actions { display:none; }
  .menu-button { display:inline-flex; width:48px; height:48px; align-items:center; justify-content:center; font-size:0; color:var(--cream); position:relative; z-index:1000000; }
  .menu-button::before { content:"☰"; font-size:24px; }
  .menu-button[aria-expanded="true"]::before { content:"×"; }

  .mobile-nav-drawer,
  .main-nav.mobile-nav-drawer {
    position:fixed !important; top:0 !important; left:0 !important; right:auto !important;
    width:100vw !important; height:100vh !important; height:100dvh !important;
    background:#0b1319 !important; z-index:999999 !important; display:flex !important;
    flex-direction:column !important; align-items:stretch !important; gap:0 !important;
    padding:20px 24px !important; box-sizing:border-box !important;
    visibility:hidden; opacity:1; transform:translateX(100%);
    overflow-y:auto; overscroll-behavior:contain;
    transition:transform .35s cubic-bezier(.4,0,.2,1),visibility 0s linear .35s;
  }
  .mobile-nav-drawer.menu-open,
  .mobile-nav-drawer.open,
  .mobile-nav-drawer.active { visibility:visible; transform:translateX(0) !important; transition-delay:0s; }
  .mobile-nav-header { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.08); }
  .mobile-nav-header .brand { color:#fff; text-decoration:none; font-size:18px; letter-spacing:.16em; }
  .mobile-nav-close { width:44px; min-width:44px; height:44px; min-height:44px; padding:0; border:1px solid rgba(255,255,255,.16); border-radius:50%; background:transparent; color:#fff; font-size:30px; line-height:1; cursor:pointer; }
  .mobile-nav-links { display:flex; flex-direction:column; }
  .mobile-nav-links a { display:flex; align-items:center; min-height:58px; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.08); color:#fff !important; font-size:18px; font-weight:600; text-decoration:none; }
  .mobile-nav-cta { display:block; width:100%; margin-top:auto; min-height:48px; padding:14px; border:0; border-radius:4px; background:#d19a5b; color:#000; font-size:13px; font-weight:700; letter-spacing:.1em; cursor:pointer; }

  .hero { min-height:0; display:flex; flex-direction:column; align-items:stretch; gap:34px; padding-top:42px; padding-bottom:52px; }
  .hero-copy { order:1; } .hero-visual { order:2; }
  .hero h1 { font-size:clamp(32px,10vw,38px); line-height:.98; letter-spacing:-.045em; margin-bottom:20px; }
  .hero-lede { font-size:14px; margin-bottom:26px; } .hero-proof { margin-top:24px; } .hero-image { aspect-ratio:16/9; }
  .search-panel { display:flex; flex-direction:column; gap:0; margin-left:16px; margin-right:16px; padding:14px; }
  .location-field,.date-field { width:100%; } .location-selects { grid-template-columns:1fr; gap:8px; } .search-button { width:100%; margin-top:12px; }
  .fleet { padding-top:64px; } .fleet-tabs { flex-wrap:nowrap; gap:22px; margin-right:-16px; padding-bottom:12px; overflow-x:auto; white-space:nowrap; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .fleet-tabs::-webkit-scrollbar { display:none; } .fleet-tabs .tab { min-height:46px; flex:0 0 auto; } .car-grid { grid-template-columns:1fr; gap:22px; }
  .car-card .car-image,.car-card .vehicle-image,.car-card .image-wrap { aspect-ratio:16/9; } .car-card img { aspect-ratio:16/9; object-fit:cover; }
  .modal { align-items:flex-end; } .modal-card,.policy-card { width:100%; max-width:none; max-height:92vh; overflow-y:auto; border-radius:20px 20px 0 0; padding:30px 20px calc(24px + env(safe-area-inset-bottom)); animation:sheetUp .4s var(--ease-luxury); }
  .modal-card label { display:block; margin-bottom:14px; } .modal-card input,.modal-card select { width:100%; min-height:48px; }
  .mobile-bottom-bar { position:fixed; display:flex; z-index:40; left:10px; right:10px; bottom:10px; min-height:58px; padding:5px; gap:6px; border:1px solid rgba(245,241,233,.18); border-radius:12px; background:rgba(13,32,37,.92); box-shadow:0 12px 32px rgba(0,0,0,.42); }
  .mobile-bottom-bar a,.mobile-bottom-bar button { flex:1; display:flex; align-items:center; justify-content:center; gap:7px; border-radius:8px; font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
  .mobile-bottom-bar a { color:var(--cream); background:rgba(245,241,233,.08); } .mobile-bottom-bar button { color:var(--ink); background:var(--gold-champagne); } .sticky-contact { display:none; }
}
@keyframes sheetUp { from { opacity:0; transform:translateY(100%); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; } }

/* Final mobile layout corrections for narrow phone previews. */
@media (max-width:768px) {
  .hero { gap:24px; padding-top:28px; padding-bottom:40px; }
  .hero-copy.reveal,
  .hero-visual.reveal,
  .search-panel.reveal,
  .section-heading.reveal,
  .fleet-tabs.reveal { animation:none; opacity:1; transform:none; }
  .hero-copy { min-width:0; }
  .hero h1 { display:block; font-size:clamp(42px,13vw,58px); line-height:.94; margin-bottom:18px; }
  .hero-lede { max-width:34rem; }
  .hero-image { height:auto; aspect-ratio:4/3; }
  .hero-image img { object-position: center center; }
  .hero-visual { width:100%; margin-top:0; padding:0; }
  .hero-vertical { right:8px; top:24px; }
  .hero-stamp { right:14px; bottom:18px; font-size:12px; }
  .image-label { left:18px; bottom:16px; }
}

/* Final car-card normalization: one specs block, no content overflow. */
.car-card {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  width:100%;
  height:100%;
  min-width:0;
  padding:16px;
  box-sizing:border-box;
  overflow:hidden;
  background:#0e1722;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
}
.car-card .car-image {
  position:relative;
  flex:0 0 auto;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#14272b;
  border-radius:7px;
}
.car-card .car-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.car-card .car-meta {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:16px 0;
  border-bottom:0;
}
.car-card .car-meta > div { min-width:0; }
.car-card .car-brand { margin:0 0 7px; }
.car-card .car-meta h3 {
  max-width:100%;
  margin:0;
  font-size:clamp(16px,1.5vw,20px);
  line-height:1.2;
  overflow-wrap:anywhere;
}
.car-card .price {
  flex:0 0 auto;
  max-width:46%;
  margin:0;
  text-align:right;
  white-space:nowrap;
}
.car-card .price strong {
  display:block;
  font-size:clamp(13px,1.35vw,17px);
  line-height:1.2;
}
.car-card .price small { display:block; }
.car-card .car-spec { display:none !important; }
.car-card .car-specs {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  min-width:0;
  margin:0;
  padding:12px 0;
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
  color:#8da2b5;
  font-size:11px;
  text-align:center;
}
.car-card .car-specs span {
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
  gap:4px;
}
.car-card .car-specs b { color:var(--gold-champagne); font-size:11px; }
.car-card .car-specs small,
.car-card .car-specs strong {
  display:block;
  max-width:100%;
  min-width:0;
  overflow-wrap:anywhere;
  line-height:1.25;
}
.car-card .car-specs small { color:#8da2b5; font-size:10px; }
.car-card .car-specs strong { color:#f5f1e9; font-size:10px; font-weight:600; }
.car-card .card-book-button {
  flex:0 0 auto;
  width:100%;
  min-width:0;
  margin:0;
  padding:14px 0 0;
  border-top:0;
  overflow-wrap:anywhere;
}

@media (max-width:768px) {
  .car-card { padding:12px; }
  .car-card .car-image { aspect-ratio:4/3; }
  .car-card .car-meta { gap:8px; padding:12px 0; }
  .car-card .car-meta h3 { font-size:clamp(15px,5vw,18px); }
  .car-card .price { max-width:48%; }
  .car-card .price strong { font-size:clamp(12px,3.5vw,15px); }
  .car-card .car-specs {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 8px;
    padding:12px 0;
    font-size:10px;
  }
  .car-card .car-specs small { font-size:9px; }
  .car-card .car-specs strong { font-size:10px; }
}



/* Hero social proof — sharp luxury customer avatar stack */
.hero-proof {
  display: flex;
  align-items: center;
  gap: 12px;
}

.hero-proof .avatars {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.hero-proof .avatars img {
  position: relative;
  z-index: 1;
  display: block;
  width: 36px;
  height: 36px;
  margin-left: -10px;
  border: 2px solid #0b1319;
  border-radius: 50%;
  object-fit: cover;
  transition: transform .25s ease, box-shadow .25s ease;
}

.hero-proof .avatars img:first-child {
  margin-left: 0;
}

.hero-proof .avatars img:hover {
  z-index: 10;
  transform: translateY(-4px) scale(1.1);
  box-shadow: 0 4px 12px rgba(0,0,0,.4);
}

.hero-proof p {
  margin: 0;
  line-height: 1.45;
}

.hero-proof p strong {
  display: inline-block;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

.hero-proof .proof-rating-star {
  color: #d19a5b;
}

.hero-proof p small {
  color: #8da2b5;
  font-size: 11px;
  letter-spacing: .5px;
}

