:root{color:#173228;font-synthesis:none;text-rendering:optimizelegibility;background:#fff;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#fff;min-width:320px;margin:0}body,button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{color:inherit}.site{--ink:#173228;--accent:#8aa649;--accent-soft:#e9eedc;--paper:#f5f1e8;color:var(--ink);overflow:hidden}.shell{width:min(1180px,100% - 48px);margin-inline:auto}.section{padding-block:112px}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.025em;font-family:Merriweather,Georgia,serif;font-weight:400}h1 em,h2 em{color:var(--accent);font-style:normal;font-weight:400}.eyebrow{color:#5b6a63;letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:24px;font-size:12px;font-weight:600;display:flex}.eyebrow:before{content:"";background:currentColor;width:28px;height:1px}.eyebrow.light{color:#ffffffb8}.button{border:1px solid #0000;justify-content:center;align-items:center;gap:18px;min-height:52px;padding:0 22px;font-size:14px;font-weight:600;transition:transform .2s,background .2s,color .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--accent);color:#fff}.button.ghost{color:#fff;border-color:#ffffff73}.button.ghost:hover{color:var(--ink);background:#fff}.text-link{border-bottom:1px solid;align-items:center;gap:22px;padding-bottom:7px;font-size:14px;font-weight:600;display:inline-flex}.site-header{z-index:20;color:#fff;background:#081f17f7;border-bottom:1px solid #ffffff3d;justify-content:space-between;align-items:center;width:100%;height:82px;padding:0 max(28px,50vw - 670px);display:flex;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #04140d2e}.site-header:after{display:none}.brand{letter-spacing:-.01em;align-items:center;gap:13px;font-size:15px;font-weight:700;display:flex}.brand img{object-fit:contain;background:#fff;border:1px solid #ffffff73;border-radius:4px;width:48px;height:48px;padding:2px}.nav{letter-spacing:.01em;align-items:center;gap:28px;font-size:13px;font-weight:600;display:flex}.nav>a:not(.nav-cta):not(.nav-phone){padding-block:12px;position:relative}.nav>a:not(.nav-cta):not(.nav-phone):after{content:"";background:var(--accent);height:2px;transition:transform .2s;position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0)}.nav>a:not(.nav-cta):not(.nav-phone):hover:after,.nav>a:not(.nav-cta):not(.nav-phone):focus-visible:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.nav-phone{color:#ffffffdb;border-left:1px solid #ffffff47;padding-left:26px}.nav-cta{border:1px solid var(--accent);background:var(--accent);color:#112b23;align-items:center;min-height:44px;padding:0 18px;font-weight:700;display:flex}.menu-toggle{background:#ffffff14;border:1px solid #ffffff3d;width:44px;height:44px;padding:12px;display:none}.menu-toggle span{background:#fff;width:100%;height:1px;margin:6px 0;display:block}.hero{isolation:isolate;background:var(--ink);color:#fff;align-items:flex-end;min-height:720px;display:flex;position:relative}.hero-image,.hero-shade{z-index:-2;width:100%;height:100%;position:absolute;inset:0}.hero-image{object-fit:cover;object-position:50% 40%}.hero-shade{z-index:-1;background:linear-gradient(90deg,#0a1c15e6 0%,#0a1c15a8 47%,#0a1c1538 77%),linear-gradient(#0000 50%,#0a1c1580)}.hero-copy{padding-bottom:124px}.hero h1{color:#fff;max-width:940px;margin-bottom:25px;font-size:clamp(52px,5.5vw,78px);line-height:1.02}.hero-description{color:#ffffffc7;max-width:610px;margin-bottom:35px;font-size:17px;line-height:1.65}.hero-actions{gap:12px;display:flex}.hero-meta{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#102c22eb;justify-content:space-around;align-items:center;gap:20px;min-width:48%;min-height:76px;padding:0 5vw;font-size:12px;display:flex;position:absolute;bottom:0;right:0}.hero-meta span{white-space:nowrap;align-items:center;gap:9px;display:flex}.hero-meta b{color:var(--accent);font-size:10px}.trust-strip{background:#fff;border-bottom:1px solid #dce2dd}.trust-strip .shell{justify-content:space-between;align-items:center;gap:24px;min-height:78px;display:flex}.trust-strip span{color:#435249;align-items:center;gap:9px;font-size:13px;display:flex}.trust-strip i{background:var(--accent-soft);width:23px;height:23px;color:var(--ink);border-radius:50%;place-items:center;font-size:11px;font-style:normal;display:grid}.section-intro{grid-template-columns:1.2fr .8fr;align-items:end;gap:80px;margin-bottom:62px;display:grid}.section-intro h2,.story-copy h2,.areas-grid h2,.contact-copy h2{margin-bottom:0;font-size:clamp(42px,4.5vw,64px);line-height:1.08}.section-intro>p{color:#66716b;max-width:460px;margin-bottom:6px;font-size:16px;line-height:1.8}.section-intro.compact{grid-template-columns:1fr}.service-grid{border-top:1px solid #cfd8d1;border-left:1px solid #cfd8d1;grid-template-columns:repeat(3,1fr);display:grid}.service-card{border-bottom:1px solid #cfd8d1;border-right:1px solid #cfd8d1;min-height:330px;padding:32px;transition:background .25s,color .25s}.service-card>span{color:#8b958f;letter-spacing:.12em;font-size:11px}.service-card h3{margin:65px 0 15px;font-family:Merriweather,Georgia,serif;font-size:27px;font-weight:400}.service-card p{color:#6b756f;min-height:72px;margin-bottom:28px;font-size:14px;line-height:1.7}.service-card a{gap:15px;font-size:12px;font-weight:600;display:inline-flex}.service-card:hover{background:var(--ink);color:#fff}.service-card:hover p,.service-card:hover>span{color:#ffffffa8}.story-section{background:var(--paper);grid-template-columns:1.05fr .95fr;min-height:760px;display:grid}.story-media{min-height:650px}.story-media img{object-fit:cover;width:100%;height:100%}.story-copy{padding:100px clamp(42px,7vw,118px)}.story-copy>p:not(.eyebrow){color:#68716b;max-width:580px;margin:34px 0;line-height:1.75}.story-points{border-top:1px solid #ccd2cc;margin-bottom:42px}.story-points div{border-bottom:1px solid #ccd2cc;grid-template-columns:145px 1fr;gap:25px;padding:19px 0;display:grid}.story-points b{font-size:13px}.story-points span{color:#6a746e;font-size:13px;line-height:1.55}.process-grid{grid-template-columns:repeat(3,1fr);gap:56px;display:grid}.process-grid article{border-top:1px solid #cbd4cd;padding-top:32px;position:relative}.process-grid article:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:0}.process-grid span{color:#7c8981;font-size:11px}.process-grid h3{margin:38px 0 14px;font-family:Merriweather,Georgia,serif;font-size:25px;font-weight:400}.process-grid p{color:#68736c;font-size:14px;line-height:1.7}.work-section{color:#fff;background:#12362c}.work-section .section-intro{border-bottom:1px solid #fff3;margin-bottom:42px;padding-bottom:38px}.work-section .section-intro h2{font-size:clamp(42px,4.4vw,62px)}.light-intro>p{color:#ffffffb3}.gallery{grid-template-rows:repeat(2,320px);grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr) minmax(0,.75fr);gap:16px;height:auto;display:grid}.gallery figure{background:#10271e;border:1px solid #ffffff29;margin:0;position:relative;overflow:hidden}.gallery figure:after{content:"";pointer-events:none;background:linear-gradient(#0000,#061912d1);position:absolute;inset:35% 0 0}.gallery-1{grid-area:1/1/3}.gallery-2{grid-area:1/2}.gallery-3{grid-area:1/3}.gallery-4{grid-area:2/2}.gallery-5{grid-area:2/3}.gallery img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.gallery figure:hover img{transform:scale(1.018)}.gallery figcaption{z-index:1;color:#fff;letter-spacing:.02em;border-top:1px solid #ffffff7a;padding-top:15px;font-size:12px;font-weight:600;position:absolute;bottom:18px;left:20px;right:20px}.review-preview-grid,.review-page-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.review-card{background:#fff;border:1px solid #d8dfda;padding:28px}.review-top{grid-template-columns:44px 1fr auto;align-items:center;gap:12px;display:grid}.review-avatar{background:var(--accent-soft);border-radius:50%;place-items:center;width:44px;height:44px;font-size:12px;font-weight:600;display:grid}.review-top strong{font-size:14px;display:block}.review-top small{color:#738078;margin-top:4px;font-size:10px;display:block}.review-top small span{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:14px;height:14px;margin-right:4px;display:inline-grid}.review-number{color:#a3aca6;font-size:10px}.stars{color:#d3a33a;letter-spacing:.14em;margin:26px 0 14px;font-size:13px}.review-card blockquote{color:#4f5d55;margin:0;font-family:Merriweather,Georgia,serif;font-size:17px;line-height:1.65}.areas-section{background:var(--ink);color:#fff;padding-block:105px}.areas-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:100px;display:grid}.areas-grid>div:first-child>p:last-child{color:#fff9;margin:26px 0 0}.area-list{border-top:1px solid #fff3}.area-list span{border-bottom:1px solid #fff3;align-items:center;gap:28px;padding:18px 0;font-family:Merriweather,Georgia,serif;font-size:21px;display:flex}.area-list b{color:var(--accent);font-family:DM Sans,sans-serif;font-size:10px}.contact-section{background:var(--paper)}.contact-grid{grid-template-columns:.85fr 1.15fr;gap:clamp(55px,9vw,140px);display:grid}.contact-copy>p:not(.eyebrow){color:#657169;max-width:500px;margin:30px 0;line-height:1.75}.contact-phone{flex-direction:column;margin:8px 0 14px;font-family:Merriweather,Georgia,serif;font-size:clamp(32px,3.4vw,48px);display:inline-flex}.contact-phone span{color:#68746d;align-items:center;gap:10px;margin-top:5px;font-family:DM Sans,sans-serif;font-size:12px;display:flex}.contact-email{color:#647168;font-size:14px;display:block}.estimate-form{background:#fff;padding:38px;box-shadow:0 20px 55px #142c2214}.estimate-form label{color:#657068;letter-spacing:.08em;text-transform:uppercase;gap:8px;margin-bottom:20px;font-size:11px;font-weight:600;display:grid}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;color:var(--ink);letter-spacing:0;text-transform:none;background:0 0;border:0;border-bottom:1px solid #bdc8c0;border-radius:0;outline:none;font-size:14px}.estimate-form input,.estimate-form select{height:44px}.estimate-form textarea{resize:vertical;padding:12px 0}.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{border-color:var(--accent)}.estimate-form button{background:var(--ink);color:#fff;cursor:pointer;border:0;justify-content:space-between;align-items:center;width:100%;height:54px;padding:0 20px;font-weight:600;display:flex}.estimate-form>small{color:#879188;text-align:center;margin-top:10px;font-size:10px;display:block}footer{color:#fff;background:#0d2119;padding-top:64px}.footer-main{grid-template-columns:1.5fr 1fr .7fr;gap:60px;padding-bottom:60px;display:grid}.footer-brand img{object-fit:cover;background:#fff;border-radius:50%;width:68px;height:68px;margin-bottom:18px}.footer-brand p{color:#ffffff94;font-family:Merriweather,Georgia,serif;font-size:18px;line-height:1.5}.footer-main>div:not(.footer-brand){color:#ffffffa3;flex-direction:column;gap:10px;font-size:13px;display:flex}.footer-main .footer-label{color:#fff;letter-spacing:.16em;text-transform:uppercase;margin-bottom:15px;font-size:10px;font-weight:600}.footer-main a:hover{color:#fff}.footer-bottom{color:#ffffff75;border-top:1px solid #ffffff26;justify-content:space-between;align-items:center;gap:20px;min-height:66px;font-size:10px;display:flex}.chat-wrap{z-index:60;position:fixed;bottom:20px;right:20px}.chat-launch{background:var(--ink);color:#fff;cursor:pointer;border:1px solid #ffffff2e;align-items:center;gap:9px;height:50px;padding:0 18px;font-size:12px;font-weight:600;display:flex;box-shadow:0 12px 32px #09191233}.chat-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent);border-radius:50%}.chat-panel{background:#fff;border:1px solid #d4dcd6;width:min(365px,100vw - 30px);position:absolute;bottom:62px;right:0;overflow:hidden;box-shadow:0 24px 65px #07181038}.chat-head{background:var(--ink);color:#fff;justify-content:space-between;align-items:center;padding:20px;display:flex}.chat-head small,.chat-head strong{display:block}.chat-head small{color:#ffffff8c;letter-spacing:.15em;margin-bottom:5px;font-size:9px}.chat-head strong{font-family:Merriweather,Georgia,serif;font-size:19px;font-weight:400}.chat-head button{color:#fff;cursor:pointer;background:#ffffff1a;border:0;width:34px;height:34px;font-size:24px;line-height:1}.chat-answer{background:var(--paper);color:#4f5f55;min-height:96px;padding:18px 20px;font-size:13px;line-height:1.6}.chat-questions{gap:7px;max-height:225px;padding:16px 20px;display:grid;overflow-y:auto}.chat-questions button{cursor:pointer;color:#425248;text-align:left;background:#fff;border:1px solid #d8dfda;padding:10px 12px;font-size:12px;transition:border .2s,background .2s}.chat-questions button:hover{border-color:var(--accent);background:var(--accent-soft)}.chat-call{background:var(--accent);color:#fff;text-align:center;padding:13px 20px;font-size:12px;font-weight:600;display:block}.mobile-call{display:none}.reviews-hero{background:var(--ink);color:#fff;padding:180px 0 105px;position:relative}.reviews-hero:after{content:"";border:1px solid #ffffff14;border-radius:50%;width:52vw;height:52vw;position:absolute;bottom:-25vw;right:-5vw}.reviews-hero-grid{z-index:1;grid-template-columns:1fr auto;align-items:end;gap:65px;display:grid;position:relative}.reviews-hero h1{margin-bottom:25px;font-size:clamp(48px,5vw,76px);line-height:1.05}.reviews-hero-grid>div:first-child>p:last-child{color:#ffffffa6;max-width:570px;margin-bottom:0;line-height:1.7}.review-score{border:1px solid #ffffff38;align-items:center;gap:22px;min-width:295px;padding:25px;display:flex}.review-score>strong{font-family:Merriweather,Georgia,serif;font-size:54px;font-weight:400;line-height:1}.review-score span{color:#e4b342;letter-spacing:.08em}.review-score p{margin:5px 0 2px;font-size:11px}.review-score small{color:#ffffff80;font-size:9px}.reviews-content{grid-template-columns:1fr 340px;align-items:start;gap:30px;display:grid}.review-page-grid{grid-template-columns:1fr 1fr}.review-page-grid .review-card{min-height:330px}.review-cta{background:var(--ink);color:#fff;padding:36px;position:sticky;top:25px}.review-cta h2{margin-bottom:17px;font-family:Merriweather,Georgia,serif;font-size:34px;font-weight:400}.review-cta>p:not(.eyebrow){color:#ffffffa8;margin-bottom:28px;font-size:13px;line-height:1.7}.review-cta .button{margin-bottom:16px;display:flex}.review-cta>a:last-child{color:#ffffffa6;text-align:center;font-size:11px;display:block}@media (width<=980px){.site-header{height:72px;padding:0 20px}.menu-toggle{display:block}.nav{color:#fff;background:#0b2b22;border-top:1px solid #ffffff2e;flex-direction:column;align-items:stretch;gap:0;padding:18px 20px 22px;display:none;position:absolute;top:72px;left:0;right:0;box-shadow:0 18px 32px #0003}.nav.open{display:flex}.nav a{border-bottom:1px solid #ffffff24;padding:14px 4px}.nav-phone{color:#ffffffdb;border-left:0;padding-left:4px}.nav-cta{background:var(--accent);color:#112b23;justify-content:center;margin-top:10px;border-bottom:1px solid var(--accent)!important}.hero{min-height:680px}.hero-copy{padding-bottom:120px}.hero-meta{min-width:60%}.service-grid{grid-template-columns:repeat(2,1fr)}.story-section{grid-template-columns:1fr}.story-media{min-height:520px;max-height:620px}.story-copy{padding:80px max(24px,50vw - 380px)}.gallery{grid-template-rows:repeat(2,260px)}.review-preview-grid{grid-template-columns:1fr 1fr}.review-preview-grid .review-card:last-child{display:none}.reviews-content{grid-template-columns:1fr}.review-cta{position:static}}@media (width<=720px){.shell{width:min(100% - 32px,580px)}.section{padding-block:74px}.site-header{width:100%;padding:0 16px}.brand img{width:42px;height:42px}.brand span{font-size:14px}.hero{min-height:640px}.hero-shade{background:linear-gradient(#081a125c 0%,#081a1285 34%,#081a12eb 100%)}.hero-image{object-position:58% center}.hero-copy{padding-bottom:94px}.hero h1{font-size:clamp(42px,11vw,56px);line-height:1.08}.hero .eyebrow{display:none}.hero-description{font-size:14px;line-height:1.6}.hero-actions{flex-direction:column;align-items:stretch}.button{width:100%}.hero-meta{min-width:0;min-height:58px;padding:0 16px;left:0;right:0}.hero-meta span{gap:6px;font-size:9px}.trust-strip .shell{flex-wrap:wrap;justify-content:flex-start;min-height:0;padding:20px 0}.trust-strip span{width:calc(50% - 12px);font-size:11px}.section-intro{grid-template-columns:1fr;gap:24px;margin-bottom:40px}.section-intro h2,.story-copy h2,.areas-grid h2,.contact-copy h2{font-size:38px;line-height:1.15}.section-intro>p{font-size:14px}.service-grid{grid-template-columns:1fr}.service-card{min-height:285px;padding:26px}.service-card h3{margin-top:45px}.story-media{min-height:390px}.story-copy{padding:70px 16px}.story-points div{grid-template-columns:1fr;gap:6px}.process-grid{grid-template-columns:1fr;gap:35px}.process-grid h3{margin-top:25px}.gallery{grid-template-rows:none;grid-template-columns:1fr;gap:12px;height:auto}.gallery-1,.gallery-2,.gallery-3,.gallery-4,.gallery-5{grid-area:auto/1}.gallery figure{min-height:260px}.gallery-1{min-height:380px}.review-preview-grid,.review-page-grid{grid-template-columns:1fr}.review-preview-grid .review-card:last-child{display:block}.review-card{padding:24px}.areas-grid{grid-template-columns:1fr;gap:45px}.area-list span{font-size:22px}.contact-grid{grid-template-columns:1fr;gap:42px}.estimate-form{padding:26px 20px}.field-row{grid-template-columns:1fr;gap:0}.footer-main{grid-template-columns:1fr;gap:36px}.footer-bottom{flex-direction:column;justify-content:center;align-items:flex-start;padding:20px 0}.chat-wrap{bottom:70px;right:12px}.chat-launch{height:45px}.mobile-call{z-index:55;background:var(--accent);color:#fff;place-items:center;height:46px;font-size:13px;font-weight:600;display:grid;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 10px 25px #09191238}.reviews-hero{padding:140px 0 75px}.reviews-hero-grid{grid-template-columns:1fr;gap:42px}.reviews-hero h1{font-size:42px;line-height:1.12}.review-score{width:100%;min-width:0}.review-page-grid .review-card{min-height:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
