/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}
}
@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}
::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}
html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}
hr{height:0;color:inherit;border-top-width:1px}
abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}
small{font-size:80%}
sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}
sub{bottom:-.25em}
sup{top:-.5em}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
:-moz-focusring{outline:auto}
progress{vertical-align:baseline}
summary{display:list-item}
ol,ul,menu{list-style:none}
img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}
img,video{max-width:100%;height:auto}
button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
:where(select:is([multiple],[size])) optgroup{font-weight:bolder}
:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}
::file-selector-button{margin-inline-end:4px}
::placeholder{opacity:1}
@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}
@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}
}
}
textarea{resize:vertical}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}
::-webkit-datetime-edit{display:inline-flex}
::-webkit-datetime-edit-fields-wrapper{padding:0}
::-webkit-datetime-edit{padding-block:0}
::-webkit-datetime-edit-year-field{padding-block:0}
::-webkit-datetime-edit-month-field{padding-block:0}
::-webkit-datetime-edit-day-field{padding-block:0}
::-webkit-datetime-edit-hour-field{padding-block:0}
::-webkit-datetime-edit-minute-field{padding-block:0}
::-webkit-datetime-edit-second-field{padding-block:0}
::-webkit-datetime-edit-millisecond-field{padding-block:0}
::-webkit-datetime-edit-meridiem-field{padding-block:0}
::-webkit-calendar-picker-indicator{line-height:1}
:-moz-ui-invalid{box-shadow:none}
button,input:where([type=button],[type=reset],[type=submit]){appearance:button}
::file-selector-button{appearance:button}
::-webkit-inner-spin-button{height:auto}
::-webkit-outer-spin-button{height:auto}
[hidden]:where(:not([hidden=until-found])){display:none!important}
}
@layer components;@layer utilities{.relative{position:relative}
.\!start{inset-inline-start:var(--spacing)!important}
.start{inset-inline-start:var(--spacing)}
.end{inset-inline-end:var(--spacing)}
.table{display:table}
.rounded{border-radius:.25rem}
}
:root{--ink:#17212b;--muted:#5d6874;--blue:#175c97;--blue-dark:#0f416d;--blue-pale:#edf5fb;--paper:#fff;--warm:#f5f3ef;--line:#dfe5e9;--night:#132331}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.site-header{border-bottom:1px solid var(--line);z-index:20;background:#fffffff5;grid-template-columns:220px 1fr auto;align-items:center;gap:20px;min-height:92px;padding:12px clamp(24px,5vw,84px);display:grid;position:sticky;top:0}
.brand img{object-fit:contain;object-position:left center;width:230px;height:64px}
nav{justify-content:center;gap:clamp(12px,1.4vw,22px);display:flex}
nav a{color:#374551;letter-spacing:.035em;white-space:nowrap;font-size:.86rem;font-weight:750}
nav a:hover{color:var(--blue)}
.phone-link{border-bottom:2px solid var(--blue);color:var(--blue-dark);white-space:nowrap;padding:8px 0;font-size:.95rem;font-weight:800}
.header-actions{align-items:center;gap:16px;display:flex}
.employee-link{color:#374551;letter-spacing:.035em;white-space:nowrap;padding:8px 0;font-size:.86rem;font-weight:750}
.employee-link:hover{color:var(--blue)}
.mobile-quick-nav{display:none}
.hero{grid-template-columns:minmax(420px,.86fr) minmax(520px,1.14fr);min-height:660px;display:grid}
.hero-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:70px clamp(36px,7vw,118px);display:flex}
.eyebrow{color:var(--blue);letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px;font-size:.76rem;font-weight:850}
.eyebrow.light{color:#8fc7f2}
h1,h2,h3,p{margin-top:0}
h1{letter-spacing:-.06em;max-width:720px;margin-bottom:30px;font-size:clamp(3rem,5.6vw,5.7rem);line-height:.98}
h1 span{color:var(--blue)}
.gateway-hero h1 span{letter-spacing:-.028em;white-space:nowrap;font-size:.82em;display:block}
.hero-intro{color:var(--muted);max-width:640px;font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.7}
.hero-actions{flex-wrap:wrap;gap:12px;margin:18px 0 38px;display:flex}
.button{border:1px solid var(--blue);justify-content:center;align-items:center;min-height:50px;padding:13px 21px;font-size:.9rem;font-weight:800;display:inline-flex}
.button.primary{background:var(--blue);color:#fff}
.button.primary:hover{background:var(--blue-dark)}
.button.secondary{color:var(--blue);background:#fff}
.hours-compact{border-left:3px solid var(--blue);flex-direction:column;gap:5px;padding-left:16px;display:flex}
.hours-compact strong{font-size:.98rem}
.hours-compact span{color:var(--muted);font-size:.82rem}
.hero-image,.team-image{position:relative;overflow:hidden}
.hero-image img{object-fit:cover;width:100%;height:100%}
.image-note{color:#fff;letter-spacing:.04em;background:#12202bc7;margin:0;padding:6px 9px;font-size:.68rem;position:absolute;bottom:14px;left:14px}
.trust-strip{background:var(--night);color:#fff;grid-template-columns:repeat(4,1fr);padding:23px clamp(24px,7vw,110px);display:grid}
.trust-strip span{letter-spacing:.09em;text-align:center;text-transform:uppercase;border-right:1px solid #fff3;font-size:.8rem;font-weight:800}
.trust-strip span:last-child{border:0}
.gateway-section{background:var(--warm)}
.gateway-heading{text-align:center;margin:0 auto}
.gateway-heading>p:last-child{margin-left:auto;margin-right:auto}
.gateway-grid{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:54px;display:grid}
.gateway-card{border:1px solid var(--line);background:#fff;flex-direction:column;min-height:100%;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex}
.gateway-card:hover{border-color:var(--blue);transform:translateY(-5px);box-shadow:0 18px 46px #17212b1a}
.gateway-card-image{background:var(--night);height:250px;overflow:hidden}
.gateway-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .24s}
.gateway-card:hover .gateway-card-image img{transform:scale(1.025)}
.gateway-card-copy{flex-direction:column;flex:1;padding:30px 28px 32px;display:flex}
.gateway-card-copy>span{color:#9ca8b2;letter-spacing:.13em;margin-bottom:23px;font-size:.7rem;font-weight:850}
.gateway-card-copy h3{margin-bottom:14px;font-size:1.55rem;line-height:1.15}
.gateway-card-copy p{color:var(--muted);margin-bottom:28px;font-size:.92rem;line-height:1.65}
.gateway-card-copy strong{color:var(--blue);margin-top:auto;font-size:.84rem}
.section{padding:110px clamp(24px,7vw,112px)}
.section-heading{max-width:780px}
.section-heading h2,.parts-intro h2,.vehicle-card h2,.team-copy h2,.oldtimer-highlight-copy h2,.oldtimer-section-copy h2,.contact-section h2{letter-spacing:-.045em;margin-bottom:22px;font-size:clamp(2.3rem,4vw,4rem);line-height:1.05}
.section-heading>p:last-child,.parts-intro>p,.vehicle-card>div>p,.team-copy>p,.contact-section>div>p{color:var(--muted);font-size:1.06rem;line-height:1.75}
.service-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:54px;display:grid}
.service-card{border:1px solid var(--line);min-height:310px;padding:31px 27px;transition:border-color .18s,transform .18s;position:relative;overflow:hidden}
.service-card:hover{border-color:var(--blue);transform:translateY(-4px)}
.service-card>span{color:#9ca8b2;letter-spacing:.12em;margin-bottom:50px;font-size:.76rem;font-weight:850;display:block}
.service-card.has-image>span{margin-bottom:68px}
.service-visual{border-bottom:1px solid var(--line);border-left:1px solid var(--line);object-fit:cover;width:94px;height:94px;position:absolute;top:0;right:0}
.service-card h3{margin-bottom:16px;font-size:1.33rem;line-height:1.2}
.service-card p{color:var(--muted);font-size:.92rem;line-height:1.65}
.service-card a{color:var(--blue);margin-top:22px;font-size:.82rem;font-weight:800;display:inline-block}
.price-note{color:var(--muted);margin:24px 0 0;font-size:.77rem}
.subpage-hero{grid-template-columns:minmax(440px,.92fr) minmax(480px,1.08fr);min-height:570px;display:grid}
.subpage-hero-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:72px clamp(36px,7vw,112px);display:flex}
.subpage-hero-copy h1{font-size:clamp(3rem,5vw,5rem)}
.subpage-hero-copy .button{margin-top:18px}
.subpage-hero-image{background:var(--night);min-height:500px;position:relative;overflow:hidden}
.subpage-hero-image img{object-fit:cover;width:100%;height:100%}
.vehicle-hero-image img{object-position:center}
.dark-subpage-hero{background:var(--night);color:#fff}
.dark-subpage-hero .hero-intro{color:#bdc9d2}
.back-link{color:var(--blue);margin-bottom:48px;font-size:.78rem;font-weight:800}
.back-link:hover{color:var(--blue-dark)}
.light-link{color:#9ed1f5}
.light-link:hover{color:#fff}
.steps-section{background:var(--warm)}
.oldtimer-highlight{background:var(--blue-dark);color:#fff;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(44px,7vw,100px);display:grid}
.oldtimer-highlight-image,.oldtimer-section-image{position:relative;overflow:hidden}
.oldtimer-highlight-image img,.oldtimer-section-image img{aspect-ratio:16/10;object-fit:cover;width:100%;height:100%}
.oldtimer-highlight-copy>p:not(.eyebrow){color:#c9dceb;font-size:1.04rem;line-height:1.75}
.oldtimer-button{color:#fff;border-color:#fff;margin-top:16px}
.oldtimer-button:hover{color:var(--blue-dark);background:#fff}
.oldtimer-section{background:var(--blue-pale);grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(44px,7vw,100px);display:grid}
.oldtimer-section-copy>p:not(.eyebrow){color:var(--muted);font-size:1.04rem;line-height:1.75}
.oldtimer-section-copy .button{margin-top:18px}
.impressions-teaser{background:#fff;grid-template-columns:.75fr 1.25fr;align-items:center;gap:clamp(44px,8vw,110px);display:grid}
.impressions-teaser-copy h2,.impressions-intro h2{letter-spacing:-.045em;margin-bottom:22px;font-size:clamp(2.3rem,4vw,4rem);line-height:1.05}
.impressions-teaser-copy>p:not(.eyebrow),.impressions-intro>p:not(.eyebrow){color:var(--muted);font-size:1.04rem;line-height:1.75}
.impressions-teaser-copy .button{margin-top:18px}
.impressions-teaser-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}
.impressions-teaser-grid img{object-fit:cover;width:100%;height:230px}
.impressions-teaser-grid img:first-child{grid-column:1/-1;height:300px}
.impressions-hero{background:var(--night);color:#fff;padding:80px clamp(24px,7vw,112px) 90px}
.impressions-hero h1{margin-bottom:24px}
.impressions-hero>p:last-child{color:#c4d0d9;max-width:760px;font-size:1.08rem;line-height:1.75}
.impressions-page{background:var(--warm)}
.impressions-intro{max-width:790px}
.impressions-grid{grid-auto-flow:dense;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:16px;margin-top:54px;display:grid}
.impression-card{background:var(--night);position:relative;overflow:hidden}
.impression-card.gallery-wide{grid-column:span 2}
.impression-card.gallery-tall{grid-row:span 2}
.impression-card img{object-fit:cover;width:100%;height:100%;transition:transform .24s,opacity .24s}
.impression-card:hover img{opacity:.88;transform:scale(1.025)}
.impression-card span{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#0f416de6;padding:8px 10px;font-size:.69rem;font-weight:800;position:absolute;bottom:12px;left:12px}
.steps-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px;display:grid}
.steps-grid article{border-top:3px solid var(--blue);background:#fff;min-height:220px;padding:32px 28px}
.steps-grid span{color:#9ca8b2;letter-spacing:.12em;margin-bottom:32px;font-size:.72rem;font-weight:850;display:block}
.steps-grid h3{margin-bottom:12px;font-size:1.25rem}
.steps-grid p{color:var(--muted);font-size:.9rem;line-height:1.65}
.parts-section{background:var(--night);color:#fff;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,120px);display:grid}
.parts-intro{align-self:center}
.parts-intro>p{color:#bdc9d2}
.category-pills{flex-wrap:wrap;gap:8px;margin-top:34px;display:flex}
.category-pills span,.category-pills a{color:#d7e0e7;border:1px solid #ffffff3d;padding:9px 12px;font-size:.75rem}
.category-pills a{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:800;text-decoration:none}
.category-pills a:hover{background:var(--blue-light);border-color:var(--blue-light)}
.parts-preview{color:var(--ink);background:#fff;padding:24px}
.preview-label{background:var(--blue-pale);color:var(--blue-dark);letter-spacing:.08em;text-align:center;text-transform:uppercase;margin-bottom:11px;padding:9px 12px;font-size:.68rem;font-weight:850}
.part-card{border-bottom:1px solid var(--line);grid-template-columns:82px 1fr auto;align-items:center;gap:18px;padding:17px 3px;display:grid}
.part-card:last-child{border:0}
.part-card-link{color:inherit;text-decoration:none;transition:background .16s,padding .16s}
.part-card-link:hover{background:var(--blue-pale);padding-left:12px;padding-right:12px}
.part-card-action{background:var(--blue);color:#fff;white-space:nowrap;padding:10px 13px;font-size:.76rem}
.part-photo-placeholder{aspect-ratio:1;color:#9ba7b1;background:#e9eef2;justify-content:center;align-items:center;font-size:.72rem;font-weight:900;display:flex}
.part-card p{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:.66rem;font-weight:850}
.part-card h3{margin-bottom:4px;font-size:1rem}
.part-card div>span{color:var(--muted);font-size:.74rem}
.part-card button{border:1px solid var(--line);color:#8e98a1;background:#fff;padding:9px 13px;font-weight:750}
.vehicle-section{background:var(--warm)}
.parts-offer-section{background:var(--blue-pale);grid-template-columns:minmax(420px,1.08fr) minmax(360px,.92fr);align-items:stretch;gap:clamp(42px,7vw,100px);scroll-margin-top:90px;display:grid}
.parts-offer-section-reverse .parts-offer-image{order:2}
.parts-offer-section-reverse .parts-offer-copy{order:1}
.parts-offer-image{background:var(--night);min-height:520px;overflow:hidden}
.parts-offer-image img{object-fit:cover;width:100%;height:100%}
.parts-offer-copy{align-self:center;max-width:650px}
.parts-offer-copy h2{letter-spacing:-.045em;margin-bottom:16px;font-size:clamp(2.3rem,4vw,4rem);line-height:1.05}
.parts-offer-model{color:var(--blue-dark);margin-bottom:27px;font-size:1.08rem;font-weight:800;line-height:1.5}
.parts-offer-facts{color:var(--muted);border-top:1px solid #cbdce8;border-bottom:1px solid #cbdce8;margin:0 0 27px;padding:18px 0;list-style:none}
.parts-offer-facts li{padding:5px 0 5px 22px;line-height:1.6;position:relative}
.parts-offer-facts li:before{color:var(--blue);content:"✓";font-weight:900;position:absolute;left:0}
.parts-offer-price{flex-wrap:wrap;align-items:baseline;gap:10px 16px;margin-bottom:26px;display:flex}
.parts-offer-price strong{color:var(--blue-dark);letter-spacing:-.04em;font-size:2.4rem}
.parts-offer-price span{color:var(--muted);font-size:.82rem;font-weight:750}
.parts-offer-copy>small{color:var(--muted);margin-top:17px;font-size:.73rem;line-height:1.55;display:block}
.vehicle-card{background:#fff;grid-template-columns:1fr auto;align-items:center;gap:60px;padding:clamp(34px,6vw,76px);display:grid}
.vehicle-card>div:first-child{max-width:760px}
.vehicle-stat{border-left:1px solid var(--line);flex-direction:column;align-items:center;min-width:230px;padding:24px 0 24px 55px;display:flex}
.vehicle-stat strong{color:var(--blue);letter-spacing:-.06em;font-size:4.5rem;line-height:1}
.vehicle-stat span{margin-top:4px;font-size:.9rem;font-weight:800}
.vehicle-stat small{color:var(--muted);margin-top:8px;font-size:.68rem}
.team-section{grid-template-columns:1.2fr .8fr;align-items:center;gap:clamp(48px,8vw,120px);display:grid}
.team-image img{aspect-ratio:3/2;object-fit:cover;width:100%}
.team-copy blockquote{border-left:3px solid var(--blue);color:var(--blue-dark);margin:34px 0 0;padding-left:23px;font-size:1.25rem;font-weight:700;line-height:1.5}
.watchdog-section{background:var(--night);color:#fff;grid-template-columns:minmax(260px,.65fr) 1.35fr;align-items:center;gap:clamp(42px,7vw,90px);padding-top:72px;padding-bottom:72px;display:grid}
.watchdog-image{border:1px solid #ffffff2e;max-width:410px;overflow:hidden}
.watchdog-image img{aspect-ratio:4/5;object-fit:cover;width:100%}
.watchdog-copy{max-width:720px}
.watchdog-copy h2{letter-spacing:-.045em;margin-bottom:22px;font-size:clamp(2.3rem,4vw,4rem);line-height:1.05}
.watchdog-copy>p:last-child{color:#c4d0d9;font-size:1.04rem;line-height:1.75}
.entrance-section{background:var(--warm)}
.entrance-heading{grid-template-columns:1fr .9fr;align-items:end;gap:clamp(36px,7vw,100px);margin-bottom:48px;display:grid}
.entrance-heading h2{letter-spacing:-.045em;margin-bottom:0;font-size:clamp(2.3rem,4vw,4rem);line-height:1.05}
.entrance-directions{border-left:3px solid var(--blue);padding-left:22px}
.entrance-directions strong{color:var(--blue-dark);margin-bottom:9px;font-size:1.05rem;display:block}
.entrance-directions p{color:var(--muted);margin-bottom:0;font-size:.94rem;line-height:1.65}
.map-button{background:var(--blue);color:#fff;margin-top:20px}
.map-button:hover{background:var(--blue-dark)}
.entrance-gallery{grid-template-columns:.75fr 1.25fr;gap:18px;display:grid}
.entrance-photo{background:#fff;margin:0;position:relative;overflow:hidden}
.entrance-photo-main{grid-column:1/-1}
.entrance-photo img{object-fit:cover;width:100%;height:390px}
.entrance-photo-main img{object-position:center;height:auto;max-height:620px}
.entrance-photo-detail img{object-position:center 48%}
.entrance-photo figcaption{background:var(--blue-dark);color:#fff;padding:9px 12px;font-size:.78rem;font-weight:750;position:absolute;bottom:14px;left:14px}
.contact-section{background:var(--blue-dark);color:#fff;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,120px);padding:100px clamp(24px,7vw,112px);display:grid}
.contact-section>div>p{color:#c1d3e1}
.contact-button{color:#fff;border-color:#fff;margin-top:12px}
.contact-button:hover{color:var(--blue-dark);background:#fff}
.contact-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}
.contact-grid>*{background:#ffffff14;flex-direction:column;min-height:126px;padding:23px;display:flex}
.contact-grid a:hover{background:#ffffff24}
.contact-grid span{color:#97b9d3;letter-spacing:.09em;text-transform:uppercase;margin-bottom:11px;font-size:.7rem;font-weight:800}
.contact-grid strong{font-size:1.02rem;line-height:1.4}
.contact-grid small{color:#b9cede;margin-top:7px;font-size:.72rem;line-height:1.4}
.contact-page-hero{background:var(--night);color:#fff;padding:80px clamp(24px,7vw,112px) 90px}
.contact-page-hero h1{margin-bottom:24px}
.contact-page-hero>p:last-child{color:#c4d0d9;max-width:760px;margin-bottom:0;font-size:1.08rem;line-height:1.75}
.contact-page{background:var(--warm)}
.contact-page-layout{grid-template-columns:minmax(280px,.7fr) minmax(520px,1.3fr);align-items:start;gap:clamp(38px,6vw,90px);display:grid}
.contact-details{position:sticky;top:130px}
.contact-details h2,.contact-form-card h2{letter-spacing:-.045em;margin-bottom:20px;font-size:clamp(2rem,3.4vw,3.4rem);line-height:1.05}
.contact-details>p:not(.eyebrow){color:var(--muted);line-height:1.7}
.contact-detail-list{border-top:1px solid var(--line);margin-top:32px}
.contact-detail-list>*{border-bottom:1px solid var(--line);flex-direction:column;padding:18px 0;display:flex}
.contact-detail-list>a:hover strong{color:var(--blue)}
.contact-detail-list span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:.68rem;font-weight:850}
.contact-detail-list strong{color:var(--blue-dark);font-size:1rem;line-height:1.45}
.contact-detail-list small{color:var(--muted);margin-top:4px;font-size:.82rem}
.contact-hours-note{margin-top:22px;font-size:.82rem}
.contact-form-card{border-top:5px solid var(--blue);background:#fff;padding:clamp(30px,5vw,60px);box-shadow:0 24px 65px #17212b17}
.form-heading{margin-bottom:36px}
.form-heading>p:last-child{color:var(--muted);margin-bottom:0;font-size:.82rem}
.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;display:grid}
.form-field{flex-direction:column;gap:9px;display:flex}
.form-field-full{grid-column:1/-1}
.form-field label,.form-consent{color:var(--ink);font-size:.82rem;font-weight:800}
.form-field input,.form-field select,.form-field textarea{appearance:none;color:var(--ink);font:inherit;background:#fbfcfd;border:1px solid #cbd5dc;border-radius:0;width:100%;min-height:50px;padding:13px 14px}
.form-field textarea{resize:vertical;min-height:170px}
.form-field select{background-image:linear-gradient(45deg, transparent 50%, var(--blue) 50%), linear-gradient(135deg, var(--blue) 50%, transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:40px}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px #175c9721}
.form-field input::placeholder{color:#8b97a2}
.form-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}
.form-consent{align-items:flex-start;gap:11px;line-height:1.55;display:flex}
.form-consent input{accent-color:var(--blue);flex:none;width:18px;height:18px;margin:3px 0 0}
.form-consent a,.form-result-card a:not(.button){color:var(--blue);text-decoration:underline}
.form-submit{flex-direction:column;align-items:flex-start;gap:12px;display:flex}
.form-submit button{cursor:pointer}
.form-submit small{color:var(--muted);font-size:.75rem;line-height:1.5}
.form-result{background:var(--warm);justify-content:center;align-items:center;min-height:650px;padding:80px 24px;display:flex}
.form-result-card{border-top:5px solid var(--blue);text-align:center;background:#fff;max-width:720px;padding:clamp(38px,7vw,76px);box-shadow:0 24px 65px #17212b17}
.form-result-card h1{color:var(--blue-dark);margin-bottom:22px;font-size:clamp(3rem,6vw,5rem)}
.form-result-card>p:not(.eyebrow,.form-result-icon){color:var(--muted);font-size:1.05rem;line-height:1.75}
.form-result-card .hero-actions{justify-content:center;margin-top:30px;margin-bottom:0}
.form-result-icon{background:var(--blue-pale);color:var(--blue);border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;margin:0 auto 24px;font-size:1.65rem;font-weight:900;display:flex}
.form-result-error{color:#a94e13;background:#fff1e6}
footer{color:#b6c0c8;background:#0b1721;grid-template-columns:220px 1fr auto;align-items:center;gap:30px;padding:44px clamp(24px,7vw,112px);display:grid}
footer img{background:#fff;width:190px;padding:7px}
footer p{margin:0;font-size:.8rem;line-height:1.7}
footer div{gap:22px;font-size:.75rem;display:flex}
footer div a:hover{color:#fff}
.legal-hero{background:var(--blue-pale);padding:80px clamp(24px,7vw,112px) 70px}
.legal-hero h1{color:var(--blue-dark);margin-bottom:18px;font-size:clamp(3.4rem,6vw,6rem)}
.legal-hero>p:last-child{color:var(--muted);margin-bottom:0;font-size:1.05rem}
.legal-page{background:#fff}
.legal-notice{color:#614815;background:#fff6df;border-left:4px solid #d89b23;margin-bottom:48px;padding:16px 19px;font-size:.9rem;line-height:1.6}
.legal-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}
.legal-grid article{border-top:3px solid var(--blue);padding:28px 4px 22px}
.legal-grid h2{color:var(--blue-dark);margin-bottom:18px;font-size:1.5rem}
.legal-grid p{color:var(--muted);line-height:1.75}
.legal-grid a{color:var(--blue);font-weight:750}
.mobile-call{display:none}
@media (width<=1300px){.site-header{grid-template-columns:210px 1fr auto}
nav{gap:16px}
nav a:nth-child(5),nav a:nth-child(6),nav a:nth-child(7){display:none}
}
@media (width<=1120px){.site-header{grid-template-columns:210px 1fr auto}
nav{gap:16px}
.hero{grid-template-columns:1fr}
.hero-copy{min-height:560px}
.hero-image{height:520px}
.service-grid{grid-template-columns:repeat(2,1fr)}
.subpage-hero{grid-template-columns:1fr}
.subpage-hero-copy{min-height:520px}
.subpage-hero-image{min-height:420px}
.parts-offer-section{grid-template-columns:1fr}
.parts-offer-section-reverse .parts-offer-image,.parts-offer-section-reverse .parts-offer-copy{order:initial}
.parts-offer-image{min-height:360px}
}
@media (width<=760px){.site-header{grid-template-columns:1fr;gap:5px;min-height:112px;padding:8px 18px 0}
.brand img{width:190px;height:54px}
nav,.phone-link,.header-actions{display:none}
.mobile-quick-nav{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin:0 -18px;padding:9px 18px 10px;display:flex}
.mobile-quick-nav a{color:var(--blue-dark);white-space:nowrap;font-size:.76rem;font-weight:800}
.hero-copy{min-height:auto;padding:64px 24px 50px}
.subpage-hero-copy{min-height:auto;padding:52px 24px 58px}
.subpage-hero-copy h1{font-size:3.25rem}
.back-link{margin-bottom:38px}
h1{font-size:3.4rem}
.hero-actions{flex-direction:column;align-items:stretch;width:100%}
.hero-image{height:330px}
.subpage-hero-image{min-height:330px}
.trust-strip{grid-template-columns:repeat(2,1fr);gap:18px}
.trust-strip span{border:0;font-size:.68rem}
.section{padding:76px 22px}
.section-heading h2,.parts-intro h2,.vehicle-card h2,.team-copy h2,.oldtimer-highlight-copy h2,.oldtimer-section-copy h2,.contact-section h2{font-size:2.55rem}
.service-grid,.gateway-grid,.steps-grid,.parts-section,.team-section,.oldtimer-highlight,.oldtimer-section,.impressions-teaser,.watchdog-section,.entrance-heading,.contact-section,.contact-grid,.legal-grid,.contact-page-layout{grid-template-columns:1fr}
.contact-details{position:static}
.service-card{min-height:auto}
.service-card>span{margin-bottom:27px}
.service-card.has-image>span{margin-bottom:58px}
.service-visual{width:86px;height:86px}
.parts-section{gap:44px}
.parts-preview{padding:14px}
.parts-offer-image{min-height:280px}
.part-card{grid-template-columns:60px 1fr}
.part-card button,.part-card-action{display:none}
.vehicle-card{grid-template-columns:1fr;gap:36px;padding:32px 24px}
.vehicle-stat{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}
.team-section{flex-direction:column;display:flex}
.watchdog-image{max-width:100%}
.entrance-gallery{grid-template-columns:1fr}
.impressions-teaser-grid img,.impressions-teaser-grid img:first-child{height:220px}
.impressions-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}
.impression-card.gallery-tall{grid-row:span 1}
.entrance-photo-main{grid-column:auto}
.entrance-photo img,.entrance-photo-main img{object-fit:cover;height:310px}
.entrance-photo-detail img{object-position:center 48%}
.team-image{order:2}
.contact-section{padding:76px 22px 100px}
.contact-page-hero{padding:64px 24px 70px}
.contact-form{grid-template-columns:1fr}
.form-field-full{grid-column:auto}
.contact-form-card{padding:32px 22px}
footer{grid-template-columns:1fr;padding-bottom:90px}
footer div{flex-wrap:wrap}
.mobile-call{background:var(--blue);color:#fff;text-align:center;z-index:30;padding:15px;font-size:.86rem;font-weight:850;display:block;position:fixed;bottom:12px;left:14px;right:14px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*{transition:none!important}
}
.portal-shell{background:radial-gradient(circle at 85% 8%,#4696d229,#0000 26rem),#f3f7fa;min-height:100vh;padding-bottom:72px}
.portal-header{border-bottom:1px solid var(--line);background:#fffffff0;justify-content:space-between;align-items:center;min-height:88px;padding:12px clamp(22px,5vw,78px);display:flex}
.portal-brand{align-items:center;gap:16px;display:flex}
.portal-brand img{object-fit:contain;width:205px;height:58px}
.portal-brand span{border-left:1px solid var(--line);color:var(--blue-dark);letter-spacing:.15em;text-transform:uppercase;padding-left:16px;font-size:.78rem;font-weight:900}
.portal-user{flex-direction:column;align-items:flex-end;gap:2px;display:flex}
.portal-user span,.portal-user a{color:var(--muted);font-size:.72rem}
.portal-user a{color:var(--blue);margin-top:3px;font-weight:800}
.portal-intro,.portal-setup-banner,.portal-calendar-grid,.portal-week-toolbar,.portal-calendar-stack,.portal-week-error{width:calc(100% - 44px);max-width:1280px;margin-left:auto;margin-right:auto}
.portal-intro{grid-template-columns:minmax(0,1fr) 330px;align-items:end;gap:48px;padding:78px 0 42px;display:grid}
.portal-kicker{color:var(--blue);letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;font-size:.72rem;font-weight:900}
.portal-intro h1,.portal-access-card h1{max-width:850px;margin-bottom:24px;font-size:clamp(2.7rem,5.8vw,5.5rem);line-height:.98}
.portal-intro>div>p:last-child,.portal-access-card>p{color:var(--muted);max-width:740px;font-size:1.08rem;line-height:1.7}
.portal-security-note{background:var(--night);color:#fff;align-items:flex-start;gap:14px;padding:24px;display:flex}
.portal-security-note>span{background:#2d8a62;border-radius:50%;flex:0 0 30px;justify-content:center;align-items:center;height:30px;display:flex}
.portal-security-note p{color:#c7d6e1;margin:6px 0 0;font-size:.82rem;line-height:1.55}
.portal-setup-banner{border-left:5px solid var(--blue);background:#fff;justify-content:space-between;align-items:center;gap:35px;margin-bottom:28px;padding:30px 34px;display:flex;box-shadow:0 15px 45px #1d364a14}
.portal-setup-banner h2,.portal-calendar-card h2{letter-spacing:-.04em;margin-bottom:12px;font-size:clamp(1.8rem,3vw,2.7rem)}
.portal-calendar-title-row{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}
.portal-calendar-title-row>div{min-width:0}
.portal-calendar-title-row p{color:var(--muted)}
.portal-add-event{flex:none;background:var(--blue)!important;color:#fff!important;cursor:pointer!important;padding:12px 15px!important}
.portal-add-event:hover{background:var(--blue-dark)!important}
.portal-week-toolbar{border:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:24px;padding:24px 28px;display:flex}
.portal-week-toolbar h2{letter-spacing:-.035em;margin-bottom:6px;font-size:clamp(1.55rem,3vw,2.35rem)}
.portal-week-toolbar p:last-child{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}
.portal-week-actions{flex:none;gap:8px;display:flex}
.portal-week-actions button{color:var(--blue-dark);cursor:pointer;font:inherit;background:#edf3f7;border:1px solid #cbd9e2;padding:11px 13px;font-size:.75rem;font-weight:850}
.portal-week-actions button:hover{background:#dfeaf1}
.portal-week-actions .drag-target{border:2px dashed var(--blue);color:var(--blue-dark);background:#dcecf7}
.portal-week-actions .drag-target:hover{background:#c9e2f2}
.portal-week-actions button:disabled{cursor:wait;opacity:.55}
.portal-calendar-stack{gap:28px;display:grid}
.portal-week-card{min-height:0;overflow:hidden}
.portal-week-card .portal-calendar-card-top{margin-bottom:28px}
.portal-week-scroll{border:1px solid var(--line);overscroll-behavior-inline:contain;margin-top:26px;overflow-x:auto}
.portal-week-scroll:focus-visible{outline-offset:2px;outline:3px solid #175c973d}
.portal-week-grid{grid-template-columns:64px repeat(7,minmax(132px,1fr));min-width:1050px;display:grid}
.portal-week-corner,.portal-week-day-heading{background:#edf3f7;border-bottom:1px solid #cad6de;border-right:1px solid #cad6de;min-height:64px;padding:10px}
.portal-week-corner{color:var(--muted);justify-content:center;align-items:center;font-size:.67rem;font-weight:850;display:flex}
.portal-week-day-heading{flex-direction:column;justify-content:center;align-items:center;display:flex}
.portal-week-day-heading span{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:850}
.portal-week-day-heading strong{color:var(--night);font-size:.95rem}
.portal-week-day-heading.today{box-shadow:inset 0 4px 0 var(--blue);background:#dbeaf5}
.portal-week-times,.portal-week-day{position:relative}
.portal-week-times{background:#f5f7f8;border-right:1px solid #cad6de}
.portal-week-times span{color:#687987;font-size:.63rem;font-weight:750;position:absolute;left:6px;transform:translateY(-50%)}
.portal-week-day{cursor:crosshair;background-color:#fff;background-image:repeating-linear-gradient(#0000 0 29px,#e7edf1 30px);border-right:1px solid #cad6de}
.portal-week-day.regular-workday:before,.portal-week-day.outside-workday:before{content:"";pointer-events:none;position:absolute;inset:0}
.portal-week-day.regular-workday:before{background:linear-gradient(#77859121 0 16.666%,#0000 16.666% 83.333%,#77859121 83.333% 100%)}
.portal-week-day.outside-workday:before{background:#77859121}
.portal-calendar-card .portal-week-event{color:#fff;cursor:grab;text-align:left;z-index:2;background:linear-gradient(135deg,#1d6cae,#174e7e);border:1px solid #ffffffb8;flex-direction:column;gap:2px;min-height:26px;padding:5px 6px;display:flex;position:absolute;left:3px;right:3px;overflow:hidden;box-shadow:0 4px 12px #164a7438}
.portal-calendar-card .portal-week-event:active{cursor:grabbing}
.portal-calendar-card .portal-week-event[aria-grabbed=true]{opacity:.48}
.portal-calendar-card .portal-week-event[data-moving=true]{cursor:wait;filter:saturate(.55)}
.portal-calendar-card .portal-week-event.klingenbrook{background:linear-gradient(135deg,#d18a32,#9f601d)}
.portal-calendar-card .portal-week-event:hover{filter:brightness(1.08);transform:translateY(-1px)}
.portal-week-event time{opacity:.92;font-size:.61rem;font-weight:850}
.portal-week-event strong{text-overflow:ellipsis;font-size:.7rem;line-height:1.15;overflow:hidden}
.portal-week-error{margin-bottom:24px}
.portal-setup-banner p:last-child{color:var(--muted);max-width:780px;margin-bottom:0;line-height:1.65}
.portal-status-pill{color:#276e4d;text-transform:uppercase;background:#eaf6ef;border:1px solid #b7dfc8;flex:none;padding:10px 13px;font-size:.75rem;font-weight:900}
.portal-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}
.portal-calendar-card{border:1px solid var(--line);background:#fff;min-height:390px;padding:32px}
.portal-calendar-card-top{color:var(--muted);align-items:center;gap:9px;margin-bottom:44px;font-size:.76rem;font-weight:750;display:flex}
.portal-calendar-mark{background:var(--blue);border-radius:50%;width:10px;height:10px;display:block}
.portal-calendar-mark.klingenbrook{background:#d18a32}
.portal-calendar-card h2{letter-spacing:-.04em;margin-bottom:10px;font-size:clamp(1.8rem,3vw,2.55rem)}
.portal-calendar-card>p{color:var(--muted)}
.portal-calendar-placeholder{gap:10px;margin:35px 0;display:grid}
.portal-calendar-placeholder span{background:#edf2f5;height:12px;display:block}
.portal-calendar-placeholder span:first-child{width:82%}
.portal-calendar-placeholder span:nth-child(2){width:64%}
.portal-calendar-placeholder span:nth-child(3){width:74%}
.portal-event-list{gap:10px;max-height:430px;margin:28px 0 0;padding:0;list-style:none;display:grid;overflow:auto}
.portal-event-list li{border-left:4px solid var(--blue);background:#f3f7fa}
.portal-calendar-card:has(.portal-calendar-mark.klingenbrook) .portal-event-list li{border-left-color:#d18a32}
.portal-event-list button{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;gap:5px;width:100%;padding:14px 16px;display:grid}
.portal-event-list button:hover{background:#e8f1f7}
.portal-event-list time{color:var(--muted);font-size:.75rem;font-weight:800}
.portal-event-list strong{color:var(--night);font-size:.96rem}
.portal-event-list small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.45;overflow:hidden}
.portal-event-list button>span{color:var(--blue);margin-top:3px;font-size:.72rem;font-weight:850}
.portal-calendar-empty{color:var(--muted);background:#f3f7fa;margin:28px 0 0;padding:18px}
.portal-calendar-card button{color:#8a949c;cursor:not-allowed;font:inherit;background:#eef2f4;border:0;padding:13px 17px;font-size:.83rem;font-weight:850}
.portal-editor-backdrop{z-index:100;background:#0a1925b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:auto}
.portal-event-editor{background:#fff;width:100%;max-width:720px;padding:clamp(24px,5vw,48px);box-shadow:0 24px 80px #0000004d}
.portal-editor-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}
.portal-editor-heading h2{letter-spacing:-.045em;font-size:clamp(2rem,5vw,3.4rem);line-height:1}
.portal-editor-close{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;width:42px;height:42px;font-size:1.7rem;line-height:1}
.portal-event-editor form,.portal-event-editor label{gap:8px;display:grid}
.portal-event-editor form{gap:20px}
.portal-event-editor label{color:var(--night);font-size:.78rem;font-weight:850}
.portal-event-editor input,.portal-event-editor textarea{color:var(--night);font:inherit;background:#f7f9fb;border:1px solid #cad5dc;border-radius:0;width:100%;padding:13px 14px;font-size:1rem}
.portal-event-editor input:focus,.portal-event-editor textarea:focus{border-color:var(--blue);outline:2px solid #175c9729}
.portal-editor-times{grid-template-columns:1fr 1fr;gap:16px;display:grid}
.portal-editor-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-top:22px;display:flex}
.portal-editor-actions>div{gap:10px;display:flex}
.portal-editor-actions button{cursor:pointer;font:inherit;border:0;padding:13px 16px;font-size:.82rem;font-weight:850}
.portal-editor-actions button:disabled{cursor:wait;opacity:.6}
.portal-save-event{background:var(--blue);color:#fff}
.portal-delete-event{color:#9a2920;background:#fae8e6}
.portal-editor-error{color:#7f251e;background:#fae8e6;border-left:4px solid #b83a30;margin:0;padding:12px 14px;line-height:1.5}
.portal-access-shell{justify-content:center;align-items:center;padding:42px 22px;display:flex}
.portal-access-card{border-top:6px solid var(--blue);background:#fff;width:100%;max-width:760px;padding:clamp(32px,6vw,70px);box-shadow:0 24px 70px #12233121}
.portal-access-card>img{object-fit:contain;object-position:left center;width:245px;height:68px;margin-bottom:48px}
.portal-access-card h1{font-size:clamp(2.25rem,5vw,4.5rem)}
.portal-access-meta{border-bottom:1px solid var(--line);border-top:1px solid var(--line);flex-direction:column;gap:4px;margin:28px 0;padding:17px 0;display:flex}
.portal-access-meta span{color:var(--muted);font-size:.72rem}
@media (width<=820px){.portal-intro,.portal-calendar-grid{grid-template-columns:1fr}
.portal-intro{align-items:start;padding-top:54px}
.portal-setup-banner{flex-direction:column;align-items:flex-start}
.portal-week-toolbar{flex-direction:column;align-items:stretch}
.portal-week-actions{grid-template-columns:repeat(3,1fr);display:grid}
.portal-user strong{text-overflow:ellipsis;max-width:180px;overflow:hidden}
}
@media (width<=560px){.portal-header{min-height:74px;padding:10px 16px}
.portal-brand img{width:158px;height:46px}
.portal-brand span,.portal-user span,.portal-user strong{display:none}
.portal-intro,.portal-setup-banner,.portal-calendar-grid,.portal-week-toolbar,.portal-calendar-stack,.portal-week-error{width:calc(100% - 28px)}
.portal-calendar-card,.portal-setup-banner,.portal-week-toolbar{padding:24px 20px}
.portal-calendar-title-row,.portal-editor-actions{flex-direction:column;align-items:stretch}
.portal-add-event{width:100%}
.portal-editor-times{grid-template-columns:1fr}
.portal-editor-actions>div{grid-template-columns:1fr 1fr;display:grid}
.portal-week-actions{grid-template-columns:1fr}
}

.parts-offer-section-sold{isolation:isolate;overflow:hidden;position:relative}
.sold-banner{align-items:center;background:rgba(183,28,28,.94);box-shadow:0 8px 26px rgba(49,12,12,.28);color:#fff;display:flex;height:clamp(88px,9vw,138px);justify-content:center;left:-8%;pointer-events:none;position:absolute;right:-8%;top:50%;transform:translateY(-50%) rotate(-8deg);z-index:4}
.sold-banner span{font-size:clamp(2.7rem,7vw,7.2rem);font-weight:950;letter-spacing:.12em;line-height:1;text-shadow:0 3px 10px rgba(70,0,0,.28)}
@media(max-width:760px){.sold-banner{height:78px;left:-18%;right:-18%}.sold-banner span{font-size:clamp(2.25rem,14vw,4rem)}}
