:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#1b211f;background:#f4f5f0;font-synthesis:none;scroll-behavior:smooth;--ink:#1b211f;--muted:#65706b;--paper:#f4f5f0;--line:#d9ded6;--accent:#dafa5b;--white:#fff}
*{box-sizing:border-box}html{scroll-padding-top:90px}body{margin:0;min-width:320px}button,input{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer}.container{width:min(100% - 64px,1320px);margin-inline:auto}.skip-link{position:absolute;left:16px;top:-80px;background:var(--accent);color:var(--ink);padding:12px 16px;z-index:50}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #7a9d00;outline-offset:4px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(244,245,240,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-row{height:84px;display:flex;align-items:center;gap:32px}.brand{display:inline-flex;gap:12px;align-items:center;flex:none}.brand-icon{width:42px;height:42px;display:grid;place-items:center;background:var(--ink);color:var(--white);font-size:24px;font-weight:900;letter-spacing:-.11em;padding-right:4px}.brand-icon span{color:var(--accent)}.brand-name{font-weight:900;line-height:.93;font-size:17px;letter-spacing:.04em}.brand-name small{display:block;color:var(--muted);font-size:10px;letter-spacing:.25em;margin-top:6px}.desktop-nav{display:flex;align-items:center;gap:32px;margin-left:auto}.desktop-nav a{font-size:14px;font-weight:650;transition:color .2s}.desktop-nav a:hover,.header-contact:hover{color:#6a8900}.header-contact{white-space:nowrap;font-size:14px;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:5px;margin-left:12px}.header-contact span{margin-left:4px}.menu-toggle,.mobile-nav{display:none}
.hero{overflow:hidden}.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;min-height:680px}.hero-copy{padding:92px 40px 70px 0;display:flex;flex-direction:column;align-items:flex-start}.eyebrow,.section-index{font-weight:850;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 48px}.eyebrow-dot{width:9px;height:9px;border-radius:50%;background:#9ab625;box-shadow:0 0 0 4px #e8f1bc}.hero h1{font-size:clamp(54px,5.4vw,88px);font-weight:900;letter-spacing:-.075em;line-height:.96;margin:0;max-width:760px}.hero h1 em{font-style:normal;position:relative;z-index:0;white-space:nowrap}.hero h1 em:after{position:absolute;content:"";z-index:-1;left:-.01em;right:-.02em;bottom:.02em;height:.24em;background:var(--accent);transform:rotate(-1.3deg)}.hero-lead{font-size:18px;line-height:1.65;color:#4a554e;max-width:540px;margin:35px 0 32px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:26px}.button{min-height:58px;display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:16px 23px;font-size:15px;font-weight:850;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--ink);color:var(--white);min-width:215px}.button-primary:hover{background:#34443a}.button-primary span{font-size:22px;font-weight:400}.button-text{padding-inline:0;border-bottom:1px solid #737e73}.button-text span{font-size:20px;font-weight:400}.action-note{color:#758078;font-size:12px;margin:13px 0 0}.hero-visual{position:relative;min-height:650px;margin-right:calc((min(100vw - 64px,1320px) - 100vw)/2);overflow:hidden;background:#d2d9d4}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:48% center}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.48));pointer-events:none}.hero-photo-label{position:absolute;z-index:1;bottom:30px;left:35px;color:var(--white);display:grid;gap:4px}.hero-photo-label span{font-size:11px;font-weight:800;letter-spacing:.15em}.hero-photo-label strong{font-size:23px;letter-spacing:-.03em}.hero-photo-label small{font-size:14px}.hero-stamp{position:absolute;right:0;top:0;z-index:1;width:166px;height:166px;padding:23px;background:var(--accent);display:flex;flex-direction:column;justify-content:space-between;clip-path:polygon(0 0,100% 0,100% 100%,27% 100%,0 73%)}.hero-stamp span{font-size:12px;font-weight:900;letter-spacing:.1em;line-height:1.25}.hero-stamp b{align-self:flex-end;font-size:36px;line-height:1}.service-line{display:flex;align-items:center;gap:30px;min-height:90px;border-bottom:1px solid var(--line);font-size:12px;font-weight:850;letter-spacing:.16em;white-space:nowrap;overflow:auto}.service-line i{width:5px;height:5px;flex:none;background:#9da89e;border-radius:50%}
.section{padding-block:112px}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:30px;margin-bottom:46px}.section-index{margin:11px 0 0;color:#79837a}.section-head h2,.comparison-copy h2,.estimate-panel h2,.faq-layout h2,.contacts-layout h2{font-size:clamp(42px,4.2vw,68px);line-height:1.04;letter-spacing:-.065em;font-weight:900;margin:0}.section-head p:not(.section-index){font-size:17px;line-height:1.6;color:var(--muted);max-width:610px;margin:22px 0 0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{display:flex;flex-direction:column;min-height:330px;padding:30px 30px 25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}.service-card:hover{background:#edf1e2}.service-card-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:850;color:#6a766c}.service-card-top span:last-child{font-size:25px;font-weight:400;color:var(--ink)}.service-card h3{font-size:31px;line-height:1.1;letter-spacing:-.045em;margin:72px 0 12px}.service-card p{font-size:15px;line-height:1.65;color:#5c685d;margin:0 0 30px}.service-keywords{border-top:1px solid var(--line);padding-top:15px;margin-top:auto;font-size:11px;font-weight:850;letter-spacing:.12em;color:#79867a}
.works-section{padding-top:35px}.highlight-line{color:#7a8f16}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.work-item{margin:0;min-width:0}.work-item-wide{grid-column:1/-1}.work-item a{display:block;position:relative;overflow:hidden;background:#d5dbd1}.work-item img{width:100%;height:330px;object-fit:cover;transition:transform .45s}.work-item-wide img{height:510px}.work-item a:hover img{transform:scale(1.035)}.image-arrow{position:absolute;right:0;bottom:0;width:54px;height:54px;display:grid;place-items:center;background:var(--accent);font-size:27px}.work-item figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:17px 0 0}.work-item figcaption span{font-size:21px;font-weight:850;letter-spacing:-.035em}.work-item figcaption small{font-size:13px;color:var(--muted)}
.comparison-section{padding-block:120px;background:#e9ede5}.comparison-layout{display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:70px}.comparison-copy h2{margin-top:34px}.comparison-copy>p:not(.section-index){font-size:17px;line-height:1.65;color:#59665b;max-width:370px;margin:26px 0 36px}.inline-link{font-size:15px;font-weight:850;border-bottom:1px solid var(--ink);padding-bottom:8px}.inline-link span{margin-left:24px;font-size:19px}.comparison-images{display:grid;grid-template-columns:1fr 1fr;gap:14px}.comparison-images figure{margin:0;min-width:0}.comparison-images a{height:390px;display:block;position:relative;overflow:hidden;background:#d1d8cf}.comparison-images img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.comparison-images figure:first-child img{object-position:49% center}.comparison-images a:hover img{transform:scale(1.04)}.compare-tag{position:absolute;bottom:16px;left:16px;background:var(--paper);padding:9px 12px;font-size:12px;font-weight:900;letter-spacing:.08em}.comparison-images figure:last-child .compare-tag{background:var(--accent)}
.approach-section{background:var(--ink);color:var(--white)}.inverse .section-index{color:#aab5aa}.inverse p:not(.section-index){color:#b9c3ba}.approach-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #49534d}.approach-steps li{padding:29px 28px 15px 0;margin-right:28px;border-right:1px solid #49534d}.approach-steps li:last-child{margin-right:0;border:0}.approach-steps span{display:grid;place-items:center;width:44px;height:44px;border:1px solid #718071;border-radius:50%;font-size:13px;font-weight:800;color:var(--accent)}.approach-steps h3{font-size:22px;letter-spacing:-.04em;margin:46px 0 14px}.approach-steps p{font-size:14px;line-height:1.7;color:#b9c3ba;margin:0}
.estimate-section{padding-block:90px}.estimate-panel{background:var(--accent);padding:68px;display:flex;align-items:end;justify-content:space-between;gap:50px}.estimate-panel .section-index{color:#3f4c27;margin:0 0 36px}.estimate-panel p:not(.section-index){font-size:17px;line-height:1.6;max-width:560px;margin:22px 0 0;color:#43513b}.estimate-action{display:flex;flex-direction:column;align-items:flex-start;gap:11px;flex:none}.button-dark{background:var(--ink);color:var(--white);min-width:265px}.button-dark:hover{background:#37453b}.button-dark span{font-size:23px;font-weight:400}.estimate-action>span{font-size:12px;color:#4f5f43}
.faq-section{padding-top:30px}.faq-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:80px}.faq-layout h2{margin-top:29px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;padding:28px 45px 28px 0;position:relative;font-size:19px;font-weight:750;letter-spacing:-.025em}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:4px;top:23px;font-size:27px;font-weight:400}.faq-list details[open] summary:after{content:"−"}.faq-list details p{font-size:15px;line-height:1.7;color:#5d695e;max-width:680px;margin:0 40px 24px 0}
.contacts-section{border-top:1px solid var(--line)}.contacts-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contacts-layout h2{margin-top:30px}.contacts-layout p:not(.section-index){font-size:17px;line-height:1.65;max-width:420px;color:#5f6b61;margin:24px 0 0}.contact-links{border-top:1px solid var(--line)}.contact-links a{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 50px 22px 0;border-bottom:1px solid var(--line);transition:padding-left .2s}.contact-links a:hover{padding-left:8px}.contact-links span{font-size:11px;font-weight:850;letter-spacing:.13em;color:#778276}.contact-links strong{font-size:27px;letter-spacing:-.04em}.contact-links b{position:absolute;right:2px;top:28px;font-size:25px;font-weight:400}.site-footer{border-top:1px solid var(--line)}.footer-row{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;font-weight:850;letter-spacing:.08em}.footer-row span:nth-child(2){color:#758176;font-weight:500}.footer-row a{border-bottom:1px solid var(--ink);padding-bottom:4px}.mobile-actions{display:none}
.lightbox{border:0;padding:0;background:#0d120f;color:#fff;max-width:min(96vw,1200px);max-height:94vh;overflow:hidden}.lightbox::backdrop{background:rgba(5,12,7,.89)}.lightbox img{max-height:80vh;width:auto;margin:auto;object-fit:contain}.lightbox p{padding:12px 20px 15px;margin:0;font-size:14px}.lightbox-close{position:absolute;z-index:2;right:0;top:0;border:0;color:#111;background:var(--accent);width:48px;height:48px;font-size:32px;line-height:1}
@media(max-width:1100px){.desktop-nav{gap:18px}.header-row{gap:20px}.hero-grid{min-height:620px}.hero-copy{padding-top:75px}.hero h1{font-size:clamp(50px,5.3vw,70px)}.hero-visual{min-height:600px}.service-card h3{font-size:27px}.comparison-layout{gap:35px}.estimate-panel{padding:50px}.contacts-layout,.faq-layout{gap:45px}}
@media(max-width:800px){.container{width:min(100% - 40px,1320px)}.header-row{height:72px}.desktop-nav,.header-contact{display:none}.menu-toggle{display:flex;margin-left:auto;width:44px;height:44px;background:transparent;border:1px solid var(--line);flex-direction:column;justify-content:center;gap:6px;padding:12px}.menu-toggle span{display:block;height:2px;background:var(--ink);width:100%}.mobile-nav:not([hidden]){display:grid;padding:10px 20px 20px;background:var(--paper);border-top:1px solid var(--line)}.mobile-nav a{padding:12px 0;border-bottom:1px solid var(--line);font-weight:750}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:62px 0 48px}.eyebrow{margin-bottom:34px}.hero h1{font-size:clamp(54px,9vw,82px)}.hero-lead{margin-top:27px}.hero-visual{min-height:440px;height:55vw;margin-right:-20px;margin-left:-20px}.hero-photo-label{left:24px;bottom:24px}.hero-stamp{width:130px;height:130px;padding:17px}.hero-stamp span{font-size:10px}.hero-stamp b{font-size:28px}.service-line{min-height:73px;gap:20px}.section{padding-block:80px}.section-head{grid-template-columns:1fr;gap:20px}.section-head h2,.comparison-copy h2,.estimate-panel h2,.faq-layout h2,.contacts-layout h2{font-size:clamp(43px,7vw,62px)}.section-head .section-index{margin:0}.service-grid{grid-template-columns:1fr 1fr}.service-card:last-child{grid-column:1/-1;min-height:230px}.service-card h3{margin-top:50px}.works-section{padding-top:0}.work-item-wide img{height:400px}.work-item img{height:270px}.comparison-layout{grid-template-columns:1fr;gap:34px}.comparison-copy h2{margin-top:20px}.comparison-images a{height:360px}.approach-steps{grid-template-columns:1fr 1fr;row-gap:30px}.approach-steps li:nth-child(2){border-right:0;margin-right:0}.approach-steps li:nth-child(3),.approach-steps li:nth-child(4){border-top:1px solid #49534d}.estimate-panel{align-items:flex-start;flex-direction:column;gap:30px}.faq-layout,.contacts-layout{grid-template-columns:1fr;gap:35px}.faq-layout h2,.contacts-layout h2{margin-top:20px}.footer-row{flex-wrap:wrap;padding-block:28px;min-height:0}.mobile-actions{position:sticky;bottom:0;z-index:25;display:flex;background:var(--paper);border-top:1px solid var(--line)}.mobile-actions a{flex:1;text-align:center;padding:16px 12px;display:flex;justify-content:center;gap:10px;font-size:14px;font-weight:850}.mobile-actions a+ a{background:var(--accent)}}
@media(max-width:560px){.container{width:min(100% - 32px,1320px)}.brand-icon{width:38px;height:38px}.brand-name{font-size:15px}.header-row{height:64px}.hero-copy{padding:48px 0 36px}.eyebrow{font-size:10px;letter-spacing:.11em;margin-bottom:28px}.hero h1{font-size:clamp(47px,12vw,64px)}.hero-lead{font-size:16px;line-height:1.6;margin:25px 0}.hero-actions{gap:10px;align-items:stretch;width:100%}.hero-actions .button-primary{width:100%;justify-content:space-between}.button-text{font-size:14px}.hero-visual{min-height:420px;height:85vw;margin-inline:-16px}.hero-visual>img{object-position:52% center}.hero-photo-label strong{font-size:19px}.hero-photo-label span{font-size:10px}.service-line{font-size:10px}.section{padding-block:65px}.section-head{margin-bottom:30px}.section-head h2,.comparison-copy h2,.estimate-panel h2,.faq-layout h2,.contacts-layout h2{font-size:43px}.section-head p:not(.section-index){font-size:16px;margin-top:17px}.service-grid{grid-template-columns:1fr}.service-card,.service-card:last-child{grid-column:auto;min-height:0;padding:24px}.service-card h3{margin:42px 0 10px}.service-card p{margin-bottom:25px}.work-grid{grid-template-columns:1fr;gap:32px}.work-item-wide{grid-column:auto}.work-item img,.work-item-wide img{height:260px}.work-item figcaption{padding-top:10px}.work-item figcaption span{font-size:18px}.work-item figcaption small{font-size:12px}.comparison-layout{gap:26px}.comparison-copy>p:not(.section-index){font-size:16px;margin:20px 0 26px}.comparison-images{gap:8px}.comparison-images a{height:240px}.compare-tag{bottom:9px;left:9px;font-size:10px;padding:7px 9px}.approach-steps{grid-template-columns:1fr;row-gap:0}.approach-steps li,.approach-steps li:nth-child(2),.approach-steps li:nth-child(3),.approach-steps li:nth-child(4){display:grid;grid-template-columns:44px 1fr;column-gap:17px;border-right:0;border-top:0;border-bottom:1px solid #49534d;margin:0;padding:22px 0}.approach-steps li:last-child{border-bottom:0}.approach-steps span{grid-row:1/3}.approach-steps h3{margin:1px 0 5px;font-size:20px}.approach-steps p{grid-column:2;font-size:14px}.estimate-section{padding-block:55px}.estimate-panel{width:100%;padding:36px 24px}.estimate-panel .section-index{margin-bottom:22px}.estimate-panel p:not(.section-index){font-size:16px;margin-top:16px}.estimate-action{width:100%}.estimate-action .button{width:100%}.faq-list summary{font-size:17px;padding-block:22px}.faq-list summary:after{top:17px}.contacts-layout p:not(.section-index){font-size:16px}.contact-links strong{font-size:23px}.footer-row{display:grid;gap:12px;font-size:11px}.mobile-actions a{padding:14px 8px;font-size:12px}.lightbox{max-width:100vw}.lightbox img{max-height:75vh}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Estimate form preserves the current /api/estimate flow in the new layout. */
.estimate-panel{display:grid;grid-template-columns:.82fr 1.18fr;align-items:start;gap:60px}.estimate-intro{position:sticky;top:115px}.estimate-intro ul{list-style:none;padding:0;margin:28px 0 34px;border-top:1px solid #a6bd48}.estimate-intro li{padding:11px 0;border-bottom:1px solid #a6bd48;font-weight:750;font-size:14px}.estimate-intro li:before{content:"↗";margin-right:13px}.estimate-phone{font-size:14px;font-weight:850;border-bottom:1px solid var(--ink);padding-bottom:6px}.estimate-form{background:#fff;padding:36px;box-shadow:0 18px 50px rgba(37,55,23,.1)}.estimate-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.estimate-form .field{margin-bottom:18px}.estimate-form label{display:block;font-size:14px;font-weight:800;margin-bottom:8px}.estimate-form input:not([type="checkbox"]):not([type="file"]),.estimate-form select,.estimate-form textarea{display:block;width:100%;min-height:48px;border:1px solid #c7d1c2;background:#fafcf7;border-radius:0;padding:12px 13px;color:var(--ink);font-size:15px;line-height:1.4;outline-offset:2px}.estimate-form textarea{resize:vertical}.estimate-form input::placeholder,.estimate-form textarea::placeholder{color:#7f8b7e}.estimate-form input[aria-invalid="true"]{border-color:#a43727}.estimate-form .field-error{display:block;color:#a43727;font-size:13px;line-height:1.4;margin:5px 0 0}.estimate-form .upload-box{border:1px dashed #91a78b;background:#f5f9ed;padding:22px;display:grid;gap:8px}.estimate-form .upload-box strong{font-size:16px}.estimate-form .upload-box>span:last-of-type{font-size:13px;line-height:1.4;color:#596b58}.estimate-form .upload-symbol{font-size:30px;line-height:1}.estimate-form input[type="file"]{display:block;width:100%;font-size:13px;margin-top:7px;max-width:100%}.estimate-form input[type="file"]::file-selector-button{border:0;background:var(--ink);color:#fff;padding:10px 13px;font-weight:750;margin-right:10px;cursor:pointer}.estimate-form .photo-previews{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:0;margin:12px 0 0}.estimate-form .photo-preview{position:relative;min-width:0;background:#eef2e9;padding:5px}.estimate-form .photo-preview img{width:100%;height:82px;object-fit:cover}.estimate-form .photo-preview span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;margin-top:5px}.estimate-form .remove-photo{position:absolute;right:5px;top:5px;border:0;background:var(--accent);width:26px;height:26px;font-size:19px;line-height:1}.estimate-form .delivery-consent{padding:14px;background:#f5f9ed;margin:5px 0 14px}.estimate-form .delivery-consent label{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;font-weight:550;margin:0}.estimate-form .delivery-consent input{flex:none;margin-top:3px}.estimate-form .form-availability{font-size:13px;line-height:1.5;color:#586d51;margin:16px 0}.estimate-form .submit-button{border:0;width:100%;min-width:0;text-align:left}.estimate-form .submit-button:disabled{opacity:.6;cursor:wait;transform:none}.estimate-form .form-note{font-size:12px;line-height:1.5;color:#69796b;margin:12px 0}.estimate-form .form-result{padding:19px;border:1px solid #9cae97;margin-top:18px;background:#f5f9ed}.estimate-form .form-result h3{font-size:20px;margin:0 0 7px}.estimate-form .form-result p{font-size:14px;line-height:1.5}.estimate-form .form-result textarea{margin-bottom:12px}.estimate-form .button-outline{border:1px solid var(--ink);background:transparent;color:var(--ink);min-height:45px}.estimate-form .copy-status{min-height:1em}
@media(max-width:1000px){.estimate-panel{gap:35px;padding:42px;grid-template-columns:.75fr 1.25fr}.estimate-form{padding:27px}}
@media(max-width:800px){.estimate-panel{display:grid;grid-template-columns:1fr;gap:30px}.estimate-intro{position:static}.estimate-intro ul{margin-bottom:20px}.estimate-form .form-row{grid-template-columns:1fr}}
@media(max-width:560px){.estimate-panel{padding:28px 16px}.estimate-form{padding:22px 16px}.estimate-form .photo-previews{grid-template-columns:repeat(2,1fr)}}
