/* Professional automotive design, preserving service and financing interactions. */
body { background: #080d13; }
:root { --muted: #a6b4c2; --line: #293440; --radius: 12px; }
.topbar { background: #0c131c; min-height: 84px; backdrop-filter: none; }
.brand-mark { border-radius: 5px; box-shadow: none; }
.brand-copy small { font-size: 12px; letter-spacing: .13em; line-height: 1.3; }
.brand-copy strong { font-size: 22px; }
.finance-pill,.private-badge,.lang-toggle,.call-pill { font-size: 14px; }
.lang-toggle { width: 44px; height: 42px; }
main { width: min(1220px, calc(100% - 48px)); }
.hero { display: grid; grid-template-columns: 1.08fr 1fr; align-items: center; gap: 48px; max-width: none; min-height: 0; padding: 36px 0; }
.hero h1 { font-size: clamp(2.75rem, 4.5vw, 4.5rem); line-height: .98; margin: 14px 0 18px; letter-spacing: -.02em; }
.hero h1 span { color: inherit; }
.hero .hero-lead { font-size: 16px; line-height: 1.65; max-width: 530px; color: #bbc8d4; }
.eyebrow { font-size: 14px; letter-spacing: .12em; }
.hero-pills { margin-top: 20px; gap: 8px; }
.hero-pills span { font-size: 14px; border-radius: 5px; padding: 7px 10px; }
.hero-pills span::before { content: none; }
.hero-photo { position: relative; margin: 0; height: 276px; border-radius: 10px; overflow: hidden; background: #1a2530; }
.hero-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hero-photo::after { content: ''; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.8)); }
.hero-photo figcaption { position: absolute; bottom: 20px; left: 22px; right: 15px; color: white; font-size: 14px; font-weight: 600; z-index: 1; }
.estimator-shell { gap: 24px; padding-bottom: 48px; }
.step-card,.summary-card { background: #111b26; box-shadow: none; }
.step-card { padding: 28px; }
.step-heading h2,.summary-card h2 { font-size: 28px; line-height: 1.15; }
.step-heading p,.location-address,.location-phone { font-size: 14px; line-height: 1.5; }
.step-number { font-family: Inter,system-ui,sans-serif; font-size: 14px; line-height: 1.4; font-weight: 700; }
.location-card { padding: 20px 16px; border-radius: 8px; }
.location-name { line-height: 1.3; }
label > span:not(.radio-dot):not(.location-name):not(.location-address):not(.location-phone) { font-size: 14px; line-height: 1.4; }
label em { font-size: 12px; color: #9aaaba; }
input,textarea,select { font-size: 16px; min-height: 46px; border-radius: 6px; }
input::placeholder,textarea::placeholder { color: #8d9aaa; }
.service-photo { margin: 0 0 20px; height: 138px; overflow: hidden; border-radius: 8px; }
.service-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 55%; display: block; }
.service-option { border-radius: 8px; }
.service-name { font-size: 20px; line-height: 1.15; }
.summary-topline { font-size: 12px; }
.summary-label { font-size: 12px; color: #9cafbf; }
.summary-value,.summary-empty { font-size: 14px; }
.summary-chips .summary-chip,.summary-notice,.privacy-note,.field-error,.financing-disclosure,.provider-copy small { font-size: 14px; line-height: 1.5; }
.summary-notice,.privacy-note,.financing-disclosure { color: #a5b4c3; }
.summary-chip { font-size: 14px; }
.character-count { font-size: 12px; }
.financing { background: #0e1926; border-radius: 12px; box-shadow: none; padding: 28px; }
.financing-heading h2 { font-size: 28px; line-height: 1.1; }
.finance-card { border-radius: 8px; box-shadow: none; }
.primary-action { border-radius: 6px; box-shadow: none; min-height: 50px; }
footer { font-size: 14px; color: #a6b4c2; }
.footer-brand { font-size: 20px; }
.footer-brand span { font-size: 12px; }
.dialog-intro,.edit-button { font-size: 14px; }
@media(max-width:900px) { .hero { gap: 24px; }.estimator-shell { grid-template-columns: 1fr; }.hero-photo { height: 240px; } }
@media(max-width:650px) { .topbar { min-height: 74px; padding: 0 14px; }.brand-copy strong { font-size: 17px; }.brand-copy small { display:none; }.brand-mark { width: 40px; height:40px; }.top-actions { gap: 6px; }.finance-pill { padding: 8px; font-size: 14px; }.private-badge { display:none; } main { width: calc(100% - 28px); }.hero { grid-template-columns: 1fr; padding: 26px 0; gap:20px; }.hero h1 { font-size: 3rem; }.hero-photo { height: 180px; }.hero .hero-lead { font-size: 16px; }.step-card,.financing { padding: 22px 18px; }.location-grid,.form-grid { grid-template-columns: 1fr; }.service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .brand-copy { min-width:0; }.hero-pills span { padding:6px 8px; }.hero-photo figcaption { bottom:14px; left:16px; } }

:root { --red:#1768b7; --red-dark:#104d8b; --cream:#eef2f6; --paper:#fff; --ink:#172c42; --muted:#53677b; --line:#d6dfe8; --error:#b8202d; }
body { background: #eef2f6; }
.topbar { background:#13273c; border-bottom:3px solid #1768b7; }
.brand { color:white; }.brand-mark { background:#1768b7; transform:none; box-shadow:none; color:white; }.brand-copy small { color:#adcae7; }
.finance-pill,.lang-toggle { color:white; border-color:#5b7187; }.call-pill { background:#1768b7; color:white; }
.hero .hero-lead { color:#53677b; }.hero-pills span { background:white; color:#365570; border:1px solid #d6dfe8; }
.hero-photo { border-radius:8px; }.hero h1 { font-size:clamp(3rem,5vw,4.8rem); }
.step-card,.summary-card { background:white; border-color:#d6dfe8; }.financing { background:#e7eff8; border-color:#c6d8ec; }
.location-card { background:#f8fafc; }.location-card:has(input:checked) { background:#edf5fd; }
input,textarea,select { background:#f8fafc; color:#172c42; border-color:#ccd8e4; }
label em { color:#60748a; }.summary-label,.summary-notice,.privacy-note,.financing-disclosure { color:#53677b; }.summary-value { color:#172c42; }
.service-option { background:#f8fafc; }.service-option:has(input:checked) { background:#edf5fd; }.service-icon { background:#e7f0fa; color:#1768b7; }
.summary-notice { background:#f1f5fa; }.summary-chip { background:#eaf3fd; color:#12558e; border-color:#bed5ee; }
.primary-action { background:#1768b7; color:white; }.finance-card { background:white; }.provider-copy small { color:#53677b; }
footer { color:#53677b; }dialog { background:white; }
@media(max-width:650px) {.hero h1 { font-size:3.25rem; }}

/* The two existing brand marks are displayed separately from their shared artwork. */
.logo-frame { display:block; position:relative; overflow:hidden; background:#fff; border-radius:5px; width:240px; flex:none; }
.logo-frame img { position:absolute; display:block; max-width:none; height:auto; }
.logo-gt { aspect-ratio:1774 / 515; }
.logo-gt img { width:100%; left:0; top:0; }
.logo-pros { aspect-ratio:1100 / 355; }
.logo-pros img { width:161.2727%; left:-30%; top:-149.2958%; }
.brand-logo { padding:6px 0; }
.location-card .logo-frame { grid-column:1 / -1; width:100%; max-width:220px; margin:0 0 9px; }
.location-card .radio-dot { grid-row:2 / 5; }
.shop-directions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.shop-directions a { display:flex; align-items:center; justify-content:center; text-align:center; color:#cce6ff; background:#142638; border:1px solid #345776; border-radius:6px; min-height:48px; padding:10px; font-size:14px; font-weight:600; text-decoration:none; }
.shop-directions a:hover { background:#1d3c57; }
.shop-directions a:focus-visible,.brand-logo:focus-visible { outline:3px solid #1fa8ff; outline-offset:4px; }
.pros-design .shop-directions a { color:#155690; background:#edf5fd; border-color:#afcbe5; }
.pros-design .shop-directions a:hover { background:#dcebf9; }
@media(max-width:650px) { .topbar .logo-frame { width:155px; }.shop-directions { grid-template-columns:1fr; }.brand-logo { max-width:48%; }.brand-logo .logo-frame { max-width:100%; }.location-card .logo-frame { max-width:220px; } }
