
:root { --concept-height: 0px; --utility-height: 30px; }
body.production-site { padding-bottom: 0; }
.utility-bar { position:relative; z-index:121; min-height:var(--utility-height); padding:6px var(--page-pad); display:flex; align-items:center; justify-content:space-between; gap:16px; background:var(--blue); color:#fff; font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.utility-bar a { text-decoration:underline; text-underline-offset:3px; }
.production-site .site-header { top:0; }
.production-site .desktop-nav a.is-active { color:#fff; }
.production-site .desktop-nav a.is-active::after { right:0; }
.production-site .mobile-menu { inset:calc(var(--utility-height) + var(--header-height)) 0 0; }
.production-site .hero { min-height:calc(100svh - var(--utility-height) - var(--header-height)); }
.production-site .hero__copy { padding-top:clamp(72px,10vh,132px); }
.production-site .hero__lede { max-width:750px; }
.production-site .mobile-dock__accent { background:var(--orange); }
.production-site .site-footer__note { max-width:520px; }
.production-site .site-footer { padding-bottom:clamp(50px,6vw,90px); }

.quick-actions { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); background:var(--ink-2); }
.quick-actions > a { min-height:130px; display:flex; align-items:center; gap:18px; padding:24px clamp(20px,3vw,46px); border-right:1px solid var(--line-dark); transition:background .25s ease,transform .25s ease; }
.quick-actions > a:last-child { border-right:0; }
.quick-actions > a:hover { background:var(--blue-deep); }
.quick-actions svg { flex:0 0 34px; width:34px; height:34px; fill:none; stroke:var(--blue-bright); stroke-width:1.7; }
.quick-actions small,.quick-actions strong { display:block; }
.quick-actions small { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.quick-actions strong { margin-top:4px; font-family:var(--display); font-size:clamp(24px,2vw,34px); line-height:1; text-transform:uppercase; }

.ac-feature { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(440px,.97fr); min-height:800px; padding:0; background:var(--blue); overflow:hidden; }
.ac-feature__media { position:relative; min-height:720px; overflow:hidden; }
.ac-feature__media img { width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.08); }
.ac-feature__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(8,16,25,.62)); }
.ac-feature__temperature { position:absolute; z-index:2; right:-.06em; bottom:-.22em; color:rgba(255,255,255,.13); font-family:var(--display); font-size:clamp(190px,25vw,430px); font-weight:900; line-height:.8; }
.ac-feature__copy { align-self:center; padding:clamp(60px,8vw,130px); }
.ac-feature__copy h2 { max-width:760px; margin:0 0 28px; font-family:var(--display); font-size:clamp(66px,7vw,128px); line-height:.82; letter-spacing:-.035em; text-transform:uppercase; }
.ac-feature__copy > p:not(.eyebrow) { max-width:650px; color:rgba(255,255,255,.84); font-size:clamp(17px,1.3vw,22px); }
.check-list { list-style:none; padding:0; margin:28px 0 38px; }
.check-list li { position:relative; padding:13px 0 13px 32px; border-bottom:1px solid rgba(255,255,255,.18); }
.check-list li::before { content:""; position:absolute; left:0; top:21px; width:13px; height:2px; background:var(--orange); }

.service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin-top:50px; background:var(--line-dark); border:1px solid var(--line-dark); }
.service-card { position:relative; min-height:390px; padding:clamp(26px,3.2vw,54px); background:var(--ink-2); overflow:hidden; transition:background .3s ease,transform .3s ease; }
.service-card::after { content:""; position:absolute; inset:auto -10% -50% 25%; height:70%; border-radius:50%; border:1px solid rgba(42,168,235,.18); transition:transform .5s var(--ease); }
.service-card:hover { z-index:2; background:var(--blue-deep); transform:translateY(-7px); }
.service-card:hover::after { transform:scale(1.25); }
.service-card__index { display:block; color:var(--blue-bright); font-size:10px; font-weight:800; letter-spacing:.15em; }
.service-card h3 { max-width:270px; margin:42px 0 20px; font-family:var(--display); font-size:clamp(38px,3vw,58px); line-height:.86; text-transform:uppercase; }
.service-card p:not(.eyebrow) { position:relative; z-index:1; color:var(--muted); font-size:14px; }
.service-card .text-link { position:absolute; z-index:2; left:clamp(26px,3.2vw,54px); bottom:34px; display:flex; align-items:center; gap:10px; color:#fff; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.service-card .text-link svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; }
.service-exclusion { display:flex; gap:24px; align-items:baseline; margin-top:32px; padding:24px 0; border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); }
.service-exclusion strong { flex:0 0 auto; color:var(--orange); font-family:var(--display); font-size:30px; text-transform:uppercase; }
.service-exclusion span { color:var(--muted); }

.diesel-callout { margin-top:42px; padding:30px; border-left:4px solid var(--orange); background:rgba(8,16,25,.24); }
.diesel-callout > span { color:rgba(255,255,255,.65); font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.diesel-callout strong { display:block; margin:8px 0; font-family:var(--display); font-size:48px; line-height:1; text-transform:uppercase; }
.diesel-callout p { max-width:620px; }
.diesel-callout a { display:inline-block; margin-top:10px; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

.measurement { display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,.8fr); gap:clamp(50px,8vw,140px); align-items:center; background:var(--paper); color:var(--ink); }
.measurement__copy h2 { margin:0 0 28px; max-width:800px; font-family:var(--display); font-size:clamp(70px,7.4vw,132px); line-height:.82; letter-spacing:-.035em; text-transform:uppercase; }
.measurement__copy > p:not(.eyebrow) { max-width:720px; color:var(--muted-dark); font-size:18px; }
.measurement__events { display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }
.measurement__events span { padding:10px 14px; border:1px solid var(--line-light); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.measurement__panel { padding:clamp(34px,4vw,62px); background:var(--ink); color:#fff; box-shadow:var(--shadow); }
.measurement__live { display:inline-flex; align-items:center; gap:8px; color:var(--blue-bright); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.measurement__live::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--orange); }
.measurement__panel dl { margin:34px 0; }
.measurement__panel dl div { display:grid; grid-template-columns:120px 1fr; gap:20px; padding:18px 0; border-bottom:1px solid var(--line-dark); }
.measurement__panel dt { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.measurement__panel dd { margin:0; }
.measurement__panel small { color:var(--muted); }

.page-hero,.service-hero { min-height:calc(100svh - var(--header-height) - var(--utility-height)); display:grid; grid-template-columns:minmax(0,1.05fr) minmax(420px,.75fr); background:var(--blue); overflow:hidden; }
.page-hero__copy,.service-hero__copy { align-self:center; padding:clamp(70px,9vw,150px) var(--page-pad); }
.page-hero__copy h1,.service-hero__copy h1 { margin:0 0 30px; max-width:1050px; font-family:var(--display); font-size:clamp(74px,8.4vw,150px); font-weight:900; line-height:.8; letter-spacing:-.04em; text-transform:uppercase; }
.page-hero__copy h1 em { display:block; color:var(--ink); font-style:normal; }
.page-hero__copy > p:not(.eyebrow),.service-hero__copy > p:not(.eyebrow) { max-width:760px; color:rgba(255,255,255,.84); font-size:clamp(17px,1.35vw,22px); }
.page-hero__media,.service-hero__media { position:relative; min-height:650px; margin:0; overflow:hidden; background:var(--ink); }
.page-hero__media img,.service-hero__media img { width:100%; height:100%; object-fit:cover; filter:saturate(.8) contrast(1.08); }
.page-hero__media::after,.service-hero__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,16,25,.08),rgba(8,16,25,.55)); }
.page-hero__media figcaption,.service-hero__media figcaption { position:absolute; z-index:2; right:clamp(25px,4vw,70px); bottom:clamp(30px,6vw,90px); max-width:480px; color:#fff; font-family:var(--display); font-size:clamp(38px,4vw,70px); font-weight:800; line-height:.86; text-align:right; text-transform:uppercase; }

.service-hero { background:var(--ink); }
.service-hero__media > span { position:absolute; z-index:2; left:20px; bottom:-.25em; color:rgba(255,255,255,.14); font-family:var(--display); font-size:clamp(180px,26vw,440px); font-weight:900; line-height:.8; }
.back-link { display:inline-block; margin-bottom:38px; color:var(--blue-bright); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.service-detail { display:grid; grid-template-columns:minmax(0,.8fr) minmax(360px,.7fr) minmax(380px,.9fr); gap:clamp(42px,6vw,100px); align-items:start; }
.service-detail__intro h2,.service-scope h2 { margin:0 0 24px; font-family:var(--display); font-size:clamp(58px,6vw,100px); line-height:.84; text-transform:uppercase; }
.symptom-list { list-style:none; margin:0; padding:0; counter-reset:symptom; border-top:1px solid var(--line-dark); }
.symptom-list li { counter-increment:symptom; position:relative; padding:24px 10px 24px 50px; border-bottom:1px solid var(--line-dark); color:var(--muted); }
.symptom-list li::before { content:counter(symptom,decimal-leading-zero); position:absolute; left:0; color:var(--blue-bright); font-size:10px; font-weight:800; }
.pending-note { margin-top:36px; padding:24px; border:1px solid rgba(255,107,44,.45); background:rgba(255,107,44,.07); }
.pending-note strong { color:var(--orange); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.pending-note p { margin:8px 0 0; color:var(--muted); }
.service-conversion { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:50px; align-items:end; background:var(--blue); }
.service-conversion h2 { margin:0; max-width:900px; font-family:var(--display); font-size:clamp(66px,7vw,126px); line-height:.82; text-transform:uppercase; }
.service-conversion > div:last-child { display:grid; gap:24px; min-width:260px; }
.related-services > div { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:36px; background:var(--line-dark); border:1px solid var(--line-dark); }
.related-services a { min-height:220px; display:flex; flex-direction:column; justify-content:flex-end; padding:34px; background:var(--ink-2); transition:background .25s ease; }
.related-services a:hover { background:var(--blue-deep); }
.related-services small { color:var(--blue-bright); text-transform:uppercase; }
.related-services strong { margin:10px 0 24px; font-family:var(--display); font-size:38px; line-height:.9; text-transform:uppercase; }
.related-services span { font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }

.split-cta { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:50px; align-items:end; background:var(--blue); }
.split-cta h2 { margin:0 0 20px; font-family:var(--display); font-size:clamp(66px,7vw,126px); line-height:.82; text-transform:uppercase; }
.split-cta p:not(.eyebrow) { max-width:760px; color:rgba(255,255,255,.82); }
.split-cta__actions { display:grid; gap:14px; min-width:260px; }
.about-principles { background:var(--paper); color:var(--ink); }
.principle-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:54px; background:var(--line-light); border:1px solid var(--line-light); }
.principle-grid article { min-height:360px; padding:clamp(30px,4vw,60px); background:var(--paper); }
.principle-grid article > span { color:var(--blue); font-size:11px; font-weight:800; }
.principle-grid h3 { margin:70px 0 20px; font-family:var(--display); font-size:50px; line-height:.86; text-transform:uppercase; }
.principle-grid p { color:var(--muted-dark); }
.team-feature { display:grid; grid-template-columns:minmax(380px,.8fr) minmax(0,1fr); gap:clamp(50px,8vw,140px); align-items:center; }
.team-feature figure { max-height:760px; margin:0; overflow:hidden; }
.team-feature img { width:100%; height:100%; object-fit:cover; }
.team-feature h2 { margin:0 0 26px; max-width:850px; font-family:var(--display); font-size:clamp(68px,7vw,124px); line-height:.82; text-transform:uppercase; }
.client-needed { margin:38px 0; }
.client-needed div { display:grid; grid-template-columns:130px 1fr; padding:14px 0; border-bottom:1px solid var(--line-dark); }
.client-needed dt { color:var(--orange); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.client-needed dd { margin:0; color:var(--muted); }

.contact-options { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line-dark); }
.contact-option { min-height:330px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; padding:clamp(28px,4vw,58px); background:var(--ink-2); transition:background .25s ease; }
.contact-option:hover { background:var(--blue-deep); }
.contact-option svg { width:40px; height:40px; margin-bottom:auto; fill:none; stroke:var(--blue-bright); stroke-width:1.6; }
.contact-option small { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.contact-option strong { margin:8px 0 24px; font-family:var(--display); font-size:clamp(32px,3vw,50px); line-height:.9; text-transform:uppercase; }
.contact-option span { font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.location-detail { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,.8fr); gap:clamp(50px,8vw,140px); align-items:center; }
.location-detail h2 { margin:0 0 26px; font-family:var(--display); font-size:clamp(68px,7vw,124px); line-height:.82; text-transform:uppercase; }

.request-layout { display:grid; grid-template-columns:minmax(360px,.7fr) minmax(600px,1fr); gap:clamp(50px,7vw,120px); align-items:start; padding:clamp(70px,9vw,150px) var(--page-pad); background:linear-gradient(135deg,var(--ink),var(--ink-2)); }
.request-layout__intro { position:sticky; top:140px; }
.request-layout__intro h1 { margin:0 0 28px; font-family:var(--display); font-size:clamp(70px,7.5vw,130px); line-height:.81; text-transform:uppercase; }
.request-layout__intro > p:not(.eyebrow) { max-width:620px; color:var(--muted); font-size:18px; }
.request-layout__promise { margin:40px 0; padding:30px; border-left:4px solid var(--orange); background:rgba(255,255,255,.04); }
.request-layout__promise > span { font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.request-layout__promise ol { margin:16px 0 0; padding-left:22px; color:var(--muted); }
.intake-form { padding:clamp(30px,5vw,70px); background:var(--paper); color:var(--ink); box-shadow:var(--shadow); }
.intake-form fieldset { margin:0 0 46px; padding:0; border:0; }
.intake-form legend { width:100%; margin-bottom:24px; padding-bottom:14px; border-bottom:1px solid var(--line-light); font-family:var(--display); font-size:36px; font-weight:800; text-transform:uppercase; }
.intake-form label { display:grid; gap:8px; margin-bottom:18px; }
.intake-form label > span { font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.intake-form input,.intake-form select,.intake-form textarea { width:100%; min-height:52px; padding:13px 14px; border:1px solid rgba(8,16,25,.25); border-radius:0; background:#fff; color:var(--ink); }
.intake-form textarea { resize:vertical; }
.intake-form input:focus,.intake-form select:focus,.intake-form textarea:focus { outline:3px solid rgba(18,131,195,.24); border-color:var(--blue); }
.field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.field-row--three { grid-template-columns:.45fr 1fr 1fr; }
.intake-form .consent-row { grid-template-columns:auto 1fr; align-items:start; gap:12px; }
.intake-form .consent-row input { width:20px; min-height:20px; margin-top:2px; }
.honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; }
.form-status { margin-bottom:20px; padding:0; }
.form-status.is-error,.form-status.is-warning,.form-status.is-success { padding:14px 16px; border-left:4px solid var(--orange); background:rgba(255,107,44,.1); }
.form-status.is-success { border-color:#198754; background:rgba(25,135,84,.1); }
.form-fallback { margin-top:22px; padding:22px; background:rgba(18,131,195,.1); }
.form-fallback p { margin-top:0; }
.intake-form button[disabled] { opacity:.55; cursor:wait; }

.legal-hero { padding:clamp(90px,12vw,180px) var(--page-pad) clamp(60px,7vw,100px); background:var(--blue); }
.legal-hero h1 { margin:0 0 24px; font-family:var(--display); font-size:clamp(84px,10vw,170px); line-height:.8; text-transform:uppercase; }
.legal-copy { max-width:1000px; margin:0 auto; background:var(--paper); color:var(--ink); }
.legal-copy h2 { margin:54px 0 14px; font-family:var(--display); font-size:38px; text-transform:uppercase; }
.legal-copy p { color:var(--muted-dark); }

.cookie-banner { position:fixed; z-index:400; left:20px; right:20px; bottom:20px; display:flex; align-items:center; justify-content:space-between; gap:30px; max-width:1100px; margin:auto; padding:22px 24px; background:#fff; color:var(--ink); box-shadow:0 20px 80px rgba(0,0,0,.45); }
.cookie-banner[hidden] { display:none; }
.cookie-banner strong { font-family:var(--display); font-size:24px; text-transform:uppercase; }
.cookie-banner p { margin:4px 0 0; color:var(--muted-dark); font-size:13px; }
.cookie-banner__actions { display:flex; gap:10px; flex:0 0 auto; }
.cookie-banner button:not(.button) { padding:12px 16px; border:1px solid var(--line-light); background:transparent; color:var(--ink); cursor:pointer; }
.cookie-banner .button { min-height:44px; padding:12px 18px; }

@media (max-width: 1180px) {
  .quick-actions { grid-template-columns:repeat(2,1fr); }
  .quick-actions > a:nth-child(2) { border-right:0; }
  .quick-actions > a:nth-child(-n+2) { border-bottom:1px solid var(--line-dark); }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .ac-feature { grid-template-columns:1fr 1fr; }
  .service-detail { grid-template-columns:1fr 1fr; }
  .service-scope { grid-column:1/-1; }
  .contact-options { grid-template-columns:repeat(2,1fr); }
  .request-layout { grid-template-columns:minmax(300px,.65fr) minmax(500px,1fr); }
}
@media (max-width: 900px) {
  :root { --utility-height: 28px; }
  .utility-bar { padding-inline:18px; font-size:8px; }
  .utility-bar span:first-child { display:none; }
  .utility-bar { justify-content:center; }
  .production-site .mobile-menu { inset:calc(var(--utility-height) + var(--header-height)) 0 0; }
  .production-site .hero { min-height:auto; }
  .quick-actions { grid-template-columns:1fr 1fr; }
  .quick-actions > a { min-height:100px; padding:18px; gap:12px; }
  .quick-actions svg { width:28px; height:28px; }
  .quick-actions strong { font-size:24px; }
  .ac-feature,.page-hero,.service-hero,.team-feature,.location-detail,.measurement,.request-layout { grid-template-columns:1fr; }
  .ac-feature__media { min-height:520px; }
  .ac-feature__copy { padding:64px var(--page-pad) 84px; }
  .page-hero__media,.service-hero__media { min-height:520px; order:-1; }
  .page-hero__copy,.service-hero__copy { padding-top:65px; padding-bottom:80px; }
  .service-detail { grid-template-columns:1fr; }
  .service-scope { grid-column:auto; }
  .service-conversion,.split-cta { grid-template-columns:1fr; align-items:start; }
  .related-services > div,.principle-grid { grid-template-columns:1fr; }
  .team-feature figure { max-height:620px; }
  .contact-options { grid-template-columns:1fr 1fr; }
  .request-layout__intro { position:static; }
  .request-layout { padding-bottom:120px; }
  .cookie-banner { flex-direction:column; align-items:stretch; bottom:92px; }
  .cookie-banner__actions { justify-content:stretch; }
  .cookie-banner__actions > * { flex:1; }
}
@media (max-width: 620px) {
  .production-site .site-header { padding-inline:16px; }
  .production-site .wordmark__number { font-size:31px; }
  .production-site .wordmark__name { font-size:14px; }
  .production-site .wordmark__mark { width:38px; }
  .quick-actions { grid-template-columns:1fr; }
  .quick-actions > a { border-right:0!important; border-bottom:1px solid var(--line-dark)!important; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { min-height:330px; }
  .service-exclusion { display:grid; gap:8px; }
  .ac-feature__media { min-height:440px; }
  .ac-feature__copy h2 { font-size:65px; }
  .measurement__copy h2,.page-hero__copy h1,.service-hero__copy h1,.request-layout__intro h1,.location-detail h2 { font-size:64px; }
  .page-hero__media,.service-hero__media { min-height:430px; }
  .service-detail,.service-conversion,.related-services,.split-cta,.about-principles,.team-feature,.contact-options,.location-detail,.request-layout { padding-left:20px; padding-right:20px; }
  .contact-options { grid-template-columns:1fr; background:transparent; }
  .contact-option { min-height:260px; }
  .field-row,.field-row--three { grid-template-columns:1fr; gap:0; }
  .intake-form { padding:28px 20px; }
  .intake-form legend { font-size:30px; }
  .measurement__panel dl div { grid-template-columns:1fr; gap:5px; }
  .cookie-banner { left:10px; right:10px; padding:18px; }
  .cookie-banner__actions { flex-direction:column; }
}
@media (prefers-reduced-motion: reduce) { .service-card,.quick-actions>a,.contact-option { transition:none!important; } }
/* Final narrow-screen overflow guard. */
.measurement > *, .measurement__panel, .measurement__copy { min-width: 0; max-width: 100%; }
.ac-feature__temperature { right: 0; }
@media (max-width: 620px) {
  .measurement { overflow: hidden; padding-left: 20px; padding-right: 20px; }
  .measurement__copy, .measurement__panel { width: 100%; }
  .measurement__events { max-width: 100%; }
}

/* V2.1 — A/C-first functional enhancement */
.hero__image-frame picture { display:block; width:100%; height:100%; }
.hero__image-frame picture img { width:100%; height:100%; }
.hero__image-frame--illustration img,
.ac-feature__media--illustration img,
.page-hero__media--illustration img,
.service-hero__media--illustration img { object-fit:cover; filter:none; transform:none; }
.page-hero__media--illustration::after,
.service-hero__media--illustration::after { background:linear-gradient(180deg,rgba(8,16,25,.02),rgba(8,16,25,.34)); }
.ac-first-hero .hero__stamp strong { font-size:clamp(72px,8vw,130px); }
.ac-first-hero .hero__stamp small { letter-spacing:.18em; }

.service-card { isolation:isolate; }
.service-card::before { content:""; position:absolute; z-index:-1; inset:0; background-image:linear-gradient(180deg,rgba(8,16,25,.4),rgba(8,16,25,.96) 72%),var(--service-art); background-size:cover; background-position:center; opacity:.22; transform:scale(1.03); transition:opacity .35s ease,transform .55s var(--ease); }
.service-card:hover::before { opacity:.42; transform:scale(1.09); }
.service-card > * { position:relative; z-index:1; }

.full-service-callout { border-left-color:var(--blue-bright); }
.full-service-callout > span { color:rgba(255,255,255,.8); }
.full-service-callout strong { max-width:570px; }

.summer-ready { display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,.72fr); gap:clamp(50px,8vw,140px); align-items:center; background:var(--paper); color:var(--ink); }
.summer-ready__copy h2 { max-width:900px; margin:0 0 28px; font-family:var(--display); font-size:clamp(68px,7.4vw,132px); line-height:.82; letter-spacing:-.035em; text-transform:uppercase; }
.summer-ready__copy > p:not(.eyebrow) { max-width:760px; color:var(--muted-dark); font-size:18px; }
.summer-ready__signals { display:flex; flex-wrap:wrap; gap:10px; margin:30px 0 34px; }
.summer-ready__signals span { padding:11px 14px; border:1px solid var(--line-light); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.summer-ready__visual { min-height:620px; margin:0; overflow:hidden; background:var(--ink); box-shadow:var(--shadow); }
.summer-ready__visual img { width:100%; height:100%; object-fit:cover; }

.service-note { margin-top:36px; padding:24px; border-left:4px solid var(--blue-bright); background:rgba(18,131,195,.09); }
.service-note strong { color:var(--blue-bright); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.service-note p { margin:8px 0 0; color:var(--muted); }
.about-service-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.about-service-links a { padding:12px 14px; border:1px solid var(--line-dark); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

.field-help { display:block; min-height:32px; color:#61717e; font-size:11px; line-height:1.45; }
.field-help[data-state="loading"] { color:var(--blue); }
.field-help[data-state="error"] { color:#9d3e24; }
.vehicle-data-note { margin:-4px 0 0; padding:14px 16px; border-left:3px solid var(--blue); background:rgba(18,131,195,.08); color:#52616c; font-size:12px; }
.manual-year { margin-top:-4px; }
.optional-details { margin:8px 0 20px; border:1px solid rgba(8,16,25,.18); background:rgba(8,16,25,.025); }
.optional-details summary { padding:15px 16px; cursor:pointer; font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.optional-details[open] summary { border-bottom:1px solid rgba(8,16,25,.12); }
.optional-details > div,
.optional-details > label { margin:18px 16px; }
.intake-form label > span small { font:inherit; opacity:.6; }
.intake-form input[list] { padding-right:34px; }

.booking-dialog { width:min(1080px,calc(100vw - 32px)); height:min(780px,calc(100vh - 32px)); padding:0; border:0; background:var(--ink); color:#fff; box-shadow:0 30px 100px rgba(0,0,0,.65); }
.booking-dialog::backdrop { background:rgba(3,8,12,.82); backdrop-filter:blur(8px); }
.booking-dialog__bar { min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 18px; border-bottom:1px solid var(--line-dark); }
.booking-dialog__bar strong { font-family:var(--display); font-size:24px; text-transform:uppercase; }
.booking-dialog__bar button { padding:10px 14px; border:1px solid var(--line-dark); background:transparent; color:#fff; cursor:pointer; }
.booking-dialog iframe { width:100%; height:calc(100% - 60px); border:0; background:#fff; }

@media (max-width:900px) {
  .summer-ready { grid-template-columns:1fr; }
  .summer-ready__visual { min-height:520px; order:-1; }
}
@media (max-width:620px) {
  .summer-ready { padding-left:20px; padding-right:20px; }
  .summer-ready__copy h2 { font-size:64px; }
  .summer-ready__visual { min-height:430px; }
  .vehicle-data-note { font-size:11px; }
  .booking-dialog { width:100vw; height:100dvh; max-width:none; max-height:none; }
}
@media (prefers-reduced-motion:reduce) {
  .service-card::before { transition:none!important; }
}

/* V2.1 mobile containment fixes discovered during viewport validation */
.team-feature > * { min-width: 0; }
.team-feature figure,
.team-feature > div { width: 100%; max-width: 100%; }
.team-feature h2,
.legal-hero h1,
.legal-copy { overflow-wrap: anywhere; }

@media (max-width: 760px) {
  .team-feature h2 { font-size: clamp(52px, 16vw, 76px); }
  .legal-hero h1 { font-size: clamp(56px, 17vw, 76px); line-height: .86; }
  .legal-copy { width: 100%; max-width: 100%; }
}
.principle-grid article { min-width: 0; }
.principle-grid h3 { overflow-wrap: anywhere; }
@media (max-width: 420px) {
  .principle-grid h3 { font-size: 44px; }
}
@media (max-width: 760px) {
  .team-feature h2 {
    font-size: clamp(42px, 13vw, 60px);
    overflow-wrap: normal;
    word-break: normal;
  }
  .legal-hero h1 {
    font-size: clamp(48px, 14vw, 66px);
    overflow-wrap: normal;
    word-break: normal;
  }
}


/* V2.2 — seasonal specials architecture + hybrid real/generated image system */
[hidden] { display:none !important; }
.production-site .desktop-nav a[data-seasonal-nav] { color:var(--orange); }
.production-site .desktop-nav a[data-seasonal-nav].is-active { color:#fff; }
.brand-hero .hero__image-frame--real img { object-fit:cover; object-position:center 38%; filter:saturate(.86) contrast(1.08); transform:scale(1.025); }
.brand-hero .hero__stamp { border-color:rgba(255,255,255,.72); background:rgba(8,16,25,.84); }
.brand-hero .hero__stamp strong { font-size:clamp(44px,5vw,80px); }
.seasonal-spotlight__actions { display:flex; flex-wrap:wrap; gap:12px; }
.page-media--real img { filter:saturate(.86) contrast(1.08) !important; object-fit:cover; }

.real-work-gallery { background:var(--ink); }
.real-work-gallery__grid { display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:1px; background:var(--line-dark); border:1px solid var(--line-dark); }
.real-work-gallery figure { position:relative; min-height:520px; margin:0; overflow:hidden; background:var(--ink-2); }
.real-work-gallery figure img { width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.1); transition:transform .7s var(--ease); }
.real-work-gallery figure:nth-child(1) img { object-position:center 48%; }
.real-work-gallery figure:nth-child(2) img { object-position:center 38%; }
.real-work-gallery figure:nth-child(3) img { object-position:center; }
.real-work-gallery figure:hover img { transform:scale(1.045); }
.real-work-gallery figure::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(8,16,25,.92)); }
.real-work-gallery figcaption { position:absolute; z-index:2; left:clamp(22px,3vw,44px); right:22px; bottom:clamp(22px,3vw,42px); }
.real-work-gallery figcaption span { display:block; color:var(--blue-bright); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.real-work-gallery figcaption strong { display:block; margin-top:7px; font-family:var(--display); font-size:clamp(36px,3.2vw,58px); line-height:.88; text-transform:uppercase; }
.shop-story__media--collage .shop-story__secondary { position:absolute; z-index:3; right:4%; top:7%; width:34%; margin:0; padding:5px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.35); transform:rotate(1.2deg); }
.shop-story__media--collage .shop-story__secondary img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center; }

.specials-hero { min-height:calc(100svh - var(--header-height) - var(--utility-height)); display:grid; grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr); background:var(--ink); overflow:hidden; }
.specials-hero__copy { align-self:center; padding:clamp(72px,9vw,150px) var(--page-pad); }
.specials-hero__copy h1 { margin:0 0 28px; font-family:var(--display); font-size:clamp(82px,9vw,158px); line-height:.78; letter-spacing:-.04em; text-transform:uppercase; }
.specials-hero__copy h1 em { color:var(--blue-bright); font-style:normal; }
.specials-hero__copy > p:not(.eyebrow):not(.specials-hero__note) { max-width:720px; color:rgba(255,255,255,.8); font-size:clamp(17px,1.35vw,22px); }
.specials-hero__note { max-width:680px; margin-top:24px; padding-left:16px; border-left:3px solid var(--orange); color:var(--muted); font-size:12px; }
.specials-hero__media { position:relative; min-height:720px; margin:0; overflow:hidden; background:var(--blue-deep); }
.specials-hero__media picture,.specials-hero__media img { display:block; width:100%; height:100%; }
.specials-hero__media img { object-fit:cover; }
.specials-hero__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,16,25,.02),rgba(8,16,25,.45)); }
.specials-hero__media figcaption { position:absolute; z-index:2; right:5%; bottom:5%; color:#fff; font-family:var(--display); font-size:clamp(54px,6vw,108px); font-weight:900; line-height:.78; text-align:right; text-transform:uppercase; }
.seasonal-details { background:var(--paper); color:var(--ink); }
.seasonal-details__intro { max-width:930px; }
.seasonal-details__intro h2,.specials-process__copy h2,.no-specials h1 { margin:0 0 28px; font-family:var(--display); font-size:clamp(68px,7.4vw,130px); line-height:.82; letter-spacing:-.035em; text-transform:uppercase; }
.seasonal-details__intro > p:not(.eyebrow),.specials-process__copy > p { max-width:760px; color:var(--muted-dark); font-size:18px; }
.seasonal-symptoms { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:58px; background:var(--line-light); border:1px solid var(--line-light); }
.seasonal-symptoms article { min-height:300px; padding:clamp(28px,3vw,48px); background:#fff; }
.seasonal-symptoms article > span { color:var(--blue); font-size:10px; font-weight:800; letter-spacing:.14em; }
.seasonal-symptoms h3 { margin:58px 0 14px; font-family:var(--display); font-size:clamp(36px,3vw,54px); line-height:.9; text-transform:uppercase; }
.seasonal-symptoms p { color:var(--muted-dark); font-size:14px; }
.specials-process { display:grid; grid-template-columns:minmax(420px,.85fr) minmax(0,1.15fr); gap:clamp(52px,8vw,140px); align-items:center; background:var(--blue); }
.specials-process__real { position:relative; min-height:660px; margin:0; overflow:hidden; clip-path:polygon(0 0,100% 0,90% 100%,0 100%); }
.specials-process__real img { width:100%; height:100%; object-fit:cover; }
.specials-process__real::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(8,16,25,.78)); }
.specials-process__real figcaption { position:absolute; z-index:2; left:30px; bottom:30px; color:#fff; font-family:var(--display); font-size:clamp(38px,4vw,70px); font-weight:800; text-transform:uppercase; }
.specials-process__copy > p { color:rgba(255,255,255,.8); }
.no-specials { min-height:70vh; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; background:var(--paper); color:var(--ink); }

@media (max-width:1050px) {
  .specials-hero,.specials-process { grid-template-columns:1fr; }
  .specials-hero__media { min-height:560px; order:-1; }
  .seasonal-symptoms { grid-template-columns:1fr 1fr; }
  .real-work-gallery__grid { grid-template-columns:1fr 1fr; }
  .real-work-gallery figure:nth-child(3) { grid-column:1/-1; }
  .shop-story__media--collage .shop-story__secondary { width:31%; }
}
@media (max-width:700px) {
  .seasonal-spotlight__actions { display:grid; grid-template-columns:1fr; }
  .real-work-gallery { padding-left:20px; padding-right:20px; }
  .real-work-gallery__grid,.seasonal-symptoms { grid-template-columns:1fr; }
  .real-work-gallery figure,.real-work-gallery figure:nth-child(3) { grid-column:auto; min-height:380px; }
  .shop-story__media--collage .shop-story__secondary { width:38%; right:3%; top:4%; }
  .specials-hero__media { min-height:430px; }
  .specials-hero__copy { padding:56px 20px 78px; }
  .specials-hero__copy h1,.seasonal-details__intro h2,.specials-process__copy h2,.no-specials h1 { font-size:clamp(54px,16vw,72px); }
  .seasonal-details,.specials-process,.no-specials { padding-left:20px; padding-right:20px; }
  .specials-process__real { min-height:450px; clip-path:none; }
}
@media (prefers-reduced-motion:reduce) {
  .real-work-gallery figure img { transition:none!important; }
}

/* V2.2 narrow-screen containment verified after seasonal/hybrid composition */
html, body.production-site { overflow-x: clip; }
.summer-ready > *, .seasonal-spotlight > *, .specials-hero > *, .specials-process > *, .real-work-gallery > * { min-width: 0; max-width: 100%; }
.production-site .mobile-menu,
.production-site .mobile-menu__inner,
.production-site .mobile-dock { max-width: 100%; box-sizing: border-box; }
@media (max-width: 620px) {
  .summer-ready { width: 100%; grid-template-columns: minmax(0,1fr); }
  .summer-ready__copy, .summer-ready__visual { width: 100%; max-width: 100%; min-width: 0; }
  .production-site .mobile-menu, .production-site .mobile-dock { left: 0; right: 0; width: auto; }
  .production-site .mobile-menu__inner { width: 100%; padding-left: 20px; padding-right: 20px; }
}
.specials-hero__copy .eyebrow { position: relative; z-index: 2; margin-bottom: 30px; }
@media (max-width: 700px) {
  .specials-hero__copy .eyebrow { margin-bottom: 24px; }
}


/* ==========================================================================\n   V2.3 — SIMPLE RESTORE: real photography, smaller media, separate Specials\n   ========================================================================== */

/* The homepage is permanently full-service. Seasonal promotion lives on /specials/. */
.home-page .seasonal-spotlight,
.home-page .summer-ready { display:none !important; }

.services--restored { background:var(--paper); color:var(--ink); }
.services--restored .section-heading { max-width:980px; }
.services--restored .service-explorer {
  grid-template-columns:minmax(320px,.85fr) minmax(230px,.58fr) minmax(310px,.82fr);
  gap:clamp(24px,3.2vw,54px);
  align-items:stretch;
}
.services--restored .service-explorer__media {
  min-height:0;
  height:clamp(430px,42vw,560px);
  max-height:560px;
}
.services--restored .service-explorer__media img { object-position:center; }
.services--restored .service-explorer__controls { align-self:stretch; display:grid; grid-template-rows:repeat(8,1fr); }
.services--restored .service-tab {
  min-height:0;
  padding:10px 0;
  grid-template-columns:28px minmax(0,1fr) 22px;
}
.services--restored .service-tab strong { font-size:clamp(20px,1.65vw,27px); }
.services--restored .service-explorer__detail { padding:18px 0; }
.services--restored .service-explorer__detail h3 { font-size:clamp(48px,4.4vw,72px); }
.services--restored .service-explorer__detail > p:not(.eyebrow) { margin:18px 0; }
.service-explorer__actions { display:flex; flex-wrap:wrap; gap:18px 28px; align-items:center; }

/* Editorial service directory — no stock-card wall. */
.services-list-section { background:var(--paper); color:var(--ink); }
.service-index { margin-top:clamp(42px,6vw,82px); border-top:1px solid var(--line-light); }
.service-index__item {
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:clamp(34px,6vw,92px);
  align-items:center;
  padding:clamp(38px,5vw,68px) 0;
  border-bottom:1px solid var(--line-light);
}
.service-index__item:nth-child(even) .service-index__media { order:2; }
.service-index__item:nth-child(even) .service-index__copy { padding-left:clamp(0px,4vw,56px); }
.service-index__media { position:relative; height:clamp(260px,28vw,390px); overflow:hidden; background:var(--ink); }
.service-index__media img { width:100%; height:100%; object-fit:cover; transition:transform .55s var(--ease); }
.service-index__media:hover img { transform:scale(1.025); }
.service-index__media > span { position:absolute; left:0; bottom:0; padding:10px 15px; background:var(--blue); color:#fff; font-family:var(--display); font-size:34px; font-weight:900; line-height:1; }
.service-index__copy { max-width:760px; }
.service-index__copy h2 { margin:10px 0 18px; font-family:var(--display); font-size:clamp(48px,5vw,78px); line-height:.86; letter-spacing:-.035em; text-transform:uppercase; }
.service-index__copy > p { color:var(--muted-dark); }
.service-index__copy .service-disclosure { margin-top:18px; padding:13px 16px; border-left:3px solid var(--blue); background:rgba(18,131,195,.08); color:var(--ink); font-weight:700; }
.alignment-note { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:42px; align-items:center; padding:clamp(52px,6vw,82px) var(--page-pad); background:var(--orange); }
.alignment-note h2 { margin:10px 0; font-family:var(--display); font-size:clamp(50px,5.4vw,82px); line-height:.84; text-transform:uppercase; }
.alignment-note p { max-width:760px; }

/* Smaller, useful page and service photography. */
.page-hero,.service-hero { min-height:auto; }
.page-hero__copy,.service-hero__copy { padding-top:clamp(62px,7vw,105px); padding-bottom:clamp(62px,7vw,105px); }
.page-hero__copy h1,.service-hero__copy h1 { font-size:clamp(66px,7.2vw,118px); }
.page-hero__media,.service-hero__media { min-height:0; height:clamp(360px,38vw,520px); align-self:center; }
.page-hero__media figcaption,.service-hero__media figcaption { font-size:clamp(34px,3.7vw,58px); }
.service-hero__media > span { font-size:clamp(130px,17vw,280px); }
.real-work-gallery__grid figure { min-height:0; height:clamp(280px,29vw,390px); }
.shop-story__media { min-height:0; max-height:560px; }
.shop-story__media > img { height:560px; }

/* Simple seasonal page — one real image, direct shop language. */
.specials-simple-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(380px,.78fr);
  gap:clamp(40px,6vw,92px);
  align-items:center;
  padding:clamp(68px,8vw,120px) var(--page-pad);
  background:var(--paper);
  color:var(--ink);
}
.specials-simple-hero__copy h1 { margin:0 0 24px; max-width:850px; font-family:var(--display); font-size:clamp(76px,8vw,128px); line-height:.82; letter-spacing:-.04em; text-transform:uppercase; }
.specials-simple-hero__copy > p:not(.eyebrow):not(.specials-simple-hero__note) { max-width:720px; color:var(--muted-dark); font-size:clamp(17px,1.3vw,21px); }
.specials-simple-hero__note { margin-top:22px; padding-left:14px; border-left:3px solid var(--orange); color:var(--muted-dark); font-size:12px; }
.specials-simple-hero__media { position:relative; height:clamp(330px,34vw,460px); margin:0; overflow:hidden; background:var(--ink); box-shadow:var(--shadow); }
.specials-simple-hero__media img { width:100%; height:100%; object-fit:cover; }
.specials-simple-hero__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(8,16,25,.72)); }
.specials-simple-hero__media figcaption { position:absolute; z-index:2; right:24px; bottom:22px; color:#fff; font-family:var(--display); font-size:clamp(36px,4vw,60px); font-weight:800; line-height:.86; text-align:right; text-transform:uppercase; }
.specials-symptoms { background:var(--ink); }
.specials-symptoms__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:38px; background:var(--line-dark); border:1px solid var(--line-dark); }
.specials-symptoms__grid article { min-height:210px; padding:30px; position:relative; overflow:hidden; isolation:isolate; background:var(--ink-2); backface-visibility:hidden; }
.specials-symptoms__grid article > strong,
.specials-symptoms__grid article > p { position:relative; z-index:2; }
.specials-symptoms__grid article::before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(135deg,rgba(31,154,216,.22),rgba(255,101,42,.1)); opacity:.92; transform:translateY(101%); }
.specials-symptoms__grid article::after { content:""; position:absolute; z-index:3; top:0; left:0; width:100%; height:3px; background:var(--orange); transform:scaleX(0); transform-origin:left center; will-change:transform; }
.specials-symptoms__grid strong { display:block; font-family:var(--display); font-size:34px; text-transform:uppercase; }
.specials-symptoms__grid p { color:var(--muted); }

/* V3.2.6 — Specials symptom cards join the existing reveal motion language. */
@media (prefers-reduced-motion:no-preference) {
  .specials-symptoms__grid > .reveal:nth-child(2) { transition-delay:.07s; }
  .specials-symptoms__grid > .reveal:nth-child(3) { transition-delay:.14s; }
  .specials-symptoms__grid > .reveal:nth-child(4) { transition-delay:.21s; }
}

/* V3.2.7/V3.2.9 — Desktop rollover motion for the Common A/C Problems cards. */
@media (hover:hover) and (pointer:fine) {
  .specials-symptoms__grid article,
  .specials-symptoms__grid article::before,
  .specials-symptoms__grid article::after,
  .specials-symptoms__grid article strong,
  .specials-symptoms__grid article p { transition:background-color .28s ease,box-shadow .28s ease,color .24s ease,transform .28s var(--ease),opacity .28s ease; }
  .specials-symptoms__grid article:hover { background:#10293d; box-shadow:0 18px 40px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.08); transform:translateY(-4px); }
  .specials-symptoms__grid article:hover::before { transform:translateY(0); opacity:1; }
  .specials-symptoms__grid article:hover::after { transform:scaleX(1); }
  .specials-symptoms__grid article:hover strong { color:var(--orange); transform:translateX(6px); }
  .specials-symptoms__grid article:hover p { color:#fff; transform:translateX(4px); }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:reduce) {
  .specials-symptoms__grid article,
  .specials-symptoms__grid article::before,
  .specials-symptoms__grid article::after,
  .specials-symptoms__grid article strong,
  .specials-symptoms__grid article p { transition:none; }
}

.specials-check { display:grid; grid-template-columns:minmax(340px,.72fr) minmax(0,1fr); gap:clamp(42px,7vw,110px); align-items:center; background:var(--blue); }
.specials-check figure { aspect-ratio:1 / .88; height:auto; margin:0; overflow:hidden; }
.specials-check img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }

/* V3.2.9 — Keep the larger desktop image size and crop away the lower dashboard strip. */
@media (min-width:1100px) {
  .specials-check { grid-template-columns:minmax(0,.95fr) minmax(0,1fr); gap:clamp(36px,4vw,60px); }
  .specials-check img { transform:scale(1.075); transform-origin:center top; }
}

.specials-check h2 { margin:0 0 24px; font-family:var(--display); font-size:clamp(58px,6vw,96px); line-height:.84; text-transform:uppercase; }
.specials-check p { max-width:720px; color:rgba(255,255,255,.84); }

/* Request form: align Year / Make / Model controls and remove artificial blank space. */
.vehicle-selector .field-row--three { grid-template-columns:minmax(130px,.48fr) minmax(0,1fr) minmax(0,1fr); align-items:start; gap:18px; }
.vehicle-selector .field-row--three > label { align-content:start; margin-bottom:14px; }
.vehicle-selector .field-row--three > label > span { min-height:14px; }
.vehicle-selector .field-row--three input,
.vehicle-selector .field-row--three select { margin:0; }
.vehicle-selector .field-help { min-height:0; margin:0; padding-top:4px; }
.vehicle-selector .field-help:empty { display:none; }
.vehicle-data-note { margin-top:2px; }

@media (max-width:1180px) {
  .services--restored .service-explorer { grid-template-columns:minmax(300px,.88fr) minmax(0,1fr); grid-template-areas:"media controls" "media detail"; }
  .services--restored .service-explorer__media { grid-area:media; height:560px; max-height:560px; }
  .services--restored .service-explorer__controls { grid-area:controls; }
  .services--restored .service-explorer__detail { grid-area:detail; }
}
@media (max-width:900px) {
  .service-index__item,.service-index__item:nth-child(even) { grid-template-columns:1fr; gap:28px; }
  .service-index__item:nth-child(even) .service-index__media { order:0; }
  .service-index__item:nth-child(even) .service-index__copy { padding-left:0; }
  .service-index__media { height:340px; }
  .alignment-note { grid-template-columns:1fr; }
  .specials-simple-hero { grid-template-columns:1fr; }
  .specials-simple-hero__media { order:-1; height:360px; }
  .specials-symptoms__grid { grid-template-columns:repeat(2,1fr); }
  .specials-check { grid-template-columns:1fr; }
  .specials-check figure { height:auto; }
}
@media (max-width:760px) {
  .services--restored .service-explorer { grid-template-columns:1fr; grid-template-areas:"media" "controls" "detail"; gap:24px; }
  .services--restored .service-explorer__media { height:290px; max-height:none; aspect-ratio:auto; }
  .services--restored .service-explorer__controls { display:flex; overflow-x:auto; grid-template-rows:none; scrollbar-width:none; }
  .services--restored .service-explorer__controls::-webkit-scrollbar { display:none; }
  .services--restored .service-tab { flex:0 0 185px; min-height:72px; padding:12px 8px; }
  .services--restored .service-tab strong { font-size:22px; }
  .services--restored .service-explorer__detail h3 { font-size:46px; }
  .page-hero,.service-hero { grid-template-columns:1fr; }
  .page-hero__media,.service-hero__media { height:300px; min-height:0; order:-1; }
  .specials-simple-hero { padding-left:20px; padding-right:20px; }
  .specials-simple-hero__copy h1 { font-size:64px; }
  .specials-simple-hero__media { height:290px; }
  .specials-symptoms__grid { grid-template-columns:1fr; }
  .specials-symptoms__grid article { min-height:0; }
  .specials-check figure { height:auto; }
  .vehicle-selector .field-row--three { grid-template-columns:1fr; gap:0; }
  .vehicle-selector .field-row--three > label { margin-bottom:16px; }
  .vehicle-selector .field-help { padding-top:2px; }
}


/* V2.3.1 — final request-form alignment and eager real-photo rendering */
.vehicle-selector .field-row--three > label {
  display:grid;
  grid-template-rows:auto 54px minmax(34px,auto);
  align-items:start;
}
.vehicle-selector .field-row--three input,
.vehicle-selector .field-row--three select {
  box-sizing:border-box;
  width:100%;
  height:54px;
  min-height:54px;
  line-height:1.2;
}
.vehicle-selector .field-row--three .field-help {
  min-height:34px;
  padding-top:6px;
}
@media (max-width:760px) {
  .vehicle-selector .field-row--three > label { grid-template-rows:auto 54px auto; }
  .vehicle-selector .field-row--three .field-help { min-height:0; padding-top:4px; }
}

@media (max-width:760px) {
  .request-layout { gap:32px; padding-top:52px; }
}

/* V2.6 — focused form, footer, and overflow corrections. */
.production-site { overflow-x: clip; }
.scroll-cue { width:max-content; max-width:calc(100% - (2 * var(--page-pad))); white-space:nowrap; overflow:visible; }
.scroll-cue i { flex:0 0 62px; }
.site-footer,
.site-footer > *,
.site-footer__links { min-width:0; max-width:100%; }
.site-footer { overflow:hidden; }
.site-footer__links { row-gap:12px; }
.site-footer__links a { white-space:nowrap; }

.vehicle-selector .vehicle-row { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:18px; }
.vehicle-selector .vehicle-row > label {
  display:grid;
  grid-template-rows:auto 54px minmax(34px,auto);
  align-items:start;
  margin-bottom:14px;
}
.vehicle-selector .vehicle-row > label > span { min-height:14px; }
.vehicle-selector .vehicle-row input,
.vehicle-selector .vehicle-row select {
  box-sizing:border-box;
  width:100%;
  height:54px;
  min-height:54px;
  margin:0;
  line-height:1.2;
}
.vehicle-selector .vehicle-row .field-help {
  min-height:34px;
  margin:0;
  padding-top:6px;
}
.vehicle-selector .vehicle-row .field-help:empty { display:none; }
.vehicle-data-note { margin-top:4px; }

@media (max-width:1180px) {
  .vehicle-selector .vehicle-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vehicle-selector .vehicle-row > label:last-child:nth-child(odd) { grid-column:1 / -1; }
}
@media (max-width:760px) {
  .site-footer { grid-template-columns:1fr; align-items:start; gap:24px; padding-bottom:calc(110px + env(safe-area-inset-bottom)); }
  .site-footer__links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); justify-content:start; gap:12px 18px; width:100%; }
  .site-footer__links a { width:max-content; max-width:100%; }
  .vehicle-selector .vehicle-row { grid-template-columns:1fr; gap:0; }
  .vehicle-selector .vehicle-row > label,
  .vehicle-selector .vehicle-row > label:last-child:nth-child(odd) { grid-column:auto; grid-template-rows:auto 54px auto; margin-bottom:16px; }
  .vehicle-selector .vehicle-row .field-help { min-height:0; padding-top:4px; }
}


/* V2.7 — service ticker, mobile label containment, and restrained homepage motion. */

/* Replace the tiny Explore cue with a Blue Line-style, service-led moving rail. */
.home-page .brand-hero { padding-bottom:max(clamp(78px,10vh,124px),84px); }
.service-ticker {
  position:absolute;
  z-index:7;
  left:0;
  right:0;
  bottom:0;
  height:58px;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(5,13,20,.96);
  color:#fff;
  isolation:isolate;
}
.service-ticker::before,
.service-ticker::after {
  content:"";
  position:absolute;
  z-index:2;
  top:0;
  bottom:0;
  width:clamp(28px,5vw,84px);
  pointer-events:none;
}
.service-ticker::before { left:0; background:linear-gradient(90deg,#050d14 12%,rgba(5,13,20,0)); }
.service-ticker::after { right:0; background:linear-gradient(270deg,#050d14 12%,rgba(5,13,20,0)); }
.service-ticker__track {
  display:flex;
  flex:0 0 auto;
  width:max-content;
  min-width:max-content;
  will-change:transform;
  animation:service-ticker-scroll 34s linear infinite;
}
.service-ticker:hover .service-ticker__track,
.service-ticker:focus-within .service-ticker__track { animation-play-state:paused; }
.service-ticker__group {
  display:flex;
  flex:0 0 auto;
  align-items:center;
  min-width:max-content;
}
.service-ticker__group > a,
.service-ticker__group > .service-ticker__label {
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:58px;
  padding:0 clamp(22px,2.7vw,42px);
  color:rgba(255,255,255,.66);
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
  transition:color .25s ease,transform .25s var(--ease);
}
.service-ticker__group > a::after,
.service-ticker__group > .service-ticker__label::after {
  content:"";
  position:absolute;
  right:-2px;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--blue-bright);
  box-shadow:0 0 14px rgba(28,168,239,.55);
}
.service-ticker__group > a:hover,
.service-ticker__group > a:focus-visible {
  color:#fff;
  transform:translateY(-1px);
  outline:none;
}
.service-ticker__group > a:focus-visible { box-shadow:inset 0 -2px 0 var(--orange); }
.service-ticker__group--clone > a { pointer-events:auto; }
.service-ticker__cue {
  position:absolute;
  z-index:4;
  right:0;
  top:0;
  bottom:0;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 18px 0 92px;
  background:linear-gradient(270deg,#050d14 58%,rgba(5,13,20,.96) 76%,rgba(5,13,20,0) 100%);
  pointer-events:none;
  user-select:none;
}
.service-ticker__cue-text {
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
  color:rgba(255,255,255,.9);
  text-shadow:0 1px 10px rgba(0,0,0,.35);
}
.service-ticker__cue-text--mobile { display:none; }
.service-ticker__cue-arrow {
  color:var(--orange);
  font-size:14px;
  font-weight:900;
  line-height:1;
}
@keyframes service-ticker-scroll { to { transform:translateX(-50%); } }

/* Keep the editorial label inside the diagonal mobile image mask. */
@media (max-width:900px) {
  .shop-story__media-tag {
    left:var(--page-pad);
    right:18%;
    max-width:none;
  }
  .shop-story__media-tag strong {
    display:block;
    max-width:100%;
    font-size:clamp(46px,8vw,62px);
    line-height:.81;
    letter-spacing:-.025em;
    white-space:normal;
  }
}
@media (max-width:620px) {
  .home-page .brand-hero { padding-bottom:104px; }
  .service-ticker { height:48px; }
  .service-ticker__group > a,
  .service-ticker__group > .service-ticker__label {
    min-height:48px;
    padding:0 22px;
    font-size:9px;
  }
  .service-ticker__cue { padding:0 54px 0 14px; }
  .service-ticker__cue-text { font-size:8px; letter-spacing:.14em; }
  .service-ticker__cue-text--desktop { display:none; }
  .service-ticker__cue-text--mobile { display:inline; }
  .service-ticker__cue-arrow { font-size:12px; }
  .shop-story__media-tag {
    left:20px;
    right:19%;
    bottom:26px;
  }
  .shop-story__media-tag span { font-size:11px; }
  .shop-story__media-tag strong {
    font-size:clamp(40px,11.5vw,50px);
    line-height:.82;
  }
}

/* A small motion pass: tactile, restrained, and limited to the homepage. */
@media (hover:hover) and (pointer:fine) {
  .home-page .quick-actions > a svg {
    transition:transform .3s var(--ease),stroke .3s ease;
  }
  .home-page .quick-actions > a:hover {
    transform:translateY(-4px);
    box-shadow:inset 0 -3px 0 var(--orange),0 18px 42px rgba(0,0,0,.16);
  }
  .home-page .quick-actions > a:hover svg {
    transform:translateX(4px) rotate(-3deg);
    stroke:var(--orange);
  }
  .home-page .hero__inset {
    transition:transform .45s var(--ease),box-shadow .45s ease;
  }
  .home-page .hero__visual:hover .hero__inset {
    transform:translateY(-8px) rotate(.7deg);
    box-shadow:0 32px 84px rgba(0,0,0,.48);
  }
  .home-page .shop-story__media--collage > img {
    transition:transform .85s var(--ease);
  }
  .home-page .shop-story__media--collage .shop-story__secondary {
    transition:transform .48s var(--ease),box-shadow .48s ease;
  }
  .home-page .shop-story__media--collage:hover > img { transform:scale(1.025); }
  .home-page .shop-story__media--collage:hover .shop-story__secondary {
    transform:translateY(-8px) rotate(0deg);
    box-shadow:0 34px 88px rgba(0,0,0,.44);
  }
  .home-page .process__steps li {
    transition:background .3s ease,box-shadow .3s ease;
  }
  .home-page .process__steps li > div {
    transition:transform .3s var(--ease);
  }
  .home-page .process__steps > li > span {
    transition:color .3s ease,transform .3s var(--ease);
  }
  .home-page .process__steps li:hover {
    background:rgba(18,131,195,.055);
    box-shadow:inset 0 3px 0 rgba(18,131,195,.18);
  }
  .home-page .process__steps li:hover > div { transform:translateX(7px); }
  .home-page .process__steps li:hover > span {
    color:var(--orange);
    transform:translateY(-2px);
  }
}

@media (prefers-reduced-motion:reduce) {
  .service-ticker {
    overflow-x:auto;
    scrollbar-width:none;
  }
  .service-ticker::-webkit-scrollbar { display:none; }
  .service-ticker__track { animation:none!important; transform:none!important; }
  .service-ticker__group--clone { display:none; }
}

/* V2.7.1 — mobile shop-story label containment and service-note deduplication. */
@media (max-width: 900px) {
  .shop-story__media-tag {
    left: clamp(20px, var(--page-pad), 44px);
    right: auto;
    width: min(72%, 520px);
    max-width: 72%;
  }
  .shop-story__media-tag strong {
    max-width: 100%;
    font-size: clamp(40px, 7vw, 54px);
    line-height: .82;
    letter-spacing: -.025em;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: balance;
  }
}
@media (max-width: 620px) {
  .shop-story__media-tag {
    left: 20px;
    right: auto;
    bottom: 24px;
    width: 68%;
    max-width: 68%;
  }
  .shop-story__media-tag strong {
    font-size: clamp(36px, 10vw, 46px);
    line-height: .84;
  }
}
@media (max-width: 420px) {
  .shop-story__media-tag {
    width: 66%;
    max-width: 66%;
  }
  .shop-story__media-tag strong {
    font-size: clamp(34px, 10.5vw, 42px);
  }
}

/* V2.7.2 — final shop-story label containment and single visible phone number. */
@media (min-width: 901px) {
  .shop-story__media-tag {
    left: clamp(32px, var(--page-pad), 58px);
    right: 15%;
    width: auto;
    max-width: none;
  }
  .shop-story__media-tag strong {
    display: block;
    max-width: 100%;
    font-size: clamp(52px, 5vw, 76px);
    line-height: .82;
    letter-spacing: -.025em;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: balance;
  }
  .utility-bar {
    justify-content: center;
  }
  .utility-bar > span:last-child {
    display: none;
  }
}

/* V2.7.3 — readable Specials call action on the light campaign canvas. */
.specials-page .specials-simple-hero .button--ghost {
  border-color: rgba(9,16,24,.34);
  background: #fff;
  color: var(--ink);
  box-shadow: 0 12px 28px rgba(9,16,24,.08);
}
.specials-page .specials-simple-hero .button--ghost:hover,
.specials-page .specials-simple-hero .button--ghost:focus-visible {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
  box-shadow: 0 16px 34px rgba(9,16,24,.18);
}

/* V2.7.4 — header Home icon and mobile/tablet Back to Top control. */
.desktop-nav a[href="/"] {
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.desktop-nav a[href="/"]::before {
  content:"";
  flex:0 0 13px;
  width:13px;
  height:13px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 10.8 12 3.9l8.5 6.9V21h-5.8v-6.2H9.3V21H3.5V10.8Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 10.8 12 3.9l8.5 6.9V21h-5.8v-6.2H9.3V21H3.5V10.8Z'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:.92;
}
.header-home {
  display:none;
  place-items:center;
  width:46px;
  height:46px;
  border:1px solid var(--line-dark);
  border-radius:50%;
  color:#fff;
  transition:border-color .25s ease,background .25s ease,color .25s ease,transform .25s var(--ease);
}
.header-home svg {
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linejoin:round;
}
.header-home:hover,
.header-home:focus-visible {
  border-color:var(--blue-bright);
  background:rgba(18,131,195,.16);
  color:var(--blue-bright);
  outline:none;
  transform:translateY(-1px);
}
.back-to-top {
  position:fixed;
  z-index:129;
  right:28px;
  bottom:28px;
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  padding:0;
  border:1px solid rgba(255,255,255,.24);
  border-radius:50%;
  background:var(--blue);
  color:#fff;
  box-shadow:0 16px 38px rgba(0,0,0,.28);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(12px) scale(.94);
  transition:opacity .25s ease,visibility .25s ease,transform .3s var(--ease),background .25s ease,border-color .25s ease;
}
.back-to-top.is-visible {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.back-to-top svg {
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.back-to-top:hover,
.back-to-top:focus-visible {
  border-color:var(--orange);
  background:var(--orange);
  outline:none;
  transform:translateY(-3px) scale(1);
}
.menu-open .back-to-top,
.back-to-top.is-suppressed {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
@media (max-width:1180px) {
  .header-home { display:grid; }
}
@media (max-width:620px) {
  .header-home { width:40px; height:40px; }
  .header-home svg { width:17px; height:17px; }
  .back-to-top {
    right:13px;
    bottom:calc(86px + env(safe-area-inset-bottom));
    width:48px;
    height:48px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .header-home,
  .back-to-top { transition:none!important; }
}

/* V2.7.5 — mobile vertical service list; desktop explorer remains locked. */
@media (max-width:760px) {
  .services--restored .service-explorer__controls {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:repeat(8,minmax(64px,auto));
    overflow:visible;
    scrollbar-width:auto;
  }
  .services--restored .service-explorer__controls::-webkit-scrollbar {
    display:none;
  }
  .services--restored .service-tab {
    flex:none;
    width:100%;
    min-height:64px;
    padding:10px 0;
  }
}

/* V2.7.7 — narrow service-hero containment for simplified copy. */
@media (max-width:430px) {
  .service-hero > *,
  .service-hero__copy,
  .service-hero__media {
    box-sizing:border-box;
    width:100%;
    min-width:0;
    max-width:100%;
  }
  .service-hero__copy h1 {
    max-width:100%;
    font-size:56px;
  }
  .service-hero__media figcaption {
    right:18px;
    max-width:calc(100% - 36px);
    overflow-wrap:break-word;
  }
}

/* V3.0 — production form feedback and optional Turnstile foundation. */
.turnstile-shell {
  display:grid;
  gap:8px;
  margin:4px 0 20px;
  padding:16px;
  border:1px solid rgba(8,16,25,.14);
  background:rgba(18,131,195,.045);
}
.turnstile-shell[hidden],
.form-status[hidden] { display:none!important; }
#turnstile-widget { width:100%; min-height:0; }
#turnstile-widget iframe { max-width:100%; }
.turnstile-shell .field-help { margin:0; min-height:0; color:var(--muted-dark); }
.form-status {
  display:grid;
  gap:7px;
  margin:0 0 18px;
  padding:16px 18px;
  border:1px solid rgba(8,16,25,.16);
  border-left:4px solid var(--orange);
  background:rgba(255,107,44,.08);
  color:var(--ink);
}
.form-status:focus { outline:3px solid rgba(18,131,195,.28); outline-offset:3px; }
.form-status__title {
  font-family:var(--display);
  font-size:24px;
  font-weight:800;
  line-height:1;
  text-transform:uppercase;
}
.form-status__message { max-width:760px; line-height:1.6; }
.form-status__call {
  width:max-content;
  margin-top:3px;
  border-bottom:2px solid currentColor;
  color:var(--ink);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.form-status.is-error { border-left-color:#b42318; background:rgba(180,35,24,.08); }
.form-status.is-warning { border-left-color:var(--orange); background:rgba(255,107,44,.08); }
.form-status.is-success { border-left-color:#198754; background:rgba(25,135,84,.09); }
.intake-form.is-submitted button[type="submit"] {
  opacity:1;
  background:#198754;
  cursor:default;
}
@media (max-width:620px) {
  .turnstile-shell { padding:12px; }
  .form-status { padding:14px; }
  .form-status__title { font-size:22px; }
}


/* V3.1 — premium interaction polish and responsive hardening.
   Surgical layer only: no public structure, copy, routes, or service ordering changes. */
.services--restored .service-explorer__media {
  isolation:isolate;
}
.services--restored .service-explorer__media img {
  backface-visibility:hidden;
  transform-origin:center center;
  will-change:opacity,transform,filter;
}
.services--restored .service-explorer__detail {
  will-change:opacity,transform;
}
.services--restored .service-explorer__media.is-changing img {
  opacity:.34;
  transform:scale(1.018);
  filter:saturate(.9) contrast(1.04);
}
.services--restored .service-explorer__detail.is-changing {
  opacity:0;
  transform:translateY(8px);
}
.services--restored .service-tab i {
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .3s var(--ease);
}
.services--restored .service-tab:hover i,
.services--restored .service-tab:focus-visible i {
  transform:scale(1.08);
}
.services--restored .service-tab.is-active i {
  transform:rotate(90deg);
}

@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .page-hero__media img,
  .service-hero__media img,
  .team-feature figure img,
  .location-detail figure img {
    transition:transform .8s var(--ease),filter .55s ease;
    transform:scale(1.001);
  }
  .page-hero__media:hover img,
  .service-hero__media:hover img,
  .team-feature figure:hover img,
  .location-detail figure:hover img {
    transform:scale(1.018);
  }
  .contact-option,
  .related-services a {
    transition:background .28s ease,transform .3s var(--ease),box-shadow .3s ease;
  }
  .contact-option:hover,
  .related-services a:hover {
    transform:translateY(-4px);
    box-shadow:0 18px 40px rgba(0,0,0,.14);
  }
  .text-link,
  .back-link,
  .service-explorer__actions a,
  .contact__actions a {
    transition:color .24s ease,transform .28s var(--ease),border-color .24s ease;
  }
  .text-link:hover,
  .back-link:hover {
    transform:translateX(3px);
  }
  .button:hover {
    transform:translateY(-3px);
  }
  .button:active {
    transform:translateY(-1px);
  }
}

/* Small stagger only for existing reveal groups. */
@media (prefers-reduced-motion:no-preference) {
  .process__steps > .reveal:nth-child(2),
  .real-work-gallery > .reveal:nth-child(2),
  .principle-grid > .reveal:nth-child(2) { transition-delay:.06s; }
  .process__steps > .reveal:nth-child(3),
  .real-work-gallery > .reveal:nth-child(3),
  .principle-grid > .reveal:nth-child(3) { transition-delay:.12s; }
  .real-work-gallery > .reveal:nth-child(4) { transition-delay:.18s; }
}

/* Responsive hardening: keep controls contained without changing the approved compositions. */
@media (max-width:1024px) {
  .service-explorer__actions,
  .hero__actions,
  .contact__actions {
    max-width:100%;
  }
  .service-explorer__actions > *,
  .hero__actions > *,
  .contact__actions > * {
    min-width:0;
  }
}
@media (max-width:620px) {
  .services--restored .service-explorer__detail {
    padding-top:4px;
  }
  .services--restored .service-explorer__detail h3 {
    max-width:100%;
    overflow-wrap:normal;
    text-wrap:balance;
  }
  .services--restored .service-explorer__actions {
    gap:14px 20px;
  }
  .button,
  .text-link,
  .service-explorer__actions a {
    min-height:44px;
  }
}
@media (max-width:430px) {
  .services--restored .service-explorer__detail h3 {
    font-size:clamp(40px,12vw,46px);
  }
  .cookie-banner {
    left:12px;
    right:12px;
    bottom:calc(84px + env(safe-area-inset-bottom));
  }
}

@media (prefers-reduced-motion:reduce) {
  .services--restored .service-explorer__media img,
  .services--restored .service-explorer__detail,
  .services--restored .service-tab i,
  .page-hero__media img,
  .service-hero__media img,
  .team-feature figure img,
  .location-detail figure img,
  .contact-option,
  .related-services a,
  .text-link,
  .back-link {
    transition:none!important;
  }
  .services--restored .service-explorer__media.is-changing img {
    opacity:1;
    transform:none;
    filter:none;
  }
  .services--restored .service-explorer__detail.is-changing {
    opacity:1;
    transform:none;
  }
}

/* V3.2.1 — surgical image containment + request-form finish. */
/* Keep the inset photo completely inside the shop-story mask at desktop/intermediate widths. */
.shop-story__media--collage .shop-story__secondary {
  right:9%;
}
@media (max-width:1050px) {
  .shop-story__media--collage .shop-story__secondary { right:10%; }
}
@media (max-width:700px) {
  .shop-story__media--collage .shop-story__secondary { right:11%; width:36%; }
}
@media (max-width:460px) {
  .shop-story__media--collage .shop-story__secondary { right:12%; width:34%; }
}

/* Request Service: retain the existing layout, but make native controls feel deliberately finished. */
.request-page .intake-form { --intake-control-height:54px; }
.request-page .intake-form label { gap:7px; }
.request-page .intake-form label > span {
  min-height:14px;
  line-height:1.35;
}
.request-page .intake-form label > span small {
  margin-left:4px;
  color:#74818a;
  font-size:9px;
  font-weight:700;
  letter-spacing:.04em;
}
.request-page .intake-form .field-row {
  align-items:start;
  gap:18px 20px;
}
.request-page .intake-form input,
.request-page .intake-form select,
.request-page .intake-form textarea {
  border-color:rgba(8,16,25,.28);
  background-color:#fff;
  box-shadow:inset 0 1px 0 rgba(8,16,25,.025);
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.request-page .intake-form input,
.request-page .intake-form select {
  height:var(--intake-control-height);
  min-height:var(--intake-control-height);
  padding:0 16px;
  line-height:1.2;
}
.request-page .intake-form select {
  appearance:none;
  -webkit-appearance:none;
  padding-right:46px;
  background-image:
    linear-gradient(45deg,transparent 50%,#55636d 50%),
    linear-gradient(135deg,#55636d 50%,transparent 50%);
  background-position:
    calc(100% - 20px) 50%,
    calc(100% - 15px) 50%;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
.request-page .intake-form select:required:invalid { color:#737e86; }
.request-page .intake-form select option { color:var(--ink); }
.request-page .intake-form textarea {
  min-height:150px;
  padding:15px 16px;
  line-height:1.55;
}
.request-page .intake-form input::placeholder,
.request-page .intake-form textarea::placeholder { color:#8b959c; opacity:1; }
.request-page .intake-form input:hover,
.request-page .intake-form select:hover,
.request-page .intake-form textarea:hover { border-color:rgba(8,16,25,.42); }
.request-page .intake-form input:focus,
.request-page .intake-form select:focus,
.request-page .intake-form textarea:focus {
  outline:none;
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(18,131,195,.14),inset 0 1px 0 rgba(8,16,25,.02);
}
.request-page .intake-form .field-help {
  padding-top:6px;
  color:#65747f;
  font-size:10.5px;
  line-height:1.45;
}
.request-page .vehicle-selector .vehicle-row > label {
  grid-template-rows:auto var(--intake-control-height) minmax(38px,auto);
  margin-bottom:12px;
}
.request-page .vehicle-selector .vehicle-row .field-help { min-height:38px; }
.request-page .vehicle-data-note {
  margin-top:2px;
  padding:13px 15px;
}
.request-page .optional-details > summary {
  min-height:48px;
  display:flex;
  align-items:center;
  padding:0 2px;
}
@media (max-width:760px) {
  .request-page .intake-form .field-row { gap:0; }
  .request-page .vehicle-selector .vehicle-row > label {
    grid-template-rows:auto var(--intake-control-height) auto;
    margin-bottom:18px;
  }
  .request-page .vehicle-selector .vehicle-row .field-help { min-height:0; }
}

/* V3.2.3 — nine-item surgical brand, hours, crop, hover, form, and copy polish. */
/* Home: keep the existing stamp, but move it below the photography on desktop. */
@media (min-width:901px) {
  .home-page .brand-hero .hero__stamp {
    left:10%;
    bottom:-54px;
  }
}
@media (min-width:761px) and (max-width:900px) {
  .home-page .brand-hero .hero__stamp {
    left:9%;
    bottom:-38px;
  }
}

/* Contact: make the illustrated map itself actionable and surface confirmed hours. */
.location-hours__label,
.location-hours__line { display:block; }
.location-hours__label {
  margin-top:18px;
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.location-hours__line { margin-top:5px; color:rgba(255,255,255,.78); }
.route-map__directions {
  position:absolute;
  z-index:4;
  right:22px;
  bottom:22px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:0 17px;
  border:1px solid rgba(255,255,255,.34);
  background:rgba(8,16,25,.9);
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  box-shadow:0 14px 38px rgba(0,0,0,.25);
  transition:transform .25s var(--ease),background .25s ease,border-color .25s ease;
}
.route-map__directions span { color:var(--orange); font-size:15px; }
@media (hover:hover) and (pointer:fine) {
  .route-map__directions:hover { transform:translateY(-3px); background:var(--ink); border-color:var(--orange); }
}
@media (max-width:620px) {
  .route-map__directions { right:16px; bottom:16px; min-height:42px; padding:0 13px; }
  .route-map__label { bottom:72px; }
}

/* About hero: show the complete approved image and replace its baked, clipped location word with a clean editorial tag. */
.page-hero--about .page-hero__media { background:#0b1822; }
.page-hero--about .page-hero__media img {
  object-fit:contain;
  object-position:center center;
  transform:none !important;
}
.page-hero--about .page-hero__media::before {
  content:"Taylor";
  position:absolute;
  z-index:3;
  top:16px;
  left:0;
  min-width:188px;
  padding:8px 30px 8px 22px;
  background:linear-gradient(90deg,rgba(8,16,25,.96) 0%,rgba(8,16,25,.9) 72%,rgba(8,16,25,0) 100%);
  color:#fff;
  font-family:var(--display);
  font-size:28px;
  font-weight:800;
  line-height:1;
  letter-spacing:.02em;
  text-transform:uppercase;
}
@media (max-width:760px) {
  .page-hero--about .page-hero__media::before { top:12px; min-width:154px; padding:7px 24px 7px 16px; font-size:22px; }
}

/* About principles: restrained editorial hover, desktop pointer devices only. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .about-page .principle-grid article {
    position:relative;
    transition:transform .34s var(--ease),background .3s ease,box-shadow .34s ease;
  }
  .about-page .principle-grid article > span,
  .about-page .principle-grid article h3 {
    transition:transform .34s var(--ease),color .28s ease;
  }
  .about-page .principle-grid article:hover {
    z-index:2;
    transform:translateY(-6px);
    background:#fff;
    box-shadow:0 20px 48px rgba(8,16,25,.12),inset 0 3px 0 var(--orange);
  }
  .about-page .principle-grid article:hover > span { color:var(--orange); transform:translateX(4px); }
  .about-page .principle-grid article:hover h3 { transform:translateX(4px); }
}

/* Request Service: same fields and behavior, tighter editorial grid and calmer vertical rhythm. */
.request-page .intake-form { padding:clamp(38px,4.5vw,64px); }
.request-page .intake-form fieldset { margin:0; padding:0 0 34px; }
.request-page .intake-form fieldset + fieldset { margin-top:34px; }
.request-page .intake-form legend {
  margin-bottom:22px;
  padding-bottom:15px;
  border-bottom:1px solid rgba(8,16,25,.2);
  font-size:clamp(31px,3vw,38px);
  line-height:.95;
  letter-spacing:-.01em;
}
.request-page .intake-form label { min-width:0; margin-bottom:17px; }
.request-page .intake-form .field-row,
.request-page .vehicle-selector .vehicle-row { gap:20px; }
.request-page .vehicle-selector .vehicle-row { grid-template-columns:repeat(3,minmax(0,1fr)); }
.request-page .intake-form input,
.request-page .intake-form select {
  width:100%;
  min-width:0;
  text-overflow:ellipsis;
}
.request-page .intake-form .field-help { max-width:100%; }
.request-page .vehicle-data-note {
  margin:5px 0 0;
  padding:13px 15px;
  border-left:3px solid var(--blue);
  background:rgba(18,131,195,.075);
}
@media (max-width:1100px) and (min-width:761px) {
  .request-page .vehicle-selector .vehicle-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .request-page .vehicle-selector .vehicle-row > label:last-child:nth-child(odd) { grid-column:1 / -1; }
}
@media (max-width:760px) {
  .request-page .intake-form { padding:30px 20px; }
  .request-page .intake-form fieldset { padding-bottom:28px; }
  .request-page .intake-form fieldset + fieldset { margin-top:28px; }
  .request-page .vehicle-selector .vehicle-row { grid-template-columns:1fr; gap:0; }
  .request-page .vehicle-selector .vehicle-row > label:last-child:nth-child(odd) { grid-column:auto; }
}

/* V3.2.4 — four-item surgical cleanup: remove overlays, real directions, mobile service chooser. */
.route-map { transition:border-color .22s ease,box-shadow .22s ease; }
.route-map__hit-area {
  position:absolute;
  z-index:3;
  inset:0;
  display:block;
  cursor:pointer;
}
.route-map:focus-within {
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(255,107,44,.18),0 30px 80px rgba(0,0,0,.22);
}
.route-map__hit-area:focus-visible { outline:3px solid var(--orange); outline-offset:-4px; }
@media (hover:hover) and (pointer:fine) {
  .route-map:has(.route-map__hit-area:hover) { border-color:rgba(255,107,44,.72); }
}

/* Belt-and-suspenders: these two homepage overlays are intentionally retired. */
.home-page .brand-hero .hero__stamp,
.home-page .shop-story__media--collage .shop-story__secondary { display:none !important; }

/* Mobile only: chooser first, compact two-column service list, shorter selected image. Desktop is untouched. */
@media (max-width:620px) {
  .home-page .services--restored {
    padding-top:60px;
    padding-bottom:72px;
  }
  .home-page .services--restored .section-heading {
    margin-bottom:28px;
  }
  .home-page .services--restored .section-heading h2 {
    font-size:clamp(44px,12.8vw,58px);
    line-height:.86;
  }
  .home-page .services--restored .section-heading > p:last-child {
    margin-top:16px;
  }
  .home-page .services--restored .service-explorer {
    grid-template-areas:"controls" "media" "detail";
    gap:18px;
  }
  .home-page .services--restored .service-explorer__controls {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(4,minmax(58px,auto));
    border-top:1px solid var(--line-light);
    border-left:1px solid var(--line-light);
  }
  .home-page .services--restored .service-tab {
    min-height:58px;
    padding:8px 9px;
    grid-template-columns:20px minmax(0,1fr) 22px;
    gap:7px;
    border-right:1px solid var(--line-light);
    border-bottom:1px solid var(--line-light);
  }
  .home-page .services--restored .service-tab:hover,
  .home-page .services--restored .service-tab.is-active {
    padding-left:9px;
  }
  .home-page .services--restored .service-tab span { font-size:8px; }
  .home-page .services--restored .service-tab strong {
    font-size:clamp(17px,4.8vw,21px);
    line-height:.95;
    overflow-wrap:normal;
  }
  .home-page .services--restored .service-explorer__media {
    height:230px;
    max-height:230px;
    aspect-ratio:auto;
  }
  .home-page .services--restored .service-explorer__media-label {
    left:16px;
    bottom:15px;
  }
  .home-page .services--restored .service-explorer__media-label span { font-size:46px; }
  .home-page .services--restored .service-explorer__crosshair {
    right:17px;
    top:17px;
    width:38px;
    height:38px;
  }
  .home-page .services--restored .service-explorer__detail {
    padding-top:8px;
  }
  .home-page .services--restored .service-explorer__detail h3 {
    font-size:clamp(40px,11.8vw,46px);
  }
}
@media (max-width:360px) {
  .home-page .services--restored .service-tab {
    min-height:56px;
    padding-left:7px;
    padding-right:7px;
    grid-template-columns:18px minmax(0,1fr) 20px;
    gap:5px;
  }
  .home-page .services--restored .service-tab:hover,
  .home-page .services--restored .service-tab.is-active { padding-left:7px; }
  .home-page .services--restored .service-tab strong { font-size:16px; }
  .home-page .services--restored .service-explorer__media { height:216px; max-height:216px; }
}

/* V3.2.10 SPECIALS RENDER RECOVERY START */
/*
  This block intentionally sits at the END of production.css so it wins the cascade.
  It also avoids pointer:fine gating: actual :hover is enough for desktop mice, while
  reduced-motion users still receive the non-motion color/state feedback.
*/
.specials-page .specials-symptoms__grid article {
  transition: background-color .28s ease, box-shadow .28s ease, color .24s ease, transform .28s var(--ease) !important;
}
.specials-page .specials-symptoms__grid article::before {
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(135deg,rgba(31,154,216,.24),rgba(255,101,42,.12));
  opacity:.96;
  transform:translateY(101%);
  transition:transform .28s var(--ease), opacity .28s ease !important;
  pointer-events:none;
}
.specials-page .specials-symptoms__grid article::after {
  content:"";
  position:absolute;
  z-index:3;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:var(--orange);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .28s var(--ease) !important;
  pointer-events:none;
}
.specials-page .specials-symptoms__grid article strong,
.specials-page .specials-symptoms__grid article p {
  transition:color .24s ease, transform .28s var(--ease) !important;
}
.specials-page .specials-symptoms__grid article:hover {
  background:#10293d !important;
  box-shadow:0 18px 40px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.10) !important;
  transform:translateY(-5px) !important;
}
.specials-page .specials-symptoms__grid article:hover::before {
  transform:translateY(0) !important;
  opacity:1 !important;
}
.specials-page .specials-symptoms__grid article:hover::after {
  transform:scaleX(1) !important;
}
.specials-page .specials-symptoms__grid article:hover strong {
  color:var(--orange) !important;
  transform:translateX(6px) !important;
}
.specials-page .specials-symptoms__grid article:hover p {
  color:#fff !important;
  transform:translateX(4px) !important;
}

/* Keep the current large desktop footprint; zoom only the IMAGE CONTENT so the bottom dashboard strip is clipped. */
@media (min-width:1100px) {
  .specials-page .specials-check {
    grid-template-columns:minmax(0,.95fr) minmax(0,1fr) !important;
    gap:clamp(36px,4vw,60px) !important;
  }
  .specials-page .specials-check figure {
    aspect-ratio:1 / .88 !important;
    height:auto !important;
    overflow:hidden !important;
  }
  .specials-page .specials-check img {
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
    transform:scale(1.185) !important;
    transform-origin:center top !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .specials-page .specials-symptoms__grid article,
  .specials-page .specials-symptoms__grid article::before,
  .specials-page .specials-symptoms__grid article::after,
  .specials-page .specials-symptoms__grid article strong,
  .specials-page .specials-symptoms__grid article p {
    transition:none !important;
  }
  .specials-page .specials-symptoms__grid article:hover {
    transform:none !important;
  }
}
/* V3.2.10 SPECIALS RENDER RECOVERY END */


/* V3.2.11 SPECIALS MOBILE PARITY START */
.specials-page .specials-symptoms__grid article[data-ac-symptom-card] {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  background:var(--ink-2);
  backface-visibility:hidden;
  transition:background-color .28s ease, box-shadow .28s ease, transform .28s var(--ease);
}
.specials-page .specials-symptoms__grid article[data-ac-symptom-card] > strong,
.specials-page .specials-symptoms__grid article[data-ac-symptom-card] > p {
  position:relative;
  z-index:2;
  transition:color .24s ease, transform .28s var(--ease);
}
.specials-page .specials-symptoms__grid article[data-ac-symptom-card]::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(135deg,rgba(31,154,216,.22),rgba(255,101,42,.10));
  opacity:.96;
  transform:translateY(101%);
  transition:transform .28s var(--ease), opacity .28s ease;
  pointer-events:none;
}
.specials-page .specials-symptoms__grid article[data-ac-symptom-card]::after {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  z-index:3;
  background:var(--orange);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .28s var(--ease);
  pointer-events:none;
}
.specials-page .specials-symptoms__grid article[data-ac-symptom-card]:is(:hover,:active,:focus-visible,.is-touch-active) {
  background:#10293d;
  box-shadow:0 18px 40px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.08);
  transform:translateY(-4px);
  outline:none;
}
.specials-page .specials-symptoms__grid article[data-ac-symptom-card]:is(:hover,:active,:focus-visible,.is-touch-active)::before {
  transform:translateY(0);
}
.specials-page .specials-symptoms__grid article[data-ac-symptom-card]:is(:hover,:active,:focus-visible,.is-touch-active)::after {
  transform:scaleX(1);
}
.specials-page .specials-symptoms__grid article[data-ac-symptom-card]:is(:hover,:active,:focus-visible,.is-touch-active) > strong {
  color:var(--orange);
  transform:translateX(6px);
}
.specials-page .specials-symptoms__grid article[data-ac-symptom-card]:is(:hover,:active,:focus-visible,.is-touch-active) > p {
  color:#fff;
  transform:translateX(4px);
}
@media (prefers-reduced-motion: reduce) {
  .specials-page .specials-symptoms__grid article[data-ac-symptom-card],
  .specials-page .specials-symptoms__grid article[data-ac-symptom-card] > strong,
  .specials-page .specials-symptoms__grid article[data-ac-symptom-card] > p,
  .specials-page .specials-symptoms__grid article[data-ac-symptom-card]::before,
  .specials-page .specials-symptoms__grid article[data-ac-symptom-card]::after {
    transition:none;
  }
}
@media (prefers-reduced-motion:no-preference) {
  .specials-page .specials-symptoms__grid > .reveal:nth-child(2) { transition-delay:.07s; }
  .specials-page .specials-symptoms__grid > .reveal:nth-child(3) { transition-delay:.14s; }
  .specials-page .specials-symptoms__grid > .reveal:nth-child(4) { transition-delay:.21s; }
}
@media (max-width:1099.98px) {
  .specials-page .specials-check { grid-template-columns:1fr; }
  .specials-page .specials-check figure {
    height:auto !important;
    aspect-ratio:12 / 7 !important;
    overflow:hidden;
  }
  .specials-page .specials-check img {
    width:100%;
    height:100% !important;
    object-fit:cover;
    object-position:center top;
    transform:scale(1.08);
    transform-origin:center top;
  }
}
/* V3.2.11 SPECIALS MOBILE PARITY END */

/* V3.2.15 DESKTOP CALL PANEL START */
.desktop-call-dialog {
  width:min(560px,calc(100vw - 48px));
  max-width:560px;
  padding:0;
  border:1px solid rgba(255,255,255,.18);
  background:var(--ink,#081019);
  color:#fff;
  box-shadow:0 28px 90px rgba(0,0,0,.5);
  overflow:hidden;
}
.desktop-call-dialog::backdrop {
  background:rgba(4,10,16,.76);
  backdrop-filter:blur(5px);
}
.desktop-call-dialog__shell { position:relative; }
.desktop-call-dialog__topline {
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:0 18px 0 24px;
  border-bottom:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.62);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.desktop-call-dialog__close {
  width:38px;
  height:38px;
  border:0;
  background:transparent;
  color:#fff;
  font:400 30px/1 Arial,sans-serif;
  cursor:pointer;
}
.desktop-call-dialog__close:hover,
.desktop-call-dialog__close:focus-visible { color:var(--orange,#ff652a); }
.desktop-call-dialog__content { padding:34px 34px 28px; }
.desktop-call-dialog__eyebrow {
  margin:0 0 12px;
  color:var(--orange,#ff652a);
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.desktop-call-dialog h2 {
  margin:0 0 18px;
  font-family:var(--display,'Barlow Condensed',sans-serif);
  font-size:clamp(42px,4.5vw,64px);
  line-height:.88;
  letter-spacing:-.025em;
  text-transform:uppercase;
}
.desktop-call-dialog__number {
  display:inline-block;
  margin:0 0 14px;
  color:#fff;
  font-family:var(--display,'Barlow Condensed',sans-serif);
  font-size:clamp(38px,4vw,54px);
  font-weight:800;
  line-height:1;
  text-decoration:none;
}
.desktop-call-dialog__number:hover { color:var(--orange,#ff652a); }
.desktop-call-dialog__help {
  max-width:470px;
  margin:0 0 26px;
  color:rgba(255,255,255,.7);
  font-size:15px;
  line-height:1.65;
}
.desktop-call-dialog__actions {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.desktop-call-dialog__action {
  min-width:0;
  min-height:86px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  padding:15px 16px;
  border:1px solid rgba(255,255,255,.18);
  background:#10202d;
  color:#fff;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  transition:transform .2s ease,border-color .2s ease,background-color .2s ease;
}
.desktop-call-dialog__action span {
  font-size:13px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.desktop-call-dialog__action small { color:rgba(255,255,255,.6); font-size:10px; line-height:1.35; }
.desktop-call-dialog__action--primary { border-color:var(--orange,#ff652a); background:var(--orange,#ff652a); }
.desktop-call-dialog__action--primary small { color:rgba(255,255,255,.82); }
.desktop-call-dialog__action:hover,
.desktop-call-dialog__action:focus-visible { transform:translateY(-3px); border-color:var(--orange,#ff652a); outline:none; }
.desktop-call-dialog__action--primary:hover,
.desktop-call-dialog__action--primary:focus-visible { background:#ff7a43; }
.desktop-call-dialog__status {
  min-height:20px;
  margin:14px 0 0;
  color:var(--blue-bright,#29a9e8);
  font-size:12px;
  font-weight:700;
}
.desktop-call-dialog__address {
  margin:12px 0 0;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.5);
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
@media (max-width:899.98px), (any-hover:none) {
  .desktop-call-dialog { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .desktop-call-dialog__action { transition:none; }
}
.phone-reference-link { color:inherit; font-weight:700; text-decoration:underline; text-decoration-color:var(--orange,#ff652a); text-underline-offset:3px; }
.phone-reference-link:hover { color:var(--orange,#ff652a); }
/* V3.2.15 DESKTOP CALL PANEL END */
