@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f2f3ef;--ink:#14202c;--muted:#626b73;--blue:#2462bd;--line:#cdd2d4;--dark:#101d2b;--font:'DM Sans',Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border-radius:8px}img{max-width:100%;display:block}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #80b4f7;outline-offset:5px}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--paper);padding:12px}.skip-link:focus{top:12px}.site-header{height:100px;padding:0 5.3%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;gap:13px;align-items:center;line-height:1;flex-shrink:0}.brand-mark{width:78px;height:44px;object-fit:contain}.brand strong{display:block;font-family:var(--display);font-size:32px;letter-spacing:.035em;font-weight:700}.brand small{font-size:10px;font-weight:600;letter-spacing:.12em;display:block;margin-top:7px}.site-header nav{display:flex;gap:35px;font-size:14px}.site-header nav a{padding:10px 0}.button{border:0;border-radius:8px;background:var(--blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:15px 27px;font-size:14px;font-weight:700;line-height:1.4;letter-spacing:.01em}.button-small{min-height:44px;padding:11px 21px}.hero{position:relative;background:var(--dark);color:#f6f7f4;padding:84px 5.3% 64px;display:grid;grid-template-columns:1.08fr 1fr;column-gap:4.5%;overflow:hidden}.hero-content{position:relative;z-index:1}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;line-height:1.5;margin:0 0 24px}.hero .eyebrow{color:#b7c5d4}h1,h2,h3,p{margin-top:0}h1{font-family:var(--display);font-size:clamp(66px,6.6vw,106px);line-height:.96;font-weight:600;letter-spacing:-.02em;margin:0 0 31px}h1 em{font-style:normal;color:#93bbe9}.hero-description{font-size:17px;line-height:1.7;color:#c3cbd4;max-width:380px;margin-bottom:30px}.hero-actions{display:flex;align-items:center;gap:26px}.text-link{font-size:14px;line-height:1.6;font-weight:600}.text-link span{display:block;color:#b3c0cf;font-size:13px;font-weight:400}.hero-footnote{font-size:12px;color:#9facbc;margin:35px 0 0}.hero-footnote span{padding:0 9px}.hero-photo{position:relative;align-self:stretch;min-height:435px;margin-top:2px;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:55% center}.photo-caption{position:absolute;bottom:0;left:0;right:0;background:#142333e8;display:flex;justify-content:space-between;gap:18px;padding:16px 19px;font-size:10px;letter-spacing:.1em}.photo-caption span:last-child{color:#a7b8ca}.section{padding:86px 5.3%}.services{display:grid;grid-template-columns:1fr;row-gap:38px}.section-heading h2,h2{font-family:var(--display);font-size:58px;line-height:1.02;font-weight:600;letter-spacing:-.01em;margin-bottom:0}.section-heading .eyebrow{color:var(--blue);margin-bottom:16px}.service-list{grid-column:1/-1}.service-list article{display:grid;grid-template-columns:55px 1fr 1fr;gap:28px;border-top:1px solid var(--line);padding:26px 0;align-items:baseline}.service-list article:last-child{border-bottom:1px solid var(--line)}.service-number{color:var(--blue);font-family:var(--display);font-size:21px}.service-list h3{font-size:21px;font-weight:500;margin:0}.service-list p{color:var(--muted);font-size:14px;max-width:430px;margin:0;width:100%;justify-self:start}
@media(min-width:1600px){.site-header,.hero,.section{padding-left:max(5.3%,calc((100vw - 1440px)/2));padding-right:max(5.3%,calc((100vw - 1440px)/2))}}@media(max-width:1000px){.site-header nav{gap:20px}.hero{padding-top:65px;padding-bottom:48px;column-gap:3%}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}h1{font-size:76px}.hero-photo{min-height:435px}.photo-caption span:last-child{display:none}}@media(max-width:700px){html{scroll-padding-top:25px}.site-header{height:83px;padding:0 6%;gap:12px}.brand{gap:9px}.brand-mark{width:57px;height:35px}.brand strong{font-size:25px}.brand small{font-size:8px;margin-top:6px}.site-header nav{display:none}.button-small{font-size:12px;padding:10px 14px;min-height:42px}.hero{padding:43px 6% 35px;grid-template-columns:1fr}.hero-content{padding-bottom:35px}.hero .eyebrow{margin-bottom:23px}h1{font-size:clamp(57px,10.8vw,78px);line-height:1}.hero-description{font-size:16px;max-width:350px;margin-bottom:24px}.hero-actions{flex-direction:row;align-items:center;gap:20px}.hero-actions .button{padding:14px 18px;font-size:13px}.text-link{font-size:12px}.text-link span{font-size:11px}.hero-footnote{font-size:11px;margin-top:26px}.hero-footnote span{padding:0 5px}.hero-photo{min-height:0;height:300px;margin:0}.section{padding:57px 6%}.services{grid-template-columns:1fr;row-gap:24px}.section-heading h2,h2{font-size:46px}.service-list article{grid-template-columns:30px 1fr;gap:7px 13px;padding:22px 0}.service-list h3{font-size:19px}.service-list p{grid-column:2;justify-self:start}.eyebrow{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.work{padding-top:20px}.work-intro{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:30px}.work-intro .eyebrow{width:100%;color:var(--blue);margin-bottom:-5px}.work-intro p:last-child{color:var(--muted);font-size:14px;margin:0 0 5px}.comparison{height:460px;position:relative;overflow:hidden;background:#bec7ce}.comparison-side{position:absolute;inset:0}.after-side{background:#dce2e4}.before-side{background:#273b50;clip-path:inset(0 calc(100% - var(--position)) 0 0);color:#e9eef3}.photo-label{position:absolute;top:23px;right:23px;border:1px solid currentColor;padding:5px 13px;font-size:11px;letter-spacing:.12em}.before-side .photo-label{right:auto;left:23px}.photo-empty{position:absolute;top:50%;left:75%;transform:translate(-50%,-50%);width:240px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:9px}.before-side .photo-empty{left:25%}.photo-empty strong{font-family:var(--display);font-weight:500;font-size:32px;line-height:1.1}.photo-empty>span:last-child{font-size:12px;opacity:.65}.empty-frame{width:44px;height:37px;border:1px solid currentColor;display:grid;place-items:center;opacity:.5;font-size:25px;margin-bottom:9px;line-height:1}.comparison-divider{position:absolute;top:0;bottom:0;left:var(--position);width:2px;background:#f5f7f7;transform:translateX(-50%);pointer-events:none}.comparison-divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:var(--paper);color:var(--ink);border:1px solid #b3bec7;display:grid;place-items:center;font-size:23px}.comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:ew-resize;z-index:3}.comparison:focus-within{outline:3px solid var(--blue);outline-offset:4px}.work-caption{display:flex;justify-content:space-between;gap:20px;margin-top:19px}.work-caption>span{font-size:11px;letter-spacing:.08em}.work-caption p{font-size:12px;color:var(--muted);margin:0}.reviews{padding:27px 0 39px;background:#1d4d8b;color:#eef4fb;overflow:hidden}.review-viewport{overflow:hidden}.review-track{display:flex;width:max-content;animation:marquee 36s linear infinite}.review-set{display:flex;flex-shrink:0}.review-set blockquote{padding:0 58px;margin:0;border-right:1px solid #6284b0;white-space:nowrap}.review-set p{font-family:var(--display);font-size:32px;font-weight:500;margin:0 0 7px;line-height:1.2}.review-set cite{font-size:12px;font-style:normal;color:#c0d4eb}@media(hover:hover) and (pointer:fine){.reviews:hover .review-track{animation-play-state:paused}}@keyframes marquee{to{transform:translateX(-50%)}}.quote{padding-top:100px;padding-bottom:100px}.small-link{font-size:13px;text-decoration:underline;text-underline-offset:4px;color:var(--blue);font-weight:600}.form-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.form-heading h2{font-family:var(--font);font-size:23px;font-weight:500;line-height:1.6;letter-spacing:0;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}.full{grid-column:1/-1}.field>label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.field>label>span{font-size:11px;font-weight:400;color:var(--muted);margin-left:6px}.field>input,.field>select,.field>textarea{width:100%;background:transparent;border:1px solid #b9c3ca;padding:11px 12px;border-radius:0;color:var(--ink);font-size:14px;min-height:47px}.field input::placeholder,.field textarea::placeholder{color:#7b858f;opacity:1}.field>textarea{resize:vertical;min-height:110px}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#a13232}.field-hint{font-size:12px;color:var(--muted);margin:5px 0 0}.field-error{font-size:12px;color:#a13232;line-height:1.5;margin:4px 0 0}.field-error:empty{display:none}.upload-zone{border:1px dashed #a9b9c6;position:relative;min-height:131px;display:flex;align-items:center;justify-content:center}.upload-zone.drag-over{background:#e2eaf5;border-color:var(--blue)}.upload-zone>input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;inset:0}.upload-zone:focus-within{outline:3px solid var(--blue);outline-offset:3px}.upload-label{display:flex;flex-direction:column;align-items:center;gap:6px;padding:19px;cursor:pointer;text-align:center;width:100%}.upload-label svg{color:var(--blue);margin-bottom:4px}.upload-label strong{font-size:14px;font-weight:600}.upload-label strong span{font-weight:400;color:var(--muted)}.upload-label>span{font-size:11px;color:var(--muted)}.photo-previews{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.photo-preview{position:relative}.photo-preview img{width:100%;aspect-ratio:1;object-fit:cover}.photo-preview button{position:absolute;right:4px;top:4px;background:var(--paper);border:0;width:28px;height:28px;line-height:1;font-size:20px;color:var(--ink)}.photo-preview small{font-size:10px;display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;margin-top:3px}.consent{display:flex;gap:10px;margin-top:21px;align-items:flex-start;font-size:12px;color:var(--muted);line-height:1.6;cursor:pointer}.consent input{width:16px;height:16px;accent-color:var(--blue);flex-shrink:0;margin:2px 0 0}.form-submit{width:100%;margin-top:19px}.contact{border-top:1px solid var(--line);padding-top:48px;padding-bottom:48px}.contact-details{display:grid;grid-template-columns:minmax(190px,1fr) 190px minmax(260px,340px);gap:32px;align-items:start}.contact-details h3{font-size:14px;font-weight:600;margin-bottom:14px}.contact address{font-style:normal;font-size:14px;color:var(--muted);margin-bottom:16px}.contact-details p{font-size:14px;line-height:1.6;margin-bottom:15px}.contact-details p span{display:block;color:var(--muted);font-size:12px}.contact-details p a{display:block}footer{background:var(--dark);color:#e0e6ed;padding:27px 5.3%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px}.footer-brand{font-family:var(--display);font-size:25px;font-weight:600;line-height:1.1}.footer-brand span{display:block;font-family:var(--font);font-size:8px;letter-spacing:.1em;font-weight:400;margin-top:5px}footer p{color:#a9b8c7;margin:0}dialog{padding:43px;border:1px solid #b7c4ce;background:var(--paper);color:var(--ink);max-width:590px;width:calc(100% - 36px);max-height:calc(100vh - 50px);overflow:auto}dialog::backdrop{background:#0c192bc9}dialog h2{font-size:49px}dialog .eyebrow{color:var(--blue);margin-bottom:15px}.dialog-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:0;background:none;font-size:27px;color:var(--ink)}.dialog-description{font-size:14px;color:var(--muted);margin-top:18px}.dialog-note{font-size:13px;padding:14px;background:#e1e8ee;margin:21px 0}.dialog-note+.button{width:100%}dl{font-size:14px;display:grid;grid-template-columns:90px 1fr;gap:8px 15px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.summary-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.summary-photos img{width:100%;aspect-ratio:1;object-fit:cover}
@media(max-width:700px){.work{padding-top:0}.work-intro{gap:15px;margin-bottom:22px}.work-intro .eyebrow{margin-bottom:0;font-size:10px}.work-intro p:last-child{width:100%;font-size:13px}.comparison{height:300px}.photo-empty{width:43%;gap:7px}.photo-empty strong{font-size:25px}.photo-empty>span:last-child{font-size:10px}.photo-label{top:16px;right:16px;font-size:9px;padding:4px 8px}.before-side .photo-label{left:16px}.comparison-divider span{width:45px;height:45px;font-size:20px}.work-caption{flex-direction:column;gap:4px;margin-top:14px}.work-caption>span{font-size:10px}.work-caption p{font-size:11px}.reviews{padding-top:22px;padding-bottom:28px}.review-set blockquote{padding:0 28px}.review-set p{font-size:27px}.quote{padding-top:61px;padding-bottom:57px}.form-heading h2{font-size:22px}.form-grid{gap:16px 12px}.field>input,.field>select,.field>textarea{font-size:16px}.field>label{font-size:13px}.field>label>span{font-size:10px;display:inline}.photo-previews{grid-template-columns:repeat(3,1fr)}.contact{padding-top:36px;padding-bottom:36px}.contact-details{grid-template-columns:1fr 1fr;gap:23px}.contact address,.contact-details p{font-size:13px}.contact-details h3{font-size:13px}footer{padding:25px 6%;gap:17px;flex-wrap:wrap}.footer-brand{font-size:23px}footer p{font-size:11px}dialog{padding:31px 23px}dialog h2{font-size:40px}dl{grid-template-columns:74px 1fr;gap:8px 10px;font-size:13px}}
@media(max-width:370px){.hero-actions{gap:12px}.hero-actions .button{font-size:12px;padding:12px 13px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.brand-mark{width:42px}.brand strong{font-size:23px}.brand small{font-size:7px}.contact-details{grid-template-columns:1fr}.photo-empty strong{font-size:21px}}
.comparison{height:clamp(360px,46vw,560px);aspect-ratio:auto}.comparison-side>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-label{z-index:1;background:var(--paper);color:var(--ink);border-color:#d3dadd}.work-caption{align-items:start}.repair-title{font-size:18px;font-weight:500;display:block;margin-bottom:5px}.work-caption p{font-size:14px}.comparison-buttons{display:flex;gap:9px;flex-shrink:0}.comparison-buttons button{border:1px solid #aab8c4;background:transparent;color:var(--ink);font-size:14px;min-height:44px;padding:9px 16px}.photo-edit-note{font-size:12px;color:var(--muted);margin:15px 0 22px}
@media(max-width:700px){.comparison{height:auto;aspect-ratio:3/2}.work-caption{gap:14px}.repair-title{font-size:18px}.work-caption p{font-size:13px;max-width:300px}.comparison-buttons button{padding:8px 14px;font-size:13px}.photo-edit-note{font-size:11px;line-height:1.7;margin-top:15px}.photo-label{font-size:10px}}
.service-page-link{text-decoration:underline;text-decoration-color:#a9b9c6;text-underline-offset:6px;text-decoration-thickness:1px}.service-hero{background:var(--dark);color:var(--paper);padding-top:42px;padding-bottom:58px}.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#b7c5d4;margin-bottom:34px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.service-hero h1{font-size:clamp(48px,5vw,76px);max-width:980px;line-height:1.04;margin-bottom:24px}.service-hero>p{max-width:760px;color:#c3cbd4;font-size:17px;margin-bottom:28px}.service-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.service-actions .small-link{color:#b8d2f5}.service-content{max-width:1100px;margin:0 auto;padding-top:55px;padding-bottom:55px}.service-detail{border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:28px}.service-content h2{font-family:var(--font);font-size:26px;font-weight:500;line-height:1.3;margin-bottom:14px}.service-content p{color:var(--muted);font-size:16px;max-width:850px;margin-bottom:0}.service-faq{margin-top:40px}.service-faq details{border-bottom:1px solid var(--line);padding:17px 0}.service-faq summary{cursor:pointer;font-weight:500}.service-faq details p{margin-top:14px}.related-services{margin-top:40px}.related-services a{display:block;width:fit-content;color:var(--blue);text-decoration:underline;text-underline-offset:4px;margin-top:9px}@media(max-width:700px){.service-hero{padding-top:28px;padding-bottom:38px}.service-hero h1{font-size:48px}.service-hero>p{font-size:16px}.breadcrumbs{margin-bottom:26px}.service-content{padding-top:36px;padding-bottom:36px}.service-content h2{font-size:23px}.service-content p{font-size:15px}.service-actions{gap:17px}}

.contact-map{display:block;position:relative;border:1px solid var(--line);overflow:hidden;background:#e5e9e1;color:var(--blue)}.contact-map iframe{display:block;width:100%;height:210px;border:0;pointer-events:none}.contact-map>span{display:block;background:var(--paper);padding:9px 14px;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:4px}.contact-map:focus-visible{outline-offset:4px}@media(max-width:900px){.contact-details{grid-template-columns:1fr 1fr;gap:24px}.contact-map{grid-column:1/-1}.contact-map iframe{height:240px}}@media(max-width:420px){.contact-details{grid-template-columns:1fr;gap:22px}.contact-map{grid-column:auto}.contact-address address{margin-bottom:0}}

.shop-hours{margin-top:22px}.contact-details .shop-hours h3{margin-bottom:9px}.contact-details .shop-hours p{font-size:13px;color:var(--muted);margin-bottom:7px}

.comparison input{touch-action:pan-y}

.hero h1{font-size:clamp(52px,5.4vw,86px);line-height:1.02}@media(max-width:700px){.hero h1{font-size:clamp(44px,9.8vw,62px)}}

.site-footer{display:block;padding:0;background:var(--dark);color:#e0e6ed}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;align-items:start;padding:48px 5.3%}.site-footer .footer-brand{display:flex;align-items:center;gap:14px;font-size:34px;margin-top:9px;text-decoration:none}.footer-brand img{width:88px;height:42px;object-fit:contain}.site-footer .footer-brand span{font-size:9px;letter-spacing:.12em;margin-top:7px}.site-footer h2{font-family:var(--display);font-size:32px;line-height:1.15;font-weight:600;margin-bottom:21px}.footer-hours dl{display:block;font-size:13px;margin:0}.footer-hours dl>div{display:grid;grid-template-columns:1fr auto;gap:18px;margin-bottom:13px}.footer-hours dt{color:#bac6d3}.footer-hours dd{color:#e0e6ed;white-space:nowrap}.footer-connect a{display:block;width:fit-content;font-size:13px;margin-top:8px;text-decoration:underline;text-underline-offset:4px}.footer-bottom{border-top:1px solid #31577e;padding:20px 5.3%;text-align:center}.footer-bottom p{font-size:11px;color:#a9b8c7;margin:0}@media(min-width:1600px){.footer-main{padding-left:max(5.3%,calc((100vw - 1440px)/2));padding-right:max(5.3%,calc((100vw - 1440px)/2))}}@media(max-width:900px){.footer-main{grid-template-columns:1fr 1fr;gap:32px}.site-footer .footer-brand{grid-column:1/-1;margin-top:0}}@media(max-width:540px){.footer-main{grid-template-columns:1fr;padding:35px 6%;gap:30px}.site-footer h2{font-size:29px;margin-bottom:15px}.footer-hours dl{max-width:340px}.footer-hours dl>div{grid-template-columns:1fr;gap:2px}.footer-hours dd{margin:0;text-align:left}.footer-bottom{padding:18px 6%;text-align:left}}

.hero-actions{flex-wrap:wrap}.button-call{flex-direction:column;background:transparent;border:1px solid #93bbe9;padding:10px 20px;min-height:54px}.button-call .call-number{font-size:12px;font-weight:400;color:#c3cbd4}.button-call:hover{background:#ffffff0d}
