:root {
  --theme-background: #080b10;
  --theme-surface: #10141b;
  --theme-raised: #171d27;
  --theme-text: #eff3fa;
  --theme-muted: #a6b0c1;
  --theme-blue: #6096ee;
  --theme-blue-strong: #245fc7;
  --theme-line: #2b3545;
  --muted: var(--theme-muted);
  --paper: var(--theme-surface);
  --line: var(--theme-line);
  --red: var(--theme-blue);
  color-scheme: dark;
}
body, .content-page, .studio-body {
  background: radial-gradient(ellipse at 85% 0, #14243b66, transparent 46%), var(--theme-background);
  color: var(--theme-text);
}
.content-page { --warm: var(--theme-surface); --copper: #8bb4f4; }
.site-header, .studio-header { background: #0c1017; border-bottom: 1px solid var(--theme-line); }
.site-header .desktop-nav { color: #c1c9d6; }
.hero, .content-hero { background: var(--theme-background); }
.content-hero { background: radial-gradient(ellipse at 90% 15%, #213d6266, transparent 55%), var(--theme-background); border-bottom: 1px solid var(--theme-line); }
.hero h1 span, .content-hero h1 span, .journal-hero h1 span, .article-hero h1 span { color: #8bb4f4; }
.content-hero .eyebrow, .journal-hero .eyebrow, .article-hero .eyebrow { color: #9db9e4; }
.section-heading h2 span { color: #abb7c9; }
.button, .home-page .button, .content-page .button {
  background: var(--theme-blue-strong);
  color: #fff;
  border: 1px solid #608ce24d;
  border-radius: 7px;
  box-shadow: inset 0 1px #ffffff14, 0 8px 24px #00132d33;
  transition: background .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.button:hover, .home-page .button:hover, .content-page .button:hover {
  background: #2c6bd5;
  border-color: #7da5ef;
  box-shadow: inset 0 1px #ffffff24, 0 10px 28px #0d3e8138;
}
.button:active, .home-page .button:active, .content-page .button:active { transform: translateY(0); }
.home-page .header-call, .content-page .header-call { border-color: #49566c; background: #ffffff03; border-radius: 7px; }
.home-page .header-call:hover, .content-page .header-call:hover { background: #1a273a; border-color: #8bb4f4; }
.home-page .studio-nav-link, .content-page .studio-nav-link { background: #17325755; border-color: #345580; border-radius: 7px; }
.home-page .studio-nav-link:hover, .content-page .studio-nav-link:hover { background: #213f69; border-color: #77a8fb; }
.home-page .studio-nav-link span, .content-page .studio-nav-link span, .workshop-note .text-link span,
.rating-count>span, .home-page .why-number, .service-facts .fact-number { color: #8bb4f4; }
.text-link { color: var(--theme-text); border-color: #617086; }
.text-link:hover { color: #a9c9ff; border-color: #a9c9ff; }
.skip-link { background: var(--theme-raised); color: var(--theme-text); }
.colour-section, .home-page .questions, .directory-section { background: #10141b; border-block: 1px solid #273142; }
.detail-strip, .contact-section, .booking-band { background: #0d121a; border-block: 1px solid #273142; }
footer { background: #080b10; border-color: #273142; }
.contact-row h2 span { color: #9eabc0; }
.process-steps article>span { color: #8bb4f4; }
.swatch.selected { border-color: #a9c9ff; }
.swatch span { border-color: #ffffff33; }
.finish-banner { border-radius: 12px; border: 1px solid #344054; box-shadow: 0 24px 60px #0004; }
.home-page .why-grid article, .service-facts article {
  background: linear-gradient(150deg, #171e29, #10141b);
  border: 1px solid var(--theme-line);
  border-radius: 10px;
  padding: 25px;
}
.home-page .why-grid, .service-facts { gap: 18px; }
.home-page .why-grid article h3 { margin-top: 13px; }
.home-page .gallery-empty, .workshop-card, .google-rating, .google-review-card,
.nearby-chips li, .area-group, .no-results, .journal-card, .article-aside, .article-figure {
  background: var(--theme-surface);
  border-color: var(--theme-line);
  border-radius: 10px;
}
.workshop-card { border-top-color: #8bb4f4; }
.workshop-note { border-color: var(--theme-line); }
.workshop-note h3, .rating-score strong, .rating-count, .reviews-heading h3,
.google-review-card blockquote p, .google-review-card figcaption strong,
.home-page .gallery-item figcaption strong, .directory-count strong, .article-copy strong {
  color: var(--theme-text);
}
.section-intro, .directory-count, .directory-hint, .area-group summary span.group-count,
.method-note, .no-results, .privacy-nav a, .privacy-copy p, .privacy-copy li, .privacy-copy address,
.workshop-note>div>p:not(.eyebrow), .rating-score>span:not(.rating-stars), .rating-source,
.reviews-heading p, .google-review-card figcaption a, .reviews-checked,
.article-copy p, .article-copy li, .article-aside>p:not(.eyebrow), .article-figure figcaption {
  color: var(--theme-muted);
}
.privacy-nav p, .partial-label, .area-group .plus, .article-aside .eyebrow,
.journal-card .eyebrow, .journal-card-featured .eyebrow { color: #a7c4ee; }
.privacy-nav { border-left-color: #6096ee; }
.privacy-nav a:hover { color: #a9c9ff; }
.content-page .process-steps a, .content-page .service-facts a, .content-page .faq-list a,
.home-page .faq-list a, .privacy-copy a, .article-copy a, .why-preview a, .no-results a {
  color: #a9c9ff;
}
.journal-card { box-shadow: 0 12px 30px #0002; }
.journal-card-featured { background: linear-gradient(135deg, #15243a, #10141b); border-top-color: #6096ee; }
.journal-card:hover { border-color: #4d688e; box-shadow: 0 18px 36px #0003; }
.article-aside { border-top-color: #6096ee; }
dialog, .home-page .gallery-dialog { background: #10141b; color: var(--theme-text); border: 1px solid #4a5870; border-radius: 12px; box-shadow: 0 30px 100px #0008; }
.home-page dialog .eyebrow { color: #8bb4f4; }
input, select, textarea, .directory-search input {
  background: #0b1018;
  color: var(--theme-text);
  border-color: #53617a;
  border-radius: 6px;
}
input::placeholder, textarea::placeholder { color: #93a1b6; opacity: 1; }
input:hover, select:hover, textarea:hover { border-color: #7c94b7; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline-color: #94bcff; }
.contact-hint, #enquiry-reference, #enquiry-status { color: var(--theme-muted); }
.home-page .mobile-nav, .content-page .mobile-nav, .mobile-nav { background: #10141b; border-color: #344054; }
.menu-toggle:hover { background: #ffffff08; border-radius: 6px; }
.studio-intro p:not(.eyebrow), .model-badge>span, .model-badge small, .vehicle-control>p,
.vehicle-picker-note p, .colour-control legend>span, .colour-control output, .studio-reset,
.preview-note, .preview-about, .studio-bottom, .custom-preview-copy p,
.custom-preview-cta>span:not(.custom-preview-price), .custom-colour-summary, .custom-review-note { color: var(--theme-muted); }
.studio-intro .eyebrow { color: #a7c4ee; }
.model-badge, .colour-control, .preset-control, .studio-bottom { border-color: var(--theme-line); }
.studio-controls, .vehicle-picker, .chosen-look, .custom-preview-offer {
  background: var(--theme-surface);
  border-color: var(--theme-line);
  border-radius: 10px;
  box-shadow: 0 12px 32px #0002;
}
.studio-controls label, .studio-controls legend, .vehicle-picker label,
.chosen-look strong, .custom-preview-copy strong, .custom-preview-price { color: var(--theme-text); }
.chosen-look p { color: var(--theme-muted); }
.look-dot { border-color: #ffffff44; }
.studio-swatches>button { width: 44px; height: 44px; min-width: 44px; border: 6px solid #10141b; outline-color: #53617a; }
.studio-swatches>button { transition: transform .18s ease, outline-color .22s ease, box-shadow .22s ease; }
.studio-swatches>button[aria-pressed="true"] { outline: 2px solid #a9c9ff; }
.studio-swatches>button[aria-pressed="true"] { box-shadow: 0 0 0 5px #6096ee12; }
.studio-swatches>button:active { transform: scale(.94); }
.custom-colour { width: 44px; height: 44px; border-color: #8da5c8; }
.custom-colour>span { color: #a9c9ff; }
.preview-stage { background: #080b10; border: 1px solid #344054; border-radius: 12px; }
.preview-bottom { color: #afbdcf; }
.view-tabs { background: #111a28e6; border-color: #52647e; border-radius: 6px; }
.view-tabs button { color: #c3cede; min-height: 44px; }
.view-tabs button { transition: background .2s ease, color .2s ease; }
.view-tabs button[aria-pressed="true"] { background: #274572; color: #edf5ff; }
.studio-actions>button, .studio-bottom a, .custom-preview-shortcut, .custom-review-actions>button { color: #a9c9ff; }
.custom-credit-note, #custom-preview-message { background: #0b1018; color: var(--theme-muted); }
.custom-credit-note { border-left-color: #6096ee; }
#retry-preview { background: #245fc7; color: #fff; border-radius: 7px; min-height: 44px; }
.studio-body .finish-enter { animation-duration: .46s; }
.colour-reference { clear: both; margin: 0 0 14px; color: var(--theme-muted); font-size: .8125rem; line-height: 1.6; }
@media (min-width: 761px) and (max-width: 1300px) {
  .home-page .desktop-nav, .content-page .desktop-nav { display: none; }
  .home-page .header-actions, .content-page .header-actions { margin-left: auto; }
  .home-page .header-enquiry, .content-page .header-enquiry { display: none; }
  .home-page .menu-toggle, .content-page .menu-toggle { display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 44px; height: 44px; padding: 10px; flex-shrink: 0; background: transparent; border: 1px solid #53617a; border-radius: 6px; }
  .home-page .menu-toggle span, .content-page .menu-toggle span { height: 1px; width: 22px; background: #fff; }
  .home-page .mobile-nav, .content-page .mobile-nav { display: flex; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0; gap: 8px; padding: 20px 6% 28px; background: #10141b; border-top: 1px solid #344054; box-shadow: 0 24px 40px #0005; }
  .home-page .mobile-nav a, .home-page .mobile-nav button, .content-page .mobile-nav a { padding: 13px 0; font-size: 1rem; text-align: left; }
  .home-page .mobile-nav .studio-nav-link, .content-page .mobile-nav .studio-nav-link { padding: 14px 16px; margin-bottom: 8px; justify-content: space-between; }
  .home-page .mobile-nav button { background: transparent; color: #a9c9ff; border: 0; }
}
@media (max-width: 760px) {
  .home-page .why-grid article, .service-facts article { padding: 22px; }
  .home-page .why-grid article .why-number, .service-facts .fact-number { position: static; margin-bottom: 11px; }
  .home-page .why-grid article h3 { margin-top: 0; }
  .finish-banner { border-radius: 9px; }
  .studio-controls select, .vehicle-picker select { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .button, .home-page .button, .content-page .button, .journal-card,
  .studio-swatches>button, .view-tabs button { transition: none; }
  .button:hover, .home-page .button:hover, .content-page .button:hover, .journal-card:hover { transform: none; }
}
