/* Public legacy pages: the same editorial system as the main storefront.
   Loaded after page-family CSS by nav-snippet.js. Flagship layouts, navigation,
   footer and the quote controller remain owned by their dedicated stylesheets. */
:root{--reading:800px;--gutter:clamp(22px,4vw,56px);--legacy-offset:84px}
body{background:var(--surface);color:var(--fg)}
.mx{max-width:1440px;padding-inline:var(--gutter)}

/* Editorial arrivals; the occasional photo campaign retains the display face. */
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero,.hub-hero,.blog-hero,.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero,.wk-hero,.rv-hero,.tw-hero){position:relative;margin-top:var(--legacy-offset);padding:64px 0 60px;background:var(--bg);color:var(--fg);border-bottom:1px solid var(--line);overflow:hidden;text-align:left}
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero,.hub-hero,.blog-hero,.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero,.wk-hero,.rv-hero,.tw-hero)::before,
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero)::after{content:none}
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero,.hub-hero,.blog-hero,.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero,.wk-hero,.rv-hero,.tw-hero) h1{max-width:1120px;margin:0 0 24px;font-family:var(--font-heading,var(--font));font-size:clamp(44px,5.2vw,76px);font-weight:500;line-height:1.08;letter-spacing:-.045em;text-transform:none;text-wrap:balance;color:var(--fg)}
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero,.hub-hero,.blog-hero,.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero,.wk-hero,.rv-hero,.tw-hero) h1 em{font-style:normal;color:inherit}
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero,.hub-hero,.blog-hero,.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero,.wk-hero,.rv-hero,.tw-hero) :is(.breadcrumb,.ro-crumb){max-width:none;font-size:12px;line-height:1.7;margin:0 0 28px;padding:0;color:var(--fg)}
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero,.hub-hero,.blog-hero,.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero,.wk-hero,.rv-hero,.tw-hero) :is(.tag,.ro-tag){display:block;width:auto;margin:0 0 20px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:12px;line-height:1.5;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--fg)}
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero,.hub-hero,.blog-hero,.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero,.wk-hero,.rv-hero,.tw-hero) :is(.meta,.sub,.rp-hero-line,.cs-hero-line){max-width:720px;margin:0;font-size:17px;line-height:1.75;color:var(--fg);text-wrap:pretty}
:is(.sym-hero,.article-hero) .meta{font-size:13px;line-height:1.6}
:is(.hub-hero,.blog-hero,.wk-hero,.tw-hero) p{max-width:760px;font-size:17px;line-height:1.75;color:var(--fg)}
.rp-badges,.cs-badge-row{gap:10px;margin-bottom:24px}
.rp-eyebrow{display:block;max-width:760px;background:none;border:0;border-radius:0;padding:0;margin:0 0 22px;color:var(--fg);font-size:14px;font-weight:500;line-height:1.7}
.cs-hero .cs-hero-line{margin-bottom:28px}
:is(.cs-hero,.cs-cta) div:has(>.bt){display:flex;flex-wrap:wrap;gap:12px}
:is(.cs-hero,.cs-cta) .bt{margin-left:0!important;box-shadow:none;min-height:52px;font-size:14px}
:is(.rp-badges,.cs-badge-row)>span{border-radius:var(--r);box-shadow:none;font-size:12px}
/* 2026-10-19: hero chips inherit the hero text colour (they were dark-on-dark on every city service page). */
:is(.rp-badges,.cs-badge-row)>span{color:inherit;background:color-mix(in srgb,currentColor 8%,transparent);border-color:color-mix(in srgb,currentColor 28%,transparent)}

/* Core service pages and brand pages. */
body>.section{width:calc(100% - var(--gutter)*2);max-width:1328px;margin:0 auto;padding:72px 0;border-bottom:1px solid var(--line)}
body>.section>h2{max-width:860px;margin:0 0 30px;font-size:clamp(28px,3.1vw,42px);line-height:1.16;letter-spacing:-.04em;font-weight:600;color:var(--fg)}
body>.section>p{max-width:800px;margin:0 0 20px;font-size:17px;line-height:1.8;color:var(--fg)}
body>.section>p:last-child{margin-bottom:0}
body>.breadcrumb{width:calc(100% - var(--gutter)*2);max-width:1328px;margin:0 auto;padding:28px 0 0;font-size:12px;line-height:1.7;color:var(--fg)}
body>.breadcrumb a{color:var(--blue)}
.section .repair-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.section .repair-card{padding:30px 0;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}
.section .repair-card h3{margin:0 0 16px;font-size:23px;line-height:1.25;font-weight:700;letter-spacing:-.035em;color:var(--fg)}
.section .repair-card p{margin:0 0 24px;font-size:15px;line-height:1.8;color:var(--fg)}
.section .repair-price{display:block;padding-top:18px;border-top:1px solid var(--line);font-size:14px;line-height:1.6;font-weight:650;color:var(--blue)}
.section .signs-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;border-top:1px solid var(--line)}
.section .signs-list li{display:block;padding:20px 0;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;font-size:16px;line-height:1.7;color:var(--fg)}
.section .signs-list li::before{content:none}
.section :is(.why-mobile,.real-talk,.blog-callout){max-width:100%;padding:36px 40px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);box-shadow:none}
.section :is(.why-mobile,.real-talk) h2{margin:0 0 22px;font-size:32px;line-height:1.2;letter-spacing:-.04em;color:var(--fg)}
.section :is(.why-mobile,.real-talk) p{max-width:860px;font-size:16px;line-height:1.8;color:var(--fg)}
body>.other-services{max-width:1440px;padding:64px var(--gutter);margin:auto;border:0}
.other-services h2{margin-bottom:26px;font-size:30px;line-height:1.2;text-align:left;letter-spacing:-.04em}
.other-services .pill-grid{justify-content:start;gap:10px}
.pill-grid .pill,.city-neighborhoods .pill{min-height:44px;padding:12px 0;margin-right:18px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;font-size:13px;line-height:1.5;color:var(--fg)}
.pill-grid .pill:hover,.city-neighborhoods .pill:hover{background:transparent;border-color:var(--blue);color:var(--blue)}

/* The existing quote hero continues to use relevant mechanical imagery. */
.qw-hero[data-photo="driveway"]>.qw-hero__bg{background-image:url('/img/hero-car.webp');background-position:center 58%}
.qw-hero[data-photo="brakes"]>.qw-hero__bg{background-image:url('/img/hero/wrench.webp')}
.qw-hero[data-photo="suspension"]>.qw-hero__bg{background-image:url('/img/hero/wrench.webp')}
.qw-hero[data-photo="battery"]>.qw-hero__bg{background-image:url('/img/hero-car.webp')}

/* Local, mod-install and warranty content shares the city-block structure. */
.city-content{padding:0;background:var(--surface)}
.city-content>.mx{max-width:1440px;padding-inline:var(--gutter)}
.city-block{width:100%;max-width:1328px;margin-inline:auto;padding:64px 0;border-bottom:1px solid var(--line)}
body>.city-block{width:calc(100% - var(--gutter)*2)}
.city-block+.city-block{border-top:0}
.city-block h2{max-width:850px;margin-bottom:26px;font-size:clamp(28px,3vw,40px);line-height:1.18;letter-spacing:-.04em;font-weight:600;color:var(--fg)}
.city-block h2 em{color:inherit;font-style:normal}
.city-block>p,.city-block .lb-hubmesh>p{max-width:840px;margin-bottom:20px;font-size:17px;line-height:1.8;color:var(--fg)}
.city-block .lb-mesh{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:30px}
.city-block .lb-mesh>a{display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:28px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;font-size:18px;font-weight:650;line-height:1.4;color:var(--fg);box-shadow:none}
.city-block .lb-mesh>a b{margin-left:0;font-size:13px;color:var(--blue);font-weight:650}
.city-block .lb-mesh>a:hover{border-color:var(--blue);background:transparent;color:var(--blue)}
.city-block .pills{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 24px}
.city-block .faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px;list-style:none;margin:28px 0 0;padding:0}
.city-block .faq-item{padding:26px 0 0;border:0;border-top:1px solid var(--line);background:none;border-radius:0;box-shadow:none}
.city-block .faq-item h3{margin:0 0 14px;font-size:18px;line-height:1.5;font-weight:650;letter-spacing:-.02em;color:var(--fg)}
.city-block .faq-item p{margin:0;font-size:15px;line-height:1.8;color:var(--fg)}
.city-block :is(.lb-zone,.lb-hand){padding:36px;margin:16px 0;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);box-shadow:none}
.city-block :is(.lb-zone,.lb-hand) h2{max-width:none;margin:0 0 18px;font-size:28px}
.city-block :is(.lb-zone,.lb-hand) p{max-width:780px;font-size:15px;line-height:1.8;color:var(--fg)}
.city-block :is(.lb-zone__in,.lb-zone__btn,.lb-hand__b){border-radius:var(--control-r);min-height:48px}
.city-content .mtw{margin:25px 0;border:1px solid var(--line);border-radius:var(--r);box-shadow:none;background:var(--surface);overflow-x:auto;max-width:100%}
.city-content .mt th{padding:17px 20px;background:var(--bg);font-size:12px;color:var(--fg);border:0}
.city-content .mt td{padding:18px 20px;font-size:14px;border-color:var(--line);color:var(--fg)}
.city-content .mt td.n{position:static;background:transparent;box-shadow:none}
.city-content :is(.mod-no,.mod-now,.cliff-now,.inc,.hn>div){padding:28px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);box-shadow:none}
.city-content .inc{padding:0}.city-content .inc li{padding:20px 25px;font-size:15px}
.city-content :is(.price-line span,.pop-card,.cat-card,.wr-card,.rel,.steps>div,.fy li){border-radius:var(--r);box-shadow:none}
.city-content :is(.price-line span,.pop-card,.cat-card,.wr-card){border:0;border-top:1px solid var(--line);background:transparent}
.city-content :is(.pop-cards,.cat-cards,.wr-cards){gap:20px}
.city-content :is(.pop-card,.cat-card,.wr-card){padding:28px 0}
.city-content .rel a{padding:20px 22px;line-height:1.5}
.city-content .steps{gap:24px}.city-content .steps i{border-radius:var(--r)}
.city-content .city-cta{padding:44px 36px;background:var(--ink-band);color:var(--surface);border:0;border-radius:var(--r);box-shadow:none}
.city-content .city-cta :is(h2,p){color:var(--surface)}
.city-content .city-cta .bt--a{background:var(--surface);color:var(--ink-band);border-color:var(--surface)}

/* Known failures and city/service pages have independent rp-/cs- markup. */
.rp-block,.cs-block{max-width:960px;margin:0 auto;padding:44px 0;border-bottom:1px solid var(--line)}
.rp-block h2,.cs-block h2{margin:0 0 23px;font-size:clamp(27px,2.7vw,36px);line-height:1.2;letter-spacing:-.035em;font-weight:600;color:var(--fg)}
.rp-block h2 em,.cs-block h2 em{font-style:normal;color:inherit}
.rp-block :is(p,li),.cs-block :is(p,li){font-size:16px;line-height:1.8;color:var(--fg)}
.rp-block p,.cs-block p{margin-bottom:20px}
.rp-block :is(ul,ol),.cs-block :is(ul,ol){padding-left:23px}
.rp-related,.cs-related{gap:10px;margin:22px 0}
.rp-related a,.cs-related a{padding:11px 15px;border:1px solid var(--line);border-radius:var(--r);line-height:1.5;box-shadow:none}
:is(.rp-dealer,.rp-cta,.rp-fit,.rp-honest,.rp-faq,.cs-price-box,.cs-cta,.cs-faq){border-radius:var(--r);box-shadow:none}
.rp-dealer,.cs-price-box{padding:28px 30px;background:var(--bg);border:1px solid var(--line)}
.rp-cta,.cs-cta{max-width:960px;margin:40px auto;padding:36px;background:var(--bg);border:1px solid var(--line)}
:is(.rp-cta,.cs-cta) :is(h2,h3){font-family:var(--font-heading,var(--font));font-size:28px;line-height:1.2;letter-spacing:-.03em;color:var(--fg)}
:is(.rp-cta,.cs-cta) p{font-size:16px;line-height:1.8;color:var(--fg)}

/* Articles. Blog/cost pages nest .article in .mx; answers use .article.mx itself. */
.article{width:100%;max-width:var(--reading);margin:0 auto;padding:54px 0 76px;color:var(--fg);overflow-wrap:break-word}
.article.mx{max-width:calc(var(--reading) + var(--gutter)*2);padding-inline:var(--gutter)}
.article h2{margin:48px 0 22px;font-size:30px;line-height:1.24;font-weight:600;letter-spacing:-.035em;color:var(--fg)}
.article h3{margin:30px 0 14px;font-size:22px;line-height:1.35;font-weight:700;letter-spacing:-.02em;color:var(--fg)}
.article :is(p,ul,ol){margin-bottom:22px;font-size:17px;line-height:1.85;color:var(--fg)}
.article :is(ul,ol){padding-left:23px}.article li+li{margin-top:9px}
.article a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line2);font-weight:500}
.article a:hover{text-decoration-color:var(--blue)}
.article .answer-box{margin:0 0 36px;padding:28px 30px;background:var(--bg);border:0;border-radius:var(--r);box-shadow:none;font-size:17px;line-height:1.8;font-weight:400;color:var(--fg)}
.article .answer-box>strong{display:block;margin-bottom:10px;color:var(--ink-band);font-weight:700}
.article :is(.callout,.urg,.article-cta){margin:30px 0;padding:28px 30px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);color:var(--fg);box-shadow:none;font-size:16px;line-height:1.8}
.article .urg-hi{border-color:var(--amber);background:var(--surface)}.article .urg-hi .urg-level{color:var(--fg)}
.article .article-cta :is(h2,h3){margin:0 0 16px;font-size:27px;line-height:1.2;color:var(--fg)}
.article .cost-table,.article table:not(.mt){display:table;width:100%;margin:28px 0;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.article table th{padding:16px 19px;background:var(--bg);border:0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.6;text-align:left;color:var(--fg);font-weight:650}
.article table td{padding:17px 19px;border:0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.7;color:var(--fg);vertical-align:top}
.article table tr:last-child td{border-bottom:0}
.article .tbl-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.article .cause{padding:25px 0;border-bottom:1px solid var(--line)}
.article .cause h3{margin-top:0;font-size:22px}.article .cause p{font-size:16px;margin-bottom:0}
.article .hand a.hand__sms,.article .hand a.hand__wa,.article .article-cta a.bt{color:var(--surface);text-decoration:none}
.article .hand a.hand__call{color:var(--blue)}
.article :is(.related-grid>a,.related-articles,.fqb,.fqb__cell,.midq){border-radius:var(--r);box-shadow:none}
.article .related-grid{gap:14px}.article .related-grid>a{padding:20px 0;border:0;border-top:1px solid var(--line);background:transparent;font-size:15px;line-height:1.6;text-decoration:underline;text-underline-offset:4px}
.article .midq{padding:28px;border:1px solid var(--line);background:var(--bg)}

/* Searchable directories: repairs, symptoms, costs, answers and the journal. */
.hub-search{margin-top:12px;width:100%;max-width:640px;min-height:54px;padding:15px 18px;border:1px solid var(--line2);border-radius:var(--control-r);background:var(--surface);color:var(--fg);font-size:16px}
.hub-search:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.hub-make{padding:48px 0 14px}
.hub-make h2{margin-bottom:23px;font-size:30px;line-height:1.25;letter-spacing:-.035em}
.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hub-card{display:block;min-width:0;padding:25px 0;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;transform:none;transition:border-color .16s}
.hub-card:hover{transform:none;border-color:var(--blue);background:transparent}.hub-card:hover .hub-card-title,.hub-card:focus-visible .hub-card-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.hub-card-title{margin-bottom:13px;font-size:19px;font-weight:650;line-height:1.35;letter-spacing:-.02em;color:var(--fg)}
.hub-card-sym{margin-bottom:14px;font-size:14px;line-height:1.65;color:var(--fg)}
.hub-card-meta{font-size:12px;line-height:1.6;color:var(--fg)}
.hub-pill{border-radius:var(--r);font-size:12px;line-height:1.6}
:is(.hub-honest,.hub-second,.hub-form){padding:28px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);box-shadow:none}
:is(.blog-grid,.articles-grid){gap:24px}
:is(.blog-card,.article-card){border-radius:0;border:0;border-bottom:1px solid var(--line);box-shadow:none;overflow:hidden;background:transparent}
:is(.blog-card,.article-card) img{border-radius:0}

/* Direct service journeys: forms stay in their existing hero grids. */
:is(.so-hero,.bk-hero,.nm-hero,.sc-hero,.pt-hero){margin-top:var(--legacy-offset);padding:62px var(--gutter) 58px;background:var(--bg);border-bottom:1px solid var(--line)}
:is(.so-mx,.bk-mx,.nm-mx,.sc-mx,.pt-mx){max-width:1328px;margin-inline:auto}
:is(.so-h1,.bk-h1,.nm-h1,.sc-h1,.pt-h1){margin-bottom:24px;font-family:var(--font-heading,var(--font));font-size:clamp(44px,5vw,70px);line-height:1.08;letter-spacing:-.045em;text-transform:none;font-weight:500;color:var(--fg)}
:is(.so-h1,.bk-h1,.nm-h1,.sc-h1,.pt-h1) em{font-style:normal;color:inherit}
:is(.so-grid,.bk-grid,.nm-grid,.sc-grid,.pt-grid)>*{min-width:0}
:is(.so-sub,.bk-sub,.nm-sub,.sc-sub,.pt-sub){font-size:17px;line-height:1.8;color:var(--fg)}
:is(.so-sec,.bk-sec,.nm-sec,.sc-sec,.pt-sec){max-width:1328px;margin-inline:auto;padding:56px var(--gutter);border-bottom:1px solid var(--line)}
:is(.so-sec,.bk-sec,.nm-sec,.sc-sec,.pt-sec)>h2{margin-bottom:25px;font-size:clamp(27px,2.8vw,38px);font-weight:600;line-height:1.2;letter-spacing:-.035em;color:var(--fg)}
:is(.so-sec,.bk-sec,.nm-sec,.sc-sec,.pt-sec) p{max-width:850px;font-size:16px;line-height:1.8;color:var(--fg)}
:is(.so-band,.so-honest,.so-card,.so-end,.bk-step,.nm-city,.nm-end,.sc-card,.sc-band,.sc-honest,.pt-card,.pt-col,.pt-box,.pt-hand){border-radius:var(--r);box-shadow:none;border-color:var(--line)}
:is(.so-band,.so-honest,.so-end,.nm-end,.sc-band,.sc-honest){background:var(--bg);padding:30px}
:is(.so-band a.so-bl,.so-pills a,.nm-pills a,.pt-hand a){border-radius:var(--control-r)}
:is(.so-honest,.sc-honest) h2{color:var(--fg)}

/* Tools, evidence and public records. Keep functional layouts intact. */
:is(.tool-wrap,.pi-wrap,.ds-wrap,.ro-wrap,.em-wrap){padding-inline:var(--gutter)}
:is(.pi-wrap,.ds-wrap,.ro-wrap,.em-wrap){max-width:1440px}
.tool-wrap{max-width:calc(900px + var(--gutter)*2)}
:is(.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero) h1{margin-inline:0}
:is(.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero) .sub{margin-inline:0}
.ro-hero :is(p,a,.ro-tag,.ro-crumb),.ro-hero .ro-crumb a{color:var(--fg)}
.ro-hero .ro-chip{padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:var(--fg)}
.ro-body{padding-block:48px 28px}
:is(.pi-narrow,.wk-wrap,.tw-wrap){max-width:calc(var(--reading) + var(--gutter)*2);margin-inline:auto;padding:48px var(--gutter) 72px}
:is(.wk-wrap,.tw-wrap) :is(h2,h3){margin:35px 0 18px;font-family:var(--font-heading,var(--font));font-size:28px;line-height:1.3;letter-spacing:-.03em;color:var(--fg)}
:is(.wk-wrap,.tw-wrap) :is(p,li){font-size:16px;line-height:1.8;color:var(--fg)}
:is(.wk-facts,.wk-section,.wk-note,.wk-quote,.tw-card,.rv-card,.ro-card,.ro-warn,.ro-cite,.pi-call,.pi-trust,.pi-tablewrap,.ro-tablewrap,.ds-card,.em-card,.tool-card,.answer,.tr,.result,.calculator,.chips button){border-radius:var(--r);box-shadow:none}
:is(.pi-search,.pi-controls select,.tool-wrap input,.tool-wrap select,.tool-wrap textarea,.tool-wrap button){border-radius:var(--control-r)}
:is(.pi-tablewrap,.ro-tablewrap){max-width:100%;overflow-x:auto;border-color:var(--line)}
.ro-card{padding:30px;border:1px solid var(--line);background:var(--surface)}.rv-card{padding:30px 0;border:0;border-top:1px solid var(--line);background:transparent}
.rv-wrap{padding-block:44px 72px}
.rv-card .rv-body{font-size:17px;line-height:1.8}
:is(.gr-wrap,.st-wrap,.rc-wrap){padding-top:calc(var(--legacy-offset) + 44px)}
:is(.gr-hero,.st-hero,.rc-hero) h1{font-family:var(--font-heading,var(--font));font-size:clamp(40px,5vw,64px);line-height:1.03;letter-spacing:-.045em;text-transform:none;color:var(--fg)}
:is(.gr-card,.st-card,.rc-card){border-radius:var(--r);box-shadow:none}

/* Supporting PPI documents use four dedicated, readable document layouts. */
:is(.ck-main,.fc-main,.fs-main,.pr-main){padding-top:calc(var(--legacy-offset) + 48px);padding-inline:var(--gutter)}
:is(.ck-h1,.fc-h1,.fs-h1,.pr-h1){font-family:var(--font-heading,var(--font));font-size:clamp(44px,5.5vw,76px);font-weight:500;line-height:1.08;letter-spacing:-.045em;text-transform:none;color:var(--fg)}
:is(.ck-sec,.fc-card,.fs-card,.pr-card,.pr-section){border-radius:var(--r);box-shadow:none}

/* Plain reviews and restrained closing sections shared by legacy pages. */
.rv{padding:72px 0;background:var(--bg);border-block:1px solid var(--line)}
.rv__mx{max-width:1440px;padding-inline:var(--gutter)}
.rv__h{font-family:var(--font-heading,var(--font));font-size:clamp(40px,4.4vw,62px);font-weight:500;line-height:1.08;letter-spacing:-.045em;text-transform:none;color:var(--fg)}
.rv__p{margin-top:18px;font-size:15px;line-height:1.8;color:var(--fg)}
.rv__grid{gap:44px;margin-top:34px}.rv__q{padding:28px 0;border:0;border-top:1px solid var(--line2);border-radius:0;background:transparent;font-size:19px;line-height:1.75;box-shadow:none}
.rv__q cite{margin-top:24px;font-size:12px;font-weight:650;line-height:1.7;color:var(--fg)}.rv__more{margin-top:26px;font-size:13px;color:var(--fg)}
.article .rv--in{margin:34px 0;padding:26px 0;border:0;border-block:1px solid var(--line);border-radius:0}
.article .rv--in .rv__mx{padding-inline:25px}.article .rv--in .rv__h{font-family:var(--font-heading,var(--font));font-size:24px;line-height:1.2;text-transform:none;letter-spacing:-.03em}
.band{max-width:1440px;padding:32px var(--gutter)}.band__in{gap:28px;padding:32px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}.band__h{margin-bottom:10px;font-size:25px;line-height:1.25;letter-spacing:-.03em}.band__p{max-width:790px;font-size:15px;line-height:1.8}.band__a a{min-height:46px;border-radius:var(--control-r);font-size:13px;font-weight:650}
.band-photo{padding:72px 0}.band-photo__mx{max-width:1440px;padding-inline:var(--gutter)}.band-photo__h{font-family:var(--font-display);font-size:clamp(46px,5.2vw,72px);font-weight:700;letter-spacing:-.018em;line-height:1;text-transform:uppercase}.band-photo__p{max-width:660px;font-size:17px;line-height:1.8}.band-photo .bt{min-height:48px;border-radius:var(--control-r);font-size:14px}

/* Help stays available on demand, without interrupting the repair journey. */
body .aiw{right:22px!important;bottom:22px!important;z-index:990!important}
body #aiw-open{display:flex;align-items:center;justify-content:center;gap:0;width:48px;height:48px;padding:0;background:var(--surface);color:var(--ink-band);border:1px solid var(--line2);border-radius:var(--r);box-shadow:0 4px 18px rgba(13,21,38,.1);transform:none}
body #aiw-open:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light);transform:none}
body #aiw-open>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;padding:0;border:0}
body #aiw-open svg{width:21px;height:21px;stroke-width:1.6}
body .aiw-tease,body .aiw-exit,body .aiw-dot{display:none!important}
body .aiw-panel{right:22px;bottom:calc(var(--aiw-view-bottom,0px) + 22px);z-index:1120;width:min(430px,calc(100vw - 44px));height:min(680px,calc(var(--aiw-view-height,100dvh) - 44px));border:1px solid var(--line);border-radius:var(--r);box-shadow:0 16px 55px rgba(13,21,38,.2)}
body .aiw-head{background:var(--ink-band);padding:19px 20px}body .aiw-head strong{font-size:14px;font-weight:650}body .aiw-head span{font-size:12px}
body .aiw-x{width:44px;height:44px;flex:none;background:none;border:1px solid rgba(255,255,255,.25);border-radius:var(--control-r)}
body .aiw-chat{background:var(--bg);padding:20px;min-height:0;overscroll-behavior:contain}body .aiw-m{border-radius:var(--r);font-size:14px;line-height:1.75}body .aiw-foot{padding:16px 18px;background:var(--surface)}body .aiw-send{border-radius:var(--control-r);background:var(--blue)}
body:has(.aiw-panel.on) .qw-sticky{visibility:hidden;pointer-events:none}

@media(max-width:1099px){:root{--legacy-offset:72px}.section .repair-grid,.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city-block .lb-mesh{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:960px){:is(.so-grid,.bk-grid,.nm-grid,.sc-grid,.pt-grid){gap:64px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}
@media(max-width:767px){
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero,.hub-hero,.blog-hero,.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero,.wk-hero,.rv-hero,.tw-hero){padding:40px 0 38px}
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero,.hub-hero,.blog-hero,.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero,.wk-hero,.rv-hero,.tw-hero) h1{max-width:100%;font-size:clamp(38px,10vw,48px);line-height:1.1;overflow-wrap:break-word;margin-bottom:22px}
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero,.hub-hero,.blog-hero,.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero,.wk-hero,.rv-hero,.tw-hero) :is(.breadcrumb,.ro-crumb){font-size:12px;margin-bottom:23px}
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero,.hub-hero,.blog-hero,.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero,.wk-hero,.rv-hero,.tw-hero) :is(.tag,.ro-tag){font-size:12px;margin-bottom:17px}
:is(.sym-hero,.article-hero) .meta{max-width:100%;font-size:12px}
:is(.rp-hero-line,.cs-hero-line){font-size:16px;line-height:1.75}
body>.section{padding:44px 0}body>.section>h2{font-size:29px;margin-bottom:24px}body>.section>p{font-size:16px;line-height:1.8}body>.breadcrumb{padding-top:22px;font-size:12px}
.section .repair-grid,.hub-grid{grid-template-columns:1fr;gap:16px}.section .repair-card{padding:25px 0}.section .repair-card h3{font-size:23px}.section .signs-list{grid-template-columns:1fr}.section .signs-list li{font-size:16px;padding:17px 0}.section :is(.why-mobile,.real-talk,.blog-callout){padding:25px}.section :is(.why-mobile,.real-talk) h2{font-size:26px}.section :is(.why-mobile,.real-talk) p{font-size:15px}.other-services h2{font-size:27px}
.city-block{padding:44px 0}.city-block h2{font-size:29px;line-height:1.2;margin-bottom:22px}.city-block>p,.city-block .lb-hubmesh>p{font-size:16px;line-height:1.8}.city-block .lb-mesh{grid-template-columns:1fr;gap:14px}.city-block .lb-mesh>a{padding:24px 0;gap:20px;font-size:18px}.city-block .faq-list{grid-template-columns:1fr;gap:25px}.city-block .faq-item h3{font-size:18px}.city-block :is(.lb-zone,.lb-hand){padding:24px;margin:14px 0}.city-block :is(.lb-zone,.lb-hand) h2{font-size:26px}.city-content .mt td{padding:15px}.city-neighborhoods .pill{font-size:13px;padding:11px 0}.city-content :is(.mod-no,.mod-now,.cliff-now,.hn>div,.pop-card,.cat-card,.wr-card){padding:24px}.city-content .city-cta{padding:28px 24px}
.rp-block,.cs-block{padding:34px 0}.rp-block h2,.cs-block h2{font-size:27px}.rp-block :is(p,li),.cs-block :is(p,li){font-size:16px}.rp-dealer,.cs-price-box,.rp-cta,.cs-cta{padding:24px}.rp-related,.cs-related{gap:9px}.rp-related a,.cs-related a{font-size:13px}
.article{padding-block:36px 50px}.article h2{font-size:27px;line-height:1.28;margin:37px 0 19px}.article h3{font-size:21px;line-height:1.35}.article :is(p,ul,ol){font-size:16px;line-height:1.85}.article .answer-box{padding:23px;font-size:16px;margin-bottom:28px}.article :is(.callout,.urg,.article-cta){padding:23px;font-size:15px}.article table th,.article table td{padding:14px;font-size:13px}.article .article-cta :is(h2,h3){font-size:25px}.article .midq{padding:22px}.article .related-grid{grid-template-columns:1fr}
.hub-make{padding:35px 0 12px}.hub-make h2{font-size:27px}.hub-card{padding:24px 0}.hub-card-title{font-size:20px}.hub-search{min-width:0}.hub-honest,.hub-second,.hub-form{padding:24px}
:is(.so-hero,.bk-hero,.nm-hero,.sc-hero,.pt-hero){padding-block:40px}.so-h1,.bk-h1,.nm-h1,.sc-h1,.pt-h1{font-size:clamp(38px,10vw,48px);line-height:1.1;overflow-wrap:break-word}
:is(.so-sec,.bk-sec,.nm-sec,.sc-sec,.pt-sec){padding-block:40px}:is(.so-sec,.bk-sec,.nm-sec,.sc-sec,.pt-sec)>h2{font-size:28px}:is(.so-band,.so-honest,.so-end,.nm-end,.sc-band,.sc-honest){padding:25px}
:is(.wk-wrap,.tw-wrap,.pi-narrow){padding-block:35px 50px}:is(.wk-wrap,.tw-wrap) :is(h2,h3){font-size:25px}.ro-card{padding:24px}.rv-card{padding:24px 0}.rv-wrap{padding-block:34px 48px}
:is(.ck-main,.fc-main,.fs-main,.pr-main){padding-top:calc(var(--legacy-offset) + 36px)}:is(.ck-h1,.fc-h1,.fs-h1,.pr-h1){font-size:40px;overflow-wrap:break-word}
.rv{padding:48px 0}.rv__h{font-size:36px}.rv__grid{grid-template-columns:1fr;gap:17px}.rv__q{padding:25px 0;font-size:18px;line-height:1.75}.rv__q cite{margin-top:20px}.band{padding-block:22px}.band__in{padding:25px 0}.band__h{font-size:24px}.band__p{font-size:15px}.band-photo{padding:50px 0}.band-photo__h{font-size:46px}.band-photo__p{font-size:16px;line-height:1.8}
body .aiw{display:none!important}body .aiw-panel{inset:auto 0 var(--aiw-view-bottom,0);width:100%;height:var(--aiw-view-height,100dvh);max-height:100dvh;border-radius:0;z-index:1120}body .aiw-head{padding:17px 20px}body .aiw-chat{padding:17px}body .aiw-foot{padding-bottom:max(16px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.aiw-panel,.aiw-bubble,.hub-card{transition:none!important}}
@media print{.rc-wrap,.gr-wrap{padding-top:0}.ck-main,.fc-main,.fs-main,.pr-main{padding-top:16px}:is(.wk-hero,.tw-hero){margin-top:0;padding-block:20px}}

/* On-demand chat is a true dialog: reachable controls, contained scrolling, no lost focus. */
.aiw-backdrop{position:fixed;inset:0;z-index:1110;background:rgba(13,21,38,.35)}
.aiw-backdrop[hidden]{display:none}
body .aiw-panel .aiw-head{flex-shrink:0;gap:12px}
body .aiw-panel .aiw-foot{flex-shrink:0;max-height:55%;overflow-y:auto;overscroll-behavior:contain}
body .aiw-panel .aiw-inrow textarea{width:100%;min-width:0;min-height:46px;border:1px solid var(--line2);border-radius:var(--control-r);line-height:1.45}
body .aiw-panel .aiw-send{min-height:46px;min-width:68px;flex:none;padding-inline:12px}
body .aiw-panel .aiw-cap .row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
body .aiw-panel .aiw-cap .book{grid-column:1/-1;min-height:46px;border-radius:var(--control-r);background:var(--blue)}
body .aiw-panel :is(.aiw-cap input,.aiw-start,.aiw-bookchip,.aiw-price,.aiw-handoff a){border-radius:var(--control-r)}
body .aiw-panel .aiw-fine{font-size:12px;line-height:1.5;color:var(--fg)}
body .aiw-panel .aiw-m.typing{color:var(--fg);font-style:normal}
body .aiw-panel .aiw-head button:focus-visible{outline-color:var(--surface)}
@media(max-height:450px){body .aiw-panel{inset:auto 8px calc(var(--aiw-view-bottom,0px) + 8px) auto;width:min(620px,calc(100vw - 16px));height:min(calc(100dvh - 16px),calc(var(--aiw-view-height,100dvh) - 16px))}body .aiw-panel .aiw-head{padding:8px 14px}body .aiw-panel .aiw-foot{padding:10px 14px}body .aiw-panel .aiw-fine{margin-top:5px}}

body .aiw-panel.aiw-panel--compact{bottom:calc(var(--aiw-view-bottom,0px) + 8px);height:calc(var(--aiw-view-height,100dvh) - 16px)}
body .aiw-panel--compact .aiw-head{padding:6px 12px}
body .aiw-panel--compact .aiw-head span,body .aiw-panel--compact .aiw-fine{display:none}
body .aiw-panel--compact .aiw-foot{padding:8px 12px;max-height:calc(100% - 56px)}
body .aiw-retry{display:block;min-height:44px;padding:8px 12px;margin-top:10px;border:1px solid currentColor;border-radius:var(--control-r);color:inherit;font-size:12px;font-weight:650}
/* Midnight Precision shared reading surfaces. Dark arrival, neutral and legible body. */
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero,.hub-hero,.blog-hero,.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero,.wk-hero,.rv-hero,.tw-hero){background:var(--midnight);border-color:var(--midnight);color:var(--paper)}
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero,.hub-hero,.blog-hero,.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero,.wk-hero,.rv-hero,.tw-hero) h1{color:var(--paper);max-width:1000px}
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero,.hub-hero,.blog-hero,.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero,.wk-hero,.rv-hero,.tw-hero) :is(.breadcrumb,.breadcrumb a,.ro-crumb,.ro-crumb a,.meta,.sub,.rp-hero-line,.cs-hero-line,.rp-eyebrow){color:var(--paper)}
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero,.hub-hero,.blog-hero,.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero,.wk-hero,.rv-hero,.tw-hero) :is(.tag,.ro-tag){color:var(--champagne)}
:is(.hub-hero,.blog-hero,.wk-hero,.tw-hero) p,.ro-hero>p,.ro-hero>.mx>p{color:var(--paper)}
:is(.sym-hero,.article-hero,.rp-hero,.cs-hero,.hub-hero,.blog-hero,.tool-hero,.pi-hero,.ds-hero,.ro-hero,.em-hero,.wk-hero,.rv-hero,.tw-hero) :is(a,button,input,select,summary):focus-visible{outline-color:var(--champagne)}
:is(.rp-hero,.cs-hero) .bt--a{background:var(--champagne);color:var(--midnight);border-color:var(--champagne)}
.ro-hero .ro-chip,.ro-hero .ro-chip a{color:var(--midnight)}
:is(.hub-card,.blog-card,.article-card,.section .repair-card){transition:border-color var(--motion-control),background var(--motion-control)}
.section .repair-card{padding:26px 0 30px;border-color:var(--line2)}
.section .repair-card h3{font-family:var(--font-heading,var(--font));font-size:34px;text-transform:none;letter-spacing:-.045em;line-height:1.06}
:is(.city-block,body>.section) h2{font-family:var(--font-heading,var(--font));font-size:clamp(35px,3.5vw,50px);font-weight:500;letter-spacing:-.045em;line-height:1.05;text-transform:none}
.article .answer-box{background:var(--paper);border:1px solid var(--line);padding:30px}
.article :is(.callout,.article-cta),.rp-dealer,.cs-price-box{background:var(--paper)}
.article .article-cta .bt--a{background:var(--midnight);color:var(--paper)}
.band-photo .bt--w,.city-content .city-cta .bt--a{background:var(--champagne);color:var(--midnight);border-color:var(--champagne)}
.band-photo .bt--w:hover,.city-content .city-cta .bt--a:hover{background:#e0c9a4;border-color:#e0c9a4}
body #aiw-open{background:var(--paper);color:var(--midnight)}
body .aiw-panel .aiw-head{background:var(--midnight)}
body .aiw-panel .aiw-send{background:var(--midnight)}
@media(max-width:767px){:is(.city-block,body>.section) h2{font-size:35px}.section .repair-card h3{font-size:29px}.article .answer-box{padding:24px}}
/* The repair quote checker keeps its functional result colours and document hierarchy. */
.tool-wrap :is(.qc-card,.qc-verdict,.qc-caveat,.qc-share,.qc-ai,.qc-td,.qc-td-summary){border-radius:var(--r);box-shadow:none}
.tool-wrap .qc-card,.tool-wrap .qc-td{background:var(--surface);border-color:var(--line)}
.tool-wrap .qc-field :is(input,select,textarea){background:var(--surface);border-color:var(--line2);min-height:50px}
.tool-wrap .qc-verdict .vh{font-family:var(--font-heading,var(--font));font-size:32px;font-weight:500;line-height:1.05;text-transform:none}
.tool-wrap .qc-caveat{background:var(--paper);border-color:var(--line)}
.tool-wrap .qc-caveat strong{color:var(--midnight)}
.tool-wrap .qc-share{background:var(--paper);border-color:var(--line)}
.tool-wrap :is(.qc-share-go,.qc-share-copy,.qc-paste-toggle){border-radius:var(--control-r);box-shadow:none;min-height:48px}
.tool-wrap .qc-share-go{background:var(--midnight)}
.tool-wrap .qc-paste-toggle{border:1px solid var(--line2);background:var(--paper);color:var(--midnight)}
.tool-wrap .qc-ai-head{background:var(--midnight);color:var(--paper)}
.tool-wrap .qc-ai-body{background:var(--surface)}
.tool-wrap .qc-ai-msg{color:var(--fg)}
.tool-wrap .qc-ai-msg.typing{color:var(--fg);font-style:normal}
.tool-wrap :is(.qc-share-go,.qc-share-copy):hover{transform:none}
/* Match the contact rail breakpoint exactly; the help control never covers its action. */
@media(max-width:768px){body .aiw{display:none!important}}
/* Public review feed: preserve its source labels and a useful loading/error fallback. */
.rv-hero .crumb,.rv-hero .crumb a,.rv-hero p.lede{color:var(--paper)}
.rv-hero .crumb{font-size:12px;line-height:1.7;margin-bottom:28px}
.rv-hero p.lede{max-width:720px;font-size:17px;line-height:1.75}
.rv-wrap .rv-list{gap:30px}
.rv-wrap .rv-item{border-radius:0;background:var(--surface);border:0;border-top:1px solid var(--line2);padding:28px 0;box-shadow:none}
.rv-wrap .rv-body{font-size:clamp(18px,2vw,23px);line-height:1.65;max-width:780px;margin-bottom:24px}
.rv-wrap .rv-stars{color:#886435;font-size:15px;letter-spacing:3px;margin-bottom:20px}
.rv-wrap .rv-meta{gap:10px 17px;font-size:12px;line-height:1.6;color:var(--fg)}
.rv-wrap .rv-who{font-size:13px;font-weight:650;color:var(--fg)}
.rv-wrap .rv-chip{padding:5px 9px;background:var(--paper);border:1px solid var(--line);border-radius:var(--control-r);font-size:12px;font-weight:500;color:var(--fg)}
.rv-wrap .rv-chip--src{color:var(--fg);background:var(--paper);border-color:var(--line)}
.rv-wrap .rv-empty{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:32px}
.rv-wrap .rv-empty h2{font-family:var(--font-heading,var(--font));font-size:38px;line-height:1.05;font-weight:500;text-transform:none;color:var(--midnight);margin:14px 0 20px}
.rv-wrap .rv-empty p{font-size:15px;line-height:1.75;color:var(--fg)}
.rv-wrap #rv-feed-status{font-size:12px;line-height:1.7;margin-bottom:14px}
.rv-empty-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 30px;margin-top:21px}
.rv-empty-actions a{display:inline-flex;align-items:center;gap:18px;min-height:48px;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.rv-wrap .rv-card h2{font-family:var(--font-heading,var(--font));font-size:32px;line-height:1.1;font-weight:500;text-transform:none;color:var(--midnight);margin-bottom:17px}
.rv-wrap .rv-card a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.rv-wrap .rv-cta{background:var(--midnight);border-radius:var(--r);padding:30px;gap:25px}
.rv-wrap .rv-cta a{background:var(--champagne);color:var(--midnight);border-radius:var(--control-r);font-size:13px;font-weight:650}
.rv-wrap :is(.rv-star,.rv-pick,.rv-in,.rv-btn){border-radius:var(--control-r)}
.rv-wrap .rv-write{background:var(--paper);border:1px solid var(--line2);padding:28px}
.rv-wrap .rv-btn{background:var(--midnight);color:var(--paper)}
.rv-wrap .rv-in:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media(max-width:767px){.rv-hero .crumb{font-size:12px;margin-bottom:22px}.rv-hero p.lede{font-size:16px;line-height:1.8}.rv-wrap .rv-empty{padding:26px}.rv-wrap .rv-empty h2{font-size:32px}.rv-empty-actions{gap:3px 22px}.rv-wrap .rv-cta{padding:25px}.rv-wrap .rv-cta p{min-width:0}.rv-wrap .rv-card h2{font-size:30px}}

/* Retained photographic service arrivals share the editorial type hierarchy. */
.qw-hero .qw-hero__copy :is(h1,.qw-hero__h){font-family:var(--font-heading,var(--font));font-size:clamp(46px,5.2vw,76px);font-weight:500;text-transform:none;letter-spacing:-.05em;line-height:1.06;text-wrap:balance;max-width:760px}
.qw-hero .qw-hero__copy .qw-kicker{font-size:12px;font-weight:500;line-height:1.6;margin-bottom:24px;letter-spacing:.035em}
.qw-hero .qw-hero__copy .qw-sub{font-size:17px;line-height:1.75}
.qw-hero.qw-hero--photo .qw-hero__copy :is(.qw-proof a,.qw-hero__alt a){color:var(--champagne)}
.qw-hero .qw-hero__copy .qw-hero__alt{font-size:14px;line-height:1.65}
@media(max-width:767px){.qw-hero .qw-hero__copy :is(h1,.qw-hero__h){font-size:clamp(36px,9.8vw,50px);line-height:1.08;letter-spacing:-.045em;margin-bottom:22px}.qw-hero .qw-hero__copy .qw-kicker{font-size:12px;margin-bottom:22px}.qw-hero .qw-hero__copy .qw-sub{font-size:16px;line-height:1.7;margin-bottom:24px}.qw-hero .qw-hero__copy .qw-proof{font-size:14px;line-height:1.6}}

/* Compact service openings. Their complete enquiry forms remain in the normal reading flow. */
.qw-hero.qw-hero--photo{padding:116px 0 38px;min-height:0}
.qw-hero .qw-hero__grid{align-items:start;gap:clamp(36px,5.5vw,80px)}
.qw-hero .qw-hero__copy{padding-top:0}
.qw-hero .qw-hero__copy :is(h1,.qw-hero__h){font-family:var(--font-heading,var(--font));font-size:clamp(44px,4.8vw,65px);line-height:1.05;letter-spacing:-.045em;margin-bottom:20px}
.qw-hero .qw-hero__copy .qw-kicker{margin-bottom:18px}
.qw-hero .qw-hero__copy .qw-sub{font-size:16px;line-height:1.65;margin-bottom:18px}
.qw-hero .qw-hero__copy .qw-proof{font-size:14px;line-height:1.65}
/* Two custom repair openings reuse the shared widget, preserving every field and response state. */
:is(.cwf-services-hero-form,.br-hero__form).qw-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:none}
:is(.cwf-services-hero-form,.br-hero__form) .qw-card__title{font-family:var(--font-heading,var(--font));font-size:25px;line-height:1.15;font-weight:500;letter-spacing:-.035em;margin:0 0 8px}
:is(.cwf-services-hero-form,.br-hero__form) .qw-card__sub{font-size:14px;line-height:1.6;margin:0 0 18px}
:is(.cwf-services-hero-form,.br-hero__form) .qw-form{gap:12px}
:is(.cwf-services-hero-form,.br-hero__form) .qw-row{margin:0;gap:14px}
:is(.cwf-services-hero-form,.br-hero__form) .qw-field{gap:5px}
:is(.cwf-services-hero-form,.br-hero__form) .qw-field label{font-size:13px;line-height:1.5;margin:0}
:is(.cwf-services-hero-form,.br-hero__form) .qw-field :is(input,select,textarea){font-size:16px;min-height:44px;padding:10px 12px;border-radius:8px}
:is(.cwf-services-hero-form,.br-hero__form) .qw-field textarea{min-height:66px;line-height:1.5}
:is(.cwf-services-hero-form,.br-hero__form) .qw-btn{min-height:48px;border-radius:8px;margin:0}
:is(.cwf-services-hero-form,.br-hero__form) .qw-note{font-size:12px;line-height:1.55;margin:0}
@media(max-width:1099px){.qw-hero.qw-hero--photo{padding-top:101px}}
@media(max-width:899px){.qw-hero .qw-hero__grid{gap:24px}}
@media(max-width:767px){.qw-hero.qw-hero--photo{padding:96px 0 30px}.qw-hero .qw-hero__copy :is(h1,.qw-hero__h){font-size:38px;line-height:1.07;margin-bottom:17px}.qw-hero .qw-hero__copy .qw-kicker,.qw-hero .qw-hero__copy .qw-hero__alt{display:none}.qw-hero .qw-hero__copy .qw-sub{font-size:16px;line-height:1.6;margin-bottom:16px}.qw-hero .qw-hero__copy .qw-proof{font-size:13px;line-height:1.6;margin-bottom:0}:is(.cwf-services-hero-form,.br-hero__form).qw-card{padding:21px 19px}:is(.cwf-services-hero-form,.br-hero__form) .qw-card__title{font-size:24px}:is(.cwf-services-hero-form,.br-hero__form) .qw-card__sub{font-size:13px}}

:is(.cwf-services-hero-form,.br-hero__form) .qw-btn,.gq-page .qw-btn,.qw-hero .qw-card .qw-btn{background:var(--midnight,#111c29);border-color:var(--midnight,#111c29);color:#fff}
:is(.cwf-services-hero-form,.br-hero__form) .qw-btn:hover,.gq-page .qw-btn:hover,.qw-hero .qw-card .qw-btn:hover{background:var(--blue,#1e56a0);border-color:var(--blue,#1e56a0);color:#fff}

:is(.cwf-services-hero-form,.br-hero__form).qw-card .qw-form .qw-btn,.gq-page .qw-card .qw-form .qw-btn{background:var(--midnight,#111c29);border-color:var(--midnight,#111c29);color:#fff;box-shadow:none;min-height:48px}
:is(.cwf-services-hero-form,.br-hero__form).qw-card .qw-form .qw-btn:hover,.gq-page .qw-card .qw-form .qw-btn:hover{background:var(--blue,#1e56a0);border-color:var(--blue,#1e56a0);color:#fff}

:is(.cwf-services-hero-form,.br-hero__form) .qw-card__title{margin-bottom:18px}

/* Standalone service FAQs share the same reading width as surrounding repair content. */
.faq-section{width:min(1280px,calc(100% - 112px));margin-inline:auto;padding-block:64px}
.faq-section>h2{font:500 clamp(30px,3vw,44px)/1.12 var(--font-heading,var(--font));letter-spacing:-.04em;text-transform:none;margin:0 0 32px;color:var(--fg)}
.faq-section>.faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 50px;list-style:none;margin:0;padding:0}
.faq-section .faq-item{padding-top:22px;border-top:1px solid var(--line)}
.faq-section .faq-item h3{font:600 18px/1.45 var(--font);letter-spacing:-.02em;text-transform:none;margin:0 0 12px;color:var(--fg)}
.faq-section .faq-item p{font-size:15px;line-height:1.8;margin:0;color:var(--fg)}
@media(max-width:767px){.faq-section{width:calc(100% - 44px);padding-block:44px}.faq-section>h2{margin-bottom:25px}.faq-section>.faq-list{grid-template-columns:1fr;gap:25px}.faq-section .faq-item h3{font-size:17px}.faq-section .faq-item p{font-size:14px}}

/* Shared repair desk and reading rhythm. On-dark text remains owned by its surface. */
:is(.cwf-services-hero-form,.br-hero__form).qw-card{padding:30px;border-radius:2px;border-color:var(--line2);box-shadow:none}
:is(.cwf-services-hero-form,.br-hero__form) .qw-card__title{font-size:28px;letter-spacing:-.04em;margin-bottom:21px}
:is(.cwf-services-hero-form,.br-hero__form) .qw-field :is(input,select,textarea){border-radius:2px;min-height:48px;background:var(--surface);border-color:var(--line2)}
:is(.cwf-services-hero-form,.br-hero__form) .qw-field textarea{min-height:80px}
:is(.cwf-services-hero-form,.br-hero__form) .qw-btn{border-radius:2px;min-height:52px}
:is(.cwf-services-hero-form,.br-hero__form) :is(.qw-card__sub,.qw-note,.qw-field label){color:var(--fg)}
.article :is(p,ul,ol){line-height:1.85}
.article h2{font-family:var(--font-heading,var(--font));font-weight:500;letter-spacing:-.045em;line-height:1.13}
.article :is(.answer-box,.callout,.article-cta){border-radius:2px;box-shadow:none}
.article .answer-box{font-size:18px;line-height:1.75}
:is(.hub-card,.blog-card,.article-card){border-radius:2px;box-shadow:none}
body>.section>p,.city-block>p{max-width:780px;line-height:1.85}
@media(max-width:767px){:is(.cwf-services-hero-form,.br-hero__form).qw-card{padding:23px 20px}:is(.cwf-services-hero-form,.br-hero__form) .qw-card__title{font-size:25px;margin-bottom:18px}:is(.cwf-services-hero-form,.br-hero__form) .qw-field :is(input,select,textarea){min-height:46px}:is(.cwf-services-hero-form,.br-hero__form) .qw-field textarea{min-height:72px}.article .answer-box{font-size:16px}}
