/* ==========================================================================
   OHDR Home V4 — the approved redesign (Figtree, navy + signal red, One-Hour Dial).
   Everything is namespaced: classes, custom properties, keyframes and JS hooks
   carry a v4- prefix, element rules are scoped with :where(.v4-root) so any
   component class beats them. Parent-theme and review-plugin CSS is dequeued on
   this template (see functions.php), so no reset fights these rules.
   ==========================================================================
   Author: Hamza Rizvi <https://hamzarizvi.com/> */

/* Figtree variable 300–900 (OFL-1.1), self-hosted */
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;src:url('../fonts/figtree-var-300-900-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;src:url('../fonts/figtree-var-300-900-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
.v4-root{
  --v4-ink:#0B1220; --v4-ink-2:#26334A; --v4-muted:#566377; --v4-line:#E3E8EF; --v4-mist:#F3F6FA; --v4-paper:#FFFFFF;
  --v4-red:#D92D20; --v4-red-deep:#B42318; --v4-blue:#1D5FD6; --v4-gold:#F5A524; --v4-green:#12A150;
  --v4-r-sm:10px; --v4-r-md:16px; --v4-r-lg:24px;
  --v4-shadow-1:0 1px 2px rgba(11,18,32,.06),0 1px 1px rgba(11,18,32,.04);
  --v4-shadow-2:0 14px 34px -14px rgba(11,18,32,.22),0 2px 6px rgba(11,18,32,.05);
  --v4-shadow-3:0 34px 80px -28px rgba(11,18,32,.34);
  /* One family, used well: Figtree is friendly like the mascot, clear at every size, and its tabular digits keep times and prices steady */
  --v4-display:'Figtree',ui-sans-serif,system-ui,sans-serif;
  --v4-body:'Figtree',ui-sans-serif,system-ui,sans-serif;
  --v4-ease:cubic-bezier(.22,1,.36,1);
  color-scheme:light; interpolate-size:allow-keywords;
}
:where(.v4-root) *,:where(.v4-root) *::before,:where(.v4-root) *::after{box-sizing:border-box}
.v4-root{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body.ohdr-v4{margin:0;background:var(--v4-paper);color:var(--v4-ink);font:400 17px/1.6 var(--v4-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
:where(.v4-root) img{display:block;max-width:100%;height:auto}
:where(.v4-root) a{color:inherit;text-decoration:none}
:where(.v4-root) :is(button,input){font:inherit;color:inherit}
:where(.v4-root) :is(h1,h2,h3,h4){font-family:var(--v4-display);margin:0;font-weight:750;letter-spacing:-.02em;line-height:1.08;color:var(--v4-ink);text-wrap:balance}
:where(.v4-root) p{margin:0}
:where(.v4-root) :is(p,blockquote){text-wrap:pretty}
:where(.v4-root) :focus-visible{outline:3px solid var(--v4-blue);outline-offset:3px;border-radius:6px}
/* Small print after a label (the lifetime warranty's exception) */
.v4-fine{font-size:.8em;font-weight:500;letter-spacing:0;color:var(--v4-muted)}
.v4-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.v4-wrap{width:min(1240px,100% - 48px);margin-inline:auto}
.v4-sec{padding-block:clamp(76px,9vw,124px)}
.v4-sh{max-width:700px;margin-bottom:clamp(34px,4vw,54px)}
.v4-sh h2{margin-top:16px}
.v4-sh p:not(.v4-eyebrow){margin-top:18px;color:var(--v4-muted);font-size:18.5px;line-height:1.6}
/* A section intro across the page, its text in two columns (homepage Repairs) */
.v4-sh--wide{max-width:none}
.v4-sh__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px);margin-top:18px}
.v4-sh__cols p:not(.v4-eyebrow){margin-top:0}
@media (max-width:760px){.v4-sh__cols{grid-template-columns:minmax(0,1fr);gap:14px}}
:where(.v4-root) h2{font-size:clamp(34px,4.1vw,56px);letter-spacing:-.03em;line-height:1.04}
/* Section label — one pill for every section (introduced on the reviews heading) */
.v4-eyebrow{display:inline-block;margin:0;padding:6px 14px;border-radius:999px;background:#FFEAE4;color:var(--v4-red-deep);font:800 12px/1.6 var(--v4-body);letter-spacing:.04em;text-transform:uppercase}

/* Buttons — squared-off, one action colour */
.v4-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 22px;border:1px solid transparent;border-radius:var(--v4-r-sm);font:600 16px/1 var(--v4-body);letter-spacing:-.005em;white-space:nowrap;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}
.v4-btn--red{background:var(--v4-red);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 22px -10px rgba(217,45,32,.6)}
.v4-btn--red:hover{background:var(--v4-red-deep)}
.v4-btn--ink{background:var(--v4-ink);color:#fff}
.v4-btn--ink:hover{background:#1B2638}
.v4-btn--ghost{background:#fff;color:var(--v4-ink);border-color:var(--v4-line)}
.v4-btn--ghost:hover{border-color:#C6D0DC;background:var(--v4-mist)}
.v4-btn--white{background:#fff;color:var(--v4-red-deep)}
.v4-btn--white:hover{background:#FFF1EF}
.v4-btn--line{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.v4-btn--line:hover{background:rgba(255,255,255,.1)}
.v4-btn--sm{height:42px;padding:0 16px;font-size:15px}

/* Status (live, Pacific time) */
.v4-status{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--v4-line);border-radius:8px;background:#fff;font:600 13px/1 var(--v4-body);font-variant-numeric:tabular-nums;color:var(--v4-ink-2);white-space:nowrap}
.v4-status i{width:8px;height:8px;border-radius:50%;background:var(--v4-green);animation:v4-pulse 2.4s infinite}
.v4-status.is-closed i{background:#98A2B3;animation:none}
@keyframes v4-pulse{0%{box-shadow:0 0 0 0 rgba(18,161,80,.45)}70%{box-shadow:0 0 0 7px rgba(18,161,80,0)}100%{box-shadow:0 0 0 0 rgba(18,161,80,0)}}

/* Top bar — social profiles left, opening hours right, as on the JunkPros site. It scrolls away; the header sticks. */
/* Announcement banner above the top bar (Appearance → OHDR Theme → Header & announcement; inc/settings/front.php) */
.v4-bnr{position:relative;background:var(--v4-ink);color:#fff;font-size:14px;line-height:1.45}
.v4-bnr--promo{background:var(--v4-red-deep)}
.v4-bnr--alert{background:#FFF4D6;color:#5A3B00;border-bottom:1px solid #F3D58A}
.v4-bnr__in{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 12px;max-width:1240px;min-height:40px;margin:0 auto;padding:8px 48px;text-align:center}
.v4-bnr__icon{flex:none;opacity:.9}
.v4-bnr__text{margin:0}
.v4-bnr__link{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.v4-bnr__link:hover{text-decoration-thickness:2px}
.v4-bnr__x{position:absolute;top:50%;right:8px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer;opacity:.8;transform:translateY(-50%)}
.v4-bnr__x:hover{opacity:1;background:rgba(255,255,255,.14)}
.v4-bnr--alert .v4-bnr__x:hover{background:rgba(90,59,0,.08)}
.v4-bnr__x:focus-visible,.v4-bnr__link:focus-visible{outline:2px solid currentColor;outline-offset:2px}
@media (max-width:640px){
  .v4-bnr{font-size:13.5px}
  .v4-bnr__in{justify-content:flex-start;padding:8px 44px 8px 16px;text-align:left}
  .v4-bnr__icon{display:none}
}
.v4-topbar{background:#fff;border-bottom:1px solid var(--v4-line);font-size:13.5px;color:var(--v4-ink-2)}
.v4-topbar__in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px}
.v4-topbar__social{display:flex;align-items:center;gap:2px;margin:0 0 0 -7px;padding:0;list-style:none}
.v4-topbar__social a{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:var(--v4-ink-2);transition:background-color .2s,color .2s}
.v4-topbar__social a:hover{background:#FFEAE4;color:var(--v4-red-deep)}
.v4-topbar__social svg{width:16px;height:16px}
.v4-topbar__social span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.v4-topbar__meta{display:flex;align-items:center;gap:22px;margin:0;white-space:nowrap}
.v4-topbar__note{font-weight:600;color:var(--v4-ink)}
.v4-topbar__hours{display:inline-flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums}
.v4-topbar__hours svg{flex:none;color:var(--v4-red)}
.v4-topbar__hours b{font-weight:700;color:var(--v4-ink)}
.v4-topbar__long span+span::before{content:'·';margin:0 8px;color:#98A2B3}
.v4-topbar__short{display:none;font-weight:600}
@media (max-width:900px){.v4-topbar__note{display:none}}
/* Phones: one slim row — the first five profiles (the full set is in the footer) and the hours in short form */
@media (max-width:760px){
  .v4-topbar{font-size:12.5px}
  .v4-topbar__in{gap:10px;min-height:38px}
  .v4-topbar__social{margin-left:-6px}
  .v4-topbar__social a{width:28px;height:28px}
  .v4-topbar__social li:nth-child(n+6),.v4-topbar__long{display:none}
  .v4-topbar__short{display:inline}
}
@media (max-width:359px){.v4-topbar__social li:nth-child(n+5){display:none}}

/* Header */
.v4-hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s}
.v4-hdr.is-scrolled{border-bottom-color:var(--v4-line);box-shadow:0 10px 28px -22px rgba(11,18,32,.35)}
.v4-hdr__in{height:74px;display:flex;align-items:center;gap:28px}
.v4-hdr__logo img{width:204px}
.v4-hdr__nav{margin-left:10px}
.v4-nav{display:flex;align-items:center;gap:22px;margin:0;padding:0;list-style:none}
.v4-nav__item{position:relative;display:flex;align-items:center;gap:1px}
.v4-nav__item>a{position:relative;padding:6px 0;font-size:15px;font-weight:500;color:var(--v4-ink-2)}
.v4-nav__item>a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--v4-red);transform:scaleX(0);transform-origin:left;transition:transform .28s var(--v4-ease)}
.v4-nav__item>a:hover::after,.v4-nav__item.is-current>a::after{transform:scaleX(1)}
.v4-nav__item.is-current>a{color:var(--v4-ink)}
.v4-nav__caret{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:6px;background:none;color:var(--v4-muted);cursor:pointer;transition:transform .2s,background-color .2s}
.v4-nav__caret:hover{background:var(--v4-mist);color:var(--v4-ink)}
.v4-nav__item.is-open .v4-nav__caret{transform:rotate(180deg)}
/* Dropdown: opens on hover or keyboard focus, or with the arrow on touch screens */
.v4-nav__panel{position:absolute;top:calc(100% + 14px);left:-18px;z-index:60;width:340px;padding:8px;border:1px solid var(--v4-line);border-radius:16px;background:#fff;box-shadow:var(--v4-shadow-3);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility 0s .18s}
.v4-nav__panel::before{content:'';position:absolute;left:0;right:0;top:-16px;height:16px}
.v4-nav__item.has-sub:hover .v4-nav__panel,.v4-nav__item.has-sub:focus-within .v4-nav__panel,.v4-nav__item.is-open .v4-nav__panel{opacity:1;visibility:visible;transform:none;transition:opacity .18s,transform .18s,visibility 0s}
.v4-nav__panel ul{margin:0;padding:0;list-style:none}
.v4-nav__panel li a{display:block;padding:10px 12px;border-radius:10px;transition:background-color .15s}
.v4-nav__panel li a:hover,.v4-nav__panel li a[aria-current]{background:var(--v4-mist)}
.v4-nav__panel b{display:block;font-size:15px;font-weight:650;color:var(--v4-ink)}
.v4-nav__panel small{display:block;margin-top:2px;font-size:13px;line-height:1.35;color:var(--v4-muted)}
.v4-nav__all{display:flex;align-items:center;gap:6px;margin:6px 4px 2px;padding:11px 8px 6px;border-top:1px solid var(--v4-line);font-size:14px;font-weight:650;color:var(--v4-red-deep)}
.v4-nav__all:hover{color:var(--v4-red)}
/* Pricing mega menu (as on the live site): the header's full width, every company's price pages in columns that flow
   newspaper-style so all 14 fit one screen; on a short screen the columns scroll, never the page behind */
.v4-hdr__in{position:relative}
.v4-nav__item.has-mega{position:static}
.v4-mega{top:calc(100% - 6px);left:0;right:0;width:auto;padding:22px 26px 12px}
.v4-mega::before{top:-30px;height:30px}
.v4-mega__cols{columns:6 168px;column-gap:28px;max-height:calc(100vh - 210px);max-height:calc(100dvh - 210px);overflow-y:auto;overscroll-behavior:contain}
.v4-mega__col{break-inside:avoid;margin:0 0 18px}
.v4-mega__head{margin:0 0 6px;font:750 14.5px/1.3 var(--v4-display);letter-spacing:-.005em;color:var(--v4-ink)}
.v4-mega__head a{color:inherit}
.v4-mega__head a:hover,.v4-mega__head a[aria-current]{color:var(--v4-red)}
.v4-mega__col ul{margin:0;padding:0;list-style:none}
.v4-mega .v4-mega__col li a{display:block;padding:3px 0;border-radius:0;background:none;font-size:13.5px;line-height:1.35;color:var(--v4-ink-2)}
.v4-mega .v4-mega__col li a:hover{background:none;color:var(--v4-red)}
.v4-mega .v4-mega__col li a[aria-current]{background:none;font-weight:650;color:var(--v4-red)}
.v4-mega__foot{display:flex;flex-wrap:wrap;gap:4px 28px;margin:0;padding-top:4px;border-top:1px solid var(--v4-line)}
.v4-mega__foot .v4-nav__all{margin:0;padding:12px 0 4px;border:0}
.v4-hdr__act{margin-left:auto;display:flex;align-items:center;gap:16px}
.v4-hdr__phone{font:600 15px/1 var(--v4-body);font-variant-numeric:tabular-nums;color:var(--v4-ink-2)}
.v4-hdr__phone:hover{color:var(--v4-red)}
.v4-hdr__icon{display:none;width:44px;height:44px;place-items:center;border:1px solid var(--v4-line);border-radius:12px;background:#fff;color:var(--v4-ink);cursor:pointer}
.v4-menu{display:none}
@keyframes v4-menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* Hero */
/* Clip sideways only: the device list must drop down over the trust strip, and z-index keeps it above the sections below */
.v4-hero{position:relative;z-index:2;overflow-x:clip;padding:52px 0 56px;background:radial-gradient(760px 620px at 76% 44%,#E8EEF7 0%,rgba(232,238,247,0) 70%),var(--v4-paper)}
.v4-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,80px);align-items:center}
.v4-hero__title{margin:22px 0 26px;font-size:clamp(46px,6.5vw,92px);line-height:.96;letter-spacing:-.035em;font-weight:800}
.v4-hero__title .v4-line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.v4-hero__title .v4-line>span{display:block}
.v4-hero__title em{font-style:normal;color:var(--v4-red)}
.v4-hero__sub{max-width:33em;font-size:clamp(17px,1.35vw,19.5px);line-height:1.62;color:var(--v4-muted)}
.v4-finder{position:relative;max-width:590px;margin-top:34px}
.v4-finder__field{display:flex;align-items:center;gap:10px;padding:7px 7px 7px 18px;background:#fff;border:1px solid var(--v4-line);border-radius:14px;box-shadow:var(--v4-shadow-2);transition:border-color .2s,box-shadow .2s}
.v4-finder__field:focus-within{border-color:#A6C0F0;box-shadow:0 0 0 4px rgba(29,95,214,.13),var(--v4-shadow-2)}
.v4-finder__field>svg{flex:none;color:#7A8698}
.v4-finder input{flex:1;min-width:0;height:50px;border:0;outline:0;background:transparent;font-size:16.5px}
.v4-finder input::placeholder{color:#8792A3}
.v4-finder__list{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:30;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--v4-line);border-radius:14px;box-shadow:var(--v4-shadow-3)}
.v4-finder__list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:0;border-radius:10px;background:none;text-align:left;font-size:15.5px;cursor:pointer}
.v4-finder__list button:hover,.v4-finder__list button.is-active{background:var(--v4-mist)}
.v4-finder__list small{font:600 12.5px/1 var(--v4-body);color:var(--v4-muted);white-space:nowrap}
.v4-finder__list .v4-finder__empty{padding:12px;color:var(--v4-muted);font-size:15px}
.v4-finder__alt{margin:14px 0 0;font-size:15px;color:var(--v4-muted)}
.v4-finder__alt a{margin-left:4px;font-weight:700;color:var(--v4-ink);white-space:nowrap}
.v4-finder__alt svg{margin-right:7px;vertical-align:-3px;color:var(--v4-red)}
.v4-finder__alt span{text-decoration-line:underline;text-decoration-thickness:2px;text-decoration-color:rgba(217,45,32,.35);text-underline-offset:4px;transition:text-decoration-color .2s}
.v4-finder__alt a:hover span{text-decoration-color:var(--v4-red)}
.v4-proof{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:34px;font-size:14.5px;color:var(--v4-muted)}
.v4-proof__avatars{display:flex}
.v4-proof__avatars img{width:34px;height:34px;margin-left:-9px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px rgba(11,18,32,.2)}
.v4-proof__avatars img:first-child{margin-left:0}
.v4-proof__rating{display:flex;align-items:center;gap:8px}
.v4-proof b{font-weight:600;color:var(--v4-ink)}
.v4-stars{--v:5;position:relative;display:inline-block;font-size:15px;line-height:1;letter-spacing:2px;color:#D3DAE3;white-space:nowrap}
.v4-stars::before{content:'★★★★★';position:absolute;inset:0;width:calc(var(--v) / 5 * 100%);overflow:hidden;color:var(--v4-gold)}

/* The One-Hour Dial — signature */
.v4-hero__dial{position:relative;display:flex;flex-direction:column;align-items:center}
.v4-dial{position:relative;width:min(540px,100%);aspect-ratio:1;margin:0;container-type:inline-size}
.v4-dial__disc{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 36%,#FFFFFF 0%,#F7F9FC 56%,#ECF0F6 100%);box-shadow:0 60px 100px -46px rgba(11,18,32,.45),0 0 0 1px rgba(11,18,32,.06),inset 0 2px 0 #fff,inset 0 -16px 34px rgba(11,18,32,.05)}
.v4-dial__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.v4-tk{stroke:#A9B3C0;stroke-width:1.6;stroke-linecap:round}
.v4-tk--maj{stroke:var(--v4-ink);stroke-width:2.8}
.v4-dial__num{font:600 16px var(--v4-body);font-variant-numeric:tabular-nums;fill:#6C788A}
.v4-dial__track{fill:none;stroke:#E6EBF2;stroke-width:14}
.v4-dial__arc{fill:none;stroke:var(--v4-red);stroke-width:14;stroke-linecap:round}
.v4-dial__inner{fill:url(#v4-dial-face);stroke:#E1E7EF;stroke-width:1.5}
.v4-dial__center{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.v4-dial__mascot{width:52%;pointer-events:auto;filter:drop-shadow(0 18px 20px rgba(11,18,32,.2));-webkit-user-drag:none;user-select:none}
.v4-dial__hand{position:absolute;inset:0;pointer-events:none}
.v4-dial__knob{position:absolute;left:50%;top:calc(50% - 43.93cqw);width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:#fff;border:4px solid var(--v4-red);box-shadow:0 4px 14px rgba(217,45,32,.45);transition:opacity .4s}
.v4-dial.is-done .v4-dial__knob{opacity:0}
.v4-mk{position:absolute;left:50%;top:50%;z-index:3;width:0;height:0;transform:rotate(calc(var(--m) * 6deg)) translateY(-43.93cqw) rotate(calc(var(--m) * -6deg))}
.v4-mk__btn{position:absolute;left:-16px;top:-16px;width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:none;cursor:pointer}
.v4-mk__dot{width:17px;height:17px;border-radius:50%;background:var(--v4-red);border:3px solid #fff;box-shadow:0 2px 8px rgba(11,18,32,.35);transition:background-color .3s,border-color .3s}
.v4-mk__ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--v4-red);opacity:0;pointer-events:none}
/* Milestones: the stop the arc is resting on pulses while its story shows in the readout */
.v4-mk.is-current{z-index:4}
.v4-mk.is-current .v4-mk__ring{animation:v4-ring 1.6s var(--v4-ease) infinite}
@keyframes v4-ring{0%{transform:scale(.9);opacity:.7}100%{transform:scale(2.5);opacity:0}}
.v4-mk__tip{position:absolute;z-index:4;min-width:190px;padding:10px 13px;border-radius:10px;background:var(--v4-ink);color:#fff;font-size:13.5px;line-height:1.35;box-shadow:var(--v4-shadow-3);opacity:0;pointer-events:none;transition:opacity .18s}
.v4-mk__tip b{display:block;margin-bottom:3px;font:800 12.5px/1.2 var(--v4-body);letter-spacing:.02em;color:#FFB0A5}
.v4-mk__tip span{display:block;margin-top:3px;font-size:12.5px;color:#AFBBCC}
.v4-mk[data-side=l] .v4-mk__tip{right:22px;top:0;transform:translateY(-50%)}
.v4-mk[data-side=r] .v4-mk__tip{left:22px;top:0;transform:translateY(-50%)}
.v4-mk[data-side=t] .v4-mk__tip{bottom:22px;left:0;transform:translateX(-50%)}
.v4-mk[data-side=b] .v4-mk__tip{top:22px;left:0;transform:translateX(-50%)}
.v4-mk__btn:hover+.v4-mk__tip,.v4-mk__btn:focus-visible+.v4-mk__tip{opacity:1}
.v4-readout{position:relative;z-index:5;display:flex;align-items:center;gap:16px;width:min(440px,94%);margin-top:-14px;padding:12px 16px;background:#fff;border:1px solid var(--v4-line);border-radius:12px;box-shadow:var(--v4-shadow-2)}
.v4-readout__lbl{display:block;margin-bottom:5px;font:700 10.5px/1 var(--v4-body);letter-spacing:.12em;text-transform:uppercase;color:var(--v4-muted)}
.v4-readout__time{font:800 27px/1 var(--v4-body);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.v4-readout__div{align-self:stretch;width:1px;background:var(--v4-line)}
/* Two-line clamp: long review labels wrap instead of truncating; two lines fit inside the timer's height, so nothing jumps */
/* Two short lines — the repair, then who reported it — so each milestone reads at a glance, phones included */
.v4-readout__note{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:42px;font-size:14px;line-height:1.35;color:var(--v4-ink-2)}
.v4-readout__note b{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;color:var(--v4-ink)}
.v4-readout__note span{display:block;overflow:hidden;margin-top:2px;white-space:nowrap;text-overflow:ellipsis;color:var(--v4-muted)}
.v4-readout__note.is-done b{color:var(--v4-green)}
.v4-dial__cap{margin-top:16px;font-size:13.5px;color:var(--v4-muted);text-align:center}
.v4-dial__cap i{display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;background:var(--v4-red);border:2px solid #fff;box-shadow:0 0 0 1px rgba(217,45,32,.35);vertical-align:-1px}

/* Clocked by customers */
.v4-ticker{display:flex;align-items:stretch;overflow:hidden;background:var(--v4-mist);border-block:1px solid var(--v4-line)}
.v4-ticker__label{position:relative;z-index:1;flex:none;display:flex;align-items:center;padding:0 24px 0 max(24px,calc((100vw - 1240px) / 2));background:var(--v4-mist);font:800 12px/1.2 var(--v4-body);letter-spacing:.12em;text-transform:uppercase;box-shadow:14px 0 18px -10px var(--v4-mist)}
.v4-ticker__track{flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.v4-ticker__rail{display:flex;width:max-content;animation:v4-rail 56s linear infinite}
.v4-ticker:hover .v4-ticker__rail{animation-play-state:paused}
@keyframes v4-rail{to{transform:translateX(-50%)}}
.v4-tick{display:inline-flex;align-items:center;gap:10px;padding:19px 0 19px 28px;font-size:14.5px;color:var(--v4-ink-2);white-space:nowrap}
.v4-tick b{font:800 14.5px/1 var(--v4-body);font-variant-numeric:tabular-nums;color:var(--v4-red)}
.v4-tick em{font-style:normal;color:var(--v4-muted)}
.v4-tick::after{content:'';width:4px;height:4px;margin-left:18px;border-radius:50%;background:#B6C0CD}

/* Trust strip — five proof points straight under the hero */
.v4-trust{background:var(--v4-paper)}
/* Each proof point as wide as its words, spread across the row; only one marked .is-flex gives way (its detail wraps)
   when the row is tight. Below 1280px: three to a row. */
.v4-trust__list{display:flex;justify-content:space-between;gap:18px 20px;margin-block:0;padding:26px 0 30px;list-style:none}
.v4-trust__list li{display:flex;flex:0 0 auto;align-items:center;gap:12px}
.v4-trust__list li.is-flex{flex-shrink:1;min-width:0}
@media (min-width:1280px){.v4-trust__list b{white-space:nowrap}}
@media (max-width:1279px){
  .v4-trust__list{flex-wrap:wrap;justify-content:center}
  .v4-trust__list li,.v4-trust__list li.is-flex{flex:0 1 calc((100% - 48px) / 3);min-width:0}
}
.v4-trust__icon{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#FFEAE4;color:var(--v4-red)}
.v4-trust__list b{display:block;font-size:15px;font-weight:700;line-height:1.3;color:var(--v4-ink)}
.v4-trust__list li>span:last-child{font-size:13.5px;line-height:1.35;color:var(--v4-muted)}
.v4-trust__sub{display:block;font-size:inherit;text-wrap:balance}
/* Small print under a detail (the warranty's exception) */
.v4-trust__fine{display:block;margin-top:1px;font-size:11.5px;line-height:1.35;color:#8792A4}

/* Services — bento */
.v4-svc{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}
.v4-card{position:relative;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--v4-line);border-radius:var(--v4-r-md);transition:transform .4s var(--v4-ease),box-shadow .4s,border-color .4s}
.v4-card:hover{transform:translateY(-4px);box-shadow:var(--v4-shadow-3);border-color:#D4DCE6}
.v4-card__img{overflow:hidden;aspect-ratio:16/9;background:var(--v4-mist)}
.v4-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--v4-ease)}
.v4-card:hover .v4-card__img img{transform:scale(1.05)}
.v4-card__body{flex:1;display:flex;flex-direction:column;gap:10px;padding:22px 24px}
.v4-card h3{font-size:23px}
.v4-card p{font-size:15.5px;line-height:1.55;color:var(--v4-muted)}
.v4-card__foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px}
.v4-price{font:700 11.5px/1 var(--v4-body);letter-spacing:.1em;text-transform:uppercase;color:var(--v4-muted)}
.v4-price b{margin-left:5px;font-size:18px;font-weight:800;letter-spacing:-.01em;color:var(--v4-ink)}
.v4-go{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--v4-mist);transition:background .25s,color .25s}
.v4-card:hover .v4-go{background:var(--v4-red);color:#fff}
.v4-tags{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0;list-style:none}
.v4-tags li{padding:7px 10px;border-radius:7px;background:var(--v4-mist);font:600 13px/1 var(--v4-body);color:var(--v4-ink-2)}
.v4-card--big{grid-row:span 2}
.v4-card--big .v4-card__img{aspect-ratio:4/3.3}
.v4-card--big h3{font-size:30px}
.v4-card--big p{font-size:16.5px}
.v4-card--wide{grid-column:span 2;flex-direction:row}
.v4-card--wide .v4-card__img{flex:1.05;aspect-ratio:auto}
.v4-card--wide .v4-card__body{flex:1}
.v4-also{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:24px;font-size:15px;color:var(--v4-muted)}
.v4-also b{font:800 12px/1 var(--v4-body);letter-spacing:.12em;text-transform:uppercase;color:var(--v4-ink)}
.v4-also span{display:inline-flex;align-items:center;gap:8px}
.v4-also span::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--v4-red)}
/* Homepage: repair prices by company — each maker's logo, linking to its price page */
.v4-brandrow{margin-top:clamp(44px,5vw,64px);padding-top:clamp(30px,3.6vw,42px);border-top:1px solid var(--v4-line)}
.v4-brandrow__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 24px;margin-bottom:22px}
.v4-brandrow__head h3{font-size:clamp(23px,2.1vw,30px);letter-spacing:-.025em}
.v4-brandrow__head p{margin:8px 0 0;font-size:16.5px;color:var(--v4-muted)}
.v4-brandrow__list{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.v4-brandrow__list a{display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;padding:8px 8px 12px;border:1px solid var(--v4-line);border-radius:var(--v4-r-md);background:#fff;box-shadow:var(--v4-shadow-1);transition:border-color .2s,box-shadow .2s,transform .2s}
.v4-brandrow__list a:hover{border-color:#F4B5AE;box-shadow:var(--v4-shadow-2);transform:translateY(-2px)}
.v4-brandrow__list a:focus-visible{outline:3px solid var(--v4-blue);outline-offset:3px}
.v4-brandrow__list img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain}
.v4-brandrow__list a>span{margin-top:auto;font-size:13.5px;font-weight:700;text-align:center;color:var(--v4-ink-2)}
/* SquareTrade callout under the logos: icon, title and line, and a call button */
.v4-st-note{position:relative;display:flex;align-items:center;gap:18px 20px;margin-top:20px;padding:20px 22px 20px 20px;overflow:hidden;border:1px solid #F6D2CB;border-radius:var(--v4-r-lg);background:radial-gradient(420px 160px at 0% 0%,#FFE9E3 0%,rgba(255,233,227,0) 70%),linear-gradient(90deg,#FFF6F3,#fff 60%);box-shadow:var(--v4-shadow-1)}
.v4-st-note::before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--v4-red)}
.v4-st-note__icon{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px #F6D2CB,0 6px 14px rgba(217,45,32,.12);color:var(--v4-red)}
.v4-st-note__text{flex:1 1 auto;min-width:0}
.v4-st-note__text p{margin:0;font-size:16px;line-height:1.5;color:var(--v4-ink-2)}
.v4-st-note__text .v4-st-note__title{margin-bottom:3px;font:800 12px/1.2 var(--v4-body);letter-spacing:.12em;text-transform:uppercase;color:var(--v4-red)}
.v4-st-note__btn{flex:none;gap:8px}
@media (max-width:760px){
  .v4-st-note{flex-wrap:wrap;align-items:flex-start;padding:18px 18px 18px 20px}
  .v4-st-note__icon{width:48px;height:48px;border-radius:14px}
  .v4-st-note__text{flex-basis:calc(100% - 68px)}
  .v4-st-note__btn{width:100%;justify-content:center}
}
@media (max-width:1000px){.v4-brandrow__list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:420px){.v4-brandrow__list{gap:8px}.v4-brandrow__list a{padding:6px 4px 10px}.v4-brandrow__list a>span{font-size:12px}}
@media (prefers-reduced-motion:reduce){.v4-brandrow__list a{transition:none}.v4-brandrow__list a:hover{transform:none}}

/* How it works */
.v4-how{background:var(--v4-mist)}
.v4-how__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,6vw,96px);align-items:center}
.v4-how__media{position:relative;overflow:hidden;border-radius:var(--v4-r-lg);box-shadow:var(--v4-shadow-3)}
.v4-how__media img{width:100%;aspect-ratio:3/2.45;object-fit:cover}
.v4-how__badge{position:absolute;left:18px;right:18px;bottom:18px;display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(255,255,255,.8);border-radius:12px;background:rgba(255,255,255,.93);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:15px;font-weight:600}
.v4-how__badge svg{flex:none;color:var(--v4-red)}
.v4-how__badge span{font-weight:400;color:var(--v4-muted)}
.v4-steps{position:relative;display:grid;gap:30px;margin:34px 0 0;padding:0;list-style:none}
.v4-steps::before,.v4-steps__line{content:'';position:absolute;left:21px;top:10px;bottom:10px;width:2px;border-radius:2px;background:#D9E0EA}
.v4-steps__line{background:var(--v4-red);transform-origin:top}
.v4-steps li{position:relative;display:grid;grid-template-columns:44px 1fr;gap:18px}
.v4-steps__n{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--v4-line);border-radius:12px;background:#fff;box-shadow:var(--v4-shadow-1);font:800 15px/1 var(--v4-body);font-variant-numeric:tabular-nums;color:var(--v4-red)}
.v4-steps h3{margin:8px 0 6px;font-size:22px}
.v4-steps p{font-size:16px;color:var(--v4-muted)}
.v4-how__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}

/* Board-level — the one dark band */
.v4-board{position:relative;isolation:isolate;overflow:hidden;background:var(--v4-ink);color:#fff}
.v4-board__media{position:absolute;inset:0 0 0 36%;z-index:-1;overflow:hidden}
.v4-board__media img{width:100%;height:120%;margin-top:-10%;object-fit:cover;object-position:62% 50%}
.v4-board__media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--v4-ink) 0%,rgba(11,18,32,.82) 20%,rgba(11,18,32,.18) 56%,rgba(11,18,32,.4) 100%)}
.v4-board__copy{max-width:570px;padding-block:clamp(88px,10vw,140px)}
.v4-board h2{margin-top:16px;color:#fff}
.v4-board__lead{margin-top:18px;font-size:18.5px;line-height:1.6;color:#B9C4D5}
.v4-caps{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;margin:30px 0 0;padding:0;list-style:none}
.v4-caps li{display:flex;align-items:flex-start;gap:10px;font-size:15.5px;line-height:1.4;color:#E4EAF3}
.v4-caps li::before{content:'';flex:none;width:18px;height:18px;margin-top:1px;border:1px solid rgba(255,138,122,.45);border-radius:5px;background:rgba(217,45,32,.2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF8A7A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat}
.v4-pull{margin:38px 0 0;padding:22px 24px;border-left:3px solid var(--v4-red);border-radius:0 12px 12px 0;background:rgba(255,255,255,.06);font-size:17.5px;line-height:1.55;color:#fff}
.v4-pull cite{display:block;margin-top:12px;font:700 12px/1 var(--v4-body);font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:#9DABBF}

/* Reviews — the live homepage's component (heading + score, store filter, carousel), measured from it */
.v4-rvw{background:var(--v4-paper)}
.v4-rvw__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 32px;margin-bottom:28px}
.v4-rvw__head>div:first-child{flex:1 1 auto;min-width:0}
.v4-rvw__head h2{margin-top:16px;font-size:clamp(30px,4.4vw,54px);font-weight:800;line-height:1.04}
.v4-rvw__head h2 span{color:var(--v4-red)}
.v4-rvw__score{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:14px 22px;border:1px solid var(--v4-line);border-radius:20px;background:#fff;box-shadow:0 16px 40px rgba(26,20,16,.08)}
.v4-rvw__score strong{font:800 40px/1 var(--v4-display);letter-spacing:-.02em}
.v4-rvw__score>span{display:flex;flex-direction:column;font-size:15px;line-height:1.6;letter-spacing:.1em;color:#FFC53D}
.v4-rvw__score small{font-size:12.5px;letter-spacing:0;color:var(--v4-muted)}
.v4-rvw__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.v4-rvw-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:2px solid rgba(11,18,32,.1);border-radius:999px;background:#fff;color:var(--v4-ink);font:500 16px/1 var(--v4-body);letter-spacing:-.01em;cursor:pointer;transition:transform .2s var(--v4-ease),border-color .2s,background-color .2s,color .2s}
.v4-rvw-chip b{font:800 12.5px/1 var(--v4-body);font-variant-numeric:tabular-nums;color:var(--v4-red)}
.v4-rvw-chip:hover{transform:translateY(-2px);border-color:var(--v4-red)}
.v4-rvw-chip.is-active{background:var(--v4-red);border-color:var(--v4-red);color:#fff}
.v4-rvw-chip.is-active b{color:#fff}
/* Padding gives the card shadows room (no clipped edge), negative margins keep the cards on the grid, scroll-padding keeps the first card snapped at 0 */
.v4-rvw__track{display:flex;gap:18px;margin:-18px -24px -34px;padding:24px 24px 44px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:24px;scroll-behavior:smooth;scrollbar-width:none}
.v4-rvw__track::-webkit-scrollbar{display:none}
.v4-rvw-card{position:relative;flex:0 0 clamp(280px,33%,380px);scroll-snap-align:start;display:flex;flex-direction:column;min-height:250px;padding:30px;border:1px solid var(--v4-line);border-radius:28px;background:#fff;box-shadow:0 16px 40px rgba(26,20,16,.08);transition:transform .3s var(--v4-ease),box-shadow .3s}
.v4-rvw-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(120,40,24,.12)}
.v4-rvw-card.is-hidden{display:none}
.v4-rvw-card__stars{font-size:16px;letter-spacing:.12em;color:#FFC53D}
.v4-rvw-card blockquote{margin:18px 0 22px;text-wrap:wrap;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;font:600 16px/1.45 var(--v4-display);letter-spacing:-.015em;color:var(--v4-ink)}
.v4-rvw-card footer{display:flex;align-items:center;gap:12px;margin-top:auto}
.v4-rvw-card__av{flex:none;width:42px;height:42px;border-radius:50%;object-fit:cover;background:#FFEAE4}
.v4-rvw-card__av--i{display:grid;place-items:center;font:800 16px/1 var(--v4-display);color:#fff;background:var(--v4-red)}
.v4-rvw-card__meta{display:flex;flex-direction:column;min-width:0}
.v4-rvw-card__meta strong{font-size:14px;font-weight:700;line-height:1.6}
.v4-rvw-card__meta small{font-size:12px;line-height:1.6;color:var(--v4-muted)}
.v4-rvw-card__link{position:absolute;inset:0;z-index:1;border-radius:inherit}
.v4-rvw__empty{padding:30px;color:var(--v4-muted)}
.v4-rvw__nav{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.v4-rvw-arrow{display:grid;place-items:center;width:50px;height:50px;padding:0;border:1px solid var(--v4-line);border-radius:50%;background:#fff;color:var(--v4-ink);box-shadow:0 16px 40px rgba(26,20,16,.08);cursor:pointer;transition:transform .2s var(--v4-ease),background-color .2s,color .2s,opacity .2s}
.v4-rvw-arrow:hover{border-color:var(--v4-red);background:var(--v4-red);color:#fff;transform:translateY(-2px)}
.v4-rvw-arrow:disabled{opacity:.35;cursor:default;pointer-events:none}

/* Stores */
.v4-stores{background:var(--v4-mist)}
/* Why choose us (homepage): the heading and first paragraph beside two cards. It follows the reviews on the same white,
   so a rule divides them instead of a second band of padding. */
.v4-rvw+.v4-why{padding-top:0}
.v4-why__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,5vw,72px);align-items:center;padding-top:clamp(56px,7vw,96px);border-top:1px solid var(--v4-line)}
.v4-why__intro{margin-bottom:0}
.v4-why__intro h2{font-size:clamp(32px,3.6vw,50px)}
.v4-why__intro strong{font-weight:700;color:var(--v4-ink)}
.v4-why__cards{display:grid;gap:16px;margin:0;padding:0;list-style:none}
.v4-why__cards li{display:flex;align-items:flex-start;gap:18px;padding:24px 26px;border:1px solid var(--v4-line);border-radius:var(--v4-r-lg);background:#fff;box-shadow:var(--v4-shadow-1)}
.v4-why__cards p{margin:0;font-size:16.5px;line-height:1.65;color:var(--v4-ink-2)}
.v4-why__icon{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#FFEAE4;color:var(--v4-red)}
@media (max-width:900px){
  .v4-why__grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .v4-why__cards li{gap:14px;padding:20px 18px}
  .v4-why__icon{width:42px;height:42px;border-radius:12px}
  .v4-why__cards p{font-size:15.5px}
}
/* Layout copied from the 8080 build: heading row with a details link, then three photo cards */
.v4-stores__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:clamp(28px,4vw,44px)}
.v4-stores__head .v4-sh{margin-bottom:0}
.v4-link-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:650;color:var(--v4-ink)}
.v4-link-arrow .v4-ico{transition:transform .18s}
.v4-link-arrow:hover{color:var(--v4-red)}
.v4-link-arrow:hover .v4-ico{transform:translateX(3px)}
.v4-stores__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.v4-store{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--v4-line);border-radius:var(--v4-r-md);background:#fff}
.v4-store__photo{aspect-ratio:16/10;overflow:hidden;background:#ECEFF3}
.v4-store__photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.v4-store:hover .v4-store__photo img{transform:scale(1.03)}
/* A store with no photo of its own: where it is, with the mascot — never another store's picture */
.v4-store__photo--none{position:relative;display:flex;align-items:center;padding:0 42% 0 24px;container-type:inline-size;background:radial-gradient(240px 190px at 80% 62%,#fff 0%,rgba(255,255,255,0) 72%),linear-gradient(135deg,#FFEAE4 0%,#F3F6FA 62%)}
.v4-store__photo--none span{position:relative;z-index:1;white-space:nowrap}
.v4-store__photo--none small{display:block;font:800 12px/1.4 var(--v4-body);letter-spacing:.08em;text-transform:uppercase;color:var(--v4-red-deep)}
.v4-store__photo--none b{display:block;margin-top:6px;font:800 clamp(19px,10.8cqw,26px)/1.15 var(--v4-display);letter-spacing:-.02em;color:var(--v4-ink)}
.v4-store__photo--none img{position:absolute;right:10px;bottom:0;width:auto;height:72%;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(11,18,32,.16))}
.v4-store__body{flex:1;display:flex;flex-direction:column;gap:12px;padding:22px}
.v4-store__title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.v4-store__title h3{font-size:20px}
.v4-ico{flex:none}
/* Store status badge: neutral until the live check runs, then green (open) or red (closed) */
.v4-store .v4-status{gap:6px;padding:4px 9px;border:0;border-radius:999px;background:#F1F3F6;font-size:12.5px;font-weight:700;color:var(--v4-muted)}
.v4-store .v4-status i{width:7px;height:7px;background:currentColor;animation:none}
.v4-store .v4-status.is-open{background:#E7F6EE;color:#0B7A44}
.v4-store .v4-status.is-closed{background:#FDEEEE;color:#B51B22}
.v4-store__meta{display:grid;gap:8px;margin:0;padding:0;list-style:none;font-size:15px;font-variant-numeric:tabular-nums}
.v4-store__meta li{display:flex;align-items:flex-start;gap:10px}
.v4-store__meta .v4-ico{margin-top:2px;color:var(--v4-red)}
.v4-store__meta a{font-weight:600;color:var(--v4-ink)}
.v4-store__meta a:hover{color:var(--v4-red)}
.v4-store__meta span{color:var(--v4-ink-2)}
.v4-store__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:auto;padding-top:8px}
.v4-store__actions .v4-btn{height:42px;gap:8px;padding:0 10px;font-size:14px}
.v4-store__actions .v4-btn--ghost:hover{border-color:var(--v4-ink);background:#fff}
.v4-store__actions .v4-btn--ink:hover{background:#000}

/* FAQ */
/* Layout copied from the 8080 build: promise checklist + "All questions" left, question cards right */
.v4-faq__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,64px);align-items:start}
.v4-checklist{display:grid;gap:12px;margin:24px 0 28px;padding:0;list-style:none}
.v4-checklist li{display:flex;align-items:flex-start;gap:12px;font-size:16.5px;line-height:1.5;color:var(--v4-ink-2)}
.v4-checklist li::before{content:'';flex:none;width:22px;height:22px;margin-top:1px;border-radius:50%;background:#E7F6EE url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312A150' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
.v4-faq__list{display:grid;gap:12px}
.v4-qa{border:1px solid var(--v4-line);border-radius:var(--v4-r-md);background:#fff;transition:border-color .2s,box-shadow .2s}
.v4-qa[open]{border-color:#D3D8DF;box-shadow:var(--v4-shadow-1)}
.v4-qa summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;list-style:none;cursor:pointer;font:700 17px/1.35 var(--v4-display);letter-spacing:-.01em;color:var(--v4-ink)}
.v4-qa summary::-webkit-details-marker{display:none}
/* "+" in a soft circle; turns into "×" on a pink circle when open */
.v4-qa summary i{flex:none;width:28px;height:28px;border-radius:50%;background:#F1F3F6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1220' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .2s,background-color .2s}
.v4-qa[open] summary i{transform:rotate(45deg);background-color:#FDEEEE}
.v4-qa p{padding:0 22px 20px;font-size:16px;color:var(--v4-muted)}
.v4-qa::details-content{height:0;overflow:clip;transition:height .4s var(--v4-ease),content-visibility .4s allow-discrete}
.v4-qa[open]::details-content{height:auto}

/* Closing CTA */
.v4-cta{padding-bottom:clamp(76px,9vw,124px)}
/* After a white section the card uses that section's bottom padding; after a tinted one (FAQ band, store list, related
   articles, the FAQ and blog lists) it gets the same space above it as below. */
.v4-dp-faq+.v4-cta,.v4-ct-stores+.v4-cta,.v4-art__related+.v4-cta,.v4-faqp-body+.v4-cta,.v4-blog-list+.v4-cta{padding-top:clamp(76px,9vw,124px)}
.v4-cta__panel{position:relative;overflow:hidden;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:24px;padding:clamp(40px,6vw,76px);border-radius:28px;background:radial-gradient(640px 420px at 88% 20%,#EE4E42 0%,rgba(238,78,66,0) 62%),var(--v4-red);color:#fff}
.v4-cta__panel h2{color:#fff;font-size:clamp(40px,5.2vw,72px);letter-spacing:-.035em}
.v4-cta__panel p{max-width:30em;margin-top:16px;font-size:18.5px;color:#FFE0DC}
.v4-cta__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.v4-cta__art{display:grid;place-items:center}
.v4-cta__art>*{grid-area:1/1}
.v4-cta__disc{width:min(320px,92%);aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 34px 64px -24px rgba(90,10,5,.5)}
.v4-cta__art img{width:min(245px,70%)}

/* Footer */
.v4-ftr{padding:76px 0 28px;background:var(--v4-ink);color:#AEBACB;font-size:15px}
.v4-ftr__grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:40px}
.v4-ftr__logo{width:200px;filter:brightness(0) invert(1)}
.v4-ftr__brand p{max-width:26em;margin-top:18px}
/* The footer has no headings: column titles and store names are plain text styled as before */
.v4-ftr__head{margin:0 0 16px;font:800 12px/1 var(--v4-body);letter-spacing:.12em;text-transform:uppercase;color:#fff}
.v4-ftr ul{margin:0;padding:0;list-style:none}
.v4-ftr li{margin-bottom:10px}
.v4-ftr a:hover{color:#fff}
.v4-ftr__touch a{display:inline-flex;align-items:center;gap:9px;font-weight:600;color:#fff}
.v4-ftr__touch a:hover{text-decoration:underline;text-underline-offset:3px}
.v4-ftr__touch svg{flex:none;width:17px;height:17px;color:#FF8A7C}
.v4-ftr__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:44px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:13.5px}
/* Footer stores — a map, address, phone and hours for each one, as in the JunkPros footer */
.v4-ftr__locs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:56px}
.v4-loc{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:var(--v4-r-md);background:rgba(255,255,255,.04)}
.v4-loc__map{aspect-ratio:16/8;background:#1A2436}
.v4-loc__map iframe{display:block;width:100%;height:100%;border:0}
.v4-loc__body{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px 22px 22px}
.v4-loc__name{margin:0;font:750 17px/1.3 var(--v4-display);letter-spacing:-.02em;color:#fff;text-wrap:balance}
.v4-loc__addr{display:flex;gap:9px;font-size:14.5px;line-height:1.5}
.v4-loc__addr .v4-ico{flex:none;margin-top:2px;color:#FF8A7C}
.v4-loc__addr:hover span{text-decoration:underline;text-underline-offset:3px}
.v4-loc__tel{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 15px;border-radius:var(--v4-r-sm);background:rgba(255,255,255,.08);font:700 15px/1 var(--v4-body);font-variant-numeric:tabular-nums;color:#fff;transition:background-color .2s}
.v4-loc__tel .v4-ico{width:16px;height:16px;color:#FF8A7C;transition:color .2s}
.v4-loc__tel:hover{background:var(--v4-red)}
.v4-loc__tel:hover .v4-ico{color:#fff}
.v4-loc__hours{align-self:stretch;display:grid;gap:6px;margin:auto 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:14px}
.v4-loc__hours div{display:flex;justify-content:space-between;gap:12px}
.v4-loc__hours dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;color:#fff}
/* Tablets: one card per row with the map beside the details; phones: map on top again */
@media (max-width:1000px){
  .v4-ftr__locs{grid-template-columns:minmax(0,1fr)}
  .v4-loc{flex-direction:row}
  .v4-loc__map{flex:0 0 44%;aspect-ratio:auto;min-height:230px}
}
@media (max-width:640px){
  .v4-ftr__locs{margin-top:44px}
  .v4-loc{flex-direction:column}
  .v4-loc__map{flex:none;aspect-ratio:16/9;min-height:0}
}
/* Social row (shared renderer in inc/social.php): icon buttons, labels kept for screen readers */
.v4-social{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 0;padding:0;list-style:none}
.v4-ftr .v4-social li{margin:0}
.v4-social a{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.07);color:#C9D3E0;transition:background-color .2s,color .2s}
.v4-social a:hover{background:var(--v4-red);color:#fff}
.v4-social span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.v4-ftr__legal{margin-top:18px;font-size:12.5px;line-height:1.55;color:#7F8CA0}

/* Mobile dock */
.v4-mbar{display:none}

/* Find your device — type → brand → model in a native <dialog>; a bottom sheet on phones */
.v4-pick{width:min(880px,calc(100% - 48px));max-width:none;height:min(700px,calc(100% - 64px));max-height:none;margin:auto;padding:0;border:0;background:none;color:var(--v4-ink);overflow:visible}
.v4-pick::backdrop{background:rgba(11,18,32,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.v4-pick__panel{display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:var(--v4-r-lg);background:#fff;box-shadow:0 40px 100px -30px rgba(11,18,32,.55)}
.v4-pick__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:26px 28px 0}
.v4-pick__title{margin:12px 0 0;font:750 clamp(26px,3vw,32px)/1.04 var(--v4-display);letter-spacing:-.03em;color:var(--v4-ink);text-wrap:balance}
.v4-pick__x{flex:none;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--v4-line);border-radius:12px;background:#fff;color:var(--v4-ink);cursor:pointer;transition:background-color .2s}
.v4-pick__x:hover{background:var(--v4-mist)}
.v4-pick__search{display:flex;align-items:center;gap:10px;height:50px;margin:20px 28px 0;padding:0 14px;border:1px solid var(--v4-line);border-radius:12px;background:var(--v4-mist);transition:border-color .2s,box-shadow .2s,background-color .2s}
.v4-pick__search:focus-within{border-color:#A6C0F0;background:#fff;box-shadow:0 0 0 4px rgba(29,95,214,.13)}
.v4-pick__search>svg{flex:none;color:#7A8698}
.v4-pick__search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font-size:16px}
.v4-pick__bar{display:flex;align-items:center;gap:14px;min-height:46px;margin:18px 28px 14px}
.v4-pick__back{flex:none;display:inline-flex;align-items:center;gap:4px;height:40px;padding:0 14px 0 10px;border:1px solid var(--v4-line);border-radius:10px;background:#fff;font:600 14.5px/1 var(--v4-body);color:var(--v4-ink);cursor:pointer;transition:background-color .2s}
.v4-pick__back:hover{background:var(--v4-mist)}
.v4-pick__back[hidden]{display:none}
.v4-pick__where{min-width:0;margin:0}
.v4-pick__where small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:600 13.5px/1.5 var(--v4-body);color:var(--v4-muted)}
.v4-pick__where b{display:block;font:750 20px/1.25 var(--v4-display);letter-spacing:-.015em;color:var(--v4-ink)}
.v4-pick__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px 28px 24px}
.v4-pick__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:0;padding:0;list-style:none}
.v4-pick__grid.is-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v4-pick__grid.is-results{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.v4-pick__opt{display:flex;align-items:center;gap:12px;width:100%;height:100%;padding:14px 14px 14px 16px;border:1px solid var(--v4-line);border-radius:12px;background:#fff;font:inherit;text-align:left;color:var(--v4-ink);cursor:pointer;transition:border-color .2s,background-color .2s,box-shadow .2s}
.v4-pick__opt:hover{border-color:#F4B5AE;background:#FFF8F6;box-shadow:var(--v4-shadow-1)}
.v4-pick__opt>span:not(.v4-pick__ic){flex:1;min-width:0}
.v4-pick__opt b{display:block;font-size:15.5px;font-weight:700;line-height:1.3}
.v4-pick__opt small{display:block;margin-top:3px;font-size:13.5px;line-height:1.35;color:var(--v4-muted)}
.v4-pick__opt i{flex:none;font-style:normal;color:#A0AABA;transition:transform .2s,color .2s}
.v4-pick__opt:hover i{color:var(--v4-red);transform:translateX(3px)}
.v4-pick__ic{flex:none;display:grid;place-items:center;width:50px;height:50px;border-radius:12px;background:#FFEAE4;color:var(--v4-red)}
.is-types .v4-pick__opt{gap:16px;padding:18px}
.is-types .v4-pick__opt b{font-size:17px}
.v4-pick__none{grid-column:1 / -1;padding:18px;border:1px dashed #CFD6E0;border-radius:12px;font-size:15px;color:var(--v4-muted)}
.v4-pick__foot{margin:0;padding:14px 28px;border-top:1px solid var(--v4-line);background:var(--v4-mist);font-size:14.5px;color:var(--v4-muted)}
.v4-pick__foot a{font-weight:700;color:var(--v4-red-deep)}
.v4-pick[open] .v4-pick__panel{animation:v4-pick-in .4s var(--v4-ease)}
.v4-pick[open]::backdrop{animation:v4-fade .3s ease-out}
.v4-pick.is-closing .v4-pick__panel{animation:v4-pick-out .18s ease-in forwards}
.v4-pick.is-closing::backdrop{animation:v4-fade .18s ease-in reverse forwards}
@keyframes v4-pick-in{from{opacity:0;transform:translateY(18px) scale(.985)}}
@keyframes v4-pick-out{to{opacity:0;transform:translateY(12px) scale(.985)}}
@keyframes v4-sheet-in{from{transform:translateY(100%)}}
@keyframes v4-sheet-out{to{transform:translateY(100%)}}
@keyframes v4-fade{from{opacity:0}}
/* The page behind stays put while the picker is open */
html:has(.v4-pick[open]){overflow:hidden;scrollbar-gutter:stable}
@media (max-width:640px){
  .v4-pick{width:100%;height:min(90vh,780px);height:min(90dvh,780px);margin:auto 0 0}
  .v4-pick__panel{border-radius:22px 22px 0 0}
  .v4-pick[open] .v4-pick__panel{animation-name:v4-sheet-in}
  .v4-pick.is-closing .v4-pick__panel{animation-name:v4-sheet-out}
  .v4-pick__head{padding:20px 18px 0}
  .v4-pick__title{margin-top:10px;font-size:25px}
  .v4-pick__search{margin:16px 18px 0}
  .v4-pick__bar{gap:12px;margin:14px 18px 12px}
  .v4-pick__where b{font-size:18px}
  .v4-pick__body{padding:2px 18px 20px}
  .v4-pick__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .v4-pick__grid.is-types,.v4-pick__grid.is-results{grid-template-columns:minmax(0,1fr)}
  .v4-pick__opt{padding:12px 14px}
  .v4-pick__opt b{font-size:15px}
  /* Two-up brand and model cards: the arrow gives its room to the name */
  .v4-pick__grid:not(.is-types):not(.is-results) .v4-pick__opt i{display:none}
  .is-types .v4-pick__opt{padding:14px}
  .v4-pick__ic{width:44px;height:44px}
  .v4-pick__foot{padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px))}
}

/* Motion pre-states — only while <html> has .js-motion; each element exits via .is-in */
.v4-motion [data-v4-line]:not(.is-in){transform:translateY(108%)}
.v4-motion [data-v4-h]:not(.is-in),
.v4-motion [data-v4-reveal]:not(.is-in),
.v4-motion .v4-readout:not(.is-in),
.v4-motion .v4-dial__disc:not(.is-in),
.v4-motion .v4-dial__mascot:not(.is-in){opacity:0}
.v4-motion .v4-dial:not(.ticks-in) .v4-tk{opacity:0}
.v4-motion .v4-dial__arc{stroke-dashoffset:1545.66}
/* Upcoming stops show as hollow targets from the start; the arc fills each one red as it arrives */
.v4-motion .v4-mk:not(.is-lit) .v4-mk__dot{background:#fff;border-color:#F4B5AE;box-shadow:0 1px 4px rgba(11,18,32,.18)}
.v4-motion .v4-dial:not(.ticks-in) .v4-mk{opacity:0}
.v4-mk{transition:opacity .45s}
.v4-motion .v4-mk:not(.is-lit) .v4-mk__btn{pointer-events:none}
.v4-static .v4-dial__knob{opacity:0}

/* Responsive */
@media (max-width:1140px){
  /* Three, then two centred beneath them, so the second row has no gap at the end */
  .v4-trust__list{display:flex;flex-wrap:wrap;justify-content:center}
  .v4-trust__list li{flex:0 1 calc((100% - 48px) / 3)}
  .v4-hdr__nav{display:none}
  .v4-hdr__icon[data-v4-menu]{display:grid}
  .v4-hdr__act+.v4-hdr__icon{margin-left:0}
  /* Full-screen menu: fixed from the header's bottom edge (main.js measures it, so the top bar and admin bar are allowed for)
     to the bottom of the screen, scrolling on its own while the page behind stays put */
  .v4-menu{position:fixed;top:var(--v4-menu-top,74px);left:0;right:0;bottom:0;z-index:55;display:flex;flex-direction:column;gap:28px;overflow-y:auto;overscroll-behavior:contain;padding:8px max(20px,calc((100vw - 1240px) / 2)) calc(18px + env(safe-area-inset-bottom,0px));background:#fff;animation:v4-menu-in .24s var(--v4-ease)}
  .v4-menu[hidden]{display:none}
  .v4-menu__list{display:grid}
  .v4-menu__foot{display:grid;gap:10px;margin-top:auto}
  .v4-menu__ways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .v4-menu__way{display:flex;align-items:center;gap:12px;min-height:58px;padding:9px 14px;border:1px solid var(--v4-line);border-radius:var(--v4-r-sm);background:#fff;color:var(--v4-red);transition:border-color .15s,background-color .15s}
  .v4-menu__way:hover{border-color:#C6D0DC;background:var(--v4-mist)}
  .v4-menu__way svg{flex:none}
  .v4-menu__way span{display:grid;gap:3px;min-width:0;font:600 13.5px/1.2 var(--v4-body);font-variant-numeric:tabular-nums;color:var(--v4-muted)}
  .v4-menu__way b{font-size:15.5px;font-weight:700;color:var(--v4-ink)}
  .v4-menu__foot .v4-btn{width:100%}
  .v4-menu__foot .v4-status{justify-self:center;padding:4px 2px;border:0;background:none}
  /* Tablets: the header still shows the opening status and "Get a price" */
  .v4-menu__foot>.v4-btn,.v4-menu__foot>.v4-status{display:none}
  html.v4-menu-open{overflow:hidden}
  .v4-menu-open .v4-hdr{background:#fff;border-bottom-color:var(--v4-line);box-shadow:none}
  .v4-menu-open .v4-mbar{display:none}
  /* The menu button turns into a close button while the menu is open */
  .v4-burger-x,[aria-expanded="true"]>svg>.v4-burger{display:none}
  [aria-expanded="true"]>svg>.v4-burger-x{display:inline}
  .v4-menu__top{padding:13px 2px;border-bottom:1px solid var(--v4-line);font:700 21px/1.2 var(--v4-display);letter-spacing:-.02em}
  .v4-menu__top:has(+.v4-menu__sub){padding-bottom:6px;border-bottom:0}
  .v4-menu__sub{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0 14px;border-bottom:1px solid var(--v4-line)}
  .v4-menu__sub a{padding:8px 11px;border-radius:9px;background:var(--v4-mist);font:600 14.5px/1.2 var(--v4-body);color:var(--v4-ink-2)}
  .v4-menu a[aria-current]{color:var(--v4-red)}
  .v4-svc{grid-template-columns:1fr 1fr}
  .v4-card--big{grid-row:auto;grid-column:span 2}
  .v4-card--big .v4-card__img{aspect-ratio:16/8}
  .v4-ftr__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:920px){
  /* minmax(0,…) — a plain 1fr track grows to the search input's intrinsic width and pushes past the gutter */
  .v4-hero__grid,.v4-how__grid,.v4-faq__grid{grid-template-columns:minmax(0,1fr)}
  .v4-hero__dial{order:-1}
  .v4-dial{width:min(420px,86vw)}
  .v4-board__media{position:relative;inset:auto;height:300px}
  .v4-board__media img{height:130%;margin-top:-15%;object-position:60% 40%}
  .v4-board__media::after{background:linear-gradient(0deg,var(--v4-ink) 0%,rgba(11,18,32,.2) 60%,rgba(11,18,32,.3) 100%)}
  .v4-board__copy{padding-block:8px 80px}
  .v4-cta__panel{grid-template-columns:1fr}
  .v4-cta__art{display:none}
}
@media (max-width:760px){
  /* Phones: one swipeable row of cards (the next one peeks in) rather than a stacked grid with an odd one out */
  .v4-trust .v4-trust__list{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:10px;width:100%;padding:4px 20px 26px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:20px;scrollbar-width:none;overscroll-behavior-x:contain}
  .v4-trust__list::-webkit-scrollbar{display:none}
  .v4-trust__list li{flex:none;gap:12px;padding:12px 18px 12px 12px;border:1px solid var(--v4-line);border-radius:14px;background:#fff;scroll-snap-align:start}
  .v4-trust__icon{width:40px;height:40px;border-radius:11px}
  .v4-trust__list b{font-size:14.5px;white-space:nowrap}
  .v4-trust__list li>span:last-child{font-size:13px;white-space:nowrap}
  .v4-trust__list li.is-flex{flex:none}
  .v4-qa summary{padding:16px 18px;font-size:16px}
  .v4-qa p{padding:0 18px 18px;font-size:15.5px}
  .v4-checklist li{font-size:16px}
  body.ohdr-v4{font-size:16.5px}
  .v4-wrap{width:min(1240px,100% - 40px)}
  .v4-hdr__in{height:66px;gap:10px}
  .v4-hdr__logo img{width:172px}
  .v4-hdr__act{display:none}
  .v4-hdr__icon{display:grid}
  /* The call and menu buttons sit at the right edge (beats the ≤1140 rule that zeroes the margin after the hidden actions) */
  .v4-hdr__act+.v4-hdr__icon--call{margin-left:auto}
  .v4-menu{gap:22px;padding-inline:20px}
  .v4-menu__foot>.v4-btn{display:inline-flex}
  .v4-menu__foot>.v4-status{display:inline-flex}
  .v4-hero{padding:12px 0 28px;text-align:center}
  .v4-hero__copy{display:flex;flex-direction:column;align-items:center}
  .v4-hero__title{font-size:clamp(40px,11.4vw,56px);margin:16px 0 18px}
  .v4-hero__sub{font-size:16.5px}
  .v4-finder{width:100%;margin-top:26px}
  .v4-finder__field{padding-left:14px}
  .v4-finder .v4-btn{padding:0 16px}
  .v4-finder input{font-size:16px}
  .v4-proof{justify-content:center}
  .v4-proof{gap:12px 16px;margin-top:26px}
  .v4-hide-sm{display:none}
  /* A little smaller than the 290px it was, to give the top bar its height back: the search box stays as high on the first screen */
  .v4-dial{width:min(256px,68vw)}
  .v4-dial__num{font-size:19px}
  .v4-mk__tip{display:none}
  .v4-readout{margin-top:-10px;padding:10px 14px;gap:12px}
  .v4-readout__time{font-size:23px}
  /* Narrow readout: titles may take two lines, so reserve them — the box keeps one height through every milestone */
  .v4-readout__note{min-height:58px;font-size:13px}
  .v4-readout__note b{font-size:14.5px;line-height:1.3}
  .v4-dial__cap{max-width:30em;margin-top:12px;font-size:12.5px}
  .v4-svc{grid-template-columns:1fr}
  .v4-card--big,.v4-card--wide{grid-column:auto}
  .v4-card--wide{flex-direction:column}
  .v4-card--wide .v4-card__img{aspect-ratio:16/9}
  .v4-ticker{flex-direction:column}
  .v4-ticker__label{justify-content:center;padding:16px 20px 0;box-shadow:none}
  .v4-tick{padding-block:12px 16px}
  .v4-rvw__head{flex-direction:column;align-items:flex-start;margin-bottom:22px}
  .v4-rvw__track{margin-inline:-20px;padding-inline:20px;scroll-padding-inline:20px}
  .v4-rvw-card{flex-basis:84%}
  .v4-caps{grid-template-columns:1fr}
  .v4-ftr__grid{grid-template-columns:1fr}
  /* Room for the call dock inside the dark footer, so no white strip shows beneath it */
  .v4-ftr{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
  .v4-mbar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:60;display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:8px;padding:8px;border:1px solid var(--v4-line);border-radius:16px;background:rgba(255,255,255,.93);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 14px 44px -12px rgba(11,18,32,.38);transition:transform .5s var(--v4-ease),visibility 0s}
  .v4-mbar a{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:10px;background:var(--v4-mist);font-size:15px;font-weight:600}
  .v4-mbar a.is-red{background:var(--v4-red);color:#fff}
  /* Tucked away while the hero search is on screen, so it never covers it (the JS sets .is-tucked) */
  .v4-motion .v4-mbar:not(.is-in),.v4-mbar.is-tucked{visibility:hidden;transform:translateY(135%);transition:transform .3s ease-in,visibility 0s .3s}
}
@media (prefers-reduced-motion:reduce){
  :where(.v4-root) *,:where(.v4-root) *::before,:where(.v4-root) *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .v4-ticker__track{overflow-x:auto}
}

/* ---------- WordPress integration ---------- */
.v4-skip{position:fixed;top:-80px;left:16px;z-index:1000;padding:12px 18px;border-radius:var(--v4-r-sm);background:var(--v4-ink);color:#fff;font-weight:600;transition:top .2s}
.v4-skip:focus{top:14px}
/* Logged-in admin bar: keep the sticky header and mobile menu below it */
.admin-bar .v4-hdr{top:32px}
.v4-store h3 a:hover{color:var(--v4-red)}
/* Stores: one column under 960px, as on the 8080 build */
@media (max-width:960px){.v4-stores__cards{grid-template-columns:minmax(0,1fr);max-width:560px}}
.v4-finder__empty a{color:var(--v4-blue);font-weight:600}
.v4-ftr__base nav{display:flex;flex-wrap:wrap;gap:6px 20px}
@media (max-width:782px){.admin-bar .v4-hdr{top:46px}}
@media (max-width:600px){.admin-bar .v4-hdr{top:0}}

/* ==========================================================================
   Repair list (footer.php): repairs ticked on any price card, on any page, in one bar at the bottom of the screen —
   a full-width bar on wide screens, a compact one above the quick-contact dock on phones. The panel lists them by device.
   ========================================================================== */
.v4-qd{position:fixed;left:0;right:0;bottom:0;z-index:58;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none}
.v4-qd[hidden],.v4-menu-open .v4-qd{display:none}
.v4-qd>*{pointer-events:auto}
html.v4-has-list body{padding-bottom:76px}
.v4-qd__bar{align-self:stretch;display:flex;align-items:center;gap:16px;padding:12px max(24px,calc((100vw - 1240px) / 2));border-top:1px solid #F4B5AE;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 -14px 34px -16px rgba(11,18,32,.28)}
.v4-qd.is-bump .v4-qd__bar{animation:v4-qd-bump .6s var(--v4-ease)}
@keyframes v4-qd-bump{0%{background-color:#FFE7E2}100%{background-color:rgba(255,255,255,.97)}}
.v4-qd__toggle{display:flex;flex:1;align-items:center;gap:12px;min-width:0;padding:4px;border:0;border-radius:12px;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.v4-qd__toggle:focus-visible{outline:2px solid var(--v4-blue);outline-offset:2px}
.v4-qd__count{display:grid;place-items:center;flex:none;min-width:36px;height:36px;padding:0 9px;border-radius:999px;background:var(--v4-red);font:800 15px/1 var(--v4-body);font-variant-numeric:tabular-nums;color:#fff}
.v4-qd__text{display:grid;flex:1;gap:2px;min-width:0}
.v4-qd__text b{font-size:15.5px;line-height:1.25;color:var(--v4-ink)}
.v4-qd__text small{font-size:13.5px;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums;color:var(--v4-red-deep)}
.v4-qd__chev{flex:none;color:var(--v4-muted);transition:transform .2s}
.v4-qd.is-open .v4-qd__chev{transform:rotate(180deg)}
.v4-qd__btns{display:flex;flex:none;gap:8px}
.v4-qd__btns .v4-btn{height:46px;padding:0 22px;font-size:15px}
.v4-qd__panel{width:min(440px,calc(100vw - 24px));max-height:min(60vh,520px);margin:0 max(24px,calc((100vw - 1240px) / 2)) 10px 0;overflow-y:auto;overscroll-behavior:contain;padding:16px 16px 4px;border:1px solid var(--v4-line);border-radius:16px;background:var(--v4-mist);box-shadow:0 22px 50px -14px rgba(11,18,32,.35)}
.v4-qd__panel[hidden]{display:none}
.v4-qd__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.v4-qd__head b{font-size:16px;color:var(--v4-ink)}
.v4-qd__clear{padding:4px 2px;border:0;background:none;font:700 13.5px/1 var(--v4-body);color:var(--v4-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.v4-qd__clear:hover{color:var(--v4-red)}
.v4-qd__group{margin-bottom:10px;padding:12px 14px 6px;border:1px solid var(--v4-line);border-radius:12px;background:#fff}
.v4-qd__model{display:block;margin-bottom:4px;font-size:14.5px;font-weight:800;color:var(--v4-ink)}
.v4-qd__model:hover{color:var(--v4-red)}
.v4-qd__group ul{margin:0;padding:0;list-style:none}
.v4-qd__group li{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--v4-line);font-size:14.5px}
.v4-qd__name{flex:1;min-width:0;color:var(--v4-ink-2)}
.v4-qd__price{flex:none;font-weight:800;font-variant-numeric:tabular-nums;color:var(--v4-ink)}
.v4-qd__price.is-call{font-size:13px;font-weight:600;color:var(--v4-muted)}
.v4-qd__remove{display:grid;place-items:center;flex:none;width:30px;height:30px;border:0;border-radius:8px;background:none;color:#98A2B3;cursor:pointer;transition:background-color .15s,color .15s}
.v4-qd__remove:hover,.v4-qd__remove:focus-visible{background:#FDEEEE;color:var(--v4-red)}
.v4-qd__fine{margin:4px 0 12px;font-size:12.5px;line-height:1.45;color:var(--v4-muted)}
@media (max-width:760px){
  /* A compact bar above the quick-contact dock (or at the bottom while the dock is tucked away) */
  .v4-qd{left:10px;right:10px;bottom:calc(84px + env(safe-area-inset-bottom,0px));align-items:stretch}
  .v4-mbar:not(.is-in)~.v4-qd,.v4-mbar.is-tucked~.v4-qd{bottom:calc(10px + env(safe-area-inset-bottom,0px))}
  html.v4-has-list body{padding-bottom:170px}
  .v4-qd__bar{flex-wrap:wrap;gap:8px;padding:10px;border:1px solid #F4B5AE;border-radius:16px;box-shadow:0 14px 40px -12px rgba(11,18,32,.38)}
  .v4-qd__toggle{flex:1 1 100%;padding:2px}
  .v4-qd__count{min-width:32px;height:32px;font-size:14px}
  .v4-qd__text b{font-size:14.5px}
  .v4-qd__btns{display:grid;flex:1 1 100%;grid-template-columns:repeat(2,minmax(0,1fr))}
  .v4-qd__btns .v4-btn{height:44px;padding:0 12px}
  .v4-qd__panel{width:auto;max-height:50vh;margin:0 0 8px}
}
@media (prefers-reduced-motion:reduce){
  .v4-qd.is-bump .v4-qd__bar{animation:none}
}
