/* =====================================================================
   Extreme Hail & Collision — "Race Livery" design system
   Loaded after a11y.css. Restyles the site's existing markup so copy,
   headings, structured data and scripts stay exactly as they were.
   Fonts: Barlow Condensed (italic 700/800/900) + Barlow (400-700).
   ===================================================================== */
:root{
  --paper:#FFFFFF; --panel:#F1F4F7; --panel-2:#E6ECF2; --line:#DCE3EA;
  --ink:#101418; --ink-2:#1B232B; --body:#2E3740; --muted:#3B4652; --mist:#C3CCD5;
  --steel:#8DB4D3; --steel-ink:#3F6E91; --red:#E5231D; --red-deep:#B81A15; --red-text:#FF4136;
  --display:'Barlow Condensed','Arial Narrow',sans-serif; --sans:'Barlow',system-ui,sans-serif;
  --skew:-24deg; --max:1360px; --gut:32px; --sec:112px;
  /* legacy tokens some inline styles still reference */
  --blue:#8DB4D3; --blue-deep:#3F6E91; --blue-ink:#101418; --bone:#F1F4F7;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
html,body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html,body{overflow-x:clip}
body{font-size:18px;line-height:1.55}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
:where(a,button,summary,input,select,textarea,label.hamburger,[tabindex]):focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:0}
.contact :where(a,button):focus-visible,.policy :where(a,button):focus-visible,.callout a:focus-visible,footer :where(a,button):focus-visible,.proof-strip a:focus-visible,.ticker a:focus-visible,.aside-card a:focus-visible{outline-color:#fff}
.skip-link{font-family:var(--sans);background:var(--ink)}

/* ---------- type ---------- */
/* old inline styles still name the retired Archivo fonts — map them to the new faces */
[style*="Archivo Narrow"]{font-family:var(--display)!important;font-style:italic!important;font-weight:900!important}
[style*="font-family:'Archivo',"],[style*="font-family:'Archivo'"]{font-family:var(--sans)!important}
.display,h1,.phero h1,.doc-head h1,.section-head h2,.prose h2,.area-head h2,.est-grid h2,.policy h2,.contact h2{
  font-family:var(--display);font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:.88}
.red{color:var(--red)}
.eyebrow{display:inline-block;font:italic 800 19px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--red-deep)}
.policy .eyebrow,.callout .eyebrow,.proof-strip .eyebrow,.aside-card .eyebrow,.claims-band .eyebrow{color:var(--steel)!important}
.contact .eyebrow{color:#fff!important}
.lede{color:var(--body)}

/* ---------- buttons (skewed, livery press) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:14px 30px;border:0;border-radius:0;
  font:italic 900 22px/1 var(--display);letter-spacing:.02em;text-transform:uppercase;text-decoration:none;cursor:pointer;
  clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);transition:transform .12s ease,background-color .15s ease,color .15s}
.btn:hover{transform:translate(-2px,-2px)}
.btn:active{transform:translate(0,0)}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--red-deep);color:#fff}
.btn-ghost{background:var(--ink);color:#fff;border:0}
.btn-ghost:hover{background:var(--ink-2);color:#fff}
.contact .btn-ghost,.policy .btn-ghost,.callout .btn-ghost{background:#fff;color:var(--ink)!important;border-color:#fff!important}

/* ---------- livery stripes (shared decoration) ---------- */
.livery{position:absolute;display:flex;flex-direction:column;gap:12px;transform:skewX(var(--skew));pointer-events:none}
.livery i{display:block}
.livery i:nth-child(1){flex:5;background:var(--steel)}
.livery i:nth-child(2){flex:1;background:var(--ink)}
.livery i:nth-child(3){flex:2;background:var(--red)}

/* =====================================================================
   NAV — visible bar + hamburger panel at every width
   ===================================================================== */
#nav-toggle{position:absolute;left:-9999px;opacity:0}
.nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;gap:26px;height:84px}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.brand img{height:54px;width:auto;max-width:none}
.brand-txt{display:flex;flex-direction:column;line-height:.84;white-space:nowrap}
.brand-txt .b1{font:italic 900 34px/.84 var(--display);text-transform:uppercase;color:var(--ink);letter-spacing:0}
.brand-txt .b2{font:italic 900 16px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--red-deep);margin-top:2px}
.nav-links{display:flex;align-items:center;gap:28px;margin-left:12px}
.nav-links > a,.navdrop-t{font:italic 800 21px/1 var(--display);text-transform:uppercase;color:var(--ink);padding:12px 0;border-bottom:3px solid transparent;background:none;border-top:0;border-left:0;border-right:0;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.nav-links > a:hover,.navdrop:hover .navdrop-t,.navdrop.open .navdrop-t,.nav-links > a[aria-current]{border-color:var(--red)}
.navdrop{position:relative;display:flex;align-items:center}
.navdrop-t .caret{width:8px;height:8px;border-right:3px solid var(--red);border-bottom:3px solid var(--red);transform:rotate(45deg) translateY(-3px)}
.navdrop-menu{display:none;position:absolute;top:100%;left:-24px;min-width:300px;background:#fff;box-shadow:0 24px 48px -18px rgba(16,20,24,.35);padding:14px 0 10px;z-index:60}
.navdrop-menu::before{content:"";position:absolute;left:20px;top:-4px;width:96px;height:9px;background:var(--red);transform:skewX(var(--skew))}
.navdrop:hover .navdrop-menu,.navdrop.open .navdrop-menu{display:block}
.navdrop-menu a{display:block;padding:11px 24px;font:italic 800 20px/1.1 var(--display);text-transform:uppercase;color:var(--ink)}
.navdrop-menu a:hover,.navdrop-menu a[aria-current="page"]{background:var(--panel);color:var(--red-deep)}
.navdrop-menu .sub{font:600 13px/1 var(--sans);letter-spacing:.06em;color:var(--muted);margin-left:8px;text-transform:uppercase;font-style:normal}
.navdrop-menu hr{border:0;border-top:1px solid var(--line);margin:8px 0}
.nav-spacer{flex:1}
.nav-call{min-height:52px;font-size:22px;padding:10px 24px;flex:0 0 auto;white-space:nowrap}
.nav-phone{display:none}
.hamburger{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;min-width:52px;padding:0 16px;background:var(--ink);color:#fff;cursor:pointer;
  clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);border:0;border-radius:0}
.hamburger::after{content:"Menu";font:italic 900 20px/1 var(--display);text-transform:uppercase;letter-spacing:.02em}
.hamburger span,.hamburger span::before,.hamburger span::after{display:block;width:20px;height:3px;background:#fff;position:relative;transition:transform .2s,background-color .2s}
.hamburger span::before,.hamburger span::after{content:"";position:absolute;left:0}
.hamburger span::before{top:-7px}.hamburger span::after{top:7px}
#nav-toggle:checked ~ nav .hamburger{background:var(--red)}
#nav-toggle:checked ~ nav .hamburger span{background:transparent}
#nav-toggle:checked ~ nav .hamburger span::before{transform:translateY(7px) rotate(45deg)}
#nav-toggle:checked ~ nav .hamburger span::after{transform:translateY(-7px) rotate(-45deg)}
#nav-toggle:checked ~ nav .hamburger::after{content:"Close"}
#nav-toggle:focus-visible ~ nav .hamburger{outline:3px solid var(--red);outline-offset:3px}

/* drawer: full-width panel under the bar */
.mobile-drawer{display:none;position:fixed;inset:84px 0 0 0;z-index:49;background:#fff;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
#nav-toggle:checked ~ .mobile-drawer{display:block}
body:has(#nav-toggle:checked){overflow:hidden}
.drawer-in{position:relative;max-width:var(--max);margin:0 auto;padding:44px var(--gut) 64px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,.9fr);gap:28px 40px}
.drawer-in .livery{right:-140px;top:0;width:260px;height:100%;flex-direction:row;gap:12px;opacity:.95}
.drawer-in .livery i:nth-child(1){flex:4}.drawer-in .livery i:nth-child(2){flex:1}.drawer-in .livery i:nth-child(3){flex:2}
.drawer-col{position:relative}
.drawer-col .gh,.drawer-group .gh{display:block;font:italic 800 17px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--red-deep);padding-bottom:12px;margin-bottom:6px;border-bottom:4px solid var(--ink)}
.mobile-drawer a.link,.mobile-drawer a.sublink{display:block;padding:12px 0;font:italic 900 30px/1 var(--display);text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--line)}
.mobile-drawer a.sublink{font-size:26px}
.mobile-drawer a.link:hover,.mobile-drawer a.sublink:hover,.mobile-drawer a[aria-current="page"]{color:var(--red-deep)}
.mobile-drawer a .sub{font:600 13px/1 var(--sans);font-style:normal;letter-spacing:.06em;color:var(--muted);margin-left:8px}
.drawer-cta{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px;align-self:start}
.mob-phone{background:var(--ink);color:#fff;padding:22px 24px}
.mob-phone .lbl{display:block;font:600 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}
.mob-phone .num{display:block;margin-top:8px;font:italic 900 38px/1 var(--display);color:#fff}
.mob-cta .btn{width:100%}
.drawer-group{margin:0;padding:0;border:0}

/* sticky call bar on phones */
.mobile-callbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:48;background:var(--ink);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -10px 24px rgba(0,0,0,.2)}
.mobile-callbar-inner{display:flex;gap:8px}
.mobile-callbar a{flex:1;min-height:50px;font-size:19px;padding:10px 12px;white-space:nowrap}
.mobile-callbar a.btn-red{flex:2.2}
.mobile-callbar a[style]{background:#fff!important;color:var(--ink)!important}

/* storm banner */
.storm-banner{display:block;background:var(--ink);color:#fff}
.storm-banner-in{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding-top:11px;padding-bottom:11px}
.sb-tag{font:italic 900 19px/1 var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--steel)}
.sb-txt{font:500 15px/1.4 var(--sans)}
.sb-go{font:700 15px/1 var(--sans);text-decoration:underline;text-underline-offset:3px}
.storm-banner:hover .sb-go{color:var(--steel)}

/* =====================================================================
   SECTIONS
   ===================================================================== */
section{padding:var(--sec) 0;position:relative}
.band{background:var(--panel)}
.section-head{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:48px;max-width:980px}
.section-head h2,.area-head h2{font-size:clamp(3rem,7vw,6.6rem)}
.section-head .meta,.area-head .meta{font-size:19px;line-height:1.55;color:var(--body);max-width:44em;font-weight:500}
.section-head .meta a,.hprose a{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:3px}
.hprose{max-width:820px}
.hprose p{font-size:19px;line-height:1.65;color:var(--body);margin-bottom:18px}
.hprose h3{font:italic 900 clamp(2rem,3.2vw,2.8rem)/.95 var(--display);text-transform:uppercase;margin:40px 0 16px}
.hprose b{color:var(--ink)}

/* ticker */
.ticker{background:var(--ink);color:#fff;overflow:hidden;padding:16px 0;border:0}
.ticker-track{display:flex;width:max-content;gap:0;animation:ehcTick 40s linear infinite;white-space:nowrap}
.ticker-track span{display:inline-flex;align-items:center;gap:22px;padding-right:22px;font:italic 900 28px/1 var(--display);text-transform:uppercase;letter-spacing:.02em;color:#fff}
.ticker-track .sep{font-style:normal;color:var(--red-text);font-size:22px}
@keyframes ehcTick{to{transform:translateX(-50%)}}

/* link cards → livery tiles */
.linkcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:16px}
.linkcard{position:relative;display:flex;flex-direction:column;gap:10px;min-height:220px;padding:28px 30px 26px 48px;background:var(--panel);border:0;border-radius:0;transition:background-color .2s}
.band .linkcard{background:#fff}
.linkcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:26px;background:var(--red);clip-path:polygon(0 0,100% 0,35% 100%,0 100%)}
.linkcard:nth-child(3n+2)::before{background:var(--steel)}
.linkcard:nth-child(3n)::before{background:var(--ink)}
.linkcard:hover{background:var(--panel-2);transform:none}
.linkcard .t{font:600 13px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.linkcard h3,.linkcard h4{font:italic 900 clamp(2.2rem,3.2vw,2.9rem)/.9 var(--display);text-transform:uppercase}
.linkcard p{font-size:17px;line-height:1.5;color:var(--body)}
.linkcard ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 8px;margin-top:2px}
.linkcard ul li{position:relative;font:600 14px/1 var(--sans);padding:7px 10px 7px 24px;background:#fff}
.band .linkcard ul li{background:var(--panel)}
.linkcard .go{margin-top:auto;padding-top:10px;font:italic 800 18px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--red-deep)}

/* small perk cells */
.svc-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;margin:0 0 36px;background:none;border:0}
.svc-mini > div{position:relative;background:var(--panel);padding:30px 26px 28px 30px;display:flex;flex-direction:column;gap:10px}
.svc-mini > div::before{content:"";position:absolute;left:18px;top:0;width:48px;height:8px;background:var(--red);transform:skewX(var(--skew))}
.svc-mini > div:nth-child(even)::before{background:var(--steel)}
.svc-mini h3,.svc-mini h4{font:italic 900 28px/1 var(--display);text-transform:uppercase;margin-top:6px}
.svc-mini p{font-size:16px;line-height:1.5;color:var(--body)}

/* race-number plates */
.plate{display:inline-block;border:4px solid var(--ink);border-radius:14px;background:#fff;padding:2px 14px 4px;font:italic 900 64px/1 var(--display);color:var(--ink)}
.plate.s{background:var(--steel);border-color:var(--steel)}
.plate.r{background:var(--red);border-color:var(--red);color:#fff}
.plate.k{background:var(--ink);color:#fff}

/* steps (interior pages) → plates */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;background:none;border:0;margin-top:8px;list-style:none}
.steps.s3{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps.s5{grid-template-columns:repeat(5,minmax(0,1fr))}
.steps > div{background:none;padding:0;display:flex;flex-direction:column;gap:10px}
.steps .n{align-self:flex-start;border:4px solid var(--ink);border-radius:12px;padding:0 12px 2px;font:italic 900 50px/1 var(--display);color:var(--ink);background:#fff}
.steps > div:nth-child(3n+2) .n{background:var(--steel);border-color:var(--steel)}
.steps > div:nth-child(3n) .n{background:var(--red);border-color:var(--red);color:#fff}
.steps h4{font:italic 900 28px/1 var(--display);text-transform:uppercase;margin-top:8px}
.steps p{font-size:16px;line-height:1.55;color:var(--body)}

/* =====================================================================
   HOMEPAGE HERO / BOARD (homepage-only classes)
   ===================================================================== */
.hero{position:relative;overflow:hidden;padding:0;background:#fff}
.hero .livery{top:28px;bottom:28px;right:-16%;width:58%;animation:ehcSweep 1.1s cubic-bezier(.2,.8,.2,1) both}
@keyframes ehcSweep{from{transform:translateX(12%) skewX(var(--skew));opacity:0}}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:center;padding-top:56px;padding-bottom:84px}
.hero .eyebrow{font-size:17px;line-height:1.3}
.hero-display{font:italic 900 clamp(4.2rem,8.6vw,8.8rem)/.84 var(--display);text-transform:uppercase;letter-spacing:-.01em;margin-top:18px}
.hero-display .accent{color:var(--red);display:inline}
.hero-h1{font:italic 900 clamp(1.7rem,2.6vw,2.4rem)/1 var(--display);text-transform:uppercase;margin-top:22px;color:var(--ink)}
.hero .lede{margin-top:16px;font-size:18px;line-height:1.6;max-width:34em;color:var(--body)}
.hero-ctas{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center}
.phone-block{display:flex;flex-direction:column;gap:4px}
.phone-block .lbl{font:600 13px/1.3 var(--sans);letter-spacing:.06em;color:var(--muted)}
.phone-block .num{font:italic 900 26px/1 var(--display)}
.hero-media{position:relative;margin:0;aspect-ratio:auto;background:none;box-shadow:none;border-radius:0;overflow:visible}
.hero-media > img{position:relative;inset:auto;width:100%;height:clamp(420px,46vw,640px);object-fit:cover;object-position:center 60%;clip-path:polygon(16% 0,100% 0,84% 100%,0 100%)}
.hero-media::after{display:none}
.hero-media .plate{position:absolute;left:3%;bottom:32px;font-size:66px;text-align:center}
.hero-media .plate small{display:block;font-size:14px;letter-spacing:.12em;line-height:1;margin-top:-2px;font-weight:800}
.hero-media .tag{position:absolute;right:16%;bottom:20px;left:auto;display:block;background:var(--ink);color:#fff;font:italic 800 17px/1 var(--display);text-transform:uppercase;letter-spacing:.05em;padding:9px 13px;z-index:2}
.hero-media .stamp{position:absolute;top:22px;right:22%;background:var(--red);color:#fff;font:italic 900 18px/1 var(--display);text-transform:uppercase;letter-spacing:.04em;padding:9px 14px;border-radius:0}
.streak{display:none}
.hero-trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));background:var(--ink);color:#fff;margin:0;padding:0;border:0;max-width:none}
.hero-trust > div{position:relative;padding:28px 24px 28px 46px;display:flex;flex-direction:column;gap:6px}
.hero-trust > div::before{content:"";position:absolute;left:10px;top:0;bottom:0;width:14px;background:var(--red);transform:skewX(var(--skew))}
.hero-trust > div:nth-child(even)::before{background:var(--steel)}
.hero-trust .n{font:italic 900 clamp(2.4rem,3.4vw,3.2rem)/.92 var(--display);text-transform:uppercase;color:#fff}
.hero-trust .l{font:600 15px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--mist)}

/* homepage before/after swipe */
.work-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px}
.work-top .section-head{margin-bottom:0}
.picks{display:flex;flex-wrap:wrap;gap:12px}
.picks button{border:0;padding:0;background:var(--ink);cursor:pointer;position:relative;width:118px;height:72px;transform:skewX(-12deg);overflow:hidden;outline-offset:4px}
.picks button img{width:140%;max-width:none;height:100%;object-fit:cover;transform:skewX(12deg) translateX(-14%)}
.picks button[aria-pressed="true"]{box-shadow:0 0 0 4px var(--red)}
.picks button span{position:absolute;left:8px;bottom:5px;transform:skewX(12deg);font:italic 800 14px/1 var(--display);text-transform:uppercase;color:#fff;background:var(--ink);padding:3px 6px}
.swipes{display:grid;gap:40px}
.js .swipes{display:block}
.js .swipe-fig[hidden]{display:none}
.swipe-fig{margin:0}
.swipe{--p:50%;position:relative;height:clamp(380px,46vw,640px);overflow:hidden;clip-path:polygon(4% 0,100% 0,96% 100%,0 100%);background:var(--ink)}
.swipe img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.swipe .before{clip-path:polygon(0 0,calc(var(--p) + 9%) 0,calc(var(--p) - 9%) 100%,0 100%)}
.swipe .bar{position:absolute;top:-5%;bottom:-5%;left:var(--p);width:14px;margin-left:-7px;background:#fff;transform:skewX(var(--skew));box-shadow:0 0 0 4px var(--ink);pointer-events:none}
.swipe .lbl{position:absolute;bottom:26px;font:italic 900 28px/1 var(--display);text-transform:uppercase;padding:8px 18px;color:#fff}
.swipe .lbl.b{left:6%;background:var(--ink)}.swipe .lbl.a{right:6%;background:var(--red)}
.swipe input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:ew-resize}
.swipe:focus-within{outline:4px solid var(--red);outline-offset:4px}
.swipe-fig figcaption{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline}
.swipe-fig figcaption .v{font:italic 900 30px/1 var(--display);text-transform:uppercase}
.swipe-fig figcaption .t{font:600 14px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.work-more{margin-top:26px;font-size:17px;color:var(--body)}
.work-more a{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:3px}

/* story split with grayscale crew photo */
.story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.story-fig{margin:0;position:relative}
.story-fig img{width:100%;height:500px;object-fit:cover;filter:grayscale(1) contrast(1.1);clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)}
.story-cap{position:absolute;left:12%;top:20px;background:var(--ink);color:#fff;font:italic 900 22px/1.1 var(--display);text-transform:uppercase;padding:10px 14px;max-width:70%}
.story-cap span{display:block;font:600 13px/1.3 var(--sans);letter-spacing:.1em;color:var(--mist);margin-top:4px}
.story-fig .livery{left:-8%;bottom:-18px;width:60%;height:34px;flex-direction:row;gap:8px}
.story-fig .livery i:nth-child(1){flex:3}.story-fig .livery i:nth-child(2){flex:1}.story-fig .livery i:nth-child(3){flex:2}

/* =====================================================================
   PRICING / POLICY (homepage #process) — dark band with livery
   ===================================================================== */
.policy{background:var(--ink);color:#fff;overflow:hidden}
.policy::before{content:"";position:absolute;right:-8%;top:0;bottom:0;width:22%;background:linear-gradient(90deg,var(--steel) 0 78%,transparent 78% 84%,var(--red) 84%);transform:skewX(var(--skew));opacity:.95}
.policy-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:start;max-width:1180px}
.policy h2{font-size:clamp(3rem,6.4vw,6rem);margin-top:16px}
.policy h2 .blue{color:var(--steel)}
.policy .lede{margin-top:20px;font-size:18px;line-height:1.6;color:#D2D9E0;max-width:36em}
.policy .sub3{font:italic 900 clamp(1.9rem,3vw,2.6rem)/.95 var(--display);text-transform:uppercase;margin-top:40px;color:#fff}
.policy-card{position:relative;background:#fff;color:var(--ink);border:0;border-radius:0;padding:40px 34px 34px}
.policy-card::before{content:"";position:absolute;left:24px;top:-6px;width:130px;height:14px;background:var(--red);transform:skewX(var(--skew))}
.free-stamp{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--ink);color:#fff;font:italic 800 16px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;border-radius:0}
.policy-card .price{font:italic 900 104px/.9 var(--display);color:var(--red-deep)}
.policy-card .price .small{font-size:44px;vertical-align:top}
.policy-card h3{font:italic 900 34px/1 var(--display);text-transform:uppercase;margin-top:8px;letter-spacing:0}
.policy-card p{color:var(--body)!important}
.policy-card .row{display:flex;gap:14px;padding:18px 0;border-top:1px solid var(--line);align-items:flex-start}
.policy-card .row:first-of-type{margin-top:24px}
.policy-card .row .k{flex:0 0 22px;color:var(--red-deep)!important;font:italic 900 24px/1 var(--display)}
.policy-card .row .v{font-size:16px;line-height:1.5;color:var(--body)!important}
.policy-card .row .v b{color:var(--ink)}
.laps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:28px;margin-top:44px}
.lap h4{font:italic 900 30px/1 var(--display);text-transform:uppercase;margin:16px 0 8px}
.lap p{font-size:16px;line-height:1.55;color:#D2D9E0;max-width:24em}
.lap .plate{font-size:56px}

/* claims band (homepage #claims) */
.claims-band{background:var(--ink);color:#fff;overflow:hidden}
.claims-band .livery{right:-10%;top:0;bottom:0;width:30%;flex-direction:row;gap:12px}
.claims-band .livery i:nth-child(1){flex:4}.claims-band .livery i:nth-child(2){display:none}.claims-band .livery i:nth-child(3){flex:1}
.claims-band .wrap{position:relative}
.claims-band .section-head h2{max-width:13ch}
.claims-band .hprose{max-width:760px}
.claims-band .hprose p{color:#D2D9E0}
.claims-band .hprose h3{color:#fff}

/* =====================================================================
   BEFORE / AFTER GRID (interior pages)
   ===================================================================== */
.ba-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px}
.ba-grid.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.ba-card{background:none;border:0;border-radius:0;margin:0;overflow:visible}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:none;clip-path:polygon(7% 0,100% 0,93% 100%,0 100%)}
.ba-img{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--ink)}
.ba-img img{width:100%;height:100%;object-fit:cover}
.ba-tag{position:absolute;bottom:14px;top:auto;left:16%;background:var(--ink);color:#fff;font:italic 900 18px/1 var(--display);letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border-radius:0}
.ba-tag.after{background:var(--red);left:auto;right:16%}
.ba-card figcaption{padding:16px 4px 0;display:flex;flex-direction:column;gap:6px}
.ba-card figcaption .t{font:600 13px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ba-card figcaption .v{font:italic 900 28px/1 var(--display);text-transform:uppercase}

/* =====================================================================
   TESTIMONIALS / REVIEWS
   ===================================================================== */
.testimonials{background:var(--panel)}
.testimonials .section-head{max-width:none;grid-template-columns:minmax(0,1fr) auto;align-items:end}
.testimonials .section-head > div:last-child{align-items:flex-end}
.quote-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin-top:40px}
.quote{position:relative;background:#fff;border:0;border-radius:0;padding:36px 30px 28px;display:flex;flex-direction:column;gap:18px}
.quote::before{content:"";position:absolute;left:28px;top:0;width:70px;height:9px;background:var(--red);transform:skewX(var(--skew))}
.quote:nth-child(3n+2)::before{background:var(--steel)}
.quote .stars{color:var(--red-deep);font-size:18px;letter-spacing:2px}
.quote q{display:block;font:italic 800 clamp(1.45rem,1.9vw,1.75rem)/1.18 var(--display);color:var(--ink);quotes:none}
.quote q::before{content:none}
.quote .sig{margin-top:auto;display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--line)}
.quote .av{width:44px;height:44px;border-radius:10px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font:italic 900 18px/1 var(--display)}
.quote .who .n{font:italic 900 20px/1 var(--display);text-transform:uppercase}
.quote .who .v{font-size:14px;color:var(--muted)}
.review-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.rating-badge{display:flex;align-items:center;gap:14px;background:var(--ink);color:#fff;border:0;border-radius:0;padding:14px 22px;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.rating-badge .score{font:italic 900 56px/1 var(--display)}
.rating-badge .stars{color:var(--red-text)!important;font-size:16px}
.rating-badge .cnt{color:var(--mist)!important;font-size:13px}

/* =====================================================================
   AREA
   ===================================================================== */
.area{background:#fff}
.area-head{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:36px;max-width:980px}
.city-cloud{margin-top:36px;display:flex;flex-wrap:wrap;gap:10px}
.city{position:relative;display:inline-flex;align-items:center;gap:8px;padding:11px 16px 11px 28px;background:var(--panel);border:0;font:italic 800 19px/1 var(--display);text-transform:uppercase}
.city:hover{background:var(--ink);color:#fff}
.city .pin{display:none}

/* =====================================================================
   FAQ
   ===================================================================== */
.faq{background:var(--panel)}
.faq-list{border-top:5px solid var(--ink);max-width:1040px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:20px;min-height:44px;padding:24px 0;font:italic 900 clamp(1.5rem,2.4vw,2.1rem)/1.12 var(--display);text-transform:none;letter-spacing:0}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"";margin-left:auto;flex:0 0 22px;width:22px;height:22px;border:0;transform:none;background:linear-gradient(var(--red),var(--red)) center/100% 5px no-repeat,linear-gradient(var(--red),var(--red)) center/5px 100% no-repeat;transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item summary:hover{color:var(--red-deep)}
.faq-a{padding:0 0 26px;max-width:860px}
.faq-a p{font-size:18px;line-height:1.65;color:var(--body)}
.faq-a p + p{margin-top:12px}
.faq-a a{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px}

/* =====================================================================
   ESTIMATE + CONTACT
   ===================================================================== */
.estimate{background:#fff;border-top:0}
.est-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
.est-grid h1,.est-grid h2{font-size:clamp(3.2rem,7vw,6.4rem)}
.est-copy .lede,.est-copy > p{margin-top:22px;font-size:18px;line-height:1.6;color:var(--body);max-width:30em}
.est-points{margin-top:28px;display:flex;flex-direction:column;gap:12px}
.est-points div{position:relative;display:flex;gap:14px;align-items:flex-start;font-size:17px;line-height:1.5;color:var(--body);padding:14px 16px 14px 32px;background:var(--panel)}
.est-points b{color:var(--ink)}
.est-card{position:relative;background:#fff;border:4px solid var(--ink);border-radius:0;padding:36px 34px}
.est-card::before{content:"";position:absolute;left:24px;top:-4px;width:120px;height:12px;background:var(--red);transform:skewX(var(--skew))}
.est-card .hd{font:italic 900 40px/1 var(--display);text-transform:uppercase}
.est-card .sub{margin-top:8px;font-size:16px;color:var(--muted)}
.est-submit{margin-top:22px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.est-submit .fine{font-size:15px;line-height:1.5;color:var(--muted)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.fields2{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fields2 label{display:flex;flex-direction:column;gap:7px;font:italic 800 16px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.fields2 label.full{grid-column:1/-1}
.fields2 input,.fields2 textarea{font:400 17px/1.4 var(--sans);text-transform:none;letter-spacing:0;color:var(--ink);background:#fff;border:2px solid var(--ink);border-radius:0;padding:12px 14px;width:100%}
.fields2 input:focus,.fields2 textarea:focus{outline:3px solid var(--red);outline-offset:0}
.consent{margin-top:22px;padding:18px 20px;background:var(--panel);border:0;border-left:5px solid var(--steel);display:flex;gap:14px}

.contact{background:var(--red);color:#fff;overflow:hidden;padding:var(--sec) 0}
.contact::before{content:"";position:absolute;right:-12%;top:0;bottom:0;width:30%;background:linear-gradient(90deg,var(--ink) 0 34%,transparent 34% 40%,#fff 40% 52%,transparent 52% 58%,var(--steel) 58%);transform:skewX(var(--skew));pointer-events:none}
.contact-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:48px;align-items:start;max-width:1200px}
.contact h2{font-size:clamp(3.4rem,8vw,7.6rem);margin-top:14px}
.contact h2 .red{color:var(--ink)}
.contact .lede{margin-top:22px;font-size:19px;line-height:1.55;color:#fff;font-weight:700;max-width:30em}
.info-block{margin-top:34px;display:flex;flex-direction:column;gap:0;background:var(--ink);padding:6px 28px}
.info{display:flex;gap:20px;padding:20px 0;border-top:1px solid #2C3640}
.info:first-child{border-top:0}
.info:last-child{border-bottom:0}
.info .lbl{flex:0 0 130px;font:italic 800 17px/1.1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--steel)!important;padding-top:4px}
.info .val{flex:1;font-size:17px;line-height:1.5;color:#fff}
.info .val .big{font:italic 900 40px/1 var(--display);color:#fff}
.info .val .sub{font-size:15px;color:#D2D9E0!important;margin-top:4px}
.info .val a{color:#fff!important;text-decoration:underline;text-underline-offset:3px}
.hours-grid{display:grid;grid-template-columns:auto auto;gap:6px 28px;font-size:16px}
.hours-grid .d{color:#D2D9E0!important}
.hours-grid .t{color:#fff;font-weight:700}
.hours-grid .t.closed{color:#FFB3AD!important}
.map{position:relative;aspect-ratio:1/1.05;background:var(--ink);border:6px solid var(--ink);border-radius:0;overflow:hidden;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-cta{position:absolute;right:12%;bottom:18px;z-index:2;background:var(--ink);color:#fff;font:italic 900 20px/1 var(--display);text-transform:uppercase;padding:12px 16px;border-radius:0}
.map-cta:hover{background:var(--red-deep)}
.contact .btn-red{background:var(--ink)}
.contact .btn-red:hover{background:var(--ink-2)}

/* =====================================================================
   INTERIOR PAGE HERO (.phero), proof strip, prose, aside, callout
   ===================================================================== */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font:italic 800 17px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.crumbs a{color:var(--red-deep)!important}
.crumbs a:hover{color:var(--ink)!important}
.crumbs .sep{color:var(--muted)}
.phero{position:relative;overflow:hidden;padding:36px 0 84px;background:#fff}
.phero::before{content:"";position:absolute;top:24px;bottom:24px;right:-14%;width:52%;background:linear-gradient(180deg,var(--steel) 0 61%,transparent 61% 63%,var(--ink) 63% 75%,transparent 75% 77%,var(--red) 77%);transform:skewX(var(--skew));animation:ehcSweep 1.1s cubic-bezier(.2,.8,.2,1) both}
.phero .wrap{position:relative}
.phero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center;margin-top:26px}
.phero h1{font-size:clamp(3.4rem,6.4vw,6.6rem)}
.phero h1 .red{color:var(--red)}
.phero .lede{margin-top:24px;font-size:19px;line-height:1.6;color:var(--body);max-width:34em;background:rgba(255,255,255,.94);box-shadow:0 0 0 8px rgba(255,255,255,.94)}
.phero-grid > div:last-child:not(.phero-media) > p,.phero-grid > div:last-child:not(.phero-media) > span{display:inline-block;background:#fff;padding:8px 12px;margin-top:10px;box-shadow:6px 6px 0 var(--ink);font-size:15px;color:var(--body)}
.phero-ctas{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap}
.phero-media{position:relative;aspect-ratio:auto;border-radius:0;overflow:visible;background:none;box-shadow:none}
.phero-media img{width:100%;height:clamp(360px,40vw,560px);object-fit:cover;clip-path:polygon(14% 0,100% 0,86% 100%,0 100%)}
.phero-media .stamp{position:absolute;top:22px;right:18%;background:var(--red);color:#fff;font:italic 900 18px/1 var(--display);text-transform:uppercase;letter-spacing:.04em;padding:9px 14px;border-radius:0}
.badge-row{margin-top:34px;padding:0;border:0;display:flex;flex-wrap:wrap;gap:10px;max-width:640px}
.badge{position:relative;display:inline-flex;align-items:center;padding:10px 14px 10px 28px;background:var(--panel);border:0;border-radius:0;font:italic 800 18px/1 var(--display);text-transform:uppercase;letter-spacing:.02em}
.badge::before,.est-points div::before,.city::before,.linkcard ul li::before{content:"";position:absolute;left:7px;top:0;bottom:0;width:8px;background:var(--red);transform:skewX(-18deg)}
.badge:nth-child(even)::before,.est-points div:nth-child(even)::before,.city:nth-child(even)::before,.linkcard ul li:nth-child(even)::before{background:var(--steel)}

.proof-strip{background:var(--ink);color:#fff;padding:34px 0;position:relative;overflow:hidden}
.proof-strip::before{content:"";position:absolute;left:-40px;top:0;bottom:0;width:110px;background:linear-gradient(90deg,var(--red) 0 55%,transparent 55% 68%,var(--steel) 68%);transform:skewX(var(--skew))}
.proof-strip .wrap{position:relative;padding-left:96px}
.proof-strip p{max-width:980px;font-size:19px;line-height:1.6;font-weight:500}
.proof-strip a{color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:var(--red-text);text-decoration-thickness:2px;text-underline-offset:3px}

.prose{max-width:820px}
.prose h2{font-size:clamp(2.6rem,4.6vw,4.4rem);margin-bottom:22px}
.prose h2 .red{color:var(--red)}
.prose h2:not(:first-child){margin-top:56px}
.prose h3{font:italic 900 clamp(1.8rem,2.6vw,2.3rem)/1 var(--display);text-transform:uppercase;margin:36px 0 12px}
.prose p{font-size:18px;line-height:1.7;color:var(--body);margin-bottom:18px}
.prose p:last-child{margin-bottom:0}
.prose p b,.prose p strong{color:var(--ink)}
.prose ul,.prose ol{margin:22px 0;display:flex;flex-direction:column;gap:10px}
.prose ul{list-style:none}
.prose ul li{position:relative;padding-left:28px;font-size:17px;line-height:1.6;color:var(--body);display:block}
.prose ul li::before{content:"";position:absolute;left:0;top:10px;width:14px;height:8px;background:var(--red);transform:skewX(var(--skew));margin:0}
.prose ol{padding-left:24px}
.prose ol li{font-size:17px;line-height:1.6;color:var(--body);padding-left:6px}
.prose ol li::marker{font:italic 900 20px/1 var(--display);color:var(--red-deep)}
.prose ul li b,.prose ol li b{color:var(--ink)}
.prose a{color:var(--ink)!important;font-weight:700;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:3px}
.prose a:hover{color:var(--red-deep)!important}
.prose a.btn{text-decoration:none}
.prose a.btn-red,.prose a.btn-red:hover,.prose a.btn-ghost,.prose a.btn-ghost:hover{color:#fff!important}
.prose blockquote{margin:24px 0;padding:6px 0 6px 22px;border-left:6px solid var(--steel);font:italic 800 24px/1.25 var(--display)}
.prose table{width:100%;border-collapse:collapse;margin:22px 0}
.prose th,.prose td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);font-size:16px}
.prose th{font:italic 800 16px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;border-bottom:3px solid var(--ink)}

.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:start}
.aside-card{position:sticky;top:110px;background:var(--ink);color:#fff;border:0;border-radius:0;padding:36px 32px 32px;overflow:hidden}
.aside-card{overflow:visible;box-shadow:12px 12px 0 rgba(16,20,24,.12)}
.aside-card::before{content:"";position:absolute;left:24px;top:-6px;width:130px;height:14px;background:var(--red);transform:skewX(var(--skew))}
.aside-card > *{position:relative}
.aside-card[style*="static"]{position:relative!important}
.aside-card h3,.aside-card h4{font:italic 900 34px/.95 var(--display);text-transform:uppercase}
.aside-card p{margin-top:14px;font-size:17px;line-height:1.55;color:#D2D9E0}
.aside-card .btn{margin-top:22px;width:100%}
.aside-card .rows{margin-top:20px;border-top:1px solid #2C3640}
.aside-card .rows div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #2C3640;font-size:16px}
.aside-card .rows .k{color:var(--mist)!important;font-weight:600}
.aside-card .rows .v{font-weight:700;text-align:right;color:#fff}
.aside-card a:not(.btn){color:#fff;text-decoration:underline}
.aside-card p[style],.aside-card .fine,.aside-card small{color:#B9C3CC!important}

.callout{position:relative;background:var(--ink);color:#fff;border-radius:0;padding:44px 42px;margin:12px 0;overflow:hidden}
.callout::before{content:"";position:absolute;left:28px;top:0;width:140px;height:12px;background:var(--red);transform:skewX(var(--skew))}
.callout h3{font:italic 900 clamp(2rem,3.4vw,3.2rem)/.95 var(--display);text-transform:uppercase;margin-top:14px}
.callout h3 .red{color:var(--red-text)}
.callout p{margin-top:16px;font-size:18px;line-height:1.6;color:#D2D9E0;max-width:44em}
.callout p b,.callout :is(strong,b){color:#fff!important}
.callout .fine{color:#B9C3CC!important;font-size:15px}
.callout a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.callout a.btn{text-decoration:none}

.ptable{width:100%;border-collapse:collapse;margin:26px 0 8px;font-size:17px}
.ptable th{text-align:left;font:italic 800 16px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 0 12px;border-bottom:4px solid var(--ink)}
.ptable td{padding:15px 0;border-bottom:1px solid var(--line);color:var(--body);vertical-align:top}
.ptable td:last-child,.ptable th:last-child{text-align:right;white-space:nowrap;padding-left:20px}
.ptable td:last-child{font:italic 900 24px/1 var(--display);color:var(--ink)}
.ptable-note{font-size:15px!important;color:var(--muted)!important}

/* =====================================================================
   LEGAL / DOC PAGES, THANK-YOU, REQUEST, 404, BLOG
   ===================================================================== */
.doc-head{position:relative;overflow:hidden;background:#fff;border-bottom:0;padding:56px 0 52px}
.doc-head::after{content:"";position:absolute;right:-10%;top:24px;bottom:24px;width:32%;background:linear-gradient(180deg,var(--steel) 0 61%,transparent 61% 64%,var(--ink) 64% 76%,transparent 76% 79%,var(--red) 79%);transform:skewX(var(--skew))}
.doc-head .wrap{position:relative;z-index:1}
.doc-head h1{font-size:clamp(3.4rem,7vw,6.6rem);margin-top:16px}
.doc-meta{margin-top:26px;padding-top:22px;border-top:4px solid var(--ink);display:flex;gap:44px;flex-wrap:wrap;font-size:16px;line-height:1.6;color:var(--body);max-width:62%}
.doc-meta b{display:block;font:italic 800 16px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--red-deep);margin-bottom:6px}
.doc{display:grid;grid-template-columns:270px minmax(0,1fr);gap:72px;align-items:start;padding-top:64px;padding-bottom:104px}
.toc{position:sticky;top:110px}
.toc h4{font:italic 800 17px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:14px;padding-bottom:10px;border-bottom:4px solid var(--ink)}
.toc ol{list-style:none;counter-reset:t;display:flex;flex-direction:column;gap:2px}
.toc a{display:block;padding:8px 0 8px 34px;font-size:15px;line-height:1.35;color:var(--body);border:0;border-left:0;position:relative;counter-increment:t}
.toc a::before{content:counter(t,decimal-leading-zero);position:absolute;left:0;top:7px;font:italic 900 17px/1 var(--display);color:var(--red-deep)}
.toc a:hover{color:var(--ink);background:var(--panel)}
.kw{font-weight:800;color:var(--red-deep)}
.sms-card{border:4px solid var(--ink);border-radius:0;margin:28px 0;overflow:hidden}
.sms-card .sms-h{background:var(--ink);color:#fff;padding:14px 24px;font:italic 900 22px/1 var(--display);text-transform:uppercase}
.sms-card .sms-b{padding:24px 26px}
.contact-card{margin-top:32px;border:4px solid var(--ink);border-radius:0;overflow:hidden}
.contact-card .cc-h{background:var(--ink);color:#fff;padding:18px 26px;border:0}
.contact-card .cc-h .n{font:italic 900 28px/1 var(--display);text-transform:uppercase}
.contact-card .cc-b{padding:24px 26px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-card .cc-b .k{font:italic 800 16px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--red-deep);margin-bottom:6px}
.contact-card .cc-b .v{font-size:17px;line-height:1.55;color:var(--body)}
.page{padding-top:64px;padding-bottom:var(--sec)}
main.page h1{font-size:clamp(3.4rem,7vw,6.4rem)!important;font-family:var(--display)!important;font-style:italic;font-weight:900!important;line-height:.88!important}
main.page h1 span[style]{color:var(--red)!important}
main.page > .btn,main.page a.btn[style]{border:0!important}
main.page a.btn:not(.btn-red){background:var(--ink)!important;color:#fff!important}

.error-page{padding-top:72px;padding-bottom:var(--sec);max-width:900px}
.error-code{display:inline-block;border:6px solid var(--ink);border-radius:20px;padding:0 24px 6px;font:italic 900 clamp(6rem,16vw,11rem)/1 var(--display);color:var(--ink)}
.error-title{font-size:clamp(3rem,7vw,6rem);margin-top:22px}
.error-message{margin-top:20px;font-size:19px;line-height:1.6;color:var(--body);max-width:34em}
.error-actions{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px}
.error-phone{margin-top:30px;font-size:18px}
.error-phone a{font:italic 900 28px/1 var(--display);color:var(--red-deep)}
.error-phone .hours{color:var(--muted);margin-top:6px}

.tldr{border:0;border-left:6px solid var(--steel);background:var(--panel);padding:22px 24px;margin:32px 0}
.tldr .lbl{display:block;font:italic 800 17px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--red-deep);margin-bottom:10px}
.tldr p{margin:0}
.prose .toc,.toc.inline{position:static;border-top:4px solid var(--ink);border-bottom:1px solid var(--line);padding:20px 0;margin:32px 0}
.prose .toc .lbl{display:block;font:italic 800 17px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:12px}
.prose .toc ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 28px}
.prose .toc ul li{padding-left:0}
.prose .toc ul li::before{content:none}
.prose ol.steps,.prose ul.steps{display:block;list-style:none;padding:0;margin:24px 0}
.prose ul.steps li{display:block;margin:0 0 16px;padding-left:62px;position:relative;min-height:36px}
.prose ul.steps li::before{content:none}
.prose ul.steps li b.n{position:absolute;left:0;top:-2px;border:3px solid var(--ink);border-radius:8px;padding:0 6px;font:italic 900 20px/1.2 var(--display);color:var(--ink);background:#fff}
.prose ul.steps li:nth-child(3n+2) b.n{background:var(--steel);border-color:var(--steel)}
.prose ul.steps li:nth-child(3n) b.n{background:var(--red);border-color:var(--red);color:#fff}
.prose ol.steps li{margin:0 0 14px;padding-left:52px;position:relative}
.prose ol.steps li b.n{position:absolute;left:0;top:-2px;border:3px solid var(--ink);border-radius:8px;padding:0 6px;font:italic 900 20px/1.2 var(--display);color:var(--ink);background:#fff}

.related-posts{margin-top:72px;padding-top:40px;border-top:5px solid var(--ink)}
.related-posts h2{font-size:clamp(2.6rem,5vw,4.4rem);margin-bottom:28px}

/* =====================================================================
   FOOTER
   ===================================================================== */
footer{position:relative;background:var(--ink);color:#C9D1D9;padding:84px 0 32px;overflow:hidden}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background:linear-gradient(90deg,var(--red) 0 46%,var(--ink) 46% 48%,var(--steel) 48% 82%,var(--ink) 82% 84%,#fff 84%)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;align-items:start}
.foot-grid .brand img{height:64px}
.foot-grid .brand-txt .b1{color:#fff;font-size:40px}
.foot-grid .brand-txt .b2{color:var(--red-text);font-size:17px}
.foot-grid p{margin-top:20px;font-size:16px;line-height:1.6;max-width:24em;color:#C9D1D9}
.foot-grid h5{font:italic 900 22px/1 var(--display);letter-spacing:.04em;text-transform:uppercase;color:#fff;margin-bottom:16px;padding-bottom:10px;border-bottom:4px solid var(--red);display:inline-block}
.foot-grid ul{list-style:none;display:flex;flex-direction:column;gap:4px}
.foot-grid ul li{font-size:16px;color:#C9D1D9}
.foot-grid ul a{display:inline-block;padding:4px 0;font-size:16px;color:#C9D1D9}
.foot-grid ul a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--red-text)}
.foot-bottom{margin-top:52px;padding-top:24px;border-top:1px solid #2C3640;display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;font-size:14px;color:#AEB8C2}
.foot-bottom a{color:#C9D1D9;display:inline-block;padding:4px 0}
.foot-bottom a:hover{color:#fff}
.moved-note{background:var(--ink);color:#AEB8C2}

/* consent banner/dialog re-skin (markup from consent.js) */
.ehc-cb{background:var(--ink);border-top:6px solid var(--red);font-family:var(--sans)}
.ehc-cb h2{font:italic 900 26px/1 var(--display);text-transform:uppercase}
.ehc-btn{font:italic 900 19px/1 var(--display);border-radius:0;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.ehc-btn-ghost{clip-path:none}
.ehc-dlg{border:4px solid var(--ink);border-radius:0}
.ehc-dlg-h h2{font:italic 900 32px/1 var(--display);text-transform:uppercase}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1240px){
  .nav-links{gap:20px}
  .nav-links > a,.navdrop-t{font-size:19px}
  .nav-call{font-size:20px;padding:10px 18px}
}
@media (max-width:1100px){
  .nav-links{display:none}
  .drawer-in{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  :root{--gut:20px;--sec:80px}
  body{font-size:17px}
  .nav-inner{height:72px;gap:12px}
  .mobile-drawer{inset:72px 0 0 0}
  .brand img{height:44px}
  .brand-txt .b1{font-size:28px}.brand-txt .b2{font-size:14px}
  .mobile-callbar{display:block}
  body.has-callbar,body{padding-bottom:76px}
  .drawer-in{grid-template-columns:1fr;padding-top:28px;gap:26px}
  .drawer-in .livery{display:none}
  .mobile-drawer a.link{font-size:28px}
  .hero-grid,.policy-grid,.contact-grid,.est-grid,.split,.phero-grid,.story-grid{grid-template-columns:1fr}
  .hero .livery{top:auto;bottom:40px;height:280px;width:120%;right:-40%}
  .phero::before{top:auto;bottom:24px;height:240px;width:110%;right:-50%}
  .phero{padding-bottom:56px}
  .aside-card{position:relative;top:auto}
  .policy::before,.contact::before{width:14%;right:-10%}
  .claims-band .livery{width:16%;right:-12%}
  .doc{grid-template-columns:1fr;gap:0;padding-top:36px}
  .toc{position:static;margin-bottom:36px}
  .doc-head::after{display:none}
  .doc-meta{max-width:none}
  .steps,.steps.s3,.steps.s5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-grid{grid-template-columns:1fr;gap:34px}
  footer{padding-bottom:110px}
  .testimonials .section-head{grid-template-columns:1fr}
  .testimonials .section-head > div:last-child{align-items:flex-start!important}
  .contact-card .cc-b{grid-template-columns:1fr}
  .story-fig img{height:340px}
  .info{flex-direction:column;gap:6px}
  .info .lbl{flex:0 0 auto}
}
@media (max-width:560px){
  .hamburger::after{content:none}
  #nav-toggle:checked ~ nav .hamburger::after{content:none}
  .hamburger{padding:0 14px}
  .nav-call{font-size:18px;padding:10px 14px;min-height:48px}
  .brand-txt{display:none}
  .steps,.steps.s3,.steps.s5{grid-template-columns:1fr}
  .hero-display{font-size:clamp(3.4rem,16vw,4.6rem)}
  .phero h1,.doc-head h1,.est-grid h1,.est-grid h2{font-size:clamp(2.8rem,13vw,3.6rem)}
  .btn{width:100%}
  .nav .btn,.picks button{width:auto}
  .ba-tag{font-size:15px}
  .picks button{width:86px;height:58px}
  .est-card,.callout,.aside-card,.policy-card{padding:26px 22px}
  .proof-strip .wrap{padding-left:72px}
  .proof-strip::before{width:80px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
