:root{--ink:#151918;--sky:#a7d8e8;--green:#08742d;--cream:#f5f3ee;--white:#fff;--line:#d7d9d3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif;line-height:1.5}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:fixed;top:-60px;left:16px;z-index:100;background:#fff;padding:10px}.skip-link:focus{top:16px}.site-header{height:76px;padding:0 3vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:absolute;inset:0 0 auto;z-index:20}.brand{display:flex;align-items:center;gap:7px;text-decoration:none;font-size:.68rem;font-weight:800}.brand-icon{position:relative;width:34px;height:28px}.brand-icon i,.brand-icon b{position:absolute;display:block;width:8px;background:var(--ink);transform:skew(-25deg)}.brand-icon i{height:19px;left:5px;top:7px}.brand-icon b{height:25px;left:17px;top:1px}.site-header nav{display:flex;gap:28px}.site-header nav a{text-decoration:none;font-size:.7rem;font-weight:700}.header-actions{justify-self:end;display:flex;gap:8px}.button{min-height:44px;padding:0 22px;border:0;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font:700 .75rem Arial,Helvetica,sans-serif;cursor:pointer}.button.small{min-height:34px;padding:0 15px;font-size:.64rem}.dark{background:#171716;color:#fff}.green{background:var(--green);color:#fff}.button:hover{filter:brightness(1.12)}.menu{display:none;justify-self:end;width:42px;height:42px;border:0;background:transparent;place-content:center;gap:4px}.menu span{display:block;width:21px;height:2px;background:var(--ink)}
.hero{height:100svh;min-height:680px;position:relative;overflow:hidden;background:var(--sky)}.hero-copy{position:absolute;left:3vw;top:15vh;z-index:3;max-width:570px}.eyebrow{text-transform:uppercase;font-size:.65rem;font-weight:800;letter-spacing:.13em;margin:0 0 13px}.hero h1{font-size:clamp(3rem,6.1vw,7rem);line-height:.9;font-weight:500;margin:0;letter-spacing:0}.hero-copy>p:last-child{font-size:1rem;margin:22px 0;max-width:400px}.roofline{position:absolute;inset:28% 0 0;clip-path:polygon(0 32%,19% 50%,30% 0,47% 55%,61% 16%,76% 56%,88% 25%,100% 46%,100% 100%,0 100%)}.roofline:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,24,.05),rgba(3,8,9,.25))}.roofline img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.rating{position:absolute;z-index:4;left:3vw;bottom:19%;width:132px;height:142px;border-radius:7px;background:var(--green);color:#fff;display:grid;place-items:center;align-content:center;box-shadow:0 12px 30px rgba(0,0,0,.15)}.rating strong{font-size:.7rem}.rating b{font-size:3rem;line-height:1.1;font-weight:500}.rating span{font-size:.58rem}.quote-card{position:absolute;z-index:5;right:3vw;top:22%;width:min(450px,43vw);background:#fff;border-radius:8px;padding:28px;box-shadow:0 18px 45px rgba(25,45,51,.16)}.quote-card h2{font-size:2rem;font-weight:500;margin:0 0 24px}.quote-card form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.quote-card label{font-size:.6rem}.quote-card input,.quote-card select{display:block;width:100%;height:38px;margin-top:7px;border:1px solid #bfc3c2;border-radius:4px;background:#fff;padding:0 9px;font:inherit}.wide{grid-column:1/-1}.form-message{margin:0;font-size:.75rem}.form-message.success{color:var(--green)}.form-message.error{color:#a22424}
.section{padding:110px 6vw}.intro{background:#171c1a;color:#fff;display:grid;grid-template-columns:.65fr 1.3fr .8fr;gap:8vw;align-items:start}.intro h2,.section header h2,.cta h2{font-size:clamp(2.6rem,5vw,5.4rem);line-height:.95;font-weight:500;letter-spacing:0;margin:0}.intro>div>p{max-width:650px;color:#c8ceca}.intro ul{list-style:none;margin:0;padding:0}.intro li{padding:14px 0;border-bottom:1px solid #414743;font-size:.8rem}.intro li strong{display:block;font-size:1.7rem;color:#8edfb0}.services{background:#f5f3ee}.section>header{max-width:1200px;margin:0 auto 60px}.service-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-grid article{min-height:330px;border:1px solid var(--line);background:#fff;padding:30px;display:flex;flex-direction:column}.service-grid article>span{font-size:.65rem;color:#777}.service-grid h3{font-size:1.65rem;margin:auto 0 8px}.service-grid p{color:#626762}.service-grid a{font-size:.76rem;font-weight:800;margin-top:15px}.projects{background:#d9eef5}.project-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.project-grid h3{font-size:1.2rem;margin:15px 0 3px}.project-grid p{margin:0;color:#5f6665;font-size:.75rem}.cta{text-align:center;background:#fff;padding:100px 20px}.cta h2{margin-bottom:30px}footer{background:#121715;color:#fff;padding:70px 6vw 30px;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:start}footer p{grid-column:1/-1;color:#aeb5b0}footer nav{display:flex;gap:22px}footer nav a{font-size:.75rem}footer small{grid-column:1/-1;border-top:1px solid #343a36;padding-top:24px;color:#8e9691}.footer-brand .brand-icon i,.footer-brand .brand-icon b{background:#fff}
@media(max-width:800px){.site-header{height:70px;padding:0 18px;grid-template-columns:1fr auto}.site-header nav{display:none;position:absolute;left:16px;right:16px;top:68px;padding:20px;background:#fff;flex-direction:column;box-shadow:0 12px 25px rgba(0,0,0,.12)}.site-header nav.open{display:flex}.header-actions{display:none}.menu{display:grid}.hero{height:auto;min-height:980px}.hero-copy{left:20px;right:20px;top:100px}.hero h1{font-size:3.7rem}.roofline{inset:310px 0 0;clip-path:polygon(0 20%,28% 0,54% 24%,76% 5%,100% 25%,100% 100%,0 100%)}.rating{left:20px;top:330px;bottom:auto;width:104px;height:110px}.rating b{font-size:2.3rem}.quote-card{left:20px;right:20px;top:auto;bottom:30px;width:auto;padding:22px}.intro{grid-template-columns:1fr;gap:30px}.section{padding:75px 20px}.service-grid,.project-grid{grid-template-columns:1fr}.service-grid article{min-height:260px}.quote-card form{gap:10px}.footer{grid-template-columns:1fr}footer nav{flex-wrap:wrap}}
@media(max-width:420px){.hero h1{font-size:3.2rem}.hero-copy>p:last-child{font-size:.9rem}.quote-card h2{font-size:1.65rem}.quote-card{bottom:20px}.quote-card form{grid-template-columns:1fr}.wide{grid-column:1}.rating{top:345px}}
