

:root{--ink:#111111;--paper:#ffffff;--accent:#ededed;--muted:#626262}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}header{position:sticky;top:0;z-index:10;background:#fffffff5;border-bottom:1px solid #1111111a}.nav{max-width:1320px;margin:auto;min-height:88px;display:flex;align-items:center;justify-content:space-between;padding:18px 5%;gap:30px}.brand{font-family:Manrope,sans-serif;font-size:27px;font-weight:800;letter-spacing:-1.5px}.brand span{color:#bbbbbb}nav{display:flex;gap:30px;font-size:14px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:16px 23px;border:0;border-radius:4px;background:var(--ink);color:white;font-weight:600;font-size:14px;cursor:pointer}.btn.light{background:var(--accent);color:var(--ink)}.wrap{max-width:1320px;margin:auto;padding:0 5%}.hero{display:grid;grid-template-columns:1fr 1.03fr;min-height:660px;gap:55px;align-items:center;padding-top:45px;padding-bottom:55px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;display:flex;align-items:center;gap:10px}.dot{width:7px;height:7px;background:#888888;border-radius:50%}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(44px,5.5vw,73px);line-height:1.08;letter-spacing:-3.5px;font-weight:500;margin:24px 0}h1 em{font-style:normal;color:#777777}p{line-height:1.75}.lead{font-size:16px;color:var(--muted);max-width:440px}.hero .btn{margin-top:22px}.minor{font-size:12px;color:var(--muted);margin-top:23px}.visual{height:560px;position:relative;border-radius:6px;overflow:hidden;background:#dddddd}.visual img{width:100%;height:100%;object-fit:cover}.photo-note{position:absolute;top:15px;right:15px;background:#ffffffdb;padding:7px 10px;border-radius:3px;font-size:10px;color:#555555}.image-caption{position:absolute;bottom:22px;left:22px;right:22px;background:#fffffff0;padding:22px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.image-caption small{display:block;font-size:10px;letter-spacing:1.5px;margin-bottom:7px}.strip{background:#f0f0f0}.strip .wrap{padding-top:24px;padding-bottom:24px;display:flex;justify-content:space-between;gap:20px;font-size:13px}.strip span:before{content:'✓';margin-right:12px;color:#555555}section{padding:90px 0}.section-top{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}h2{font-size:clamp(32px,4vw,46px);line-height:1.18;letter-spacing:-1.8px;font-weight:500;margin:16px 0}.section-top p{max-width:390px;color:var(--muted);font-size:14px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #11111126}.service{padding:30px 25px 32px 0;border-bottom:1px solid #11111126;min-height:210px}.num{font-size:11px;color:#777777}.service h3{font-size:20px;letter-spacing:-.5px;font-weight:500;margin:20px 0 10px}.service p{font-size:13px;color:var(--muted);max-width:310px;margin:0}.about{background:var(--ink);color:var(--paper)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about p{color:#cccccc;font-size:15px}.qualification{display:inline-block;border:1px solid #aaaaaa55;border-radius:3px;padding:10px 15px;font-size:12px;margin-top:20px}.steps{margin-top:4px}.step{display:grid;grid-template-columns:30px 1fr;gap:15px;border-bottom:1px solid #ffffff26;padding:22px 0}.step b{font-weight:500;font-size:16px}.step p{font-size:13px;margin:8px 0 0}.step>span{font-size:11px;color:var(--accent);padding-top:5px}.area{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.area p{color:var(--muted);font-size:14px}.towns{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.towns span{padding:10px 17px;border:1px solid #11111133;border-radius:30px;font-size:13px}.location-card{border:1px solid #11111122;padding:38px;background:#f5f5f5}.location-card h3{font-size:25px;font-weight:500}.location-card p{margin-bottom:0}.contact{border-top:1px solid #11111126}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact p{color:var(--muted);font-size:14px}.draft{font-size:12px!important;padding:15px;background:#f0f0f0;border-radius:3px}label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}input,select,textarea{display:block;width:100%;background:transparent;border:1px solid #11111140;padding:13px;border-radius:3px;color:var(--ink);margin-bottom:20px}textarea{resize:vertical;min-height:100px}#result{white-space:pre-wrap;font-size:13px}footer{background:var(--ink);color:#dddddd;padding:35px 0}.foot{display:flex;justify-content:space-between;align-items:center;gap:20px}.foot small{font-size:11px}.menu{display:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #777777;outline-offset:4px}@media(max-width:800px){.nav{min-height:72px;gap:15px}.nav>.btn{display:none}nav{gap:16px;font-size:12px}.hero{grid-template-columns:1fr;gap:30px;padding-top:35px}.hero h1{max-width:560px}.visual{height:420px}.strip .wrap{flex-wrap:wrap;font-size:12px}.strip span{width:44%}section{padding:60px 0}.section-top{display:block}.services{grid-template-columns:1fr 1fr}.about-grid,.area,.contact-grid{grid-template-columns:1fr;gap:32px}.foot{align-items:start;flex-direction:column}}@media(max-width:440px){nav a:nth-child(2){display:none}h1{letter-spacing:-2px}.services{grid-template-columns:1fr}.service{min-height:auto;padding:24px 0}.visual{height:350px}.image-caption{padding:16px}.strip span{width:100%}}

.brand-logo{width:142px;height:83px;object-fit:contain;display:block}.nav{background:#000;max-width:none;color:#fff;min-height:105px}.nav>.btn{background:#fff;color:#111}.nav nav a:hover{text-decoration:underline;text-underline-offset:6px}header{background:#000;border-color:#333}.hero h1{font-size:clamp(43px,5vw,67px)}.visual img{filter:none}.hero .btn:hover,form .btn:hover{background:#3d3d3d}.about,footer{background:#000}.foot .brand-logo{width:185px;height:135px}.brand{flex-shrink:0}h1 em{color:#777}.eyebrow{letter-spacing:1.6px}@media(max-width:800px){.nav{min-height:90px}.brand-logo{width:115px;height:65px}.hero h1{font-size:clamp(42px,7vw,62px)}}@media(max-width:440px){.nav{gap:8px}nav{gap:13px}.brand-logo{width:105px}}

body{font-family:Arial,Helvetica,sans-serif}header .nav{flex-wrap:wrap}.nav{gap:20px}.nav nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.nav details{position:relative;font-size:14px}.nav summary{cursor:pointer}.nav details div{position:absolute;top:30px;left:0;background:#111;padding:18px;min-width:230px;box-shadow:0 8px 20px #0003;z-index:30}.nav details a{display:block;padding:9px 0;color:#fff}.site-footer{background:#000;color:#ddd;padding:45px 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px}.site-footer a{display:block;font-size:13px;margin:10px 0}.site-footer small{display:block;color:#aaa;line-height:1.7}.site-footer .brand-logo{width:160px;height:110px}.breadcrumbs{font-size:12px;color:#666;margin:28px 0}.breadcrumbs a{text-decoration:underline}.service-hero{padding:25px 0 55px;display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center}.service-hero h1{font-size:clamp(35px,4.6vw,60px);letter-spacing:-2px}.service-hero .lead{max-width:650px}.scope-box{background:#eee;padding:30px;border:1px solid #ddd;border-radius:5px}.scope-box h2{font-size:24px}.scope-box ul{padding-left:18px;font-size:14px;line-height:2}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-bottom:40px}.content-card{padding:30px 0;border-top:1px solid #ccc}.content-card h2{font-size:27px;letter-spacing:-.8px}.content-card p{font-size:15px;color:#555}.faq{padding:35px;background:#f1f1f1;margin:25px 0 55px}.faq h2{font-size:29px}.faq details{padding:18px 0;border-top:1px solid #ccc}.faq summary{cursor:pointer;font-weight:600}.faq p{color:#555;font-size:14px}.related-links{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 40px}.related-links a{border:1px solid #ccc;border-radius:30px;padding:10px 15px;font-size:13px}.service-cta{background:#111;color:white;padding:36px;margin-bottom:55px}.service-cta p{color:#ccc}.service-cta .btn{background:white;color:#111}.areas-summary{padding:28px;background:#eee;margin:25px 0 50px}.areas-summary h2{font-size:27px}.areas-summary p{font-size:14px}.service-link{display:inline-block;margin-top:15px;font-size:13px;text-decoration:underline}.skip-link{position:absolute;left:12px;top:-70px;background:white;color:black;padding:12px;z-index:99}.skip-link:focus{top:8px}.nav nav>a{display:inline-block!important}.form-note{font-size:13px;color:#666}@media(max-width:800px){.service-hero,.content-grid,.footer-grid{grid-template-columns:1fr;gap:20px}.service-hero{padding-top:5px}.scope-box{padding:24px}.nav nav{gap:16px}.nav details a{display:block!important}.content-card{padding:20px 0}.nav>.btn{display:none}.service-hero h1{font-size:40px}.faq{padding:23px}}@media(max-width:440px){nav a:nth-child(2){display:inline-block}.nav details{font-size:12px}.nav nav{font-size:12px;gap:13px}}

.project-gallery{padding:20px 0 55px}.project-gallery h2{font-size:38px}.project-gallery>p{max-width:700px;color:#666;font-size:14px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:28px}.photo-grid figure{margin:0;background:#eee;border:1px solid #ddd;border-radius:5px;overflow:hidden}.photo-grid img{display:block;width:100%;height:260px;object-fit:contain;background:#eee;filter:none}.photo-grid figcaption{padding:15px;font-size:13px;line-height:1.5}.project-feature{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:30px 0 60px}.project-feature img{width:100%;height:auto;display:block;filter:none;border-radius:5px}.project-feature h2{font-size:35px}.project-feature p{font-size:15px;color:#666}@media(max-width:850px){.photo-grid{grid-template-columns:1fr 1fr}}@media(max-width:550px){.photo-grid,.project-feature{grid-template-columns:1fr}.photo-grid img{height:auto;max-height:440px;object-fit:contain}}