/* Surface treatment only: retain component grids, ordering, widths and brand tokens. */
:root { --editorial-font: 'Cormorant Garamond', Georgia, 'Times New Roman', serif; }
:root body { text-rendering: optimizeLegibility; }
:root body .logo-text-main,
:root body .car-hero-title,
:root body .car-hero-stat-main,
:root body .panel-title,
:root body .right-title,
:root body .arrow-title,
:root body .reviews-title,
:root body .call-strip-headline {
  font-family: var(--editorial-font);
  font-weight: 500;
  letter-spacing: -.025em;
  text-wrap: pretty;
}
:root body .logo-text-main { letter-spacing: .065em; }
:root body .logo-text-sub { letter-spacing: .24em; font-size: 10px; }
:root body .logo-mark {
  font-family: var(--editorial-font); font-weight: 500;
  color: var(--blue-dark); background: linear-gradient(145deg, var(--bg-light), var(--blue-soft));
  border: 1px solid color-mix(in srgb, var(--blue-main) 40%, transparent);
  box-shadow: inset 0 0 0 3px var(--bg-light), 0 3px 12px color-mix(in srgb, var(--blue-dark) 12%, transparent);
}
:root body .header-top { box-shadow: 0 1px 0 color-mix(in srgb, var(--blue-main) 16%, transparent); }
:root body .header-call-phone { font-weight: 600; letter-spacing: -.025em; }
:root body .car-hero-title { font-size: clamp(34px, 3.4vw, 52px); line-height: 1.04; text-shadow: 0 2px 18px rgba(0,0,0,.25); }
:root body .car-hero-label { letter-spacing: .16em; font-size: 11px; font-weight: 500; }
:root body .car-hero-sub { font-weight: 400; line-height: 1.65; }
:root body .car-hero-stat {
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--blue-soft) 42%, transparent);
  background: linear-gradient(145deg, color-mix(in srgb, var(--blue-dark) 76%, transparent), color-mix(in srgb, var(--blue-dark) 45%, transparent));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 8px 24px rgba(0,0,0,.14);
  backdrop-filter: blur(6px);
}
:root body .car-hero-stat-label { font-size: 10px; font-weight: 500; letter-spacing: .13em; }
:root body .dispatch-indicator { border: 1px solid color-mix(in srgb, var(--blue-soft) 35%, transparent); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
:root body .car-hero-call-btn,
:root body .submit-btn,
:root body .call-strip-button,
:root body .bar .btn,
:root body .modal .cta {
  background: linear-gradient(165deg, color-mix(in srgb, var(--orange) 88%, white), var(--orange) 55%, var(--accent-hover));
  border: 1px solid color-mix(in srgb, var(--orange) 70%, white);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 5px 16px color-mix(in srgb, var(--blue-dark) 18%, transparent);
  font-weight: 600; transition: box-shadow .18s ease, filter .18s ease;
}
:root body .car-hero-call-btn, :root body .submit-btn { border-radius: 8px; }
:root body .submit-btn { font-family: var(--editorial-font); font-size: 20px; }
:root body .section-main { background: linear-gradient(135deg, var(--bg-light), color-mix(in srgb, var(--blue-soft) 48%, var(--bg-light))); }
:root body .info-panel, :root body .right-panel {
  border-radius: 10px; overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--blue-main) 22%, var(--border));
  box-shadow: 0 8px 30px color-mix(in srgb, var(--blue-dark) 10%, transparent), inset 0 1px 0 rgba(255,255,255,.13);
}
:root body .panel-title, :root body .right-title { font-size: 27px; }
:root body .arrow-title { font-size: 21px; background: var(--blue-soft); color: var(--blue-dark); border-bottom: 1px solid var(--border); }
:root body .panel-body { background: var(--bg-light); line-height: 1.75; }
:root body .right-panel { background: linear-gradient(145deg, var(--blue-dark), color-mix(in srgb, var(--blue-dark) 85%, var(--blue-main))); }
:root body .right-field label { font-weight: 500; letter-spacing: .01em; }
:root body .right-field input:not([type='checkbox']):not([type='file']),
:root body .right-field textarea {
  border-radius: 6px; border: 1px solid color-mix(in srgb, var(--border) 70%, var(--bg-light));
  background: var(--bg-light); color: var(--text-main);
  box-shadow: inset 0 1px 3px color-mix(in srgb, var(--blue-dark) 7%, transparent);
  font-family: inherit;
}
:root body .right-field input[type='file'] { border: 1px dashed color-mix(in srgb, var(--blue-soft) 65%, transparent); border-radius: 6px; padding: 10px; max-width: 100%; }
:root body input::file-selector-button, :root body .location-pin-btn { border-radius: 5px; border: 1px solid var(--border); background: var(--blue-soft); color: var(--blue-dark); font-family: inherit; padding: 5px 9px; }
:root body input:focus-visible, :root body textarea:focus-visible, :root body button:focus-visible, :root body a:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }
:root body .reviews-title { letter-spacing: .035em; font-size: 29px; }
:root body .review-card { border-radius: 10px; border-color: color-mix(in srgb, var(--blue-main) 20%, var(--border)); box-shadow: 0 6px 22px color-mix(in srgb, var(--blue-dark) 8%, transparent); }
:root body .review-tag { letter-spacing: .10em; font-size: 9px; border: 1px solid color-mix(in srgb, var(--blue-main) 12%, transparent); }
:root body .review-text { line-height: 1.75; }
:root body .quote-mark { font-family: var(--editorial-font); font-size: 30px; }
:root body .review-author { font-weight: 600; }
:root body .call-strip-headline { font-size: 28px; }
:root body .call-strip-label { font-size: 10px; letter-spacing: .18em; }
:root body .footer-map { border-radius: 9px; box-shadow: 0 4px 18px color-mix(in srgb, var(--blue-dark) 8%, transparent); }
:root body .bar { border-top-color: color-mix(in srgb, var(--blue-soft) 28%, transparent); box-shadow: 0 -4px 20px color-mix(in srgb, var(--blue-dark) 12%, transparent); }
:root body .bar .title { font-weight: 600; }
:root body .card, :root body .modal { border-color: color-mix(in srgb, var(--blue-soft) 35%, transparent); border-radius: 10px; }
@media(max-width:640px) {
  :root body .car-hero-title { font-size: 36px; }
  :root body .panel-title, :root body .right-title { font-size: 24px; }
  :root body .reviews-title, :root body .call-strip-headline { font-size: 25px; }
}
@media(prefers-reduced-motion:reduce) { :root body a, :root body button { transition: none; } }

/* Optional imagery inherits through the same keyword/page appearance rules. */
:root body .section-main {
  background-image: linear-gradient(110deg, color-mix(in srgb, var(--bg-light) 88%, transparent), color-mix(in srgb, var(--blue-soft) 78%, transparent)), var(--section-image-process, none);
  background-size: cover; background-position: center;
}
:root body .section-reviews {
  background-image: linear-gradient(color-mix(in srgb, var(--blue-soft) 92%, transparent), color-mix(in srgb, var(--blue-soft) 92%, transparent)), var(--section-image-reviews, none);
  background-size: cover; background-position: center;
}
:root body .call-strip {
  background-image: linear-gradient(90deg, color-mix(in srgb, var(--blue-dark) 92%, transparent), color-mix(in srgb, var(--blue-dark) 76%, transparent)), var(--section-image-callStrip, none);
  background-size: cover; background-position: center 60%;
}
:root body footer {
  background-image: linear-gradient(color-mix(in srgb, var(--bg-light) 92%, transparent), color-mix(in srgb, var(--bg-light) 92%, transparent)), var(--section-image-footer, none);
  background-size: cover; background-position: center;
}
:root body .logo-img { width: 56px; height: 56px; object-fit: contain; flex-shrink: 0; }
/* Blur only the process section's decorative image, never the form/content. */
:root body .section-main {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-image: none;
}
:root body .section-main::before {
  content: '';
  position: absolute;
  inset: -10px;
  z-index: -1;
  pointer-events: none;
  background-image: linear-gradient(110deg, color-mix(in srgb, var(--bg-light) 88%, transparent), color-mix(in srgb, var(--blue-soft) 78%, transparent)), var(--section-image-process, none);
  background-size: cover;
  background-position: center;
  filter: blur(4px);
}
