:root{--ink:#202020;--muted:#595959;--brand:#0097b2;--brand-dark:#00758a;--surface:#ededed;--line:#d8d8d8;--wash:#f5f5f5;--white:#fff;color:var(--ink);background:var(--white);font-synthesis:none;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,summary,textarea{-webkit-tap-highlight-color:transparent}a:hover{color:var(--brand-dark)}:focus-visible{outline:3px solid var(--brand);outline-offset:5px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure{margin:0}p+p{margin-top:16px}h1,h2,h3{letter-spacing:-.035em;line-height:1.12}h1{font-size:clamp(48px,6.6vw,90px);font-weight:650}h2{font-size:clamp(34px,4vw,52px);font-weight:650}h3{font-size:23px;font-weight:600}p{color:var(--muted)}.container{max-width:1240px;margin-inline:auto;padding-inline:40px}.section{padding-block:95px}.button{background:var(--brand);color:var(--ink);border:1px solid var(--brand);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;min-height:50px;padding:15px 24px;font-weight:600;line-height:1.35;display:inline-flex}.button:hover{background:var(--brand-dark);color:#fff}.button:disabled{opacity:.65;cursor:wait}.small{min-height:44px;padding:12px 19px}.header{z-index:20;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;height:100px;display:flex}.logo{object-fit:contain;width:225px;height:80px}.desktop-nav{align-items:center;gap:30px;font-size:14px;font-weight:600;display:flex}.mobile-menu{display:none}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:50px;padding-block:65px 55px;display:grid}.hero-copy{padding-block:15px}.location-line{color:var(--brand-dark);align-items:center;gap:8px;margin-bottom:26px;font-size:14px;display:flex}.location-line span{font-size:24px}.hero-subtitle{color:var(--ink);margin-top:27px;font-size:21px;font-weight:600}.hero-copy>p:not(.location-line):not(.hero-subtitle):not(.hero-services){max-width:430px;margin-top:14px;font-size:18px}.hero-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:30px;display:flex}.phone-link{text-underline-offset:5px;font-size:15px;font-weight:600;text-decoration:underline}.hero-services{color:var(--muted);margin-top:22px;font-size:13px}.hero-image{background:var(--surface);align-self:stretch;min-height:510px;position:relative;overflow:hidden}.hero-image img{object-fit:cover;width:100%;height:100%}.hero-image figcaption{color:#fff;background:#202020e8;padding:5px 9px;font-size:11px;position:absolute;bottom:15px;left:15px}.area-strip{background:var(--wash);border-block:1px solid var(--line)}.area-strip>.container{justify-content:space-between;align-items:center;gap:24px;padding-block:22px;font-size:14px;display:flex}.area-strip>.container>span{font-weight:600}.area-strip p span{color:#858585;padding-inline:15px}.section-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px;display:flex}.section-heading>p{max-width:360px;font-size:17px}.services-grid{grid-template-columns:repeat(3,1fr);gap:44px 30px;display:grid}.service-card img{object-fit:cover;background:var(--wash);width:100%;height:235px}.service-card h3{margin-top:23px;font-size:22px}.service-card p{margin-top:12px;font-size:15px;line-height:1.7}.text-link{border-bottom:1px solid var(--line);align-items:center;gap:14px;margin-top:18px;padding-bottom:5px;font-size:14px;font-weight:600;display:inline-flex}.text-link span{color:var(--brand-dark);font-size:20px}.image-note{margin-top:32px;font-size:12px}.work{background:var(--wash)}.work-grid{grid-template-columns:.72fr 1.28fr;align-items:center;gap:75px;display:grid}.work-grid>div>p{max-width:340px;margin-top:22px}.comparison{min-width:0}.comparison-images{aspect-ratio:4/3;position:relative;overflow:hidden}.comparison-images>img{object-fit:cover;width:100%;height:100%}.comparison-before{position:absolute;inset:0}.comparison-tag{z-index:2;background:#ffffffed;padding:5px 12px;font-size:12px;position:absolute;top:18px}.before{left:18px}.after{right:18px}.comparison-line{pointer-events:none;background:#fff;width:3px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.comparison-line>span{text-align:center;width:46px;height:46px;color:var(--brand-dark);background:#fff;border-radius:50%;font-size:24px;line-height:46px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 12px #0002}.comparison-range{opacity:0;cursor:ew-resize;z-index:3;width:100%;height:100%;margin:0;position:absolute;inset:0}.comparison-images:focus-within{outline:3px solid var(--brand);outline-offset:5px}.comparison figcaption{flex-wrap:wrap;justify-content:space-between;gap:5px;padding-top:15px;font-size:13px;display:flex}.comparison figcaption span{color:var(--muted);font-size:11px}.benefits{grid-template-columns:repeat(3,1fr);gap:50px;display:grid}.benefit-symbol{color:var(--brand-dark);margin-bottom:16px;font-size:35px;line-height:1;display:block}.benefits p{margin-top:15px;font-size:15px}.process{border-top:1px solid var(--line);margin-top:65px;padding-top:35px}.process h3{font-size:24px}.process ol{grid-template-columns:repeat(3,1fr);gap:35px;margin:30px 0 0;padding:0;list-style:none;display:grid}.process li{gap:16px;display:flex}.process li>span{border:1px solid var(--line);text-align:center;width:32px;height:32px;color:var(--brand-dark);border-radius:50%;flex-shrink:0}.process p{margin-top:6px;font-size:14px}.areas{background:var(--surface)}.area-grid{grid-template-columns:1fr 1fr;align-items:center;gap:95px;display:grid}.area-grid>div>p{max-width:440px;margin-top:22px}.area-grid .button{margin-top:28px}.area-list>div{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:20px 0;display:flex}.area-list>div>span{color:var(--brand-dark);font-size:27px}.area-list h3{font-size:23px}.area-list>p{font-size:13px}.faq{grid-template-columns:1fr 1.25fr;gap:65px;display:grid}.faq>div>p{margin-top:25px}.faq p a{text-underline-offset:4px;text-decoration:underline}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;justify-content:space-between;gap:20px;padding:21px 0;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:var(--brand-dark);font-size:23px;line-height:1}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{padding:0 35px 22px 0;font-size:15px}.contact{background:var(--wash);border-top:1px solid var(--line)}.contact-grid{grid-template-columns:.9fr 1.1fr;gap:85px;display:grid}.contact-grid>div>p{max-width:350px;margin-top:25px}.contact-person{gap:0;margin:36px 0 20px;display:grid}.contact-person span{color:var(--muted);font-size:14px}.contact-phone{letter-spacing:-.025em;margin-bottom:4px;font-size:29px;font-weight:600;display:block}.contact-detail{font-size:13px}.estimate-form{border:1px solid var(--line);background:#fff;border-radius:4px;padding:32px}.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px 16px;display:grid}.form-grid>.field{grid-template-rows:subgrid;grid-row:span 3;min-width:0;display:grid}.form-grid>.field>label{align-self:end;margin-bottom:0}.form-grid>.field>input{align-self:start}.form-grid>.field>.field-error{margin-top:0}@supports not (grid-template-rows:subgrid){.form-grid>.field{display:block}.form-grid>.field>label{min-height:3.3em;margin-bottom:7px}}.field{margin-bottom:18px}.field label,legend{margin-bottom:7px;font-size:13px;font-weight:600;display:block}input:not([type=radio]),select,textarea{width:100%;min-width:0;min-height:46px;color:var(--ink);background:#fff;border:1px solid #858585;border-radius:2px;padding:11px 12px}textarea{resize:vertical}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:#a52a24}.field-error{color:#9c2620;margin-top:5px;font-size:13px;display:block}.field-error a{overflow-wrap:anywhere;text-decoration:underline}fieldset{border:0;flex-wrap:wrap;gap:25px;margin:0 0 20px;padding:0;display:flex}fieldset label{align-items:center;gap:7px;font-size:14px;display:flex}input[type=radio]{accent-color:var(--brand-dark);width:17px;height:17px}.form-note{margin-bottom:18px;font-size:12px}.estimate-form>.button{width:100%}.form-success{color:var(--ink);background:var(--wash);border-left:3px solid var(--brand);margin-top:18px;padding:15px;font-size:14px}.form-success p{color:inherit}.form-success .button{margin-top:12px}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}footer{background:#fff;padding-block:55px 20px}.footer-grid{grid-template-columns:1.1fr 1.2fr .65fr 1fr;gap:40px;font-size:13px;display:grid}.footer-logo{width:230px;margin-bottom:20px}.footer-grid h2{letter-spacing:0;margin-bottom:20px;font-size:16px;font-weight:650}.footer-grid a{overflow-wrap:anywhere;margin-bottom:6px;display:block}.footer-grid p{margin-bottom:12px}.footer-bottom{border-top:1px solid var(--line);justify-content:space-between;gap:20px;margin-top:40px;padding-top:20px;font-size:11px;display:flex}.mobile-cta{display:none}.skip-link{z-index:100;border:2px solid var(--brand);background:#fff;padding:12px;position:fixed;top:10px;left:10px;transform:translateY(-200%)}.skip-link:focus{transform:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.service-hero{grid-template-columns:1fr 1fr;align-items:center;gap:55px;padding-block:65px;display:grid}.service-hero h1{margin-block:25px;font-size:clamp(38px,4.3vw,60px)}.service-hero p{margin-bottom:25px}.service-hero img{aspect-ratio:4/3;object-fit:cover;width:100%}.service-hero figcaption{color:var(--muted);margin-top:10px;font-size:12px}.service-details{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:75px;display:grid}.service-details h2{margin-bottom:25px;font-size:32px}.service-details ul{color:var(--muted);padding-left:20px}.service-details li{padding-block:8px}.related{padding-bottom:70px}.related h2{margin-bottom:24px;font-size:28px}.related>div{flex-wrap:wrap;gap:15px 30px;display:flex}.related a{color:var(--brand-dark);text-underline-offset:4px;text-decoration:underline}@media (width>=1500px){.hero-image{min-height:560px}}@media (width<=1000px){.container{padding-inline:28px}.desktop-nav{gap:18px}.logo{width:190px}.hero{gap:28px}.hero-image{min-height:450px}.hero-actions{gap:14px}.hero-actions .button{padding-inline:17px}.section{padding-block:72px}.services-grid{gap:35px 22px}.service-card img{height:200px}.work-grid,.area-grid,.contact-grid{gap:40px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.area-strip>.container{flex-direction:column;align-items:start;gap:6px}.faq{gap:35px}.estimate-form{padding:23px}.form-grid{grid-template-columns:1fr}.hero-subtitle{font-size:18px}}@media (width<=720px){html{scroll-padding-top:85px}.container{padding-inline:22px}.header-inner{height:80px}.logo{width:175px;height:65px}.desktop-nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{cursor:pointer;border:1px solid var(--line);padding:8px 12px;font-size:14px;list-style:none}.mobile-menu nav{border:1px solid var(--line);background:#fff;width:220px;padding:12px;position:absolute;top:50px;right:0;box-shadow:0 8px 20px #0001}.mobile-menu a{padding:10px;display:block}.hero{grid-template-columns:1fr;gap:30px;padding-top:30px;padding-bottom:30px}.hero-copy{padding:0}.location-line{margin-bottom:18px;font-size:12px}h1{font-size:62px}.hero-subtitle{margin-top:22px;font-size:19px}.hero-copy>p:not(.location-line):not(.hero-subtitle):not(.hero-services){font-size:16px}.hero-actions{gap:18px}.hero-image{height:310px;min-height:0}.area-strip p{font-size:12px}.area-strip p span{padding-inline:5px}.section{padding-block:60px}.section-heading{margin-bottom:30px;display:block}.section-heading>p{margin-top:20px;font-size:16px}.services-grid{grid-template-columns:1fr 1fr;gap:30px 18px}.service-card img{height:160px}.service-card h3{margin-top:16px;font-size:19px}.service-card p{font-size:14px}.service-card .text-link{font-size:12px}.work-grid,.area-grid,.contact-grid,.faq,.service-hero,.service-details{grid-template-columns:1fr;gap:35px}.work-grid>div>p{max-width:none}.comparison figcaption{display:block}.comparison figcaption span{margin-top:5px;display:block}.benefits{grid-template-columns:1fr;gap:28px}.benefits article{grid-template-columns:40px 1fr;column-gap:14px;display:grid}.benefit-symbol{grid-row:span 2;font-size:28px}.benefits p{margin-top:10px}.process{margin-top:40px}.process ol{grid-template-columns:1fr;gap:24px}.area-list>div{padding-block:14px}.faq>div>p{margin-top:18px}.contact-grid{gap:30px}.contact-grid>div>p{max-width:none}.contact-person{margin-top:25px}.form-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 24px}.footer-logo{width:170px}.footer-bottom{flex-direction:column;gap:8px}.footer-bottom p+p{margin-top:0}footer{padding-bottom:90px}.mobile-cta{z-index:25;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:#fff;grid-template-columns:1fr 1.35fr;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-cta a{text-align:center;padding:15px 10px;font-size:14px;font-weight:600}.mobile-cta a:last-child{background:var(--brand);color:var(--ink)}.mobile-cta a:last-child:hover{background:var(--brand-dark);color:var(--white)}.service-hero{padding-block:40px}.service-hero h1{font-size:44px}.service-details{padding-top:45px}.related>div{flex-direction:column}}@media (width<=400px){h1{font-size:54px}.hero-actions{flex-direction:column;align-items:stretch}.phone-link{text-align:center}.services-grid{grid-template-columns:1fr}.service-card img{height:220px}.form-grid{grid-template-columns:1fr}.estimate-form{padding:20px}.footer-grid{grid-template-columns:1fr}.area-strip p{line-height:2}.contact-phone{font-size:27px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
