/* Copy of the homepage styles, used by the service pages. */
@font-face{font-family:'Saira Fallback';src:local('Arial Narrow'),local('ArialNarrow'),local('Arial'),local('Helvetica'),local('Roboto');size-adjust:80%;ascent-override:118%;descent-override:32%}
@font-face{font-family:'Inter Fallback';src:local('Arial'),local('Helvetica'),local('Roboto');size-adjust:107%;ascent-override:90%;descent-override:22%}
@font-face{font-family:'Saira Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(/oz/fonts/SairaCondensed-600.woff2) format('woff2')}
@font-face{font-family:'Saira Condensed';font-style:normal;font-weight:800;font-display:swap;src:url(/oz/fonts/SairaCondensed-800.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url(/oz/fonts/Inter-400.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:italic;font-weight:800;font-display:swap;src:url(/oz/fonts/Poppins-800i.woff2) format('woff2')}
:root{--ink:#0a0a0b;--coal:#111114;--steel:#18191d;--line:#2a2b31;--chrome:#eceef1;--mute:#a1a4ab;--dim:#6f727a;--red:#e3141b;--red-hi:#ff2d2d;--warm:#ffb067;
--disp:'Saira Condensed','Saira Fallback',sans-serif;--body:'Inter','Inter Fallback',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--ital:'Poppins','Arial Black',sans-serif;
--pad:clamp(20px,5vw,72px);--max:1240px;--ease:cubic-bezier(.2,.7,.1,1)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--ink);color:var(--chrome);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--red-hi);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--red);color:#fff;padding:10px 14px;z-index:99}.skip:focus{left:8px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.redline{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#7a0b0f,var(--red) 70%,var(--red-hi));z-index:60}
/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .4s,border-color .4s,backdrop-filter .4s;border-bottom:1px solid transparent}
.hdr.solid{background:rgba(10,10,11,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px}
.brand img{height:46px;width:auto}
.nav{display:flex;align-items:center;gap:28px}
.nav a{text-decoration:none;font:600 15px/1 var(--disp);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);transition:color .2s}
.nav a:hover{color:#fff}
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:800 17px/1 var(--disp);letter-spacing:.08em;text-transform:uppercase;padding:16px 22px;border-radius:999px;transition:transform .25s var(--ease),background .25s,box-shadow .25s;white-space:nowrap}
.btn svg{width:18px;height:18px}
.btn-red{background:var(--red);color:#fff;box-shadow:0 10px 30px -10px rgba(227,20,27,.8)}
.btn-red:hover{background:var(--red-hi);transform:translateY(-2px)}
.btn-ghost{border:1px solid rgba(236,238,241,.28);color:#fff;background:rgba(10,10,11,.35);backdrop-filter:blur(6px)}
.btn-ghost:hover{border-color:#fff;transform:translateY(-2px)}
.nav .btn{padding:12px 18px;font-size:15px;color:#fff}
@media (max-width:900px){.nav a:not(.btn){display:none}.brand img{height:38px}}
/* hero */
.hero{position:relative;height:100svh;min-height:620px;overflow:hidden;isolation:isolate;background:#050506}
.layer{position:absolute;inset:0;will-change:transform}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,6,.9) 0%,rgba(5,5,6,.55) 38%,rgba(5,5,6,0) 70%),linear-gradient(0deg,var(--ink) 0%,rgba(10,10,11,0) 30%)}
.gear{position:absolute;top:auto;left:auto;right:-6vw;bottom:-22vw;width:min(62vw,820px);opacity:.14;color:var(--chrome)}
.gear svg{width:100%;height:auto}
.hero-copy{position:absolute;inset:0;display:flex;align-items:center}
.hero-copy .wrap{width:100%}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 14px/1 var(--disp);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.eyebrow i{width:28px;height:2px;background:var(--red);display:block}
.status{display:inline-flex;align-items:center;gap:8px;margin-left:6px;color:#fff}
.status b{width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 0 rgba(61,220,132,.6);animation:ping 2.2s infinite}
.status.closed b{background:var(--dim);animation:none}
@keyframes ping{70%{box-shadow:0 0 0 9px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
h1,h2,h3{font-family:var(--disp);font-weight:800;text-transform:uppercase;line-height:.92;letter-spacing:.005em;margin:0}
.chrome{background:linear-gradient(180deg,#fff 0%,#e3e6ea 38%,#8d929a 52%,#d9dce0 66%,#fff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1{font-size:clamp(54px,9.2vw,138px);margin:22px 0 22px;max-width:11ch}
.hero h1 em{font-style:normal;color:var(--red);-webkit-text-fill-color:var(--red)}
.lede{font-size:clamp(17px,1.5vw,20px);color:#c9ccd2;max-width:46ch;margin:0 0 34px}
.cta{display:flex;flex-wrap:wrap;gap:14px}
.scrollcue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);font:600 12px/1 var(--disp);letter-spacing:.3em;color:var(--dim);text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:10px}
.scrollcue span{width:1px;height:38px;background:linear-gradient(var(--red),transparent);animation:cue 2.4s var(--ease) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
@media (max-width:700px){.hero .shade{background:linear-gradient(180deg,rgba(5,5,6,.35) 0%,rgba(5,5,6,.15) 30%,rgba(5,5,6,.82) 58%,var(--ink) 100%)}.hero video,.hero .poster{object-position:68% 50%}.hero-copy{align-items:flex-end;padding-bottom:84px}.gear{width:120vw;right:-45vw;bottom:-55vw;opacity:.12}.eyebrow{flex-wrap:wrap;row-gap:8px}.status{flex-basis:100%;margin-left:38px;min-height:14px}.hero h1{margin:16px 0}.lede{margin-bottom:26px}.scrollcue{display:none}}
.vtoggle{position:absolute;left:var(--pad);bottom:24px;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.35);color:#fff;display:grid;place-items:center;cursor:pointer}
.vtoggle svg{width:16px;height:16px}
/* sections */
section{position:relative}
.sec{padding:clamp(88px,12vw,160px) 0}
.kicker{display:flex;align-items:center;gap:14px;font:600 14px/1 var(--disp);letter-spacing:.24em;text-transform:uppercase;color:var(--red);margin-bottom:20px}
.tach{width:44px;height:26px;flex:none}
.tach .arc{stroke-dasharray:60;stroke-dashoffset:60;transition:stroke-dashoffset 1.4s var(--ease) .2s}
.in .tach .arc{stroke-dashoffset:8}
h2{font-size:clamp(42px,6.2vw,88px)}
.sub{color:var(--mute);max-width:56ch;margin:22px 0 0;font-size:18px}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
/* about */
.about .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.about p{color:#c7cad0;margin:0 0 18px}
.about .quote{font:800 italic clamp(22px,2.2vw,28px)/1.25 var(--ital);color:#fff;margin:0 0 26px;letter-spacing:-.01em}
.about .quote span{color:var(--red)}
.facts{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}
.facts li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--mute)}
.facts svg{flex:none;width:18px;height:18px;margin-top:3px;color:var(--red)}
.stack{position:relative;aspect-ratio:4/5}
.stack figure{position:absolute;will-change:transform;margin:0;overflow:hidden;border-radius:18px;box-shadow:0 40px 80px -30px rgba(0,0,0,.9)}
.stack .a{inset:0 18% 14% 0}
.stack .b{right:0;bottom:0;width:52%;aspect-ratio:1/1;border:6px solid var(--ink)}
.stack img{width:100%;height:100%;object-fit:cover}
.stack .badge{position:absolute;left:-14px;bottom:24%;background:var(--red);color:#fff;font:800 15px/1.1 var(--disp);letter-spacing:.12em;text-transform:uppercase;padding:14px 16px;border-radius:10px;rotate:-4deg;will-change:transform}
@media (max-width:900px){.about .wrap{grid-template-columns:1fr}.stack{max-width:520px}.facts{grid-template-columns:1fr}}
/* services */
.services{background:var(--coal);overflow:hidden}
.services .bg{position:absolute;inset:-18% 0;opacity:.13;background:url(/oz/img/shop-paint-booth-1200.webp) center/cover;filter:grayscale(1) contrast(1.2)}
.services::after{content:"";position:absolute;inset:0;background:linear-gradient(var(--coal),rgba(17,17,20,.6) 30%,rgba(17,17,20,.6) 70%,var(--coal));pointer-events:none}
.services .wrap{position:relative;z-index:1}
.svc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:60px}
.col{background:linear-gradient(180deg,rgba(27,28,32,.92),rgba(17,17,20,.92));border:1px solid var(--line);border-radius:22px;padding:30px 28px 18px;position:relative;overflow:hidden}
.col::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--red),transparent)}
.col h3{font-size:30px;margin-bottom:6px}
.col .num{font:800 italic 15px/1 var(--ital);color:var(--red);display:block;margin-bottom:16px}
.col ul{list-style:none;margin:16px 0 0;padding:0}
.col li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line)}
.col li strong{display:block;font-weight:600;color:#fff;font-size:16px}
.col li small{display:block;color:var(--dim);font-size:14px;line-height:1.45;margin-top:2px}
.price{font:800 18px/1.2 var(--disp);letter-spacing:.04em;color:var(--chrome);white-space:nowrap;text-align:right}
.price small{font:600 12px/1.2 var(--disp);letter-spacing:.12em;color:var(--dim);text-transform:uppercase}
.note{color:var(--dim);font-size:14px;margin-top:22px}
.col li strong a{text-decoration:none}.col li strong a::after{content:" →";color:var(--red)}.col li strong a:hover{color:var(--red-hi)}
@media (max-width:1000px){.cols{grid-template-columns:1fr}}
/* work */
.work{overflow:hidden}
.strip{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:56px var(--pad) 28px;scrollbar-width:thin;scrollbar-color:var(--red) transparent;-webkit-overflow-scrolling:touch}
.strip figure{flex:0 0 clamp(230px,24vw,320px);margin:0;scroll-snap-align:start}
.strip .ph{border-radius:16px;overflow:hidden;aspect-ratio:3/4;background:var(--steel)}
.strip .ph img{width:100%;height:112%;object-fit:cover;will-change:transform}
.strip figcaption{font:600 14px/1.2 var(--disp);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:12px}
.strip figure:nth-child(even){margin-top:46px}
.hint{display:flex;align-items:center;gap:10px;color:var(--dim);font:600 13px/1 var(--disp);letter-spacing:.2em;text-transform:uppercase}
/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px;counter-reset:s}
.step{border-top:1px solid var(--line);padding-top:26px}
.step .n{font:800 italic 46px/1 var(--ital);color:transparent;-webkit-text-stroke:1.2px var(--red)}
.step h3{font-size:28px;margin:16px 0 10px}
.step p{color:var(--mute);margin:0;font-size:16px}
@media (max-width:820px){.steps{grid-template-columns:1fr}}
/* reviews */
.reviews{background:radial-gradient(1200px 500px at 85% 0%,rgba(227,20,27,.13),transparent 60%),var(--ink)}
.rv-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px}
.score{display:flex;align-items:center;gap:14px;color:var(--mute);font-size:15px}
.score .stars{color:#ffc93d;letter-spacing:2px;font-size:20px}
.rv{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:22px;margin-top:56px;align-items:start}
.card{background:var(--steel);border:1px solid var(--line);border-radius:22px;padding:30px;position:relative}
.card .stars{color:#ffc93d;letter-spacing:2px;margin-bottom:16px}
.card blockquote{margin:0;color:#e3e5e9;font-size:17px;line-height:1.65}
.card blockquote::before{content:"\201C";position:absolute;right:22px;top:6px;font:800 italic 92px/1 var(--ital);color:rgba(227,20,27,.18)}
.card footer{display:flex;align-items:center;gap:12px;margin-top:22px;color:var(--mute);font-size:14px}
.card footer b{color:#fff;font-weight:600;display:block}
.av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#24252a;font:800 16px/1 var(--disp);color:var(--chrome)}
.rv .card:nth-child(2){margin-top:60px}
@media (max-width:980px){.rv{grid-template-columns:1fr}.rv .card:nth-child(2){margin-top:0}}
/* visit */
.visit{background:var(--coal)}
.visit .grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,5vw,70px);margin-top:56px}
.hours{list-style:none;margin:0;padding:0}
.hours li{display:flex;justify-content:space-between;padding:15px 4px;border-bottom:1px solid var(--line);font-size:17px;color:#c7cad0}
.hours li span:last-child{font:600 19px/1.2 var(--disp);letter-spacing:.06em;color:#fff}
.hours li.today{color:#fff;background:linear-gradient(90deg,rgba(227,20,27,.16),transparent);border-radius:8px;padding-left:14px;border-bottom-color:transparent}
.hours li.today span:first-child::after{content:"Today";margin-left:10px;font:800 11px/1 var(--disp);letter-spacing:.18em;color:var(--red);vertical-align:middle}
.addr{margin-top:34px;display:grid;gap:14px}
.addr a.big{font:800 clamp(26px,3vw,34px)/1.05 var(--disp);text-transform:uppercase;text-decoration:none;display:block}
.addr a.big:hover{color:var(--red-hi)}
.addr p{margin:0;color:var(--mute)}
.mapbox{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);min-height:420px;background:var(--steel)}
.mapbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.9) invert(.92) hue-rotate(180deg) contrast(.9)}
.mapbox .pin{position:absolute;left:16px;bottom:16px;right:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:rgba(10,10,11,.86);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.mapbox .pin small{color:var(--mute);display:block}
.area{margin-top:16px;color:var(--dim);font-size:14px}
@media (max-width:900px){.visit .grid{grid-template-columns:1fr}}
/* footer */
.foot{border-top:1px solid var(--line);padding:70px 0 120px}
.foot .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.foot h4{font:600 14px/1 var(--disp);letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin:0 0 16px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot a{text-decoration:none;color:#d6d8dd}.foot a:hover{color:var(--red-hi)}
.foot .logo{height:70px;width:auto;margin-bottom:18px}
.foot .fine{margin-top:50px;color:var(--dim);font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
@media (max-width:820px){.foot .grid{grid-template-columns:1fr}}
/* mobile dock */
.dock{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:55;display:none;gap:10px;transform:translateY(calc(100% + 120px));transition:transform .45s var(--ease)}
.dock.show{transform:none}
.dock a{flex:1;justify-content:center;padding:15px 12px}
@media (max-width:760px){.dock{display:flex}.foot{padding-bottom:200px}}

.col li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px}
.add{flex:none;border:1px solid #3a3b42;background:transparent;color:#fff;border-radius:999px;padding:8px 12px;font:800 12px/1 var(--disp);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;display:inline-flex;gap:6px;align-items:center;transition:background .2s,border-color .2s,transform .2s}
.add:hover{border-color:var(--red-hi);transform:translateY(-1px)}
.add svg{width:12px;height:12px}
.add[aria-pressed="true"]{background:var(--red);border-color:var(--red)}
.add[aria-pressed="true"] .plus{display:none}.add:not([aria-pressed="true"]) .tick{display:none}
.book{background:linear-gradient(180deg,var(--ink),#0f0f12)}
.book .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,70px);margin-top:56px;align-items:start}
.book aside p{color:var(--mute);margin:0 0 18px}
.book aside .big{font:800 clamp(26px,3vw,34px)/1.05 var(--disp);text-decoration:none;display:block;margin:6px 0 22px}
.book aside .big:hover{color:var(--red-hi)}
.bk-steps{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:16px;counter-reset:b}
.bk-steps li{display:flex;gap:14px;color:#c7cad0;font-size:15px}
.bk-steps li::before{counter-increment:b;content:counter(b);flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--red);color:var(--red);display:grid;place-items:center;font:800 14px/1 var(--disp)}
.form{background:var(--steel);border:1px solid var(--line);border-radius:22px;padding:clamp(22px,3vw,34px);display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .full{grid-column:1/-1}
.form label{display:grid;gap:7px;font:600 13px/1 var(--disp);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.form label span i{font-style:normal;color:var(--red)}
.form input,.form textarea{width:100%;background:#0e0e11;border:1px solid #2f3037;color:#fff;border-radius:12px;padding:14px 14px;font:400 16px/1.3 var(--body);color-scheme:dark;transition:border-color .2s}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--red)}
.form input[aria-invalid="true"]{border-color:var(--red-hi)}
.form textarea{min-height:96px;resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.chip{border:1px solid #33343b;background:#0e0e11;color:#cfd2d7;border-radius:999px;padding:9px 13px;font:500 14px/1 var(--body);cursor:pointer;transition:all .2s}
.chip:hover{border-color:#5a5c64}
.chip[aria-pressed="true"]{background:rgba(227,20,27,.16);border-color:var(--red);color:#fff}
.chip[aria-pressed="true"]::before{content:"✓ ";color:var(--red-hi)}
.chips-label{display:flex;justify-content:space-between;align-items:baseline;font:600 13px/1 var(--disp);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.chips-label b{color:#fff;font-weight:600}
.send{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.send .btn{border:0;cursor:pointer}
.form .err{color:var(--red-hi);font-size:14px;min-height:1em;margin:0}
.form .fine{color:var(--dim);font-size:13.5px;margin:0}
@media (max-width:900px){.book .grid{grid-template-columns:1fr}}
@media (max-width:560px){.form{grid-template-columns:1fr}.col li{grid-template-columns:1fr auto}.col li .price{grid-column:1;text-align:left;grid-row:2}.col li .add{grid-row:1/3;grid-column:2}}
.tray{position:fixed;right:24px;bottom:96px;z-index:56;display:none;align-items:center;gap:10px;transform:translateY(calc(100% + 140px));opacity:0;pointer-events:none;transition:transform .45s var(--ease),opacity .3s}
.tray.show{transform:none;opacity:1;pointer-events:auto}
@media (min-width:761px){.tray{display:inline-flex}}

/* full-bleed header + hero on wide screens */
.hdr .wrap,.hero-copy .wrap{max-width:none;padding-left:clamp(20px,5vw,110px);padding-right:clamp(20px,5vw,110px)}
.vtoggle{left:clamp(20px,5vw,110px)!important}
@media (min-width:1500px){.brand img{height:56px}.hero h1{font-size:clamp(110px,7.4vw,168px)}.lede{font-size:21px;max-width:50ch}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.tach .arc{stroke-dashoffset:8}.layer,.strip .ph img,.services .bg{transform:none!important}}
.est-lead{max-width:640px;color:var(--mute);font-size:17px;line-height:1.55;margin:18px 0 0}
.est-grid{display:grid;grid-template-columns:minmax(260px,.85fr) 1.15fr;gap:clamp(30px,5vw,70px);margin-top:48px;align-items:start}
.est-car{position:relative;background:radial-gradient(120% 80% at 50% 40%,#17181c,#0b0b0d);border:1px solid var(--line);border-radius:22px;padding:22px 18px 16px;position:sticky;top:90px}
#estSvg{display:block;width:100%;max-width:330px;margin:0 auto;height:auto;user-select:none;-webkit-tap-highlight-color:transparent}
#estSvg .p{cursor:pointer;outline:none}
#estSvg .p>*{fill:#1d1e23;stroke:#4a4c55;stroke-width:1.6;transition:fill .18s,stroke .18s}
#estSvg .p.lt>*{fill:#2b2c33}
#estSvg .p:hover>*,#estSvg .p:focus-visible>*{fill:#2c2d34;stroke:#c9ccd2}
#estSvg .p[aria-pressed="true"]>*{fill:rgba(227,20,27,.55);stroke:var(--red-hi)}
#estSvg .p[aria-pressed="true"]:hover>*{fill:rgba(227,20,27,.7)}
#estSvg .p:focus-visible>*{stroke-width:2.6}
#estSvg text{font:600 11px var(--disp);letter-spacing:.24em;fill:#6b6e77;text-anchor:middle}
.est-tip{position:absolute;pointer-events:none;background:#fff;color:#0b0b0d;font:600 13px/1 var(--body);padding:7px 10px;border-radius:8px;opacity:0;transform:translate(-50%,-130%);transition:opacity .15s;white-space:nowrap;z-index:2}
.est-tip.on{opacity:1}
.est-legend{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;color:var(--mute);font-size:14px;margin:12px 0 0}
.est-legend .sw{width:14px;height:14px;border-radius:4px;background:rgba(227,20,27,.55);border:1px solid var(--red-hi)}
.est-clear{background:none;border:0;color:#fff;text-decoration:underline;cursor:pointer;font:inherit;padding:4px}
.est-empty{margin:4px 0 0;color:#7c7f88;font-size:14px}
#estParts .chip[aria-pressed="true"]::after{content:" ×";color:#fff;opacity:.7}
.est-photo{margin:0;background:rgba(227,20,27,.08);border:1px solid rgba(227,20,27,.35);border-radius:12px;padding:12px 14px;color:#d9dbe0;font-size:15px;line-height:1.45}
.est-photo b{color:#fff}
@media (max-width:900px){.est-grid{grid-template-columns:1fr}.est-car{position:relative;top:0}}
#estSvg{max-width:400px}
#estSvg .p.glass>*:not(text){fill:#1b2836;stroke:#4d6680}
#estSvg .p.tire>*{fill:#0a0a0c;stroke:#3a3b42;stroke-width:2}
#estSvg .p.head>*:not(text){fill:#3a3524;stroke:#a89a5e}
#estSvg .p.tail>*:not(text){fill:#3a1d20;stroke:#a35a5e}
#estSvg .p text{fill:#a3a6ae;stroke:none;font:700 11px var(--disp);letter-spacing:.12em;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
#estSvg .p[aria-pressed="true"]>*:not(text){fill:rgba(227,20,27,.6);stroke:#ff4a50}
#estSvg .p[aria-pressed="true"] text{fill:#fff}
#estSvg .p:hover>*:not(text){stroke:#fff}
#estSvg text.o{fill:#d0d3d9;font:700 13px var(--disp);letter-spacing:.2em;text-anchor:middle}
#estSvg text.o.s{fill:#8d9099;font-size:12px}
#estSvg text.c{fill:#7d808a;font:600 9.5px var(--disp);letter-spacing:.12em;text-anchor:middle;pointer-events:none}
.est-now{margin:0 0 14px;text-align:center;font:600 16px/1.3 var(--body);color:#fff;background:#0e0e11;border:1px solid #2f3037;border-radius:12px;padding:11px 12px;transition:background .2s,border-color .2s}
.est-now.hit{background:rgba(227,20,27,.16);border-color:var(--red)}
#estSvg .p text{stroke:none!important}
#estSvg .p[aria-pressed="true"] text{fill:#fff!important}

/* service pages */
.hdr.solid~main{padding-top:76px}
.sp-hero{padding:clamp(48px,8vw,110px) 0 clamp(44px,6vw,80px);background:radial-gradient(ellipse at 80% 0%,rgba(227,20,27,.18),transparent 60%),var(--coal);border-bottom:1px solid var(--line)}
.crumbs{margin:0 0 26px;font:600 14px/1 var(--disp);letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}.crumbs a{text-decoration:none;color:var(--mute)}.crumbs a:hover{color:#fff}.crumbs span{margin:0 8px;color:var(--red)}
.sp-hero h1{font-size:clamp(44px,6.4vw,96px);max-width:16ch}
.sp-hero .lede{color:#c7cad0;font-size:clamp(17px,1.4vw,20px);margin:24px 0 30px;max-width:56ch}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.sp-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,70px);align-items:start}
.sp-copy p{font-size:18px;color:#c7cad0;margin:0 0 20px;max-width:62ch}
.sp-copy h2{font-size:clamp(32px,3.8vw,52px);margin:10px 0 22px}
.sp-points{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px}
.sp-points li{display:flex;gap:12px;align-items:flex-start;color:#c7cad0}
.sp-points li::before{content:"";flex:none;width:10px;height:10px;margin-top:8px;background:var(--red);transform:rotate(45deg)}
.sp-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sp-photos figure{margin:0;border-radius:18px;overflow:hidden;background:var(--steel);border:1px solid var(--line);aspect-ratio:3/4}
.sp-photos img{width:100%;height:100%;object-fit:cover}
.sp-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.faq{margin-top:40px;display:grid;gap:12px;max-width:860px}
.faq details{background:linear-gradient(180deg,rgba(27,28,32,.92),rgba(17,17,20,.92));border:1px solid var(--line);border-radius:16px;padding:0 22px}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:20px 0;font:800 21px/1.2 var(--disp);letter-spacing:.02em;text-transform:uppercase;color:#fff}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red);font-size:26px;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:0 0 20px;color:#c7cad0}
.sp-alt{background:var(--coal)}
.sp-visit{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);margin-top:44px;align-items:start}
.sp-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sp-links a{display:block;border:1px solid var(--line);background:var(--steel);border-radius:14px;padding:16px 18px;text-decoration:none;font:800 18px/1.15 var(--disp);letter-spacing:.04em;text-transform:uppercase}
.sp-links a:hover{border-color:var(--red-hi)}
.sp-links a::after{content:" →";color:var(--red)}
.sp-sister{margin-top:22px;color:var(--mute)}
@media (max-width:900px){.sp-grid,.sp-visit{grid-template-columns:1fr}}
@media (max-width:520px){.sp-links{grid-template-columns:1fr}}
