:root{--green:#1e3b2e;--green-dark:#10261d;--sage:#8ca08f;--sand:#e8dfd1;--cream:#f5f2ec;--ink:#172019;--muted:#68726b;--line:#d9ded9;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;height:86px;padding:0 4.5vw;display:flex;align-items:center;gap:26px;color:#fff;border-bottom:1px solid rgba(255,255,255,.22);transition:.3s ease}.site-header.scrolled,.site-header.open{background:rgba(255,255,255,.97);color:var(--ink);box-shadow:0 12px 35px rgba(0,0,0,.08);border-bottom-color:rgba(0,0,0,.06);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:11px;margin-right:auto}.brand-mark{width:40px;height:40px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:'Manrope',sans-serif;font-weight:800;font-size:20px}.brand-copy{display:grid;line-height:1.05}.brand-copy strong{font-size:14px}.brand-copy small{font-size:11px;opacity:.76;margin-top:4px}.site-header nav{display:flex;gap:22px}.site-header nav a,.header-phone{font-size:13px;font-weight:600}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:currentColor;transition:.2s}.site-header nav a:hover:after{right:0}.header-phone{white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;background:var(--green);border:1px solid var(--green);color:#fff;font:700 12px/1 'DM Sans',sans-serif;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px);background:var(--green-dark)}.site-header:not(.scrolled):not(.open) .btn{background:#fff;color:var(--green-dark);border-color:#fff}.btn-small{min-height:44px;padding:0 18px}.btn-light{background:#fff;color:var(--green-dark);border-color:#fff}.btn-light:hover{background:var(--cream);color:var(--green-dark)}.menu-toggle{display:none;width:42px;height:42px;border:0;background:transparent;padding:9px;cursor:pointer}.menu-toggle span{height:2px;background:currentColor;display:block;margin:5px 0}.hero{min-height:100svh;position:relative;display:flex;align-items:center;padding:150px 6.5vw 150px;color:white;background:url('images/finished-landscape.png') center 45%/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,26,19,.84) 0%,rgba(11,26,19,.62) 38%,rgba(11,26,19,.18) 72%,rgba(11,26,19,.08) 100%)}.hero-content{position:relative;z-index:2;max-width:880px}.eyebrow{margin:0 0 20px;text-transform:uppercase;letter-spacing:.2em;font-weight:700;font-size:11px;color:var(--green)}.eyebrow.light{color:#dce6df}h1,h2,h3{font-family:'Manrope',sans-serif;margin:0;letter-spacing:-.045em}h1{font-size:clamp(58px,7.7vw,108px);line-height:.9;font-weight:800}h2{font-size:clamp(42px,5vw,68px);line-height:.98;font-weight:800}h3{font-size:24px;line-height:1.12}.hero-sub{max-width:690px;font-size:clamp(18px,2vw,24px);line-height:1.55;color:#edf3ef;margin:28px 0 0}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.text-link{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid currentColor;padding-bottom:6px}.light-link{color:#fff}.hero-bottom{position:absolute;z-index:2;left:6.5vw;right:6.5vw;bottom:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.32)}.hero-bottom div{padding:24px 28px 26px 0}.hero-bottom div+div{border-left:1px solid rgba(255,255,255,.2);padding-left:28px}.hero-bottom strong{display:block;font:700 18px 'Manrope',sans-serif}.hero-bottom span{display:block;margin-top:5px;color:#d5dfd9;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.section{padding:120px 6.5vw}.intro{display:grid;grid-template-columns:.88fr 1.12fr;gap:9vw;align-items:center}.intro-copy{max-width:600px}.lead{font-size:21px!important;color:var(--ink)!important}.intro-copy>p{font-size:16px;line-height:1.8;color:var(--muted)}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:34px 0}.check-list span{padding:13px 0 13px 22px;border-top:1px solid var(--line);position:relative;font-weight:600}.check-list span:before{content:"✓";position:absolute;left:0;color:var(--green)}.intro-media{position:relative}.intro-media img{width:100%;height:680px;object-fit:cover}.media-badge{position:absolute;left:-50px;bottom:36px;background:var(--green);color:#fff;padding:25px 28px;min-width:270px}.media-badge strong,.media-badge span{display:block}.media-badge span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-top:6px;color:#d9e4dd}.services-section{background:var(--cream)}.section-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;align-items:end;margin-bottom:55px}.section-heading>p{max-width:500px;color:var(--muted);line-height:1.75;margin:0}.services-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d7d3ca;border-left:1px solid #d7d3ca}.service{background:#fff;border-right:1px solid #d7d3ca;border-bottom:1px solid #d7d3ca;overflow:hidden}.service img{width:100%;height:280px;object-fit:cover;transition:transform .45s ease}.service:hover img{transform:scale(1.035)}.service>div{padding:28px 30px 32px}.service>div>span{color:var(--sage);font-size:11px;letter-spacing:.16em}.service h3{margin:12px 0 12px}.service p{color:var(--muted);line-height:1.65;min-height:78px}.service a{display:inline-block;margin-top:10px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;font-size:11px}.feature-band{display:grid;grid-template-columns:1.2fr .8fr;min-height:720px;background:var(--green-dark);color:#fff}.feature-image{background:url('images/flagstone-circle.jpg') center/cover no-repeat}.feature-copy{padding:110px 7vw;display:flex;flex-direction:column;justify-content:center}.feature-copy p:not(.eyebrow){color:#d6e0da;font-size:18px;line-height:1.75;margin:26px 0 32px}.projects .section-heading{margin-bottom:38px}.gallery{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-auto-rows:300px;gap:12px}.gallery-item{position:relative;border:0;padding:0;overflow:hidden;background:#ddd;cursor:pointer;text-align:left;color:#fff}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.6));opacity:.65}.gallery-item span{position:absolute;z-index:2;left:22px;bottom:20px;font-weight:700;font-size:13px}.gallery-item:hover img{transform:scale(1.035)}.review-section{background:var(--green-dark);color:#fff;padding:115px 6.5vw}.review-intro{max-width:760px;margin-bottom:50px}.review-intro>p:last-child{color:#cad7cf}.review-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}.review-card{background:var(--green-dark);padding:38px 34px}.review-card .stars{letter-spacing:.1em;color:#e7d5a6}.review-card h3{margin:20px 0 14px}.review-card p{color:#cbd6d0;line-height:1.7}.review-card span{display:block;margin-top:28px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#93a69b}.cta{margin:0 6.5vw;transform:translateY(1px);padding:70px 5vw;display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end;background:linear-gradient(90deg,rgba(25,55,41,.92),rgba(25,55,41,.72)),url('images/waterfront-sod.jpg') center/cover;color:#fff}.cta>div:last-child p{color:#dbe6df;line-height:1.7;margin:0 0 25px}.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about-media img{width:100%;height:650px;object-fit:cover}.about-copy p:not(.eyebrow){color:var(--muted);line-height:1.8}.about-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}.about-meta strong,.about-meta span{display:block}.about-meta span{color:var(--muted);font-size:12px;margin-top:4px;text-transform:uppercase;letter-spacing:.1em}.service-area{padding:85px 6.5vw;background:var(--sand)}.service-area>div{max-width:1000px}.service-area p:last-child{font-size:17px;line-height:1.8;color:#4d5a50}.contact{display:grid;grid-template-columns:.8fr 1.2fr;background:#111d17;color:#fff}.contact-info{padding:110px 6.5vw}.contact-info>p:not(.eyebrow){max-width:540px;color:#cdd8d1;line-height:1.75}.contact-details{margin-top:44px;border-top:1px solid rgba(255,255,255,.18)}.contact-details>a,.contact-details>div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.18)}.contact-details span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9fb0a5}.contact-details strong{font-size:15px}.quote-form{background:#fff;color:var(--ink);padding:85px 6.5vw;display:grid;gap:18px}.form-title span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--green)}.form-title h3{font-size:34px;margin-top:8px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-form label{display:grid;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:0;border-bottom:1px solid #cfd6d1;border-radius:0;padding:13px 2px;background:transparent;font:400 15px 'DM Sans',sans-serif;color:var(--ink);outline:none}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--green)}.quote-form .file-input{border:1px dashed #bcc8c0;padding:14px}.quote-form .btn{justify-self:start;margin-top:6px}.form-note{font-size:12px;color:var(--muted)}.form-note a{font-weight:700;color:var(--green)}footer{background:#08120d;color:#dce6df;padding:70px 6.5vw 35px;display:grid;grid-template-columns:1.5fr .7fr 1fr .8fr;gap:45px}footer .brand-mark{margin-bottom:18px}footer a,footer p{display:block;color:#aebdb4;font-size:13px;line-height:1.7;margin:8px 0}.footer-label{display:block;color:#fff;text-transform:uppercase;letter-spacing:.15em;font-size:10px;margin-bottom:14px}footer small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:25px;margin-top:18px;color:#77877d}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(5,12,8,.94);display:none;align-items:center;justify-content:center;padding:6vw}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:84vh;object-fit:contain}.lightbox button{position:absolute;right:28px;top:20px;border:0;background:transparent;color:#fff;font-size:42px;cursor:pointer}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){.site-header nav{gap:14px}.header-phone{display:none}.services-list{grid-template-columns:1fr 1fr}.intro{gap:6vw}.media-badge{left:20px}.gallery{grid-template-columns:1fr 1fr}.gallery-item.tall{grid-row:span 1}.gallery-item.wide{grid-column:span 1}.review-cards{grid-template-columns:1fr}.feature-band{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.site-header{height:74px;padding:0 5vw}.site-header nav,.site-header>.btn{display:none}.menu-toggle{display:block}.site-header.open nav{display:flex;position:absolute;left:0;right:0;top:74px;background:#fff;color:var(--ink);padding:28px 5vw 35px;flex-direction:column;gap:20px;box-shadow:0 20px 30px rgba(0,0,0,.08)}.hero{padding:130px 6vw 145px;min-height:92svh}.hero-bottom{left:6vw;right:6vw;grid-template-columns:1fr 1fr}.hero-bottom div:nth-child(3){display:none}.intro,.about,.feature-band,.contact,.cta{grid-template-columns:1fr}.intro-media img,.about-media img{height:520px}.feature-image{min-height:480px}.feature-copy{padding:80px 7vw}.section-heading{grid-template-columns:1fr;gap:25px}.cta{margin:0;padding:65px 7vw;gap:28px}.contact-info{padding:80px 7vw}.quote-form{padding:70px 7vw}footer{grid-template-columns:1fr 1fr}}
@media(max-width:620px){h1{font-size:clamp(52px,15vw,72px)}h2{font-size:42px}.brand-copy strong{font-size:12px}.brand-copy small{font-size:10px}.hero{background-position:58% center;padding-left:5vw;padding-right:5vw}.hero-sub{font-size:18px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-bottom{left:5vw;right:5vw}.hero-bottom div{padding:18px 12px 20px 0}.hero-bottom div+div{padding-left:16px}.hero-bottom strong{font-size:14px}.section{padding:85px 5vw}.intro-media img,.about-media img{height:420px}.media-badge{left:14px;right:14px;bottom:14px;min-width:0}.check-list{grid-template-columns:1fr}.services-list{grid-template-columns:1fr}.service img{height:245px}.service p{min-height:0}.feature-image{min-height:390px}.feature-copy{padding:70px 5vw}.gallery{grid-template-columns:1fr;grid-auto-rows:260px}.review-section{padding:85px 5vw}.review-card{padding:30px 26px}.cta{margin:0 5vw;padding:55px 6vw}.about-meta{grid-template-columns:1fr}.service-area{padding:70px 5vw}.contact-info,.quote-form{padding:70px 5vw}.two{grid-template-columns:1fr}.contact-details>a,.contact-details>div{grid-template-columns:70px 1fr}.contact-details strong{overflow-wrap:anywhere}footer{grid-template-columns:1fr;padding:60px 5vw 30px}.lightbox{padding:15vw 5vw}}

.hidden-field{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}

.brand-logo{width:190px;height:68px;object-fit:contain;object-position:left center}.site-header.scrolled .brand-logo,.site-header.open .brand-logo{filter:none}.footer-logo{width:240px;max-width:100%;height:auto;object-fit:contain;margin-bottom:16px}@media(max-width:620px){.brand-logo{width:145px;height:58px}}
