@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@1,500&display=swap');
:root{--ink:#17231e;--forest:#18261f;--paper:#f5f4ef;--lime:#d9f264;--muted:#657067;--rule:#dadfd5;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:98px}body{margin:0;background:var(--paper);font-family:'DM Sans',Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}.shell{width:min(1340px,calc(100% - 104px));margin:auto}.demo-strip{background:var(--lime);min-height:34px;display:flex;justify-content:center;gap:12px;align-items:center;padding:7px 14px;color:#1c2a21;font-size:10px;font-weight:800;letter-spacing:.09em;text-align:center}.demo-strip a{text-decoration:underline;text-underline-offset:3px}.dot{width:7px;height:7px;border-radius:50%;background:#1b351d;display:inline-block}.header{position:sticky;top:0;z-index:30;background:rgba(245,244,239,.96);backdrop-filter:blur(14px);border-bottom:1px solid #e5e8e0}.nav{display:flex;align-items:center;gap:40px;justify-content:space-between;height:82px}.logo{display:flex;align-items:center;gap:11px;flex-shrink:0}.logo-mark{position:relative;font-size:44px;font-weight:800;letter-spacing:-.14em;line-height:1}.logo-sq{display:block;position:absolute;bottom:6px;right:-6px;width:7px;height:7px;background:#8caa29}.logo-text{font-family:Manrope,sans-serif;font-weight:800;font-size:20px;letter-spacing:.12em;line-height:1}.logo-text small{display:block;margin-top:8px;font-size:8px;letter-spacing:.2em}.menu{display:flex;gap:31px;margin-left:auto}.menu a{font-size:12px;font-weight:700;transition:color .2s}.menu a:hover{color:#809b1e}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 22px;font-weight:800;font-size:12px;border:0;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn span{font-size:18px}.btn-dark{background:var(--ink);color:white}.btn-lime{background:var(--lime);color:var(--ink)}.btn-lime:hover{background:#e7ff84}.menu-button{display:none;border:0;background:transparent;padding:10px}.menu-button span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}.hero{height:min(800px,calc(100svh - 116px));min-height:640px;position:relative;background:#6e7c74;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;background-image:url('../assets/hero.svg');background-size:cover;background-position:center 53%;transform:scale(1.005)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,25,20,.92) 0%,rgba(11,25,20,.77) 34%,rgba(11,25,20,.19) 76%),linear-gradient(0deg,rgba(7,21,16,.6),transparent 42%)}.hero-inner{position:relative;height:100%;display:flex;flex-direction:column;justify-content:space-between}.hero-copy{padding-top:clamp(100px,14vh,170px);width:min(760px,100%)}.eyebrow,.label{display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:.2em;font-weight:800}.light{color:#e3e9df}.small-line{width:25px;height:1px;background:var(--lime)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Manrope,Arial,sans-serif;letter-spacing:-.065em;font-weight:600}h1{font-size:clamp(66px,8.3vw,128px);line-height:1.02;margin:28px 0}h1 em,h2 .serif,blockquote em{font-family:var(--serif);font-weight:400;letter-spacing:-.05em}h1 em{color:var(--lime)}.hero-copy p{max-width:520px;font-size:16px;color:#e4e8e1;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:40px}.text-link{font-weight:700;font-size:12px;border-bottom:1px solid #ffffff88;padding-bottom:8px}.text-link span{margin-left:15px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;padding-bottom:42px}.hero-stat{display:flex;gap:18px;align-items:baseline}.hero-stat strong{font-size:28px;letter-spacing:-.06em}.hero-stat span,.hero-scroll{font-size:10px;font-weight:800;letter-spacing:.16em}.hero-scroll{display:flex;gap:12px;align-items:center}.arrow-down{font-size:24px}.hero-index{position:absolute;right:35px;top:50%;transform:rotate(90deg);font-size:10px;font-weight:800;letter-spacing:.2em}.ticker{background:var(--lime)}.ticker-inner{display:flex;justify-content:space-between;gap:18px;align-items:center;min-height:70px;font-size:10px;font-weight:800;letter-spacing:.1em}.ticker b{font-size:20px}.section{padding:128px 0}.two-col{display:grid;grid-template-columns:1fr 2fr;gap:100px}.section-no{color:#899783}.about h2,.services h2,.projects h2,.process h2,.faq h2,.contact h2,.estimator h2{font-size:clamp(48px,5vw,78px);line-height:1.14;margin:0 0 35px}.lead{font-size:21px;font-weight:500;line-height:1.7;max-width:750px}.muted{color:var(--muted);line-height:1.9;font-size:15px;max-width:670px}.inline-link{display:inline-block;margin-top:25px;border-bottom:1px solid var(--ink);padding:0 0 9px;font-size:13px;font-weight:800}.inline-link span{margin-left:50px}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);margin-top:75px;padding-top:32px;gap:12px}.metric-row strong{font:500 46px Manrope;letter-spacing:-.08em;display:block}.metric-row span{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--muted)}.dark{background:var(--forest);color:white}.pale{color:#a6b4a8}.topline{display:flex;justify-content:space-between;align-items:start;margin-bottom:68px}.topline p{color:#91a396;font-size:13px;line-height:1.6;margin:0}.services h2{max-width:850px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:72px}.service{min-height:340px;border:1px solid #48544a;padding:30px 25px;display:flex;flex-direction:column;position:relative;transition:background .2s}.service:hover{background:#253a2d}.service-icon{font-size:40px;color:var(--lime);font-weight:300;height:70px}.service-num{font-size:11px;color:#889c8d;margin-top:auto;margin-bottom:16px}.service h3{font:600 24px Manrope;letter-spacing:-.04em;margin:0 0 12px}.service p{color:#adbbaf;font-size:13px;line-height:1.7;padding-right:14px}.service-arrow{position:absolute;right:23px;bottom:24px;color:var(--lime);font-size:20px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px}.section-heading h2{max-width:750px}.filter-wrap{display:flex;gap:5px;align-items:center;margin-bottom:40px;flex-wrap:wrap}.filter{background:transparent;border:1px solid #d0d7c9;color:var(--muted);padding:11px 14px;font-weight:700;font-size:11px}.filter.active,.filter:hover{background:var(--ink);color:white;border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px 26px}.project[hidden]{display:none}.project-image{position:relative;overflow:hidden;background:#b4b7ae;aspect-ratio:1.31}.project img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.045)}.project-tag{position:absolute;top:18px;left:18px;font-size:10px;font-weight:800;letter-spacing:.1em;background:#edf1e8;padding:12px}.project-details{display:flex;align-items:center;justify-content:space-between;padding-top:22px;border-bottom:1px solid var(--rule);padding-bottom:20px}.project-details h3{font:600 22px Manrope;letter-spacing:-.04em;margin:0 0 6px}.project-details p{font-size:12px;color:var(--muted);margin:0}.project-details>span{font-size:22px}.disclaimer{color:var(--muted);font-size:12px;margin:25px 0 0}.quote-band{background:var(--lime);padding:105px 0}.quote-band .shell{max-width:1090px}.asterisk{font-size:44px}.quote-band blockquote{font:500 clamp(34px,4.4vw,64px)/1.27 Manrope,sans-serif;letter-spacing:-.05em;margin:30px 0}.quote-credit{font-size:10px;letter-spacing:.13em;font-weight:800}.steps{margin-top:65px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.step{border-top:1px solid #a6b1a6;padding-top:24px}.step-number{font:500 56px Manrope;letter-spacing:-.08em;color:#bac5b5;margin-bottom:70px}.step h3{font:600 24px Manrope;letter-spacing:-.04em;margin-bottom:12px}.step p{font-size:13px;color:var(--muted);line-height:1.8}.estimator-grid{display:grid;grid-template-columns:1fr 440px;gap:12%;align-items:center}.estimator h2{margin-top:40px}.estimator p{font-size:15px;color:#bdc7bc;line-height:1.85}.estimate-note{border-top:1px solid #4c5c50;margin-top:50px;padding-top:22px;color:#b7c9b7;font-size:13px}.estimate-card{background:#f7f7f2;color:var(--ink);padding:38px}.estimate-card h3{font-size:27px;font-family:Manrope;letter-spacing:-.06em;margin-bottom:28px}.estimate-card label,.contact-form label{display:block;font-size:12px;font-weight:800;margin:18px 0 9px}.estimate-card select,.contact-form select,.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;border:1px solid #cbd2c8;border-radius:0;background:#fff;padding:15px;color:var(--ink);outline-offset:3px}.estimate-card input[type=range]{width:100%;accent-color:#647d40}.range-heading{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.range-heading strong{font-size:20px}.range-ends{display:flex;justify-content:space-between;color:#879387;font-size:11px}.full{width:100%;margin-top:22px}.smallprint{font-size:11px!important;color:#748173!important;text-align:center;line-height:1.6!important;margin:12px 0 0}.faq-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:13%}.accordion details{border-bottom:1px solid #cfd7cc;padding:19px 0}.accordion summary{list-style:none;display:flex;justify-content:space-between;gap:12px;font-weight:700;font-size:15px;cursor:pointer;align-items:center}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font-size:23px;font-weight:400}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{font-size:14px;line-height:1.85;color:var(--muted);margin:16px 0 4px}.contact{background:#253a2d;color:white}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact h2{margin-top:40px}.contact-layout>div>p{max-width:520px;color:#c6d1c4;line-height:1.85}.contact-details{display:grid;gap:25px;margin-top:60px}.contact-details span{display:block;color:#a0b69f;font-size:10px;letter-spacing:.13em;font-weight:800;margin-bottom:9px}.contact-details strong{font-size:13px;font-weight:500}.contact-form{background:#f6f7f1;color:var(--ink);padding:37px}.contact-form label{margin-top:0}.contact-form label:not(:first-child){margin-top:22px}.contact-form label span{color:#8a9c41}.contact-form textarea{resize:vertical}.contact-form .consent{display:flex;gap:12px;align-items:start;font-weight:500;line-height:1.5;font-size:12px}.consent input{accent-color:#587631;margin-top:3px}.form-feedback{font-size:12px;color:#4f662c;line-height:1.5;margin:12px 0 0}footer{background:#121d17;color:white;padding:85px 0 30px}.footer-top{display:flex;justify-content:space-between;gap:70px;padding-bottom:100px}.big-logo{font:800 clamp(52px,8vw,120px) Manrope;letter-spacing:-.09em;line-height:1}.big-logo span{font-size:18px;vertical-align:top;letter-spacing:0}.footer-brand p{font-size:13px;line-height:1.8;color:#a5b2a6;margin-top:25px}.footer-links{display:flex;gap:100px}.footer-links div{display:flex;flex-direction:column;gap:16px}.footer-links strong{font-size:10px;color:#9bac9d;letter-spacing:.13em;margin-bottom:6px}.footer-links a{font-size:13px}.footer-links a:hover{color:var(--lime)}.footer-bottom{display:flex;justify-content:space-between;gap:15px;padding-top:24px;border-top:1px solid #3c4c40;color:#9baa9b;font-size:10px;letter-spacing:.06em}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,120px);background:#d9f264;color:#17231e;padding:15px 20px;z-index:60;box-shadow:0 10px 40px #0004;font-size:13px;font-weight:700;transition:transform .3s;max-width:calc(100% - 40px)}.toast.show{transform:translate(-50%,0)}:focus-visible{outline:3px solid #a8c736;outline-offset:4px}
@media(max-width:1100px){.shell{width:min(100% - 60px,1340px)}.menu{gap:16px}.services-grid{grid-template-columns:repeat(2,1fr)}.service{min-height:270px}.estimator-grid{gap:6%;grid-template-columns:1fr 390px}.contact-layout{gap:6%}.footer-links{gap:40px}}@media(max-width:760px){.shell{width:calc(100% - 38px)}.demo-strip{font-size:9px;gap:7px}.nav{height:67px}.logo-text{font-size:16px}.logo-mark{font-size:38px}.nav-cta{display:none}.menu-button{display:block;margin-left:auto}.menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:22px 20px 30px;box-shadow:0 15px 20px #0002;flex-direction:column;gap:0}.menu.open{display:flex}.menu a{font-size:15px;padding:14px;border-bottom:1px solid #dce1d7}.hero{min-height:670px;height:calc(100svh - 95px);max-height:790px}.hero-image{background-position:58% center}.hero-overlay{background:linear-gradient(90deg,rgba(11,25,20,.87),rgba(11,25,20,.28)),linear-gradient(0deg,#0b1914b3,transparent 60%)}.hero-copy{padding-top:110px}.hero-copy h1{font-size:clamp(58px,12vw,86px);margin:22px 0}.hero-copy p{font-size:14px;line-height:1.75}.hero-actions{flex-direction:column;align-items:start;gap:25px}.hero-index{display:none}.ticker-inner{flex-wrap:wrap;justify-content:center;min-height:80px;padding:15px 0;gap:12px;font-size:9px}.ticker-inner span:nth-of-type(n+3),.ticker-inner b:nth-of-type(n+2){display:none}.section{padding:80px 0}.two-col,.faq-grid,.contact-layout,.estimator-grid{grid-template-columns:1fr;gap:35px}.about h2,.services h2,.projects h2,.process h2,.faq h2,.contact h2,.estimator h2{font-size:clamp(42px,9vw,62px)}.topline{margin-bottom:45px}.topline p{font-size:11px;text-align:right}.metric-row{margin-top:45px}.services-grid{gap:10px;margin-top:40px}.service{padding:20px 15px;min-height:280px}.service h3{font-size:20px}.service p{font-size:12px}.service-arrow{right:12px;bottom:10px}.section-heading{display:block}.filter-wrap{margin:0 0 28px}.project-grid{grid-template-columns:1fr;gap:28px}.quote-band{padding:70px 0}.steps{grid-template-columns:1fr 1fr;gap:30px}.step-number{margin-bottom:35px}.estimate-card{padding:25px}.contact h2{margin-top:0}.contact-form{padding:23px}.footer-top{flex-direction:column;gap:50px;padding-bottom:50px}.footer-bottom{flex-direction:column;line-height:1.6}.footer-links{justify-content:space-between;gap:25px}}@media(max-width:410px){.services-grid{grid-template-columns:1fr}.service{min-height:230px}.hero-copy h1{font-size:56px}.steps{grid-template-columns:1fr 1fr}.step h3{font-size:20px}.ticker-inner{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Mobile refinement — v2: restrained symbols, improved layout and legibility. */
.service-icon svg{display:block;width:40px;height:40px;stroke:var(--lime)}
.ticker-separator{font-size:15px!important;font-weight:400;opacity:.55}
@media(max-width:760px){
 html{scroll-padding-top:77px}
 .demo-strip{line-height:1.45;min-height:42px;font-size:9px;letter-spacing:.02em;padding:8px 18px;flex-wrap:wrap;gap:4px 8px}
 .demo-strip a{white-space:nowrap}
 .nav{height:66px}
 .hero{height:auto;min-height:580px;max-height:none}
 .hero-inner{min-height:580px}
 .hero-copy{padding-top:85px;padding-bottom:55px}
 .hero-copy h1{font-size:clamp(44px,10.8vw,69px);line-height:1.05;letter-spacing:-.065em;margin:22px 0}
 .hero-copy p{font-size:15px;line-height:1.7;max-width:32rem}
 .hero-actions{margin-top:27px;gap:20px;align-items:flex-start}
 .hero-actions .btn{min-height:50px}
 .hero-bottom{padding-bottom:24px}
 .hero-stat span,.hero-scroll{font-size:9px}
 .ticker-inner{min-height:57px;padding:12px 0;gap:10px;font-size:9px;letter-spacing:.05em}
 .section{padding:66px 0}
 .about h2,.services h2,.projects h2,.process h2,.faq h2,.contact h2,.estimator h2{font-size:clamp(34px,8.8vw,51px);line-height:1.12;margin-bottom:24px;overflow-wrap:break-word}
 .eyebrow,.label{font-size:10px;letter-spacing:.12em}
 .lead{font-size:17px;line-height:1.65}
 .topline{display:block;margin-bottom:34px}
 .topline p{margin-top:14px;text-align:left;font-size:12px}
 .services-grid{grid-template-columns:1fr;gap:12px;margin-top:30px}
 .service{min-height:0;padding:23px 23px 26px}
 .service-icon{height:54px}
 .service-icon svg{width:34px;height:34px}
 .service-num{margin-top:9px;margin-bottom:12px}
 .service h3{font-size:22px;padding-right:23px}
 .service p{font-size:14px;line-height:1.65;padding-right:14px;margin-bottom:0}
 .service-arrow{right:22px;bottom:21px}
 .metric-row{margin-top:36px;padding-top:25px}
 .metric-row strong{font-size:34px}
 .metric-row span{font-size:9px}
 .project-image{aspect-ratio:1.4}
 .project-details h3{font-size:20px}
 .quote-band{padding:57px 0}
 .quote-band blockquote{font-size:clamp(29px,7.4vw,41px);line-height:1.29;margin:19px 0}
 .steps{grid-template-columns:1fr 1fr;gap:25px 17px;margin-top:38px}
 .step-number{font-size:42px;margin-bottom:27px}
 .step h3{font-size:20px}
 .step p{font-size:13px}
 .estimate-card,.contact-form{padding:22px 19px}
 .footer-top{padding-bottom:34px}
 .big-logo{font-size:clamp(46px,14vw,78px)}
}
@media(max-width:390px){
 .hero-copy h1{font-size:clamp(40px,11vw,49px)}
 .hero-inner{min-height:610px}
 .hero{min-height:610px}
 .hero-scroll{display:none}
 .ticker-inner span:nth-of-type(n+2){display:none}
 .metric-row{gap:6px}
 .metric-row strong{font-size:30px}
 .steps{grid-template-columns:1fr}
 .step-number{margin-bottom:10px}
}
