@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Franklin:wght@500;600;700;800&display=swap");:root{--green:#244b35;--green-dark:#173425;--green-soft:#eaf0eb;--brown:#8a5b37;--brown-soft:#f1e8df;--cream:#f7f5f0;--ink:#172019;--muted:#657068;--white:#fff;--border:#dfe4df;--shadow:0 20px 60px rgba(19,42,29,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:DM Sans,Arial,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}img{object-fit:cover}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}.section{padding:110px 0}.eyebrow{margin:0 0 14px;color:var(--brown);font-size:12px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.eyebrow.light{color:#e3c7ad}h1,h2,h3{font-family:Libre Franklin,Arial,sans-serif;margin-top:0}h2{margin-bottom:20px;font-size:clamp(34px,4vw,56px);line-height:1.02;letter-spacing:-.045em}p{line-height:1.75}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border:1px solid var(--green);background:var(--green);color:white;font-weight:700;border-radius:3px;transition:.2s ease;cursor:pointer}.btn:hover{transform:translateY(-2px);background:var(--green-dark);box-shadow:0 10px 30px rgba(23,52,37,.16)}.btn-small{min-height:44px;padding:0 17px;font-size:14px}.btn-light{background:white;border-color:white;color:var(--green-dark)}.btn-light:hover{background:#f4f2ed;color:var(--green-dark)}.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.55);color:white}.btn-outline-light:hover{background:rgba(255,255,255,.1)}.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--green);font-weight:800;border-bottom:1px solid #aab9af;padding-bottom:5px}.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(36,75,53,.09)}.nav-wrap{height:78px;display:flex;justify-content:space-between;gap:24px}.brand,.nav-wrap{align-items:center}.brand{display:inline-flex;gap:11px;min-width:205px}.brand-mark{width:48px;height:40px;position:relative;display:inline-block}.roof-line{position:absolute;left:3px;top:10px;width:37px;height:24px;border-left:5px solid var(--green);border-top:5px solid var(--green);transform:skewY(-32deg) rotate(0deg);border-radius:2px 0 0 0}.roof-line:after{content:"";position:absolute;width:27px;height:5px;background:var(--green);right:-17px;top:5px;transform:rotate(55deg);transform-origin:left center;border-radius:4px}.chimney{position:absolute;width:7px;height:17px;background:var(--brown);right:8px;top:5px;border-radius:1px}.window-mark{position:absolute;width:12px;height:12px;border:3px solid var(--brown);left:20px;bottom:0}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-family:Libre Franklin,sans-serif;font-size:19px;letter-spacing:-.04em}.brand-copy strong span{color:var(--green)}.brand-copy small{color:var(--brown);margin-top:7px;font-size:8px;font-weight:800;letter-spacing:.18em}.brand-inverse .brand-copy strong,.brand-inverse .brand-copy strong span{color:white}.brand-inverse .brand-copy small{color:#d8b798}.brand-inverse .roof-line{border-color:white}.brand-inverse .roof-line:after{background:white}.desktop-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700}.desktop-nav a:hover{color:var(--green)}.nav-actions{gap:13px}.lang-toggle,.nav-actions{display:flex;align-items:center}.lang-toggle{gap:7px;background:none;border:0;cursor:pointer;color:#8b948e;font-size:12px;font-weight:800}.lang-toggle .active{color:var(--green)}.lang-toggle i{height:16px;width:1px;background:#ccd2cd}.menu-button{display:none;border:0;background:transparent;color:var(--green)}.mobile-menu{display:none}.hero{position:relative;min-height:820px;height:100svh;max-height:980px;color:white;display:flex;align-items:center;overflow:hidden;padding-top:78px}.hero-image{z-index:0;object-position:center 48%}.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(13,31,21,.82),rgba(13,31,21,.58) 43%,rgba(13,31,21,.18) 74%,rgba(13,31,21,.1))}.hero-content{position:relative;z-index:2;padding-bottom:105px}.hero h1{max-width:760px;font-size:clamp(54px,7.2vw,100px);line-height:.9;letter-spacing:-.065em;margin-bottom:27px}.hero h1 em{font-style:normal;color:#d9b58f}.hero-copy{max-width:630px;margin:0 0 34px;font-size:clamp(17px,2vw,20px);color:rgba(255,255,255,.88)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-bottom{position:absolute;z-index:3;left:0;bottom:0;width:100%;background:rgba(23,52,37,.94);border-top:1px solid rgba(255,255,255,.15)}.trust-grid{min-height:94px;display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{display:flex;align-items:center;justify-content:center;gap:11px;padding:18px;border-right:1px solid rgba(255,255,255,.13);font-size:14px;font-weight:700}.trust-item:last-child{border-right:0}.trust-item svg{color:#d8b798;width:22px}.services{background:var(--cream)}.split-head{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:80px;gap:80px;align-items:end;margin-bottom:58px}.split-head p:last-child{color:var(--muted);margin-bottom:10px;max-width:520px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid #d8ddd8;border-top:1px solid #d8ddd8}.service-card{min-height:285px;padding:32px 27px;background:rgba(255,255,255,.6);border-right:1px solid #d8ddd8;border-bottom:1px solid #d8ddd8;position:relative;transition:.25s ease}.service-card:hover{background:white;transform:translateY(-4px);box-shadow:var(--shadow);z-index:2}.service-number{position:absolute;top:24px;right:24px;color:#aab2ac;font-size:11px;font-weight:800}.service-icon{color:var(--brown);margin:30px 0 28px}.service-card h3{font-size:20px;margin-bottom:12px}.service-card p{color:var(--muted);margin:0;font-size:14px}.section-head.centered{text-align:center;max-width:680px;margin:0 auto 54px}.section-head.centered p:last-child{color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:260px;grid-gap:16px;gap:16px}.gallery-item{position:relative;border:0;padding:0;cursor:pointer;overflow:hidden;background:#ddd}.gallery-item img{transition:transform .45s ease}.gallery-item:hover img{transform:scale(1.035)}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(13,31,21,.65));opacity:0;transition:.25s}.gallery-item:hover:after{opacity:1}.gallery-item span{position:absolute;z-index:2;left:22px;bottom:18px;color:white;font-weight:700;display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(8px);transition:.25s}.gallery-item:hover span{opacity:1;transform:translateY(0)}.gallery-1{grid-column:span 7;grid-row:span 2}.gallery-2,.gallery-3{grid-column:span 5}.gallery-4,.gallery-5,.gallery-6{grid-column:span 4}.about-section{background:var(--cream)}.about-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:90px;gap:90px;align-items:center}.about-image-wrap{position:relative;height:650px}.about-image-wrap>img{box-shadow:var(--shadow)}.experience-card{position:absolute;right:-35px;bottom:40px;width:190px;min-height:170px;background:var(--green);color:white;padding:26px;display:flex;flex-direction:column;justify-content:center}.experience-card strong{font-family:Libre Franklin;font-size:54px;line-height:1}.experience-card span{margin-top:8px;font-size:13px;line-height:1.4}.about-copy>p{color:var(--muted)}.about-points{display:grid;grid-gap:11px;gap:11px;margin:28px 0 32px}.about-points span{display:flex;align-items:center;gap:10px;font-weight:700}.about-points svg{width:18px;color:var(--brown)}.insurance-strip{padding:70px 0;background:var(--green-dark);color:white}.insurance-inner{display:grid;grid-template-columns:auto 1fr auto;grid-gap:30px;gap:30px;align-items:center}.insurance-icon{width:74px;height:74px;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;color:#d8b798}.insurance-inner h2{font-size:clamp(28px,3vw,42px);margin-bottom:8px}.insurance-inner p:last-child{margin:0;max-width:720px;color:rgba(255,255,255,.75)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:90px;gap:90px}.faq-intro{position:-webkit-sticky;position:sticky;top:120px;align-self:start}.emergency-card{margin-top:40px;background:var(--brown-soft);padding:22px;display:flex;gap:15px;align-items:center;color:#604329}.emergency-card div{display:flex;flex-direction:column;gap:4px}.emergency-card a{font-weight:800}.faq-list{border-top:1px solid var(--border)}.faq-item{width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--border);padding:25px 0;cursor:pointer}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:Libre Franklin;font-size:18px;font-weight:700}.faq-question svg{transition:transform .2s;flex:0 0 auto}.faq-item.open .faq-question svg{transform:rotate(180deg)}.faq-answer{display:block;color:var(--muted);line-height:1.7;max-height:0;overflow:hidden;opacity:0;transition:.25s ease;padding-right:45px}.faq-item.open .faq-answer{max-height:180px;opacity:1;padding-top:14px}.estimate-section{background:var(--green);color:white;padding:105px 0}.estimate-grid{display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:90px;gap:90px;align-items:start}.estimate-copy>p{color:rgba(255,255,255,.76)}.contact-stack{display:grid;grid-gap:17px;gap:17px;margin-top:38px}.contact-stack>*{display:flex;gap:13px;align-items:center}.contact-stack svg{color:#d8b798}.contact-stack span{display:flex;flex-direction:column;font-weight:700}.contact-stack small{color:rgba(255,255,255,.55);font-weight:500;margin-bottom:2px}.estimate-form{background:white;color:var(--ink);padding:38px;box-shadow:0 28px 70px rgba(0,0,0,.18)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.estimate-form label{display:grid;grid-gap:7px;gap:7px;font-size:12px;font-weight:800;color:#48534b;margin-bottom:16px;text-transform:uppercase;letter-spacing:.05em}.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;border:1px solid #d7ddd8;background:#fbfcfb;padding:13px 14px;outline:none;color:var(--ink);text-transform:none;letter-spacing:0}.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(36,75,53,.08)}.estimate-form textarea{resize:vertical}.btn-submit{width:100%}.form-note{display:block;text-align:center;color:var(--muted);margin-top:13px}.footer{background:#102319;color:white;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr .75fr .75fr;grid-gap:70px;gap:70px;padding-bottom:55px}.footer-grid>div:first-child p{color:rgba(255,255,255,.6);max-width:380px;margin-top:25px}.footer-grid h3{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#d8b798;margin-bottom:20px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:10px;color:rgba(255,255,255,.72);font-size:14px}.footer-grid a:hover{color:white}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:24px;display:flex;justify-content:space-between;color:rgba(255,255,255,.45);font-size:12px}.mobile-contact-bar{display:none}.lightbox{position:fixed;z-index:100;inset:0;background:rgba(5,12,8,.93);display:grid;place-items:center;padding:50px}.lightbox>button{position:absolute;right:25px;top:25px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);color:white;background:transparent;cursor:pointer}.lightbox-image{position:relative;width:min(1100px,92vw);height:min(760px,82vh)}.lightbox-image img{object-fit:contain}@media (max-width:980px){.desktop-nav{display:none}.menu-button{display:block}.mobile-menu{display:grid;position:fixed;top:78px;left:0;right:0;background:white;padding:24px 20px 30px;box-shadow:0 20px 40px rgba(0,0,0,.12);grid-gap:8px;gap:8px}.mobile-menu>a:not(.btn){padding:12px 0;border-bottom:1px solid var(--border);font-weight:700}.service-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.estimate-grid,.faq-grid{gap:55px}.about-image-wrap{height:540px}.insurance-inner{grid-template-columns:auto 1fr}.insurance-inner .btn{grid-column:2;justify-self:start}}@media (max-width:760px){body{padding-bottom:64px}.container{width:min(100% - 30px,1180px)}.section{padding:78px 0}.nav-wrap{height:68px}.site-header .brand-copy strong{font-size:16px}.site-header .brand-copy small{font-size:6.5px}.site-header .brand-mark{width:42px;transform:scale(.9);transform-origin:left center}.desktop-cta{display:none}.mobile-menu{top:68px}.hero{min-height:760px;height:92svh;padding-top:68px;align-items:flex-end}.hero-image{object-position:57% center}.hero-overlay{background:linear-gradient(0deg,rgba(13,31,21,.94),rgba(13,31,21,.58) 62%,rgba(13,31,21,.24))}.hero-content{padding-bottom:155px}.hero h1{font-size:clamp(49px,15vw,70px)}.hero-copy{font-size:16px;line-height:1.6}.hero-actions{display:grid;grid-template-columns:1fr;max-width:420px}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item{min-height:65px;padding:11px;justify-content:flex-start;font-size:12px;border-bottom:1px solid rgba(255,255,255,.12)}.hero-bottom{background:rgba(23,52,37,.97)}.split-head{gap:15px;margin-bottom:40px}.service-grid,.split-head{grid-template-columns:1fr}.service-card{min-height:230px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:280px}.gallery-item{grid-column:auto!important;grid-row:auto!important}.gallery-1{height:390px}.gallery-item:after{opacity:.5}.gallery-item span{opacity:1;transform:none}.about-grid,.estimate-grid,.faq-grid{grid-template-columns:1fr;gap:48px}.about-image-wrap{height:470px;margin-right:18px}.experience-card{right:-18px;width:160px;min-height:145px}.insurance-inner{grid-template-columns:1fr}.insurance-inner .btn{grid-column:auto}.insurance-icon{width:60px;height:60px}.faq-intro{position:static}.estimate-form{padding:25px 20px}.form-row{gap:0}.footer-grid,.form-row{grid-template-columns:1fr}.footer-grid{gap:40px}.footer-bottom{flex-direction:column;gap:8px}.mobile-contact-bar{position:fixed;z-index:70;bottom:0;left:0;right:0;height:64px;display:grid;grid-template-columns:.8fr 1.2fr;box-shadow:0 -8px 25px rgba(0,0,0,.14)}.mobile-contact-bar a{display:flex;align-items:center;justify-content:center;gap:8px;background:white;color:var(--green);font-size:13px;font-weight:800}.mobile-contact-bar a:last-child{background:var(--green);color:white}.lightbox{padding:20px}.lightbox-image{width:96vw;height:78vh}}@media (max-width:430px){.lang-toggle{gap:5px}.brand{min-width:0}.nav-actions{gap:7px}.hero h1{font-size:48px}.trust-item svg{width:18px}}