
:root{--ink:#172019;--cream:#f4f0e8;--paper:#fbfaf7;--green:#294d3b;--gold:#b58b56;--muted:#6d756e}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",sans-serif}
a{text-decoration:none;color:inherit}img{display:block;width:100%}.topbar{position:fixed;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px 4vw;color:#fff;background:linear-gradient(to bottom,rgba(0,0,0,.55),transparent)}
.brand{font-weight:700;letter-spacing:.08em}.brand span{font-weight:400}.topbar nav{display:flex;gap:28px;font-size:13px}.header-cta{border:1px solid rgba(255,255,255,.7);padding:11px 17px;border-radius:999px}
.hero{min-height:100vh;position:relative;display:flex;align-items:flex-end;padding:130px 4vw 5vw;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;height:100%;object-fit:cover;z-index:-2}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,15,10,.78) 0%,rgba(8,15,10,.43) 48%,rgba(8,15,10,.15) 100%);z-index:-1}
.hero-content{max-width:870px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:#e1c59c}.eyebrow.dark{color:var(--gold)}h1,h2{font-family:"Playfair Display",serif}.hero h1{font-size:clamp(58px,7.5vw,112px);line-height:.94;letter-spacing:-.035em;margin:22px 0}.hero-copy{font-size:18px;line-height:1.7;max-width:650px;color:#eee}
.hero-actions{display:flex;gap:14px;margin-top:30px}.btn{display:inline-block;padding:15px 22px;border-radius:999px;font-weight:700;border:0;cursor:pointer}.primary{background:#fff;color:var(--green)}.ghost{border:1px solid rgba(255,255,255,.55)}
.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);max-width:720px;margin-top:55px;border-top:1px solid rgba(255,255,255,.35);padding-top:20px}.trust-strip strong,.trust-strip span{display:block}.trust-strip span{font-size:12px;color:#ddd;margin-top:4px}
.section{padding:9vw 4vw}.alt{background:var(--cream)}.section-intro{max-width:820px}.section-intro h2,.areas h2{font-size:clamp(44px,5.4vw,82px);line-height:1.02;margin:18px 0}.section-intro>p:last-child{color:var(--muted);line-height:1.8;max-width:660px}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:60px}.service-card{background:#fff;border:1px solid #e5e0d8}.service-card img{height:430px;object-fit:cover}.service-card>div{padding:28px}.service-card span,.steps span{font-size:12px;color:var(--gold)}.service-card h3{font-size:28px;margin:10px 0}.service-card p{color:var(--muted);line-height:1.7}
.project-grid{display:grid;grid-template-columns:1.35fr .75fr;gap:22px;margin-top:50px}.project{margin:0}.project.large{grid-row:span 2}.project img{height:360px;object-fit:cover}.project.large img{height:760px}.project figcaption{display:flex;justify-content:space-between;padding-top:11px;font-size:13px}.project figcaption span{color:var(--muted)}
.proof{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:center}.proof-card{background:var(--green);color:#fff;padding:55px}.quote{font-family:"Playfair Display",serif;font-size:clamp(30px,3.5vw,52px);line-height:1.15}.client{color:#cbd4cf}.proof-list h3{font-size:28px}.proof-list ul{padding-left:20px;line-height:2;color:var(--muted)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:55px}.steps div{border-top:1px solid #cfc8bb;padding-top:20px}.steps h3{margin:20px 0 10px}.steps p{color:var(--muted);line-height:1.65}
.areas{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end}.areas>p{line-height:2;color:var(--muted)}
.accordion{max-width:900px;margin-top:40px}.accordion details{border-top:1px solid #cfc8bb;padding:20px 0}.accordion summary{font-weight:700;cursor:pointer}.accordion details p{color:var(--muted);line-height:1.7;max-width:760px}
.estimate{background:var(--green);color:#fff;padding:9vw 4vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.estimate h2{font-size:clamp(48px,6vw,90px);line-height:1;margin:18px 0}.estimate-copy>p:last-child{color:#d6dfda;line-height:1.8}.estimate form{background:#fff;color:var(--ink);padding:35px;border-radius:4px}.estimate label{display:block;font-size:13px;font-weight:600;margin-bottom:18px}.estimate input,.estimate select,.estimate textarea{width:100%;margin-top:8px;padding:14px;border:1px solid #d9d6cf;font:inherit}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.darkbtn{background:var(--green);color:#fff}.fine{font-size:11px;color:#8a8f8b}.form-success{font-weight:700;color:var(--green)}
footer{padding:35px 4vw;display:flex;justify-content:space-between;gap:30px;background:#111713;color:#fff}footer p{margin:5px 0;color:#aeb8b1;font-size:12px}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.topbar nav{display:none}.brand span{display:none}.hero{padding-bottom:40px}.hero-actions{flex-direction:column;align-items:flex-start}.trust-strip{grid-template-columns:1fr;gap:15px}.service-grid,.proof,.estimate,.areas{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.project.large{grid-row:auto}.project img,.project.large img{height:80vw}.steps{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.estimate form{padding:22px}footer{flex-direction:column}}
@media(max-width:520px){.steps{grid-template-columns:1fr}.topbar{padding:16px 4vw}.header-cta{font-size:12px;padding:9px 12px}}
