/* Generated public stylesheet. Edit source files, then rebuild this file. */

/* Source: assets/css/fonts.css */
/* Self-hosted Google Fonts. Both families are licensed under the SIL Open Font License. */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: optional;
  src: url('/assets/fonts/dm-sans-latin.woff2') format('woff2');
}

@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600 800;
  font-display: optional;
  src: url('/assets/fonts/manrope-latin.woff2') format('woff2');
}
/* Prevent iPhone Safari from zooming form fields */
@media screen and (max-width: 768px) {
    input,
    textarea,
    select {
        font-size: 16px !important;
    }
}

/* Source: assets/css/site.css */
:root{--ink:#0b1118;--ink-2:#17202a;--paper:#f7f6f2;--white:#fff;--muted:#69727d;--line:#e4e7e9;--red:#e03226;--red-dark:#b9231b;--gold:#f3b833;--green:#1f7a57;--radius:20px;--shadow:0 18px 55px rgba(8,17,27,.12);--shell:min(1180px,calc(100% - 40px));font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.shell{width:var(--shell);margin-inline:auto}.narrow{max-width:850px}.skip-link{position:fixed;left:20px;top:-100px;background:#fff;padding:12px 18px;z-index:9999}.skip-link:focus{top:20px}.utility-bar{background:#080d12;color:#cfd5da;font-size:13px}.utility-inner{height:38px;display:flex;align-items:center;justify-content:space-between}.utility-inner span,.utility-inner div,.utility-inner a{display:flex;align-items:center;gap:7px}.utility-inner div{gap:22px}.utility-inner svg{width:15px;height:15px;color:var(--gold)}.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid rgba(0,0,0,.06);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px)}.nav-wrap{height:84px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:12px;min-width:220px}.brand img{width:70px;height:58px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.15}.brand b{font-family:'Manrope', Arial, sans-serif;font-size:19px}.brand small{text-transform:uppercase;font-size:10px;color:var(--muted);letter-spacing:.13em;margin-top:4px}.main-nav{margin-left:auto;display:flex;gap:26px;align-items:center}.main-nav a{font-weight:600;font-size:14px;position:relative}.main-nav a:after{content:"";height:2px;position:absolute;left:0;right:100%;bottom:-7px;background:var(--red);transition:.2s}.main-nav a:hover:after{right:0}.button{border:0;border-radius:10px;background:var(--red);color:#fff;padding:13px 19px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;line-height:1.2;box-shadow:0 8px 20px rgba(224,50,38,.18);transition:transform .2s,background .2s}.button:hover{background:var(--red-dark);transform:translateY(-2px)}.button svg,.text-link svg{width:17px;height:17px}.button-lg{padding:16px 23px;font-size:16px}.button-light{background:#fff;color:var(--ink);box-shadow:none}.button-light:hover{background:#f3f3f3}.button-outline{background:transparent;border:1px solid #cfd4d8;color:var(--ink);box-shadow:none}.nav-cta{white-space:nowrap}.menu-toggle{display:none;background:none;border:0}.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden;min-height:690px;padding:88px 0 0}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,12,17,.98) 0%,rgba(7,12,17,.87) 42%,rgba(7,12,17,.4) 72%,rgba(7,12,17,.62) 100%),url('/assets/images/service-vehicle-road.webp') center/cover no-repeat;filter:saturate(.85)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:135px;background:linear-gradient(transparent,var(--ink))}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .75fr;gap:80px;align-items:center}.eyebrow{color:var(--red);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:7px}.eyebrow.light{color:#ffb1ab}.eyebrow svg{width:15px}.hero h1,.page-hero h1,.detail-hero h1{font-family:'Manrope', Arial, sans-serif;font-size:clamp(48px,6vw,78px);line-height:1.03;letter-spacing:-.045em;margin:17px 0 23px}.hero h1 em{font-style:normal;color:#ff7167}.hero-lede{font-size:20px;line-height:1.55;color:#d4d9dd;max-width:650px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:32px}.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--red)}.text-link.light{color:#fff}.hero-proof{display:flex;align-items:center;gap:14px;margin-top:42px}.hero-proof>div:last-child{display:flex;flex-direction:column}.hero-proof small{color:#aab2ba}.avatar-stack{display:flex}.avatar-stack span{width:34px;height:34px;border:2px solid #101820;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-weight:800;margin-left:-8px}.avatar-stack span:first-child{margin-left:0;background:var(--red);color:#fff}.avatar-stack svg{width:16px}.availability-card{background:#fff;color:var(--ink);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.35)}.card-heading{display:flex;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:21px}.card-heading h2{font-family:'Manrope', Arial, sans-serif;font-size:22px;margin:0 0 3px}.card-heading p{margin:0;color:var(--muted);font-size:14px}.step-badge{background:#ffebe9;color:var(--red);font-weight:800;width:42px;height:42px;display:grid;place-items:center;border-radius:12px}.zip-form{padding-top:22px}.zip-form label,.booking-panel label{display:block;font-weight:700;font-size:13px;margin-bottom:8px}.zip-field{border:1px solid #cfd5d9;border-radius:12px;height:58px;display:flex;align-items:center;padding-left:16px;overflow:hidden;box-shadow:0 0 0 4px transparent}.zip-field:focus-within{border-color:var(--red);box-shadow:0 0 0 4px #fce8e6}.zip-field svg{color:var(--red);width:19px}.zip-field input{border:0;outline:0;min-width:0;flex:1;padding:0 12px;font-size:18px}.zip-field button{align-self:stretch;border:0;background:var(--red);color:#fff;padding:0 20px;font-weight:700}.zip-result{min-height:31px;padding-top:10px;font-size:13px;color:var(--green);font-weight:700}.zip-result.error{color:var(--red)}.card-trust{border-top:1px solid var(--line);padding-top:18px;display:flex;gap:18px;font-size:12px;color:var(--muted)}.card-trust span{display:flex;align-items:center;gap:6px}.card-trust svg{width:16px;color:var(--green)}.trust-strip{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px;border-top:1px solid rgba(255,255,255,.13);height:112px;align-items:center}.trust-strip>div{display:flex;align-items:center;justify-content:center;gap:13px;color:#c4cbd1;border-right:1px solid rgba(255,255,255,.12)}.trust-strip>div:last-child{border:0}.trust-strip b{font:800 26px 'Manrope', Arial, sans-serif;color:#fff}.trust-strip svg{color:var(--gold);width:26px}.section{padding:105px 0}.section-heading.split{display:grid;grid-template-columns:1.1fr .8fr;align-items:end;gap:80px;margin-bottom:43px}.section-heading h2,.process-copy h2,.proof-grid h2,.coverage-grid h2,.closing-cta h2,.content-grid h2{font:800 clamp(34px,4vw,52px)/1.13 'Manrope', Arial, sans-serif;letter-spacing:-.035em;margin:12px 0}.section-heading>p{color:var(--muted);font-size:17px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;min-height:120px;display:flex;align-items:center;gap:14px;position:relative;transition:.2s}.service-card:hover,.catalog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#d2d5d7}.service-card>span:nth-child(2){display:flex;flex-direction:column}.service-card small,.catalog-card small{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.service-card b{font-family:'Manrope', Arial, sans-serif;font-size:15px;line-height:1.3;margin-top:4px}.icon-box{width:45px;height:45px;min-width:45px;border-radius:12px;background:#ffebe9;color:var(--red);display:grid;place-items:center}.icon-box svg{width:21px}.service-card .arrow{position:absolute;right:13px;top:13px;width:15px;color:#aab1b8}.center{text-align:center;margin-top:38px}.process-section{background:var(--ink);color:#fff}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.process-photo{position:relative}.process-photo img{height:560px;width:100%;object-fit:cover;border-radius:24px}.photo-note{position:absolute;right:-25px;bottom:35px;background:#fff;color:var(--ink);border-radius:14px;padding:17px 20px;display:grid;grid-template-columns:34px auto;column-gap:10px;box-shadow:var(--shadow)}.photo-note svg{grid-row:1/3;color:var(--green)}.photo-note small{color:var(--muted)}.process-copy>p{color:#bac2c8}.steps{list-style:none;padding:0;margin:35px 0}.steps li{display:flex;gap:20px;margin:23px 0}.steps li>span{width:38px;height:38px;border-radius:50%;background:#27323d;color:#ff8e87;display:grid;place-items:center;font-weight:800}.steps b{font:700 18px 'Manrope', Arial, sans-serif}.steps p{margin:4px 0 0;color:#aeb7be}.section-heading.centered{text-align:center;max-width:780px;margin:0 auto 46px}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.benefit-grid article{background:#fff;border-radius:16px;padding:28px;border:1px solid var(--line)}.benefit-grid article>svg{color:var(--red);width:30px;height:30px}.benefit-grid h3{font-family:'Manrope', Arial, sans-serif;font-size:18px;margin:20px 0 8px}.benefit-grid p{color:var(--muted);margin:0}.proof-section{background:#fff}.proof-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center}.rating{display:flex;flex-wrap:wrap;align-items:center;gap:11px;margin:25px 0}.rating b{font:800 32px 'Manrope', Arial, sans-serif}.rating span{color:var(--gold);letter-spacing:2px}.rating small{width:100%;color:var(--muted)}blockquote{background:var(--paper);border-radius:22px;padding:40px;margin:0;position:relative}blockquote .quote-mark{color:var(--red);font:800 70px/1 Georgia}blockquote p{font:600 22px/1.55 'Manrope', Arial, sans-serif;margin:0 0 26px}blockquote footer{display:flex;flex-direction:column}blockquote footer span{color:var(--muted)}.coverage-section{background:#202c36;color:#fff}.coverage-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.coverage-grid p{color:#bdc6cd;font-size:17px;margin-bottom:28px}.area-cloud{display:flex;flex-wrap:wrap;gap:10px}.area-cloud a{padding:9px 13px;border:1px solid #53606b;border-radius:30px;color:#e3e7ea;font-size:13px}.area-cloud a:hover{background:#fff;color:var(--ink)}.closing-cta{background:var(--red);color:#fff;padding:66px 0}.closing-grid{display:flex;align-items:center;justify-content:space-between;gap:40px}.closing-cta h2{max-width:700px;margin-bottom:5px}.closing-cta p{margin:0;color:#ffd4d1}.site-footer{background:#080d12;color:#aab3bb;padding:75px 0 25px}.footer-grid{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:60px}.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:9px}.footer-grid h3{color:#fff;font:700 14px 'Manrope', Arial, sans-serif;text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px}.footer-brand img{width:110px;margin-bottom:18px}.footer-brand p{max-width:340px}.footer-phone{font:700 20px 'Manrope', Arial, sans-serif;color:#fff}.site-footer a:hover{color:#fff}.footer-bottom{border-top:1px solid #25303a;margin-top:55px;padding-top:22px;display:flex;justify-content:space-between;font-size:12px}.footer-bottom div{display:flex;gap:20px}.mobile-action-bar{display:none}.page-hero,.detail-hero{background:var(--ink);color:#fff;padding:100px 0}.page-hero{text-align:center}.page-hero p{color:#bbc4ca;font-size:19px;max-width:720px;margin:0 auto}.page-hero h1{font-size:clamp(45px,6vw,70px)}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.catalog-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;transition:.2s}.catalog-card h2{font:700 21px 'Manrope', Arial, sans-serif;margin:12px 0 8px}.catalog-card p{color:var(--muted);min-height:78px}.catalog-card .text-link{font-size:13px}.detail-hero{overflow:hidden}.detail-grid{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:60px}.detail-grid h1{font-size:clamp(45px,5vw,68px)}.detail-grid>div:first-child>p{font-size:19px;color:#c0c8cf;max-width:690px}.detail-icon{height:330px;border-radius:50%;background:#18242e;display:grid;place-items:center;box-shadow:0 0 0 35px rgba(255,255,255,.025)}.detail-icon svg{width:130px;height:130px;color:#f2645a;stroke-width:1.2}.detail-hero .back-link{color:#abb5bd;margin-bottom:32px;display:flex}.content-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:90px;align-items:start}.content-grid article>p,.prose p{color:var(--muted);font-size:17px}.content-grid h3{font:700 22px 'Manrope', Arial, sans-serif;margin-top:34px}.check-list{list-style:none;padding:0}.check-list li{display:flex;gap:10px;margin:13px 0}.check-list svg{color:var(--green);min-width:20px}.estimate-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.estimate-card h3{font:700 24px 'Manrope', Arial, sans-serif;margin:19px 0 8px}.estimate-card p{color:var(--muted)}.estimate-card .button{width:100%;margin-top:10px}.inline-links{display:flex;flex-wrap:wrap;gap:10px}.inline-links a{border:1px solid var(--line);background:#fff;padding:8px 13px;border-radius:20px;font-size:13px}.area-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.area-list a{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px}.area-list a>svg:first-child{color:var(--red)}.area-list a>svg:last-child{margin-left:auto;width:16px;color:#aab1b8}.area-list span{display:flex;flex-direction:column;font-weight:700}.area-list small{font-weight:400;color:var(--muted)}.booking-hero{padding:75px 0 95px}.booking-section{padding:0 0 110px;margin-top:-40px;position:relative}.booking-layout{display:grid;grid-template-columns:1.3fr .55fr;gap:26px;align-items:start}.booking-panel{background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:34px}.progress-wrap{margin-bottom:38px}.progress-meta{display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;color:var(--muted)}.progress-track{height:5px;border-radius:10px;background:#edf0f2;margin-top:11px;overflow:hidden}.progress-track span{display:block;width:20%;height:100%;background:var(--red);border-radius:10px;transition:.3s}.booking-panel fieldset{border:0;padding:0;margin:0}.booking-panel legend{font:800 30px 'Manrope', Arial, sans-serif;letter-spacing:-.025em}.field-intro{color:var(--muted);margin-top:5px}.field-row{display:grid;gap:16px;margin:28px 0}.field-row.two{grid-template-columns:repeat(2,1fr)}.field-row.three{grid-template-columns:repeat(3,1fr)}.booking-panel label{color:#39434c}.booking-panel input,.booking-panel select,.booking-panel textarea,.update-panel input,.update-panel select,.update-panel textarea{width:100%;border:1px solid #d5dadd;border-radius:10px;padding:13px 14px;margin-top:7px;outline:0;background:#fff;color:var(--ink)}.booking-panel input:focus,.booking-panel select:focus,.booking-panel textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px #fce8e6}.form-message{min-height:26px;font-size:13px;color:var(--red);margin-bottom:8px}.step-actions{display:flex;align-items:center;justify-content:space-between;margin-top:26px}.back-link{border:0;background:none;display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:700}.back-link svg{width:17px}.service-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-height:360px;overflow:auto;padding:2px;margin:25px 0}.service-choice{border:1px solid var(--line);border-radius:12px;padding:13px!important;display:flex!important;align-items:center;gap:12px;position:relative;margin:0!important;cursor:pointer}.service-choice input{position:absolute;opacity:0}.service-choice .choice-icon{width:36px;height:36px;display:grid;place-items:center;background:#f3f4f4;border-radius:9px}.service-choice .choice-icon svg{width:18px}.service-choice>span:nth-child(3){display:flex;flex-direction:column}.service-choice small{font-weight:400;color:var(--muted)}.service-choice .check{margin-left:auto;width:18px;color:transparent}.service-choice:has(input:checked){border-color:var(--red);background:#fff5f4}.service-choice:has(input:checked) .check{color:var(--red)}.block-label{margin-top:20px}.consent{display:flex!important;align-items:flex-start;gap:10px;margin-top:20px}.consent input{width:auto!important;margin-top:4px!important}.booking-aside{display:flex;flex-direction:column;gap:16px}.aside-card,.aside-help{background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px}.aside-card h3{font:700 20px 'Manrope', Arial, sans-serif;margin:0 0 22px}.aside-card ol{list-style:none;padding:0;margin:0}.aside-card li{display:flex;gap:13px;margin:19px 0}.aside-card li>span{width:28px;height:28px;border-radius:50%;background:#ffebe9;color:var(--red);display:grid;place-items:center;font-size:12px;font-weight:800}.aside-card p{display:flex;flex-direction:column;margin:0}.aside-card small{color:var(--muted)}.aside-help{background:var(--ink);color:#fff;display:flex;gap:13px;align-items:center}.aside-help>svg{color:#ff776e}.aside-help div{display:flex;flex-direction:column}.aside-help small{color:#aeb7be}.aside-help a{font-weight:700}.booking-success{text-align:center;padding:55px 30px}.success-icon{width:70px;height:70px;background:#e5f5ed;color:var(--green);border-radius:50%;display:grid;place-items:center;margin:0 auto 22px}.booking-success h2{font:800 38px 'Manrope', Arial, sans-serif;margin:10px}.booking-success p{color:var(--muted);max-width:520px;margin:0 auto 25px}.booking-success>div{display:flex;justify-content:center;gap:12px}.hp{position:absolute!important;left:-9999px!important}.prose a{color:var(--red);font-weight:700}
@media(max-width:980px){.main-nav{display:none;position:absolute;left:20px;right:20px;top:76px;background:#fff;border-radius:14px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.menu-toggle{display:block;margin-left:auto}.nav-cta{display:none}.hero-grid{grid-template-columns:1fr;gap:45px}.hero{padding-top:70px}.availability-card{max-width:560px}.trust-strip{margin-top:55px}.service-grid,.benefit-grid{grid-template-columns:repeat(2,1fr)}.process-grid,.proof-grid,.coverage-grid,.booking-layout,.content-grid{grid-template-columns:1fr}.process-photo img{height:440px}.catalog-grid,.area-list{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.detail-icon{display:none}.booking-aside{display:grid;grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-grid>div:last-child{display:none}}
@media(max-width:650px){:root{--shell:min(100% - 28px,1180px)}body{padding-bottom:64px}.utility-inner>span{display:none}.utility-inner{justify-content:center}.nav-wrap{height:72px}.brand img{width:58px;height:48px}.brand{min-width:0}.hero{min-height:0}.hero h1{font-size:48px}.hero-lede{font-size:17px}.hero-grid{gap:34px}.availability-card{padding:22px}.trust-strip{grid-template-columns:1fr 1fr;height:auto;padding:25px 0;gap:23px}.trust-strip>div{border:0;justify-content:flex-start}.section{padding:75px 0}.section-heading.split{grid-template-columns:1fr;gap:15px}.service-grid,.benefit-grid,.catalog-grid,.area-list{grid-template-columns:1fr}.process-grid{gap:45px}.process-photo img{height:360px}.photo-note{right:10px;left:10px}.proof-grid{gap:35px}.coverage-grid{gap:40px}.closing-grid{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:12px}.mobile-action-bar{display:grid;grid-template-columns:.8fr 1.2fr;position:fixed;bottom:0;left:0;right:0;height:64px;background:#fff;z-index:200;border-top:1px solid var(--line)}.mobile-action-bar a{display:flex;align-items:center;justify-content:center;gap:7px;font-weight:700}.mobile-action-bar a:last-child{background:var(--red);color:#fff}.page-hero,.detail-hero{padding:70px 0}.page-hero h1,.detail-hero h1{font-size:42px}.booking-layout{width:100%}.booking-panel{border-radius:0;padding:25px 18px}.booking-section{margin-top:-25px}.field-row.two,.field-row.three,.service-choice-grid{grid-template-columns:1fr}.booking-aside{display:none}.booking-panel legend{font-size:25px}.step-actions{gap:15px}.step-actions .button{margin-left:auto}.closing-cta h2{font-size:34px}}

/* Rich navigation modeled on a full-service repair marketplace, adapted to a local operator. */
.nav-dropdown{position:relative}.nav-trigger{display:flex;align-items:center;gap:2px}.nav-trigger button{border:0;background:none;padding:4px 0 3px 3px;display:grid;place-items:center}.nav-trigger button svg{width:14px;transition:.2s}.nav-dropdown:hover .nav-trigger button svg,.nav-dropdown.open .nav-trigger button svg{transform:rotate(180deg)}.dropdown-menu,.mega-menu{position:absolute;top:calc(100% + 29px);background:#fff;border:1px solid var(--line);border-radius:0 0 16px 16px;box-shadow:0 24px 50px rgba(7,14,21,.15);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;z-index:120}.nav-dropdown:hover>.dropdown-menu,.nav-dropdown:hover>.mega-menu,.nav-dropdown.open>.dropdown-menu,.nav-dropdown.open>.mega-menu{opacity:1;visibility:visible;transform:none}.mega-menu{width:min(1110px,calc(100vw - 50px));left:50%;transform:translate(-42%,8px);padding:28px;display:grid;grid-template-columns:1.15fr repeat(5,1fr);gap:26px}.nav-dropdown:hover>.mega-menu,.nav-dropdown.open>.mega-menu{transform:translate(-42%,0)}.mega-menu a:after,.dropdown-menu a:after{display:none!important}.mega-menu h3,.dropdown-menu h3{font:700 13px 'Manrope', Arial, sans-serif;margin:0 0 13px;color:var(--ink)}.mega-column{display:flex;flex-direction:column;gap:8px}.mega-column a{font-size:11px!important;color:#56616b;display:flex;align-items:center;gap:7px}.mega-column a:hover{color:var(--red)}.mega-column a svg{width:14px}.mega-intro{padding-right:22px;border-right:1px solid var(--line)}.mega-intro h3{font-size:18px;margin:13px 0 7px}.mega-intro p{font-size:12px;color:var(--muted);line-height:1.5}.mega-intro>a{font-size:12px!important;color:var(--red);font-weight:700;display:flex;align-items:center;gap:5px}.mega-intro>a svg{width:14px}.dropdown-menu{width:390px;padding:22px;left:-35px}.area-menu{display:grid;grid-template-columns:1fr 1fr;gap:22px}.area-menu>div:first-child{padding-right:18px;border-right:1px solid var(--line)}.area-menu p{font-size:11px;color:var(--muted);line-height:1.5}.menu-kicker{font-size:9px;color:var(--red);text-transform:uppercase;letter-spacing:.1em;font-weight:800}.menu-links{display:flex;flex-direction:column;gap:7px}.menu-links a{font-size:12px!important;color:#4e5a64}.menu-links .menu-all{color:var(--red);font-weight:700;margin-top:5px;display:flex;align-items:center;gap:5px}.menu-all svg{width:14px}.compact-menu{width:305px;right:-40px;left:auto;padding:10px}.compact-menu>a{display:flex;gap:11px;align-items:center;padding:11px;border-radius:9px}.compact-menu>a:hover{background:#f6f6f4}.compact-menu>a>svg{width:18px;color:var(--red)}.compact-menu>a>span{display:flex;flex-direction:column}.compact-menu b{font-size:12px}.compact-menu small{font-size:10px;color:var(--muted)}
@media(max-width:1100px) and (min-width:981px){.main-nav{gap:16px}.main-nav>a,.nav-trigger>a{font-size:13px}.brand{min-width:185px}.brand span{display:none}.mega-menu{transform:translate(-34%,8px)}.nav-dropdown:hover>.mega-menu,.nav-dropdown.open>.mega-menu{transform:translate(-34%,0)}}
@media(max-width:980px){.main-nav{align-items:stretch;max-height:calc(100vh - 100px);overflow:auto}.main-nav>a{padding:7px 0}.nav-trigger{justify-content:space-between}.nav-trigger button{padding:8px}.dropdown-menu,.mega-menu{position:static;width:100%;transform:none!important;box-shadow:none;border:0;border-radius:9px;background:#f6f7f7;display:none;opacity:1;visibility:visible;margin-top:8px}.nav-dropdown:hover>.dropdown-menu,.nav-dropdown:hover>.mega-menu{display:none}.nav-dropdown.open>.dropdown-menu,.nav-dropdown.open>.mega-menu{display:grid}.mega-menu{grid-template-columns:1fr 1fr;padding:17px}.mega-intro{grid-column:1/-1}.area-menu{grid-template-columns:1fr 1fr}.compact-menu{display:none}.nav-dropdown.open>.compact-menu{display:block}}
@media(max-width:650px){.mega-menu,.area-menu{grid-template-columns:1fr}.mega-intro,.area-menu>div:first-child{border-right:0;border-bottom:1px solid var(--line);padding:0 0 13px}.utility-inner div a:last-child{display:none}}

/* Dedicated destination pages */
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.gallery-grid figure{margin:0;background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--line)}.gallery-grid figure:first-child{grid-row:span 2}.gallery-grid figure:first-child img{height:650px}.gallery-grid figure img{width:100%;height:245px;object-fit:cover}.gallery-grid figcaption{padding:22px}.gallery-grid figcaption span,.article-grid>a>span{color:var(--red);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:800}.gallery-grid h2,.article-grid h2{font:700 20px 'Manrope', Arial, sans-serif;margin:6px 0}.gallery-grid p,.article-grid p{color:var(--muted);margin:0}.gallery-cta{background:var(--red);color:#fff;border-radius:18px;padding:34px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.gallery-cta>svg{width:34px}.gallery-cta h2{font:800 29px 'Manrope', Arial, sans-serif;margin:20px 0 5px}.gallery-cta p{color:#ffd3d0}.gallery-cta span{display:flex;align-items:center;gap:7px;font-weight:700;margin-top:14px}.gallery-cta span svg{width:16px}.hero-rating{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:25px}.hero-rating b{font:800 32px 'Manrope', Arial, sans-serif}.hero-rating span{color:var(--gold);letter-spacing:2px}.hero-rating small{color:#b8c1c7}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.review-card{background:#fff;border:1px solid var(--line);padding:31px}.review-card .stars{color:var(--gold);letter-spacing:3px;font-size:14px}.review-card p{font-size:18px;margin-top:18px;min-height:115px}.review-card footer{display:flex;flex-direction:row;align-items:center;gap:11px;border-top:1px solid var(--line);padding-top:19px}.review-card footer>span:nth-child(2){display:flex;flex-direction:column}.review-card footer>svg{margin-left:auto;color:var(--green);width:18px}.review-avatar{width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800}.review-cta{margin-top:50px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:31px;display:flex;align-items:center;justify-content:space-between}.review-cta h2{font:800 29px 'Manrope', Arial, sans-serif;margin:7px 0}.about-hero{background:var(--ink);color:#fff;padding:90px 0}.about-grid{display:grid;grid-template-columns:1fr .8fr;gap:85px;align-items:center}.about-grid h1{font:800 clamp(48px,6vw,74px)/1.06 'Manrope', Arial, sans-serif;letter-spacing:-.045em;margin:18px 0}.about-grid>div:first-child>p{font-size:19px;color:#bac3ca;max-width:620px}.about-photo{position:relative}.about-photo img{height:540px;width:100%;object-fit:cover;border-radius:22px}.about-photo>span{position:absolute;bottom:22px;left:-40px;background:#fff;color:var(--ink);border-radius:14px;padding:16px 20px;display:flex;align-items:center;gap:9px;box-shadow:var(--shadow)}.about-photo>span b{font:800 31px 'Manrope', Arial, sans-serif;color:var(--red)}.story-grid{display:grid;grid-template-columns:.7fr 1fr;gap:100px}.story-grid h2,.faq-layout h2{font:800 clamp(35px,4vw,51px)/1.12 'Manrope', Arial, sans-serif;letter-spacing:-.035em;margin:11px 0}.story-grid p{font-size:18px;color:var(--muted);margin-top:0}.value-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:60px}.value-row article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:27px}.value-row article>b{font:800 13px 'Manrope', Arial, sans-serif;color:var(--red)}.value-row h3{font:700 20px 'Manrope', Arial, sans-serif;margin:18px 0 7px}.value-row p{color:var(--muted);margin:0}.faq-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:90px;align-items:start}.faq-layout>div:first-child>p{color:var(--muted);margin-bottom:25px}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden}.faq-list summary{list-style:none;padding:19px 21px;font:700 16px 'Manrope', Arial, sans-serif;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary svg{width:18px;color:var(--red);transition:.2s}.faq-list details[open] summary svg{transform:rotate(45deg)}.faq-list details p{padding:0 21px 20px;margin:0;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contact-grid>a{background:#fff;border:1px solid var(--line);border-radius:17px;padding:29px;display:flex;flex-direction:column;transition:.2s}.contact-grid>a:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.contact-grid>a>svg{width:29px;color:var(--red)}.contact-grid small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;margin-top:22px}.contact-grid b{font:700 20px 'Manrope', Arial, sans-serif;margin:4px 0}.contact-grid span{font-size:13px;color:var(--muted)}.contact-note{margin-top:30px;background:#e8ebec;border-radius:15px;padding:24px;display:flex;align-items:flex-start;gap:15px}.contact-note>svg{color:var(--red)}.contact-note p{color:var(--muted);margin:4px 0 0}.promo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.promo-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:31px;position:relative;overflow:hidden}.promo-grid article>span{font:800 38px 'Manrope', Arial, sans-serif;color:var(--red)}.promo-grid h2{font:700 22px 'Manrope', Arial, sans-serif;margin:9px 0}.promo-grid p{color:var(--muted)}.promo-grid a{display:inline-flex;gap:7px;align-items:center;font-weight:700;color:var(--red)}.promo-grid a svg{width:16px}.terms-note{margin-top:22px;color:var(--muted);font-size:12px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.article-grid>a{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;padding-bottom:24px}.article-grid img{width:100%;height:210px;object-fit:cover;margin-bottom:21px}.article-grid>a>span,.article-grid h2,.article-grid p,.article-grid b{margin-left:22px;margin-right:22px}.article-grid p{min-height:55px}.article-grid b{display:flex;align-items:center;gap:7px;color:var(--red);font-size:13px}.article-grid b svg{width:15px}.app-points{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.app-points article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px}.app-points svg{color:var(--red)}.app-points h2{font:700 19px 'Manrope', Arial, sans-serif}.app-points p{color:var(--muted)}
@media(max-width:900px){.about-grid,.story-grid,.faq-layout{grid-template-columns:1fr}.about-grid{gap:50px}.about-photo{max-width:600px}.story-grid,.faq-layout{gap:35px}.contact-grid,.article-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.gallery-grid,.review-grid,.value-row,.contact-grid,.promo-grid,.article-grid,.app-points{grid-template-columns:1fr}.gallery-grid figure:first-child{grid-row:auto}.gallery-grid figure:first-child img,.gallery-grid figure img{height:260px}.review-cta{align-items:flex-start;flex-direction:column;gap:20px}.about-photo img{height:400px}.about-photo>span{left:12px}.hero-rating{flex-wrap:wrap}.hero-rating small{width:100%}}
.symptom-section{background:#eef0f0}.symptom-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:center}.symptom-layout h2{font:800 clamp(32px,4vw,50px)/1.08 'Manrope', Arial, sans-serif;letter-spacing:-.035em;margin:14px 0 18px}.symptom-layout>div:first-child>p{color:#68737c;line-height:1.7;margin:0 0 20px}.symptom-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.symptom-grid>a{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #dfe3e5;border-radius:14px;padding:18px;color:#111820;transition:.2s ease}.symptom-grid>a:hover{border-color:#df3328;transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,24,32,.08)}.symptom-grid>a>svg{width:25px;height:25px;min-width:25px;color:#df3328}.symptom-grid>a>span{display:flex;flex-direction:column;gap:3px}.symptom-grid b{font:700 14px 'Manrope', Arial, sans-serif}.symptom-grid small{font-size:11px;line-height:1.4;color:#707b84}.home-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.home-review-grid blockquote{margin:0;background:#fff;border:1px solid #e1e4e6;border-radius:16px;padding:25px;display:flex;flex-direction:column}.home-review-grid .stars{color:#edb42c;letter-spacing:2px}.home-review-grid blockquote>p{font-size:14px;line-height:1.65;color:#424d56;flex:1}.home-review-grid footer{display:flex;align-items:center;gap:10px}.home-review-grid footer>span:last-child{display:flex;flex-direction:column}.home-review-grid footer b{font-size:12px}.home-review-grid footer small{font-size:10px;color:#78828a}.home-faq{background:#fff}.article-hero{background:#111820;color:#fff;padding:76px 0}.article-hero-grid{display:grid;grid-template-columns:1fr .8fr;gap:64px;align-items:center}.article-hero h1{font:800 clamp(42px,5vw,68px)/1.06 'Manrope', Arial, sans-serif;letter-spacing:-.04em;margin:15px 0 20px}.article-hero p{color:#bec6cc;font-size:18px;line-height:1.7}.article-hero img{width:100%;height:360px;object-fit:cover;border-radius:20px}.article-reading-layout{display:grid;grid-template-columns:1fr 330px;gap:70px;align-items:start;max-width:1060px}.article-body p{font-size:17px;line-height:1.85;color:#3f4b54;margin:0 0 25px}.article-body p:first-child:first-letter{float:left;font:800 62px/.8 'Manrope', Arial, sans-serif;color:#df3328;margin:8px 9px 0 0}.article-aside{position:sticky;top:120px;background:#eef0f0;border-radius:16px;padding:27px}.article-aside>svg{color:#df3328;width:32px;height:32px}.article-aside h2{font:700 21px 'Manrope', Arial, sans-serif;margin:16px 0 9px}.article-aside p{font-size:13px;line-height:1.6;color:#68737c}.article-aside .button,.article-aside .text-link{margin-top:10px}.article-aside .text-link{display:flex}
@media(max-width:900px){.symptom-layout,.article-hero-grid,.article-reading-layout{grid-template-columns:1fr;gap:35px}.home-review-grid{grid-template-columns:1fr}.article-aside{position:static}.article-hero img{height:300px}}
@media(max-width:620px){.symptom-grid{grid-template-columns:1fr}.symptom-grid>a{padding:15px}.article-hero{padding:58px 0}.article-hero img{height:240px}}
.credit-list{max-height:620px;overflow:auto;border-top:1px solid #e1e5e7;margin-top:25px}.credit-list p{font-size:12px!important;margin:0!important;padding:11px 0;border-bottom:1px solid #e8ebed}
.model-combobox{position:relative;margin-top:7px}.model-combobox>input{margin-top:0}.model-suggestion-menu{position:absolute;z-index:80;top:calc(100% + 6px);left:0;right:0;max-height:260px;overflow:auto;background:#fff;border:1px solid #d5dadd;border-radius:10px;padding:5px;box-shadow:0 18px 45px rgba(8,17,27,.2)}.model-suggestion-menu button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px 11px;border-radius:7px;color:#27323a;font-size:13px}.model-suggestion-menu button:hover,.model-suggestion-menu button:focus{background:#fff0ef;color:#c72b20;outline:0}.model-combobox+small{display:block;margin-top:5px;color:#6d7780;font-weight:500;font-size:10px}

/* Managed promotions: consistent imagery and a restrained offer-detail layout. */
.managed-promos{align-items:stretch}.managed-promos article{padding:0;display:flex;flex-direction:column;min-width:0}.managed-promos article>img{display:block;width:100%;height:245px;object-fit:cover;background:#e8ebec}.managed-promos article>div{display:flex;flex:1;flex-direction:column;padding:27px 29px}.managed-promos article>div>span{font:800 34px/1 'Manrope', Arial, sans-serif;color:var(--red)}.managed-promos article h2{font-size:23px;margin:11px 0 9px}.managed-promos article p{line-height:1.65;margin:0 0 17px}.managed-promos article small{display:flex;align-items:center;gap:7px;color:#6b7680;margin:0 0 18px}.managed-promos article small svg{width:16px}.managed-promos article a{margin-top:auto}.empty-public{grid-column:1/-1;text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:55px}.empty-public>svg{width:38px;color:var(--red)}
.home-promotions{background:#fff}.home-promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.home-promo-grid>a{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#f8f9f9;transition:.2s}.home-promo-grid>a:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.home-promo-grid img{display:block;width:100%;height:185px;object-fit:cover}.home-promo-grid>a>div{display:flex;flex:1;flex-direction:column;padding:22px}.home-promo-grid span{font:800 27px 'Manrope', Arial, sans-serif;color:var(--red)}.home-promo-grid h3{font:700 18px 'Manrope', Arial, sans-serif;margin:7px 0}.home-promo-grid p{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 17px}.home-promo-grid b{display:flex;align-items:center;gap:6px;margin-top:auto;color:var(--red);font-size:13px}.home-promo-grid b svg{width:15px}
.promotion-detail-hero{background:var(--ink);color:#fff;padding:72px 0}.promotion-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,470px);gap:70px;align-items:center}.promotion-detail-grid>div{display:flex;flex-direction:column;align-items:flex-start}.promotion-detail-grid .back-link{color:#b8c1c8;margin-bottom:30px}.offer-pill{display:inline-flex;background:var(--red);color:#fff;border-radius:999px;padding:10px 15px;font:800 16px 'Manrope', Arial, sans-serif}.promotion-detail-grid h1{font:800 clamp(42px,5.5vw,68px)/1.04 'Manrope', Arial, sans-serif;letter-spacing:-.045em;margin:17px 0}.promotion-detail-grid>div>p{max-width:670px;color:#c0c7cc;font-size:18px;line-height:1.7;margin:0}.promotion-detail-grid>img{display:block;width:100%;height:355px;object-fit:cover;border-radius:20px;border:1px solid rgba(255,255,255,.15)}.promotion-copy-grid{max-width:1050px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:70px;align-items:start}.promotion-copy-grid article h2{font:800 clamp(32px,4vw,46px)/1.12 'Manrope', Arial, sans-serif;letter-spacing:-.03em;margin:12px 0 20px}.promotion-copy-grid article>p{font-size:17px;line-height:1.8;color:#46515a}.promotion-copy-grid aside{background:#fff;border:1px solid var(--line);border-radius:18px;padding:29px}.promotion-copy-grid aside>svg{width:34px;color:var(--green)}.promotion-copy-grid aside h2{font:700 22px 'Manrope', Arial, sans-serif;margin:17px 0 9px}.promotion-copy-grid aside p{color:#52606a;line-height:1.7}.promotion-copy-grid aside small{display:block;border-top:1px solid var(--line);padding-top:17px;color:#75808a}.promotion-deadline{display:flex;align-items:center;gap:13px;margin-top:26px;padding:18px 20px;border-radius:13px;background:#fff0ef;color:var(--red)}.promotion-deadline>svg{width:25px}.promotion-deadline span{display:flex;flex-direction:column}.promotion-deadline small{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.promotion-deadline b{font:700 17px 'Manrope', Arial, sans-serif;color:var(--ink)}
@media(max-width:900px){.promotion-detail-grid,.promotion-copy-grid{grid-template-columns:1fr;gap:38px}.promotion-detail-grid>img{max-width:620px}.home-promo-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.managed-promos article>img{height:210px}.managed-promos article>div{padding:23px}.home-promo-grid{grid-template-columns:1fr}.home-promo-grid img{height:210px}.promotion-detail-hero{padding:52px 0}.promotion-detail-grid>img{height:245px}.promotion-detail-grid h1{font-size:42px}.promotion-copy-grid{gap:28px}}

/* Compact share card used across public pages. */
.social-share{padding:42px 0;background:#f2f3f3}.share-inner{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(480px,1.2fr);gap:45px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 32px;box-shadow:0 12px 30px rgba(15,25,35,.05)}.share-inner h2{font:800 25px/1.15 'Manrope', Arial, sans-serif;letter-spacing:-.02em;margin:7px 0}.share-inner p{font-size:13px;line-height:1.55;color:var(--muted);margin:0}.share-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.share-buttons a,.share-buttons button{min-height:42px;border:1px solid #dce1e4;border-radius:999px;background:#f7f8f8;color:var(--ink);padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font:700 12px 'DM Sans';cursor:pointer;transition:.18s}.share-buttons a:hover,.share-buttons button:hover{border-color:var(--red);background:#fff1f0;color:var(--red);transform:translateY(-1px)}.share-buttons svg{width:17px;height:17px}.share-buttons button{font-family:'DM Sans'}
@media(max-width:900px){.share-inner{grid-template-columns:1fr;gap:20px}.share-buttons{justify-content:flex-start}}
@media(max-width:650px){.social-share{padding:28px 0}.share-inner{padding:23px 20px}.share-buttons a,.share-buttons button{padding:9px 12px}.share-buttons span{font-size:11px}}
.managed-promos .promo-card-image{display:block;overflow:hidden;margin-top:0!important}.managed-promos .promo-card-image img{display:block;width:100%;height:245px;object-fit:cover;background:#e8ebec;transition:transform .3s ease}.managed-promos article:hover .promo-card-image img{transform:scale(1.025)}.managed-promos .promo-card-copy{display:block;margin-top:0!important}.managed-promos .promo-card-copy>span{font:800 34px/1 'Manrope', Arial, sans-serif;color:var(--red)}.managed-promos .promo-card-copy:hover h2{color:var(--red)}.managed-promos .promo-card-copy h2{transition:color .18s}@media(max-width:650px){.managed-promos .promo-card-image img{height:210px}}

/* Android app promotion and dedicated product page. */
.app-menu-link{background:#fff1f0!important;border-color:#f3c9c6!important}.app-menu-link>svg{color:var(--red)!important}.app-promo{background:#111a23;color:#fff;overflow:hidden;padding:82px 0}.app-promo-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:90px;align-items:center}.app-promo h2{font:800 clamp(38px,4vw,55px)/1.08 'Manrope', Arial, sans-serif;letter-spacing:-.04em;margin:14px 0 17px;max-width:720px}.app-promo p{font-size:18px;color:#bdc6cd;max-width:680px}.app-promo-points{display:flex;flex-wrap:wrap;gap:10px 22px;margin:25px 0}.app-promo-points span{display:flex;align-items:center;gap:7px;color:#e2e7ea;font-size:13px}.app-promo-points svg{width:17px;color:#72d3aa}.app-store-actions{display:flex;align-items:center;gap:22px;margin-top:28px;flex-wrap:wrap}.play-store-button{display:inline-flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:#050708;color:#fff;padding:10px 19px;min-width:184px;box-shadow:0 10px 24px rgba(0,0,0,.2);transition:.18s}.play-store-button:hover{transform:translateY(-2px);border-color:#fff}.play-store-button>svg{width:29px;height:29px;fill:#fff}.play-store-button>span{display:flex;flex-direction:column;line-height:1.08}.play-store-button small{font-size:9px;text-transform:uppercase;letter-spacing:.08em}.play-store-button b{font:700 20px 'Manrope', Arial, sans-serif}.play-store-button.dark{margin-top:22px}.app-promo-phone{width:285px;justify-self:center;border:8px solid #2d3943;border-radius:38px;background:#f7f8f8;color:var(--ink);padding:31px 22px 25px;box-shadow:0 30px 70px rgba(0,0,0,.42);display:flex;flex-direction:column;align-items:center;position:relative;transform:rotate(2deg)}.app-promo-phone:before{content:"";position:absolute;top:10px;width:70px;height:6px;background:#29333c;border-radius:8px}.app-promo-phone>span{width:44px;height:44px;background:#e9edef;border-radius:50%;display:grid;place-items:center;color:var(--red);margin-top:6px}.app-promo-phone>span svg{width:22px}.app-promo-phone img{width:95px;height:72px;object-fit:contain;margin:12px auto 1px}.app-promo-phone>b{font:800 21px 'Manrope', Arial, sans-serif}.app-promo-phone>small{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:9px;margin-bottom:21px}.app-promo-phone>div{width:100%;display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;border-radius:10px;margin-top:8px;padding:11px 12px;font-size:12px;font-weight:700}.app-promo-phone>div svg{width:17px;color:var(--red)}
.app-page-hero{background:radial-gradient(circle at 78% 40%,#263846 0,#111a23 34%,#080d12 70%);color:#fff;padding:82px 0 90px;overflow:hidden}.app-page-grid{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:100px;align-items:center}.app-page-copy h1{font:800 clamp(52px,6vw,78px)/1.02 'Manrope', Arial, sans-serif;letter-spacing:-.05em;margin:17px 0 25px}.app-page-copy>p{color:#c3cbd1;font-size:19px;line-height:1.65;max-width:700px}.app-privacy-proof{display:flex;flex-wrap:wrap;gap:10px 20px;border-top:1px solid rgba(255,255,255,.13);padding-top:24px;margin-top:35px}.app-privacy-proof span{display:flex;align-items:center;gap:7px;font-size:13px;color:#dde3e7}.app-privacy-proof svg{width:17px;color:#72d3aa}.app-phone{width:355px;justify-self:center;border:10px solid #313d47;border-radius:48px;background:#040608;padding:15px 10px 11px;box-shadow:0 40px 90px rgba(0,0,0,.5);position:relative;transform:rotate(1.5deg)}.phone-speaker{width:78px;height:7px;background:#2c363e;border-radius:20px;margin:1px auto 13px}.phone-screen{background:#f6f7f7;color:var(--ink);border-radius:32px;padding:24px 18px 17px;min-height:600px;display:flex;flex-direction:column}.phone-brand{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding-bottom:17px}.phone-brand img{width:57px;height:43px;object-fit:contain}.phone-brand span{display:flex;flex-direction:column;line-height:1.15}.phone-brand b{font:800 15px 'Manrope', Arial, sans-serif}.phone-brand small{text-transform:uppercase;letter-spacing:.09em;font-size:8px;color:var(--muted)}.phone-greeting{display:flex;flex-direction:column;padding:26px 3px 17px}.phone-greeting small{font-size:8px;letter-spacing:.12em;color:var(--red);font-weight:800}.phone-greeting strong{font:800 24px 'Manrope', Arial, sans-serif;margin-top:4px}.phone-action{display:grid;grid-template-columns:39px 1fr 16px;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px;margin:6px 0}.phone-action>svg:first-child{width:19px;color:var(--red)}.phone-action>svg:last-child{width:14px;color:#9aa3aa}.phone-action span{display:flex;flex-direction:column}.phone-action b{font-size:12px}.phone-action small{font-size:9px;color:var(--muted)}.phone-action.primary{background:var(--red);color:#fff;border-color:var(--red)}.phone-action.primary>svg,.phone-action.primary small{color:#fff}.phone-dock{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}.phone-dock span{display:flex;align-items:center;justify-content:center;gap:6px;background:#101820;color:#fff;border-radius:10px;padding:12px;font-size:11px;font-weight:700}.phone-dock svg{width:15px}.app-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.app-feature-grid article{background:#fff;border:1px solid var(--line);border-radius:17px;padding:28px}.app-feature-grid article>svg{width:30px;height:30px;color:var(--red)}.app-feature-grid h3{font:700 18px 'Manrope', Arial, sans-serif;margin:19px 0 8px}.app-feature-grid p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}.app-steps-section{background:#fff}.app-steps-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.app-steps-grid h2{font:800 clamp(36px,4vw,52px)/1.1 'Manrope', Arial, sans-serif;letter-spacing:-.035em;margin:13px 0}.app-steps-grid>div>p{color:var(--muted);font-size:17px;line-height:1.75}.app-steps-grid ol{list-style:none;padding:0;margin:0}.app-steps-grid li{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.app-steps-grid li>span{width:42px;height:42px;min-width:42px;border-radius:50%;display:grid;place-items:center;background:#ffebe9;color:var(--red);font-weight:800}.app-steps-grid li div{display:flex;flex-direction:column}.app-steps-grid li b{font:700 18px 'Manrope', Arial, sans-serif}.app-steps-grid li p{margin:4px 0 0;color:var(--muted)}
@media(max-width:980px){.app-promo-grid,.app-page-grid{grid-template-columns:1fr}.app-promo-phone,.app-phone{display:none}.app-feature-grid{grid-template-columns:1fr 1fr}.app-steps-grid{grid-template-columns:1fr;gap:50px}}
@media(max-width:620px){.app-promo,.app-page-hero{padding:60px 0}.app-feature-grid{grid-template-columns:1fr}.app-store-actions{align-items:flex-start;flex-direction:column}.app-promo-points{flex-direction:column}.app-page-copy h1{font-size:46px}}

/* Popular services and vehicle-make directories. */
.mega-intro-links{display:grid;gap:7px;margin-top:14px}.mega-intro-links>a{width:fit-content}.popular-services-section{background:#eef1f3}.popular-services-heading{margin-bottom:36px}.popular-services-heading p,.vehicle-directory .section-heading p{color:var(--muted);max-width:720px;margin:12px auto 0}.popular-service-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.popular-service-grid>a{position:relative;min-width:0;min-height:190px;padding:23px 18px 18px;border:1px solid #dce2e5;border-radius:18px;background:#fff;display:flex;align-items:center;text-align:center;flex-direction:column;transition:transform .2s,border-color .2s,box-shadow .2s}.popular-service-grid>a:hover{transform:translateY(-4px);border-color:#e4aaa6;box-shadow:0 14px 34px rgba(8,17,27,.09)}.popular-service-icon{width:76px;height:76px;border-radius:22px;background:linear-gradient(145deg,#fff4f3,#f5f7f8);color:var(--red);display:grid;place-items:center;margin-bottom:16px;border:1px solid #edf0f1}.popular-service-icon svg{width:34px;height:34px;stroke-width:1.65}.popular-service-grid b{font:700 15px/1.3 'Manrope', Arial, sans-serif;max-width:170px}.popular-service-grid small{font-size:10px;color:var(--muted);margin-top:5px;text-transform:uppercase;letter-spacing:.07em}.popular-service-arrow{position:absolute;right:12px;top:12px;width:15px;color:#a4adb4}.popular-service-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:34px}.vehicle-showcase{background:#fff}.vehicle-make-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}.vehicle-make-grid>a{min-width:0;min-height:178px;border:1px solid #e0e4e7;border-radius:18px;background:#fafbfb;padding:18px 12px;display:flex;align-items:center;flex-direction:column;text-align:center;transition:transform .2s,border-color .2s,background .2s}.vehicle-make-grid>a:hover{transform:translateY(-3px);border-color:#e6aaa6;background:#fff}.vehicle-mark{width:88px;height:88px;border-radius:50%;background:#fff;border:1px solid #dfe4e7;display:grid;place-items:center;color:#18222b;font:800 18px/1 'Manrope', Arial, sans-serif;letter-spacing:-.035em;box-shadow:inset 0 0 0 7px #f5f7f8;margin-bottom:13px}.vehicle-make-grid b{font:700 14px/1.25 'Manrope', Arial, sans-serif}.vehicle-make-grid small{font-size:10px;color:var(--muted);margin-top:3px}.vehicle-directory-hero .listing-photo-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.65fr)}.vehicle-hero-art{width:min(100%,410px);aspect-ratio:1;border-radius:34px;background:radial-gradient(circle at 35% 25%,#364654,#17222c 52%,#0b1118);border:1px solid rgba(255,255,255,.13);justify-self:end;display:grid;place-items:center;position:relative;box-shadow:0 30px 65px rgba(0,0,0,.25)}.vehicle-hero-art>svg{width:170px;height:170px;color:#f66e65;stroke-width:1.1}.vehicle-hero-art>span{position:absolute;right:51px;top:52px;width:55px;height:55px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-items:center}.vehicle-hero-art>span svg{width:25px}.vehicle-hero-art>b,.vehicle-hero-art>small{position:absolute;left:34px}.vehicle-hero-art>b{bottom:44px;font:800 28px 'Manrope', Arial, sans-serif}.vehicle-hero-art>small{bottom:27px;color:#b9c3ca}.vehicle-family{margin-top:48px}.vehicle-family>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:18px}.vehicle-family>header h2{font:800 27px 'Manrope', Arial, sans-serif;margin:0}.vehicle-family>header span{font-size:12px;color:var(--muted)}.vehicle-make-grid-all{grid-template-columns:repeat(6,minmax(0,1fr))}.vehicle-detail-mark{width:min(100%,430px);aspect-ratio:4/3;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:radial-gradient(circle at 50% 28%,#334653,#17232d 56%,#0c1218);justify-self:end;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.vehicle-detail-mark>span{width:145px;height:145px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#17212a;font:800 29px/1 'Manrope', Arial, sans-serif;box-shadow:inset 0 0 0 12px #f1f3f4,0 20px 45px rgba(0,0,0,.28);margin-bottom:20px}.vehicle-detail-mark b{font:800 24px 'Manrope', Arial, sans-serif}.vehicle-detail-mark small{color:#b9c3ca;margin-top:3px}.sitemap-summary{grid-template-columns:repeat(5,1fr)}.sitemap-vehicle-links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.sitemap-vehicle-links>a{min-width:0;border:1px solid #e1e5e7;border-radius:10px;background:#fafbfb;padding:10px;display:flex;align-items:center;gap:9px;font-size:12px}.sitemap-vehicle-links .vehicle-mark{width:34px;height:34px;min-width:34px;margin:0;box-shadow:none;font-size:9px}.sitemap-vehicle-links b{min-width:0;overflow-wrap:anywhere}
@media(max-width:1000px){.popular-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-make-grid,.vehicle-make-grid-all{grid-template-columns:repeat(4,minmax(0,1fr))}.vehicle-directory-hero .listing-photo-grid{grid-template-columns:minmax(0,1fr)}.vehicle-hero-art{justify-self:start;max-width:520px}.sitemap-summary{grid-template-columns:repeat(3,1fr)}.sitemap-vehicle-links{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.popular-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.popular-service-grid>a{min-height:164px;padding:18px 10px 14px}.popular-service-icon{width:62px;height:62px;border-radius:18px}.popular-service-icon svg{width:29px;height:29px}.popular-service-grid b{font-size:13px}.popular-service-actions{align-items:stretch;flex-direction:column}.popular-service-actions .button{width:100%}.vehicle-make-grid,.vehicle-make-grid-all{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vehicle-make-grid>a{min-height:155px;padding:14px 9px}.vehicle-mark{width:74px;height:74px;font-size:15px}.vehicle-hero-art{width:100%;border-radius:22px}.vehicle-hero-art>svg{width:120px;height:120px}.vehicle-family{margin-top:38px}.vehicle-family>header h2{font-size:22px}.vehicle-detail-mark{justify-self:start}.vehicle-detail-mark>span{width:112px;height:112px;font-size:23px}.sitemap-summary{grid-template-columns:repeat(2,1fr)}.sitemap-vehicle-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.sitemap-summary{grid-template-columns:1fr}.sitemap-summary>div{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.13)}.sitemap-summary>div:last-child{border-bottom:0}.sitemap-vehicle-links{grid-template-columns:1fr}}

/* Consistent booking controls in Safari and other WebKit browsers. */
.field-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-row>label{min-width:0}.booking-panel select{-webkit-appearance:none;appearance:none;display:block;height:50px;min-height:50px;line-height:1.2;padding:0 44px 0 14px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2369727d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:17px}.booking-panel select::-ms-expand{display:none}.service-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.service-choice{min-width:0}.service-choice .choice-icon{flex:0 0 36px}.service-choice>span:nth-child(3){min-width:0;flex:1}.service-choice>span:nth-child(3) b,.service-choice>span:nth-child(3) small{overflow-wrap:anywhere}.service-choice .check{flex:0 0 18px}@media(max-width:650px){.field-row.two,.field-row.three,.service-choice-grid{grid-template-columns:1fr}}

/* Human-readable HTML sitemap directory. */
.static-hero{padding:76px 0}.html-sitemap{padding:64px 0 90px;background:#f1f3f3}.sitemap-summary{display:grid;grid-template-columns:repeat(4,1fr);background:#111a22;color:#fff;border-radius:17px;padding:18px 22px;margin-bottom:20px;box-shadow:0 15px 35px rgba(12,20,28,.1)}.sitemap-summary>div{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;border-right:1px solid rgba(255,255,255,.13)}.sitemap-summary>div:last-child{border:0}.sitemap-summary svg{width:21px;color:var(--gold)}.sitemap-summary span{display:flex;flex-direction:column;color:#aeb9c0;font-size:12px;line-height:1.25}.sitemap-summary b{font:800 22px 'Manrope', Arial, sans-serif;color:#fff}.sitemap-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.sitemap-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;min-width:0;box-shadow:0 8px 24px rgba(12,20,28,.04)}.sitemap-card-wide{grid-column:1/-1}.sitemap-card-header{display:flex;align-items:center;gap:13px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}.sitemap-card-header .icon-box{width:43px;height:43px;min-width:43px}.sitemap-card-header h2{font:800 22px/1.2 'Manrope', Arial, sans-serif;letter-spacing:-.02em;margin:0}.sitemap-card-header p{color:var(--muted);font-size:13px;margin:3px 0 0}.sitemap-count{margin-left:auto;display:grid;place-items:center;min-width:42px;height:32px;padding:0 10px;border-radius:999px;background:#fff0ef;color:var(--red);font:800 13px 'Manrope', Arial, sans-serif}.sitemap-main-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sitemap-main-grid>a{min-width:0;min-height:64px;display:grid;grid-template-columns:35px minmax(0,1fr) 16px;align-items:center;gap:9px;border:1px solid #e1e5e7;border-radius:11px;background:#fafbfb;padding:11px 12px;transition:.18s}.sitemap-main-grid>a:hover,.sitemap-link-list a:hover,.sitemap-info-links a:hover,.sitemap-county-links a:hover{border-color:#efaaa5;background:#fff3f2;color:#c82d23}.sitemap-main-grid>a>span{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#fff;color:var(--red);border:1px solid #e6e9eb}.sitemap-main-grid>a>span svg{width:16px}.sitemap-main-grid b{font:700 13px/1.3 'Manrope', Arial, sans-serif;min-width:0}.sitemap-main-grid>a>svg{width:14px;color:#9ba5ac}.sitemap-service-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sitemap-subgroup{border:1px solid #e3e7e9;border-radius:13px;background:#fafbfb;padding:17px;min-width:0}.sitemap-subgroup h3{font:800 14px 'Manrope', Arial, sans-serif;margin:0 0 12px}.sitemap-link-list{display:grid;gap:7px}.sitemap-link-list a{min-height:40px;border:1px solid #e1e5e7;border-radius:9px;background:#fff;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:9px;color:#3d4851;font-size:13px;line-height:1.35;transition:.16s}.sitemap-link-list a span{min-width:0}.sitemap-link-list svg{width:14px;min-width:14px;color:#a1aab1}.sitemap-link-list.emphasized a{min-height:48px;padding:11px 13px}.sitemap-county-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sitemap-county{padding:18px}.sitemap-subgroup-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.sitemap-subgroup-title h3{margin:0}.sitemap-subgroup-title span{font-size:11px;color:var(--muted);white-space:nowrap}.sitemap-county-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.sitemap-county-links a{display:block;min-width:0;border:1px solid #e3e7e9;border-radius:8px;background:#fff;padding:8px 10px;color:#48545d;font-size:12px;line-height:1.35;transition:.16s;overflow-wrap:anywhere}.sitemap-info-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.sitemap-info-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e1e5e7;border-radius:10px;background:#fafbfb;padding:12px 13px;font:700 13px 'Manrope', Arial, sans-serif;transition:.16s}.sitemap-info-links svg{width:15px;color:#9ca6ad}@media(max-width:960px){.sitemap-main-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sitemap-service-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.sitemap-summary{grid-template-columns:repeat(2,1fr)}.sitemap-summary>div:nth-child(2){border-right:0}.sitemap-summary>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}}@media(max-width:760px){.html-sitemap{padding:42px 0 64px}.sitemap-groups,.sitemap-county-grid{grid-template-columns:1fr}.sitemap-card{grid-column:auto;padding:20px}.sitemap-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sitemap-info-links{grid-template-columns:repeat(2,minmax(0,1fr))}.sitemap-card-header p{font-size:12px}}@media(max-width:520px){.static-hero{padding:58px 0}.sitemap-summary{padding:12px}.sitemap-summary>div{justify-content:flex-start;padding:9px}.sitemap-service-groups,.sitemap-main-grid,.sitemap-county-links,.sitemap-info-links{grid-template-columns:1fr}.sitemap-card-header{align-items:flex-start}.sitemap-card-header h2{font-size:20px}.sitemap-count{min-width:36px}}


/* Source: assets/css/detail-pages.css */
.rich-detail-hero{background:#101820;color:#fff;padding:86px 0;overflow:hidden}.rich-hero-grid{display:grid;grid-template-columns:1.05fr .8fr;gap:72px;align-items:center}.rich-detail-hero .back-link{display:inline-flex;align-items:center;gap:7px;color:#aeb8c0;font-size:13px;margin-bottom:30px}.rich-detail-hero .back-link svg{width:16px}.rich-detail-hero h1{font:800 clamp(46px,5.5vw,76px)/1.04 'Manrope';letter-spacing:-.045em;margin:16px 0 22px}.rich-detail-hero h1 em{font-style:normal;color:#f46c64}.rich-detail-hero p{font-size:18px;line-height:1.7;color:#bec7cd;max-width:700px}.rich-detail-hero figure{margin:0;position:relative}.rich-detail-hero figure:before{content:"";position:absolute;inset:-25px 25px 25px -25px;border:1px solid rgba(255,255,255,.12);border-radius:22px}.rich-detail-hero figure img{position:relative;width:100%;height:500px;object-fit:cover;border-radius:22px;display:block}.rich-detail-hero figcaption{position:absolute;left:20px;bottom:20px;background:#fff;color:#111820;padding:12px 16px;border-radius:10px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.25)}.rich-detail-hero figcaption svg{width:17px;color:#df3328}.service-facts .section-heading{max-width:760px}.fact-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.fact-columns article{background:#fff;border:1px solid #e3e6e8;border-radius:17px;padding:27px;position:relative}.fact-number{position:absolute;right:20px;top:20px;color:#e7eaec;font:800 35px 'Manrope'}.fact-columns article>small{display:block;color:#df3328;text-transform:uppercase;letter-spacing:.11em;font-weight:800;font-size:9px}.fact-columns h3{font:700 21px 'Manrope';margin:8px 0 20px}.fact-columns ul{list-style:none;margin:0;padding:0}.fact-columns li{display:flex;align-items:flex-start;gap:9px;border-top:1px solid #edf0f1;padding:11px 0;color:#5e6871;font-size:13px}.fact-columns li svg{width:16px;min-width:16px;color:#df3328;margin-top:1px}.dark-info-section{background:#151f28;color:#fff}.rich-info-grid{display:grid;grid-template-columns:1.2fr .65fr;gap:85px;align-items:center}.rich-info-grid h2,.two-detail-columns h2,.local-note-grid h2{font:800 clamp(34px,4vw,52px)/1.1 'Manrope';letter-spacing:-.035em;margin:13px 0 18px}.rich-info-grid>div>p{color:#b9c3ca;font-size:17px;line-height:1.7}.mobile-fit-list{display:grid;gap:11px;margin-top:25px}.mobile-fit-list span{display:flex;align-items:center;gap:10px;color:#d7dde1;font-size:13px}.mobile-fit-list svg{width:18px;color:#f46c64}.rich-info-grid aside{background:#fff;color:#111820;border-radius:18px;padding:30px}.rich-info-grid aside>svg{width:35px;height:35px;color:#df3328}.rich-info-grid aside h3{font:700 21px 'Manrope';margin:18px 0 8px}.rich-info-grid aside p{color:#69737c;line-height:1.6;font-size:13px}.rich-info-grid aside .button{margin-top:10px;background:#df3328;color:#fff}.two-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:80px}.two-detail-columns>div>p{color:#68737c;line-height:1.7}.detail-link-cloud{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}.detail-link-cloud a{background:#fff;border:1px solid #dfe3e5;border-radius:30px;padding:9px 13px;font-size:12px;font-weight:700}.detail-link-cloud .all-link{color:#df3328;display:flex;align-items:center;gap:6px}.detail-link-cloud svg{width:14px}.related-stack{display:grid;gap:9px;margin-top:21px}.related-stack>a,.nearby-cards>a{background:#fff;border:1px solid #e0e4e6;border-radius:12px;padding:13px;display:flex;align-items:center;gap:12px}.related-stack>a>span:nth-child(2),.nearby-cards>a>span{display:flex;flex-direction:column;min-width:0}.related-stack b,.nearby-cards b{font-size:13px}.related-stack small,.nearby-cards small{font-size:10px;color:#75808a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.related-stack>a>svg,.nearby-cards>a>svg:last-child{margin-left:auto;width:16px;color:#9aa3aa}.detail-faq{background:#eef0f0}.inline-request{background:#df3328;color:#fff;padding:48px 0}.inline-request .shell{display:flex;align-items:center;justify-content:space-between;gap:30px}.inline-request h2{font:800 clamp(30px,4vw,46px)/1.1 'Manrope';margin:9px 0}.inline-request p{margin:0;color:#ffd3d0}.local-note-grid{display:grid;grid-template-columns:1.15fr .7fr;gap:85px;align-items:center}.local-note-grid p{color:#68737c;font-size:16px;line-height:1.7}.local-note-grid ul{list-style:none;margin:0;padding:22px;background:#fff;border:1px solid #e1e5e7;border-radius:16px}.local-note-grid li{display:flex;align-items:center;gap:10px;padding:12px;border-top:1px solid #edf0f1;font-weight:700;font-size:13px}.local-note-grid li:first-child{border-top:0}.local-note-grid li svg{width:18px;color:#21835d}.area-services-section{background:#eef0f0}.compact-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:30px}.compact-service-grid>a{background:#fff;border:1px solid #dfe3e5;border-radius:13px;padding:15px;display:flex;align-items:center;gap:10px}.compact-service-grid>a>span:nth-child(2){display:flex;flex-direction:column}.compact-service-grid b{font-size:12px}.compact-service-grid small{font-size:9px;color:#74808a}.compact-service-grid>a>svg{margin-left:auto;width:15px;color:#9ca5ac}.compact-service-grid .icon-box{width:38px;height:38px;min-width:38px}.compact-service-grid .icon-box svg{width:17px}.nearby-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.nearby-cards>a>svg:first-child{width:18px;color:#df3328}.area-rich-hero figure img{object-position:center}.catalog-category{margin-bottom:55px}.catalog-category-head{display:grid;grid-template-columns:280px 1fr;gap:34px;align-items:center;margin-bottom:20px}.catalog-category-head img{width:100%;height:180px;object-fit:cover;border-radius:15px}.catalog-category-head h2{font:800 32px 'Manrope';margin:7px 0}.catalog-category-head p{color:#68737c;margin:0}.county-section{margin-bottom:52px}.county-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.county-header h2{font:800 33px 'Manrope';margin:7px 0}.county-header p{max-width:590px;color:#68737c;margin:0}.county-count{background:#151f28;color:#fff;border-radius:30px;padding:9px 14px;font-size:11px;font-weight:700}.area-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.area-summary-grid>a{background:#fff;border:1px solid #e0e4e6;border-radius:13px;padding:18px;display:flex;flex-direction:column}.area-summary-grid h3{font:700 16px 'Manrope';margin:9px 0 6px}.area-summary-grid p{color:#6c7780;font-size:12px;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.area-summary-grid span{color:#df3328;font-size:11px;font-weight:700;margin-top:13px}.listing-photo-hero{background:#111820;color:#fff;padding:72px 0}.listing-photo-grid{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:center}.listing-photo-grid h1{font:800 clamp(45px,5vw,70px)/1.05 'Manrope';letter-spacing:-.04em;margin:14px 0}.listing-photo-grid p{color:#bec6cc;font-size:18px;line-height:1.7}.listing-photo-grid img{width:100%;height:390px;object-fit:cover;border-radius:20px}
@media(max-width:1000px){.rich-hero-grid,.rich-info-grid,.local-note-grid,.listing-photo-grid{grid-template-columns:1fr;gap:45px}.rich-detail-hero figure{max-width:700px}.fact-columns{grid-template-columns:1fr 1fr}.compact-service-grid{grid-template-columns:repeat(2,1fr)}.area-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.rich-detail-hero{padding:62px 0}.rich-detail-hero figure img{height:340px}.fact-columns,.two-detail-columns,.area-summary-grid{grid-template-columns:1fr}.fact-columns,.two-detail-columns{gap:18px}.inline-request .shell,.county-header{align-items:flex-start;flex-direction:column}.compact-service-grid,.nearby-cards{grid-template-columns:1fr}.catalog-category-head{grid-template-columns:1fr}.catalog-category-head img{height:220px}.listing-photo-grid img{height:300px}}

/* Compact detail-page media keeps service photos useful without overwhelming the copy. */
.rich-detail-hero{padding:70px 0}.rich-hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(340px,430px);gap:64px}.rich-detail-hero figure img{height:320px}
@media(max-width:1000px){.rich-hero-grid{grid-template-columns:1fr}.rich-detail-hero figure{max-width:580px}}
@media(max-width:700px){.rich-detail-hero{padding:54px 0}.rich-detail-hero figure img{height:250px}}


/* Source: assets/css/responsive-fixes.css */
/*
 * Responsive alignment fixes.
 * Loaded after the main and detail stylesheets so shared-host browser caches
 * cannot leave the mobile layout half-updated.
 */

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scrollbar-gutter: stable;
}

/* Reserve icon geometry before the icon library replaces each placeholder. */
[data-lucide] {
    display: inline-block;
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
    vertical-align: middle;
}

.hero-grid > *,
.booking-layout > *,
.booking-panel,
.booking-panel fieldset,
.field-row > *,
.service-choice-grid > *,
.content-grid > *,
.process-grid > *,
.proof-grid > *,
.coverage-grid > *,
.rich-hero-grid > * {
    min-width: 0;
}

.two-detail-columns,
.rich-info-grid,
.local-note-grid,
.listing-photo-grid,
.article-hero-grid,
.article-reading-layout,
.promotion-detail-grid,
.promotion-copy-grid,
.app-page-grid,
.app-steps-grid,
.section-heading.split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.rich-info-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, .65fr); }
.local-note-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .7fr); }
.listing-photo-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); }
.article-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); }
.article-reading-layout { grid-template-columns: minmax(0, 1fr) minmax(280px, 330px); }
.promotion-detail-grid { grid-template-columns: minmax(0, 1fr) minmax(320px, 470px); }
.promotion-copy-grid { grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); }
.app-page-grid { grid-template-columns: minmax(0, 1fr) minmax(320px, 410px); }
.app-steps-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.section-heading.split { grid-template-columns: minmax(0, 1.1fr) minmax(0, .8fr); }

.two-detail-columns > *,
.rich-info-grid > *,
.local-note-grid > *,
.listing-photo-grid > *,
.article-hero-grid > *,
.article-reading-layout > *,
.promotion-detail-grid > *,
.promotion-copy-grid > *,
.app-page-grid > *,
.app-steps-grid > *,
.section-heading.split > * {
    min-width: 0;
    max-width: 100%;
}

main :where(h1, h2, h3, p, li, a, span, small, strong, em) {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.detail-link-cloud,
.related-stack,
.nearby-cards,
.compact-service-grid {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.detail-link-cloud > *,
.related-stack > *,
.nearby-cards > *,
.compact-service-grid > * {
    min-width: 0;
    max-width: 100%;
}

.booking-panel input,
.booking-panel select,
.booking-panel textarea {
    max-width: 100%;
    font-size: 16px;
}

.booking-panel textarea {
    resize: vertical;
}

.booking-panel label small {
    line-height: 1.45;
}

/* The photo and its border are one box; no offset frame that looks misaligned. */
.rich-detail-hero figure {
    width: 100%;
    max-width: 430px;
    justify-self: end;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 22px;
    overflow: hidden;
    background: #18242e;
}

.rich-detail-hero .back-link {
    display: flex;
    width: fit-content;
    max-width: 100%;
    margin-bottom: 22px;
    line-height: 1.4;
}

.rich-detail-hero .eyebrow {
    display: flex;
    width: fit-content;
    max-width: 100%;
    line-height: 1.45;
    white-space: normal;
    overflow-wrap: anywhere;
}

.rich-detail-hero figure::before {
    display: none;
}

.rich-detail-hero figure img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 0;
}

.rich-detail-hero figcaption {
    right: auto;
    max-width: calc(100% - 32px);
    line-height: 1.35;
}

@media (max-width: 1000px) {
    .rich-info-grid,
    .local-note-grid,
    .listing-photo-grid,
    .article-hero-grid,
    .article-reading-layout,
    .promotion-detail-grid,
    .promotion-copy-grid,
    .app-page-grid,
    .app-steps-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .rich-detail-hero {
        padding: 62px 0;
    }

    .rich-hero-grid {
        gap: 38px;
    }

    .rich-detail-hero figure {
        max-width: 680px;
        justify-self: start;
    }

    .rich-detail-hero figure img {
        aspect-ratio: 16 / 9;
    }
}

@media (max-width: 650px) {
    .two-detail-columns,
    .section-heading.split {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .two-detail-columns > div,
    .detail-link-cloud,
    .related-stack,
    .related-stack > a {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .related-stack > a > span:nth-child(2) {
        flex: 1 1 auto;
        width: 0;
        min-width: 0;
    }

    .related-stack small {
        width: 100%;
        max-width: 100%;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        line-height: 1.4;
    }

    .hero {
        padding-top: 54px;
    }

    .hero-copy {
        width: 100%;
        min-width: 0;
    }

    .hero .eyebrow {
        max-width: 100%;
        line-height: 1.45;
    }

    .hero h1 {
        max-width: 100%;
        font-size: clamp(37px, 11vw, 46px);
        line-height: 1.02;
        letter-spacing: -.05em;
        overflow-wrap: anywhere;
    }

    .hero-lede {
        max-width: 100%;
        font-size: 16px;
        line-height: 1.55;
    }

    .hero-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 13px;
        width: 100%;
        margin-top: 25px;
    }

    .hero-actions .button {
        min-width: 0;
        padding: 15px 14px;
        font-size: 14px;
        white-space: nowrap;
    }

    .hero-actions .text-link {
        min-width: 0;
        white-space: nowrap;
        font-size: 14px;
    }

    .hero-proof {
        align-items: flex-start;
        margin-top: 34px;
    }

    .hero-proof > div:last-child {
        min-width: 0;
    }

    .hero-proof b,
    .hero-proof small {
        line-height: 1.35;
    }

    .availability-card {
        width: 100%;
        max-width: 100%;
    }

    .card-heading {
        align-items: flex-start;
    }

    .card-heading > div:last-child {
        min-width: 0;
    }

    .zip-field {
        width: 100%;
        padding-left: 12px;
    }

    .zip-field input {
        font-size: 16px;
        padding-inline: 9px;
    }

    .zip-field button {
        padding-inline: 16px;
    }

    .card-trust {
        flex-wrap: wrap;
        gap: 9px 15px;
    }

    .booking-hero {
        padding: 55px 0 78px;
    }

    .booking-section {
        margin-top: -28px;
        padding-bottom: 75px;
    }

    .booking-section > .shell {
        width: calc(100% - 20px);
    }

    .booking-panel {
        width: 100%;
        border-radius: 16px;
        padding: 24px 18px;
        overflow: hidden;
    }

    .progress-wrap {
        margin-bottom: 30px;
    }

    .progress-meta {
        gap: 12px;
        font-size: 10px;
    }

    .progress-meta span:last-child {
        text-align: right;
    }

    .booking-panel legend {
        display: block;
        width: 100%;
        font-size: clamp(24px, 7.5vw, 30px);
        line-height: 1.18;
        overflow-wrap: anywhere;
    }

    .field-intro {
        font-size: 14px;
        line-height: 1.55;
    }

    .field-row {
        grid-template-columns: 1fr !important;
        gap: 17px;
        margin: 22px 0;
    }

    .field-row > label {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .booking-panel input,
    .booking-panel select,
    .booking-panel textarea {
        display: block;
        width: 100%;
        min-width: 0;
        min-height: 52px;
        margin-top: 7px;
    }

    .booking-panel textarea {
        min-height: 112px;
    }

    .booking-panel select {
        height: 52px;
        min-height: 52px;
        background-position: right 13px center;
    }

    .service-choice-grid {
        display: grid;
        grid-template-columns: 1fr !important;
        width: 100%;
        max-height: none;
        overflow: visible;
        padding: 0;
        margin: 22px 0;
    }

    .service-choice {
        width: 100%;
        min-height: 68px;
        gap: 11px;
        padding: 12px !important;
    }

    .service-choice > span:nth-child(3) {
        min-width: 0;
    }

    .service-choice b,
    .service-choice small {
        display: block;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .consent {
        width: 100%;
        line-height: 1.5;
    }

    .consent input {
        flex: 0 0 auto;
        min-height: 0 !important;
    }

    .step-actions {
        width: 100%;
        gap: 12px;
        margin-top: 24px;
    }

    .step-actions .back-link {
        flex: 0 0 auto;
        padding: 10px 0;
    }

    .step-actions .button {
        min-width: 0;
        min-height: 50px;
        padding: 13px 15px;
        text-align: center;
    }

    .booking-success {
        padding: 42px 8px;
    }

    .booking-success > div {
        flex-direction: column;
    }

    .rich-detail-hero {
        padding: 46px 0 54px;
    }

    .rich-hero-grid {
        gap: 32px;
    }

    .rich-detail-hero .back-link {
        margin-bottom: 16px;
        font-size: 14px;
    }

    .rich-detail-hero .eyebrow {
        font-size: 11px;
        letter-spacing: .11em;
    }

    .rich-detail-hero h1 {
        font-size: clamp(36px, 9vw, 44px);
        letter-spacing: -.05em;
        overflow-wrap: anywhere;
        margin: 13px 0 18px;
    }

    .rich-detail-hero p {
        max-width: 100%;
        font-size: 16px;
        line-height: 1.6;
        overflow-wrap: anywhere;
    }

    .rich-detail-hero .hero-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 13px;
        width: 100%;
        margin-top: 25px;
    }

    .rich-detail-hero .hero-actions .button {
        width: auto;
        min-width: 0;
        padding-inline: 15px;
    }

    .rich-detail-hero .hero-actions .text-link {
        min-height: 48px;
        padding-inline: 5px;
    }

    .rich-detail-hero figure {
        border-radius: 16px;
    }

    .rich-detail-hero figure img {
        aspect-ratio: 4 / 3;
    }

    .rich-detail-hero figcaption {
        left: 12px;
        bottom: 12px;
        max-width: calc(100% - 24px);
        padding: 10px 12px;
    }

    .local-note-grid,
    .rich-info-grid {
        gap: 32px;
    }

    .local-note-grid h2,
    .rich-info-grid h2,
    .two-detail-columns h2 {
        font-size: clamp(32px, 10vw, 43px);
        overflow-wrap: anywhere;
    }

    .mobile-action-bar {
        grid-template-columns: .78fr .82fr 1.4fr;
        height: 66px;
        box-shadow: 0 -8px 25px rgba(8, 17, 27, .16);
    }

    .mobile-action-bar a {
        min-width: 0;
        gap: 6px;
        padding: 7px 5px;
        font-size: 13px;
        line-height: 1.15;
        text-align: center;
    }

    .mobile-action-bar a:first-child {
        background: #101820;
        color: #fff;
    }

    .mobile-action-bar a:nth-child(2) {
        background: #f3b833;
        color: #101820;
    }

    .mobile-action-bar a:last-child {
        background: var(--red);
        color: #fff;
    }

    .mobile-action-bar svg {
        width: 18px;
        min-width: 18px;
    }
}

@media (max-width: 380px) {
    .hero h1 {
        font-size: 36px;
    }

    .hero-actions {
        gap: 10px;
    }

    .hero-actions .button {
        padding-inline: 11px;
        font-size: 13px;
    }

    .hero-actions .text-link,
    .mobile-action-bar a {
        font-size: 12px;
    }

    .booking-panel {
        padding-inline: 15px;
    }

    .step-actions .button {
        font-size: 14px;
    }
}

@media (max-width: 420px) {
    .rich-detail-hero .hero-actions {
        grid-template-columns: 1fr;
    }

    .rich-detail-hero .hero-actions .text-link {
        width: 100%;
        min-height: 46px;
        justify-content: center;
        border: 1px solid rgba(255, 255, 255, .24);
        border-radius: 10px;
    }
}

/* Soft-dark public theme: dark canvas, clear cards, and readable forms. */
body {
    background: #0d141a;
}

#main {
    background: #101820;
    color: #f2f5f7;
}

#main > section.section:not(.process-section):not(.coverage-section):not(.dark-info-section):not(.app-promo) {
    border-top-color: rgba(255, 255, 255, .055);
    background: linear-gradient(145deg, #18242d 0%, #202d37 100%);
}

#main > section.section:nth-of-type(even):not(.process-section):not(.coverage-section):not(.dark-info-section):not(.app-promo) {
    background: linear-gradient(145deg, #101920 0%, #1b2832 100%);
}

#main > .popular-services-section,
#main > .home-faq,
#main > .detail-faq,
#main > .area-services-section,
#main > .gallery-section {
    background: linear-gradient(145deg, #1d2b35 0%, #263641 100%);
}

#main > .vehicle-showcase,
#main > .proof-section,
#main > .app-steps-section,
#main > .symptom-section,
#main > .why-section,
#main > .service-facts,
#main > .local-notes,
#main > .html-sitemap {
    background: linear-gradient(145deg, #111a22 0%, #1d2a34 100%);
}

#main > .section :is(h1, h2, h3),
#main > .section .vehicle-family > header h2 {
    color: #f5f7f8;
}

#main > .section :is(p, li),
#main .article-body p,
#main .promotion-copy-grid article > p,
#main .story-grid p,
#main .local-note-grid p,
#main .catalog-category-head p,
#main .county-header p,
#main .two-detail-columns > div > p,
#main .vehicle-family > header span,
#main .terms-note,
#main .vehicle-trademark-note,
#main .directory-count {
    color: #b7c1c8;
}

#main > .section .eyebrow,
#main > .section .text-link,
#main .legal-copy a {
    color: #d66d66;
}

#main > .section .button-outline {
    border-color: #5a6974;
    color: #f5f7f8;
}

#main > .section .button-outline:hover {
    border-color: #f5f7f8;
    background: rgba(255, 255, 255, .08);
}

#main :is(
    .popular-service-grid > a,
    .vehicle-make-grid > a,
    .service-card,
    .catalog-card,
    .home-promo-grid > a,
    .symptom-grid > a,
    .benefit-grid article,
    .home-review-grid blockquote,
    .faq-list details,
    .fact-columns article,
    .rich-info-grid aside,
    .local-note-grid ul,
    .compact-service-grid > a,
    .area-summary-grid > a,
    .related-stack > a,
    .nearby-cards > a,
    .detail-link-cloud > a,
    .inline-links > a,
    .area-list > a,
    .estimate-card,
    .review-card,
    .review-cta,
    .contact-grid > a,
    .contact-note,
    .public-hours-panel,
    .promo-grid article,
    .promotion-copy-grid aside,
    .article-grid > a,
    .article-aside,
    .app-feature-grid article,
    .app-points article,
    .directory-results > a,
    .empty-public,
    .legal-aside
) {
    border-color: #364650;
    background: #202d37;
    color: #f4f7f8;
}

#main :is(
    .popular-service-grid > a,
    .vehicle-make-grid > a,
    .service-card,
    .catalog-card,
    .home-promo-grid > a,
    .symptom-grid > a,
    .benefit-grid article,
    .home-review-grid blockquote,
    .faq-list details,
    .fact-columns article,
    .rich-info-grid aside,
    .local-note-grid ul,
    .compact-service-grid > a,
    .area-summary-grid > a,
    .related-stack > a,
    .nearby-cards > a,
    .detail-link-cloud > a,
    .inline-links > a,
    .area-list > a,
    .estimate-card,
    .review-card,
    .review-cta,
    .contact-grid > a,
    .contact-note,
    .public-hours-panel,
    .promo-grid article,
    .promotion-copy-grid aside,
    .article-grid > a,
    .article-aside,
    .app-feature-grid article,
    .app-points article,
    .directory-results > a,
    .empty-public,
    .legal-aside
) :is(h2, h3, b, strong, dt) {
    color: #f4f7f8;
}

#main :is(
    .popular-service-grid > a,
    .vehicle-make-grid > a,
    .service-card,
    .catalog-card,
    .home-promo-grid > a,
    .symptom-grid > a,
    .benefit-grid article,
    .home-review-grid blockquote,
    .faq-list details,
    .fact-columns article,
    .rich-info-grid aside,
    .local-note-grid ul,
    .compact-service-grid > a,
    .area-summary-grid > a,
    .related-stack > a,
    .nearby-cards > a,
    .estimate-card,
    .review-card,
    .review-cta,
    .contact-grid > a,
    .contact-note,
    .public-hours-panel,
    .promo-grid article,
    .promotion-copy-grid aside,
    .article-grid > a,
    .article-aside,
    .app-feature-grid article,
    .app-points article,
    .directory-results > a,
    .empty-public,
    .legal-aside
) :is(p, small, dd) {
    color: #adb8c0;
}

#main .contact-grid > a > span {
    color: #adb8c0;
}

#main .popular-service-icon {
    border-color: #3a4a55;
    background: linear-gradient(145deg, #2c3a45, #19252e);
    color: #d66d66;
}

#main .fact-number {
    color: #465660;
}

#main :is(.faq-list details, .local-note-grid ul, .public-hours-list, .review-card footer) {
    border-color: #394953;
}

#main .public-hours-list > div,
#main .public-hours-note,
#main .faq-list details + details {
    border-color: #394953;
}

#main .hours-live-badge {
    background: #2c3b46;
    color: #dce3e7;
}

#main .promotion-deadline {
    background: #392522;
}

#main .promotion-deadline b {
    color: #f5f7f8;
}

#main .sitemap-card {
    border-color: #354550;
    background: #1c2832;
}

#main :is(.sitemap-subgroup, .sitemap-main-grid > a, .sitemap-link-list a, .sitemap-county-links a, .sitemap-info-links a, .sitemap-vehicle-links > a) {
    border-color: #3a4a55;
    background: #24323c;
    color: #edf2f4;
}

#main .sitemap-card-header,
#main .vehicle-family > header {
    border-color: #3a4a55;
}

#main :is(.booking-panel, .booking-aside .aside-card, .availability-card) {
    color: #111820;
}

#main .booking-section {
    background: #101820;
}

.social-share {
    background: #131d25;
}

.share-inner {
    border-color: #354550;
    background: #1d2a34;
    color: #f4f7f8;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .2);
}

.share-inner p {
    color: #adb8c0;
}

.share-buttons a,
.share-buttons button {
    border-color: #42525e;
    background: #263640;
    color: #edf2f4;
}

.share-buttons a:hover,
.share-buttons button:hover {
    border-color: #d66d66;
    background: #302628;
    color: #ff9b94;
}

/* Full dark treatment: remove the remaining large white and pale-gray surfaces. */
.site-header {
    border-bottom-color: #293742;
    background: rgba(12, 19, 25, .97);
    color: #f4f7f8;
}

.brand small,
.compact-menu small,
.mega-intro p,
.area-menu p {
    color: #aab5bd;
}

.menu-toggle,
.nav-trigger button {
    color: #f4f7f8;
}

.dropdown-menu,
.mega-menu {
    border-color: #354550;
    background: #16222b;
    color: #f4f7f8;
    box-shadow: 0 24px 55px rgba(0, 0, 0, .38);
}

.mega-menu h3,
.dropdown-menu h3,
.compact-menu b {
    color: #f4f7f8;
}

.mega-column a,
.menu-links a {
    color: #b8c2c9;
}

.mega-intro,
.area-menu > div:first-child {
    border-color: #354550;
}

.compact-menu > a:hover {
    background: #22313b;
}

.app-menu-link {
    border-color: #563a3a !important;
    background: #2c2427 !important;
}

.button-light {
    border: 1px solid #53636e;
    background: #17232c;
    color: #fff;
}

.button-light:hover {
    border-color: #748591;
    background: #22313b;
}

.availability-card {
    border-color: #3a4a55;
    background: #16222b;
    color: #f4f7f8;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .4);
}

.card-heading,
.card-trust {
    border-color: #354550;
}

.card-heading h2,
.zip-form label {
    color: #f4f7f8;
}

.card-heading p,
.card-trust {
    color: #adb8c0;
}

.step-badge,
.icon-box {
    background: #34262a;
    color: #d66d66;
}

.zip-field {
    border-color: #41515c;
    background: #0d171e;
}

.zip-field:focus-within {
    border-color: #c85b55;
    box-shadow: 0 0 0 4px rgba(224, 50, 38, .18);
}

.zip-field input {
    background: transparent;
    color: #f4f7f8;
}

.zip-field input::placeholder {
    color: #7f8c95;
}

.hero-service-slider .coverage-result {
    border-color: #315b49;
    background: #142b23;
    color: #74d8ac;
}

.hero-service-slider .coverage-result.is-nearby {
    border-color: #6c5727;
    background: #302816;
    color: #f0ca66;
}

.avatar-stack span {
    border-color: #0f1820;
    background: #263640;
    color: #f4f7f8;
}

.photo-note,
.rich-detail-hero figcaption {
    background: #17232c;
    color: #f4f7f8;
}

.photo-note small {
    color: #aab5bd;
}

#main :is(.booking-panel, .booking-aside .aside-card) {
    border: 1px solid #354550;
    background: #16222b;
    color: #f4f7f8;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .32);
}

#main .booking-panel :is(legend, label, h2, h3),
#main .booking-aside .aside-card :is(h3, b) {
    color: #f4f7f8;
}

#main :is(.field-intro, .progress-meta, .booking-panel label, .booking-aside .aside-card small, .booking-success p) {
    color: #aeb9c1;
}

#main .progress-track {
    background: #30404b;
}

#main .booking-panel :is(input, select, textarea),
#main .directory-search-box input {
    border-color: #41515c;
    background-color: #0e1820;
    color: #f3f6f8;
    color-scheme: dark;
}

#main .booking-panel :is(input, textarea)::placeholder,
#main .directory-search-box input::placeholder {
    color: #7e8b94;
}

#main .booking-panel :is(input, select, textarea):focus {
    border-color: #c85b55;
    box-shadow: 0 0 0 3px rgba(224, 50, 38, .2);
}

#main .service-choice {
    border-color: #3b4a55;
    background: #111c24;
    color: #edf2f4;
}

#main .service-choice .choice-icon {
    background: #273640;
    color: #d66d66;
}

#main .service-choice small,
#main .model-combobox + small {
    color: #aab5bd;
}

#main .service-choice:has(input:checked) {
    border-color: #c85b55;
    background: #322326;
}

#main .model-suggestion-menu {
    border-color: #41515c;
    background: #111c24;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .4);
}

#main .model-suggestion-menu button {
    background: #111c24;
    color: #e8eef1;
}

#main .model-suggestion-menu button:hover,
#main .model-suggestion-menu button:focus {
    background: #302326;
    color: #ff938c;
}

#main .directory-search-box {
    border-color: #40505b;
    background: #111c24;
    color: #f3f6f8;
}

#main .sitemap-main-grid > a > span,
#main .sitemap-count {
    border-color: #455661;
    background: #17232c;
    color: #d66d66;
}

#main .success-icon {
    background: #173125;
    color: #70d6aa;
}

.share-buttons a,
.share-buttons button,
.mobile-action-bar {
    border-color: #3a4a55;
    background: #101a22;
}

@media (max-width: 980px) {
    .main-nav {
        border: 1px solid #354550;
        background: #111c24;
        color: #f4f7f8;
    }

    .dropdown-menu,
    .mega-menu {
        background: #18252e;
    }
}

.skip-link {
    border: 1px solid #465762;
    background: #14212a;
    color: #fff;
}

#main .availability-card {
    color: #f4f7f8;
}

#main :is(.gallery-grid figure, .value-row article) {
    border-color: #364650;
    background: #202d37;
    color: #f4f7f8;
}

#main :is(.gallery-grid figure, .value-row article) :is(h2, h3, b) {
    color: #f4f7f8;
}

#main :is(.gallery-grid figure, .value-row article) :is(p, small) {
    color: #adb8c0;
}

#main .about-photo > span {
    background: #17232c;
    color: #f4f7f8;
}

#main .area-cloud a:hover {
    background: #2b3a45;
    color: #fff;
}

#main :is(.app-promo-phone, .phone-screen) {
    border-color: #3c4c57;
    background: #121d25;
    color: #f4f7f8;
}

#main :is(.app-promo-phone > div, .phone-action) {
    border-color: #3b4b56;
    background: #202e38;
    color: #f4f7f8;
}

#main .phone-action.primary {
    border-color: var(--red);
    background: var(--red);
    color: #fff;
}

#main :is(.phone-brand, .app-privacy-proof) {
    border-color: #3b4b56;
}

#main :is(.phone-action small, .phone-brand small, .app-promo-phone > small) {
    color: #aab5bd;
}

/* Muted brick-red accents sit more comfortably against the dark theme. */
:root {
    --red: #b9433b;
    --red-dark: #91322d;
}

.button,
.zip-field button,
.phone-action.primary,
.mobile-action-bar a:last-child {
    background: var(--red);
}

.button:hover,
.zip-field button:hover {
    background: var(--red-dark);
}

.inline-request,
.closing-cta {
    background: linear-gradient(135deg, #a63832 0%, #852b27 100%);
}

.eyebrow,
#main > .section .eyebrow,
#main > .section .text-link,
#main .legal-copy a,
.menu-kicker,
.mega-column a:hover,
.menu-links .menu-all {
    color: #d66d66;
}

.eyebrow.light {
    color: #e7a39e;
}

.hero h1 em,
.rich-detail-hero h1 em {
    color: #d75d56;
}

.step-badge,
.icon-box,
#main .popular-service-icon,
#main .service-choice .choice-icon,
.compact-menu > a > svg,
.app-menu-link > svg {
    color: #d96b64 !important;
}

.hero-slider-tabs button span,
.home-promo-grid span,
.managed-promos .promo-card-copy > span,
.promo-grid article > span,
.article-grid > a > span,
.gallery-grid figcaption span {
    color: #d66a63;
}

.hero-slider-tabs button::after {
    background: #b9433b;
}

.hero-service-slider .coverage-next-button,
.rich-info-grid aside .button {
    background: #b9433b;
}

.hero-service-slider .coverage-next-button:hover,
.rich-info-grid aside .button:hover {
    background: #91322d;
}

.share-buttons a:hover,
.share-buttons button:hover {
    border-color: #c75a53;
    color: #df827c;
}

.promotion-deadline,
#main .promotion-deadline {
    color: #db746d;
}

/* Homepage service carousel: useful motion without moving the ZIP form. */
.hero-service-slider {
    isolation: isolate;
}

.hero-service-slider .step-badge svg {
    width: 20px;
    height: 20px;
}

.hero-service-slider .zip-result.coverage-result {
    min-height: 0;
    margin-top: 14px;
    padding: 14px;
    border: 1px solid #b9e2cf;
    border-radius: 13px;
    background: #eef9f3;
    color: #165f43;
}

.hero-service-slider .coverage-result.is-nearby {
    border-color: #efd89d;
    background: #fff9e9;
    color: #6b5314;
}

.hero-service-slider .coverage-result > div {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.hero-service-slider .coverage-result > div > svg {
    width: 21px;
    min-width: 21px;
    margin-top: 1px;
}

.hero-service-slider .coverage-result span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    line-height: 1.35;
}

.hero-service-slider .coverage-result strong {
    font: 800 14px 'Manrope', Arial, sans-serif;
}

.hero-service-slider .coverage-result small {
    margin-top: 3px;
    font-size: 12px;
    font-weight: 500;
}

.hero-service-slider .coverage-next-button {
    width: 100%;
    margin-top: 12px;
    padding: 13px 15px;
    color: #fff;
}

.hero-backgrounds,
.hero-slider-bg {
    position: absolute;
    inset: 0;
}

.hero-backgrounds {
    z-index: 0;
    overflow: hidden;
    background: #080d12;
}

.hero-slider-bg {
    background: linear-gradient(90deg, rgba(7, 12, 17, .99) 0%, rgba(7, 12, 17, .88) 43%, rgba(7, 12, 17, .45) 73%, rgba(7, 12, 17, .64) 100%), var(--hero-image) var(--hero-position, center) / cover no-repeat;
    opacity: 0;
    filter: saturate(.88);
    transition: opacity .36s ease;
}

.hero-slider-bg.is-active {
    opacity: 1;
}

.hero-service-slider .hero-grid,
.hero-service-slider .trust-strip {
    position: relative;
    z-index: 2;
}

.hero-location {
    margin-bottom: 9px;
}

.hero-slide-stage {
    display: grid;
}

.hero-slide {
    grid-area: 1 / 1;
    align-self: start;
    min-width: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: none;
}

.hero-slide.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.hero-slide.is-entering-forward,
.hero-slide.is-entering-backward,
.hero-slide.is-leaving-forward,
.hero-slide.is-leaving-backward {
    visibility: visible;
}

.hero-slide.is-entering-forward {
    animation: hero-copy-in-forward .62s cubic-bezier(.22, .75, .18, 1) both;
}

.hero-slide.is-leaving-forward {
    animation: hero-copy-out-forward .48s cubic-bezier(.4, 0, .35, 1) both;
}

.hero-slide.is-entering-backward {
    animation: hero-copy-in-backward .62s cubic-bezier(.22, .75, .18, 1) both;
}

.hero-slide.is-leaving-backward {
    animation: hero-copy-out-backward .48s cubic-bezier(.4, 0, .35, 1) both;
}

@keyframes hero-copy-in-forward {
    from { opacity: 0; transform: translate3d(46px, 0, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes hero-copy-out-forward {
    from { opacity: 1; transform: translate3d(0, 0, 0); }
    to { opacity: 0; transform: translate3d(-34px, 0, 0); }
}

@keyframes hero-copy-in-backward {
    from { opacity: 0; transform: translate3d(-46px, 0, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes hero-copy-out-backward {
    from { opacity: 1; transform: translate3d(0, 0, 0); }
    to { opacity: 0; transform: translate3d(34px, 0, 0); }
}

.hero-service-kicker {
    display: inline-block;
    margin-top: 5px;
    color: #d9e0e5;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.hero-service-slider .hero-slide h1 {
    max-width: 760px;
    font-size: clamp(44px, 5.5vw, 72px);
    overflow-wrap: normal;
    word-break: normal;
}

.hero-slider-controls {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
}

.hero-slider-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    flex: 1;
    max-width: 610px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 12px;
    overflow: hidden;
    background: rgba(5, 10, 15, .46);
    backdrop-filter: blur(8px);
}

.hero-slider-tabs button,
.hero-slider-toggle {
    position: relative;
    min-width: 0;
    min-height: 43px;
    border: 0;
    background: transparent;
    color: #b9c2c9;
}

.hero-slider-tabs button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 9px;
    border-right: 1px solid rgba(255, 255, 255, .14);
    overflow: hidden;
}

.hero-slider-tabs button:last-child {
    border-right: 0;
}

.hero-slider-tabs button span {
    color: #d66d66;
    font-size: 10px;
    font-weight: 800;
}

.hero-slider-tabs button b {
    overflow: hidden;
    font: 700 11px 'Manrope', Arial, sans-serif;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hero-slider-tabs button::after {
    position: absolute;
    right: 100%;
    bottom: 0;
    left: 0;
    height: 3px;
    background: var(--red);
    content: '';
}

.hero-slider-tabs button.is-active {
    background: rgba(255, 255, 255, .1);
    color: #fff;
}

.hero-slider-tabs button.is-active::after {
    right: 0;
    animation: hero-tab-progress 5s linear both;
}

.hero-service-slider.is-paused .hero-slider-tabs button.is-active::after {
    animation-play-state: paused;
}

.hero-slider-toggle {
    display: grid;
    flex: 0 0 43px;
    width: 43px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    background: rgba(5, 10, 15, .52);
}

.hero-slider-toggle:hover,
.hero-slider-toggle:focus-visible {
    border-color: rgba(255, 255, 255, .65);
    color: #fff;
}

.hero-slider-toggle svg {
    width: 17px;
}

@keyframes hero-tab-progress {
    from { right: 100%; }
    to { right: 0; }
}

@media (max-width: 650px) {
    .hero-service-slider .hero-grid {
        gap: 24px;
    }

    .hero-service-slider .hero-slide h1 {
        margin-top: 12px;
        font-size: clamp(39px, 12vw, 48px);
    }

    .hero-service-slider .hero-lede {
        min-height: 82px;
    }

    .hero-slider-controls {
        margin-top: 21px;
    }

    .hero-slider-tabs button {
        min-height: 40px;
        padding: 7px 5px;
    }

    .hero-slider-tabs button b {
        display: none;
    }

    .hero-slider-tabs button span {
        font-size: 11px;
    }

    .hero-slider-toggle {
        flex-basis: 40px;
        width: 40px;
        min-height: 40px;
    }
}

/* Quiet motion across cards and sections. */
html.motion-ready .reveal-on-scroll {
    opacity: 0;
    transform: translate3d(0, 12px, 0);
    transition: opacity .35s ease, transform .42s cubic-bezier(.2, .7, .2, 1);
    transition-delay: var(--reveal-delay, 0ms);
}

html.motion-ready .reveal-on-scroll.reveal-from-left {
    transform: translate3d(0, 12px, 0);
}

html.motion-ready .reveal-on-scroll.reveal-from-right {
    transform: translate3d(0, 12px, 0);
}

html.motion-ready .reveal-on-scroll.is-visible {
    opacity: 1;
    transform: none;
}

html.motion-ready .reveal-on-scroll.reveal-initial {
    transition: none !important;
}

@media (hover: hover) {
    .popular-service-grid > a,
    .vehicle-make-grid > a,
    .home-promo-grid > a,
    .benefit-grid article,
    .contact-grid > a {
        transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
    }

    .popular-service-grid > a:hover,
    .vehicle-make-grid > a:hover,
    .home-promo-grid > a:hover,
    .benefit-grid article:hover,
    .contact-grid > a:hover {
        transform: translateY(-6px);
        box-shadow: 0 18px 38px rgba(8, 17, 27, .11);
    }
}

/* Shared interaction motion for cards and calls to action on every public route. */
@media (hover: hover) {
    .catalog-card,
    .fact-columns article,
    .compact-service-grid > a,
    .area-summary-grid > a,
    .related-stack > a,
    .nearby-cards > a,
    .promo-grid article,
    .article-grid > a,
    .gallery-grid figure,
    .review-card,
    .value-row article,
    .app-feature-grid article,
    .app-points article,
    .directory-results > a,
    .sitemap-card,
    .public-hours-panel {
        transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
    }

    .catalog-card:hover,
    .fact-columns article:hover,
    .compact-service-grid > a:hover,
    .area-summary-grid > a:hover,
    .related-stack > a:hover,
    .nearby-cards > a:hover,
    .promo-grid article:hover,
    .article-grid > a:hover,
    .gallery-grid figure:hover,
    .review-card:hover,
    .value-row article:hover,
    .app-feature-grid article:hover,
    .app-points article:hover,
    .directory-results > a:hover,
    .sitemap-card:hover,
    .public-hours-panel:hover {
        z-index: 1;
        border-color: rgba(224, 50, 38, .28);
        box-shadow: 0 18px 42px rgba(8, 17, 27, .11);
        transform: translateY(-5px);
    }

    .button svg,
    .text-link svg,
    .inline-request a svg,
    .area-summary-grid a span svg,
    .article-grid a b svg,
    .promo-grid a svg {
        transition: transform .2s ease;
    }

    .button:hover svg,
    .text-link:hover svg,
    .inline-request a:hover svg,
    .area-summary-grid a:hover span svg,
    .article-grid a:hover b svg,
    .promo-grid a:hover svg {
        transform: translateX(4px);
    }
}

/* Booking steps move in the direction of travel. */
.booking-step-forward {
    animation: booking-step-forward .38s cubic-bezier(.2, .7, .2, 1) both;
}

.booking-step-back {
    animation: booking-step-back .38s cubic-bezier(.2, .7, .2, 1) both;
}

@keyframes booking-step-forward {
    from { opacity: 0; transform: translateX(22px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes booking-step-back {
    from { opacity: 0; transform: translateX(-22px); }
    to { opacity: 1; transform: translateX(0); }
}

/* Live hours status; only an open business receives the gentle pulse. */
.live-hours-status,
.hours-live-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.live-hours-status > i,
.hours-live-badge > i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #9aa4ab;
}

.live-hours-status.is-open > i,
.hours-live-badge.is-open > i {
    background: #52cc96;
    box-shadow: 0 0 0 0 rgba(82, 204, 150, .5);
    animation: hours-pulse 2.2s ease-out infinite;
}

.live-hours-status.is-closed > i,
.hours-live-badge.is-closed > i {
    background: #d66d66;
}

.hours-live-badge {
    margin-left: 10px;
    padding: 5px 9px;
    border-radius: 999px;
    background: #eef2f3;
    color: #38434c;
    font-size: 12px;
    font-weight: 800;
}

@keyframes hours-pulse {
    70% { box-shadow: 0 0 0 7px rgba(82, 204, 150, 0); }
    100% { box-shadow: 0 0 0 0 rgba(82, 204, 150, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .hero-slider-bg,
    .hero-slide,
    .reveal-on-scroll,
    .booking-step-forward,
    .booking-step-back,
    .live-hours-status.is-open > i,
    .hours-live-badge.is-open > i {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}

/* Optional before/after pairs uploaded with a repair-gallery item. */
.repair-comparison-block {
    margin-bottom: 48px;
}

.repair-comparison-block .section-heading {
    margin-bottom: 24px;
}

.repair-comparison {
    --comparison-position: 50%;
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 8.5;
    overflow: hidden;
    border-radius: 22px;
    background: #dfe4e7;
    box-shadow: var(--shadow);
    touch-action: pan-y;
}

.repair-comparison > img,
.repair-comparison-before,
.repair-comparison-before img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.repair-comparison > img,
.repair-comparison-before img {
    object-fit: cover;
}

.repair-comparison-before {
    width: var(--comparison-position);
    overflow: hidden;
    border-right: 2px solid #fff;
}

.repair-comparison-before img {
    width: calc(100vw - 40px);
    max-width: 1180px;
}

.comparison-label {
    position: absolute;
    top: 18px;
    z-index: 2;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(8, 13, 18, .8);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    backdrop-filter: blur(7px);
}

.before-label { left: 18px; }
.after-label { right: 18px; }

.comparison-handle {
    position: absolute;
    top: 50%;
    left: var(--comparison-position);
    z-index: 3;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--red);
    color: #fff;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .24);
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.comparison-handle svg {
    width: 22px;
}

.repair-comparison input[type='range'] {
    position: absolute;
    inset: 0;
    z-index: 4;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: ew-resize;
}

.repair-comparison:focus-within {
    outline: 4px solid rgba(224, 50, 38, .3);
    outline-offset: 4px;
}

@media (max-width: 650px) {
    .repair-comparison {
        aspect-ratio: 4 / 5;
        border-radius: 16px;
    }

    .repair-comparison-before img {
        width: calc(100vw - 28px);
    }

    .comparison-label { top: 12px; }
    .before-label { left: 12px; }
    .after-label { right: 12px; }
}

/* The sitemap summary now includes vehicle makes as a fifth SEO section. */
.sitemap-summary {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.vehicle-mark img {
    width: 68px;
    height: 68px;
    max-width: 68px;
    max-height: 68px;
    object-fit: contain;
}

.vehicle-mark {
    overflow: hidden;
}

.popular-service-grid > a {
    min-height: 245px;
    padding: 0;
    overflow: hidden;
    align-items: stretch;
    text-align: left;
}

.popular-service-photo {
    display: block;
    width: 100%;
    height: 135px;
    overflow: hidden;
    background: #dfe4e7;
}

.popular-service-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.popular-service-grid > a:hover .popular-service-photo img {
    transform: scale(1.035);
}

.popular-service-copy {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    padding: 15px 17px 17px;
}

.popular-service-copy b {
    max-width: 100%;
}

.popular-service-arrow {
    top: 10px;
    right: 10px;
    width: 27px;
    height: 27px;
    padding: 6px;
    border-radius: 50%;
    background: rgba(8, 17, 27, .78);
    color: #fff;
}

.vehicle-detail-mark > span img {
    width: 108px;
    height: 108px;
    max-width: 108px;
    max-height: 108px;
    object-fit: contain;
}

.sitemap-vehicle-links .vehicle-mark img {
    width: 25px;
    height: 25px;
    max-width: 25px;
    max-height: 25px;
}

.vehicle-trademark-note {
    max-width: 820px;
    margin: 48px auto 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.6;
    text-align: center;
}

@media (max-width: 960px) {
    .sitemap-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 420px) {
    .sitemap-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .sitemap-summary > div {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .13);
    }

    .sitemap-summary > div:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 500px) {
    .hero .hero-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .hero .hero-actions .button,
    .hero .hero-actions .text-link {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }

    .hero .hero-actions .text-link {
        min-height: 46px;
        border: 1px solid rgba(255, 255, 255, .24);
        border-radius: 10px;
    }

    .popular-service-grid > a {
        min-height: 215px;
    }

    .popular-service-photo {
        height: 112px;
    }

    .popular-service-copy {
        padding: 12px 11px 13px;
    }

    .vehicle-mark img {
        width: 56px;
        height: 56px;
        max-width: 56px;
        max-height: 56px;
    }
}

/* Public business hours sourced from Admin > Settings. */
.footer-hours {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 20px;
    color: #dce2e6;
}

.footer-hours > svg {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    color: var(--gold);
}

.footer-hours > span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    line-height: 1.4;
}

.footer-hours b {
    color: #fff;
    font: 700 13px 'Manrope', Arial, sans-serif;
}

.footer-hours small {
    color: #aab3bb;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.public-hours-panel {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(300px, 1fr);
    gap: 28px 60px;
    align-items: start;
    margin-top: 30px;
    padding: 34px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(8, 17, 27, .06);
}

.public-hours-heading {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.public-hours-heading h2 {
    margin: 6px 0 7px;
    font: 800 29px/1.2 'Manrope', Arial, sans-serif;
    letter-spacing: -.025em;
}

.public-hours-heading p {
    margin: 0;
    color: var(--muted);
}

.public-hours-list {
    margin: 0;
    border-top: 1px solid var(--line);
}

.public-hours-list > div {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 9px 2px;
    border-bottom: 1px solid var(--line);
}

.public-hours-list dt {
    font-weight: 700;
}

.public-hours-list dd {
    margin: 0;
    color: #3f4a53;
    text-align: right;
}

.public-hours-list dd.is-closed {
    color: var(--red);
    font-weight: 700;
}

.public-hours-note {
    display: flex;
    grid-column: 1 / -1;
    align-items: flex-start;
    gap: 12px;
    padding-top: 22px;
    border-top: 1px solid var(--line);
}

.public-hours-note > svg {
    width: 19px;
    min-width: 19px;
    color: var(--red);
}

.public-hours-note p {
    margin: 0;
    color: var(--muted);
}

.public-hours-note a {
    color: var(--red);
    font-weight: 700;
}

@media (max-width: 760px) {
    .public-hours-panel {
        grid-template-columns: minmax(0, 1fr);
        gap: 26px;
        padding: 24px 20px;
    }

    .public-hours-note {
        grid-column: auto;
    }
}

@media (max-width: 420px) {
    .public-hours-heading {
        gap: 12px;
    }

    .public-hours-heading h2 {
        font-size: 24px;
    }

    .public-hours-list > div {
        gap: 14px;
    }
}

/* Final palette lock: keep late-loaded components consistent with the dark theme. */
.hero-service-slider .zip-result.coverage-result {
    border-color: #315b49;
    background: #142b23;
    color: #74d8ac;
}

.hero-service-slider .zip-result.coverage-result.is-nearby {
    border-color: #6c5727;
    background: #302816;
    color: #f0ca66;
}

#main :is(
    .rich-detail-hero figcaption svg,
    .fact-columns article > small,
    .fact-columns li svg,
    .mobile-fit-list svg,
    .rich-info-grid aside > svg,
    .detail-link-cloud .all-link,
    .nearby-cards > a > svg:first-child,
    .area-summary-grid span,
    .symptom-grid > a > svg,
    .article-body p:first-child:first-letter,
    .article-aside > svg,
    .detail-icon svg,
    .aside-help > svg
) {
    color: #c85b55;
}

#main .sitemap-count,
#main .sitemap-main-grid > a > span {
    color: #d16c65;
    background: #1a252e;
}

/* Mobile header sharing and final call-to-action contrast. */
.header-share-toggle {
    display: none;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid #3b4b56;
    border-radius: 10px;
    background: #17232c;
    color: #f4f7f8;
}

.header-share-toggle svg,
.share-dialog-close svg,
.share-dialog-buttons svg {
    width: 19px;
    height: 19px;
}

.closing-cta .button.button-light {
    border-color: rgba(255, 255, 255, .28);
    background: #111c24;
    color: #fff;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .2);
}

.closing-cta .button.button-light:hover {
    border-color: rgba(255, 255, 255, .5);
    background: #080d12;
}

.share-dialog {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 14px;
    overflow: auto;
    border: 0;
    background: rgba(3, 8, 12, .78);
    color: #f4f7f8;
    backdrop-filter: blur(5px);
}

.share-dialog[hidden] {
    display: none;
}

body.share-dialog-open {
    overflow: hidden;
}

.share-dialog-panel {
    position: relative;
    width: min(520px, 100%);
    max-height: calc(100dvh - 28px);
    padding: 34px;
    overflow: auto;
    border: 1px solid #41525e;
    border-radius: 20px;
    background: #15212a;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .55);
}

.share-dialog h2 {
    margin: 10px 42px 7px 0;
    font: 800 30px/1.15 'Manrope', Arial, sans-serif;
    letter-spacing: -.025em;
}

.share-dialog p {
    margin: 0 0 24px;
    color: #aeb9c1;
}

.share-dialog-close {
    position: absolute;
    top: 20px;
    right: 20px;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid #41525e;
    border-radius: 50%;
    background: #202e38;
    color: #f4f7f8;
}

.share-dialog-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.share-dialog-buttons a,
.share-dialog-buttons button {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    min-height: 52px;
    padding: 12px 14px;
    border: 1px solid #40515d;
    border-radius: 12px;
    background: #202e38;
    color: #f4f7f8;
    font-weight: 700;
    text-align: left;
}

.share-dialog-buttons a:hover,
.share-dialog-buttons button:hover {
    border-color: #b95d57;
    background: #2d272b;
}

.share-dialog-buttons button:last-child {
    grid-column: 1 / -1;
    justify-content: center;
}

.footer-team-login {
    display: none;
}

@media (max-width: 980px) {
    .header-share-toggle {
        display: grid;
        margin-left: auto;
    }

    .menu-toggle {
        width: 42px;
        height: 42px;
        margin-left: 0;
        padding: 0;
    }

    .footer-team-login {
        display: inline-flex;
    }
}

@media (max-width: 650px) {
    .nav-wrap {
        gap: 7px;
    }

    .footer-bottom > div {
        flex-wrap: wrap;
        gap: 8px 18px;
    }

    .share-dialog-panel {
        padding: 28px 20px 20px;
    }

    .share-dialog h2 {
        font-size: 26px;
    }
}

@media (max-width: 390px) {
    .brand b {
        font-size: 17px;
    }

    .brand small {
        font-size: 9px;
    }

    .header-share-toggle,
    .menu-toggle {
        width: 39px;
        height: 39px;
    }

    .share-dialog-buttons {
        grid-template-columns: 1fr;
    }

    .share-dialog-buttons button:last-child {
        grid-column: auto;
    }
}

/* Payment, warranty, and service-expectation presentation. */
.service-assurance {
    background: linear-gradient(145deg, #101920 0%, #1b2832 100%) !important;
}

.assurance-heading {
    align-items: end;
    margin-bottom: 30px;
}

.assurance-heading h2 {
    max-width: 740px;
    margin-bottom: 0;
}

.assurance-heading > .text-link {
    justify-self: end;
}

.assurance-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.assurance-grid article {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    min-width: 0;
    padding: 25px;
    border: 1px solid #364650;
    border-radius: 16px;
    background: #202d37;
    color: #f4f7f8;
}

.assurance-icon {
    display: grid;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 12px;
    background: #17232c;
}

.assurance-icon svg {
    width: 21px;
    height: 21px;
}

.assurance-icon.payment { color: #f1bf43; }
.assurance-icon.warranty { color: #62c99a; }
.assurance-icon.expectations { color: #d66d66; }

.assurance-grid h3 {
    margin: 1px 0 7px;
    font: 700 17px/1.25 'Manrope', Arial, sans-serif;
}

.assurance-grid p {
    margin: 0;
    color: #b7c1c8 !important;
    font-size: 13px;
    line-height: 1.6;
}

.policy-hero {
    background: linear-gradient(135deg, #111c24, #22313b);
}

.policy-details {
    background: linear-gradient(145deg, #111a22 0%, #1d2a34 100%) !important;
}

.policy-layout {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.policy-layout > article {
    position: relative;
    min-width: 0;
    padding: 34px 30px;
    border: 1px solid #364650;
    border-radius: 18px;
    background: #202d37;
}

.policy-layout > article > svg {
    width: 34px;
    height: 34px;
    color: #d66d66;
}

.policy-layout article:first-child > svg { color: #f1bf43; }
.policy-layout article:nth-child(2) > svg { color: #62c99a; }

.policy-number {
    position: absolute;
    top: 23px;
    right: 25px;
    color: #596873;
    font: 800 13px 'Manrope', Arial, sans-serif;
    letter-spacing: .1em;
}

.policy-layout h2 {
    margin: 22px 0 12px;
    font: 800 27px/1.2 'Manrope', Arial, sans-serif;
}

.policy-layout p,
.policy-layout li {
    color: #b7c1c8 !important;
    line-height: 1.7;
}

.policy-layout strong {
    display: block;
    margin-top: 22px;
    padding: 14px;
    border-radius: 10px;
    background: #17232c;
    color: #f4f7f8;
    font-size: 13px;
    line-height: 1.5;
}

.policy-layout ul {
    display: grid;
    gap: 10px;
    margin: 21px 0 0;
    padding: 0;
    list-style: none;
}

.policy-layout li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
}

.policy-layout li svg {
    flex: 0 0 16px;
    width: 16px;
    margin-top: 4px;
    color: #62c99a;
}

.policy-next-step {
    background: linear-gradient(135deg, #2c2427, #17232c) !important;
}

.policy-next-step > .shell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.policy-next-step h2 { margin: 8px 0; }
.policy-next-step p { margin: 0; }
.policy-next-step .shell > div:last-child { display: flex; align-items: center; gap: 18px; }

/* Optional service-request photo picker and previews. */
.request-photo-field {
    margin-top: 20px;
    padding: 18px;
    border: 1px solid #d5dadd;
    border-radius: 13px;
    background: #f7f8f8;
}

.request-photo-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.request-photo-heading .choice-icon {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 9px;
    background: #edeff0;
    color: var(--red);
}

.request-photo-heading .choice-icon svg { width: 18px; }
.request-photo-heading b { display: block; color: #202a32; font: 700 14px 'Manrope', Arial, sans-serif; }
.request-photo-heading b small { display: inline; margin-left: 4px; color: #6b757d; font: 600 10px 'DM Sans'; text-transform: uppercase; letter-spacing: .06em; }
.request-photo-heading p { margin: 3px 0 0; color: #68737c; font-size: 12px; }

.photo-picker {
    display: inline-flex !important;
    margin-top: 14px;
    cursor: pointer;
}

.photo-picker input {
    position: absolute;
    width: 1px !important;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.photo-picker > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid #cbd2d6;
    border-radius: 9px;
    background: #fff;
    color: #202a32;
    font-weight: 700;
}

.photo-picker svg { width: 17px; }
.photo-privacy-note { display: block; margin-top: 9px; color: #727c84; }
.photo-error { min-height: 0; margin: 8px 0 0; color: var(--red); font-size: 12px; }

.request-photo-preview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-top: 12px;
}

.request-photo-preview:empty { display: none; }
.request-photo-preview figure { min-width: 0; margin: 0; }
.request-photo-preview img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; }
.request-photo-preview figcaption { margin-top: 5px; overflow: hidden; color: #67727a; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 900px) {
    .assurance-grid,
    .policy-layout {
        grid-template-columns: 1fr;
    }

    .policy-next-step > .shell {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 650px) {
    .assurance-heading > .text-link { justify-self: start; }
    .assurance-grid article { padding: 20px; }
    .policy-layout > article { padding: 27px 22px; }
    .policy-next-step .shell > div:last-child { align-items: flex-start; flex-direction: column; }
    .request-photo-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.booking-success-warning {
  max-width: 620px;
  margin: -10px auto 24px !important;
  padding: 13px 16px;
  border: 1px solid rgba(243, 184, 51, .45);
  border-radius: 12px;
  background: rgba(243, 184, 51, .1);
  color: #f7d67e !important;
  font-weight: 700;
}

/* Give service areas the same desktop presence as the Services mega menu. */
@media (min-width: 981px) {
  /* Keep the hover target continuous from the menu title to the dropdown panel. */
  .nav-dropdown::after {
    content: '';
    position: absolute;
    z-index: 119;
    top: 100%;
    left: -22px;
    width: calc(100% + 44px);
    height: 34px;
    pointer-events: none;
  }

  .nav-dropdown:hover::after,
  .nav-dropdown.open::after {
    pointer-events: auto;
  }

  .dropdown-menu,
  .mega-menu {
    transition: opacity .14s ease, visibility 0s linear .14s;
  }

  .nav-dropdown:hover > .dropdown-menu,
  .nav-dropdown:hover > .mega-menu,
  .nav-dropdown.open > .dropdown-menu,
  .nav-dropdown.open > .mega-menu {
    transition-delay: 0s;
  }

  .dropdown-menu,
  .nav-dropdown:hover > .dropdown-menu,
  .nav-dropdown.open > .dropdown-menu {
    transform: none;
  }

  .area-menu-wide {
    left: 50%;
    width: min(1110px, calc(100vw - 50px));
    min-height: 300px;
    padding: 28px;
    grid-template-columns: minmax(230px, .78fr) minmax(0, 2.22fr);
    gap: 30px;
    transform: translate(-42%, 0);
  }

  .area-dropdown:hover > .area-menu-wide,
  .area-dropdown.open > .area-menu-wide {
    transform: translate(-42%, 0);
  }

  .area-menu-wide .area-menu-intro {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    padding-right: 28px;
    border-right: 1px solid #354550;
  }

  .area-menu-wide .area-menu-intro .icon-box {
    margin-bottom: 18px;
  }

  .area-menu-wide .area-menu-intro h3 {
    margin: 9px 0 7px;
    font-size: 19px;
  }

  .area-menu-wide .area-menu-intro p {
    max-width: 240px;
    margin: 0 0 17px;
    font-size: 12px;
  }

  .area-coverage-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    color: #e77d76 !important;
    font-size: 12px !important;
    font-weight: 800;
  }

  .area-coverage-link svg {
    width: 14px;
  }

  .area-link-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-content: start;
    gap: 10px;
  }

  .area-link-grid > a {
    min-width: 0;
    min-height: 74px;
    padding: 12px;
    border: 1px solid #354550;
    border-radius: 11px;
    background: #1b2933;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #eef3f5;
    transition: border-color .18s, background .18s, transform .18s;
  }

  .area-link-grid > a:hover {
    border-color: #a95651;
    background: #2a272b;
    transform: translateY(-2px);
  }

  .area-link-grid > a > svg {
    width: 17px;
    flex: 0 0 auto;
    color: #e77d76;
  }

  .area-link-grid > a > span {
    min-width: 0;
    display: flex;
    flex-direction: column;
  }

  .area-link-grid b {
    overflow: hidden;
    color: #f4f7f8;
    font: 700 12px/1.3 'Manrope', Arial, sans-serif;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .area-link-grid small {
    margin-top: 3px;
    color: #95a3ad;
    font-size: 9px;
  }

  .area-link-grid .menu-all {
    grid-column: 1 / -1;
    min-height: 56px;
    margin-top: 2px;
    background: #202f39;
  }

  .area-link-grid .menu-all > svg:last-child {
    margin-left: auto;
  }

  .service-menu-wide {
    max-height: calc(100vh - 135px);
    overflow-y: auto;
  }

  .service-link-grid {
    gap: 8px;
  }

  .service-link-grid > a {
    min-height: 58px;
    padding: 9px 11px;
  }

  .service-link-grid b {
    white-space: normal;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .service-link-grid .menu-all {
    min-height: 52px;
  }
}

@media (max-width: 980px) {
  .area-menu-wide .area-menu-intro .icon-box,
  .area-menu-wide .area-coverage-link,
  .area-link-grid small,
  .area-link-grid > a > svg:first-child {
    display: none;
  }

  .area-link-grid .menu-all > svg:last-child {
    display: block;
  }

  .service-menu-wide .service-link-grid {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 16px;
  }

  .service-link-grid > a {
    min-width: 0;
  }

  .service-link-grid b {
    color: inherit;
    font-size: 11px;
  }
}

@media (max-width: 650px) {
  .service-menu-wide .service-link-grid {
    grid-template-columns: 1fr;
  }
}

/* Site-wide service request lightbox. The direct /book page remains available. */
body.request-lightbox-open {
  position: fixed;
  top: var(--request-scroll-lock-offset, 0);
  right: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  overscroll-behavior: none;
}

.request-lightbox[hidden] {
  display: none;
}

.request-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 20px;
  max-width: 100vw;
  overflow: hidden;
}

.request-lightbox-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(3, 8, 12, .82);
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);
}

.request-lightbox .request-lightbox-panel {
  position: relative;
  z-index: 1;
  display: flex;
  width: min(840px, calc(100vw - 40px));
  height: calc(100vh - 40px);
  height: min(780px, calc(100dvh - 40px));
  max-height: 780px;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 22px;
  background: #14212a;
  color: #f5f7f8;
  box-shadow: 0 34px 100px rgba(0, 0, 0, .48);
  animation: request-lightbox-in .22s ease-out both;
}

.request-lightbox-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 25px 30px 17px;
  background: #0c151c;
  flex: 0 0 auto;
}

.request-lightbox-kicker {
  color: #ea766f;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.request-lightbox-header h2 {
  margin: 4px 0 0;
  color: #fff;
  font: 800 24px/1.2 'Manrope', Arial, sans-serif;
  letter-spacing: -.025em;
}

.request-lightbox-close {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  place-items: center;
  border: 1px solid #354650;
  border-radius: 50%;
  background: #17252e;
  color: #fff;
}

.request-lightbox-close:hover,
.request-lightbox-close:focus-visible {
  border-color: #d86660;
  background: #263741;
  outline: 0;
}

.request-lightbox-close svg {
  width: 19px;
}

.request-lightbox .progress-wrap {
  margin: 0;
  padding: 0 30px 22px;
  background: #0c151c;
  flex: 0 0 auto;
}

.request-lightbox .progress-meta {
  color: #99a7b0;
}

.request-lightbox .progress-track {
  background: #263640;
}

.request-lightbox .progress-track span {
  background: #c9463f;
}

.request-lightbox-scroll {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  padding: 28px 30px 32px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-color: #465863 #14212a;
  -webkit-overflow-scrolling: touch;
}

.request-lightbox .booking-step-forward,
.request-lightbox .booking-step-back {
  animation: request-step-fade .16s ease-out both;
}

.request-lightbox .booking-panel fieldset,
.request-lightbox fieldset {
  min-width: 0;
}

.request-lightbox .booking-panel legend,
.request-lightbox legend {
  color: #fff;
  font-size: clamp(25px, 4vw, 34px);
}

.request-lightbox .field-intro {
  color: #aeb9c0;
}

.request-lightbox.booking-panel label,
.request-lightbox .booking-panel label,
.request-lightbox label {
  color: #dfe5e8;
}

.request-lightbox.booking-panel input,
.request-lightbox.booking-panel select,
.request-lightbox.booking-panel textarea,
.request-lightbox .booking-panel input,
.request-lightbox .booking-panel select,
.request-lightbox .booking-panel textarea {
  border-color: #3a4b55;
  background-color: #0d171e;
  color: #f7f9fa;
}

.request-lightbox.booking-panel input::placeholder,
.request-lightbox.booking-panel textarea::placeholder {
  color: #85939c;
  opacity: 1;
}

.request-lightbox.booking-panel input:focus,
.request-lightbox.booking-panel select:focus,
.request-lightbox.booking-panel textarea:focus {
  border-color: #d45a53;
  box-shadow: 0 0 0 3px rgba(212, 90, 83, .19);
}

.request-lightbox .model-suggestion-menu {
  position: static;
  border-color: #40515b;
  max-height: 210px;
  margin-top: 7px;
  background: #111d25;
}

.request-lightbox .model-suggestion-menu button {
  background: #111d25;
  color: #e7ecef;
}

.request-lightbox .model-suggestion-menu button:hover,
.request-lightbox .model-suggestion-menu button:focus {
  background: #263741;
  color: #fff;
}

.request-lightbox .model-combobox + small,
.request-lightbox .booking-panel label small,
.request-lightbox .service-choice small {
  color: #97a5ae;
}

.request-lightbox .service-choice {
  border-color: #3a4a54;
  background: #101b23;
  color: #edf1f3;
}

.request-lightbox .lightbox-service-select {
  display: block;
  margin: 24px 0 18px;
}

#main .booking-panel .lightbox-service-select {
  display: block;
  margin: 24px 0 18px;
}

#main .booking-panel .model-suggestion-menu {
  position: static;
  max-height: 210px;
  margin-top: 7px;
}

#main .booking-panel .field-row {
  position: relative;
  z-index: 1;
  align-items: start;
  margin-bottom: 34px;
}

#main .booking-panel .step-actions {
  position: relative;
  z-index: 0;
  clear: both;
  margin-top: 34px;
}

#main .request-lightbox-actions > span {
  color: #68737c;
}

.request-lightbox .field-row {
  position: relative;
  z-index: 1;
  align-items: start;
  margin-bottom: 34px;
}

.request-lightbox .model-combobox {
  width: 100%;
}

.request-lightbox .step-actions {
  position: relative;
  z-index: 0;
  clear: both;
  margin-top: 34px;
}

.request-lightbox .service-choice:hover {
  border-color: #657681;
  background: #172630;
}

.request-lightbox .service-choice:has(input:checked) {
  border-color: #d45a53;
  background: #302127;
}

.request-lightbox .service-choice .choice-icon,
.request-lightbox .request-photo-heading .choice-icon {
  background: #24343e;
  color: #ed7770;
}

.request-lightbox .request-photo-field {
  border-color: #3a4b55;
  background: #101b23;
}

.request-lightbox .request-photo-heading b {
  color: #f1f4f5;
}

.request-lightbox .request-photo-heading p,
.request-lightbox .photo-privacy-note,
.request-lightbox .request-photo-preview figcaption {
  color: #98a6af;
}

.request-lightbox .photo-picker > span {
  border-color: #465863;
  background: #1b2a34;
  color: #fff;
}

.request-lightbox .back-link {
  color: #c7d0d5;
}

.request-lightbox .button-outline {
  border-color: #53636d;
  color: #fff;
}

.request-lightbox .form-message,
.request-lightbox .photo-error {
  color: #f1847d;
}

.request-lightbox-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-top: 22px;
}

.request-lightbox-actions > span {
  color: #98a6af;
  font-size: 12px;
}

.request-lightbox .booking-success {
  padding: 42px 20px;
}

.request-lightbox .booking-success h2 {
  color: #fff;
}

.request-lightbox .booking-success p {
  color: #aeb9c0;
}

.request-lightbox-footer {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 58px;
  padding: 12px 30px;
  border-top: 1px solid #2d3d47;
  background: #0c151c;
  color: #9fadb5;
  font-size: 11px;
  flex: 0 0 auto;
}

.request-lightbox-footer span,
.request-lightbox-footer a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.request-lightbox-footer svg {
  width: 15px;
  color: #63c9a0;
}

.request-lightbox-footer a {
  margin-left: auto;
  color: #dce3e7;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@keyframes request-lightbox-in {
  from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes request-step-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (max-width: 650px) {
  .request-lightbox {
    display: block;
    padding: 0;
  }

  .request-lightbox .request-lightbox-panel {
    width: 100%;
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    max-height: none;
    min-height: 0;
    border: 0;
    border-radius: 0;
  }

  .request-lightbox-header {
    padding: max(17px, env(safe-area-inset-top)) 18px 14px;
  }

  .request-lightbox-header h2 {
    font-size: 20px;
  }

  .request-lightbox .progress-wrap {
    padding: 0 18px 17px;
  }

  .request-lightbox-scroll {
    padding: 23px 18px calc(28px + env(safe-area-inset-bottom));
  }

  .request-lightbox :is(form, fieldset, label, .field-row, .model-combobox, .request-photo-field, .request-photo-heading, .request-photo-heading > div, .request-photo-preview, .step-actions),
  #main .booking-panel :is(form, fieldset, label, .field-row, .model-combobox, .request-photo-field, .request-photo-heading, .request-photo-heading > div, .request-photo-preview, .step-actions) {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .request-lightbox :is(input, select, textarea),
  #main .booking-panel :is(input, select, textarea) {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 16px !important;
  }

  .request-lightbox input[type="date"],
  #main .booking-panel input[type="date"] {
    inline-size: 100%;
    max-inline-size: 100%;
    min-inline-size: 0;
  }

  .request-lightbox .request-photo-field,
  #main .booking-panel .request-photo-field {
    overflow: hidden;
  }

  .request-lightbox .request-photo-heading,
  #main .booking-panel .request-photo-heading {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .request-lightbox :is(.request-photo-heading p, .photo-privacy-note, .request-photo-preview figcaption),
  #main .booking-panel :is(.request-photo-heading p, .photo-privacy-note, .request-photo-preview figcaption) {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .request-lightbox .photo-picker,
  #main .booking-panel .photo-picker {
    width: fit-content;
    max-width: 100%;
  }

  .request-lightbox .photo-picker > span,
  #main .booking-panel .photo-picker > span {
    max-width: 100%;
    white-space: normal;
  }

  .request-lightbox .request-photo-preview,
  #main .booking-panel .request-photo-preview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .request-lightbox .field-row,
  .request-lightbox .field-row.two,
  .request-lightbox .field-row.three,
  .request-lightbox .service-choice-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .request-lightbox .service-choice-grid {
    max-height: none;
    overflow: visible;
  }

  .request-lightbox-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .request-lightbox-actions .button {
    width: 100%;
  }

  .request-lightbox .step-actions,
  #main .booking-panel .step-actions {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    margin-top: 32px;
  }

  .request-lightbox .step-actions .button,
  #main .booking-panel .step-actions .button {
    width: 100%;
    max-width: none;
    margin: 0;
    white-space: normal;
  }

  .request-lightbox-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 4px 12px;
    padding: 10px 18px calc(10px + env(safe-area-inset-bottom));
    overflow: hidden;
  }

  .request-lightbox-footer a {
    grid-column: 1 / -1;
    margin: 2px 0 0;
  }
}

@media (max-height: 600px) and (min-width: 651px) {
  .request-lightbox {
    padding: 10px;
  }

  .request-lightbox .request-lightbox-panel {
    width: min(900px, calc(100vw - 20px));
    height: calc(100vh - 20px);
    height: calc(100dvh - 20px);
    max-height: calc(100vh - 20px);
    max-height: calc(100dvh - 20px);
    min-height: 0;
  }

  .request-lightbox-header {
    padding-block: 15px 11px;
  }

  .request-lightbox .progress-wrap {
    padding-bottom: 13px;
  }

  .request-lightbox-scroll {
    padding-block: 20px;
  }
}

@media (max-width: 650px) {
  #main .booking-panel .model-suggestion-menu {
    position: static;
    max-height: 210px;
    margin-top: 7px;
  }

  #main .booking-panel .field-row {
    position: relative;
    z-index: 1;
    margin-bottom: 32px;
  }

  #main .booking-panel .step-actions {
    position: relative;
    z-index: 0;
    clear: both;
    margin-top: 32px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .request-lightbox .request-lightbox-panel,
  .request-lightbox .booking-step-forward,
  .request-lightbox .booking-step-back {
    animation: none;
  }
}

/* Site search controls, search directory, and transparent cookie preferences. */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.nav-search-toggle,
.header-search-toggle {
  place-items: center;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #3b4b56;
  border-radius: 10px;
  background: #17232c;
  color: #f4f7f8;
}

.nav-search-toggle {
  display: grid;
}

.header-search-toggle {
  display: none;
}

.nav-search-toggle:hover,
.header-search-toggle:hover {
  border-color: #c56a64;
  background: #27353f;
}

.nav-search-toggle:focus-visible,
.header-search-toggle:focus-visible,
.site-search-dialog button:focus-visible,
.site-search-dialog a:focus-visible,
.site-search-dialog input:focus-visible,
.cookie-notice button:focus-visible,
.footer-cookie-settings:focus-visible,
.directory-search button:focus-visible,
.directory-search input:focus-visible,
.directory-search a:focus-visible {
  outline: 3px solid #f0b92f;
  outline-offset: 3px;
}

.nav-search-toggle svg,
.header-search-toggle svg {
  width: 19px;
  height: 19px;
}

.site-search-dialog[hidden],
.cookie-notice[hidden],
.site-search-results[hidden],
.site-search-empty[hidden],
.directory-results > a[hidden],
.directory-empty[hidden] {
  display: none !important;
}

.site-search-dialog {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  padding: 16px;
  background: rgba(3, 8, 12, .82);
  color: #f4f7f8;
  backdrop-filter: blur(7px);
}

body.site-search-open {
  overflow: hidden;
}

.site-search-panel {
  display: flex;
  flex-direction: column;
  width: min(780px, 100%);
  height: calc(100vh - 32px);
  height: calc(100dvh - 32px);
  max-height: 760px;
  min-height: 560px;
  overflow: hidden;
  border: 1px solid #41525e;
  border-radius: 22px;
  background: #121e27;
  box-shadow: 0 32px 90px rgba(0, 0, 0, .62);
}

.site-search-heading {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 28px 30px 18px;
}

.site-search-heading h2 {
  margin: 7px 0 5px;
  color: #f7f9fa;
  font: 800 30px/1.14 'Manrope', Arial, sans-serif;
  letter-spacing: -.03em;
}

.site-search-heading p {
  margin: 0;
  color: #acb8c0;
}

.site-search-close {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid #41525e;
  border-radius: 50%;
  background: #202e38;
  color: #f4f7f8;
}

.site-search-close svg {
  width: 19px;
  height: 19px;
}

.site-search-form {
  display: grid;
  flex: 0 0 auto;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  min-height: 62px;
  margin: 0 30px;
  padding-left: 18px;
  overflow: hidden;
  border: 1px solid #4b5d69;
  border-radius: 14px;
  background: #0b151c;
}

.site-search-form:focus-within {
  border-color: #c56a64;
  box-shadow: 0 0 0 3px rgba(197, 106, 100, .17);
}

.site-search-form > svg {
  width: 21px;
  color: #d16c65;
}

.site-search-form input {
  width: 100%;
  min-width: 0;
  height: 60px;
  padding: 0 14px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #f4f7f8;
  font-size: 17px;
}

.site-search-form input::placeholder {
  color: #84929c;
}

.site-search-form button {
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 116px;
  padding: 0 19px;
  border: 0;
  background: var(--red);
  color: #fff;
  font-weight: 800;
}

.site-search-form button:hover {
  background: var(--red-dark);
}

.site-search-form button svg {
  width: 17px;
}

.site-search-filters {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
  margin: 16px 30px 0;
  padding: 0 0 3px;
  overflow-x: auto;
  scrollbar-width: none;
}

.site-search-filters::-webkit-scrollbar {
  display: none;
}

.site-search-filters button,
.directory-filters button {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 7px 13px;
  border: 1px solid #41515c;
  border-radius: 999px;
  background: #1b2832;
  color: #b9c3ca;
  font-size: 13px;
  font-weight: 700;
}

.site-search-filters button:hover,
.directory-filters button:hover {
  border-color: #637581;
  color: #fff;
}

.site-search-filters button.is-active,
.directory-filters button.is-active {
  border-color: #c56a64;
  background: #3b292b;
  color: #fff;
}

.site-search-status {
  flex: 0 0 auto;
  margin: 10px 30px 8px;
  color: #8f9da6;
  font-size: 12px;
  font-weight: 700;
}

.site-search-results {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 8px;
  min-height: 0;
  padding: 0 30px 18px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: #586a75 #0d171e;
  scrollbar-width: thin;
}

.site-search-results::-webkit-scrollbar {
  width: 9px;
}

.site-search-results::-webkit-scrollbar-track {
  background: #0d171e;
}

.site-search-results::-webkit-scrollbar-thumb {
  border: 2px solid #0d171e;
  border-radius: 999px;
  background: #586a75;
}

.site-search-result {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 14px;
  min-height: 78px;
  padding: 12px 15px;
  border: 1px solid #33444f;
  border-radius: 13px;
  background: #1a2832;
  color: #f4f7f8;
}

.site-search-result:hover {
  border-color: #b8615b;
  background: #24323c;
}

.site-search-result-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: #2c3943;
  color: #db756e;
}

.site-search-result-icon svg {
  width: 21px;
  height: 21px;
}

.site-search-result-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  line-height: 1.35;
}

.site-search-result-copy small {
  margin-bottom: 2px;
  color: #d47770;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.site-search-result-copy b {
  overflow: hidden;
  color: #f7f9fa;
  font: 750 15px/1.3 'Manrope', Arial, sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.site-search-result-copy > span {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 3px;
  color: #aab6be;
  font-size: 12px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.site-search-result-arrow {
  width: 17px;
  color: #83929c;
}

.site-search-empty {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  gap: 15px;
  min-height: 130px;
  margin: 0 30px 18px;
  padding: 24px;
  border: 1px dashed #43545f;
  border-radius: 14px;
  color: #f3f6f8;
  text-align: left;
}

.site-search-empty > svg {
  width: 34px;
  height: 34px;
  color: #d16c65;
}

.site-search-empty div {
  display: flex;
  flex-direction: column;
}

.site-search-empty span {
  color: #9facb4;
  font-size: 13px;
}

.site-search-footer {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 58px;
  padding: 13px 30px;
  border-top: 1px solid #33434e;
  background: #0d171e;
  color: #89969f;
  font-size: 12px;
}

.site-search-footer a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #f2f5f6;
  font-weight: 700;
}

.site-search-footer a svg {
  width: 15px;
}

.search-page-hero {
  padding-bottom: 82px;
}

#main .directory-search {
  padding-top: 68px;
  background: #111b23;
}

.directory-search-form {
  max-width: 900px;
  margin: 0 auto;
}

#main .directory-search-box {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  min-height: 66px;
  margin: 0;
  padding: 0 0 0 20px;
  overflow: hidden;
  border: 1px solid #4a5b67;
  border-radius: 15px;
  background: #0c161d;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .2);
}

#main .directory-search-box:focus-within {
  border-color: #c56a64;
  box-shadow: 0 0 0 3px rgba(197, 106, 100, .16), 0 18px 42px rgba(0, 0, 0, .2);
}

.directory-search-box > svg {
  width: 23px;
  color: #d16c65;
}

#main .directory-search-box input {
  min-width: 0;
  height: 64px;
  margin: 0;
  padding: 0 16px;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: transparent;
  box-shadow: none;
  color: #f4f7f8;
  font-size: 17px;
}

.directory-search-box button {
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 130px;
  padding: 0 22px;
  border: 0;
  background: var(--red);
  color: #fff;
  font-weight: 800;
}

.directory-search-box button:hover {
  background: var(--red-dark);
}

.directory-search-box button svg {
  width: 17px;
}

.directory-filters {
  display: flex;
  justify-content: center;
  gap: 9px;
  margin: 20px 0 34px;
  padding-bottom: 3px;
  overflow-x: auto;
  scrollbar-width: none;
}

.directory-filters::-webkit-scrollbar {
  display: none;
}

.directory-result-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
  color: #9eabb4;
  font-size: 13px;
}

.directory-result-meta p {
  margin: 0;
}

.directory-result-meta .directory-count {
  color: #f4f7f8;
  font: 750 17px 'Manrope', Arial, sans-serif;
}

.directory-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

#main .directory-results > a {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 15px;
  min-width: 0;
  min-height: 118px;
  padding: 18px;
  border: 1px solid #364650;
  border-radius: 15px;
  background: #1a2832;
}

.directory-result-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 13px;
  background: #2a3943;
  color: #d66f68;
}

.directory-result-icon svg {
  width: 23px;
  height: 23px;
}

.directory-result-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

#main .directory-result-copy small {
  margin-bottom: 2px;
  color: #d5756e;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

#main .directory-result-copy h2 {
  margin: 0;
  color: #f4f7f8;
  font: 750 17px/1.3 'Manrope', Arial, sans-serif;
  overflow-wrap: anywhere;
}

#main .directory-result-copy p {
  display: -webkit-box;
  margin: 5px 0 0;
  overflow: hidden;
  color: #a9b5bd;
  font-size: 13px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.directory-results > a > svg:last-child {
  width: 17px;
  color: #87959e;
}

.directory-empty {
  margin-top: 20px;
  padding: 42px 22px;
  border: 1px dashed #465762;
  border-radius: 16px;
  color: #f4f7f8;
  text-align: center;
}

.directory-empty > svg {
  width: 38px;
  height: 38px;
  color: #d16c65;
}

.directory-empty h2 {
  margin: 12px 0 4px;
  font: 800 25px 'Manrope', Arial, sans-serif;
}

.directory-empty p {
  margin: 0 0 18px;
  color: #a8b4bc;
}

.cookie-notice {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 950;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  width: min(690px, calc(100% - 40px));
  padding: 18px;
  border: 1px solid #465863;
  border-radius: 17px;
  background: #15222b;
  color: #f4f7f8;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .55);
}

.cookie-notice-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #34282a;
  color: #dc766f;
}

.cookie-notice-icon svg {
  width: 22px;
  height: 22px;
}

.cookie-notice-copy {
  min-width: 0;
}

.cookie-notice h2 {
  margin: 0 0 3px;
  color: #f7f9fa;
  font: 800 17px/1.25 'Manrope', Arial, sans-serif;
}

.cookie-notice p,
.cookie-notice small {
  display: block;
  margin: 0;
  color: #adb8c0;
  font-size: 12px;
  line-height: 1.45;
}

.cookie-notice small {
  margin-top: 4px;
  color: #87959e;
}

.cookie-notice a {
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cookie-notice-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cookie-notice-actions button {
  min-height: 39px;
  padding: 8px 13px;
  border: 1px solid #536570;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.cookie-reject {
  background: #202e38;
  color: #eef2f4;
}

.cookie-accept {
  border-color: var(--red) !important;
  background: var(--red);
  color: #fff;
}

.cookie-reject:hover {
  background: #2c3b45;
}

.cookie-accept:hover {
  background: var(--red-dark);
}

.footer-cookie-settings {
  display: inline-flex;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
}

.footer-cookie-settings:hover {
  color: #fff;
}

.footer-grid a > svg {
  width: 14px;
  height: 14px;
  vertical-align: -2px;
}

.cookie-use-note {
  margin-top: 14px;
}

@media (max-width: 980px) {
  .nav-search-toggle {
    display: none;
  }

  .header-search-toggle {
    display: grid;
    margin-left: auto;
  }

  .header-share-toggle {
    margin-left: 0;
  }
}

@media (max-width: 650px) {
  .site-search-dialog {
    display: block;
    padding: 0;
    background: #121e27;
    backdrop-filter: none;
  }

  .site-search-panel {
    width: 100%;
    height: 100vh;
    height: 100dvh;
    max-height: none;
    min-height: 0;
    border: 0;
    border-radius: 0;
  }

  .site-search-heading {
    gap: 14px;
    padding: max(18px, env(safe-area-inset-top)) 18px 14px;
  }

  .site-search-heading h2 {
    font-size: 24px;
  }

  .site-search-heading p {
    font-size: 13px;
    line-height: 1.45;
  }

  .site-search-form {
    min-height: 58px;
    margin: 0 18px;
    padding-left: 14px;
  }

  .site-search-form input {
    height: 56px;
    padding-inline: 11px;
    font-size: 16px;
  }

  .site-search-form button {
    min-width: 54px;
    padding-inline: 16px;
  }

  .site-search-form button span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .site-search-filters {
    margin: 14px 18px 0;
  }

  .site-search-status {
    margin: 8px 18px 7px;
  }

  .site-search-results {
    padding: 0 18px 14px;
  }

  .site-search-result {
    grid-template-columns: 42px minmax(0, 1fr) 16px;
    min-height: 73px;
    padding: 10px 12px;
  }

  .site-search-result-icon {
    width: 42px;
    height: 42px;
  }

  .site-search-footer {
    padding: 11px 18px calc(11px + env(safe-area-inset-bottom));
  }

  .site-search-footer > span {
    display: none;
  }

  #main .directory-search {
    padding-top: 50px;
  }

  #main .directory-search-box {
    min-height: 60px;
    padding-left: 15px;
  }

  #main .directory-search-box input {
    height: 58px;
    padding-inline: 11px;
    font-size: 16px;
  }

  .directory-search-box button {
    min-width: 56px;
    padding-inline: 16px;
    font-size: 0;
  }

  .directory-search-box button svg {
    width: 18px;
  }

  .directory-filters {
    justify-content: flex-start;
    margin: 16px 0 27px;
  }

  .directory-result-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  .directory-results {
    grid-template-columns: minmax(0, 1fr);
  }

  #main .directory-results > a {
    min-height: 106px;
    padding: 15px;
  }

  .cookie-notice {
    right: 10px;
    bottom: calc(74px + env(safe-area-inset-bottom));
    left: 10px;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 11px;
    width: auto;
    max-height: calc(100dvh - 96px - env(safe-area-inset-bottom));
    padding: 14px;
    overflow-y: auto;
    border-radius: 15px;
  }

  .cookie-notice-icon {
    align-self: start;
    width: 40px;
    height: 40px;
  }

  .cookie-notice-actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .cookie-notice-actions button {
    white-space: normal;
  }
}

@media (max-width: 390px) {
  .header-search-toggle,
  .header-share-toggle,
  .menu-toggle {
    width: 39px;
    height: 39px;
  }

  .site-search-heading .eyebrow,
  .cookie-notice small {
    display: none;
  }

  .cookie-notice p {
    font-size: 11px;
  }
}

@media (max-width: 360px) {
  .nav-wrap .brand span {
    display: none;
  }

  .nav-wrap .brand img {
    width: 50px;
  }
}

/* Sarah: private, no-cost site assistant with booking-system handoff. */
.service-assistant[hidden],
.service-assistant-launch[hidden] {
  display: none !important;
}

.service-assistant-launch {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 940;
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 62px;
  padding: 5px 15px 5px 5px;
  border: 1px solid #4b5c67;
  border-radius: 999px;
  background: #111d26;
  color: #f7f9fa;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .42);
  transition: transform .2s ease, border-color .2s ease, opacity .2s ease;
}

.service-assistant-launch:hover {
  transform: translateY(-3px);
  border-color: #d57a73;
}

.service-assistant-launch-avatar,
.service-assistant-avatar {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  background: linear-gradient(145deg, #2d3e49, #8d3f3a);
}

.service-assistant-launch-avatar {
  width: 50px;
  height: 50px;
  border: 2px solid #d6817b;
}

.service-assistant-launch-avatar img,
.service-assistant-avatar img,
.service-assistant-message > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 17%;
}

.service-assistant-launch > span:nth-child(2) {
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-align: left;
  line-height: 1.2;
}

.service-assistant-launch b {
  font: 800 14px 'Manrope', Arial, sans-serif;
}

.service-assistant-launch small {
  margin-top: 3px;
  color: #aeb9c0;
  font-size: 10px;
}

.service-assistant-launch > svg {
  width: 19px;
  height: 19px;
  margin-left: 3px;
  color: #e17770;
}

.nav-sarah-link {
  display: none;
}

.footer-sarah-link {
  display: flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  padding: 0;
  border: 0;
  background: transparent;
  color: #e9edef;
  font: inherit;
  text-align: left;
}

.footer-sarah-link:hover {
  color: #fff;
}

.footer-sarah-link svg {
  width: 16px;
  height: 16px;
  color: #d9766f;
}

.hero-sarah-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 9px 5px 5px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 999px;
  background: rgba(14, 25, 33, .72);
  color: #fff;
  font-weight: 800;
  white-space: nowrap;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.hero-sarah-link:hover {
  transform: translateY(-2px);
  border-color: #e38780;
  background: #20323d;
}

.hero-sarah-link > span {
  display: grid;
  place-items: center;
  overflow: hidden;
  width: 30px;
  height: 30px;
  border: 1px solid #d4746d;
  border-radius: 50%;
  background: #2a3943;
}

.hero-sarah-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 17%;
}

body.cookie-notice-open .service-assistant-launch,
body.service-assistant-open .service-assistant-launch {
  opacity: 0;
  pointer-events: none;
}

.service-assistant {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 1180;
  display: flex;
  flex-direction: column;
  width: min(410px, calc(100vw - 32px));
  height: min(680px, calc(100dvh - 44px));
  min-height: 520px;
  overflow: hidden;
  border: 1px solid #435661;
  border-radius: 23px;
  background: #111d26;
  color: #f5f7f8;
  box-shadow: 0 28px 85px rgba(0, 0, 0, .62);
  animation: service-assistant-in .24s ease-out both;
}

@keyframes service-assistant-in {
  from { opacity: 0; transform: translateY(16px) scale(.98); }
  to { opacity: 1; transform: none; }
}

.service-assistant-header {
  display: grid;
  flex: 0 0 auto;
  grid-template-columns: 58px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 12px;
  min-height: 87px;
  padding: 13px 14px;
  border-bottom: 1px solid #344650;
  background: linear-gradient(110deg, #172832, #121e27);
}

.service-assistant-avatar {
  width: 58px;
  height: 58px;
  border: 2px solid #d0716a;
  box-shadow: 0 0 0 4px rgba(198, 78, 70, .12);
}

.service-assistant-header > div {
  min-width: 0;
}

.service-assistant-status {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #8ed7b6;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.service-assistant-status > i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #54c996;
  box-shadow: 0 0 0 4px rgba(84, 201, 150, .12);
}

.service-assistant-header h2 {
  margin: 2px 0 0;
  color: #fff;
  font: 800 22px/1.15 'Manrope', Arial, sans-serif;
}

.service-assistant-header p {
  margin: 1px 0 0;
  overflow: hidden;
  color: #aebac1;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.service-assistant-close {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #455863;
  border-radius: 50%;
  background: #1d2d37;
  color: #f5f7f8;
}

.service-assistant-close svg {
  width: 19px;
  height: 19px;
}

.service-assistant-messages {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 12px;
  min-height: 0;
  padding: 17px 14px 13px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: #52636d transparent;
  background: #0d171e;
}

.service-assistant-message {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  max-width: 93%;
}

.service-assistant-message.is-user {
  align-self: flex-end;
  justify-content: flex-end;
  max-width: 86%;
}

.service-assistant-message > img {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border: 1px solid #b95c55;
  border-radius: 50%;
  background: #2a3943;
}

.service-assistant-message > div {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #354954;
  border-radius: 15px 15px 15px 4px;
  background: #192a34;
}

.service-assistant-message.is-user > div {
  border-color: #a94943;
  border-radius: 15px 15px 4px 15px;
  background: #a9433d;
}

.service-assistant-message b {
  display: block;
  margin-bottom: 3px;
  color: #ed8b84;
  font: 800 10px 'Manrope', Arial, sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.service-assistant-message p {
  margin: 0;
  color: #dce3e7;
  font-size: 13px;
  line-height: 1.52;
  overflow-wrap: anywhere;
  white-space: pre-line;
}

.service-assistant-message.is-user p {
  color: #fff;
}

.service-assistant-message-actions {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid rgba(255, 255, 255, .1);
}

.service-assistant-message-actions a {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid #4a5c67;
  border-radius: 9px;
  color: #edf2f4;
  font-size: 11px;
  font-weight: 750;
}

.service-assistant-message-actions a:hover {
  border-color: #d3736c;
  background: #22343f;
}

.service-assistant-message-actions a svg {
  width: 15px;
  height: 15px;
  color: #e57d75;
}

.service-assistant-message-actions .service-assistant-request {
  justify-content: space-between;
  border-color: #b64d46;
  background: #a9433d;
  color: #fff;
}

.service-assistant-message-actions .service-assistant-request svg {
  color: #fff;
}

.service-assistant-suggestions,
.service-assistant-quick {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  scrollbar-width: none;
}

.service-assistant-suggestions {
  flex: 0 0 auto;
  margin: -2px 0 2px 42px;
}

.service-assistant-suggestions::-webkit-scrollbar,
.service-assistant-quick::-webkit-scrollbar {
  display: none;
}

.service-assistant-suggestions button,
.service-assistant-quick button {
  flex: 0 0 auto;
  min-height: 33px;
  padding: 7px 10px;
  border: 1px solid #455863;
  border-radius: 999px;
  background: #182832;
  color: #dce3e7;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
}

.service-assistant-suggestions button:hover,
.service-assistant-quick button:hover {
  border-color: #d3736c;
  background: #263944;
}

.service-assistant-quick {
  flex: 0 0 auto;
  padding: 11px 14px 5px;
  border-top: 1px solid #2f414b;
  background: #111d26;
}

.service-assistant-quick[hidden] {
  display: none !important;
}

.service-assistant-form {
  flex: 0 0 auto;
  margin: 0;
  padding: 10px 14px 8px;
  background: #111d26;
}

.service-assistant-form > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  align-items: end;
  gap: 7px;
  padding: 5px;
  border: 1px solid #4a5d68;
  border-radius: 14px;
  background: #0d181f;
}

.service-assistant-form > div:focus-within {
  border-color: #d36d66;
  box-shadow: 0 0 0 3px rgba(211, 109, 102, .13);
}

.service-assistant-form textarea {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  max-height: 96px;
  margin: 0;
  padding: 10px 8px;
  overflow-y: auto;
  border: 0;
  outline: 0;
  resize: none;
  background: transparent;
  color: #f5f7f8;
  font-size: 16px;
  line-height: 1.35;
}

.service-assistant-form textarea::placeholder {
  color: #84939c;
}

.service-assistant-form button[type="submit"] {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  border-radius: 11px;
  background: #ad4740;
  color: #fff;
}

.service-assistant-form button[type="submit"]:disabled {
  cursor: wait;
  opacity: .55;
}

.service-assistant-form button svg {
  width: 18px;
  height: 18px;
}

.service-assistant-form > p {
  margin: 6px 3px 0;
  color: #83919a;
  font-size: 9px;
  line-height: 1.35;
}

.service-assistant-footer {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 38px;
  padding: 7px 14px;
  border-top: 1px solid #2f414b;
  background: #0b151c;
  color: #84939c;
  font-size: 9px;
}

.service-assistant-footer span,
.service-assistant-footer a {
  display: flex;
  align-items: center;
  gap: 5px;
}

.service-assistant-footer svg {
  width: 13px;
  height: 13px;
}

.service-assistant-footer span svg {
  color: #61c69a;
}

.service-assistant-footer a {
  color: #edf2f4;
  font-weight: 750;
}

.service-assistant-message.is-typing > div {
  display: flex;
  gap: 4px;
  align-items: center;
  min-height: 38px;
}

.service-assistant-message.is-typing span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #d47972;
  animation: service-assistant-dot .9s infinite alternate;
}

.service-assistant-message.is-typing span:nth-child(2) { animation-delay: .18s; }
.service-assistant-message.is-typing span:nth-child(3) { animation-delay: .36s; }

@keyframes service-assistant-dot {
  to { opacity: .3; transform: translateY(-3px); }
}

.service-assistant :is(button, a, textarea):focus-visible,
.service-assistant-launch:focus-visible {
  outline: 3px solid #f0b92f;
  outline-offset: 3px;
}

@media (max-width: 650px) {
  .hero-service-slider .hero-actions .hero-sarah-link {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .service-assistant-launch {
    right: 12px;
    bottom: calc(76px + env(safe-area-inset-bottom));
    width: auto;
    max-width: calc(100vw - 24px);
    min-width: 218px;
    height: 60px;
    min-height: 60px;
    padding: 4px 13px 4px 4px;
    border-radius: 999px;
  }

  .service-assistant-launch-avatar {
    width: 50px;
    height: 50px;
  }

  .service-assistant-launch > svg {
    display: none;
  }

  body.service-assistant-open {
    overflow: hidden;
  }

  .service-assistant {
    inset: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    max-height: none;
    border: 0;
    border-radius: 0;
    animation-name: service-assistant-mobile-in;
  }

  @keyframes service-assistant-mobile-in {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: none; }
  }

  .service-assistant-header {
    min-height: calc(82px + env(safe-area-inset-top));
    padding: calc(10px + env(safe-area-inset-top)) 12px 10px;
  }

  .service-assistant-messages {
    padding-inline: 12px;
  }

  .service-assistant-quick {
    padding-inline: 12px;
  }

  .service-assistant-form {
    padding-inline: 12px;
  }

  .service-assistant-footer {
    min-height: calc(39px + env(safe-area-inset-bottom));
    padding: 7px 12px calc(7px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 980px) {
  .main-nav .nav-sarah-link {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px;
    border: 1px solid #4b5d68;
    border-radius: 11px;
    background: #172630;
    color: #f5f7f8;
    text-align: left;
  }

  .nav-sarah-link img {
    width: 38px;
    height: 38px;
    object-fit: cover;
    object-position: 50% 17%;
    border: 1px solid #d4746d;
    border-radius: 50%;
    background: #2a3943;
  }

  .nav-sarah-link span {
    display: flex;
    flex-direction: column;
    min-width: 0;
  }

  .nav-sarah-link b {
    font: 800 13px 'Manrope', Arial, sans-serif;
  }

  .nav-sarah-link small {
    color: #9eabb3;
    font-size: 10px;
  }

  .nav-sarah-link > svg {
    width: 17px;
    height: 17px;
    color: #e47e77;
  }
}

@media (max-width: 370px) {
  .service-assistant-launch {
    min-width: 198px;
  }

  .service-assistant-launch b {
    font-size: 12px;
  }

  .service-assistant-header {
    grid-template-columns: 50px minmax(0, 1fr) 38px;
  }

  .service-assistant-avatar {
    width: 50px;
    height: 50px;
  }

  .service-assistant-footer span {
    display: none;
  }

  .service-assistant-footer {
    justify-content: flex-end;
  }
}

@media (max-width: 500px) {
  .hero-service-slider .hero-actions .hero-sarah-link {
    width: 100%;
    min-height: 46px;
    justify-content: center;
    border-radius: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .service-assistant,
  .service-assistant-message.is-typing span {
    animation: none;
  }
}

