:root { --bg:#0d0d0f; --card:#17171b; --tx:#f2efe8; --muted:#9a968c; --gold:#f5f5f5; --line:#2a2a30; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--tx); font:16px/1.5 Georgia, serif; }
a { color:var(--gold); }
h1, h2, h3 { font-weight:400; margin:0 0 8px; }
.site-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; padding:14px 5%; border-bottom:1px solid var(--line); }
.logo { color:var(--gold); text-decoration:none; font-size:20px; letter-spacing:.15em; text-transform:uppercase; }
.site-header nav a { color:var(--tx); text-decoration:none; margin-left:18px; font-size:13px; letter-spacing:.1em; text-transform:uppercase; }
section { padding:48px 5%; }
.hero { text-align:center; padding:80px 5% 60px; background:radial-gradient(circle at 50% 0, #1c1c1c, transparent 70%); }
.hero h1 { font-size:clamp(30px, 6vw, 52px); }
.hero p { color:var(--muted); max-width:560px; margin:14px auto 24px; }
.btn { display:inline-block; background:var(--gold); color:#111; padding:10px 22px; text-decoration:none; font-size:13px; letter-spacing:.08em; text-transform:uppercase; border-radius:2px; }
.btn.outline { background:none; border:1px solid var(--gold); color:var(--gold); }
.grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:18px; margin:18px 0; }
.card { background:var(--card); border:1px solid var(--line); padding:18px; border-radius:4px; }
.car .pic { height:150px; background:linear-gradient(135deg, #25221a, #101012); display:flex; align-items:center; justify-content:center; font-size:48px; border-radius:3px; margin-bottom:12px; overflow:hidden; }
.car .pic img { width:100%; height:100%; object-fit:cover; }
.price { color:var(--gold); font-size:20px; margin:8px 0 12px; }
.muted, small { color:var(--muted); }
.chips { margin:12px 0 20px; }
.chips a { display:inline-block; border:1px solid var(--line); color:var(--tx); text-decoration:none; padding:6px 14px; margin:0 6px 8px 0; border-radius:20px; }
.chips a.on { border-color:var(--gold); color:var(--gold); }
.site-footer { padding:30px 5%; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
.site-header nav a.active { color:var(--gold); border-bottom:1px solid var(--gold); }

.two-col { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:24px; align-items:start; }
.narrow { max-width:640px; margin:0 auto; }
.narrow .card { margin-bottom:18px; }
.pic.big { height:240px; }
.field { margin-bottom:14px; }
.field label { display:block; font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px; }
input[type=text], input[type=email], input[type=date], textarea, input[type=file] { width:100%; padding:10px; background:var(--bg); border:1px solid var(--line); color:var(--tx); font:inherit; border-radius:2px; }
button.btn { border:0; cursor:pointer; font-family:inherit; }
.error { color:#e07b72; font-size:13px; margin-top:4px; }
.error ul { margin:0; padding-left:18px; }
.gold { color:var(--gold); }
.big-num { font-size:24px; }
.badge { padding:3px 12px; border-radius:12px; font-size:12px; }
.badge.pending { background:#ffffff44; }
.badge.confirmed { background:#3fa56b55; }
.badge.cancelled { background:#d1594f55; }

.gallery { margin-bottom:18px; }
.g-main { position:relative; overflow:hidden; border-radius:4px; background:#000; }
.g-track { display:flex; transition:transform .35s ease; }
.g-slide { min-width:100%; position:relative; aspect-ratio:16/10; }
.g-slide img { width:100%; height:100%; object-fit:cover; display:block; }
.g-empty { height:100%; display:flex; align-items:center; justify-content:center; font-size:64px; background:linear-gradient(135deg, #25221a, #101012); }
.g-cap { position:absolute; left:10px; bottom:10px; background:#000a; color:#fff; padding:3px 10px; border-radius:12px; font-size:12px; }
.g-count { position:absolute; right:10px; top:10px; background:#000a; color:#fff; padding:2px 10px; border-radius:12px; font-size:12px; z-index:2; }
.g-nav { position:absolute; top:50%; transform:translateY(-50%); background:#000a; color:#fff; border:0; width:40px; height:40px; border-radius:50%; font-size:18px; cursor:pointer; z-index:2; }
.g-nav:hover { background:var(--gold); color:#111; }
.g-nav.prev { left:10px; }
.g-nav.next { right:10px; }
.g-thumbs { display:flex; gap:8px; margin-top:8px; overflow-x:auto; }
.g-thumbs img { width:80px; height:56px; object-fit:cover; border-radius:3px; cursor:pointer; opacity:.55; border:2px solid transparent; flex:0 0 auto; }
.g-thumbs img.on { opacity:1; border-color:var(--gold); }
.flatpickr-input[readonly], .field input.form-control { cursor:pointer; }

.hero-video { position:relative; overflow:hidden; min-height:78vh; display:flex; align-items:center; justify-content:center; }
.hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(#0d0d0fcc, #0d0d0f88 50%, #0d0d0f); }
.hero-content { position:relative; z-index:1; }
@media (prefers-reduced-motion: reduce) { .hero-bg { display:none; } }

.status-hero { text-align:center; }
.ring { width:140px; height:140px; border-radius:50%; background:conic-gradient(var(--gold) calc(var(--p) * 1%), var(--line) 0); display:grid; place-items:center; margin:0 auto 14px; }
.ring span { width:112px; height:112px; border-radius:50%; background:var(--card); display:grid; place-items:center; font-size:28px; color:var(--gold); }
.ring.cancelled { background:#d1594f55; }
.ring.cancelled span { color:#e07b72; }
.stepper { display:flex; margin:22px 0 4px; }
.step { flex:1; text-align:center; position:relative; font-size:12px; color:var(--muted); }
.step::before { content:""; position:absolute; top:11px; left:-50%; width:100%; height:2px; background:var(--line); }
.step:first-child::before { display:none; }
.step .dot { width:24px; height:24px; border-radius:50%; background:var(--line); margin:0 auto 6px; position:relative; z-index:1; display:grid; place-items:center; color:#111; font-size:13px; }
.step.done { color:var(--tx); }
.step.done .dot { background:var(--gold); }
.step.done::before { background:var(--gold); }
.step.current .dot { box-shadow:0 0 0 4px #ffffff44; }
.notice { background:#ffffff22; border:1px solid var(--gold); padding:16px; border-radius:4px; margin-bottom:18px; }
.notice p { margin:8px 0; }
.notice.ok { background:#3fa56b22; border-color:#3fa56b; }
.notice.bad { background:#d1594f22; border-color:#d1594f; }
.timeline { list-style:none; margin:0; padding:0; }
.timeline li { display:grid; grid-template-columns:100px 18px 1fr; gap:10px; padding-bottom:20px; }
.tl-date { text-align:right; font-size:12px; color:var(--muted); }
.tl-dot { position:relative; }
.tl-dot::before { content:""; position:absolute; left:50%; top:5px; width:10px; height:10px; margin-left:-5px; border-radius:50%; background:var(--line); z-index:1; }
.tl-dot::after { content:""; position:absolute; left:50%; top:16px; bottom:-20px; width:2px; margin-left:-1px; background:var(--line); }
.timeline li:last-child .tl-dot::after { display:none; }
.timeline li:first-child .tl-dot::before { background:var(--gold); box-shadow:0 0 0 4px #ffffff44; }
.tl-title { font-weight:bold; }

.video-banner { background:#000; line-height:0; }
.video-banner video { width:100%; aspect-ratio:16/9; max-height:72vh; object-fit:cover; display:block; }
@media (prefers-reduced-motion: reduce) { .video-banner video { display:none; } }
.intro { text-align:center; padding:48px 5% 24px; max-width:820px; margin:0 auto; }
.intro h1 { font-size:clamp(28px, 5vw, 46px); margin-bottom:12px; }
.eyebrow { color:var(--gold); text-transform:uppercase; letter-spacing:.2em; font-size:12px; margin:0 0 10px; }
.lead { color:var(--muted); font-size:18px; margin:0 auto 24px; }
.intro-buttons .btn { margin:0 6px 8px; }
.highlights { padding-top:24px; }
.highlights h3 { color:var(--gold); }
.static-chips span { display:inline-block; border:1px solid var(--line); padding:8px 16px; margin:0 8px 10px 0; border-radius:20px; }
.cta { text-align:center; background:var(--card); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.cta .muted { max-width:520px; margin:8px auto 20px; }

/* full-width video banner (overrides) */
.video-banner { padding:0; margin:0; }
.video-banner video { width:100%; height:78vh; max-height:none; aspect-ratio:auto; object-fit:cover; display:block; }

.specs { list-style:none; margin:12px 0 6px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; }
.specs li { display:flex; align-items:center; gap:8px; font-size:14px; color:var(--tx); }
.specs svg { width:18px; height:18px; color:var(--gold); flex:0 0 auto; }
.car-desc { color:var(--muted); font-size:14px; margin:8px 0 0; }
.feat-tags { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 2px; }
.feat-tags span { border:1px solid var(--line); border-radius:20px; padding:3px 11px; font-size:12px; color:var(--muted); }
