/* The logo palette, with white space and readable accents on light surfaces. */
:root {
    --bordeaux: #5a0e27;
    --ice-blue: #75b7e5;
    --blue: #28658e;
    --accent: #28658e;
    --ink: #202c36;
    --paper: #202c36;
    --muted: #5b6c79;
    --bg: #ffffff;
    --panel: #f0f6fa;
    --line: #d7e2e9;
}
body { background: #fff; color: var(--ink); }
header, .site-header, .site-header.scrolled {
    background: #ffffffed;
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(20px);
}
header nav a, .motion, .motion-top, .menu, .menu-toggle { color: var(--ink); }
header nav a:hover, header nav a[aria-current=page], .text-link:hover { color: var(--bordeaux); }
.menu-toggle span { background: transparent; }
.mobile-nav, #mobile-nav { background: #fffffff5; color: var(--ink); border-bottom-color: var(--line); }
.button, .hero-cta .button, .site-header .button, .header-tools .button.ghost {
    background: var(--bordeaux);
    color: #fff;
    border: 1px solid var(--bordeaux);
    box-shadow: 0 8px 24px #5a0e2717;
}
.button:hover, .hero-cta .button:hover, .site-header .button:hover, .header-tools .button.ghost:hover {
    background: #79233e;
    border-color: #79233e;
    color: #fff;
    box-shadow: 0 10px 30px #5a0e2728;
}
.button.ghost { background: #fff; color: var(--bordeaux); border-color: #bca0aa; }
.button.ghost:hover { background: #f7edf1; color: var(--bordeaux); }
.text-link { border-color: #93a6b5; }
.eyebrow, .services .eyebrow, .occasion-heading .eyebrow { color: var(--blue); }
.brand-square { background: var(--bordeaux); }
h1, h2 { color: var(--bordeaux); }
h1 em, h2 em, h1 span, h2 span { color: var(--blue); }
.stroke-text { -webkit-text-stroke-color: var(--blue); }
.drive-scene, .hero.studio {
    background: radial-gradient(ellipse at 65% 56%, #dceef9 0%, transparent 55%),
        radial-gradient(ellipse at 15% 80%, #f4e7ec, transparent 45%), #f9fbfd;
}
.studio-grid {
    background: linear-gradient(90deg, transparent 24.95%, #28658e09 25%, transparent 25.05%, transparent 74.95%, #28658e09 75%, transparent 75.05%);
}
.studio-glow { background: #75b7e5; opacity: .14; }
.beam-one { background: linear-gradient(90deg, transparent, #75b7e5, transparent); filter: none; }
.beam-two { background: linear-gradient(90deg, transparent, #5a0e2738, transparent); filter: none; }
.title-stage h1 { color: var(--bordeaux); }
.title-line.outline { color: transparent; -webkit-text-stroke-color: var(--blue); }
.studio-car { filter: brightness(1.05) saturate(.35); }
.car-shadow { background: #567186; opacity: .2; }
.car-orbit { border-color: #28658e20; }
.edition, .micro, .hero-bottom, .hero-coordinate, .studio .hero-bottom { color: #536b7d; }
.studio-caption p { color: var(--ink); }
.scene-line, .scroll-track { background: #28658e30; }
.scene-two .eyebrow, .scene-two h2 em { color: var(--blue); }
.scene-two p { color: var(--muted); }
.kinetic-strip, .signature-strip { background: var(--bordeaux); color: #fff; border-color: #793049; }
.kinetic-strip i, .signature-group i { color: var(--ice-blue); }
.manifesto, .services, .service-cinema, .occasions, .stock-section, .faq, .gallery-section { background: #fff; color: var(--ink); }
.manifesto > .eyebrow, .manifesto-bottom p { color: var(--muted); }
.word-reveal span { color: #b8c7d1; }
.word-reveal span.lit, .no-motion .word-reveal span { color: var(--ink); }
.assurance { background: #edf5fb; color: #415b70; border-color: var(--line); }
.section-intro > p, .service-heading > p, .occasion-heading > p, .services .detail { color: var(--muted); }
.services summary h3, .services .plain-button { color: var(--ink); }
.services details, details, .car-info { border-color: var(--line); }
.services details[open] summary h3 { color: var(--bordeaux); }
.services details[open] { background: #f7f1f4; }
.service-theatre { background: #edf4f9; border-color: var(--line); }
.precision-vignette {
    background: linear-gradient(90deg, #f3f8fc 0%, #f3f8fcf0 25%, #f3f8fc66 53%, transparent 80%),
        linear-gradient(0deg, #edf4f9 0%, transparent 42%, #edf4f93d 100%);
}
.service-topline, .service-kicker, .service-panel > p { color: #4c6275; }
.service-kicker > span { background: #fff; border-color: #b9ccdb; color: var(--bordeaux); }
.service-panel h3 { color: var(--bordeaux); }
.service-panel h3 em { color: var(--blue); }
.service-book, .service-book:hover { color: #fff; }
.service-book span { color: #cce8fc; }
.service-tabs button { color: #536b7d; border-top-color: #b5cbdc; }
.service-tabs button > span { color: #667d8e; }
.service-tabs button[aria-selected=true] { color: var(--bordeaux); background: linear-gradient(0deg, #75b7e524, transparent); }
.service-tabs [aria-selected=true] > span, .service-tabs [aria-selected=true] i { color: var(--blue); }
.service-outro { background: #edf4f9; color: var(--muted); }
.service-outro span:first-child { color: var(--blue); }
.workshop { background: #f0f6fa; color: var(--ink); }
.workshop .workshop-photo { filter: saturate(.35) brightness(1.08); }
.workshop .workshop-shade {
    background: linear-gradient(90deg, #f0f6faf5, #f0f6faab 47%, #f0f6fa40), linear-gradient(0deg, #f0f6fa 0%, transparent 60%, #f0f6fa99);
}
.workshop-copy .eyebrow, .workshop-copy > p, .promise p, .workshop-signoff { color: #4b6275; }
.workshop h2 span { color: var(--blue); }
.promise-grid { background: #ffffffcf; border-color: #c7d8e5; box-shadow: 0 20px 65px #28658e0c; }
.promise-grid .promise { border-color: #c7d8e5; }
.promise-grid .promise > span { -webkit-text-stroke-color: #28658e99; }
.promise-grid h3 { color: var(--bordeaux); }
.promise-grid p { color: var(--muted); }
.workshop-signoff span:first-child { color: var(--blue); }
.filters button, .occasions .filters button { color: #536b7d; border-color: #b9ccda; }
.filters button.active { background: var(--bordeaux); border-color: var(--bordeaux); color: #fff; }
.occasions .filters button.active { background: transparent; color: var(--bordeaux); border-color: var(--bordeaux); }
.occasions .car-info:before { color: #e0eaf1; }
.car-info > span, .car-info p, .car-info > div > span { color: var(--muted); }
.car-info h3, .listing-copy h2 { color: var(--bordeaux); }
.car-tag, .occasions .car-tag { background: #ffffffed; border-color: #d5e2eb !important; color: var(--bordeaux); }
.car-info strong, .listing-price { color: var(--ink); }
.page-hero:not(.selection-hero):not(.real-detail), .selection-hero, .real-detail {
    background: radial-gradient(ellipse at 80% 65%, #d9edf9, transparent 60%), radial-gradient(ellipse at 5% 90%, #f2e6eb, transparent 50%), #f9fbfd;
}
.breadcrumb, .hero-copy > p, .selection-hero .selection-lead, .real-detail .hero-copy > p, .showroom-caption, .showroom-scroll, .selection-edition, .selection-bottom .fine { color: #536b7d; }
.selection-hero h1, .real-detail h1 { text-shadow: none; }
.selection-hero h1 em, .real-detail h1 em { -webkit-text-stroke-color: var(--blue); }
.selection-hero:before, .real-detail:before {
    background: linear-gradient(90deg, #f9fbfd 4%, #f9fbfdc9 28%, transparent 65%), linear-gradient(0deg, #f9fbfd 0%, transparent 55%);
}
.hero-shade, .real-detail .hero-shade { background: linear-gradient(90deg, #f9fbfdf0, #f9fbfd66 50%, transparent), linear-gradient(0deg, #f9fbfd, transparent 50%); }
.real-detail .detail-price { color: var(--bordeaux); }
.filter-bar label, .stock-intro > span, .spec-grid dt, .fine, .form-note { color: #536b7d; }
.filter-bar select, .filter-bar input, .contact-form input, .contact-form select, .contact-form textarea {
    background: #fff; color: var(--ink); border: 1px solid #b9ccda;
}
.filter-bar select:focus, .filter-bar input:focus, .contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { outline: 2px solid var(--blue); outline-offset: 2px; }
.listing:after, .spec-grid div:after, .section-line { background: var(--line); }
.listing-copy .index, .listing:nth-child(even) .listing-copy .index { color: transparent; -webkit-text-stroke-color: #9cbfd7; }
.listing-copy .eyebrow, .result-count { color: var(--blue); }
.listing-copy .photo-detail-link { background: #f4eaf0; color: var(--bordeaux); border-color: #cdb4bf; }
.listing-copy .photo-detail-link:hover { background: var(--bordeaux); color: #fff; }
.listing-price small, .spec-line { color: var(--muted); }
.empty, .contact-form { background: #f0f6fa; color: var(--ink); border-color: var(--line); }
.contact-form label, .editorial .lead { color: var(--ink); }
.service-tile { color: #fff; }
.service-tile h2 { color: #fff; }
.service-tile h2 em, .service-tile .eyebrow, .service-tile .tile-link span { color: #b7dffc; }
.closing {
    background: radial-gradient(ellipse at 80% 0%, #e1f0fa, transparent 65%), #eef5fa;
    color: var(--ink); border-top: 1px solid var(--line);
}
.closing h2 { color: var(--bordeaux); }
.closing h2 span, .closing h2 em { color: var(--blue); }
.closing > .eyebrow { color: var(--blue); }
.closing .button { background: var(--bordeaux); border-color: var(--bordeaux); color: #fff; box-shadow: 0 8px 24px #5a0e2717; }
.closing .button:hover { background: #79233e; border-color: #79233e; color: #fff; }
.closing-word { color: #28658e; opacity: .05; }
.closing:after { color: #28658e0b; }
.footer, footer, .site-trust { background: #fff; color: var(--ink); border-color: var(--line); }
.rdw-trust, .rdw-trust strong { color: var(--ink); }
.rdw-trust span, .footer nav, .footer-bottom, footer p, footer > span { color: var(--muted); }
.motion { border-color: #b9ccda; }
.footer-bottom:before { background: var(--line); }
.site-links { color: var(--blue); }
dialog { background: #fff; color: var(--ink); }
.photo-dialog { background: #f0f6fa; color: var(--ink); }
.photo-title, .photo-count { color: var(--ink); }
.photo-title small { color: var(--muted); }
.photo-actions button, .photo-arrow { background: #fff; color: var(--bordeaux); border-color: #c7d8e5; }
@keyframes carArrival {
    from { transform: translate3d(15%,7%,0) scale(.92); opacity: 0; filter: brightness(.7) saturate(.35) blur(4px); }
    to { transform: none; opacity: 1; filter: brightness(1.05) saturate(.35); }
}
@media (max-width:700px) {
    .hero.studio:after { background: linear-gradient(transparent, #f9fbfdc9); }
    .precision-art img { opacity: .65; }
    .precision-vignette { background: linear-gradient(90deg, #f3f8fcf2, #f3f8fc80), linear-gradient(0deg, #edf4f9, transparent 65%); }
    .workshop .workshop-shade { background: linear-gradient(0deg, #f0f6fa, #f0f6fabb 60%, #f0f6fae8); }
    .selection-hero:before, .real-detail:before { background: linear-gradient(0deg, #f9fbfd 8%, #f9fbfd77 25%, transparent 48%, #f9fbfd22 60%, #f9fbfd 90%); }
}
@media (prefers-reduced-motion:reduce) {
    .word-reveal span { color: var(--ink); }
}
.service-autoplay { background: #fffffff0; border-color: #c7d8e5; color: var(--blue); }
.service-tabs button:hover { color: var(--bordeaux); }
.service-tabs [aria-selected=true] { text-shadow: none; }
@media (min-width:701px) and (max-width:1100px) {
    .car-stage { width: 96vw; top: 31%; }
    .studio-caption { bottom: 92px; }
}
.image-label, .image-arrow { color: #fff; }
.section h2 em { -webkit-text-stroke-color: var(--blue); }
.closing h2 em { -webkit-text-stroke: 0; }
.skip { background: var(--bordeaux); color: #fff; }
.page-hero h1 em { -webkit-text-stroke-color: var(--blue); }
.page-hero:not(.selection-hero):not(.real-detail) .hero-shade {
    background: linear-gradient(90deg, #f9fbfdf5, #f9fbfdc9 32%, #f9fbfd33 70%, transparent), linear-gradient(0deg, #f9fbfd, transparent 70%);
}
