:root {
  --red:#e10e17; --red-dark:#b80710; --ink:#111214; --muted:#686c70;
  --paper:#f5f5f2; --soft:#ececea; --white:#fff; --line:rgba(17,18,20,.12);
  --container:80rem; --shadow:0 1.4rem 4rem rgba(17,18,20,.1);
}
* { box-sizing:border-box; }
html { font-size:100%; scroll-behavior:smooth; scroll-padding-top:5.5rem; }
body { margin:0; min-width:20rem; overflow-x:hidden; color:var(--ink); background:var(--paper); font-family:"Exo 2",Arial,sans-serif; font-size:1.125rem; line-height:1.5; -webkit-font-smoothing:antialiased; }
body.menu-open,body.request-modal-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
h1,h2,h3,p { margin-top:0; }
:focus-visible { outline:.18rem solid #ff555c; outline-offset:.2rem; }
.container { width:min(calc(100% - 3.5rem),var(--container)); margin-inline:auto; }
.skip-link { position:fixed; z-index:100; top:-5rem; left:1rem; padding:.7rem 1rem; color:#fff; background:var(--red); }
.skip-link:focus { top:1rem; }

.site-header { position:absolute; z-index:30; top:0; right:0; left:0; color:#fff; transition:background .25s,box-shadow .25s; }
.site-header.is-scrolled { position:fixed; color:var(--ink); background:rgba(255,255,255,.97); box-shadow:0 .5rem 2rem rgba(17,18,20,.08); }
.header-inner { min-height:5.25rem; display:flex; align-items:center; gap:2.2rem; border-bottom:.0625rem solid rgba(255,255,255,.28); }
.is-scrolled .header-inner { border-color:var(--line); }
.brand { width:10.7rem; flex:0 0 10.7rem; display:grid; line-height:.9; }
.brand-name { display:flex; align-items:baseline; font-size:1.55rem; font-style:italic; font-weight:900; letter-spacing:-.03em; }
.brand-name b,.brand-name strong,.brand-name em { font-style:normal; }
.brand-name strong { color:var(--red); }
.brand-name em { margin-left:.15rem; font-size:1.05rem; }
.brand small { margin-top:.35rem; font-size:.5rem; font-weight:700; letter-spacing:.055em; text-transform:uppercase; white-space:nowrap; }
.site-nav { margin-left:auto; display:flex; gap:clamp(1rem,2vw,2rem); font-size:.68rem; font-weight:700; text-transform:uppercase; }
.site-nav a { position:relative; padding:.5rem 0; }
.site-nav a::after { content:""; position:absolute; right:0; bottom:0; left:0; height:.12rem; background:var(--red); transform:scaleX(0); transition:transform .2s; }
.site-nav a:hover::after,.site-nav a:focus-visible::after { transform:scaleX(1); }
.header-cta { min-height:2.75rem; display:inline-flex; align-items:center; gap:.55rem; padding:.65rem 1.1rem; border:.0625rem solid rgba(255,255,255,.55); border-radius:.4rem; font-size:.68rem; font-weight:800; text-transform:uppercase; transition:.2s; }
.is-scrolled .header-cta { color:#fff; border-color:var(--red); background:var(--red); }
.header-cta:hover { color:#fff; border-color:var(--red); background:var(--red); }
.menu-toggle { display:none; width:2.8rem; height:2.8rem; margin-left:auto; padding:.65rem; border:0; border-radius:50%; color:inherit; background:transparent; }
.menu-toggle span { width:100%; height:.12rem; display:block; margin:.3rem 0; background:currentColor; transition:transform .2s,opacity .2s; }

.hero { position:relative; min-height:46rem; overflow:hidden; display:flex; align-items:center; background:#111; }
.hero-photo,.hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-photo { object-fit:cover; object-position:center; }
.hero-shade { background:linear-gradient(90deg,rgba(8,9,11,.97) 0%,rgba(8,9,11,.9) 29%,rgba(8,9,11,.48) 50%,rgba(8,9,11,.08) 76%); }
.hero-car-mobile { display:none; }
.hero-copy { position:relative; z-index:2; margin-top:5.5rem; color:#fff; }
.kicker,.eyebrow { display:flex; align-items:center; gap:.6rem; margin:0 0 1.15rem; color:var(--red); font-size:.7rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.kicker { color:#fff; }
.kicker span { width:2.2rem; height:.2rem; background:var(--red); }
h1 { max-width:43rem; margin-bottom:0; font-size:clamp(3rem,5.7vw,5.9rem); line-height:.9; letter-spacing:-.065em; text-transform:uppercase; }
h1 em { display:block; color:var(--red); font-style:normal; }
.lead { margin:1.55rem 0; font-size:1.2rem; line-height:1.45; font-weight:500; }
.hero-facts { display:flex; gap:1.7rem; margin:0 0 1.7rem; }
.hero-facts span { display:grid; gap:.1rem; padding-left:.8rem; border-left:.2rem solid var(--red); color:#d8d8d8; font-size:.65rem; text-transform:uppercase; }
.hero-facts b { color:#fff; font-size:.95rem; }
.primary-cta,.form-button,.light-cta { min-height:3.65rem; display:inline-flex; align-items:center; justify-content:center; gap:.75rem; padding:.9rem 1.45rem; border:0; border-radius:.4rem; color:#fff; background:var(--red); box-shadow:0 1rem 2.5rem rgba(225,14,23,.28); font-size:.82rem; font-weight:900; text-transform:uppercase; transition:transform .2s,background .2s; }
.primary-cta:hover,.form-button:hover { transform:translateY(-.15rem); background:var(--red-dark); }
.primary-cta i,.form-button i,.light-cta i,.header-cta i { flex:0 0 auto; font-size:1rem; line-height:1; }

.section { padding:7rem 0; }
.section-head { max-width:50rem; margin-bottom:3rem; }
.section-head h2,.why-title h2,.request-copy h2,.final-cta h2,.reviews-top h2 { margin-bottom:1.15rem; font-size:clamp(2.3rem,4.2vw,4.5rem); line-height:.94; letter-spacing:-.06em; text-transform:uppercase; }
.section-head > p:last-child,.section-head.split > p,.why-title > p:last-child,.request-copy > p,.reviews-top p { max-width:34rem; margin-bottom:0; }
.section-head.split { max-width:none; display:grid; grid-template-columns:1fr 28rem; align-items:end; gap:3rem; }

.knowledge { background:#fff; }
.repair-types { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:1rem; }
.repair-type { min-height:23rem; display:flex; flex-direction:column; padding:2rem; border:.0625rem solid var(--line); border-radius:.8rem; background:#f5f5f2; }
.repair-type.onsite { color:#fff; border-color:var(--red); background:var(--red); box-shadow:0 1.5rem 4rem rgba(225,14,23,.22); }
.type-mark { width:max-content; padding:.45rem .7rem; border:.0625rem solid currentColor; border-radius:99rem; font-size:.62rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.type-icon { margin:2.5rem 0 1.2rem; color:var(--red); font-size:2.4rem; }
.onsite .type-icon { color:#fff; }
.repair-type h3 { margin:0 0 .8rem; font-size:1.55rem; line-height:1; text-transform:uppercase; }
.repair-type p { color:var(--muted); }
.repair-type.onsite p { color:rgba(255,255,255,.8); }
.repair-type strong { margin-top:auto; font-size:.78rem; text-transform:uppercase; }
.route-strip { position:relative; margin-top:1rem; overflow:hidden; display:flex; align-items:center; gap:1rem; padding:1.35rem 1.6rem; color:#fff; background:var(--ink); border-radius:.8rem; }
.route-strip::before { content:""; position:absolute; left:0; top:0; width:100%; height:.2rem; background:var(--red); }
.route-dot { width:.7rem; height:.7rem; flex:0 0 auto; border:.16rem solid #fff; border-radius:50%; background:var(--red); box-shadow:0 0 0 .3rem rgba(225,14,23,.25); }
.route-strip p { margin:0; }
.route-strip a { margin-left:auto; white-space:nowrap; font-size:.72rem; font-weight:800; text-transform:uppercase; }

.services { background:var(--paper); }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.service-card { display:flex; flex-direction:column; overflow:hidden; border:.0625rem solid var(--line); border-radius:.8rem; background:#fff; transition:transform .25s,box-shadow .25s; }
.service-card:hover { transform:translateY(-.35rem); box-shadow:var(--shadow); }
.service-image { position:relative; aspect-ratio:1.55; overflow:hidden; background:#ddd; }
.service-image img { width:100%; height:100%; object-fit:cover; transition:transform .45s; }
.service-card:hover img { transform:scale(1.04); }
.service-body { flex:1; display:flex; flex-direction:column; padding:1.4rem; }
.service-body h3 { margin-bottom:1.1rem; font-size:1.25rem; line-height:1.12; text-transform:uppercase; }
.service-body strong { margin-top:auto; color:var(--red); font-size:1.15rem; }

.why { padding:6rem 0; color:#fff; background:var(--red); }
.why .eyebrow { color:#fff; }
.why-grid { display:grid; grid-template-columns:.9fr 1.4fr; gap:5rem; }
.why-title > p:last-child { color:rgba(255,255,255,.72); }
.benefit-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.85rem; }
.benefit {display:grid; grid-template-columns:3.2rem 1fr; align-items:start; gap:1rem; padding:1.25rem; border:.0625rem solid rgba(255,255,255,.28); border-radius:.65rem; background:rgba(255,255,255,.08); }
.benefit > i { width:3.2rem; height:3.2rem; display:grid; place-items:center; border:.0625rem solid rgba(255,255,255,.48); border-radius:50%; color:var(--red); background:#fff; font-size:1.15rem; }
.benefit h3 { margin:0 0 .5rem; font-size:.95rem; line-height:1.15; text-transform:uppercase; }
.benefit p { margin:0; color:rgba(255,255,255,.76); font-size:.9rem; line-height:1.5; }

.process { background:#fff; }
.steps { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; }
.steps::before { content:""; position:absolute; top:1.35rem; left:3rem; right:3rem; height:.12rem; background:var(--red); }
.steps article { position:relative; padding-top:4.2rem; }
.steps article > span { position:absolute; z-index:1; top:0; left:0; display:grid; place-items:center; width:2.8rem; height:2.8rem; border:.3rem solid #fff; border-radius:50%; color:#fff; background:var(--red); box-shadow:0 0 0 .0625rem var(--red); font-size:.7rem; font-weight:900; }
.steps h3 { margin-bottom:.5rem; text-transform:uppercase; }
.steps p { color:var(--muted); font-size:.75rem; }
.process-note { margin-top:3rem; display:flex; justify-content:space-between; gap:1rem; padding:1.4rem 1.6rem; border:.0625rem solid var(--line); border-radius:.7rem; }
.process-note b { color:var(--red); }

.locations { background:var(--paper); }
.location-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.location-card { min-height:25rem; display:grid; grid-template-columns:1.15fr 1fr; overflow:hidden; border-radius:.8rem; color:#fff; background:var(--ink); }
.location-card img { width:100%; height:100%; object-fit:cover; }
.location-card > div { display:flex; flex-direction:column; align-items:flex-start; padding:2rem; }
.location-card p { margin-bottom:auto; color:#ff777d; font-size:.7rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.location-card h3 { font-size:1.35rem; line-height:1.15; }
.location-card > div > a:not(.map-link) { margin:.6rem 0 1.3rem; font-weight:800; }
.map-link { margin-top:auto; padding-bottom:.2rem; border-bottom:.0625rem solid #fff; font-size:.68rem; font-weight:800; text-transform:uppercase; }

.request-section { color:#fff; background:var(--ink); }
.request-grid { display:grid; grid-template-columns:.8fr 1.25fr; gap:6rem; }
.request-copy > p { color:#aeb0b3; }
.request-copy > a { display:inline-block; margin-top:1rem; border-bottom:.0625rem solid #fff; font-weight:700; }
.request-form { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.request-form label { display:grid; gap:.4rem; }
.request-form label span { color:#babcc0; font-size:.64rem; font-weight:700; text-transform:uppercase; }
.request-form input,.request-form select,.request-form textarea { width:100%; padding:.9rem 1rem; color:#fff; border:.0625rem solid rgba(255,255,255,.2); border-radius:.35rem; outline:0; background:#1b1c1f; }
.request-form input:focus,.request-form select:focus,.request-form textarea:focus { border-color:var(--red); }
.request-form [aria-invalid="true"] { border-color:#ff6b5e; box-shadow:0 0 0 .2rem rgba(255,107,94,.1); }
.request-form select option { color:#fff; }
.request-form .wide { grid-column:1/-1; }
.request-form textarea { resize:vertical; }
.request-form .request-consent { display:flex; align-items:flex-start; gap:.65rem; margin:.1rem 0 0; }
.request-form .request-consent input { width:1.05rem; height:1.05rem; flex:0 0 1.05rem; margin:.08rem 0 0; padding:0; accent-color:var(--red); }
.request-form .request-consent span { color:#929598; font-size:.68rem; font-weight:500; line-height:1.45; text-transform:none; }
.form-button { justify-self:start; }
.form-meta { align-self:center; margin:0; color:#87898d; font-size:.62rem; }
.request-form.is-success > :not(.main-request-success) { display:none; }
.main-request-success[hidden] { display:none; }
.main-request-success { min-height:28rem; padding:2.5rem; display:grid; place-items:center; align-content:center; text-align:center; border:.0625rem solid rgba(255,255,255,.14); border-radius:.75rem; background:radial-gradient(circle at 50% 22%,rgba(225,14,23,.16),transparent 34%),#151619; }
.main-request-success h3 { margin:0 0 .8rem; color:#fff; font-size:clamp(2rem,4vw,3rem); line-height:1; text-transform:uppercase; }
.main-request-success > p:not(.request-kicker) { max-width:28rem; margin:0 0 1.7rem; color:#aeb0b3; font-size:.82rem; }
.main-request-reset { min-height:3.25rem; padding:.75rem 1.25rem; color:#fff; background:var(--red); border:0; border-radius:.4rem; font-size:.72rem; font-weight:900; text-transform:uppercase; }
.main-request-reset:hover { background:var(--red-dark); }

.works { background:#fff; }
.works-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.comparison-card { min-width:0; }
.comparison-stage { --compare-position:50%; position:relative; aspect-ratio:.75; overflow:hidden; color:#fff; border-radius:.7rem; background:#0b0c0d; box-shadow:0 1rem 2.8rem rgba(17,18,20,.12); touch-action:none; }
.comparison-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; user-select:none; pointer-events:none; }
.comparison-image-after { z-index:1; clip-path:inset(0 0 0 var(--compare-position)); }
.comparison-label { position:absolute; z-index:2; top:1rem; padding:.48rem .65rem; color:var(--ink); background:#fff; border-radius:.3rem; font-size:.56rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.comparison-label-before { left:1rem; }
.comparison-label-after { right:1rem; color:#fff; background:var(--red); }
.comparison-divider { position:absolute; z-index:3; top:0; bottom:0; left:var(--compare-position); width:.125rem; background:var(--red); transform:translateX(-50%); pointer-events:none; }
.comparison-divider i { position:absolute; top:50%; left:50%; width:2.6rem; height:2.6rem; display:grid; place-items:center; color:#fff; background:var(--red); border:.22rem solid rgba(255,255,255,.85); border-radius:50%; font-size:.85rem; font-style:normal; transform:translate(-50%,-50%); box-shadow:0 .35rem 1.2rem rgba(0,0,0,.22); }
.comparison-stage input[type="range"] { position:absolute; z-index:5; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; }
.comparison-stage:has(input:focus-visible) { outline:.18rem solid var(--red); outline-offset:.3rem; }
.comparison-meta { padding:1rem .15rem 0; display:flex; justify-content:space-between; gap:1rem; font-size:.72rem; }
.comparison-meta strong { font-size:.78rem; text-transform:uppercase; }
.comparison-meta span { color:#818386; }

.reviews { background:var(--paper); }
.reviews-top { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:2.5rem; }
.reviews-top h2 { margin-bottom:.4rem; }
.rating { color:var(--red); font-size:2rem; letter-spacing:.1em; }
.review-carousel { position:relative; padding-bottom:2.7rem; overflow:hidden; }
.review-track { align-items:stretch; }
.review-carousel:not(.swiper-initialized) .review-track { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.review-carousel:not(.swiper-initialized) .review-card { width:auto; }
.review-card { height:auto; min-height:13rem; display:flex; flex-direction:column; padding:1.55rem; border:.0625rem solid var(--line); border-radius:.8rem; background:#fff; box-shadow:0 .7rem 2.2rem rgba(17,19,21,.035); }
.review-carousel.swiper-initialized .review-card { visibility:hidden; opacity:0; transition:opacity .18s ease; }
.review-carousel.swiper-initialized .review-card.swiper-slide-visible { visibility:visible; opacity:1; }
.review-card header { display:grid; grid-template-columns:3rem minmax(0,1fr) auto; align-items:center; gap:.75rem; }
.review-avatar { width:3rem; height:3rem; display:grid; place-items:center; color:#fff; background:#c72b35; border-radius:50%; font-size:.86rem; font-weight:900; letter-spacing:.01em; }
.review-avatar.green { background:#398f55; }
.review-avatar.warm { background:#9a623d; }
.review-avatar.dark { background:#202124; }
.review-avatar.blue { background:#416b94; }
.review-card h3 { margin:0 0 .15rem; font-size:1rem; line-height:1.15; }
.review-card header time { color:#8c8f93; font-size:.72rem; }
.review-stars { align-self:start; color:#ffb800; font-size:1rem; font-weight:900; letter-spacing:.025em; line-height:1; white-space:nowrap; }
.review-card blockquote { margin:1.5rem 0 0; color:#202225; font-size:.96rem; font-weight:500; line-height:1.52; }
.review-dots.swiper-pagination { position:absolute; top:auto; right:0; bottom:.25rem; left:0; width:auto; display:flex; justify-content:center; gap:.65rem; }
.review-dots .swiper-pagination-bullet { width:.68rem; height:.68rem; margin:0!important; background:#c9cacc; opacity:1; transition:transform .2s,background .2s,box-shadow .2s; }
.review-dots .swiper-pagination-bullet-active { background:var(--red); box-shadow:0 0 0 .25rem rgba(225,14,23,.13); transform:scale(1.08); }
.review-dots .swiper-pagination-bullet:focus-visible { outline:.12rem solid var(--ink); outline-offset:.28rem; }
.review-links { display:flex; gap:.8rem; margin-top:1rem; }
.review-links a { padding:.8rem 1rem; border:.0625rem solid var(--ink); border-radius:.35rem; font-size:.68rem; font-weight:800; text-transform:uppercase; }

.final-cta { padding:5.5rem 0; color:#fff; background:var(--red); }
.final-cta .eyebrow { color:#fff; }
.final-cta h2 { margin-bottom:.5rem; }
.final-cta p { margin-bottom:0; }
.final-grid { display:grid; grid-template-columns:1.2fr .7fr 1fr; align-items:center; gap:3rem; }
.final-grid ul { margin:0; padding:0; list-style:none; }
.final-grid li { margin:.45rem 0; font-weight:700; }
.final-grid li::before { content:"✓"; margin-right:.5rem; }
.light-cta { color:var(--ink); background:#fff; box-shadow:none; }
.light-cta:hover { transform:translateY(-.15rem); }
.footer { position:relative; overflow:hidden; color:#a9abad; background:#050607; border-top:.0625rem solid rgba(225,14,23,.7); }
.footer::before { content:"REMZONA"; position:absolute; right:-1.4rem; bottom:-3rem; color:rgba(255,255,255,.018); font-size:clamp(5.8rem,16vw,13.7rem); font-weight:900; font-style:italic; letter-spacing:-.08em; pointer-events:none; }
.footer-grid { position:relative; z-index:1; padding-block:4.5rem 3.75rem; display:grid; grid-template-columns:1.15fr .85fr 1fr; align-items:start; gap:clamp(2.9rem,7vw,6.9rem); }
.footer-brand { color:#fff; }
.footer-brand-block > p { max-width:25.6rem; margin:1.55rem 0 0; color:#a9abad; font-size:.82rem; line-height:1.7; }
.footer h2 { margin:0 0 1.55rem; color:#fff; font-size:.94rem; font-weight:800; text-transform:uppercase; }
.footer-phone { display:inline-block; margin-bottom:.5rem; color:#fff; font-size:1.32rem; font-weight:900; }
.footer-contacts > p { margin:0; font-size:.82rem; }
.footer-mail { display:inline-block; margin-top:.55rem; color:#d8d9da; font-size:.78rem; font-weight:650; }
.footer-socials { margin-top:1.7rem; display:flex; flex-wrap:wrap; gap:.55rem; }
.footer-socials a { min-height:2.7rem; padding:.62rem .9rem; display:inline-flex; align-items:center; gap:.55rem; color:#d8d9da; border:.0625rem solid rgba(255,255,255,.16); border-radius:.45rem; font-size:.75rem; font-weight:650; transition:.2s; }
.footer-socials a i { color:var(--red); font-size:.94rem; }
.footer-socials a:hover { color:#fff; background:var(--red); border-color:var(--red); }
.footer-socials a:hover i { color:#fff; }
.footer-cities { display:grid; align-content:start; }
.footer-city { display:grid; grid-template-columns:1.1rem 1fr; gap:.8rem; }
.footer-city + .footer-city { margin-top:1.25rem; }
.footer-city i { margin-top:.25rem; color:var(--red); font-size:.82rem; }
.footer-city p { margin:0; font-size:.82rem; line-height:1.55; }
.footer-city strong { color:#fff; font-size:.88rem; }
.footer-bottom { position:relative; z-index:1; min-height:4.7rem; padding-block:1.35rem; display:flex; align-items:center; justify-content:space-between; gap:1.55rem; border-top:.0625rem solid rgba(255,255,255,.11); font-size:.69rem; }
.developer-credit { display:inline-flex; align-items:center; gap:.5rem; color:#777a7d; transition:color .2s; }
.developer-credit:hover { color:#b9bbbd; }
.developer-logo { display:inline-flex; align-items:center; gap:.38rem; }
.developer-mark { width:1.4rem; height:1.4rem; display:grid; place-items:center; color:#fff; background:var(--red); border-radius:.38rem; }
.developer-mark i { font-size:.5rem; }
.developer-logo strong { color:#dadbdd; font-size:.82rem; letter-spacing:-.03em; }
.developer-logo em { color:var(--red); font-style:normal; }

.reveal { opacity:1; transform:none; }
.js .reveal { opacity:0; transform:translateY(1.2rem); transition:opacity .6s ease,transform .6s ease; }
.js .reveal.is-visible { opacity:1; transform:none; }

.request-fab { position:fixed; z-index:45; right:1.5rem; bottom:1.5rem; min-height:3.65rem; padding:.9rem 1.45rem; display:inline-flex; align-items:center; justify-content:center; gap:.75rem; color:#fff; background:var(--red); border:0; border-radius:.4rem; box-shadow:0 1rem 2.5rem rgba(225,14,23,.32); font-size:.76rem; font-weight:900; text-transform:uppercase; transition:transform .2s,background .2s; }
.request-fab:hover { transform:translateY(-.15rem); background:var(--red-dark); }
.request-fab i { font-size:1rem; }
.request-modal[hidden] { display:none; }
.request-modal { position:fixed; inset:0; z-index:100; padding:1.5rem; display:grid; place-items:center; }
.request-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.8); backdrop-filter:blur(.45rem); }
.request-dialog { position:relative; z-index:1; width:min(100%,42rem); max-height:calc(100svh - 3rem); padding:2.5rem; overflow-y:auto; color:#f5f6f7; background:radial-gradient(circle at 100% 0,rgba(225,14,23,.13),transparent 34%),#0c0e0f; border:.0625rem solid rgba(255,255,255,.16); border-radius:.85rem; box-shadow:0 2.2rem 6.5rem rgba(0,0,0,.58); animation:request-dialog-in .28s cubic-bezier(.22,1,.36,1) both; }
@keyframes request-dialog-in { from { opacity:0; transform:translateY(1.1rem) scale(.98); } }
.request-dialog:focus,.request-success:focus { outline:0; }
.request-close { position:absolute; top:.9rem; right:.9rem; width:2.5rem; height:2.5rem; padding:0; display:grid; place-items:center; color:#fff; background:rgba(255,255,255,.07); border:.0625rem solid rgba(255,255,255,.14); border-radius:50%; transition:.2s; }
.request-close:hover { color:#fff; background:var(--red); border-color:var(--red); }
.request-kicker { margin:0 0 .8rem; color:#ff555c; font-size:.62rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.request-dialog h2 { margin:0 3rem .75rem 0; color:#fff; font-size:clamp(1.9rem,5vw,2.7rem); line-height:1; letter-spacing:-.045em; text-transform:uppercase; }
.request-lead { max-width:32rem; margin:0 0 1.7rem; color:#a9abad; font-size:.8rem; line-height:1.6; }
.request-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.request-form-grid label { min-width:0; display:grid; gap:.5rem; color:#e7e8e9; font-size:.74rem; font-weight:800; }
.request-form-full { grid-column:1/-1; }
.request-form-grid input,.request-form-grid select,.request-form-grid textarea { width:100%; min-height:3.15rem; padding:.75rem .85rem; color:#f5f6f7; background:#15181a; border:.0625rem solid rgba(255,255,255,.17); border-radius:.4rem; outline:0; font-size:.8rem; font-weight:500; transition:.2s; }
.request-form-grid input::placeholder,.request-form-grid textarea::placeholder { color:#707477; }
.request-form-grid select { color-scheme:dark; }
.request-form-grid textarea { min-height:5.8rem; resize:vertical; }
.request-form-grid input:focus,.request-form-grid select:focus,.request-form-grid textarea:focus { background:#191c1e; border-color:var(--red); box-shadow:0 0 0 .2rem rgba(225,14,23,.14); }
.request-form-grid [aria-invalid="true"] { border-color:#ff6b5e; box-shadow:0 0 0 .2rem rgba(255,107,94,.1); }
.request-field-error,.request-form-error { min-height:.95rem; color:#ff8c82; font-size:.62rem; font-weight:650; }
.request-form-error { display:block; margin:-.5rem 0 .75rem; }
.request-field-error:empty,.request-form-error:empty { display:none; min-height:0; margin:0; }
.request-consent { margin:1.15rem 0; display:flex; align-items:flex-start; gap:.65rem; color:#929598; font-size:.68rem; line-height:1.45; }
.request-consent input { width:1.05rem; height:1.05rem; flex:0 0 1.05rem; margin:.1rem 0 0; accent-color:var(--red); }
.request-consent input[aria-invalid="true"] { outline:.12rem solid #ff6b5e; outline-offset:.12rem; }
.request-submit,.request-success-close { min-height:3.4rem; padding:.8rem 1.4rem; display:inline-flex; align-items:center; justify-content:center; gap:.7rem; color:#fff; background:var(--red); border:0; border-radius:.4rem; font-size:.8rem; font-weight:900; text-transform:uppercase; transition:.2s; }
.request-submit { width:100%; }
.request-submit:hover,.request-success-close:hover { transform:translateY(-.15rem); background:var(--red-dark); }
.request-submit:disabled { cursor:wait; opacity:.6; transform:none; }
.request-status { min-height:1.3rem; margin:.75rem 0 0; color:#8ed9ad; text-align:center; font-size:.68rem; font-weight:700; }
.request-status.error { color:#ff8c82; }
.honey-field { position:absolute!important; left:-624.94rem!important; width:.0625rem!important; height:.0625rem!important; opacity:0!important; }
.request-form-content[hidden],.request-success[hidden] { display:none; }
.request-success { min-height:24rem; display:grid; place-items:center; align-content:center; padding:1.25rem; text-align:center; }
.request-success-icon { width:5.5rem; height:5.5rem; margin-bottom:1.5rem; display:grid; place-items:center; color:#fff; background:var(--red); border-radius:50%; box-shadow:0 1rem 2.5rem rgba(225,14,23,.25); }
.request-success-icon i { font-size:1.75rem; }
.request-success h2 { margin-right:0; }
.request-success > p:not(.request-kicker) { max-width:27rem; margin:0 0 1.7rem; color:#a9abad; font-size:.8rem; line-height:1.6; }

@media (max-width:65.625rem) {
  body { font-size:1.0625rem; }
  body.menu-open .site-header { z-index:90; color:#fff; background:transparent; box-shadow:none; }
  body.menu-open .header-inner { border-color:rgba(255,255,255,.16); }
  body.menu-open .menu-toggle { color:#fff; }
  body.menu-open .request-fab { visibility:hidden; }
  .header-inner { gap:.75rem; }
  .brand { position:relative; z-index:24; order:1; }
  .header-cta { position:relative; z-index:24; order:2; margin-left:auto; min-width:2.9rem; min-height:2.9rem; padding:.75rem; justify-content:center; }
  .header-cta span { display:none; }
  .menu-toggle { position:relative; z-index:24; order:3; display:grid; align-content:center; gap:.3rem; margin-left:0; border:.0625rem solid currentColor; border-radius:.45rem; }
  .menu-toggle span { margin:0; }
  .site-nav { position:fixed; z-index:22; inset:0; margin:0; padding:7.75rem 1.9rem 2.5rem; display:flex; align-items:flex-start; flex-direction:column; gap:.35rem; color:#fff; background:#090a0c; transform:translateX(100%); transition:transform .28s ease; }
  .site-nav.is-open { transform:translateX(0); }
  .site-nav a { width:100%; padding:.8rem 0; font-size:1.35rem; font-weight:700; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(.42rem) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-.42rem) rotate(-45deg); }
  .repair-types { grid-template-columns:1fr 1fr; }
  .repair-type.onsite { grid-row:span 2; }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .works-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .why-grid,.request-grid { gap:3rem; }
  .location-card { grid-template-columns:1fr; }
  .location-card img { height:14rem; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:47.5rem) {
  html { scroll-padding-top:4.5rem; }
  body { font-size:1rem; }
  .container { width:calc(100% - 2rem); }
  .header-inner { min-height:4.6rem; gap:.5rem; }
  .brand { width:10.7rem; flex-basis:10.7rem; }
  .header-cta,.menu-toggle { width:2.7rem; height:2.7rem; min-height:2.7rem; }
  .hero { min-height:48rem; align-items:flex-end; }
  .hero-photo { object-position:63% center; }
  .hero-shade { background:linear-gradient(0deg,#090a0c 0%,rgba(9,10,12,.9) 48%,rgba(9,10,12,.05) 79%); }
  .hero-car-mobile { position:absolute; z-index:1; top:7.35rem; left:0; width:100%; max-width:none; height:auto; display:block; filter:drop-shadow(0 1rem 1.25rem rgba(0,0,0,.42)); }
  .hero-copy { margin-top:0; padding-bottom:2.2rem; }
  .kicker { font-size:.6rem; }
  h1 { font-size:clamp(2.7rem,13vw,4rem); }
  .lead { font-size:1rem; }
  .hero-facts { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
  .primary-cta { width:100%; }
  .section { padding:4.5rem 0; }
  .section-head,.section-head.split { display:block; margin-bottom:2rem; }
  .section-head.split > p { margin-top:1.2rem; }
  .section-head h2,.why-title h2,.request-copy h2,.final-cta h2,.reviews-top h2 { font-size:2.35rem; }
  .repair-types,.service-grid,.why-grid,.location-grid,.request-grid,.works-grid,.review-grid,.final-grid { grid-template-columns:1fr; }
  .repair-type { min-height:18rem; }
  .repair-type.onsite { grid-row:auto; }
  .route-strip { align-items:flex-start; flex-wrap:wrap; }
  .route-strip a { width:100%; margin-left:1.7rem; }
  .why-grid { gap:2.5rem; }
  .benefit-grid { grid-template-columns:1fr; }
  .benefit { min-height:0; }
  .steps { grid-template-columns:1fr; gap:0; }
  .steps::before { top:1rem; bottom:1rem; left:1.35rem; right:auto; width:.12rem; height:auto; }
  .steps article { min-height:7.3rem; padding:0 0 1.8rem 4.2rem; }
  .process-note { flex-direction:column; }
  .location-card { min-height:32rem; }
  .request-form { grid-template-columns:1fr; gap:.9rem; }
  .request-form .wide { grid-column:auto; }
  .form-button { width:100%; }
  .works-grid { grid-template-columns:1fr; gap:2.25rem; }
  .reviews-top { align-items:flex-start; flex-direction:column; gap:1rem; }
  .review-links { flex-direction:column; }
  .review-links a { text-align:center; }
  .review-carousel:not(.swiper-initialized) .review-track { grid-template-columns:repeat(2,1fr); }
  .final-grid { gap:2rem; }
  .light-cta { width:100%; }
  .footer { padding-bottom:4.7rem; }
  .footer-grid { padding-block:3.4rem 2.6rem; grid-template-columns:1fr; align-items:start; gap:2.6rem; }
  .footer-bottom { align-items:flex-start; flex-direction:column; gap:1rem; }
  .request-fab { right:max(.75rem,env(safe-area-inset-right)); bottom:max(.65rem,env(safe-area-inset-bottom)); left:max(.75rem,env(safe-area-inset-left)); min-height:3.5rem; padding:.8rem 1.15rem; font-size:.72rem; }
  .request-modal { padding:0; place-items:end center; }
  .request-dialog { width:100%; max-height:calc(100svh - .75rem); padding:1.95rem 1.25rem calc(1.4rem + env(safe-area-inset-bottom)); border-right:0; border-bottom:0; border-left:0; border-radius:1rem 1rem 0 0; animation-name:request-sheet-in; }
  .request-form-grid { grid-template-columns:1fr; }
  .request-form-full { grid-column:auto; }
}

@keyframes request-sheet-in { from { opacity:0; transform:translateY(2rem); } }

@media (max-width:43.75rem) { .review-carousel:not(.swiper-initialized) .review-track { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none}*,*::before,*::after{transition:none!important} }
