/* ============================================================
   AURUM — Luxury Car Rental & Taxi · Design System
   Dark luxury · antique-gold accent · Sora + Manrope
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Manrope:wght@300;400;500;600;700&display=swap');

:root{
  /* surfaces */
  --bg:        #0a0a0b;
  --bg-2:      #0f0f11;
  --surface:   #141417;
  --surface-2: #1b1b1f;
  --surface-3: #232328;
  --line:      rgba(255,255,255,.08);
  --line-2:    rgba(255,255,255,.14);

  /* text */
  --text:   #f4f1ea;
  --muted:  #a7a39a;
  --faint:  #6f6c66;

  /* accent (themeable via Tweaks → persisted in localStorage) */
  --gold:   #B08D57;
  --gold-soft:  color-mix(in oklch, var(--gold) 70%, white);
  --gold-deep:  color-mix(in oklch, var(--gold) 70%, black);
  --gold-glow:  color-mix(in oklch, var(--gold) 35%, transparent);
  --gold-wash:  color-mix(in oklch, var(--gold) 12%, transparent);
  --gold-grad:  linear-gradient(135deg, var(--gold-soft), var(--gold) 55%, var(--gold-deep));

  /* shape */
  --r-sm: 8px;
  --r:    14px;
  --r-lg: 22px;
  --r-xl: 30px;
  --shadow:    0 24px 60px -24px rgba(0,0,0,.7);
  --shadow-lg: 0 40px 100px -30px rgba(0,0,0,.85);

  --container: 1240px;
  --nav-h: 78px;

  --f-head: 'Sora', system-ui, sans-serif;
  --f-body: 'Manrope', system-ui, sans-serif;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--f-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(900px 600px at 78% -10%, var(--gold-wash), transparent 60%),
    radial-gradient(700px 500px at -10% 110%, rgba(255,255,255,.03), transparent 55%),
    linear-gradient(180deg, #0b0b0c, #090909 60%, #070708);
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; cursor:pointer; }

h1,h2,h3,h4{ font-family:var(--f-head); font-weight:700; line-height:1.05; letter-spacing:-.02em; margin:0; }
h1{ font-size:clamp(2.6rem, 6vw, 5rem); font-weight:800; }
h2{ font-size:clamp(2rem, 4vw, 3.2rem); }
h3{ font-size:clamp(1.3rem, 2vw, 1.7rem); }
p{ margin:0 0 1em; }
::selection{ background:var(--gold); color:#0a0a0b; }

/* ── layout ───────────────────────────────────────────── */
.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:clamp(20px,4vw,40px); }
.section{ padding-block:clamp(64px,9vw,128px); position:relative; }
.section--tight{ padding-block:clamp(48px,6vw,80px); }
.center{ text-align:center; }
.stack{ display:flex; flex-direction:column; }

.eyebrow{
  display:inline-flex; align-items:center; gap:.6em;
  font-family:var(--f-head); font-size:.74rem; font-weight:600;
  letter-spacing:.32em; text-transform:uppercase; color:var(--gold);
}
.eyebrow::before{ content:""; width:28px; height:1px; background:var(--gold); opacity:.7; }
.eyebrow--center::after{ content:""; width:28px; height:1px; background:var(--gold); opacity:.7; }
.section-head{ max-width:620px; margin-bottom:clamp(36px,5vw,64px); }
.section-head.center{ margin-inline:auto; }
.section-head h2{ margin:.4em 0 .35em; }
.section-head p{ color:var(--muted); font-size:1.05rem; }
.lead{ color:var(--muted); font-size:1.12rem; max-width:60ch; }

/* ── buttons ──────────────────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  padding:.95em 1.7em; border-radius:999px; border:1px solid transparent;
  font-family:var(--f-head); font-weight:600; font-size:.95rem; letter-spacing:.01em;
  transition:transform .25s, box-shadow .3s, background .3s, color .3s, border-color .3s;
  white-space:nowrap;
}
.btn i{ font-size:.9em; }
.btn-gold{ background:var(--gold-grad); color:#0a0a0b; box-shadow:0 10px 30px -10px var(--gold-glow); }
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 18px 44px -12px var(--gold-glow); }
.btn-ghost{ background:rgba(255,255,255,.04); color:var(--text); border-color:var(--line-2); backdrop-filter:blur(8px); }
.btn-ghost:hover{ border-color:var(--gold); color:var(--gold-soft); transform:translateY(-2px); }
.btn-outline{ background:transparent; border-color:var(--gold); color:var(--gold-soft); }
.btn-outline:hover{ background:var(--gold); color:#0a0a0b; }
.btn-block{ width:100%; }
.btn-lg{ padding:1.1em 2.1em; font-size:1rem; }
.btn-sm{ padding:.6em 1.1em; font-size:.82rem; }

/* ── navbar ───────────────────────────────────────────── */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:90; height:var(--nav-h);
  display:flex; align-items:center;
  transition:background .35s, box-shadow .35s, backdrop-filter .35s, border-color .35s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(10,10,11,.72); backdrop-filter:blur(18px) saturate(140%);
  border-bottom-color:var(--line); box-shadow:0 12px 40px -24px #000;
}
.nav-inner{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:clamp(20px,4vw,40px);
  display:flex; align-items:center; gap:2.2rem; }
.brand{ display:flex; align-items:center; gap:.7rem; font-family:var(--f-head); font-weight:800;
  font-size:1.35rem; letter-spacing:.14em; }
.brand .mark{ width:34px; height:34px; flex:none; }
.brand b{ background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.nav-links{ display:flex; align-items:center; gap:1.7rem; margin-left:auto; list-style:none; padding:0; margin-block:0; }
.nav-links a{ font-size:.92rem; font-weight:500; color:var(--muted); position:relative; padding:.3em 0; transition:color .25s; }
.nav-links a::after{ content:""; position:absolute; left:0; bottom:-2px; height:1.5px; width:0; background:var(--gold); transition:width .3s; }
.nav-links a:hover, .nav-links a.active{ color:var(--text); }
.nav-links a:hover::after, .nav-links a.active::after{ width:100%; }
.nav-cta{ display:flex; align-items:center; gap:.7rem; }
.nav-toggle{ display:none; background:none; border:1px solid var(--line-2); border-radius:10px; width:46px; height:46px;
  color:var(--text); font-size:1.2rem; align-items:center; justify-content:center; }
.nav-account{ width:42px; height:42px; border-radius:50%; border:1px solid var(--line-2);
  display:grid; place-items:center; color:var(--muted); transition:.25s; }
.nav-account:hover{ border-color:var(--gold); color:var(--gold-soft); }

@media (max-width:1024px){
  .nav-toggle{ display:flex; }
  .nav-links{ position:fixed; inset:var(--nav-h) 0 auto 0; flex-direction:column; gap:0; align-items:stretch;
    background:rgba(10,10,11,.97); backdrop-filter:blur(20px); border-bottom:1px solid var(--line);
    padding:12px clamp(20px,4vw,40px) 24px; transform:translateY(-130%); transition:transform .4s cubic-bezier(.4,0,.2,1);
    box-shadow:var(--shadow); }
  .nav-links.open{ transform:translateY(0); }
  .nav-links a{ padding:1rem 0; border-bottom:1px solid var(--line); font-size:1.05rem; }
  .nav-links a::after{ display:none; }
  .nav-cta .btn span{ display:none; }
}

/* ── hero ─────────────────────────────────────────────── */
.hero{ position:relative; min-height:100svh; display:flex; align-items:center; padding-top:var(--nav-h); overflow:hidden; }
.hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:2rem; align-items:center; width:100%; }
.hero h1{ margin:.25em 0 .4em; }
.hero h1 em{ font-style:normal; background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-sub{ color:var(--muted); font-size:1.18rem; max-width:46ch; margin-bottom:2rem; }
.hero-cta{ display:flex; gap:1rem; flex-wrap:wrap; }
.hero-visual{ position:relative; }
.hero-stats{ display:flex; gap:2.4rem; margin-top:3rem; flex-wrap:wrap; }
.stat .num{ font-family:var(--f-head); font-weight:800; font-size:2.2rem; line-height:1; color:var(--text); }
.stat .num b{ color:var(--gold); }
.stat .lbl{ color:var(--muted); font-size:.82rem; letter-spacing:.04em; margin-top:.4rem; }
@media (max-width:920px){
  .hero{ min-height:auto; padding-block:calc(var(--nav-h) + 40px) 60px; }
  .hero-grid{ grid-template-columns:1fr; gap:3rem; }
  .hero-visual{ order:-1; }
}

/* car visual frame */
.car-stage{ position:relative; aspect-ratio:16/11; display:grid; place-items:center; }
.car-stage::before{ content:""; position:absolute; inset:6% 0 18%; border-radius:50%;
  background:radial-gradient(closest-side, var(--gold-glow), transparent 70%); filter:blur(20px); }
.car-stage svg{ width:100%; height:auto; position:relative; z-index:1; filter:drop-shadow(0 30px 40px rgba(0,0,0,.6)); }
.car-stage .floor{ position:absolute; left:8%; right:8%; bottom:12%; height:30px; border-radius:50%;
  background:rgba(0,0,0,.55); filter:blur(14px); z-index:0; }

/* ── booking widget ───────────────────────────────────── */
.widget{ background:rgba(20,20,23,.7); backdrop-filter:blur(20px); border:1px solid var(--line);
  border-radius:var(--r-lg); box-shadow:var(--shadow-lg); padding:8px; }
.widget-tabs{ display:flex; gap:6px; padding:6px; }
.widget-tab{ flex:1; display:flex; align-items:center; justify-content:center; gap:.5em; padding:.85em 1em;
  border-radius:var(--r); border:1px solid transparent; background:transparent; color:var(--muted);
  font-family:var(--f-head); font-weight:600; font-size:.92rem; transition:.25s; }
.widget-tab.active{ background:var(--surface-2); color:var(--text); border-color:var(--line); }
.widget-tab i{ color:var(--gold); }
.widget-body{ padding:14px; display:none; }
.widget-body.active{ display:block; }
.widget-fields{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.field{ display:flex; flex-direction:column; gap:.45rem; }
.field label{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--faint);
  font-family:var(--f-head); font-weight:600; }
.field .control{ display:flex; align-items:center; gap:.6rem; background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r); padding:.85em 1em; transition:border-color .25s, box-shadow .25s; }
.field .control:focus-within{ border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-wash); }
.field .control i{ color:var(--gold); font-size:.95rem; }
.field input, .field select, .field textarea{ width:100%; background:none; border:none; color:var(--text);
  font-family:var(--f-body); font-size:.95rem; outline:none; }
.field select{ appearance:none; cursor:pointer; }
.field input::placeholder, .field textarea::placeholder{ color:var(--faint); }
.field input[type=date]::-webkit-calendar-picker-indicator{ filter:invert(.7) sepia(1) saturate(2) hue-rotate(5deg); cursor:pointer; }
.widget-fields .field.span2{ grid-column:span 2; }
.widget-search{ margin-top:14px; }
@media (max-width:860px){ .widget-fields{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .widget-fields{ grid-template-columns:1fr; } .widget-tab span{ font-size:.85rem; } }

/* ── generic card / glass panel ───────────────────────── */
.panel{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); }
.glass{ background:rgba(20,20,23,.6); backdrop-filter:blur(16px); border:1px solid var(--line); border-radius:var(--r-lg); }

/* ── vehicle cards ────────────────────────────────────── */
.grid{ display:grid; gap:24px; }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-4{ grid-template-columns:repeat(4,1fr); }
.grid-2{ grid-template-columns:repeat(2,1fr); }
@media (max-width:1024px){ .grid-4{ grid-template-columns:repeat(2,1fr);} .grid-3{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .grid-4,.grid-3,.grid-2{ grid-template-columns:1fr; } }

.vcard{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden;
  display:flex; flex-direction:column; transition:transform .35s, border-color .35s, box-shadow .35s; }
.vcard:hover{ transform:translateY(-6px); border-color:var(--gold); box-shadow:var(--shadow); }
.vcard-media{ position:relative; aspect-ratio:16/10; background:
  radial-gradient(120% 90% at 70% 10%, var(--gold-wash), transparent 55%),
  linear-gradient(160deg,#17171b,#0e0e10); display:grid; place-items:center; overflow:hidden; }
.vcard-media svg{ width:84%; height:auto; transition:transform .5s cubic-bezier(.2,.7,.2,1); filter:drop-shadow(0 16px 22px rgba(0,0,0,.5)); }
.vcard:hover .vcard-media svg{ transform:scale(1.06) translateX(-2%); }
.vcard-tag{ position:absolute; top:14px; left:14px; font-family:var(--f-head); font-size:.68rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:var(--gold-soft); background:rgba(0,0,0,.5);
  border:1px solid var(--line-2); padding:.45em .8em; border-radius:999px; backdrop-filter:blur(6px); }
.vcard-fav{ position:absolute; top:12px; right:12px; width:38px; height:38px; border-radius:50%;
  background:rgba(0,0,0,.45); border:1px solid var(--line-2); color:var(--muted); display:grid; place-items:center; transition:.25s; }
.vcard-fav:hover{ color:var(--gold); border-color:var(--gold); }
.vcard-body{ padding:20px; display:flex; flex-direction:column; gap:14px; flex:1; }
.vcard-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.vcard-head h3{ font-size:1.18rem; }
.vcard-cls{ color:var(--faint); font-size:.82rem; }
.vcard-rating{ color:var(--gold); font-size:.82rem; white-space:nowrap; }
.vcard-specs{ display:flex; flex-wrap:wrap; gap:8px; }
.spec{ display:flex; align-items:center; gap:.45em; font-size:.8rem; color:var(--muted);
  background:var(--surface-2); border:1px solid var(--line); padding:.4em .7em; border-radius:8px; }
.spec i{ color:var(--gold); font-size:.85em; }
.vcard-foot{ margin-top:auto; display:flex; align-items:flex-end; justify-content:space-between; gap:1rem;
  padding-top:16px; border-top:1px solid var(--line); }
.price{ font-family:var(--f-head); }
.price .amt{ font-size:1.5rem; font-weight:800; color:var(--text); }
.price .cur{ color:var(--gold); font-weight:700; font-size:.95rem; }
.price .per{ color:var(--faint); font-size:.8rem; font-weight:500; }

/* ── feature cards ────────────────────────────────────── */
.fcard{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:30px;
  transition:transform .35s, border-color .35s; }
.fcard:hover{ transform:translateY(-5px); border-color:var(--line-2); }
.fcard .ic{ width:56px; height:56px; border-radius:14px; display:grid; place-items:center; font-size:1.4rem;
  color:var(--gold); background:var(--gold-wash); border:1px solid var(--gold-glow); margin-bottom:20px; }
.fcard h3{ font-size:1.18rem; margin-bottom:.5em; }
.fcard p{ color:var(--muted); font-size:.95rem; margin:0; }

/* ── destination cards ────────────────────────────────── */
.dcard{ position:relative; border-radius:var(--r-lg); overflow:hidden; min-height:340px;
  border:1px solid var(--line); display:flex; align-items:flex-end; padding:26px;
  background:linear-gradient(160deg,#1a1a1f,#0d0d0f); transition:transform .4s; }
.dcard:hover{ transform:translateY(-5px); }
.dcard::before{ content:""; position:absolute; inset:0; opacity:.6;
  background:radial-gradient(120% 80% at 80% 0%, var(--gold-wash), transparent 60%); }
.dcard::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.7), transparent 60%); }
.dcard .sky{ position:absolute; inset:0; opacity:.5; }
.dcard-body{ position:relative; z-index:2; }
.dcard-body .k{ color:var(--gold); font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; font-family:var(--f-head); }
.dcard-body h3{ font-size:1.6rem; margin:.3em 0 .2em; }
.dcard-body p{ color:var(--muted); font-size:.9rem; margin:0; }
.dcard.tall{ min-height:100%; }

/* ── testimonials ─────────────────────────────────────── */
.tcard{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:34px; }
.tcard .stars{ color:var(--gold); letter-spacing:.15em; margin-bottom:18px; }
.tcard blockquote{ margin:0 0 24px; font-size:1.15rem; line-height:1.6; color:var(--text); font-family:var(--f-head); font-weight:500; }
.tcard .who{ display:flex; align-items:center; gap:14px; }
.avatar{ width:48px; height:48px; border-radius:50%; flex:none; background:var(--gold-grad); color:#0a0a0b;
  display:grid; place-items:center; font-family:var(--f-head); font-weight:700; }
.who .nm{ font-weight:600; font-family:var(--f-head); }
.who .rl{ color:var(--faint); font-size:.85rem; }

/* ── carousel rail ────────────────────────────────────── */
.rail{ display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px;
  scrollbar-width:none; }
.rail::-webkit-scrollbar{ display:none; }
.rail > *{ scroll-snap-align:start; flex:0 0 clamp(300px,80%,460px); }
.rail-nav{ display:flex; gap:10px; }
.rail-btn{ width:48px; height:48px; border-radius:50%; border:1px solid var(--line-2); background:var(--surface);
  color:var(--text); display:grid; place-items:center; transition:.25s; }
.rail-btn:hover{ border-color:var(--gold); color:var(--gold); }

/* ── app promo ────────────────────────────────────────── */
.store-btn{ display:inline-flex; align-items:center; gap:.8rem; padding:.8em 1.3em; border-radius:14px;
  border:1px solid var(--line-2); background:rgba(255,255,255,.04); transition:.25s; }
.store-btn:hover{ border-color:var(--gold); transform:translateY(-2px); }
.store-btn i{ font-size:1.7rem; color:var(--gold-soft); }
.store-btn .s{ display:block; font-size:.68rem; color:var(--muted); letter-spacing:.05em; }
.store-btn .b{ display:block; font-family:var(--f-head); font-weight:700; font-size:1rem; }

/* ── page header (interior pages) ─────────────────────── */
.pagehead{ padding-top:calc(var(--nav-h) + 60px); padding-bottom:40px; position:relative; }
.crumbs{ display:flex; gap:.6rem; align-items:center; color:var(--faint); font-size:.85rem; margin-bottom:1rem; }
.crumbs a:hover{ color:var(--gold); }
.crumbs i{ font-size:.6rem; }
.pagehead h1{ font-size:clamp(2.2rem,5vw,3.6rem); }
.pagehead p{ color:var(--muted); max-width:60ch; margin-top:.6rem; }

/* ── chips / badges ───────────────────────────────────── */
.chip{ display:inline-flex; align-items:center; gap:.5em; padding:.55em 1.05em; border-radius:999px;
  border:1px solid var(--line-2); background:var(--surface); color:var(--muted); font-size:.85rem;
  font-family:var(--f-head); font-weight:500; cursor:pointer; transition:.25s; user-select:none; }
.chip:hover{ border-color:var(--gold); color:var(--text); }
.chip.active{ background:var(--gold); border-color:var(--gold); color:#0a0a0b; }
.badge{ display:inline-flex; align-items:center; gap:.4em; padding:.35em .75em; border-radius:8px;
  font-family:var(--f-head); font-size:.72rem; font-weight:600; letter-spacing:.06em; }
.badge-gold{ background:var(--gold-wash); color:var(--gold-soft); border:1px solid var(--gold-glow); }
.badge-green{ background:rgba(74,160,110,.14); color:#7fce9f; border:1px solid rgba(74,160,110,.3); }
.badge-red{ background:rgba(200,80,80,.14); color:#e79a9a; border:1px solid rgba(200,80,80,.3); }

/* ── divider ──────────────────────────────────────────── */
.hr{ height:1px; background:var(--line); border:none; margin:0; }
.gold-rule{ width:64px; height:3px; background:var(--gold-grad); border-radius:2px; }

/* ── footer ───────────────────────────────────────────── */
.footer{ border-top:1px solid var(--line); background:linear-gradient(180deg, transparent, rgba(0,0,0,.4)); margin-top:40px; }
.footer-top{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-block:clamp(48px,7vw,80px); }
.footer .brand{ margin-bottom:1rem; }
.footer-col h4{ font-family:var(--f-head); font-size:.78rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1.2rem; }
.footer-col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.7rem; }
.footer-col a{ color:var(--muted); font-size:.92rem; transition:color .2s; }
.footer-col a:hover{ color:var(--text); }
.footer p{ color:var(--muted); font-size:.92rem; max-width:34ch; }
.socials{ display:flex; gap:10px; margin-top:1.2rem; }
.socials a{ width:40px; height:40px; border-radius:10px; border:1px solid var(--line-2); display:grid; place-items:center;
  color:var(--muted); transition:.25s; }
.socials a:hover{ border-color:var(--gold); color:var(--gold); }
.footer-bottom{ border-top:1px solid var(--line); padding-block:24px; display:flex; justify-content:space-between;
  align-items:center; gap:1rem; flex-wrap:wrap; color:var(--faint); font-size:.85rem; }
.footer-bottom a:hover{ color:var(--gold); }
@media (max-width:860px){ .footer-top{ grid-template-columns:1fr 1fr; gap:32px; } }
@media (max-width:480px){ .footer-top{ grid-template-columns:1fr; } }

/* ── forms (auth / contact) ───────────────────────────── */
.form-card{ max-width:480px; margin-inline:auto; }
.form-card .field{ margin-bottom:18px; }
.form-card .field .control{ padding:1em 1.1em; }
.checkrow{ display:flex; align-items:center; gap:.6rem; color:var(--muted); font-size:.9rem; }
.checkrow input{ accent-color:var(--gold); width:18px; height:18px; }
.divider-or{ display:flex; align-items:center; gap:1rem; color:var(--faint); font-size:.85rem; margin:22px 0; }
.divider-or::before,.divider-or::after{ content:""; flex:1; height:1px; background:var(--line); }
.social-auth{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }

/* ── tables ───────────────────────────────────────────── */
.table{ width:100%; border-collapse:collapse; }
.table th{ text-align:left; font-family:var(--f-head); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--faint); font-weight:600; padding:14px 16px; border-bottom:1px solid var(--line); }
.table td{ padding:18px 16px; border-bottom:1px solid var(--line); color:var(--muted); font-size:.92rem; vertical-align:middle; }
.table tr:last-child td{ border-bottom:none; }
.table td strong{ color:var(--text); font-weight:600; }

/* ── dashboard ────────────────────────────────────────── */
.dash{ display:grid; grid-template-columns:260px 1fr; gap:30px; align-items:start; }
.dash-side{ position:sticky; top:calc(var(--nav-h) + 20px); }
.dash-nav{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:4px; }
.dash-nav a{ display:flex; align-items:center; gap:.8rem; padding:.85em 1em; border-radius:var(--r); color:var(--muted);
  font-weight:500; font-size:.95rem; transition:.2s; }
.dash-nav a i{ width:20px; text-align:center; color:var(--faint); }
.dash-nav a:hover{ background:var(--surface); color:var(--text); }
.dash-nav a.active{ background:var(--gold-wash); color:var(--gold-soft); border:1px solid var(--gold-glow); }
.dash-nav a.active i{ color:var(--gold); }
.statcard{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:24px; }
.statcard .k{ color:var(--faint); font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; }
.statcard .v{ font-family:var(--f-head); font-weight:800; font-size:2rem; margin-top:.3rem; }
.statcard .v small{ font-size:.9rem; color:var(--gold); font-weight:600; }
@media (max-width:860px){ .dash{ grid-template-columns:1fr; } .dash-side{ position:static; } 
  .dash-nav{ flex-direction:row; overflow-x:auto; } .dash-nav a{ white-space:nowrap; } }

/* ── sticky booking summary ───────────────────────────── */
.sticky-book{ position:sticky; top:calc(var(--nav-h) + 20px); }

/* ── reveal animation ─────────────────────────────────── */
[data-reveal]{ opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
[data-reveal].in{ opacity:1; transform:none; }
[data-reveal][data-delay="1"]{ transition-delay:.08s; }
[data-reveal][data-delay="2"]{ transition-delay:.16s; }
[data-reveal][data-delay="3"]{ transition-delay:.24s; }
[data-reveal][data-delay="4"]{ transition-delay:.32s; }
@media (prefers-reduced-motion:reduce){ [data-reveal]{ opacity:1; transform:none; transition:none; } html{ scroll-behavior:auto; } }

/* ── tweaks panel (vanilla) ───────────────────────────── */
#tweaks{ position:fixed; right:20px; bottom:20px; z-index:1000; width:280px;
  background:rgba(18,18,21,.92); backdrop-filter:blur(20px); border:1px solid var(--line-2);
  border-radius:var(--r-lg); box-shadow:var(--shadow-lg); padding:18px; display:none; font-family:var(--f-body); }
#tweaks.show{ display:block; }
#tweaks h5{ font-family:var(--f-head); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold); margin:0 0 14px; display:flex; justify-content:space-between; align-items:center; }
#tweaks .close{ background:none; border:none; color:var(--muted); font-size:1.1rem; }
#tweaks .swatches{ display:flex; gap:10px; flex-wrap:wrap; }
#tweaks .sw{ width:40px; height:40px; border-radius:10px; border:2px solid transparent; cursor:pointer; transition:.2s; }
#tweaks .sw:hover{ transform:scale(1.08); }
#tweaks .sw.active{ border-color:#fff; box-shadow:0 0 0 2px var(--bg); }
#tweaks .lbl{ font-size:.78rem; color:var(--muted); margin:0 0 8px; }

/* ── show-mobile helper ───────────────────────────────── */
.show-mobile{ display:none; }
@media (max-width:1024px){ .show-mobile{ display:block; } }

/* ── floating stat chip (hero) ────────────────────────── */
.float-card{ position:absolute; background:rgba(18,18,21,.85); backdrop-filter:blur(14px);
  border:1px solid var(--line-2); border-radius:var(--r); padding:14px 18px; box-shadow:var(--shadow);
  display:flex; align-items:center; gap:12px; }
.float-card .ic{ width:42px; height:42px; border-radius:10px; background:var(--gold-wash); color:var(--gold);
  display:grid; place-items:center; border:1px solid var(--gold-glow); }
.float-card .v{ font-family:var(--f-head); font-weight:700; font-size:1.05rem; line-height:1.1; }
.float-card .k{ color:var(--muted); font-size:.76rem; }
.float-1{ top:8%; right:-2%; } .float-2{ bottom:14%; left:-4%; }
@media (max-width:920px){ .float-1{ top:2%; right:2%; } .float-2{ bottom:4%; left:2%; } }

/* ── accordion (FAQ) ──────────────────────────────────── */
.acc-item{ border:1px solid var(--line); border-radius:var(--r); margin-bottom:12px; overflow:hidden; background:var(--surface); }
.acc-q{ width:100%; text-align:left; background:none; border:none; color:var(--text); padding:20px 22px;
  font-family:var(--f-head); font-weight:600; font-size:1.04rem; display:flex; justify-content:space-between;
  align-items:center; gap:1rem; }
.acc-q i{ color:var(--gold); transition:transform .3s; flex:none; }
.acc-item.open .acc-q i{ transform:rotate(45deg); }
.acc-a{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.acc-a p{ padding:0 22px 20px; color:var(--muted); margin:0; }
.acc-item.open .acc-a{ max-height:320px; }

/* ── map placeholder (taxi) ───────────────────────────── */
.map{ position:relative; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); min-height:420px;
  background:
    linear-gradient(rgba(176,141,87,.04) 1px, transparent 1px) 0 0/40px 40px,
    linear-gradient(90deg, rgba(176,141,87,.04) 1px, transparent 1px) 0 0/40px 40px,
    radial-gradient(120% 90% at 30% 20%, #15171b, #0c0d0f); }
.map .route{ position:absolute; inset:0; }
.map .pin{ position:absolute; width:18px; height:18px; border-radius:50%; transform:translate(-50%,-50%);
  box-shadow:0 0 0 6px var(--gold-wash); }
.map .pin.a{ background:#fff; } .map .pin.b{ background:var(--gold); }
.map .badge-live{ position:absolute; top:16px; left:16px; }

/* ── gallery (car details) ────────────────────────────── */
.gallery-main{ aspect-ratio:16/10; border-radius:var(--r-lg); border:1px solid var(--line); overflow:hidden;
  background:radial-gradient(120% 90% at 65% 15%, var(--gold-wash), transparent 55%), linear-gradient(160deg,#17181c,#0d0d0f);
  display:grid; place-items:center; }
.gallery-main [data-car]{ width:80%; }
.gallery-thumbs{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:12px; }
.gthumb{ aspect-ratio:1/.7; border-radius:var(--r); border:1px solid var(--line); cursor:pointer;
  background:linear-gradient(160deg,#16171b,#0e0e10); display:grid; place-items:center; transition:.25s; overflow:hidden; }
.gthumb [data-car]{ width:78%; }
.gthumb:hover, .gthumb.active{ border-color:var(--gold); }

/* ── spec sheet ───────────────────────────────────────── */
.specsheet{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
.specsheet .cell{ background:var(--surface); padding:22px; }
.specsheet .k{ color:var(--faint); font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; }
.specsheet .v{ font-family:var(--f-head); font-weight:700; font-size:1.2rem; margin-top:.35rem; }
.specsheet .v i{ color:var(--gold); margin-right:.4rem; }
@media (max-width:640px){ .specsheet{ grid-template-columns:1fr 1fr; } }

/* ── add-on rows ──────────────────────────────────────── */
.addon{ display:flex; align-items:center; gap:14px; padding:16px; border:1px solid var(--line);
  border-radius:var(--r); margin-bottom:10px; background:var(--surface); transition:.2s; }
.addon:hover{ border-color:var(--line-2); }
.addon .ic{ width:44px; height:44px; border-radius:10px; background:var(--gold-wash); color:var(--gold);
  display:grid; place-items:center; flex:none; }
.addon .grow{ flex:1; } .addon .nm{ font-family:var(--f-head); font-weight:600; }
.addon .ds{ color:var(--faint); font-size:.85rem; }
.switch{ width:48px; height:28px; border-radius:999px; background:var(--surface-3); border:1px solid var(--line-2);
  position:relative; cursor:pointer; flex:none; transition:.25s; }
.switch::after{ content:""; position:absolute; top:2px; left:2px; width:22px; height:22px; border-radius:50%;
  background:var(--muted); transition:.25s; }
.switch.on{ background:var(--gold); border-color:var(--gold); }
.switch.on::after{ left:22px; background:#0a0a0b; }

/* ── steps / progress ─────────────────────────────────── */
.steps{ display:flex; gap:0; counter-reset:s; flex-wrap:wrap; }
.step{ display:flex; align-items:center; gap:.7rem; color:var(--faint); font-family:var(--f-head); font-weight:600;
  font-size:.9rem; padding-right:1.4rem; }
.step .n{ width:32px; height:32px; border-radius:50%; border:1px solid var(--line-2); display:grid; place-items:center;
  font-size:.85rem; }
.step.active{ color:var(--text); } .step.active .n{ background:var(--gold); border-color:var(--gold); color:#0a0a0b; }
.step.done .n{ background:var(--gold-wash); border-color:var(--gold); color:var(--gold); }

/* ── price summary ────────────────────────────────────── */
.summary-row{ display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--line);
  color:var(--muted); font-size:.95rem; }
.summary-row.total{ border-bottom:none; padding-top:18px; color:var(--text); font-family:var(--f-head);
  font-weight:700; font-size:1.25rem; }
.summary-row.total .gold{ color:var(--gold); }

/* ── cta band ─────────────────────────────────────────── */
.cta-band{ background:radial-gradient(120% 140% at 80% 0%, var(--gold-wash), transparent 55%), var(--surface);
  border:1px solid var(--line); border-radius:var(--r-xl); padding:clamp(36px,6vw,72px); text-align:center; position:relative; overflow:hidden; }

/* ── tourist sky decoration (destinations) ────────────── */
.skyline{ position:absolute; left:0; right:0; bottom:0; height:56%; opacity:.5; }

/* ── pricing table feature ────────────────────────────── */
.ptable{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);
  border-radius:var(--r-lg); overflow:hidden; }
.pcol{ background:var(--surface); padding:28px; text-align:center; }
.pcol.feat{ background:linear-gradient(180deg, var(--gold-wash), var(--surface)); }
.pcol .plan{ font-family:var(--f-head); font-weight:600; letter-spacing:.1em; text-transform:uppercase; font-size:.8rem; color:var(--gold); }
.pcol .pr{ font-family:var(--f-head); font-weight:800; font-size:2.4rem; margin:.3rem 0; }
.pcol .pr small{ font-size:.9rem; color:var(--muted); font-weight:500; }
@media (max-width:640px){ .ptable{ grid-template-columns:1fr; } }

/* ── utilities ────────────────────────────────────────── */
.mt-0{margin-top:0}.mb-0{margin-bottom:0}.muted{color:var(--muted)}.gold{color:var(--gold)}
.flex{display:flex}.between{justify-content:space-between}.items-center{align-items:center}
.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.wrap{flex-wrap:wrap}
.text-center{text-align:center}.full{width:100%}.rel{position:relative}
.maxw-prose{max-width:72ch}
