*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  --black: #0a0a0a;
  --dark: #111111;
  --surface: #161616;
  --surface2: #1e1e1e;
  --border: rgba(255,255,255,0.07);
  --border2: rgba(255,255,255,0.12);
  --gold: #C9A84C;
  --gold-light: #E8D5A3;
  --gold-glow: rgba(201,168,76,0.25);
  --cream: #F5F0E8;
  --text: #E8E4DD;
  --muted: #7A7670;
  --dim: #4A4740;
  --green: #4ADE80;
  --green-dark: #166534;
}

html { scroll-behavior: smooth; overflow-x:hidden; }
body {
  background:var(--black);
  color:var(--text);
  font-family:'Inter',-apple-system,system-ui,sans-serif;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* ═══ CONVERSION POLISH ═══ */
.hero-rating { display:inline-flex; align-items:center; gap:8px; margin:14px 0 4px; color:var(--text); text-decoration:none; font-size:0.88em; letter-spacing:0.02em; }
.hero-rating .hr-stars { color:#FBBC05; letter-spacing:0.12em; font-size:1.02em; }
.hero-rating strong { color:var(--cream); }
.hero-rating:hover { color:var(--gold-light); }
.hero-fineprint { margin-top:18px; color:var(--muted); font-size:0.82em; letter-spacing:0.03em; }
.service-card { cursor:pointer; }
.service-cta { display:inline-block; margin-top:14px; color:var(--gold); font-size:0.84em; font-weight:600; letter-spacing:0.04em; }
.service-card:hover .service-cta { color:var(--gold-light); }

/* ═══ SCROLLBAR ═══ */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:var(--black); }
::-webkit-scrollbar-thumb { background:var(--gold); border-radius:3px; }

/* ═══ TYPOGRAPHY ═══ */
h1, h2, h3, h4 {
  font-family:'Playfair Display',Georgia,serif;
  font-weight:400;
  color:var(--cream);
  line-height:1.1;
}
h1 { font-size:clamp(2.8em,7vw,6em); letter-spacing:-0.02em; }
h2 { font-size:clamp(2em,4.5vw,3.5em); letter-spacing:-0.02em; }
h3 { font-size:clamp(1.2em,2vw,1.5em); }
p { color:var(--muted); font-weight:300; line-height:1.75; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }

/* ═══ UTILITY ═══ */
.container { max-width:1200px; margin:0 auto; padding:0 clamp(20px,4vw,60px); }
.container-narrow { max-width:800px; margin:0 auto; padding:0 clamp(20px,4vw,60px); }
.section { padding:clamp(80px,12vh,140px) 0; }
.section-sm { padding:clamp(50px,8vh,80px) 0; }
.overline {
  font-size:0.7em; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--gold); font-weight:500; margin-bottom:16px;
  display:block;
}
.divider { width:48px; height:1px; background:var(--gold); margin:24px 0; }
.text-center { text-align:center; }
.gold { color:var(--gold); }
.italic { font-style:italic; }

/* ═══ BUTTONS ═══ */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 32px; font-size:0.82em; font-weight:600;
  letter-spacing:0.08em; text-transform:uppercase;
  text-decoration:none; cursor:pointer; border:none;
  font-family:inherit; transition:all 0.3s cubic-bezier(0.16,1,0.3,1);
  border-radius:2px; white-space:nowrap;
}
.btn-primary {
  background:var(--gold); color:var(--black);
}
.btn-primary:hover {
  background:var(--gold-light);
  transform:translateY(-2px);
  box-shadow:0 12px 40px var(--gold-glow);
}
.btn-ghost {
  background:transparent; color:var(--cream);
  border:1px solid var(--border2);
}
.btn-ghost:hover { border-color:var(--gold); color:var(--gold); }
.btn-lg { padding:18px 40px; font-size:0.88em; }
.btn-sm { padding:10px 20px; font-size:0.75em; }
.btn-group { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }

/* ═══ NAVIGATION ═══ */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:0 clamp(20px,4vw,60px); height:72px;
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(10,10,10,0.85);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--border);
  transition:all 0.4s;
}
.nav-logo {
  font-family:'Playfair Display',serif;
  font-size:1.15em; font-weight:500; letter-spacing:0.04em;
  color:var(--cream);
  display:flex; align-items:center; gap:10px;
}
.nav-logo span { color:var(--gold); font-style:italic; }
.nav-links { display:flex; align-items:center; gap:32px; }
.nav-links a {
  font-size:0.78em; color:var(--muted); letter-spacing:0.08em;
  text-transform:uppercase; text-decoration:none;
  transition:color 0.3s; font-weight:400;
}
.nav-links a:hover { color:var(--cream); }
.nav-cta {
  background:var(--gold) !important; color:var(--black) !important;
  padding:10px 24px !important; font-weight:600 !important;
  border-radius:2px; transition:all 0.3s;
}
.nav-cta:hover { background:var(--gold-light) !important; transform:translateY(-1px); }
.nav-mobile-toggle {
  display:none; background:none; border:none;
  cursor:pointer; padding:8px;
}
.nav-mobile-toggle span {
  display:block; width:22px; height:1.5px;
  background:var(--cream); margin:6px 0;
  transition:all 0.3s;
}

/* Mobile nav */
.mobile-menu {
  display:none; position:fixed; inset:0; z-index:999;
  background:var(--black); flex-direction:column;
  align-items:center; justify-content:center; gap:32px;
}
.mobile-menu.open { display:flex; }
.mobile-menu a {
  font-family:'Playfair Display',serif;
  font-size:1.5em; color:var(--cream);
  letter-spacing:0.04em;
}
.mobile-menu .btn { width:200px; text-align:center; }
.mobile-close {
  position:absolute; top:20px; right:24px;
  background:none; border:none; color:var(--cream);
  font-size:2em; cursor:pointer;
}

/* ═══ HERO ═══ */
.hero {
  min-height:100vh; min-height:100svh;
  display:flex; align-items:center;
  position:relative; overflow:hidden;
  padding-top:72px;
}
.hero-bg {
  position:absolute; inset:0;
  background:
    linear-gradient(105deg, rgba(10,10,10,0.92) 0%, rgba(10,10,10,0.75) 45%, rgba(10,10,10,0.4) 100%),
    url('hero-car.jpg') center 30% / cover no-repeat;
}
.hero-content {
  position:relative; z-index:1;
  max-width:680px;
  padding:clamp(40px,6vw,80px) clamp(20px,4vw,60px);
}
.hero-overline {
  font-size:0.72em; letter-spacing:0.35em; text-transform:uppercase;
  color:var(--gold); margin-bottom:20px; font-weight:500;
  display:flex; align-items:center; gap:12px;
}
.hero-overline::before {
  content:''; display:inline-block;
  width:32px; height:1px; background:var(--gold);
}
.hero h1 { margin-bottom:24px; }
.hero h1 em { color:var(--gold); font-style:italic; }
.hero-sub {
  font-size:clamp(0.95em,1.3vw,1.1em);
  color:var(--muted); margin-bottom:36px; font-weight:300;
  line-height:1.8; max-width:500px;
}
.hero-badges {
  display:flex; gap:24px; flex-wrap:wrap; margin-bottom:40px;
}
.hero-badge {
  display:flex; align-items:center; gap:8px;
  font-size:0.78em; color:var(--muted);
  font-weight:400; letter-spacing:0.02em;
}
.hero-badge svg { color:var(--gold); flex-shrink:0; }
.hero-ctas { display:flex; gap:16px; flex-wrap:wrap; align-items:center; }

/* Hero right — trust panel */
.hero-trust {
  position:absolute; right:clamp(20px,5vw,80px);
  top:50%; transform:translateY(-50%);
  width:340px; z-index:2;
  background:rgba(22,22,22,0.9);
  border:1px solid var(--border);
  backdrop-filter:saturate(180%) blur(20px);
  padding:32px;
}
.hero-trust-title {
  font-size:0.65em; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--gold); margin-bottom:20px;
}
.hero-trust-item {
  display:flex; align-items:flex-start; gap:12px;
  padding:14px 0; border-bottom:1px solid var(--border);
}
.hero-trust-item:last-child { border-bottom:none; }
.hero-trust-icon {
  width:36px; height:36px; border-radius:50%;
  background:rgba(201,168,76,0.1);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; color:var(--gold);
}
.hero-trust-item h4 { font-size:0.88em; font-family:'Inter',sans-serif; font-weight:600; color:var(--cream); margin-bottom:2px; }
.hero-trust-item p { font-size:0.78em; color:var(--muted); margin:0; line-height:1.5; }

/* ═══ TRUST BAR ═══ */
.trust-bar {
  background:var(--dark);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:32px 0;
}
.trust-bar-inner {
  display:flex; justify-content:center; align-items:center;
  gap:clamp(24px,5vw,60px); flex-wrap:wrap;
}
.trust-stat {
  text-align:center;
}
.trust-stat-num {
  font-family:'Playfair Display',serif;
  font-size:2em; font-weight:500; color:var(--gold);
  display:block; line-height:1;
}
.trust-stat-label {
  font-size:0.72em; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--muted); margin-top:4px;
}
.trust-sep {
  width:1px; height:40px; background:var(--border2);
}

/* ═══ SERVICES OVERVIEW ═══ */
.services-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:1px; background:var(--border);
  margin-top:60px;
  border:1px solid var(--border);
}
.service-card {
  background:var(--black);
  padding:36px 28px;
  transition:all 0.4s;
  position:relative; overflow:hidden;
}
.service-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:2px; background:var(--gold);
  transform:scaleX(0); transform-origin:left;
  transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);
}
.service-card:hover::after { transform:scaleX(1); }
.service-card:hover { background:#0e0e0e; }
.service-icon {
  width:48px; height:48px; border-radius:8px;
  background:rgba(201,168,76,0.1);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:20px; color:var(--gold);
}
.service-card h3 {
  font-family:'Playfair Display',serif;
  font-size:1.1em; font-weight:500; margin-bottom:8px;
  color:var(--cream);
}
.service-card p { font-size:0.85em; margin-bottom:16px; line-height:1.6; }
.service-card .price-hint {
  font-size:0.78em; color:var(--gold); font-weight:500;
  letter-spacing:0.04em;
}
.services-cta {
  text-align:center; margin-top:48px;
}

/* ═══ PRICING TEASER ═══ */
.pricing-teaser {
  background:var(--dark);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.pricing-teaser-inner {
  display:flex; align-items:center;
  gap:40px; flex-wrap:wrap; justify-content:space-between;
}
.pricing-teaser h2 { margin-bottom:12px; }
.pricing-teaser p { max-width:480px; }
.pricing-teaser .btn { margin-top:8px; }

/* ═══ BEFORE / AFTER GALLERY ═══ */
.gallery-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:repeat(2,280px);
  grid-auto-rows:280px;
  gap:4px; margin-top:60px;
}
.gallery-item {
  position:relative; overflow:hidden;
  background:var(--surface); cursor:pointer;
}
.gallery-item.large {
  grid-row:span 2;
}
.gallery-item img {
  width:100%; height:100%;
  object-fit:cover;
  transition:transform 0.8s cubic-bezier(0.16,1,0.3,1), filter 0.5s;
  filter:saturate(0.85) brightness(0.9);
}
.gallery-item:hover img {
  transform:scale(1.05);
  filter:saturate(1) brightness(1);
}
.gallery-overlay {
  position:absolute; bottom:0; left:0; right:0;
  padding:20px 16px;
  background:linear-gradient(transparent, rgba(0,0,0,0.75));
  transform:translateY(100%);
  transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);
}
.gallery-item:hover .gallery-overlay { transform:translateY(0); }
.gallery-overlay span {
  font-size:0.72em; letter-spacing:0.15em; text-transform:uppercase;
  color:var(--gold);
}
.gallery-overlay p {
  font-family:'Playfair Display',serif; font-size:0.95em;
  color:var(--cream); margin:4px 0 0;
}
.gallery-link { text-align:center; margin-top:40px; }

/* ═══ GOOGLE REVIEWS EMBED ═══ */
.google-reviews-wrapper {
  margin-top:60px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:4px;
  overflow:hidden;
}
.google-reviews-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 24px;
  border-bottom:1px solid var(--border);
  background:var(--dark);
}
.google-reviews-brand {
  display:flex; align-items:center; gap:10px;
  font-size:0.88em; font-weight:600; color:var(--cream);
  letter-spacing:0.02em;
}
.google-reviews-cta { display:flex; gap:12px; }
.google-review-btn {
  border-color:var(--gold) !important;
  color:var(--gold) !important;
}
.google-review-btn:hover {
  background:rgba(201,168,76,0.1) !important;
}
.google-rating-section {
  display:flex; align-items:center; justify-content:space-between;
  padding:32px 28px;
  gap:24px;
  flex-wrap:wrap;
}
.google-rating-left {
  display:flex; flex-direction:column; gap:8px;
}
.google-rating-score {
  display:flex; align-items:center; gap:12px;
}
.google-rating-number {
  font-family:'Playfair Display',serif;
  font-size:3em; font-weight:500; color:var(--cream);
  line-height:1;
}
.google-stars {
  display:flex; gap:2px;
}
.google-stars svg { flex-shrink:0; }
.google-rating-label {
  font-size:0.82em; color:var(--muted); margin:0;
  font-weight:300; letter-spacing:0.01em;
}
.google-rating-right {
  text-align:right;
  display:flex; flex-direction:column; gap:6px; align-items:flex-end;
}
.google-maps-link {
  display:flex; align-items:center; gap:8px;
  font-size:0.85em; font-weight:500; color:var(--cream);
  border:1px solid var(--border2);
  padding:10px 18px;
  border-radius:2px;
  transition:all 0.3s;
}
.google-maps-link:hover {
  border-color:var(--gold); color:var(--gold);
}
.google-rating-sub {
  font-size:0.75em; color:var(--muted); margin:0;
}
.google-reviews-footer {
  padding:16px 24px;
  border-top:1px solid var(--border);
  background:var(--dark);
  text-align:center;
}
.google-reviews-footer a {
  font-size:0.82em; color:var(--gold);
  transition:color 0.3s; letter-spacing:0.02em;
}
.google-reviews-footer a:hover { color:var(--gold-light); }

/* ═══ TESTIMONIALS ═══ */
.testimonials-section { background:var(--dark); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.testimonials-grid {
  display:grid; grid-template-columns:repeat(auto-fit, minmax(300px,1fr));
  gap:24px; margin-top:60px;
}
.testimonial-card {
  background:var(--surface); border:1px solid var(--border);
  padding:32px; position:relative;
}
.testimonial-stars {
  color:#F59E0B; font-size:0.9em; margin-bottom:16px;
  letter-spacing:2px;
}
.testimonial-quote {
  font-family:'Playfair Display',serif;
  font-size:1.05em; font-style:italic; line-height:1.6;
  color:var(--cream); margin-bottom:20px;
}
.testimonial-quote::before { content:'"'; color:var(--gold); font-size:1.5em; }
.testimonial-quote::after { content:'"'; color:var(--gold); font-size:1.5em; }
.testimonial-author { display:flex; align-items:center; gap:12px; }
.testimonial-avatar {
  width:40px; height:40px; border-radius:50%;
  background:rgba(201,168,76,0.2); display:flex;
  align-items:center; justify-content:center;
  font-weight:600; color:var(--gold); font-size:0.85em;
}
.testimonial-name { font-size:0.88em; font-weight:600; color:var(--cream); }
.testimonial-detail { font-size:0.75em; color:var(--muted); }

/* ═══ SERVICE AREA ═══ */
.service-area-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:60px;
  align-items:center; margin-top:60px;
}
.service-area-map {
  background:var(--surface); border:1px solid var(--border);
  height:400px; display:flex; align-items:center;
  justify-content:center; position:relative; overflow:hidden;
}
.service-area-map iframe {
  width:100%; height:100%; border:none; filter:invert(1) hue-rotate(180deg) brightness(0.8) contrast(1.1);
  opacity:0.7;
}
.service-area-map-placeholder {
  position:absolute; inset:0;
  background:url('https://api.mapbox.com/styles/v1/mapbox/dark-v11/static/-73.2,41.2,9,0/100%25@2x?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw') center/cover;
  opacity:0.15;
}
.service-area-list { display:flex; flex-wrap:wrap; gap:8px; }
.area-tag {
  padding:6px 14px; font-size:0.78em;
  border:1px solid var(--border2); color:var(--muted);
  border-radius:2px; transition:all 0.3s;
  letter-spacing:0.04em;
}
.area-tag:hover { border-color:var(--gold); color:var(--gold); }
.area-tag.highlight { border-color:var(--gold); color:var(--gold); background:rgba(201,168,76,0.08); }

/* ═══ BOOKING CTA ═══ */
.booking-cta {
  background:var(--dark);
  border-top:1px solid var(--border);
  text-align:center; position:relative; overflow:hidden;
}
.booking-cta::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 0%, rgba(201,168,76,0.07) 0%, transparent 60%);
  pointer-events:none;
}
.booking-cta-inner { position:relative; }
.booking-cta h2 { margin-bottom:16px; }
.booking-cta h2 em { color:var(--gold); font-style:italic; }
.booking-cta > p { max-width:480px; margin:0 auto 36px; }
.booking-cta .btn-group { justify-content:center; }
.booking-trust {
  display:flex; justify-content:center; gap:32px; flex-wrap:wrap;
  margin-top:32px; padding-top:32px; border-top:1px solid var(--border);
}
.booking-trust-item {
  display:flex; align-items:center; gap:8px;
  font-size:0.78em; color:var(--muted);
}
.booking-trust-item svg { color:var(--gold); }

/* ═══ FAQ ═══ */
.faq-list { margin-top:48px; max-width:720px; margin-left:auto; margin-right:auto; }
.faq-item {
  border-bottom:1px solid var(--border); cursor:pointer;
}
.faq-question {
  display:flex; justify-content:space-between; align-items:center;
  padding:20px 0; font-weight:500; color:var(--cream);
  font-size:0.95em; gap:16px;
}
.faq-question svg {
  flex-shrink:0; color:var(--gold);
  transition:transform 0.3s;
}
.faq-item.open .faq-question svg { transform:rotate(45deg); }
.faq-answer {
  max-height:0; overflow:hidden;
  transition:max-height 0.4s cubic-bezier(0.16,1,0.3,1), padding 0.4s;
}
.faq-item.open .faq-answer { max-height:300px; padding-bottom:20px; }
.faq-answer p { font-size:0.88em; line-height:1.7; }

/* ═══ FOOTER ═══ */
.footer {
  background:var(--black);
  border-top:1px solid var(--border);
  padding:60px 0 32px;
}
.footer-grid {
  display:grid; grid-template-columns:1.5fr 1fr 1fr;
  gap:48px; margin-bottom:48px;
}
.footer-brand p { margin-top:12px; font-size:0.85em; max-width:280px; }
.footer-col h4 {
  font-family:'Inter',sans-serif; font-size:0.72em;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--cream); margin-bottom:20px; font-weight:600;
}
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:10px; }
.footer-col ul li a {
  font-size:0.85em; color:var(--muted);
  transition:color 0.3s;
}
.footer-col ul li a:hover { color:var(--gold); }
.footer-bottom {
  border-top:1px solid var(--border);
  padding-top:24px;
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:12px;
}
.footer-bottom p { font-size:0.75em; color:var(--dim); }
.footer-bottom a { color:var(--dim); font-size:0.75em; transition:color 0.3s; }
.footer-bottom a:hover { color:var(--gold); }

/* ═══ BOOKING MODAL ═══ */
.modal-overlay {
  display:none; position:fixed; inset:0; z-index:2000;
  background:rgba(0,0,0,0.85); backdrop-filter:blur(8px);
  align-items:center; justify-content:center; padding:20px;
}
.modal-overlay.open { display:flex; }
.modal {
  background:var(--dark); border:1px solid var(--border2);
  width:100%; max-width:640px; max-height:90vh;
  overflow-y:auto; border-radius:4px;
  position:relative;
}
.modal-header {
  padding:24px 28px; border-bottom:1px solid var(--border);
  display:flex; justify-content:space-between; align-items:center;
}
.modal-header h3 { font-size:1.1em; }
.modal-close {
  background:none; border:none; color:var(--muted);
  cursor:pointer; font-size:1.5em; transition:color 0.3s;
}
.modal-close:hover { color:var(--cream); }
.modal-body { padding:28px; }

/* Booking form steps */
.booking-step { display:none; }
.booking-step.active { display:block; }
.booking-progress {
  display:flex; gap:8px; margin-bottom:32px;
}
.progress-step {
  flex:1; height:3px; background:var(--border2);
  border-radius:2px; position:relative; overflow:hidden;
}
.progress-step.done { background:var(--gold); }
.progress-step.active { background:var(--gold); }
.progress-step.active::after {
  content:''; position:absolute; right:0; top:0; bottom:0;
  width:30%; background:rgba(255,255,255,0.3);
  animation:progress-pulse 1.5s ease-in-out infinite;
}
@keyframes progress-pulse { 0%,100%{opacity:0.3}50%{opacity:0.8} }

.form-group { margin-bottom:20px; }
.form-label {
  display:block; font-size:0.78em; letter-spacing:0.06em;
  text-transform:uppercase; color:var(--muted); margin-bottom:6px;
  font-weight:500;
}
.form-input, .form-select, .form-textarea {
  width:100%; padding:12px 14px;
  background:var(--surface); border:1px solid var(--border2);
  color:var(--cream); font-family:inherit; font-size:0.92em;
  border-radius:2px; transition:border-color 0.3s;
  -webkit-appearance:none;
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
  outline:none; border-color:var(--gold);
}
.form-textarea { resize:vertical; min-height:100px; }
.form-select { cursor:pointer; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-error { font-size:0.78em; color:#EF4444; margin-top:4px; display:none; }
.form-group.has-error .form-error { display:block; }
.form-group.has-error .form-input { border-color:#EF4444; }

.checkbox-group { display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.checkbox-item {
  display:flex; align-items:center; gap:10px; cursor:pointer;
  padding:12px 14px; background:var(--surface);
  border:1px solid var(--border); border-radius:2px;
  transition:all 0.3s;
}
.checkbox-item:hover { border-color:var(--gold); }
.checkbox-item input[type="checkbox"] { display:none; }
.checkbox-item.checked { border-color:var(--gold); background:rgba(201,168,76,0.05); }
.checkbox-item.checked .checkbox-icon { background:var(--gold); color:var(--black); }
.checkbox-icon {
  width:20px; height:20px; border-radius:2px;
  border:1px solid var(--border2); display:flex;
  align-items:center; justify-content:center; flex-shrink:0;
  transition:all 0.3s; font-size:0.7em;
}
.checkbox-label { flex:1; }
.checkbox-label span { display:block; font-size:0.88em; color:var(--cream); font-weight:500; }
.checkbox-label small { font-size:0.75em; color:var(--muted); }
.checkbox-price { font-size:0.85em; color:var(--gold); font-weight:600; }

.service-select-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:8px; }
.service-select-item {
  padding:14px; border:1px solid var(--border);
  border-radius:2px; cursor:pointer;
  transition:all 0.3s; text-align:center;
}
.service-select-item:hover { border-color:var(--gold); }
.service-select-item.selected { border-color:var(--gold); background:rgba(201,168,76,0.08); }
.service-select-item input { display:none; }
.service-select-item h4 { font-size:0.88em; font-family:'Inter',sans-serif; font-weight:600; color:var(--cream); margin-bottom:4px; }
.service-select-item p { font-size:0.72em; color:var(--muted); margin:0; }
.service-select-item .from-price { color:var(--gold); font-weight:600; font-size:0.85em; margin-top:6px; display:block; }

.booking-nav {
  display:flex; justify-content:space-between; align-items:center;
  margin-top:28px; padding-top:20px; border-top:1px solid var(--border);
}
.booking-summary {
  background:var(--surface); border:1px solid var(--border);
  padding:20px; margin-bottom:24px; border-radius:2px;
}
.booking-summary h4 { font-family:'Inter',sans-serif; font-size:0.8em; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); margin-bottom:12px; }
.booking-summary-row { display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px solid var(--border); font-size:0.85em; }
.booking-summary-row:last-child { border-bottom:none; }
.booking-summary-row .label { color:var(--muted); }
.booking-summary-row .value { color:var(--cream); font-weight:500; }
.booking-summary-total { display:flex; justify-content:space-between; padding:12px 0 0; font-size:0.95em; }
.booking-summary-total .label { color:var(--cream); font-weight:600; }
.booking-summary-total .value { color:var(--gold); font-weight:700; font-size:1.1em; }

.success-state {
  text-align:center; padding:40px 20px;
}
.success-icon {
  width:72px; height:72px; border-radius:50%;
  background:rgba(74,222,128,0.1);
  border:2px solid var(--green);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 24px; color:var(--green); font-size:2em;
}
.success-state h3 { font-size:1.4em; margin-bottom:12px; }
.success-state p { max-width:360px; margin:0 auto 24px; }
.success-state .btn { margin-top:8px; }

/* ═══ RESPONSIVE ═══ */
@media (max-width:1024px) {
  .hero-trust { display:none; }
  .service-area-grid { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  .nav-links { display:none; }
  .nav-mobile-toggle { display:block; }
  .gallery-grid {
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:repeat(3,200px);
  }
  .gallery-item.large { grid-row:span 1; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .form-row { grid-template-columns:1fr; }
  .service-select-grid { grid-template-columns:1fr; }
  .booking-progress { gap:4px; }
}
@media (max-width:480px) {
  .gallery-grid { grid-template-columns:1fr; grid-template-rows:repeat(6,200px); }
  .footer-grid { grid-template-columns:1fr; }
  .hero-ctas { flex-direction:column; }
  .hero-ctas .btn { width:100%; }
  .trust-bar-inner { gap:20px; }
  .trust-sep { display:none; }
  .booking-cta .btn-group { flex-direction:column; align-items:center; }
}