:root{--accent:#1c6db0;--accent-strong:#155a94;--accent-soft:#eaf2f8;--ink:#1b1b1b;--dark:#161616;--muted:#6b6b6b;--cream:#f7f5f1;--line:#e7e3dc}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:#fff;color:var(--ink);font-family:var(--font-dmsans),system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}h1,h2,h3,h4{font-weight:800}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.wrap{width:min(1240px,calc(100% - 64px));margin:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 22px;border-radius:999px;font-size:14px;font-weight:800;border:1px solid transparent;cursor:pointer;font-family:inherit;transition:background .15s ease,color .15s ease}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-strong)}.btn-outline{border-color:hsla(0,0%,100%,.45);color:#fff;background:hsla(0,0%,8%,.25)}.btn-outline:hover{background:hsla(0,0%,8%,.45)}.btn-light{background:#fff;color:var(--ink)}.icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:0 0 20px}.accent,.eyebrow{color:var(--accent)}.accent{text-decoration:underline;text-decoration-thickness:5px;text-underline-offset:8px}.header{background:#fff;border-top:4px solid var(--accent);border-bottom:1px solid var(--line);position:relative;z-index:30}.header-inner{display:flex;align-items:center;gap:42px;height:94px}.logo{width:150px;height:65px;object-fit:contain}.nav{display:flex;align-items:center;gap:30px;margin-left:auto;font-size:14px;font-weight:700}.nav a.active,.nav a:hover{color:var(--accent)}.header-contact{padding-left:30px;border-left:1px solid var(--line)}.phone-small{display:block;font-size:16px;font-weight:800}.phone-label{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:3px}.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:10px;padding:9px 11px;cursor:pointer}.nav-toggle svg{width:22px;height:22px;stroke:var(--ink);stroke-width:2;fill:none}.hero{position:relative;min-height:690px;background:var(--dark)}.hero-bg{width:100%;height:100%;object-fit:cover}.hero-bg,.hero:after{position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(90deg,hsla(0,0%,4%,.9),hsla(0,0%,4%,.74) 48%,hsla(0,0%,4%,.32))}.hero-inner{position:relative;z-index:1;min-height:690px;display:grid;grid-template-columns:1.15fr .72fr;grid-gap:80px;gap:80px;align-items:center;padding:64px 0}.hero h1,.title-xl{font-size:clamp(44px,5vw,72px);line-height:.98;font-weight:800;letter-spacing:-.045em;margin:0}.hero h1{color:#fff;max-width:750px}.hero-copy{color:#ddd;max-width:650px;font-size:18px;line-height:1.65;margin:28px 0}.actions{gap:12px}.actions,.trust{display:flex;flex-wrap:wrap}.trust{gap:11px;color:#ddd;font-size:12px;font-weight:600;margin-top:25px}.trust span+span:before{content:"•";color:var(--accent);margin-right:11px}.quote-card{background:#fff;border-radius:20px;padding:30px;box-shadow:0 22px 60px rgba(0,0,0,.28)}.quote-card h2{font-size:24px;letter-spacing:-.03em;margin:0 0 7px}.quote-card>p{color:var(--muted);font-size:13px;margin:0 0 20px}.field{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:13px 14px;background:#fff;font:inherit;font-size:13px;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{grid-column:1/-1;height:78px;resize:none}.quote-card .btn{width:100%;margin-top:12px}.stats{background:var(--cream);border-bottom:1px solid var(--line)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:34px 0}.stat{padding:5px 42px;border-right:1px solid var(--line)}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat strong{display:block;font-size:34px;font-weight:800;letter-spacing:-.04em}.stat strong em{color:var(--accent);font-style:normal}.stat span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}.section{padding:100px 0}.cream,.section.cream{background:var(--cream)}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:55px}.section-head h2{font-size:clamp(34px,4vw,50px);line-height:1.02;letter-spacing:-.04em;margin:0;font-weight:800;max-width:700px}.section-head p{max-width:420px;margin:0;color:var(--muted);line-height:1.65}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:110px 1fr 1fr;grid-gap:30px;gap:30px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line)}.num{font-size:38px;color:var(--accent);font-weight:800;letter-spacing:-.04em}.service-row h3{font-size:28px;letter-spacing:-.03em;margin:0 0 8px}.service-row p{color:var(--muted);line-height:1.6;margin:0}.tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tag{background:var(--accent-soft);border-radius:999px;padding:8px 12px;color:var(--accent-strong);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.service-block{display:grid;grid-template-columns:110px .8fr 1.2fr;grid-gap:40px;gap:40px;padding:55px 0;border-top:1px solid var(--line)}.service-block:last-child{border-bottom:1px solid var(--line)}.service-block h2{font-size:clamp(28px,3.4vw,38px);line-height:1.08;letter-spacing:-.04em;margin:0 0 15px}.service-block p{color:var(--muted);line-height:1.65;margin:0}.items{display:grid;grid-template-columns:1fr 1fr;grid-gap:11px 24px;gap:11px 24px}.item{gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:700}.check,.item{display:flex;align-items:center}.check{width:20px;height:20px;border-radius:50%;background:var(--accent-soft);color:var(--accent);justify-content:center;flex:0 0 auto}.check svg{width:12px;height:12px}.feature{display:grid;grid-template-columns:1.08fr .92fr;background:var(--dark);color:#fff}.feature img{height:530px;width:100%;object-fit:cover}.feature-copy{padding:75px 80px;display:flex;flex-direction:column;justify-content:center}.feature-copy h2{font-size:clamp(30px,3.6vw,47px);line-height:1.03;letter-spacing:-.04em;margin:0 0 22px}.feature-copy p{color:#c9c9c9;line-height:1.7;margin:0 0 28px}.photo-band{height:470px;position:relative}.photo-band img{height:100%;width:100%;object-fit:cover}.photo-band:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.74),rgba(0,0,0,.05) 70%)}.photo-caption{position:absolute;z-index:1;left:max(32px,calc((100% - 1240px) / 2));bottom:48px;color:#fff;right:32px}.photo-caption .eyebrow{margin-bottom:12px}.photo-caption h2{font-size:clamp(30px,3.6vw,46px);line-height:1.03;letter-spacing:-.04em;margin:0;max-width:700px}.projects{display:grid;grid-template-columns:1fr 1fr;grid-gap:26px;gap:26px}.project{background:#fff;border-radius:17px;overflow:hidden;border:1px solid var(--line)}.pair{display:grid;grid-template-columns:1fr 1fr;height:300px}.pair figure{position:relative;margin:0;overflow:hidden}.pair img{height:100%;width:100%;object-fit:cover}.badge{position:absolute;left:12px;top:12px;padding:7px 11px;border-radius:999px;background:hsla(0,0%,9%,.84);color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.pair figure:last-child .badge{background:var(--accent)}.project-copy{padding:22px 24px}.project-copy h3{font-size:20px;letter-spacing:-.02em;margin:0 0 5px}.project-copy p{color:var(--muted);font-size:13px;line-height:1.55;margin:0}.section-cta{text-align:center;margin-top:44px}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px}.review{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px}.stars{color:var(--accent);letter-spacing:3px;font-size:15px;margin-bottom:14px}.review blockquote{margin:0 0 18px;line-height:1.6;font-size:15px;color:var(--ink)}.review .who{font-weight:800;font-size:13px}.review .who span{display:block;color:var(--muted);font-weight:500;font-size:12px;margin-top:2px}.dark-section{background:var(--dark);color:#fff;padding:92px 0}.dark-grid{display:grid;grid-template-columns:.8fr 1.3fr;grid-gap:100px;gap:100px;align-items:center}.address{border-left:3px solid var(--accent);padding-left:24px;color:#ccc;line-height:1.7}.address strong{color:#fff;display:block;font-size:17px}.dark-grid h2{font-size:clamp(34px,4vw,52px);line-height:1.03;letter-spacing:-.04em;margin:0 0 25px}.cta{padding:76px 0;background:var(--accent-soft)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:50px;flex-wrap:wrap}.cta h2{font-size:clamp(30px,3.4vw,42px);letter-spacing:-.04em;margin:0 0 6px}.cta p{color:var(--muted);margin:0}.cta-phone{font-size:32px;font-weight:800;letter-spacing:-.03em}.page-hero{background:var(--cream);padding:90px 0 80px;border-bottom:1px solid var(--line)}.page-hero.dark{background:var(--dark);color:#fff;border-bottom:0;padding:90px 0}.page-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:90px;gap:90px;align-items:flex-end}.page-hero h1{font-size:clamp(42px,5.2vw,70px);line-height:.98;letter-spacing:-.045em;font-weight:800;margin:0}.lead{font-size:18px;line-height:1.65;color:var(--muted);margin:0}.page-hero.dark .lead{color:#cfcfcf}.proof{padding:72px 0;background:#fff}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-item{padding:32px 36px;border-right:1px solid var(--line)}.proof-item:first-child{padding-left:0}.proof-item:last-child{border:0}.proof-item strong{font-size:29px;font-weight:800;letter-spacing:-.035em;display:block;margin-bottom:5px}.proof-item strong em{color:var(--accent);font-style:normal}.proof-item span{color:var(--muted);font-size:12px}.contact-hero{background:var(--cream);padding:82px 0 92px}.contact-hero h1{font-size:clamp(42px,5vw,68px);line-height:.98;letter-spacing:-.045em;font-weight:800;margin:0;max-width:850px}.contact-intro{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:80px;gap:80px;margin-top:65px}.contact-panel{background:var(--dark);color:#fff;border-radius:20px;padding:38px}.contact-panel h2{font-size:22px;margin:0 0 25px}.big-phone{display:block;font-size:35px;font-weight:800;letter-spacing:-.04em;color:var(--accent);margin-bottom:6px}.second-phone{font-size:19px;font-weight:800}.detail{padding:20px 0;border-top:1px solid hsla(0,0%,100%,.14);margin-top:25px}.detail-label{display:block;color:#999;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin-bottom:8px}.detail a,.detail p{color:#ddd;font-size:14px;line-height:1.65;margin:0}.quote{background:#fff;border-radius:20px;padding:40px;box-shadow:0 15px 50px hsla(0,0%,8%,.08);border:1px solid var(--line)}.quote h2{font-size:30px;letter-spacing:-.03em;margin:0 0 8px}.quote>p{color:var(--muted);margin:0 0 26px}.fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:15px;gap:15px}.fields label{display:block;font-size:11px;font-weight:800;margin:0 0 7px;text-transform:uppercase;letter-spacing:.07em}.fields input,.fields select,.fields textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:14px;background:#fff;font:inherit;font-size:14px;outline:none}.fields input:focus,.fields select:focus,.fields textarea:focus{border-color:var(--accent)}.full{grid-column:1/-1}.fields textarea{height:115px;resize:none}.quote .btn{margin-top:18px}.info-section{padding:90px 0}.info-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-gap:80px;gap:80px}.info-grid h2{font-size:clamp(30px,3.6vw,42px);letter-spacing:-.04em;margin:0 0 20px}.info-grid p{color:var(--muted);line-height:1.7;margin:0}.towns{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}.town{padding:9px 13px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:11px;font-weight:800}.hours{border:1px solid var(--line);border-radius:16px;padding:28px}.hours h3{font-size:20px;margin:0 0 18px}.hour-row{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line);font-size:13px}.hour-row span:last-child{font-weight:800}.dark-strip{padding:65px 0;background:var(--dark);color:#fff}.dark-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:50px;flex-wrap:wrap}.dark-strip h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.035em;margin:0}.dark-strip p{color:#bbb;margin:8px 0 0}.legal{max-width:820px}.legal h2{font-size:22px;margin:34px 0 12px;letter-spacing:-.02em}.legal h2:first-child{margin-top:0}.legal h3{font-size:17px;margin:22px 0 8px}.legal li,.legal p{color:var(--muted);line-height:1.7;font-size:15px}.legal p{margin:0 0 14px}.legal ul{padding-left:20px;margin:0 0 16px}.legal li{margin-bottom:6px}.legal a{color:var(--accent);text-decoration:underline;word-break:break-word}.legal a.btn{text-decoration:none}.legal a.btn-accent{color:#fff}.legal-date{margin-top:30px;font-size:13px;color:var(--muted);font-style:italic}.upload{grid-column:1/-1}.upload-btn{display:flex;align-items:center;gap:9px;width:100%;border:1px dashed var(--line);border-radius:11px;padding:13px 14px;cursor:pointer;color:var(--muted);font:inherit;font-size:13px;font-weight:700;background:#fbfaf8;text-align:left}.upload-btn:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.upload-btn .icon{color:currentColor}.upload input[type=file]{display:none}.file-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.file-item{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;background:var(--accent-soft);color:var(--accent-strong);border-radius:8px;padding:8px 11px}.file-item>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-item button{border:0;background:none;cursor:pointer;color:var(--muted);font-weight:800;font-size:13px;line-height:1;flex:0 0 auto;padding:2px 4px}.file-item button:hover{color:var(--accent-strong)}.upload-hint{color:var(--muted);font-size:11px;margin:7px 0 0}.form-status{font-size:13px;margin:0 0 12px;padding:11px 14px;border-radius:10px}.form-status.success{background:#e8f5ec;color:#1c6b3a}.form-status.error{background:#fdecec;color:#a12626}.form-status.loading{background:var(--accent-soft);color:var(--accent-strong)}.footer{background:#fff;border-top:1px solid var(--line);padding:50px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.25fr .8fr;grid-gap:50px;gap:50px}.footer-logo{width:145px;height:70px;object-fit:contain;margin-bottom:13px}.footer h4{font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin:8px 0 15px}.footer p,.footer-col a{display:block;color:var(--muted);font-size:13px;line-height:1.75}.footer-col a:hover{color:var(--accent)}.footer-partners{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline}.footer-partners .footer-partners-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--ink)}.footer-partners a{color:var(--muted);font-size:12px}.footer-partners a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);margin-top:22px;padding-top:22px;color:#999;font-size:11px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}.footer-bottom a{color:#999}.footer-bottom a:hover{color:var(--accent)}.footer-seo{display:block;color:#cfcfcf;font-size:9px;line-height:1.5;margin-top:10px}@media (max-width:920px){.wrap{width:min(100% - 40px,1240px)}.header-contact,.nav{display:none}.nav-toggle{display:inline-flex}.header .header-inner>.btn-accent{display:none}.header.open .nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px;position:absolute;top:100%;left:0;right:0;margin:0;padding:16px 20px 22px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.1);z-index:40}.header.open .nav a{padding:10px 0;width:100%;font-size:16px}.hero-inner{grid-template-columns:1fr;gap:36px;padding:48px 0}.hero,.hero-inner{min-height:0}.stats-grid{grid-template-columns:1fr;gap:4px}.stat{border-right:0;border-bottom:1px solid var(--line);padding:16px 0}.stat:last-child{border-bottom:0}.section{padding:64px 0}.section-head{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:36px}.service-row{grid-template-columns:60px 1fr;gap:8px 20px}.service-row .tags{grid-column:2;justify-content:flex-start;margin-top:6px}.service-block{gap:20px;padding:40px 0}.feature,.items,.service-block{grid-template-columns:1fr}.feature img{height:320px}.feature-copy{padding:44px 28px}.projects,.proof-grid,.reviews-grid{grid-template-columns:1fr}.proof-item{border-right:0;border-bottom:1px solid var(--line);padding:24px 0}.proof-item:last-child{border-bottom:0}.dark-grid{grid-template-columns:1fr;gap:36px}.dark-section{padding:60px 0}.cta-inner{flex-direction:column;align-items:flex-start;gap:18px}.page-hero-grid{grid-template-columns:1fr;gap:28px;align-items:start}.contact-hero,.page-hero{padding:60px 0}.contact-intro{grid-template-columns:1fr;gap:30px;margin-top:40px}.info-grid{gap:34px}.field,.fields,.info-grid{grid-template-columns:1fr}.dark-strip-inner{flex-direction:column;align-items:flex-start;gap:18px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-bottom{flex-direction:column;align-items:flex-start}}@media (max-width:560px){.footer-grid{grid-template-columns:1fr}.pair{height:220px}}@font-face{font-family:__DM_Sans_0d7163;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__DM_Sans_0d7163;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__DM_Sans_Fallback_0d7163;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_0d7163{font-family:__DM_Sans_0d7163,__DM_Sans_Fallback_0d7163;font-style:normal}.__variable_0d7163{--font-dmsans:"__DM_Sans_0d7163","__DM_Sans_Fallback_0d7163"}