:root {
  --bg: #0b0b0c;
  --panel: #141416;
  --panel-2: #1a1a1d;
  --text: #f3efe8;
  --muted: #9c9993;
  --line: rgba(255,255,255,.1);
  --accent: #d8b98a;
  --accent-2: #f2e0c3;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--bg); color:var(--text); font-family:"DM Sans",sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { position:sticky; top:0; z-index:20; display:flex; justify-content:space-between; align-items:center; padding:18px max(24px, calc((100vw - var(--max))/2)); backdrop-filter: blur(18px); background:rgba(11,11,12,.78); border-bottom:1px solid var(--line); }
.brand { font-weight:700; letter-spacing:.18em; font-size:14px; }
.brand span { display:block; font-size:8px; color:var(--muted); letter-spacing:.3em; margin-top:3px; }
nav { display:flex; gap:26px; align-items:center; font-size:14px; color:#d8d4cd; }
.nav-cta { border:1px solid var(--accent); padding:10px 14px; border-radius:999px; color:var(--accent-2); }
.section-pad { max-width:var(--max); margin:auto; padding:96px 24px; }
.hero { min-height:78vh; display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; }
.eyebrow { color:var(--accent); font-weight:700; letter-spacing:.18em; font-size:12px; }
h1,h2,h3 { font-family:"Playfair Display",serif; margin:0; }
h1 { font-size:clamp(54px,7vw,96px); line-height:.98; letter-spacing:-.035em; max-width:760px; }
h1 em { color:var(--accent-2); font-weight:600; }
h2 { font-size:clamp(38px,4vw,58px); line-height:1.05; }
h3 { font-size:28px; }
.lede { max-width:620px; color:#bbb7b0; font-size:19px; line-height:1.7; margin:28px 0; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.btn { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:0 20px; border-radius:10px; border:1px solid var(--line); font-weight:700; cursor:pointer; transition:.2s ease; }
.btn:hover { transform:translateY(-1px); }
.btn.primary { background:var(--accent); color:#17120c; border-color:var(--accent); }
.btn.ghost { background:transparent; }
.btn.full { width:100%; border:0; }
.btn:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.proof-row { display:flex; gap:22px; flex-wrap:wrap; margin-top:30px; color:#9f9b95; font-size:13px; }
.hero-card { min-height:520px; position:relative; border:1px solid var(--line); border-radius:28px; overflow:hidden; background:radial-gradient(circle at 65% 20%, #2f3034 0, #151518 45%, #0f0f11 75%); }
.car-silhouette { position:absolute; inset:18% -8% 0 7%; background:linear-gradient(125deg,#2a2b2f,#0c0c0d 52%,#222329); clip-path:polygon(7% 56%,20% 38%,38% 29%,62% 32%,82% 44%,96% 62%,94% 78%,8% 78%); filter:drop-shadow(0 30px 40px rgba(0,0,0,.7)); }
.hero-card-copy { position:absolute; left:30px; right:30px; bottom:28px; padding:22px; border:1px solid var(--line); border-radius:18px; background:rgba(10,10,11,.72); backdrop-filter: blur(18px); }
.hero-card-copy span,.hero-card-copy small { color:var(--accent); letter-spacing:.12em; font-size:10px; }
.hero-card-copy strong { display:block; font-family:"Playfair Display"; font-size:29px; margin:8px 0; }
.hero-card-copy p { margin:0 0 10px; color:#b8b4ad; }
.muted-section { max-width:none; background:#101012; }
.muted-section > * { max-width:var(--max); margin-left:auto; margin-right:auto; }
.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:36px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.service-card { padding:28px; min-height:270px; border:1px solid var(--line); border-radius:20px; background:var(--panel); display:flex; flex-direction:column; }
.service-card.featured { border-color:rgba(216,185,138,.5); background:linear-gradient(150deg,#1f1a14,#141416 70%); }
.service-num { color:var(--accent); font-size:12px; letter-spacing:.15em; }
.service-card h3 { margin-top:36px; }
.service-card p { color:#9f9b95; line-height:1.65; }
.service-meta { margin-top:auto; display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:16px; font-size:13px; color:#c8c4bc; }
.process-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:52px; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.steps > div { border-top:1px solid var(--line); padding-top:18px; }
.steps span { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--accent); color:#16120d; font-weight:700; margin-bottom:18px; }
.steps strong { display:block; margin-bottom:8px; }
.steps p { color:var(--muted); margin:0; font-size:14px; line-height:1.5; }
.booking-section { padding-bottom:120px; }
.booking-intro { max-width:760px; margin-bottom:34px; }
.booking-intro > p:not(.eyebrow) { color:var(--muted); line-height:1.7; }
.mode-badge { display:inline-block; margin-top:8px; padding:8px 12px; border-radius:999px; border:1px solid var(--line); color:#bbb7b0; font-size:12px; }
.booking-shell { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.booking-panel { border:1px solid var(--line); background:var(--panel); border-radius:22px; padding:26px; }
.booking-form { display:grid; gap:13px; align-content:start; }
.field-label { display:block; color:#d8d4cd; font-weight:700; font-size:13px; margin:8px 0 10px; }
.input { width:100%; background:#0e0e10; color:var(--text); border:1px solid var(--line); border-radius:10px; padding:14px 15px; font:inherit; outline:none; }
.input:focus { border-color:rgba(216,185,138,.65); box-shadow:0 0 0 3px rgba(216,185,138,.08); }
textarea.input { resize:vertical; }
.slot-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; min-height:110px; }
.slot { border:1px solid var(--line); background:#101012; color:#ddd8d0; padding:12px 10px; border-radius:9px; cursor:pointer; font-weight:600; }
.slot:hover,.slot.active { border-color:var(--accent); color:var(--accent-2); background:#1b1712; }
.slot-hint { color:var(--muted); grid-column:1/-1; }
.form-note { color:#77746f; font-size:12px; text-align:center; margin:0; }
.confirmation { margin-top:18px; border:1px solid rgba(119,200,150,.28); background:rgba(39,93,58,.14); border-radius:18px; padding:24px; }
.confirmation strong { display:block; font-size:20px; margin-bottom:8px; }
.site-footer { max-width:var(--max); margin:auto; padding:36px 24px 50px; border-top:1px solid var(--line); display:flex; justify-content:space-between; color:#aaa6a0; }
.site-footer strong,.site-footer span { display:block; }
.site-footer span { font-size:13px; margin-top:6px; }
.site-footer > div:last-child { display:flex; gap:18px; font-size:14px; }
@media (max-width: 860px) {
  nav a:not(.nav-cta) { display:none; }
  .hero,.process-section,.booking-shell { grid-template-columns:1fr; }
  .hero { padding-top:70px; }
  .hero-card { min-height:390px; }
  .service-grid,.steps { grid-template-columns:1fr; }
  .slot-grid { grid-template-columns:repeat(2,1fr); }
  .section-pad { padding:72px 20px; }
  .site-header { padding:16px 20px; }
}
