@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/anton-latin-400.woff2)format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/poppins-latin-500.woff2)format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/poppins-latin-700.woff2)format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/poppins-latin-800.woff2)format("woff2")}@font-face{font-family:Poppins;font-style:normal;font-weight:900;font-display:swap;src:url(assets/fonts/poppins-latin-900.woff2)format("woff2")}:root{--blue:#1606a8;--blue-2:#0f0484;--red:#ea1628;--ink:#0e0e12;--muted:#5e6170;--line:#d9dded;--soft:#f4f6ff;--white:#fff;--shadow:0 24px 60px #0d0a502e}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{color:var(--ink);background:var(--white);margin:0;font-family:Poppins,ui-sans-serif,system-ui,sans-serif;font-weight:500;overflow-x:hidden}img{max-width:100%;height:auto;display:block}picture{display:contents}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #ffd23c}.skip-link{z-index:100;color:var(--white);background:#060606;border-radius:8px;padding:12px 16px;font-weight:900;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}h1,h2,h3,p{overflow-wrap:anywhere;margin-top:0}h1,h2{letter-spacing:0;text-transform:uppercase;font-family:Anton,Impact,sans-serif;font-weight:400}.site-header{z-index:50;min-height:84px;color:var(--blue);background:var(--white);border-bottom:4px solid #060606;grid-template-columns:230px minmax(0,1fr) auto;align-items:center;gap:22px;padding:14px clamp(18px,4vw,56px);display:grid;position:sticky;top:0;box-shadow:0 12px 30px #0d0a501a}.brand img{filter:drop-shadow(0 2px #0d0a501f);width:min(220px,46vw)}.site-nav{justify-content:center;gap:clamp(14px,2.4vw,30px);font-size:.82rem;font-weight:900;display:flex}.site-nav a,.button,.footer-contact-main a,.footer-links a{text-decoration:none}.site-nav a[aria-current=page]{color:var(--red)}.header-actions{align-items:center;gap:14px;font-size:.82rem;font-weight:900;display:flex}.button{text-align:center;text-transform:uppercase;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:48px;padding:12px 18px;font-weight:900;display:inline-flex}.button-red{color:var(--white);background:var(--red);box-shadow:0 16px 32px #f3162840}.button-white{color:var(--blue);background:var(--white);border-color:var(--white)}.button-blue{color:var(--white);background:var(--blue)}.button-outline{min-height:40px;color:var(--blue);background:0 0;border-color:#1606a857}.hero .button-outline{color:var(--white);border-color:#ffffff6b}.menu-toggle{background:linear-gradient(var(--blue),var(--blue))center 13px/24px 3px no-repeat,linear-gradient(var(--blue),var(--blue))center 20px/24px 3px no-repeat,linear-gradient(var(--blue),var(--blue))center 27px/24px 3px no-repeat,var(--white);border:2px solid #1606a83d;border-radius:8px;width:44px;height:44px;padding:7px 0;display:none}.menu-toggle:before,.menu-toggle:after,.menu-toggle span:first-child{content:"";background:var(--blue);border-radius:999px;width:24px;height:3px;margin:4px auto;display:none}.menu-toggle span:last-child{display:none}.hero{min-height:calc(100vh - 84px);color:var(--white);background:var(--blue);grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);align-items:center;gap:16px;padding:78px clamp(20px,6vw,86px) 86px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";background:var(--white);width:32%;position:absolute;top:0;bottom:8px;right:0}.hero:after{content:"";background:#060606;height:8px;position:absolute;bottom:0;left:0;right:0}.hero-copy{z-index:2;min-width:0;max-width:620px;position:relative}.eyebrow{color:var(--red);letter-spacing:.055em;text-transform:uppercase;margin-bottom:12px;font-size:clamp(.96rem,1.05vw,1.08rem);font-weight:900;line-height:1.18}.hero .eyebrow,.quote-strip .eyebrow{color:#fff}.hero .eyebrow{font-size:clamp(1.06rem,1.35vw,1.2rem);line-height:1.15}.hero h1{overflow-wrap:normal;word-break:normal;max-width:690px;margin-bottom:18px;font-size:7.2rem;line-height:.92}.hero h1 span{display:block}.hero-copy p:not(.eyebrow){color:#ffffffd4;max-width:560px;font-size:clamp(1rem,1.6vw,1.28rem);line-height:1.7}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.hero-points{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.hero-points span{color:#ffffffdb;text-transform:uppercase;border:1px solid #ffffff47;border-radius:8px;align-items:center;min-height:34px;padding:8px 12px;font-size:.86rem;font-weight:900;display:inline-flex}.hero-stage{align-items:end;min-height:580px;display:grid;position:relative}.hero-background{z-index:1;background-color:#fff;border:6px solid #060606;border-radius:8px;display:block;position:absolute;inset:9% 0 4% 8%;overflow:hidden;transform:rotate(1.5deg);box-shadow:0 30px 70px #0000002e}.hero-background img{object-fit:cover;object-position:50% 52%;width:100%;height:100%}.hero-mascot{z-index:4;filter:drop-shadow(0 18px 20px #00000038);width:min(300px,39%);position:absolute;bottom:-4%;right:0;transform:translateY(clamp(24px,4.2vw,54px))}.hero-badge{z-index:5;border:5px solid var(--white);width:148px;height:148px;color:var(--white);background:var(--red);text-align:center;box-shadow:var(--shadow);border-radius:50%;align-content:center;justify-items:center;gap:3px;padding:16px;display:grid;position:absolute;top:12%;right:8%}.hero-badge strong{text-transform:uppercase;font-family:Anton,Impact,sans-serif;font-size:2rem;font-weight:400}.hero-badge span{text-transform:uppercase;width:100%;padding:0;font-size:.72rem;font-weight:900}.quote-strip{color:var(--white);background:var(--red);grid-template-columns:minmax(0,860px);justify-content:center;align-items:center;gap:clamp(16px,2.4vw,24px);padding:clamp(18px,2.8vw,30px) clamp(18px,5vw,72px);scroll-margin-top:84px;display:grid}.quote-strip>div:first-child{text-align:center;justify-self:center;width:100%;max-width:860px}.quote-strip h1,.quote-strip h2{margin-bottom:0;margin-left:auto;margin-right:auto;font-size:clamp(1.55rem,2.85vw,3.05rem);line-height:1}.quote-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.field-year,.field-make,.field-model,.field-city,.field-name,.field-phone,.field-trim,.quote-button,.field-vin{grid-column:span 1}.field-photo,.form-error{grid-column:1/-1}.quote-form>label{min-width:0}.quote-form .quote-button{width:100%}.field-year,.field-trim{grid-column:span 1}label{text-transform:uppercase;gap:5px;font-size:.72rem;font-weight:900;display:grid}.field-helper{color:var(--white);text-transform:none;font-size:.68rem;line-height:1.35;display:block}input,select{width:100%;min-height:44px;color:var(--ink);background:var(--white);font:inherit;border:0;border-radius:8px;padding:10px 12px}input[type=file]{cursor:pointer;align-content:center;display:grid}.vin-photo-control{min-width:0;display:grid;position:relative}.vin-photo-control input[type=file]{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}.vin-photo-button{text-transform:none;color:var(--ink);background:var(--white);border:0;border-radius:8px;place-items:center;width:100%;min-height:44px;padding:10px 12px;font:inherit;display:grid}.vin-photo-control:hover .vin-photo-button{background:var(--soft)}.vin-photo-control:has(input:focus-visible) .vin-photo-button{outline-offset:3px;outline:3px solid #ffd23c}input:disabled,select:disabled{opacity:.72;cursor:not-allowed}.quote-button:disabled{opacity:.82;cursor:default}.form-error{color:#fff;min-height:20px;margin:-2px 0 0;font-size:.74rem;font-weight:900;line-height:1.35}.form-result{grid-column:1/-1;min-height:24px;margin:0;font-weight:800;line-height:1.45}.form-result a{color:#fff;text-underline-offset:4px;text-decoration-thickness:3px}body.quote-confirmation-open{overflow:hidden}.quote-confirmation[hidden]{display:none!important}.quote-confirmation{z-index:1000;backdrop-filter:blur(6px);background:#060826b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.quote-confirmation__card{border:2px solid #1606a824;border-top:8px solid var(--red);width:min(100%,520px);max-height:calc(100dvh - 32px);color:var(--ink);background:var(--white);text-align:center;border-radius:30px;justify-items:center;padding:26px clamp(24px,5vw,42px) 34px;display:grid;position:relative;overflow-y:auto;box-shadow:0 30px 80px #02031b57}.quote-confirmation__close{width:44px;height:44px;color:var(--blue);background:var(--soft);cursor:pointer;border:1px solid #1606a824;border-radius:50%;place-items:center;padding:0;font:700 1.75rem/1 ui-sans-serif,system-ui,sans-serif;display:grid;position:absolute;top:14px;right:14px}.quote-confirmation__close:hover{color:var(--white);background:var(--blue)}.quote-confirmation__mascot-media{background:var(--white);border-radius:28px;place-items:center;width:168px;height:150px;margin-bottom:12px;display:grid;overflow:hidden;box-shadow:0 12px 30px #1606a81a}.quote-confirmation__mascot-image{object-fit:contain;width:100%;height:100%}.quote-confirmation__eyebrow{color:var(--red);background:var(--white);letter-spacing:.09em;text-transform:uppercase;border-radius:999px;margin-bottom:8px;padding:6px 12px;font-size:.72rem;font-weight:900;line-height:1}.quote-confirmation__title{color:var(--blue);margin:0;font-size:clamp(2.15rem,6vw,3rem);line-height:1.05}.quote-confirmation__description{color:#414352;max-width:400px;margin:14px 0 24px;font-size:clamp(.96rem,2.5vw,1.06rem);font-weight:600;line-height:1.6}.quote-confirmation__okay{cursor:pointer;border-radius:999px;min-width:198px}@media (width<=420px){.quote-confirmation{padding:12px}.quote-confirmation__card{border-radius:24px;max-height:calc(100dvh - 24px);padding:22px 20px 26px;box-shadow:0 24px 54px #02031b52}.quote-confirmation__close{width:40px;height:40px;top:10px;right:10px}.quote-confirmation__mascot-media{border-radius:24px;width:148px;height:132px;margin-bottom:10px}.quote-confirmation__description{margin-bottom:22px}.quote-confirmation__okay{width:100%}}.section{padding:clamp(70px,10vw,126px) clamp(20px,6vw,86px)}.footer-business-info{box-sizing:border-box;width:min(100%,660px);max-width:660px;color:var(--muted);text-align:center;gap:4px;margin:0 auto;padding:0 20px 14px;font-size:.78rem;line-height:1.32;display:grid}.footer-business-info strong{color:var(--ink);font-size:.84rem}.footer-links{width:100%;color:var(--blue);flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-top:2px;font-weight:900;display:flex}.mobile-action-bar{z-index:65;background:#fffffff5;border:3px solid #060606;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;display:none;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 18px 42px #0d0a5038}.mobile-action-bar a{min-width:0;min-height:50px;color:var(--white);background:var(--red);text-align:center;text-transform:uppercase;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:12px;font-size:clamp(.72rem,3vw,.86rem);font-weight:900;display:inline-flex}.mobile-action-bar a:last-child{background:var(--blue)}.mobile-action-bar .mobile-action-bar__text{color:var(--blue);background:var(--white);box-shadow:inset 0 0 0 2px #1606a82e}.section-heading{grid-template-columns:minmax(0,.8fr) minmax(280px,1fr);align-items:end;gap:24px;margin-bottom:34px;display:grid}.section-heading h2,.steps h2{margin-bottom:0;font-size:clamp(3.1rem,6vw,6.4rem);line-height:.98}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.service-card{min-width:0;color:inherit;background:var(--white);touch-action:manipulation;-webkit-tap-highlight-color:#ffd23c4d;border:3px solid #060606;border-radius:8px;grid-template-rows:auto 1fr;text-decoration:none;transition:transform .16s,box-shadow .16s;display:grid;overflow:hidden;box-shadow:0 10px 30px #0d0a5014}@media (hover:hover) and (pointer:fine){.service-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px #0d0a5033}}.service-card:active{transform:translateY(1px);box-shadow:0 7px 18px #0d0a5024}.service-card:focus-visible{outline-offset:4px;outline:4px solid #ffd23c;box-shadow:0 0 0 7px #1606a847,0 18px 36px #0d0a5033}.service-card img{aspect-ratio:4/3;object-fit:cover;width:100%}.service-media{aspect-ratio:4/3;background:var(--white);width:100%;position:relative;overflow:hidden}.service-media img{aspect-ratio:auto;height:100%;display:block}.service-media .service-watermark{z-index:1;aspect-ratio:auto;object-fit:contain;filter:drop-shadow(0 1px 1px #00000059);pointer-events:none;width:min(28%,138px);height:auto;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.service-card>div:last-child{padding:24px}.service-card h3,.steps h3,.area-lists h3{margin-bottom:10px;font-size:1.12rem;font-weight:900}.service-card p,.steps p{color:var(--muted);margin-bottom:0;line-height:1.65}.service-card-blue{color:var(--white);background:var(--blue);border-color:#060606}.service-card-blue p{color:#ffffffc7}.service-card-red{color:var(--white);background:var(--red);border-color:#060606}.service-card-red p{color:var(--white)}.service-card-white{color:var(--ink);background:var(--white);border-color:#060606}.service-card-white p{color:var(--muted)}.process{background:var(--soft);grid-template-columns:minmax(260px,.65fr) minmax(0,1fr);align-items:center;gap:clamp(28px,7vw,88px);display:grid}.process-art{min-height:470px;position:relative}.process-art:before{content:"";background:var(--blue);border-radius:8px;position:absolute;inset:10% 5% 0 0;transform:rotate(-3deg)}.process-art img{z-index:2;filter:drop-shadow(0 22px 28px #00000038);width:min(330px,86%);margin:0 auto;position:relative}.steps ol{gap:14px;margin:28px 0 0;padding:0;list-style:none;display:grid}.steps li{border:2px solid var(--line);background:var(--white);border-radius:8px;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:16px;padding:18px;display:grid}.steps li span{width:54px;height:54px;color:var(--white);background:var(--red);border-radius:8px;place-items:center;font-weight:900;display:grid}.repair-or-replace{background:var(--soft);padding-top:clamp(42px,6vw,76px);padding-bottom:clamp(42px,6vw,76px)}.repair-or-replace .section-heading{margin-bottom:22px}.repair-or-replace .section-heading h2{font-size:clamp(2.6rem,4.8vw,5.1rem);line-height:.96}.repair-or-replace-compact{border-top:4px solid #060606;border-bottom:4px solid #060606;padding-top:clamp(30px,4vw,50px);padding-bottom:clamp(30px,4vw,50px)}body[data-page-name=commercial] .site-footer{padding-top:0}.areas{background:var(--white)}.area-lists{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,5vw,62px);display:grid}.riverside-only .section-heading{grid-template-columns:minmax(0,.55fr) minmax(280px,.95fr)}.riverside-only .area-lists{grid-template-columns:minmax(0,760px);justify-content:center}.riverside-only .area-lists ul{grid-template-columns:repeat(3,minmax(0,1fr))}.area-lists>div{border:3px solid var(--blue);border-radius:8px;padding:28px}.area-lists h3{color:var(--blue);text-transform:uppercase;font-size:1.7rem}.area-lists ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.area-lists li{display:block}.area-lists a{min-height:44px;color:var(--blue);text-align:center;background:var(--soft);border:1px solid #1606a847;border-radius:8px;place-items:center;font-size:.82rem;font-weight:800;text-decoration:none;transition:background .16s,border-color .16s,color .16s,transform .16s;display:grid}.area-lists a:hover,.area-lists a:focus-visible,.area-lists a[aria-current=page]{color:var(--white);background:var(--blue);border-color:var(--blue)}.area-lists a:hover,.area-lists a:focus-visible{transform:translateY(-2px)}.review-preview{color:var(--blue);background:var(--white);border-top:0;border-bottom:8px solid #060606;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(22px,4vw,58px);padding:clamp(26px,4vw,42px) clamp(20px,6vw,86px);display:grid}.review-preview-heading{gap:10px;display:grid}.review-preview .eyebrow{color:var(--red);margin-bottom:6px}.review-preview h2{letter-spacing:-.02em;text-transform:uppercase;max-width:470px;margin:0;font-family:Anton,sans-serif;font-size:clamp(2rem,3.5vw,3.7rem);font-weight:400;line-height:.98}.review-preview-label{max-width:470px;color:var(--muted);text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800;line-height:1.45}.review-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.review-preview-grid article{border:2px solid var(--blue-2);min-width:0;color:var(--white);background:var(--blue);border-radius:8px;padding:16px}.review-preview-stars{color:#ffd34e;letter-spacing:.12em;margin-bottom:8px;font-size:.98rem}.review-preview-grid p{margin:0 0 8px;font-size:.88rem;font-weight:800;line-height:1.4}.review-preview-grid span{color:#ffffffad;text-transform:uppercase;font-size:.68rem;font-weight:900}.review-preview-grid .review-preview-name{color:#fff;margin-bottom:7px;font-size:.78rem;display:block}.location-map-section{background:var(--soft);border-bottom:4px solid #060606;grid-template-columns:minmax(250px,.84fr) minmax(0,1.16fr);align-items:center;gap:clamp(28px,5vw,72px);display:grid}.location-map-copy{min-width:0}.location-map-copy h2{margin-bottom:18px;font-size:clamp(3.2rem,5.5vw,5.8rem);line-height:.96}.location-map-van{width:min(100%,440px);margin-top:clamp(18px,3vw,32px);display:block}.location-map-van img{object-fit:contain;width:100%;height:auto;display:block}.location-map-frame{background:var(--white);width:min(100%,660px);min-width:0;height:clamp(260px,34vw,400px);box-shadow:var(--shadow);border:4px solid #060606;border-radius:8px;justify-self:center;overflow:hidden}.location-map-frame iframe{border:0;width:100%;height:100%;display:block}.site-footer{background:var(--white);overflow:hidden}.footer-gift{height:286px;min-height:0;color:var(--white);background:var(--blue);border-top:6px solid #060606;border-bottom:6px solid #060606;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:16px;padding:36px clamp(120px,11.5vw,152px) 0 clamp(50px,4vw,58px);display:grid;position:relative}.footer-gift:before,.footer-gift:after{display:none}.footer-gift>*{z-index:1;position:relative}.footer-gift picture{justify-self:center;width:190px;height:190px;display:block}.footer-gift h2{text-wrap:balance;max-width:850px;margin-bottom:0;font-size:clamp(2.55rem,3.85vw,3.05rem);line-height:1.07}.footer-gift-image{z-index:1;object-fit:cover;object-position:center;border-radius:50%;justify-self:center;width:190px;height:190px;position:relative;box-shadow:0 18px 44px #00000042}.footer-contact-grid{background:var(--white);text-align:center;grid-template-columns:minmax(220px,1fr) minmax(310px,520px) minmax(220px,1fr);align-items:center;column-gap:clamp(18px,3.5vw,44px);min-height:118px;padding:8px clamp(32px,5vw,72px) 6px;display:grid}.footer-logo{place-self:center start;align-items:center;line-height:0;display:flex}.footer-logo picture{line-height:0;display:block}.footer-logo img{width:min(250px,100%);display:block}.footer-contact-main{color:#000;place-self:center;justify-items:center;gap:5px;width:min(100%,440px);font-size:1.08rem;line-height:1.25;display:grid}.footer-contact-main a{text-decoration:none}.footer-socials{color:#000;justify-content:center;align-items:center;gap:15px;display:flex}.social-mark{color:#000;place-items:center;width:21px;height:21px;font-size:1.28rem;font-weight:900;line-height:1;text-decoration:none;display:inline-grid}.social-instagram span{border:3px solid #000;border-radius:7px;width:20px;height:20px;display:block;position:relative}.social-instagram span:before{content:"";border:3px solid #000;border-radius:50%;position:absolute;inset:4px}.social-instagram span:after{content:"";background:#000;border-radius:50%;width:4px;height:4px;position:absolute;top:3px;right:3px}.social-facebook{font-family:Arial,Helvetica,sans-serif;font-size:1.45rem}.footer-payment{box-sizing:border-box;background:var(--white);border:1px solid #b8b8b8;border-radius:15px;place-self:center end;width:min(188px,100%);margin:0;padding:13px 13px 11px}.square-brand{color:#3d3d3f;align-items:center;gap:8px;font-size:1.48rem;font-weight:500;display:flex}.square-icon{background:#2a2a2d;border-radius:6px;flex:none;width:32px;height:32px;display:inline-block;position:relative}.square-icon:before{content:"";border:4px solid var(--white);border-radius:3px;position:absolute;inset:8px}.payment-rule{background:#b8b8b8;height:2px;margin:10px 4px 12px}.card-logos{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.card-logos span{min-height:18px;color:var(--white);text-transform:uppercase;border-radius:3px;place-items:center;padding:2px;font-size:.3rem;font-weight:900;line-height:1;display:grid}.card-logos span:first-child{color:#144a9f;background:#fff;border:1px solid #d9e0ef}.card-logos span:nth-child(2){background:linear-gradient(90deg,#e72626 0 50%,#f6a01a 50% 100%)}.card-logos span:nth-child(3){background:#2368b7}.card-logos span:nth-child(4){color:#3a3a3a;background:linear-gradient(90deg,#fff 0 56%,#f49a1a 56% 100%);border:1px solid #d9e0ef}@media (width<=1020px){.site-header{grid-template-columns:1fr auto}.site-nav,.header-actions{display:none}.menu-toggle{z-index:70;justify-self:end;display:block;position:absolute;top:20px;left:auto;right:18px}body.menu-open .site-nav{background:var(--white);border-bottom:4px solid #060606;gap:0;padding:10px 24px 22px;display:grid;position:absolute;top:84px;left:0;right:0;box-shadow:0 18px 30px #0d0a501a}body.menu-open .site-nav a{border-top:1px solid #1606a81f;padding:14px 0;text-align:center}.hero{background:var(--blue);grid-template-columns:1fr;gap:38px;min-height:auto;padding-top:58px}.hero:before{display:none}.hero h1{max-width:760px;font-size:6rem}.hero-stage{min-height:520px}.quote-strip,.section-heading,.location-map-section,.process{grid-template-columns:1fr}.quote-form,.service-grid{grid-template-columns:1fr 1fr}.footer-gift{text-align:center;grid-template-columns:1fr;gap:20px;height:auto;min-height:0;padding-top:58px;padding-bottom:30px}.footer-gift h2{max-width:640px;margin-inline:auto;font-size:2.45rem}.footer-gift-image{width:210px;height:210px;transform:none}.footer-gift picture{width:210px;height:210px}.footer-contact-grid{grid-template-columns:1fr;justify-items:center;gap:16px;padding-top:18px;padding-bottom:20px}.footer-logo{justify-self:center}.footer-logo img{width:min(250px,74vw)}.footer-payment{justify-self:center}.footer-business-info{margin-top:6px}}@media (width<=680px){.location-map-frame{width:min(92%,660px);height:240px}.site-header{grid-template-columns:minmax(0,1fr) 48px;width:100%;max-width:100%;min-height:78px;padding-inline:18px}.menu-toggle{border-color:#1606a87a;justify-self:end;position:relative;top:auto;right:auto;box-shadow:0 8px 18px #0d0a501f}.brand img{width:min(190px,100vw - 104px)}body.menu-open .site-nav{top:78px}.quote-strip{gap:14px;padding:24px 18px 28px;scroll-margin-top:78px}.hero{gap:18px;width:100%;max-width:100%;padding:38px 18px;overflow-x:hidden}.hero-copy{width:100%;max-width:22rem}.hero h1{font-size:3.8rem}.hero .eyebrow{font-size:1.16rem}.hero-copy p:not(.eyebrow),.hero-actions,.hero-points{width:100%;max-width:22rem}.hero-actions,.button{width:100%}.hero-actions,.hero-copy p:not(.eyebrow),.hero-actions .button,.hero-points span{width:100%;max-width:22rem}.hero-copy p:not(.eyebrow),.hero-actions,.hero-actions .button,.hero-points,.hero-points span{width:min(22rem,100%);max-width:22rem}.hero-stage{justify-self:center;width:min(100%,520px);min-height:410px}.hero-background{inset:0 0 2%}.hero-background img{object-position:50% 48%}.hero-points{grid-template-columns:1fr;display:grid}.hero-mascot{width:41%;bottom:1%;right:0;transform:none}.hero-badge{width:118px;height:118px;padding:13px;top:8%;left:6%;right:auto}.hero-badge strong{font-size:1.5rem}.quote-form,.service-grid,.area-lists,.riverside-only .area-lists,.riverside-only .area-lists ul,.area-lists ul{grid-template-columns:1fr}.review-preview{grid-template-columns:1fr;gap:18px}.review-preview-grid{grid-template-columns:1fr}.review-preview-grid article{padding:14px 16px}.quote-form>*{grid-column:1/-1}.quote-strip .quote-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quote-strip .field-year,.quote-strip .field-make,.quote-strip .field-model,.quote-strip .field-trim,.quote-strip .field-name,.quote-strip .field-phone,.quote-strip .field-vin,.quote-strip .field-city,.quote-strip .quote-button{grid-column:span 1}.quote-strip .field-photo,.quote-strip .form-error{grid-column:1/-1}.section{padding:68px 18px}.section-heading{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.section-heading .eyebrow{writing-mode:horizontal-tb;text-orientation:mixed;white-space:normal;word-break:normal;overflow-wrap:normal;text-align:left;width:100%;max-width:none;margin-bottom:0;line-height:1.05;display:block}.section-heading h2{clear:both;width:100%;margin-top:0}.section-heading h2,.steps h2{font-size:clamp(3rem,14vw,4.9rem)}.quote-strip h2{overflow-wrap:normal;word-break:normal;max-width:18rem;font-size:clamp(1.65rem,7.4vw,2.15rem)}.quote-strip label{gap:4px}.quote-strip input,.quote-strip select,.quote-strip .vin-photo-button{min-height:44px;padding:9px 11px;font-size:1rem}.repair-or-replace{padding:68px 18px;scroll-margin-top:78px}body[data-page-name=about] .site-footer{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.footer-gift{text-align:center;grid-template-columns:1fr;justify-items:center;gap:12px;height:auto;min-height:0;padding:44px 18px 24px}.footer-gift h2{text-wrap:wrap;width:min(100%,18rem);max-width:18rem;font-size:1.34rem;line-height:1.05}.footer-gift-image{width:min(220px,64vw);height:min(220px,64vw);transform:none}.footer-gift picture{width:min(220px,64vw);height:min(220px,64vw)}.footer-contact-grid{gap:12px;padding:18px 18px 24px}.footer-contact-main{gap:8px;max-width:100%;font-size:.98rem}.footer-contact-main>a,.footer-links a{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.footer-socials .social-mark{width:44px;height:44px}.footer-payment{width:min(205px,100%);padding:14px 14px 12px}.square-brand{font-size:1.45rem}.square-icon{width:32px;height:32px}.square-icon:before{border-width:4px;inset:8px}.payment-rule{margin:10px 4px 12px}.card-logos span{min-height:18px;font-size:.31rem}.footer-business-info{padding:0 18px calc(96px + env(safe-area-inset-bottom));gap:4px;margin-top:0;font-size:.78rem;line-height:1.35}.footer-links{grid-template-columns:repeat(2,max-content);justify-content:center;gap:6px 14px;margin-top:2px;display:grid}.footer-links a:last-child{grid-column:1/-1}.process-art{min-height:390px}.steps li{grid-template-columns:56px minmax(0,1fr);padding:14px}}@media (width<=520px){.quote-strip .quote-form{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-strip .quote-form>*{grid-column:span 1}.quote-strip .field-vin,.quote-strip .field-photo,.quote-strip .form-error,.quote-strip .form-result,.quote-strip .quote-button{grid-column:1/-1}}.quote-flow{grid-template-columns:1fr;gap:14px;width:100%;max-width:860px;margin-inline:auto;display:grid}.quote-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.quote-progress li{color:var(--white);text-transform:uppercase;justify-items:center;gap:4px;font-size:.7rem;font-weight:900;display:grid}.quote-progress span{width:34px;height:34px;color:var(--white);background:#00000024;border:2px solid #ffffffbf;border-radius:50%;place-items:center;display:grid}.quote-progress .is-active span,.quote-progress .is-complete span{border-color:var(--white);color:var(--red);background:var(--white)}.quote-progress small{font:inherit}.quote-step{border:0;gap:12px;min-inline-size:0;margin:0;padding:0;display:grid}.quote-step[hidden]{display:none!important}.quote-step legend{color:var(--white);text-transform:uppercase;margin:0 0 2px;padding:4px 0 0;font-family:Anton,Impact,sans-serif;font-size:clamp(1.35rem,2.2vw,2.25rem);font-weight:400;line-height:1.1}.quote-step-copy{max-width:620px;color:var(--white);margin:4px 0 0;font-size:.92rem;font-weight:800;line-height:1.28}.quote-step-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quote-flow .field-year select,.quote-flow .field-make select,.quote-flow .field-model select,.quote-flow .field-trim input{box-sizing:border-box;height:44px;min-height:44px}.quote-glass-card-section{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;justify-self:center;align-items:stretch;gap:10px;width:100%;max-width:860px;margin-inline:auto;display:grid}.quote-choice-card{border:3px solid var(--ink);min-width:0;min-height:96px;color:var(--ink);background:var(--white);cursor:pointer;text-align:center;border-radius:8px;align-content:start;gap:6px;height:100%;min-height:178px;padding:12px;display:grid;position:relative;overflow:hidden;box-shadow:4px 4px #0000003d}.quote-choice-photo{aspect-ratio:16/9.5;object-fit:cover;border:2px solid var(--ink);background:#edf7ff;border-radius:6px;width:100%}.quote-choice-card input{opacity:0;width:1px;height:1px;position:absolute}.quote-choice-card span{text-transform:uppercase;font-family:Anton,Impact,sans-serif;font-size:clamp(1.05rem,1.5vw,1.45rem);font-weight:400;line-height:1}.quote-choice-card small{min-height:3.6em;color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:900;line-height:1.2;display:block}.quote-choice-card:has(input:checked){border-color:var(--white);color:var(--white);background:var(--blue);box-shadow:4px 4px 0 var(--ink)}.quote-choice-card:has(input:focus-visible){outline:3px solid var(--white);outline-offset:3px}.quote-choice-card:has(input:checked) small{color:#ffffffd6}.quote-step-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.quote-step-actions .button{min-width:150px}.quote-flow .field-vin,.quote-flow .field-photo,.quote-flow .form-error{grid-column:1/-1}@media (width<=900px){.quote-strip{grid-template-columns:1fr}.quote-strip>div:first-child{max-width:720px}.quote-flow{max-width:none}.quote-glass-card-section{max-width:860px}}@media (width<=560px){.quote-strip .quote-flow,.quote-flow{grid-template-columns:1fr;width:100%}.quote-progress{gap:4px;width:100%}.quote-progress span{width:28px;height:28px}.quote-progress small{font-size:.58rem}.quote-step-grid{grid-template-columns:1fr}.quote-glass-card-section{grid-template-columns:1fr;gap:8px}.quote-step-actions{justify-content:stretch;width:100%}.quote-step-actions .button{flex:100%;width:100%;max-width:none}.quote-choice-card{text-align:center;grid-template-columns:minmax(120px,136px) minmax(0,1fr);align-items:center;gap:5px;min-height:104px;padding:7px}.quote-choice-card img{grid-row:1/span 2}.quote-choice-card span{text-align:center;grid-row:1/span 2;place-self:center;width:100%;padding-inline:6px}.quote-choice-card small{font-size:.64rem;line-height:1.16}.quote-step-actions{grid-template-columns:1fr 1fr;display:grid}.quote-step-actions .button{width:100%;min-width:0}.quote-step-actions .quote-button{grid-column:auto}.quote-step-actions .button:only-child{grid-column:1/-1}}@media (width<=680px){body.mobile-action-bar-active .mobile-action-bar{bottom:calc(10px + env(safe-area-inset-bottom));display:grid}.mobile-action-bar a{min-height:50px;padding:10px 6px;font-size:clamp(.62rem,2.75vw,.78rem);line-height:1.1;text-decoration:none}body[data-page-type=home] .hero{gap:14px;padding:28px 18px 24px}body[data-page-type=home] .hero h1{margin-bottom:12px;font-size:clamp(3.25rem,15vw,3.65rem)}body[data-page-type=home] .hero-copy p:not(.eyebrow){margin-bottom:0;line-height:1.5}body[data-page-type=home] .hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}body[data-page-type=home] .hero-actions .button{width:100%;min-height:50px;padding:8px;font-size:.76rem;line-height:1.15}body[data-page-type=home] .hero-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}body[data-page-type=home] .hero-points span{text-align:center;min-height:44px;padding:6px;font-size:.68rem;line-height:1.15}body[data-page-type=home] .hero-stage{min-height:280px}body[data-page-type=home] .hero-badge{border-width:4px;width:92px;height:92px;padding:10px}body[data-page-type=home] .hero-badge strong{font-size:1.25rem}body[data-page-type=home] .hero-badge span{font-size:.58rem;line-height:1.1}body[data-page-type=home] .review-preview{border-bottom-width:4px;gap:14px;padding:30px 18px}body[data-page-type=home] .review-preview-heading{gap:6px}body[data-page-type=home] .review-preview h2{font-size:2.35rem}body[data-page-type=home] .review-preview-grid{gap:8px}body[data-page-type=home] .review-preview-grid article{padding:12px 14px}body[data-page-type=home] .review-preview-grid p{font-size:.82rem;line-height:1.35}body[data-page-type=home] .section,body[data-page-type=location] .services,body[data-page-type=location] .process,body[data-page-type=home] .repair-or-replace{padding:42px 18px}body[data-page-type=home] .section-heading,body[data-page-type=location] .services .section-heading{gap:8px;margin-bottom:22px}body[data-page-type=home] .section-heading h2,body[data-page-type=location] .services .section-heading h2,body[data-page-type=location] .steps h2,body[data-page-type=home] .steps h2{font-size:clamp(2.35rem,11vw,2.8rem);line-height:.98}body[data-page-type=home] .service-grid,body[data-page-type=location] .services .service-grid{gap:10px}body[data-page-type=home] .service-card,body[data-page-type=location] .services .service-card{grid-template-rows:1fr;grid-template-columns:minmax(108px,.42fr) minmax(0,.58fr);min-height:190px}body[data-page-type=home] .service-media,body[data-page-type=location] .services .service-media{aspect-ratio:auto;height:100%}body[data-page-type=home] .service-card>div:last-child,body[data-page-type=location] .services .service-card>div:last-child{align-self:center;padding:14px}body[data-page-type=home] .service-card h3,body[data-page-type=location] .services .service-card h3{margin-bottom:7px;font-size:.96rem;line-height:1.15}body[data-page-type=home] .service-card p,body[data-page-type=location] .services .service-card p{font-size:.8rem;line-height:1.4}body[data-page-type=home] .process,body[data-page-type=location] .process{gap:18px}body[data-page-type=home] .process-art,body[data-page-type=location] .process-art{min-height:240px}body[data-page-type=home] .process-art:before,body[data-page-type=location] .process-art:before{inset:7% 12% 0}body[data-page-type=home] .process-art img,body[data-page-type=location] .process-art img{width:min(180px,58%)}body[data-page-type=home] .steps ol,body[data-page-type=location] .steps ol{gap:8px;margin-top:18px}body[data-page-type=home] .steps li,body[data-page-type=location] .steps li{grid-template-columns:46px minmax(0,1fr);gap:10px;padding:10px}body[data-page-type=home] .steps li span,body[data-page-type=location] .steps li span{width:42px;height:42px}body[data-page-type=home] .steps h3,body[data-page-type=location] .steps h3{margin-bottom:5px;font-size:.96rem}body[data-page-type=home] .steps p,body[data-page-type=location] .steps p{font-size:.82rem;line-height:1.4}body[data-page-type=home] .home-service-map{gap:18px}body[data-page-type=home] .home-service-map h2{margin-bottom:12px;font-size:clamp(2.35rem,11vw,2.8rem)}body[data-page-type=home] .location-map-van{width:min(70%,230px);margin-top:10px}body[data-page-type=home] .location-map-frame{height:240px}body[data-page-type=home] .riverside-only .area-lists ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}body[data-page-type=home] .area-lists>div{padding:14px}body[data-page-type=home] .area-lists h3{margin-bottom:12px;font-size:1.25rem}body[data-page-type=home] .area-lists a{padding:5px;font-size:.72rem;line-height:1.2}body[data-page-type=home] .footer-gift{padding-top:30px;padding-bottom:20px}body[data-page-type=home] .footer-gift-image,body[data-page-type=home] .footer-gift picture{width:min(170px,52vw);height:min(170px,52vw)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.service-card:hover,.service-card:active{transform:none}}body[data-page-type=home] .review-preview{border-bottom-width:4px}.home-faq-layout{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);grid-template-areas:"heading accordion""cta accordion";align-items:start;gap:0 clamp(28px,5vw,76px);display:grid}.repair-or-replace .home-faq-heading{grid-area:heading;margin-bottom:0;display:block}.home-faq-heading>p:not(.eyebrow){max-width:580px;color:var(--muted);margin:18px 0 0;line-height:1.7}.home-faq-cta{color:var(--white);background:var(--red);border:3px solid #060606;border-radius:8px;grid-area:cta;gap:8px;margin-top:26px;padding:18px;display:grid;box-shadow:8px 8px #060606}.home-faq-cta strong{text-transform:uppercase;font-size:1.05rem;font-weight:900}.home-faq-cta span{color:#ffffffe0;line-height:1.55}.home-faq-cta .button{width:min(100%,240px);min-height:48px;margin-top:6px}.home-faq-accordion{border-top:3px solid #060606;grid-area:accordion;min-width:0;display:grid}.home-faq-accordion details{background:var(--white);border-bottom:3px solid #060606;border-left:3px solid #060606;border-right:3px solid #060606;min-width:0}.home-faq-accordion details[open]{background:#fff9e5}.home-faq-accordion summary{cursor:pointer;min-height:76px;color:var(--ink);touch-action:manipulation;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:18px;padding:18px 20px;font-size:clamp(1rem,1.25vw,1.16rem);font-weight:900;line-height:1.4;list-style:none;display:grid;position:relative}.home-faq-accordion summary::-webkit-details-marker{display:none}.home-faq-accordion summary:after{content:"↓";width:38px;height:38px;color:var(--white);background:var(--blue);border:3px solid #060606;border-radius:50%;place-items:center;font-size:1.45rem;line-height:1;display:grid}.home-faq-accordion details[open] summary:after{content:"↑";color:var(--ink);background:#ffd23c}.home-faq-accordion summary:hover{color:var(--blue)}.home-faq-accordion summary:focus-visible{z-index:1;outline-offset:-5px;outline:4px solid #ffd23c}.home-faq-answer{padding:0 78px 22px 20px}.home-faq-answer p{max-width:850px;color:var(--muted);margin:0;line-height:1.7}@media (width<=900px){.home-faq-layout{grid-template-columns:1fr;grid-template-areas:"heading""accordion""cta";row-gap:30px}.home-faq-heading>p:not(.eyebrow){max-width:720px}.home-faq-cta{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:18px;margin-top:0}.home-faq-cta strong,.home-faq-cta span{grid-column:1}.home-faq-cta .button{grid-area:1/2/span 2;min-width:190px;margin-top:0}}@media (width<=680px){.home-faq-layout{gap:30px}.home-faq-heading>p:not(.eyebrow){margin-top:14px;font-size:.94rem}.home-faq-cta{grid-template-columns:1fr;padding:16px;box-shadow:6px 6px #060606}.home-faq-cta strong,.home-faq-cta span,.home-faq-cta .button{grid-area:auto/1}.home-faq-cta .button{width:100%;min-width:0;margin-top:6px}.home-faq-accordion summary{grid-template-columns:minmax(0,1fr) 34px;gap:12px;min-height:68px;padding:15px 13px;font-size:.94rem}.home-faq-accordion summary:after{border-width:2px;width:34px;height:34px;font-size:1.25rem}.home-faq-answer{padding:0 13px 18px}.home-faq-answer p{font-size:.88rem;line-height:1.65}}
.quote-flow .field-make select:disabled,.quote-flow .field-model select:disabled{opacity:1;color:var(--ink);background:var(--white)}body[data-page-type=home] h1,body[data-page-type=home] h2{letter-spacing:.02em}@media (width<=680px){body[data-page-type=home] h1,body[data-page-type=home] h2{letter-spacing:.03em}}

/* Mobile section compaction stays below the shared 680px breakpoint. */
@media (max-width:680px){
body[data-page-type="home"] .skip-link{min-height:44px}
body[data-page-type="home"] .quote-strip{padding:20px 18px 24px}
body[data-page-type="home"] .hero-stage{min-height:250px}
body[data-page-type="home"] .section,body[data-page-type="home"] .repair-or-replace{padding:34px 18px}
body[data-page-type="home"] .section-heading{gap:8px;margin-bottom:18px}
body[data-page-type="home"] .service-card{min-height:164px}
body[data-page-type="home"] .service-card>div:last-child{padding:12px}
body[data-page-type="home"] .review-preview{gap:10px;padding:24px 18px}
body[data-page-type="home"] .review-preview-grid{gap:6px}
body[data-page-type="home"] .review-preview-grid article{padding:10px 12px}
body[data-page-type="home"] .review-preview-grid p{font-size:.8rem;line-height:1.35}
body[data-page-type="home"] .home-faq-layout{gap:18px}
body[data-page-type="home"] .home-faq-heading>p:not(.eyebrow){margin-top:8px;line-height:1.45}
body[data-page-type="home"] .home-faq-accordion summary{min-height:56px;padding:10px 12px;font-size:.88rem;line-height:1.3}
body[data-page-type="home"] .home-faq-accordion summary:after{width:32px;height:32px}
body[data-page-type="home"] .home-faq-cta{padding:13px}
body[data-page-type="home"] .process{gap:14px}
body[data-page-type="home"] .process-art{min-height:180px}
body[data-page-type="home"] .process-art img{width:min(145px,48%)}
body[data-page-type="home"] .steps ol{gap:7px;margin-top:14px}
body[data-page-type="home"] .steps li{grid-template-columns:44px minmax(0,1fr);gap:9px;padding:9px}
body[data-page-type="home"] .steps li span{width:44px;height:44px}
body[data-page-type="home"] .steps h3{margin-bottom:4px;font-size:.94rem}
body[data-page-type="home"] .steps p{font-size:.8rem;line-height:1.35}
body[data-page-type="home"] .home-service-map{gap:14px}
body[data-page-type="home"] .location-map-van{width:min(54%,170px);margin-top:8px}
body[data-page-type="home"] .location-map-frame{height:210px}
body[data-page-type="home"] .area-lists>div{padding:12px}
body[data-page-type="home"] .footer-gift{gap:8px;padding:28px 18px 18px}
body[data-page-type="home"] .footer-gift h2{font-size:1.24rem}
body[data-page-type="home"] .footer-gift-image,body[data-page-type="home"] .footer-gift picture{width:min(145px,44vw);height:min(145px,44vw)}
body[data-page-type="home"] .footer-contact-grid{gap:8px;padding:14px 18px 18px}
body[data-page-type="home"] .footer-logo img{width:min(210px,66vw)}
body[data-page-type="home"] .footer-payment{padding:10px}
}

@media (min-width:1021px){.site-nav{gap:clamp(8px,1vw,16px)}.site-nav a{text-align:center;text-transform:uppercase;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:12px 18px;display:inline-flex}}

/* Teddy thought bubble */
.thought-bubble {
  --thought-mascot-width: min(330px, 86%);
  --thought-cloud-width: 360px;
  --thought-mascot-left: calc((100% - var(--thought-mascot-width)) / 2);
  --thought-cloud-left: max(-72px, calc(var(--thought-mascot-left) + 104px - var(--thought-cloud-width)));
  z-index: 3;
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.thought-bubble__piece {
  position: absolute;
  transform-box: fill-box;
  transform-origin: center;
}

.thought-bubble__trail {
  aspect-ratio: 1;
  background: #fff;
  border: 3px solid #060606;
  border-radius: 50%;
  box-shadow: 0 5px 10px #02031b26;
}

.thought-bubble__trail--tiny {
  width: 13px;
  top: 66px;
  left: calc(var(--thought-mascot-left) + 80px);
}

.thought-bubble__trail--medium {
  width: 20px;
  top: 46px;
  left: calc(var(--thought-mascot-left) + 60px);
}

.thought-bubble__trail--large {
  width: 29px;
  top: 22px;
  left: calc(var(--thought-mascot-left) + 30px);
}

.thought-bubble__cloud {
  width: var(--thought-cloud-width);
  height: auto;
  top: -136px;
  left: var(--thought-cloud-left);
  filter: drop-shadow(0 10px 12px #02031b24);
  overflow: visible;
}

.thought-bubble__cloud path {
  fill: #fff;
  stroke: #060606;
  stroke-width: 5px;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.thought-bubble__message {
  fill: #0e0e12;
  font-family: Poppins, ui-rounded, "Arial Rounded MT Bold", sans-serif;
  font-size: 40px;
  font-weight: 900;
  letter-spacing: -.3px;
}

.thought-bubble--pending .thought-bubble__piece {
  opacity: 0;
  transform: scale(0);
  will-change: opacity, transform;
}

.thought-bubble--pending.is-visible .thought-bubble__piece {
  animation: thought-bubble-pop 400ms cubic-bezier(.2, .82, .32, 1) both;
}

.thought-bubble--pending.is-visible .thought-bubble__trail--medium {
  animation-delay: 200ms;
}

.thought-bubble--pending.is-visible .thought-bubble__trail--large {
  animation-delay: 400ms;
}

.thought-bubble--pending.is-visible .thought-bubble__cloud {
  animation-delay: 600ms;
}

@keyframes thought-bubble-pop {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  68% {
    opacity: 1;
    transform: scale(1.08);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@media (1021px <= width <= 1200px) {
  .thought-bubble {
    --thought-cloud-width: clamp(300px, 27vw, 320px);
    --thought-cloud-left: max(-72px, calc(var(--thought-mascot-left) + 92px - var(--thought-cloud-width)));
  }

  .thought-bubble__cloud {
    top: -118px;
  }

  .thought-bubble__trail--tiny {
    width: 11px;
    top: 66px;
    left: calc(var(--thought-mascot-left) + 82px);
  }

  .thought-bubble__trail--medium {
    width: 17px;
    top: 47px;
    left: calc(var(--thought-mascot-left) + 66px);
  }

  .thought-bubble__trail--large {
    width: 25px;
    top: 22px;
    left: calc(var(--thought-mascot-left) + 50px);
  }
}

@media (1021px <= width <= 1100px) {
  .thought-bubble {
    --thought-cloud-left: max(-60px, calc(var(--thought-mascot-left) + 92px - var(--thought-cloud-width)));
  }

  .thought-bubble__trail--tiny {
    top: 66px;
    left: calc(var(--thought-mascot-left) + 69px);
  }

  .thought-bubble__trail--medium {
    top: 40px;
    left: calc(var(--thought-mascot-left) + 63px);
  }

  .thought-bubble__trail--large {
    top: 8px;
    left: calc(var(--thought-mascot-left) + 55px);
  }

  .thought-bubble__cloud {
    top: -138px;
  }
}

@media (width <= 1020px) {
  .thought-bubble {
    --thought-cloud-width: min(340px, calc(50vw - 70px));
    --thought-cloud-left: max(-55px, calc(var(--thought-mascot-left) + 53px - var(--thought-cloud-width)));
  }

  .thought-bubble__cloud {
    top: -130px;
  }

  .thought-bubble__trail--tiny {
    width: 11px;
    top: 66px;
    left: calc(var(--thought-mascot-left) + 86px);
  }

  .thought-bubble__trail--medium {
    width: 17px;
    top: 47px;
    left: calc(var(--thought-mascot-left) + 68px);
  }

  .thought-bubble__trail--large {
    width: 25px;
    top: 23px;
    left: calc(var(--thought-mascot-left) + 42px);
  }
}

@media (681px <= width <= 800px) {
  .thought-bubble {
    --thought-cloud-left: max(-45px, calc(var(--thought-mascot-left) + 53px - var(--thought-cloud-width)));
  }
}

@media (width <= 680px) {
  body[data-page-type="home"] .process {
    padding-top: 116px;
  }

  .thought-bubble {
    --thought-mascot-width: min(145px, 48%);
    --thought-cloud-width: clamp(205px, 58vw, 235px);
    --thought-cloud-left: max(-18px, calc(var(--thought-mascot-left) + 52px - var(--thought-cloud-width)));
  }

  .thought-bubble__cloud {
    top: -106px;
  }

  .thought-bubble__trail {
    border-width: 2px;
  }

  .thought-bubble__trail--tiny {
    width: 9px;
    top: 19px;
    left: calc(var(--thought-mascot-left) + 34px);
  }

  .thought-bubble__trail--medium {
    width: 14px;
    top: 20px;
    left: calc(var(--thought-mascot-left) + 18px);
  }

  .thought-bubble__trail--large {
    width: 21px;
    top: -3px;
    left: calc(var(--thought-mascot-left) + 4px);
  }
}

@media (width <= 360px) {
  .thought-bubble__trail--tiny {
    top: 18px;
  }

  .thought-bubble__trail--medium {
    top: 19px;
  }

  .thought-bubble__trail--large {
    top: -4px;
    left: calc(var(--thought-mascot-left) + 6px);
  }
}

@media (width <= 330px) {
  .thought-bubble__trail--large {
    left: calc(var(--thought-mascot-left) + 14px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .thought-bubble__piece,
  .thought-bubble--pending .thought-bubble__piece,
  .thought-bubble--pending.is-visible .thought-bubble__piece {
    opacity: 1 !important;
    transform: scale(1) !important;
    animation: none !important;
  }
}

/* Keep the Riverside County map-pack copy and van centered above the map. */
body[data-page-type="home"] .home-service-map {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  text-align: center;
}

body[data-page-type="home"] .home-service-map .location-map-copy {
  width: min(100%, 940px);
  justify-self: center;
}

body[data-page-type="home"] .home-service-map h2 {
  max-width: 940px;
  margin-inline: auto;
}

body[data-page-type="home"] .home-service-map .location-map-van {
  margin-inline: auto;
}

@media (width <= 680px) {
  body[data-page-type="home"] .riverside-only .area-lists li.city-route-centered {
    grid-column: 1 / -1;
    width: calc((100% - 8px) / 2);
    justify-self: center;
  }
}

/* Match the homepage mobile hero to the established location-page hero. */
@media (width <= 680px) {
  body[data-page-type="home"] .hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    justify-items: center;
    width: 100%;
    max-width: 100%;
    padding: 28px 18px;
    text-align: center;
    overflow-x: hidden;
  }

  body[data-page-type="home"] .hero-copy {
    width: min(100%, 22rem);
    max-width: calc(100vw - 36px);
    margin-inline: auto;
    justify-self: center;
    text-align: center;
  }

  body[data-page-type="home"] .hero-copy > * {
    margin-inline: auto;
  }

  body[data-page-type="home"] .hero .eyebrow {
    font-size: 0.96rem;
    letter-spacing: 0.08em;
  }

  body[data-page-type="home"] .hero h1 {
    max-width: 100%;
    margin-bottom: 12px;
    font-size: clamp(2.55rem, 12vw, 2.9rem);
    line-height: 0.96;
  }

  body[data-page-type="home"] .hero-copy p:not(.eyebrow) {
    width: min(100%, 22rem);
    max-width: 22rem;
    font-size: 1rem;
    line-height: 1.5;
  }

  body[data-page-type="home"] .hero-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: min(100%, 22rem);
    max-width: calc(100vw - 36px);
    margin-top: 16px;
  }

  body[data-page-type="home"] .hero-actions .button {
    min-height: 48px;
    padding: 8px;
    font-size: 0.75rem;
    line-height: 1.15;
  }

  body[data-page-type="home"] .hero-points {
    display: none;
  }

  body[data-page-type="home"] .hero-stage {
    width: min(22rem, calc(100vw - 36px));
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    margin-inline: auto;
    aspect-ratio: 16 / 9;
    justify-self: center;
    overflow: hidden;
  }

  body[data-page-type="home"] .hero-background {
    inset: 0;
    transform: none;
  }

  body[data-page-type="home"] .hero-mascot {
    right: 0;
    bottom: 1%;
    width: 33%;
    transform: none;
  }

  body[data-page-type="home"] .hero-badge {
    top: 4%;
    right: auto;
    left: 2%;
    width: 90px;
    height: 90px;
    padding: 9px;
    border-width: 4px;
  }

  body[data-page-type="home"] .hero-badge strong {
    font-size: 1.2rem;
    line-height: 1;
  }

  body[data-page-type="home"] .hero-badge span {
    font-size: 0.58rem;
    line-height: 1.1;
  }
}

/* Homepage-only 2026-08-23 Teddy artwork. Shared location mascots stay unchanged. */
.hero-mascot--home-20260823 {
  width: min(380px, 48%);
  bottom: -2%;
  right: -4%;
  transform: none;
}

.process-art--home-mascot-20260823 .process-mascot--home-20260823 {
  width: min(390px, 100%);
}

.process-art--home-mascot-20260823 .thought-bubble {
  --thought-mascot-width: min(390px, 100%);
}

body[data-page-type="home"] .process[data-home-mascot-art="20260823"] {
  padding-top: 140px;
}

@media (1021px <= width <= 1100px) {
  .process-art--home-mascot-20260823 .thought-bubble__trail--medium {
    top: 33px;
  }
}

@media (width <= 680px) {
  body[data-page-type="home"] .process[data-home-mascot-art="20260823"] {
    padding-top: 116px;
  }

  body[data-page-type="home"] .hero-mascot--home-20260823 {
    width: 42%;
    bottom: 1%;
    right: -4%;
  }

  body[data-page-type="home"] .hero-stage {
    overflow: visible;
  }

  body[data-page-type="home"] .process-art--home-mascot-20260823 .process-mascot--home-20260823 {
    width: min(170px, 52%);
  }

  .process-art--home-mascot-20260823 .thought-bubble {
    --thought-mascot-width: min(170px, 52%);
  }
}
/* Shared VIN-location help */
.vin-help-general-row,
.vin-help-panel-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.vin-help-general-row .quote-step-copy,
.vin-help-panel-row .field-helper {
  flex: 1 1 auto;
  margin-bottom: 0;
}

.vin-photo-help-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  min-width: 0;
}

.vin-photo-help-row .field-vin {
  grid-column: 1;
  min-width: 0;
}

.vin-help-trigger--photo {
  justify-self: start;
  max-width: none;
  text-align: left;
  white-space: normal;
}

.vin-help-trigger {
  flex: 0 0 auto;
  min-height: 32px;
  margin: 0;
  padding: 2px 0;
  border: 0;
  color: var(--white);
  background: transparent;
  font: 900 0.78rem/1.35 Poppins, ui-sans-serif, system-ui, sans-serif;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  cursor: pointer;
  touch-action: manipulation;
}

.vin-help-trigger:hover {
  color: #fff2ad;
}

body.vin-help-open {
  overflow: hidden;
}

.vin-help-modal[hidden] {
  display: none !important;
}

.vin-help-modal {
  position: fixed;
  z-index: 1200;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(47, 48, 56, 0.76);
  backdrop-filter: blur(3px);
  overscroll-behavior: contain;
}

.vin-help-dialog {
  position: relative;
  width: min(100%, 960px);
  max-height: calc(100dvh - 32px);
  padding: 28px clamp(26px, 4vw, 44px) 32px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(14, 14, 18, 0.12);
  border-top: 7px solid var(--red);
  border-radius: 24px;
  color: var(--ink);
  background: var(--white);
  box-shadow: 0 30px 90px rgba(2, 3, 20, 0.42);
}

.vin-help-dialog__close {
  position: absolute;
  z-index: 3;
  top: 14px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(22, 6, 168, 0.16);
  border-radius: 50%;
  color: var(--blue);
  background: var(--soft);
  font: 700 1.8rem/1 ui-sans-serif, system-ui, sans-serif;
  cursor: pointer;
}

.vin-help-dialog__close:hover {
  color: var(--white);
  background: var(--blue);
}

.vin-help-dialog__header {
  padding-inline: 52px;
  text-align: center;
}

.vin-help-dialog__header h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(2.35rem, 5vw, 3.65rem);
  line-height: 1;
}

.vin-help-dialog__header p {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.5;
}

.vin-help-diagram {
  position: relative;
  width: min(100%, 880px);
  height: 420px;
  margin: 8px auto 0;
}

.vin-help-diagram__car {
  position: absolute;
  top: 20px;
  left: 14%;
  width: 72%;
  height: auto;
  user-select: none;
}

.vin-help-diagram__leaders {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  color: var(--red);
  pointer-events: none;
}

.vin-help-diagram__leaders path {
  fill: none;
  stroke: var(--red);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.vin-help-diagram__leaders circle {
  fill: var(--red);
  stroke: var(--white);
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
}

.vin-help-leaders-mobile {
  display: none;
}

.vin-help-arrow-number text {
  fill: var(--white);
  font: 900 24px/1 Poppins, ui-sans-serif, system-ui, sans-serif;
  text-anchor: middle;
  dominant-baseline: middle;
}

.vin-help-callouts {
  margin: 0;
  padding: 0;
  list-style: none;
}

.vin-help-callout {
  position: absolute;
  z-index: 2;
  width: 180px;
  padding: 8px 10px;
  border-radius: 6px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.94);
  font-size: 0.8rem;
  font-weight: 900;
  line-height: 1.3;
}

.vin-help-callout--engine {
  top: 45%;
  left: 0;
}

.vin-help-callout--dash {
  top: 7%;
  right: 0;
}

.vin-help-callout--door {
  top: 64%;
  right: 0;
}

.vin-help-example {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: min(100%, 570px);
  margin: -4px auto 0;
  padding: 13px 18px;
  border: 2px solid rgba(14, 14, 18, 0.16);
  border-radius: 10px;
  background: var(--soft);
}

.vin-help-example span {
  color: var(--red);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.vin-help-example code {
  color: var(--ink);
  font: 800 clamp(0.88rem, 2vw, 1.1rem)/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

@media (max-width: 680px) {
  .vin-help-general-row,
  .vin-help-panel-row {
    flex-wrap: wrap;
    gap: 3px 10px;
  }

  .vin-help-general-row .quote-step-copy,
  .vin-help-panel-row .field-helper {
    flex-basis: 100%;
  }

  .vin-help-trigger {
    min-height: 28px;
    font-size: 0.7rem;
  }

  .vin-help-trigger--photo {
    justify-self: start;
  }

  .vin-help-modal {
    padding: 8px;
  }

  .vin-help-dialog {
    max-height: calc(100dvh - 16px);
    padding: 20px 14px 18px;
    border-top-width: 6px;
    border-radius: 17px;
  }

  .vin-help-dialog__close {
    top: 8px;
    right: 8px;
    width: 40px;
    height: 40px;
  }

  .vin-help-dialog__header {
    padding-inline: 34px;
  }

  .vin-help-dialog__header h2 {
    font-size: clamp(2rem, 10vw, 2.55rem);
  }

  .vin-help-dialog__header p {
    margin-top: 7px;
    font-size: 0.84rem;
  }

  .vin-help-diagram {
    display: grid;
    gap: 8px;
    height: auto;
    margin-top: 12px;
  }

  .vin-help-diagram__car {
    position: static;
    width: 100%;
  }

  .vin-help-diagram__leaders {
    inset: 0 auto auto 0;
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 931 / 573;
    overflow: hidden;
  }

  .vin-help-leaders-desktop {
    display: none;
  }

  .vin-help-leaders-mobile {
    display: block;
  }

  .vin-help-callouts {
    display: grid;
    gap: 6px;
    counter-reset: vin-help-location;
  }

  .vin-help-callout {
    position: static;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 6px 9px;
    border-left: 3px solid var(--red);
    background: #f7f7fb;
    font-size: 0.72rem;
    counter-increment: vin-help-location;
  }

  .vin-help-callout::before {
    content: attr(data-vin-number);
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    color: var(--white);
    background: var(--red);
    font-size: 0.66rem;
    font-weight: 900;
    line-height: 1;
  }

  .vin-help-example {
    display: grid;
    gap: 4px;
    justify-items: center;
    margin-top: 14px;
    padding: 10px 8px;
  }

  .vin-help-example code {
    max-width: 100%;
    font-size: clamp(0.78rem, 4.1vw, 0.96rem);
    letter-spacing: 0.045em;
  }
}

@media (max-width: 680px) {
  body.mobile-action-bar-active.mobile-action-bar-quote-engaged .mobile-action-bar {
    display: none;
  }
}

/* Quote flow v2: shared four-step mobile-service request */
.quote-flow {
  width: min(100%, 920px);
  max-width: 920px;
  min-width: 0;
  margin-inline: auto;
  gap: clamp(10px, 1.4vw, 16px);
}

.quote-flow > input[type="hidden"] {
  display: none;
}

.quote-journey {
  --quote-progress: 0%;
  --quote-progress-scale: 0;
  --quote-van-x: 0px;
  --quote-progress-duration: 700ms;
  --quote-progress-easing: ease-in-out;
  --quote-van-width: clamp(112px, 17vw, 150px);
  --quote-house-width: clamp(78px, 8.5vw, 96px);
  width: min(100%, 820px);
  min-width: 0;
  height: clamp(76px, 10vw, 96px);
  margin: 0 auto 2px;
  display: flex;
  align-items: flex-end;
  gap: clamp(6px, 1vw, 10px);
}

.quote-journey__route {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  position: relative;
}

.quote-journey__track {
  position: absolute;
  left: calc(var(--quote-van-width) / 2);
  right: calc(var(--quote-van-width) / 2);
  bottom: 10px;
  height: 15px;
  overflow: hidden;
  border: 2px solid var(--white);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: inset 0 1px 3px rgba(14, 14, 18, 0.2), 0 2px 0 rgba(14, 14, 18, 0.22);
}

.quote-journey__fill {
  width: 100%;
  max-width: 100%;
  height: 100%;
  display: block;
  border-radius: inherit;
  background: #1268dc;
  transform: scaleX(var(--quote-progress-scale));
  transform-origin: left center;
  transition: transform var(--quote-progress-duration) var(--quote-progress-easing);
  will-change: transform;
}

.quote-journey__van {
  position: absolute;
  z-index: 2;
  left: 0;
  bottom: 1px;
  width: var(--quote-van-width);
  max-width: none;
  height: auto;
  pointer-events: none;
  transform: translate3d(var(--quote-van-x), 0, 0);
  filter: drop-shadow(0 5px 4px rgba(14, 14, 18, 0.3));
  transition: transform var(--quote-progress-duration) var(--quote-progress-easing);
  will-change: transform;
}

.quote-journey__house {
  flex: 0 0 var(--quote-house-width);
  width: var(--quote-house-width);
  height: auto;
  margin-bottom: 0;
  overflow: visible;
  transform: translateY(4px);
  filter: drop-shadow(0 4px 3px rgba(14, 14, 18, 0.28));
}

.quote-step-stack {
  display: grid;
  grid-template-areas: "quote-step";
  width: 100%;
  min-width: 0;
}

.quote-step-stack > .quote-step {
  grid-area: quote-step;
  align-self: start;
  align-content: start;
  width: 100%;
}

.quote-step-stack > .quote-step[hidden] {
  display: none !important;
}

.quote-step legend {
  max-width: 800px;
  font-size: clamp(1.85rem, 3.7vw, 3.4rem);
}

.quote-step-copy {
  max-width: 760px;
  margin-bottom: 4px;
  font-size: clamp(0.88rem, 1.6vw, 1rem);
  line-height: 1.5;
}

.quote-choice-grid,
.quote-glass-card-section,
.quote-damage-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  max-width: none;
  min-width: 0;
}

.quote-damage-grid[hidden] {
  display: none !important;
}

.quote-step[data-quote-step="3"][hidden] [data-damage-group="windshield"] {
  display: none !important;
}

.quote-step[data-quote-step="3"][hidden] .quote-damage-grid {
  display: none !important;
}

.quote-choice-card,
.damage-choice-card {
  grid-template-columns: 1fr;
  align-content: start;
  gap: 10px;
  min-width: 0;
  min-height: 0;
  padding: 10px 10px 14px;
  border: 4px solid var(--ink);
  border-radius: 12px;
  text-align: left;
  background: var(--white);
  box-shadow: 7px 7px 0 rgba(14, 14, 18, 0.42);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
}

.quote-choice-card:hover,
.damage-choice-card:hover {
  transform: translateY(-2px);
}

.quote-flow .damage-choice-card input {
  appearance: none;
  position: absolute;
  width: 1px;
  height: 1px;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  clip-path: inset(50%);
  pointer-events: none;
}

.quote-choice-photo,
.damage-choice-photo,
.damage-choice-card img {
  grid-row: auto;
  width: 100%;
  height: clamp(150px, 15vw, 155px);
  aspect-ratio: auto;
  border: 0;
  border-radius: 7px;
  object-fit: cover;
  background: #e9e9ee;
}

.quote-photo-front,
.quote-photo-crack,
.quote-photo-chip {
  object-position: center 44%;
}

.quote-photo-driver,
.quote-photo-missing {
  object-position: 45% 50%;
}

.quote-photo-passenger {
  object-position: 58% 50%;
}

.quote-photo-rear {
  object-position: center 45%;
}

.quote-photo-cracked,
.quote-photo-shattered,
.quote-photo-unsure {
  object-position: center 35%;
}

/* Keep the Step 1 cards compact while tailoring the crop for each glass area. */
.quote-glass-card-section .quote-choice-photo {
  transform: scale(1.6);
  clip-path: inset(18.75% round 6px);
}

.quote-glass-card-section .quote-photo-front,
.quote-glass-card-section .quote-photo-rear {
  transform: scale(1.4);
  transform-origin: 50% 12.375%;
  clip-path: inset(3.5357% 14.2857% 25.0357% 14.2857% round 6px);
  object-position: center;
}

.quote-glass-card-section .quote-photo-driver,
.quote-glass-card-section .quote-photo-passenger {
  object-position: center 36%;
}

.quote-choice-card span,
.damage-choice-card span {
  align-self: center;
  padding: 0 4px;
  color: var(--ink);
  font-size: clamp(1.25rem, 2.2vw, 1.8rem);
  line-height: 1.05;
}

.quote-choice-card:has(input:checked),
.damage-choice-card:has(input:checked) {
  color: var(--white);
  background: var(--ink);
  border-color: var(--red);
  box-shadow: 7px 7px 0 var(--red);
}

.quote-choice-card:has(input:checked) span,
.damage-choice-card:has(input:checked) span {
  color: var(--white);
}

.quote-choice-card:has(input:focus-visible),
.damage-choice-card:has(input:focus-visible) {
  outline: 4px solid #ffd23c;
  outline-offset: 4px;
}

.passenger-pane-selector {
  gap: 8px;
  min-width: 0;
}

.passenger-pane-selector .quote-step-copy {
  margin: 0 0 2px;
}

.passenger-pane-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}

.passenger-pane-card {
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  gap: 8px;
  min-width: 0;
  min-height: 0;
  padding: 8px 8px 12px;
  border: 3px solid var(--ink);
  border-radius: 10px;
  color: var(--ink);
  background: var(--white);
  cursor: pointer;
  box-shadow: 5px 5px 0 rgba(14, 14, 18, 0.4);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
}

.passenger-pane-card:hover {
  transform: translateY(-2px);
}

.passenger-pane-card input {
  appearance: none;
  position: absolute;
  width: 1px;
  height: 1px;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  clip-path: inset(50%);
  pointer-events: none;
}

.passenger-pane-photo {
  width: 100%;
  height: clamp(112px, 12vw, 138px);
  border-radius: 6px;
  object-fit: cover;
  object-position: center;
  background: #e9e9ee;
}

.passenger-pane-selector[data-glass-side="driver"] .passenger-pane-photo {
  transform: scaleX(-1);
}

.passenger-pane-card:nth-child(1) .passenger-pane-photo {
  object-position: center 31%;
}

.passenger-pane-card:nth-child(2) .passenger-pane-photo {
  object-position: center 35%;
}

.passenger-pane-card span {
  align-self: center;
  padding: 0 3px;
  color: var(--ink);
  font: 400 clamp(1.05rem, 1.8vw, 1.4rem)/1.05 Anton, Impact, sans-serif;
  text-transform: uppercase;
}

.passenger-pane-card:has(input:checked) {
  color: var(--white);
  background: var(--ink);
  border-color: var(--red);
  box-shadow: 5px 5px 0 var(--red);
}

.passenger-pane-card:has(input:checked) span {
  color: var(--white);
}

.passenger-pane-card:has(input:focus-visible) {
  outline: 4px solid #ffd23c;
  outline-offset: 4px;
}

.quote-step-actions {
  gap: 12px;
  padding-top: 4px;
}

.quote-step-actions .button {
  min-width: 170px;
  min-height: 52px;
  border: 3px solid var(--ink);
  cursor: pointer;
}

.quote-step-actions .quote-button {
  width: auto;
  text-transform: none;
}

.quote-step-actions [data-quote-next]:disabled {
  opacity: 0.48;
  filter: grayscale(0.65);
  cursor: not-allowed;
  box-shadow: none;
}

.vehicle-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 7px;
  border: 3px solid var(--ink);
  border-radius: 12px;
  background: var(--white);
}

.vehicle-tabs button {
  min-width: 0;
  min-height: 52px;
  padding: 9px 10px;
  border: 2px solid transparent;
  border-radius: 8px;
  color: var(--blue);
  background: var(--soft);
  font: 900 clamp(0.69rem, 1.35vw, 0.88rem)/1.2 Poppins, ui-sans-serif, system-ui, sans-serif;
  text-transform: uppercase;
  cursor: pointer;
}

.vehicle-tabs button[aria-selected="true"] {
  color: var(--white);
  background: var(--ink);
  border-color: var(--red);
  box-shadow: inset 0 -4px var(--red);
}

.vehicle-tab-panel {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: clamp(14px, 2.4vw, 22px);
  border: 3px solid var(--ink);
  border-radius: 12px;
  background: rgba(14, 14, 18, 0.18);
}

.vehicle-tab-panel[hidden] {
  display: none !important;
}

.quote-step-grid {
  min-width: 0;
}

.quote-flow label {
  min-width: 0;
}

.quote-flow input,
.quote-flow select {
  min-width: 0;
  min-height: 50px;
  border: 2px solid rgba(14, 14, 18, 0.18);
}

.quote-flow .field-year select,
.quote-flow .field-make select,
.quote-flow .field-model select,
.quote-flow .field-trim input {
  height: 50px;
  min-height: 50px;
}

.quote-flow .field-make select:disabled,
.quote-flow .field-model select:disabled {
  opacity: 1;
  color: var(--ink);
  background: var(--white);
}

.field-vin-code,
.field-plate,
.field-plate-state,
.plate-lookup-status {
  color: var(--white);
}

.plate-lookup-status {
  margin: 2px 0 0;
  font-size: 0.78rem;
  font-weight: 800;
}

.field-vin {
  grid-column: 1 / -1;
}

.vin-photo-button {
  min-height: 50px;
  place-items: center start;
  border: 2px solid rgba(14, 14, 18, 0.18);
}

.quote-contact-grid .field-phone {
  grid-column: 1 / -1;
}

.quote-contact-grid .field-phone input {
  min-height: 62px;
  border: 4px solid var(--ink);
  font-size: 1.1rem;
  font-weight: 800;
  box-shadow: 5px 5px 0 rgba(14, 14, 18, 0.35);
}

.quote-review h3 {
  margin: 0;
  color: var(--white);
  font: 400 clamp(2.3rem, 5vw, 4.5rem)/1 Anton, Impact, sans-serif;
  text-transform: uppercase;
}

.quote-review-eyebrow {
  margin: 0 0 -8px;
  color: var(--white);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

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

.quote-review-grid article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border: 3px solid var(--ink);
  border-radius: 10px;
  color: var(--ink);
  background: var(--white);
  box-shadow: 5px 5px 0 rgba(14, 14, 18, 0.34);
}

.quote-review-grid h4 {
  margin: 0 0 5px;
  color: var(--blue);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.quote-review-grid p {
  margin: 0;
  color: var(--ink);
  font-size: 0.91rem;
  font-weight: 700;
  line-height: 1.5;
  white-space: pre-line;
  overflow-wrap: anywhere;
}

.quote-review-grid button {
  min-width: 48px;
  min-height: 44px;
  padding: 7px 9px;
  border: 2px solid var(--blue);
  border-radius: 7px;
  color: var(--blue);
  background: var(--white);
  font: 900 0.72rem/1 Poppins, ui-sans-serif, system-ui, sans-serif;
  text-transform: uppercase;
  cursor: pointer;
}

.quote-review-grid button:hover,
.quote-review-grid button:focus-visible {
  color: var(--white);
  background: var(--blue);
}

.quote-review-actions .quote-button {
  min-height: 62px;
  padding-inline: clamp(18px, 4vw, 38px);
  color: var(--white);
  background: var(--red);
  border-color: var(--ink);
  font-size: clamp(0.93rem, 2vw, 1.12rem);
  box-shadow: 7px 7px 0 var(--ink);
}

@media (max-width: 560px) {
  body[data-page-type="quote"] .quote-strip,
  body[data-page-type="location"] .quote-strip,
  body[data-page-type="service"] .quote-strip {
    padding: 9px 18px 11px;
  }

  .quote-strip {
    gap: 8px;
    padding: 12px 12px 18px;
  }

  .quote-strip > div:first-child .eyebrow {
    margin-bottom: 3px;
    font-size: 0.78rem;
  }

  .quote-strip > div:first-child h1,
  .quote-strip > div:first-child h2 {
    margin-bottom: 0;
    font-size: clamp(1.65rem, 7.5vw, 1.95rem);
    line-height: 1;
  }

  .quote-flow {
    gap: 6px;
  }

  .quote-journey {
    --quote-van-width: clamp(84px, 29vw, 102px);
    --quote-house-width: 62px;
    height: 64px;
    gap: 4px;
  }

  .quote-journey__track {
    bottom: 7px;
    height: 11px;
  }

  .quote-progress {
    gap: 2px;
  }

  .quote-progress li {
    gap: 3px;
    font-size: 0.54rem;
    line-height: 1.1;
  }

  .quote-progress li:not(:last-child)::after {
    top: 13px;
    left: calc(50% + 14px);
    width: calc(100% - 28px);
    height: 2px;
  }

  .quote-progress span {
    width: 26px;
    height: 26px;
    font-size: 0.62rem;
  }

  .quote-progress small {
    min-height: 1.2em;
    font-size: 0.49rem;
  }

  .quote-step legend {
    padding-top: 0;
    font-size: clamp(1.55rem, 7.8vw, 2.05rem);
  }

  .quote-step {
    gap: 8px;
  }

  .quote-step-copy {
    margin-top: 0;
    font-size: 0.82rem;
    line-height: 1.3;
  }

  .quote-choice-grid,
  .quote-glass-card-section,
  .quote-damage-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .quote-choice-card,
  .damage-choice-card {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 5px;
    padding: 5px 5px 8px;
    border-width: 3px;
    text-align: left;
    box-shadow: 4px 4px 0 rgba(14, 14, 18, 0.42);
  }

  .quote-choice-photo,
  .damage-choice-photo,
  .damage-choice-card img {
    grid-row: auto;
    height: clamp(88px, 26vw, 104px);
  }

  .quote-choice-card span,
  .damage-choice-card span {
    grid-row: auto;
    justify-self: start;
    padding: 0 3px;
    text-align: left;
    font-size: clamp(1rem, 4.5vw, 1.24rem);
    line-height: 1;
  }

  .passenger-pane-selector {
    gap: 6px;
  }

  .passenger-pane-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .passenger-pane-card {
    gap: 5px;
    min-height: 0;
    padding: 5px 5px 8px;
  }

  .passenger-pane-card:nth-child(3) {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc((100% - 8px) / 2);
  }

  .passenger-pane-photo {
    height: clamp(82px, 24vw, 98px);
  }

  .passenger-pane-card span {
    min-height: 2em;
    font-size: clamp(0.95rem, 4.2vw, 1.16rem);
  }

  .vehicle-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    padding: 5px;
  }

  .vehicle-tabs button {
    min-height: 46px;
    padding: 5px 3px;
    font-size: 0.6rem;
  }

  .vehicle-tab-panel {
    gap: 6px;
    padding: 10px;
  }

  .quote-step-grid {
    grid-template-columns: 1fr;
  }

  .quote-vehicle-grid,
  .quote-contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .quote-contact-grid .field-phone {
    grid-column: 1 / -1;
  }

  .quote-contact-grid .field-email {
    grid-column: 1 / -1;
  }

  .quote-review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .quote-review h3 {
    font-size: clamp(2rem, 10vw, 2.65rem);
  }

  .quote-review-grid article {
    grid-template-columns: minmax(0, 1fr) 48px;
    gap: 6px;
    padding: 8px;
  }

  .quote-review-grid h4 {
    margin-bottom: 2px;
    font-size: 0.62rem;
  }

  .quote-review-grid p {
    font-size: 0.72rem;
    line-height: 1.2;
  }

  .quote-review-grid button {
    width: 48px;
    min-width: 48px;
    align-self: start;
  }

  .quote-review-grid article:last-child {
    grid-column: 1 / -1;
  }

  .quote-step-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding-top: 0;
    display: grid;
  }

  .quote-step-actions .button {
    width: 100%;
    min-width: 0;
    min-height: 48px;
  }

  .quote-step-actions .button:only-child {
    grid-column: 1 / -1;
  }

  .quote-review-actions .quote-button {
    grid-column: 1 / -1;
    grid-row: 1;
    min-height: 54px;
  }

  .quote-review-actions [data-quote-back] {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (max-width: 340px) {
  .quote-strip {
    padding-inline: 10px;
  }

  .quote-progress small {
    font-size: 0.46rem;
  }

  .quote-review-grid article {
    padding: 8px;
  }

}

@media (prefers-reduced-motion: reduce) {
  .quote-journey__fill,
  .quote-journey__van {
    transition: none;
  }

  .quote-choice-card,
  .damage-choice-card {
    transition: none;
  }
}
/* End quote flow v2 */

/* Fast image placeholders: keep media areas painted while iPhone Safari decodes. */
body[data-page-type="home"] .hero-background {
  background-color: #c8d8e8;
  background-image: url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QBMRXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAGwAAAAD/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs+EJ+/8IAEQgAGwAwAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAMCBAEFAAYHCAkKC//EAMMQAAEDAwIEAwQGBAcGBAgGcwECAAMRBBIhBTETIhAGQVEyFGFxIweBIJFCFaFSM7EkYjAWwXLRQ5I0ggjhU0AlYxc18JNzolBEsoPxJlQ2ZJR0wmDShKMYcOInRTdls1V1pJXDhfLTRnaA40dWZrQJChkaKCkqODk6SElKV1hZWmdoaWp3eHl6hoeIiYqQlpeYmZqgpaanqKmqsLW2t7i5usDExcbHyMnK0NTV1tfY2drg5OXm5+jp6vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAQIAAwQFBgcICQoL/8QAwxEAAgIBAwMDAgMFAgUCBASHAQACEQMQEiEEIDFBEwUwIjJRFEAGMyNhQhVxUjSBUCSRoUOxFgdiNVPw0SVgwUThcvEXgmM2cCZFVJInotIICQoYGRooKSo3ODk6RkdISUpVVldYWVpkZWZnaGlqc3R1dnd4eXqAg4SFhoeIiYqQk5SVlpeYmZqgo6SlpqeoqaqwsrO0tba3uLm6wMLDxMXGx8jJytDT1NXW19jZ2uDi4+Tl5ufo6ery8/T19vf4+fr/2wBDABMTExMTEyATEyAtICAgLT0tLS0tPU09PT09PU1dTU1NTU1NXV1dXV1dXV1wcHBwcHCDg4ODg5OTk5OTk5OTk5P/2wBDARcYGCUjJUAjI0CZaFVomZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn/2gAMAwEAAhEDEQAAAZQIik7iqVoj2BrUtkvCmpSvoZQEVq//2gAIAQEAAQUCqFCoYxdAygPDSPjkysvNpahi0hPMVSjo6l+00DVX3f/aAAgBAxEBPwG000nS3//aAAgBAhEBPwGkWG0abX//2gAIAQEABj8CoyPR8e1Xpx+9k+ng6d+D4ff/AP/EADMQAQADAAICAgICAwEBAAACCwERACExQVFhcYGRobHB8NEQ4fEgMEBQYHCAkKCwwNDg/9oACAEBAAE/ISIXboty8L7ysHk1MV8KuHmx7/VBwyUlybSRIp6oAnLmXteO71EJQerw7/FC700TQKWkgf8A8E3/2gAMAwEAAhEDEQAAEP0LPT2v/8QAMxEBAQEAAwABAgUFAQEAAQEJAQARITEQQVFhIHHwkYGhsdHB4fEwQFBgcICQoLDA0OD/2gAIAQMRAT8QcyTqQE9cL//aAAgBAhEBPxAb8wLBlnZ5yw8X/9oACAEBAAE/EMNoQRx8c0kowduPwVm3LieP3RTGnTb0uGHorl4RkkNE4GLIkzAt63zEwKgxA+ClCCXZZ4JDPL/CkpQYZjQDSU9FEsnQnJs907MvoaNDDfArvPy8UxmCEdJ+SlBKrvxQENarFFnmq0Xm/wD/2Q==");
  background-position: center;
  background-size: cover;
}

.quote-choice-photo,
.damage-choice-photo,
.damage-choice-card img,
.passenger-pane-photo {
  background-color: #edf5fb;
  background-image: linear-gradient(135deg, #f8fbff 0%, #d7e7f2 100%);
}
