:root{
  --fb-black:#080a08;
  --fb-black-2:#101310;
  --fb-green:#9BE100;
  --fb-white:#fff;
  --fb-off:#f3f4f0;
  --fb-grey:#697069;
  --fb-line:#dfe2dc;
  --fb-max:1240px;
  --fb-radius:2px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fb-black);color:#171a17;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
.wrap{width:min(calc(100% - 40px),var(--fb-max));margin-inline:auto}
.section{padding:96px 0}
.section-light{background:var(--fb-off)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.narrow{max-width:900px}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:20px;top:20px;z-index:9999;background:#fff;padding:10px 14px}

.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:linear-gradient(180deg,rgba(0,0,0,.88),rgba(0,0,0,.36),transparent);transition:.25s ease}
.site-header.is-scrolled{background:rgba(8,10,8,.96);box-shadow:0 10px 30px rgba(0,0,0,.16)}
.header-inner{min-height:88px;display:flex;align-items:center;gap:32px}
.brand{display:inline-flex;align-items:baseline;white-space:nowrap;color:#fff;font-weight:900;letter-spacing:-.045em;font-size:24px}
.brand-accent,.brand-dot{color:var(--fb-green)}
.custom-logo,.default-site-logo{display:block;max-height:60px;width:auto}.brand img{max-width:230px}.footer-brand img{width:min(100%,300px);height:auto}
.primary-nav{margin-left:auto}
.primary-nav ul{display:flex;align-items:center;gap:28px;margin:0;padding:0;list-style:none}
.primary-nav a{color:#fff;font-size:14px;font-weight:750;letter-spacing:.01em}
.primary-nav a:hover{color:var(--fb-green)}
.header-phone{background:var(--fb-green);color:#0a0c08;font-weight:900;padding:13px 18px;line-height:1}
.menu-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;padding:9px 12px;font-weight:800}

.hero{min-height:760px;background:#0a0c0a;color:#fff}
.hero-slides{position:relative;min-height:760px;overflow:hidden}
.hero-slide{position:absolute;inset:0;display:grid;align-items:center;opacity:0;visibility:hidden;background-size:cover;background-position:center;transition:opacity .75s ease,visibility .75s ease}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,6,4,.94) 0%,rgba(4,6,4,.72) 42%,rgba(4,6,4,.25) 76%,rgba(4,6,4,.36) 100%)}
.hero-pattern{position:absolute;inset:0;opacity:.24;background-image:linear-gradient(135deg,transparent 0 68%,var(--fb-green) 68% 68.3%,transparent 68.3% 100%),linear-gradient(90deg,transparent 0 84%,rgba(255,255,255,.16) 84% 84.15%,transparent 84.15%)}
.hero-content{position:relative;z-index:2;padding-top:86px}
.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.18em;font-weight:900;font-size:12px;color:var(--fb-green)}
.eyebrow.dark{color:#4c6f00}
.hero h1,.hero h2{max-width:900px;margin:0;font-size:clamp(54px,8vw,108px);line-height:.88;letter-spacing:-.065em;font-weight:900;text-wrap:balance}
.hero-copy{max-width:670px;font-size:clamp(18px,2vw,23px);line-height:1.45;margin:28px 0 0;color:#e2e6df}
.hero-actions{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border:0;font-weight:900;line-height:1;cursor:pointer}
.button-primary{background:var(--fb-green);color:#090b08}
.button-primary:hover{filter:brightness(.94)}
.button-ghost{border:1px solid rgba(255,255,255,.55);color:#fff;background:rgba(0,0,0,.08)}
.button-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.hero-arrow{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:52px;height:52px;border:1px solid rgba(255,255,255,.34);background:rgba(0,0,0,.18);color:#fff;font-size:36px;line-height:1;cursor:pointer}
.hero-prev{left:20px}.hero-next{right:20px}
.hero-dots{position:absolute;z-index:3;left:50%;bottom:28px;transform:translateX(-50%);display:flex;gap:9px}
.hero-dot{width:34px;height:4px;padding:0;border:0;background:rgba(255,255,255,.35);cursor:pointer}.hero-dot.is-active{background:var(--fb-green)}

.intro{background:#fff}
.intro-grid h2,.section-head h2,.proof-main h2,.advice h2,.quote h2,.page-header h1{margin:0;font-size:clamp(38px,5vw,66px);line-height:.98;letter-spacing:-.045em;text-wrap:balance}
.intro-copy p:first-child{margin-top:0}.intro-copy{font-size:19px;color:#4f564f}

.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:44px}.section-head h2{font-size:clamp(38px,4vw,60px)}
.text-link{font-weight:900;border-bottom:2px solid var(--fb-green);padding-bottom:2px}.text-link.light{color:#fff}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--fb-line);border-left:1px solid var(--fb-line)}
.service-card{background:#fff;padding:34px 28px;min-height:330px;border-right:1px solid var(--fb-line);border-bottom:1px solid var(--fb-line)}
.service-card>span{font-size:12px;font-weight:900;color:#6e756d}.service-card h3{font-size:27px;line-height:1.05;margin:64px 0 15px;letter-spacing:-.035em}.service-card p{margin:0;color:#626862;font-size:15px}

.featured-renovation{background:#fff}.featured-project-note{margin:0;color:#636963;font-weight:750}.renovation-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:280px 280px;gap:12px}.renovation-gallery figure{margin:0;overflow:hidden;background:#e8eae5}.renovation-gallery .renovation-main{grid-row:1/3}.renovation-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.renovation-gallery figure:hover img{transform:scale(1.02)}.renovation-caption{display:grid;grid-template-columns:1.5fr auto;gap:40px;align-items:end;margin-top:30px}.renovation-caption p{max-width:780px;margin:0;color:#5f665f}

.projects{background:var(--fb-black);color:#fff}.section-head.on-dark h2{color:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{background:#141814;min-height:520px}.project-card a{display:block;height:100%}.project-image{height:310px;overflow:hidden;background:#1f251f}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.project-card:hover .project-image img{transform:scale(1.025)}.project-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#202820,#131713 55%,#9be100 55.2%,#131713 55.4%)}.project-copy{padding:26px}.project-copy h3{font-size:27px;margin:0 0 10px;line-height:1.05}.project-copy p{color:#b9c0b9;font-size:15px}.project-copy span{font-weight:900;color:var(--fb-green)}

.proof-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:100px;align-items:center}.proof-main p:last-child{max-width:700px;color:#5f665f}.proof-points{display:grid;grid-template-columns:1fr;gap:1px;background:#dfe2dc}.proof-points div{background:#fff;padding:28px;display:flex;justify-content:space-between;gap:20px;align-items:baseline}.proof-points strong{font-size:28px;letter-spacing:-.04em}.proof-points span{color:#646b64;font-size:14px}

.advice{background:#101310;color:#fff}.advice h2{color:#fff}.advice-list{border-top:1px solid #313631}.advice-list a{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid #313631;font-weight:800}.advice-list a:hover{color:var(--fb-green)}

.quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.quote p{color:#5f665f}.quote-note{margin-top:30px;padding-top:25px;border-top:1px solid var(--fb-line);font-weight:800}.quote-note a{border-bottom:2px solid var(--fb-green)}
.quote-form-wrap{background:#fff;padding:34px;box-shadow:0 20px 70px rgba(24,28,24,.08)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-form label{display:block}.quote-form label span{display:block;font-size:13px;font-weight:850;margin-bottom:7px}.quote-form label span small{font-size:11px;font-weight:750;color:#737a73;margin-left:5px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid #d9ddd7;background:#f9faf8;padding:13px 14px;color:#161916;border-radius:0}.quote-form textarea{resize:vertical}.quote-form .full{grid-column:1/-1}.quote-form .button{margin-top:20px;width:100%}.plan-upload-field{margin-top:2px}.plan-upload-box{position:relative;border:1px dashed #aeb5aa;background:#f6f8f3;padding:22px;min-height:126px;display:flex;flex-direction:column;justify-content:center}.plan-upload-box input[type=file]{padding:10px;background:#fff;border:1px solid #d9ddd7;margin-bottom:13px;cursor:pointer}.plan-upload-box strong{font-size:15px}.plan-upload-box p{margin:3px 0 0;color:#697069;font-size:13px}.hp-field{position:absolute;left:-9999px}.form-notice{padding:12px 14px;margin-bottom:18px;font-weight:800}.form-notice.success{background:#ecf8d4}.form-notice.error{background:#ffe3e3}

.site-footer{background:#050605;color:#d6dbd4;padding:70px 0 28px}.footer-grid{display:grid;grid-template-columns:1.5fr .8fr 1fr 1fr;gap:50px}.site-footer h2{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--fb-green);margin:5px 0 15px}.site-footer p{font-size:14px;color:#aeb4ae}.site-footer a:hover{color:var(--fb-green)}.footer-brand{display:flex;align-items:center}.footer-brand img{display:block}.footer-bottom{margin-top:46px;padding-top:22px;border-top:1px solid #242824;display:flex;justify-content:space-between;gap:30px}.footer-bottom ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}.footer-bottom p{margin:0;font-size:12px}

.content-area{padding-top:150px;min-height:70vh}.content-wrap{background:#fff;padding:50px}.page-header{margin-bottom:40px}.entry-content{font-size:18px}.entry-content h2{margin-top:42px;font-size:34px;letter-spacing:-.03em}.entry-content a{border-bottom:2px solid var(--fb-green);font-weight:800}.single-featured{margin:30px 0 45px}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.archive-card{background:#f2f4ef}.archive-image{height:260px;overflow:hidden}.archive-image img{width:100%;height:100%;object-fit:cover}.archive-copy{padding:24px}.archive-copy h2{font-size:28px;margin:0 0 12px}.archive-copy span{font-weight:900;color:#4c6f00}


.footer-contact-link{font-weight:900;color:#fff;border-bottom:2px solid var(--fb-green);padding-bottom:2px}
.contact-cta-inner{display:grid;grid-template-columns:1fr auto;gap:70px;align-items:end}.contact-cta h2{margin:0;font-size:clamp(38px,5vw,66px);line-height:.98;letter-spacing:-.045em}.contact-cta p{max-width:760px;color:#5f665f}.contact-cta .button{min-width:240px}
.contact-page{padding-top:160px}.contact-page-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.contact-intro h1{margin:0 0 28px;font-size:clamp(48px,6vw,78px);line-height:.94;letter-spacing:-.055em}.contact-intro>p:not(.eyebrow){font-size:19px;color:#5f665f}.contact-phone{margin-top:36px;padding-top:26px;border-top:1px solid var(--fb-line)}.contact-phone span{display:block;font-size:13px;font-weight:850;text-transform:uppercase;letter-spacing:.1em;color:#697069;margin-bottom:6px}.contact-phone a{font-size:28px;font-weight:900;border-bottom:3px solid var(--fb-green)}.contact-form-panel .quote-form-wrap{box-shadow:0 20px 70px rgba(24,28,24,.08)}
@media(max-width:1000px){
  .primary-nav{position:absolute;left:0;right:0;top:88px;background:#090b09;display:none;padding:24px 20px}.primary-nav.is-open{display:block}.primary-nav ul{display:grid;gap:0}.primary-nav li{border-bottom:1px solid #252925}.primary-nav a{display:block;padding:14px 0}.menu-toggle{display:block;margin-left:auto}.header-phone{display:none}.hero,.hero-slides{min-height:700px}.service-grid{grid-template-columns:repeat(2,1fr)}.project-grid,.archive-grid{grid-template-columns:1fr 1fr}.proof-grid,.quote-grid,.footer-grid{grid-template-columns:1fr 1fr}.contact-page-grid{grid-template-columns:1fr 1fr}.contact-cta-inner{grid-template-columns:1fr}.renovation-gallery{grid-template-columns:1.5fr 1fr;grid-template-rows:260px 260px}.renovation-gallery figure:nth-child(n+4){display:none}.split{gap:48px}
}
@media(max-width:720px){
  .wrap{width:min(calc(100% - 28px),var(--fb-max))}.section{padding:68px 0}.header-inner{min-height:74px}.brand{font-size:21px}.custom-logo,.default-site-logo{max-height:50px}.brand img{max-width:190px}.primary-nav{top:74px}.hero,.hero-slides{min-height:680px}.hero-content{padding-top:70px}.hero h1,.hero h2{font-size:clamp(48px,16vw,72px)}.hero-arrow{display:none}.split,.quote-grid,.proof-grid,.footer-grid,.contact-page-grid{grid-template-columns:1fr;gap:38px}.contact-cta-inner{grid-template-columns:1fr;gap:28px}.contact-page{padding-top:115px}.renovation-gallery{grid-template-columns:1fr 1fr;grid-template-rows:280px 190px}.renovation-gallery .renovation-main{grid-column:1/-1;grid-row:auto}.renovation-gallery figure:nth-child(n+4){display:block}.renovation-gallery figure:nth-child(n+5){display:none}.renovation-caption{grid-template-columns:1fr;gap:18px}.service-grid,.project-grid,.archive-grid{grid-template-columns:1fr}.service-card{min-height:260px}.service-card h3{margin-top:38px}.project-card{min-height:auto}.section-head{align-items:start;flex-direction:column}.project-image{height:260px}.form-grid{grid-template-columns:1fr}.quote-form-wrap{padding:22px}.proof-points div{padding:22px}.footer-bottom{flex-direction:column}.footer-bottom ul{flex-wrap:wrap}.content-wrap{padding:28px}.content-area{padding-top:105px}.hero-prev,.hero-next{display:none}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* Project case studies */
.project-single{background:#fff}.project-hero{padding:150px 0 70px}.project-hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}.project-hero-copy h1{margin:0 0 24px;font-size:clamp(48px,6vw,82px);line-height:.92;letter-spacing:-.055em;text-wrap:balance}.project-excerpt{font-size:19px;color:#596159;margin:0 0 28px;max-width:620px}.project-hero-image{min-height:520px;overflow:hidden;background:#dde1da}.project-hero-image img{width:100%;height:100%;min-height:520px;object-fit:cover}.project-body{background:#fff}.project-content{max-width:1100px}.project-content>h2{margin:78px 0 20px;font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.04em}.project-content>p{max-width:820px;color:#515851;font-size:18px}.fb-project-overview{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:start;padding-bottom:66px;border-bottom:1px solid var(--fb-line)}.fb-project-lead{margin:0;font-size:clamp(26px,3vw,40px);line-height:1.18;letter-spacing:-.035em;font-weight:800;color:#171a17}.fb-project-facts{display:grid;border-top:1px solid var(--fb-line)}.fb-project-facts div{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--fb-line)}.fb-project-facts strong{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#4c6f00}.fb-project-facts span{font-size:15px;color:#545b54}.fb-project-gallery{margin:34px 0 0;display:grid;gap:14px}.fb-project-gallery-two{grid-template-columns:1fr 1fr}.fb-project-gallery-item{margin:0;background:#edf0ea;overflow:hidden}.fb-project-gallery-item img{width:100%;height:560px;object-fit:cover}.fb-project-gallery-item figcaption{padding:12px 14px;background:#f3f4f0;color:#5d645d;font-size:13px;font-weight:700}.fb-project-end-cta{margin-top:90px;background:var(--fb-black);color:#fff;padding:52px}.fb-project-end-cta h2{margin:0 0 12px!important;color:#fff}.fb-project-end-cta p{color:#c2c8c1!important;margin:0 0 26px!important}.fb-project-end-cta .button{display:inline-flex}
@media(max-width:1000px){.project-hero-grid{grid-template-columns:1fr;gap:34px}.project-hero-image,.project-hero-image img{min-height:420px}.fb-project-overview{grid-template-columns:1fr;gap:38px}.fb-project-gallery-item img{height:440px}}
@media(max-width:720px){.project-hero{padding:115px 0 50px}.project-hero-image,.project-hero-image img{min-height:300px}.fb-project-gallery-two{grid-template-columns:1fr}.fb-project-gallery-item img{height:auto;aspect-ratio:4/3}.fb-project-end-cta{padding:30px 24px;margin-top:60px}.project-content>h2{margin-top:58px}.fb-project-facts div{grid-template-columns:1fr;gap:5px}}
.project-head-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:760px){.project-head-links{justify-content:flex-start;gap:14px}}
