:root{--pine:#073c2d;--pine-deep:#04271e;--green:#0c8c45;--green-bright:#49c66f;--mist:#edf5ef;--ink:#111713;--paper:#fff;--line:#d7e2da;--muted:#5c6860;--red:#cf2f2f;--max:1240px;--shadow:0 22px 65px rgba(5,44,31,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit}.shell{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.section{padding-block:110px}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;transform:translateY(-150%);background:#fff;color:#000;padding:10px 16px}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:92px;background:#fff;border-bottom:1px solid rgba(5,50,36,.12);position:relative;z-index:20}.header-inner{height:100%;width:min(calc(100% - 48px),1360px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center}.brand-mark{display:block;width:138px;height:58px;overflow:hidden}.brand img{width:138px;height:auto;filter:hue-rotate(82deg) saturate(1.55) brightness(.73)}.desktop-nav{display:flex;gap:30px;margin-left:auto}.desktop-nav a{font-size:.88rem;font-weight:750;text-decoration:none}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--green)}.header-actions{display:flex;align-items:center;gap:18px}.phone-link{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:800;font-size:.9rem}.phone-link svg{width:18px;fill:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 24px;background:var(--green);color:#fff;border:2px solid var(--green);text-decoration:none;font-weight:850;letter-spacing:.01em;cursor:pointer;transition:.2s ease}.button:hover,.button:focus-visible{background:#076f35;border-color:#076f35;transform:translateY(-2px)}.button-small{min-height:46px;padding-inline:18px;font-size:.84rem}.menu-toggle,.mobile-nav{display:none}
.hero{height:min(760px,calc(100vh - 92px));min-height:650px;position:relative;isolation:isolate;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,27,20,.9) 0%,rgba(4,38,27,.72) 38%,rgba(4,26,18,.18) 72%),linear-gradient(0deg,rgba(0,20,14,.42),transparent 45%);z-index:-2}.hero-content{padding-top:115px}.eyebrow,.kicker{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.2em;font-size:.74rem;font-weight:850;color:var(--green)}.eyebrow{color:#bdf3cb}.eyebrow span{width:34px;height:2px;background:var(--green-bright)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.04em}h1{max-width:900px;margin:24px 0 24px;font-size:clamp(3.4rem,6.2vw,6.9rem);line-height:.92;font-weight:700}h1 em{color:#9ee6b2;font-weight:400}.hero-content>p{max-width:650px;font-size:1.15rem;line-height:1.72;color:#e4eee7}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:38px}.text-link{display:inline-flex;gap:12px;align-items:center;color:var(--green);font-weight:850;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}.hero .text-link{color:#fff}.hero-proof{position:absolute;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,255,255,.96);color:var(--ink);width:min(58%,760px);padding:24px 42px}.hero-proof div{display:flex;align-items:center;gap:13px;border-right:1px solid var(--line);padding-inline:24px}.hero-proof div:first-child{padding-left:0}.hero-proof div:last-child{border:0;padding-right:0}.hero-proof strong{font-family:Georgia,serif;color:var(--green);font-size:2rem;line-height:1}.hero-proof span{font-size:.75rem;line-height:1.3;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.proof-strip{min-height:72px;background:var(--pine);color:#fff;display:flex;align-items:center;justify-content:center;gap:28px;padding:16px 24px}.proof-strip p{margin:0;font-size:.73rem;text-transform:uppercase;letter-spacing:.16em;font-weight:750}.proof-strip i{width:4px;height:4px;background:var(--green-bright);border-radius:50%}
.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:58px}.section-heading h2,.craft h2,.service-area h2,.quote h2{font-size:clamp(2.6rem,4.2vw,4.7rem);line-height:1.02;margin:15px 0 0}.section-heading>p{color:var(--muted);font-size:1.06rem;margin:0}.service-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);border:1px solid var(--line)}.service-grid article{padding:34px;min-height:360px;border-right:1px solid var(--line);display:flex;flex-direction:column}.service-grid article:last-child{border:0}.service-grid article>span,.service-feature span{font-size:.72rem;font-weight:850;letter-spacing:.16em;color:var(--green)}.service-grid h3{font-family:Georgia,serif;font-size:1.65rem;line-height:1.1;margin:0 0 14px}.service-grid p{font-size:.92rem;color:var(--muted);margin:0}.service-feature{background:var(--mist);grid-column:auto}.service-feature div:last-child{display:flex;flex-direction:column;flex:1}.service-feature a{margin-top:auto;color:var(--green);font-weight:800;text-decoration:none}
.legacy{background:var(--pine);color:#fff;overflow:hidden}.legacy-grid{display:grid;grid-template-columns:.8fr 1.35fr .35fr;gap:70px;align-items:center}.legacy-number{font-family:Georgia,serif;font-size:clamp(9rem,18vw,17rem);line-height:.7;color:transparent;-webkit-text-stroke:1px rgba(117,231,151,.36);letter-spacing:-.1em}.legacy-number span{font-size:.27em;color:var(--green-bright);-webkit-text-stroke:0;vertical-align:top;letter-spacing:0}.kicker-light{color:#9ee6b2}.legacy-copy h2{font-size:clamp(2.8rem,4.5vw,5rem);line-height:1.02;margin:18px 0 26px}.legacy-copy>p{max-width:660px;color:#ccddd3}.legacy-copy blockquote{margin:34px 0;padding-left:24px;border-left:3px solid var(--green-bright);font-family:Georgia,serif;font-size:1.4rem;font-style:italic}.text-link.light{color:#fff}.legacy-aside{height:420px;border-left:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;align-items:center;justify-content:space-between}.vertical-label{writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.18em;font-size:.64rem;margin:0;color:#91aa9c}.year-stack{font-family:Georgia,serif;font-size:2.6rem;line-height:.78;color:#9ee6b2;display:flex;flex-direction:column}
.craft{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:center}.craft-image-wrap{position:relative}.craft-image-wrap:before{content:"";position:absolute;left:-18px;top:-18px;width:42%;height:60%;border-left:3px solid var(--green);border-top:3px solid var(--green);z-index:-1}.craft-image-wrap img{width:100%;min-height:570px;object-fit:cover;box-shadow:var(--shadow)}.image-caption{position:absolute;right:-30px;bottom:35px;background:var(--pine);color:#fff;padding:16px 24px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:.7rem}.craft-copy>p{font-size:1.05rem;color:var(--muted);margin:28px 0 36px}.detail-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.detail-list li{display:flex;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.detail-list li>span{font:italic 1.05rem Georgia;color:var(--green)}.detail-list div{display:flex;flex-direction:column}.detail-list strong{font-size:.96rem}.detail-list small{color:var(--muted);font-size:.84rem}
.reviews{background:var(--mist)}.section-heading.compact{grid-template-columns:1fr auto}.review-nav{display:flex;gap:8px;font-size:.75rem;letter-spacing:.12em;color:var(--muted)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #c6d8cb}.review-grid figure{margin:0;padding:42px;border-right:1px solid #c6d8cb}.review-grid figure:last-child{border:0}.stars{color:var(--green);letter-spacing:.2em;font-size:.78rem}.review-grid blockquote{margin:24px 0 38px;font:1.25rem/1.55 Georgia,serif}.review-grid figcaption{display:flex;flex-direction:column}.review-grid figcaption span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.service-area{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.service-area h2{max-width:580px}.service-area ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.service-area li{padding:18px 8px;border-bottom:1px solid var(--line);font-weight:800}.service-area li:before{content:"↗";color:var(--green);margin-right:12px}
.quote{background:var(--green);color:#fff}.quote-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;padding-block:95px}.quote h2{margin-block:16px 24px}.quote>p,.quote-inner>div>p{color:#e0f4e6;max-width:530px}.quote-phone{display:flex;flex-direction:column;text-decoration:none;font-family:Georgia,serif;font-size:2.2rem;margin-top:35px}.quote-phone span{font-family:Inter,sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:#c5f1d1}form{background:#fff;color:var(--ink);padding:38px;box-shadow:var(--shadow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}input,select,textarea{width:100%;border:0;border-bottom:1px solid #aebbb2;background:#f7faf8;padding:13px 12px;color:#111;border-radius:0;outline:none;text-transform:none;letter-spacing:0}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 2px 0 var(--green)}textarea{resize:vertical}.button-white{width:100%;margin-top:6px}form>p{font-size:.72rem;color:var(--muted);margin:12px 0 0;text-align:center}.form-status{font-weight:750;color:var(--green)!important}
footer{background:var(--pine-deep);color:#d4e1d9}.footer-main{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:60px;padding-block:72px;border-bottom:1px solid rgba(255,255,255,.15)}.footer-brand img{width:180px;filter:grayscale(1) brightness(0) invert(1)}.footer-brand p{margin-top:18px;color:#9eb2a6}.footer-main h2{font:800 .72rem Inter,sans-serif;text-transform:uppercase;letter-spacing:.16em;color:#9ee6b2;margin-bottom:18px}.footer-main p,.footer-main address{font-style:normal;color:#aebfb4;margin:0 0 12px}.footer-main a{display:block;color:#fff;text-decoration:none;margin-bottom:8px;overflow-wrap:anywhere}.footer-bottom{min-height:68px;display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:#91a399}.footer-bottom a{color:#fff;text-decoration:none}
:root{--pine:#053d25;--pine-deep:#022619;--green:#087a36;--green-bright:#45cf70;--emerald:#079b3d;--red:#cf2f2f}.trust-bar{min-height:30px;background:var(--pine-deep);color:#dff7e7;display:flex;align-items:center;justify-content:center;gap:34px;padding:5px 20px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.trust-bar span+span:before{content:"•";color:var(--green-bright);margin-right:34px}.site-header{position:sticky;top:0}.brand{gap:10px;flex:0 0 auto;text-decoration:none}.brand-mark{display:flex;align-items:center;height:76px;overflow:visible}.brand-mark img{width:124px;filter:hue-rotate(260deg) saturate(1.7) brightness(.7)}.brand .anniversary-mark{width:64px;height:64px;object-fit:contain;filter:none;border-radius:50%;box-shadow:0 7px 18px rgba(2,38,25,.13)}
.conversion-pair{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:26px}.conversion-pair .button{margin-top:0}.call-inline{color:var(--green);font-weight:900;text-decoration:none;border-bottom:2px solid currentColor}.call-inline.light{color:#fff}.button-light{background:#fff;color:var(--pine);border-color:#fff}.button-light:hover,.button-light:focus-visible{background:#e9f8ed;border-color:#e9f8ed}
.mobile-conversion{display:none}.gallery-intro{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:end}.gallery-intro h2{font-size:clamp(2.7rem,4.6vw,5rem);line-height:1;margin:16px 0 0}.gallery-intro>p{color:var(--muted);font-size:1.06rem;margin:0}.gallery-section{padding-bottom:110px}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.gallery-filters button{min-height:46px;padding:0 18px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.gallery-filters button:hover,.gallery-filters button:focus-visible,.gallery-filters button.is-active{background:var(--green);border-color:var(--green);color:#fff}.project-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;gap:16px}.project-gallery figure{margin:0;background:var(--pine);color:#fff;min-height:340px;position:relative;overflow:hidden}.project-gallery figure[hidden]{display:none}.project-gallery .gallery-wide{grid-column:span 2}.gallery-open{display:block;width:100%;height:100%;min-height:340px;padding:0;border:0;background:#000;cursor:zoom-in;overflow:hidden;position:relative}.gallery-open img{width:100%;height:100%;min-height:340px;object-fit:cover;transition:transform .45s ease,opacity .3s}.gallery-open span{position:absolute;right:16px;bottom:16px;background:#fff;color:var(--pine);padding:8px 12px;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;opacity:0;transform:translateY(8px);transition:.25s}.gallery-open:hover img,.gallery-open:focus-visible img{transform:scale(1.035);opacity:.84}.gallery-open:hover span,.gallery-open:focus-visible span{opacity:1;transform:none}.project-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 18px 14px;background:linear-gradient(transparent,rgba(2,25,17,.8));font-size:.78rem;pointer-events:none}.gallery-note{font-size:.78rem;color:var(--muted);max-width:760px;margin:28px 0 0}.gallery-cta{background:var(--green);color:#fff;padding:70px 0}.gallery-cta .shell{display:flex;align-items:center;justify-content:space-between;gap:50px}.gallery-cta h2{font-size:clamp(2.2rem,4vw,4.2rem);line-height:1;margin:14px 0 0}.lightbox{width:min(94vw,1180px);max-width:none;border:0;padding:18px;background:#07130d;color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.6)}.lightbox::backdrop{background:rgba(0,15,9,.9)}.lightbox img{max-height:78vh;width:100%;object-fit:contain}.lightbox p{margin:12px 44px 0 4px}.lightbox-close{position:absolute;right:18px;top:18px;width:46px;height:46px;border:0;border-radius:50%;background:#fff;color:#111;font-size:2rem;line-height:1;cursor:pointer}.home-gallery{background:var(--pine-deep);color:#fff}.home-gallery .section-heading>p{color:#bdd2c4}.home-project-grid{display:grid;grid-template-columns:1.35fr repeat(2,1fr);grid-template-rows:repeat(2,250px);gap:12px}.home-project-grid a{position:relative;overflow:hidden}.home-project-grid a.featured{grid-row:span 2}.home-project-grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.home-project-grid a:hover img,.home-project-grid a:focus-visible img{transform:scale(1.04)}.home-project-grid span{position:absolute;left:14px;bottom:14px;background:#fff;color:var(--pine);padding:7px 10px;text-transform:uppercase;font-size:.66rem;font-weight:900;letter-spacing:.1em}.gallery-link{color:#b7f0c8;margin-top:28px}
:focus-visible{outline:3px solid #ffcc4d;outline-offset:4px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:1050px){.desktop-nav{display:none}.phone-link{white-space:nowrap}.service-grid{grid-template-columns:repeat(2,1fr)}.service-grid article:nth-child(2){border-right:0}.service-grid article{border-bottom:1px solid var(--line)}.service-grid article:nth-last-child(-n+2){border-bottom:0}.legacy-grid{grid-template-columns:.7fr 1.3fr}.legacy-aside{display:none}.craft{gap:55px}.footer-main{grid-template-columns:1fr 1fr}.hero-proof{width:70%}}
@media(max-width:760px){body{padding-bottom:64px}.trust-bar{justify-content:center;gap:0}.trust-bar span:not(:first-child){display:none}.shell{width:min(calc(100% - 32px),var(--max))}.section{padding-block:76px}.site-header{height:76px}.header-inner{width:calc(100% - 24px)}.brand{gap:5px}.brand-mark,.brand-mark img{width:96px}.brand .anniversary-mark{width:50px;height:50px}.header-actions .button-small{display:none}.menu-toggle{display:flex;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:7px}.menu-toggle span:not(.sr-only){display:block;width:26px;height:2px;background:var(--pine);transition:.2s}.menu-toggle[aria-expanded=true] span:nth-last-child(2){transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.mobile-nav{position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px 16px 28px;border-bottom:1px solid var(--line)}.mobile-nav:not([hidden]){display:grid}.mobile-nav a{padding:13px 4px;font-weight:850;text-decoration:none;border-bottom:1px solid var(--line)}.mobile-conversion{position:fixed;display:grid;grid-template-columns:1fr 1fr;left:0;right:0;bottom:0;z-index:100;background:#fff;box-shadow:0 -6px 24px rgba(1,30,18,.16)}.mobile-conversion a{min-height:64px;display:flex;align-items:center;justify-content:center;background:var(--pine);color:#fff;font-weight:900;text-decoration:none}.mobile-conversion a:last-child{background:var(--green)}.hero{height:auto;min-height:690px}.hero-content{padding-top:82px}.hero-overlay{background:linear-gradient(90deg,rgba(2,28,20,.9),rgba(3,37,25,.55)),linear-gradient(0deg,rgba(2,30,21,.65),transparent)}h1{font-size:clamp(3rem,14vw,5.2rem)}.hero-content>p{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-proof{position:absolute;width:100%;grid-template-columns:repeat(3,1fr);padding:18px 16px}.hero-proof div{display:block;padding-inline:12px}.hero-proof strong{display:block;font-size:1.6rem}.hero-proof span{font-size:.62rem}.proof-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;justify-items:center}.proof-strip i{display:none}.section-heading,.service-area,.quote-inner,.gallery-intro{grid-template-columns:1fr;gap:28px}.section-heading{margin-bottom:38px}.section-heading h2,.craft h2,.service-area h2,.quote h2{font-size:clamp(2.45rem,11vw,3.6rem)}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article:nth-child(2){border-right:0;border-bottom:1px solid var(--line);min-height:300px}.service-grid article:last-child{border-bottom:0}.service-icon{margin-top:35px}.legacy-grid{grid-template-columns:1fr;gap:45px}.legacy-number{font-size:10rem}.craft{grid-template-columns:1fr;gap:60px}.craft-image-wrap img{min-height:430px}.image-caption{right:-8px}.review-grid{grid-template-columns:1fr}.review-grid figure{border-right:0;border-bottom:1px solid #c6d8cb;padding:32px 12px}.review-grid figure:last-child{border:0}.service-area ul{grid-template-columns:1fr}.quote-inner{padding-block:72px}.form-row{grid-template-columns:1fr}form{padding:24px}.footer-main{grid-template-columns:1fr;gap:38px}.footer-bottom{gap:20px}.quote-phone{font-size:1.85rem}.project-gallery{grid-template-columns:1fr}.project-gallery .gallery-wide{grid-column:auto}.gallery-cta .shell{align-items:flex-start;flex-direction:column}.home-project-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px repeat(2,170px)}.home-project-grid a.featured{grid-column:span 2;grid-row:auto}}

.page-hero{background:linear-gradient(115deg,var(--pine-deep),var(--pine));color:#fff;padding:68px 0 82px;position:relative;overflow:hidden}.page-hero:after{content:"50+";position:absolute;right:4vw;bottom:-.3em;font:700 12rem Georgia,serif;color:transparent;-webkit-text-stroke:1px rgba(158,230,178,.16);letter-spacing:-.08em}.page-hero .shell{position:relative;z-index:1}.breadcrumbs{display:flex;gap:10px;align-items:center;color:#b7c9bf;font-size:.78rem;margin-bottom:48px}.breadcrumbs a{color:#fff}.page-hero h1{font-size:clamp(3.2rem,6vw,6rem);line-height:.98;max-width:980px;margin:18px 0 24px}.page-hero p{max-width:760px;color:#d9e7df;font-size:1.12rem}.interior-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:center}.interior-grid h2,.process h2,.directory h2,.faq-callout h2,.article-page h2{font-size:clamp(2.5rem,4vw,4.3rem);line-height:1.04;margin:16px 0 24px}.lead{font-size:1.15rem;color:var(--muted);line-height:1.75}.interior-grid .button{margin-top:22px}.interior-photo{position:relative}.interior-photo:before{content:"";position:absolute;inset:-16px 16px 16px -16px;border:2px solid var(--green);z-index:-1}.interior-photo img{width:100%;height:520px;object-fit:cover;box-shadow:var(--shadow)}.page-band{background:var(--pine);color:#fff;padding:88px 0}.feature-lines{display:grid;grid-template-columns:repeat(4,1fr);margin-top:42px;border-top:1px solid rgba(255,255,255,.22)}.feature-lines article{padding:32px 26px;border-right:1px solid rgba(255,255,255,.22)}.feature-lines article:last-child{border:0}.feature-lines span{color:var(--green-bright);font-size:.72rem;letter-spacing:.14em}.feature-lines h3{font:1.35rem Georgia,serif;margin:28px 0 12px}.feature-lines p{color:#bdd0c4;font-size:.9rem;margin:0}.process{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.process ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);counter-reset:steps}.process li{display:grid;grid-template-columns:.45fr 1fr;gap:25px;padding:24px 0;border-bottom:1px solid var(--line)}.process li strong{font-size:1.05rem;color:var(--green)}.process li span{color:var(--muted)}.faq-callout{background:var(--green);color:#fff;padding:75px 0}.faq-callout .shell{max-width:900px;margin-left:max(24px,calc((100% - var(--max))/2))}.faq-callout h2{margin-block:14px 18px}.faq-callout p{font-size:1.1rem;color:#e4f5e9}.faq-callout a{color:#fff;font-weight:850}.area-panel{background:var(--mist);padding:55px;border-left:6px solid var(--green)}.area-panel span{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--green)}.area-panel strong{display:block;font:3rem/1.05 Georgia,serif;margin:18px 0}.area-panel a{display:block;font-size:1.35rem;font-weight:850;color:var(--green);margin-top:25px}.directory{max-width:980px}.directory>a{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none}.directory>a:first-of-type{border-top:1px solid var(--line)}.directory>a span{font:1.45rem Georgia,serif}.directory>a small{display:block;font:400 .9rem/1.55 Inter,sans-serif;color:var(--muted);margin-top:7px}.directory>a b{font-size:.8rem;color:var(--green);white-space:nowrap}.directory details{border-bottom:1px solid var(--line);padding:22px 0}.directory summary{font:1.25rem Georgia,serif;font-weight:700;cursor:pointer}.directory details p{color:var(--muted);max-width:760px;padding-top:10px}.article-page{max-width:860px}.article-page>h2{font-size:2.4rem;margin-top:55px}.article-page>p,.article-page li{color:var(--muted)}.article-page aside{background:var(--mist);border-left:5px solid var(--green);padding:34px;margin-top:55px}.article-page aside strong{font:1.7rem Georgia,serif}.article-page aside .button{margin-top:8px}
@media(max-width:900px){.interior-grid,.process{grid-template-columns:1fr;gap:55px}.feature-lines{grid-template-columns:repeat(2,1fr)}.feature-lines article:nth-child(2){border-right:0}.feature-lines article{border-bottom:1px solid rgba(255,255,255,.22)}.feature-lines article:nth-last-child(-n+2){border-bottom:0}.page-hero:after{font-size:8rem}.interior-photo img{height:440px}}
@media(max-width:620px){.page-hero{padding:45px 0 62px}.breadcrumbs{margin-bottom:32px}.page-hero h1{font-size:clamp(2.8rem,13vw,4.2rem)}.feature-lines{grid-template-columns:1fr}.feature-lines article,.feature-lines article:nth-child(2){border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}.feature-lines article:last-child{border-bottom:0}.interior-photo img{height:330px}.area-panel{padding:34px}.directory>a{align-items:flex-start;flex-direction:column}.page-hero:after{display:none}}

@media(max-width:760px){.header-inner{gap:7px}.header-actions{gap:7px}.phone-link{font-size:.76rem;gap:4px;white-space:nowrap}.phone-link span{display:inline!important}.phone-link svg{width:14px;flex:0 0 14px}.brand{gap:4px}.brand-mark,.brand-mark img{width:78px}.brand .anniversary-mark{width:42px;height:42px}.mobile-conversion a{font-size:.78rem;text-align:center;padding-inline:8px}}
@media(max-width:390px){.header-inner{width:calc(100% - 16px);gap:4px}.brand-mark,.brand-mark img{width:68px}.brand .anniversary-mark{width:36px;height:36px}.phone-link{font-size:.72rem}.phone-link svg{display:none}.menu-toggle{width:40px}.mobile-conversion a{font-size:.72rem}}

:root{--surface:#f5f8f5;--forest-glass:rgba(3,35,24,.88);--hairline:rgba(5,61,37,.17)}
body{background:linear-gradient(90deg,rgba(5,61,37,.018) 1px,transparent 1px) 0 0/80px 80px,var(--paper)}
h1,h2{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;text-wrap:balance}
.site-header{box-shadow:0 12px 40px rgba(2,38,25,.06)}
.desktop-nav a{position:relative;padding-block:8px}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--green);transition:right .25s ease}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{right:0}
.button{box-shadow:0 12px 28px rgba(8,122,54,.2);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.button:hover,.button:focus-visible{box-shadow:0 16px 34px rgba(8,122,54,.28)}
.hero:before{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.18);z-index:-1;pointer-events:none}.hero-content{position:relative;z-index:2}.hero h1{max-width:980px;text-shadow:0 8px 35px rgba(0,0,0,.22)}
.hero-standard{position:absolute;z-index:3;right:max(24px,calc((100% - var(--max))/2));top:86px;width:270px;padding:26px;background:var(--forest-glass);border:1px solid rgba(158,230,178,.35);backdrop-filter:blur(12px);box-shadow:0 26px 70px rgba(0,0,0,.28)}.hero-standard>span{display:block;color:#9ee6b2;font-size:.66rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase}.hero-standard strong{display:block;margin:12px 0;font:1.45rem/1.12 "Iowan Old Style",Georgia,serif}.hero-standard p{color:#cfdfd5;font-size:.82rem;line-height:1.55;margin-bottom:18px}.hero-standard a{display:flex;justify-content:space-between;color:#fff;font-weight:850;text-decoration:none;border-top:1px solid rgba(255,255,255,.22);padding-top:14px}
.service-grid{background:#fff;box-shadow:0 28px 80px rgba(3,48,31,.08)}.service-grid article{position:relative;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.service-grid article:hover{transform:translateY(-8px);z-index:2;background:#fbfdfb;box-shadow:0 22px 50px rgba(4,56,36,.13)}.service-path{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:24px;color:var(--green);font-size:.78rem;font-weight:850;text-decoration:none;text-transform:uppercase;letter-spacing:.07em}.service-grid article:not(.service-feature) p{margin-bottom:0}.service-feature a{padding-top:24px}
.signature-project{position:relative;background:var(--pine-deep);color:#fff;padding:120px 0;overflow:hidden}.signature-project:before{content:"KKC";position:absolute;left:-.04em;bottom:-.32em;font:700 19rem/1 "Iowan Old Style",Georgia,serif;color:transparent;-webkit-text-stroke:1px rgba(158,230,178,.09);letter-spacing:-.08em}.signature-shell{position:relative;display:grid;grid-template-columns:.72fr 1.28fr;gap:88px;align-items:center}.signature-copy{position:relative;z-index:2}.signature-copy h2{font-size:clamp(3rem,5vw,5.6rem);line-height:.95;margin:20px 0 28px}.signature-copy>p{max-width:520px;color:#c9d9cf;font-size:1.05rem}.signature-copy dl{margin:38px 0;border-top:1px solid rgba(255,255,255,.18)}.signature-copy dl div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.18)}.signature-copy dt{color:#8fb19e;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.signature-copy dd{margin:0;font-size:.88rem}.signature-images{position:relative;min-height:610px}.signature-images figure{margin:0}.signature-main{position:absolute;inset:0 12% 0 0}.signature-main img{width:100%;height:100%;object-fit:cover;box-shadow:0 35px 90px rgba(0,0,0,.36)}.signature-detail{position:absolute;right:0;bottom:-36px;width:38%;height:270px;padding:10px;background:#fff;box-shadow:0 25px 60px rgba(0,0,0,.34)}.signature-detail img{width:100%;height:100%;object-fit:cover}.signature-images figcaption{position:absolute;left:18px;bottom:16px;background:rgba(2,38,25,.88);padding:8px 11px;color:#fff;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.signature-detail figcaption{left:auto;right:18px}
.home-project-grid{gap:16px}.home-project-grid a:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.22);pointer-events:none}.home-project-grid span{bottom:18px;left:18px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.review-grid figure{position:relative}.review-grid figure:before{content:"“";position:absolute;right:28px;top:18px;color:rgba(8,122,54,.11);font:7rem/1 Georgia,serif}.quote{position:relative;isolation:isolate}.quote:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 45%,rgba(255,255,255,.07) 45% 46%,transparent 46%);z-index:-1}
.page-hero{background:linear-gradient(115deg,rgba(2,38,25,.98),rgba(5,61,37,.91)),url('/assets/gallery/argueta-drone-2.webp') center/cover}.page-hero:before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.12)}.interior-photo img{box-shadow:0 30px 75px rgba(3,48,31,.2)}
@media(max-width:1180px){.hero-standard{display:none}}
@media(max-width:900px){.signature-shell{grid-template-columns:1fr;gap:58px}.signature-images{min-height:560px}.signature-project{padding:86px 0}}
@media(max-width:620px){body{background:var(--paper)}.hero:before{inset:10px}.signature-project{padding:74px 0 90px}.signature-images{min-height:430px}.signature-main{right:8%}.signature-detail{width:46%;height:190px;bottom:-28px}.signature-copy h2{font-size:clamp(2.8rem,14vw,4.2rem)}.service-grid article:hover{transform:none}.signature-project:before{font-size:10rem}}

:root{--pine:#073b2b;--pine-deep:#03251b;--green:#07833b;--green-bright:#5bd47f;--mist:#f3f6f3;--ink:#102019;--muted:#66726b;--line:#dbe3dd;--shadow:0 26px 70px rgba(3,37,27,.14)}
body{background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}
h1,h2,.legacy-copy h2,.signature-copy h2,.service-grid h3,.review-grid blockquote{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-style:normal}
.trust-bar{min-height:36px;background:var(--pine-deep);font-size:.65rem;letter-spacing:.18em}
.site-header{height:88px;border:0;box-shadow:0 10px 38px rgba(3,37,27,.08)}.brand-mark{height:66px}.brand-mark img{width:116px}.brand .anniversary-mark{width:54px;height:54px;box-shadow:none}.desktop-nav{gap:34px}.desktop-nav a{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.button{border-radius:0;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;min-height:58px;padding-inline:28px;box-shadow:none}.button:hover,.button:focus-visible{box-shadow:none;transform:none}
.hero-v3{height:min(790px,calc(100vh - 124px));min-height:680px;display:grid;grid-template-columns:minmax(430px,45%) 1fr;overflow:visible;background:var(--pine-deep);isolation:isolate}.hero-v3:before{display:none}.hero-copy{position:relative;display:flex;align-items:center;background:var(--pine-deep);color:#fff;padding:70px max(42px,calc((100vw - var(--max))/2));padding-right:6vw}.hero-copy:after{content:"";position:absolute;right:-42px;top:0;bottom:0;width:84px;background:var(--pine-deep);clip-path:polygon(0 0,51% 0,100% 100%,49% 100%);z-index:2}.hero-copy-inner{position:relative;z-index:3;max-width:660px}.hero-v3 .eyebrow{color:#a8e8bb;font-size:.68rem}.hero-v3 h1{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(3.7rem,5.7vw,6.8rem);font-weight:850;line-height:.89;letter-spacing:-.075em;margin:30px 0}.hero-v3 h1 span{display:block;color:#90dda7;font-weight:520;letter-spacing:-.065em}.hero-v3 .hero-copy p{max-width:580px;color:#d3e3d9;font-size:1.05rem;line-height:1.75}.hero-v3 .hero-actions{gap:28px;align-items:center;margin-top:38px}.hero-v3 .button-light{background:#fff;color:var(--pine-deep);border-color:#fff}.hero-call{display:flex;flex-direction:column;color:#fff;text-decoration:none;line-height:1.25}.hero-call small{color:#9fb7a9;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem}.hero-call strong{font-size:1.12rem;margin-top:6px}.hero-assurances{display:flex;gap:24px;margin-top:44px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);color:#afc6b8;font-size:.69rem;text-transform:uppercase;letter-spacing:.1em}.hero-assurances span{display:flex;align-items:center;gap:8px}.hero-assurances span:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--green-bright)}
.hero-visual{position:relative;margin:0;min-width:0;overflow:hidden;background:#1c3128}.hero-v3 .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:56% center;z-index:auto;filter:saturate(.84) contrast(1.03)}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,37,27,.14),transparent 32%),linear-gradient(0deg,rgba(3,20,14,.36),transparent 45%)}.hero-visual figcaption{position:absolute;z-index:2;right:32px;bottom:105px;width:250px;padding:20px 22px;background:rgba(255,255,255,.94);color:var(--ink)}.hero-visual figcaption span,.hero-visual figcaption small{display:block;color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}.hero-visual figcaption strong{display:block;margin:9px 0 6px;font-size:.92rem}.hero-v3 .hero-proof{left:50%;right:auto;bottom:-54px;transform:translateX(-50%);width:min(calc(100% - 48px),1080px);padding:0;background:#fff;box-shadow:0 22px 60px rgba(3,37,27,.16);z-index:5}.hero-v3 .hero-proof div{min-height:108px;padding:22px 38px;gap:16px}.hero-v3 .hero-proof strong{font-family:Inter,sans-serif;font-size:2.35rem;font-weight:800;letter-spacing:-.06em}.hero-v3 .hero-proof span{font-size:.66rem;line-height:1.5;letter-spacing:.1em}.proof-strip{margin-top:54px;background:#fff;color:var(--pine);border-bottom:1px solid var(--line);gap:38px}.proof-strip i{background:var(--green)}
.services{padding-top:130px}.section-heading h2,.craft h2,.service-area h2,.quote h2{font-weight:780;letter-spacing:-.065em;line-height:.96}.section-heading{align-items:start}.section-heading>p{max-width:520px;justify-self:end}.service-grid{grid-template-columns:repeat(2,1fr);gap:1px;border:0;background:var(--line);box-shadow:none}.service-grid article{min-height:320px;border:0!important;background:#fff;padding:42px}.service-grid article:hover{transform:none;background:var(--mist);box-shadow:none}.service-grid .service-feature{background:var(--pine);color:#fff}.service-grid .service-feature p{color:#c8d8ce}.service-grid .service-feature span,.service-grid .service-feature a,.service-grid .service-feature .service-icon{color:#9ee6b2}.service-icon{margin:42px 0 28px}.service-path{font-size:.7rem}.legacy-number{font-family:Inter,sans-serif;font-weight:850;letter-spacing:-.1em}.legacy-copy h2{font-weight:760;letter-spacing:-.06em}.legacy-copy blockquote{font-family:Inter,sans-serif;font-style:normal;font-weight:650}.signature-project:before{display:none}.signature-copy h2{font-weight:770;letter-spacing:-.065em}.review-grid blockquote{font-weight:520;letter-spacing:-.025em}.page-hero h1,.interior-grid h2,.process h2,.directory h2,.faq-callout h2,.article-page h2{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:780;letter-spacing:-.06em}
@media(max-width:1050px){.hero-v3{grid-template-columns:1fr;overflow:hidden}.hero-copy{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(3,37,27,.95),rgba(3,37,27,.68) 62%,rgba(3,37,27,.18));padding:82px 6vw 120px}.hero-copy:after{display:none}.hero-visual{grid-column:1;grid-row:1}.hero-v3 .hero-image{object-position:center}.hero-visual figcaption{display:none}.hero-v3 .hero-proof{left:0;right:0;transform:none;width:100%;bottom:0}.hero-v3 h1{max-width:760px}.hero-v3 .hero-copy p{max-width:620px}}
@media(max-width:760px){.site-header{height:76px}.hero-v3{height:auto;min-height:730px}.hero-copy{padding:68px 16px 130px;background:linear-gradient(90deg,rgba(3,37,27,.92),rgba(3,37,27,.54))}.hero-v3 h1{font-size:clamp(3.35rem,15vw,5rem);line-height:.91;margin:25px 0}.hero-v3 .hero-copy p{font-size:.98rem;line-height:1.65}.hero-v3 .hero-actions{align-items:flex-start}.hero-call{padding-left:2px}.hero-assurances{display:none}.hero-v3 .hero-proof{grid-template-columns:repeat(3,1fr)}.hero-v3 .hero-proof div{min-height:94px;padding:14px 10px}.hero-v3 .hero-proof strong{font-size:1.65rem}.hero-v3 .hero-proof span{font-size:.56rem}.proof-strip{margin-top:0}.services{padding-top:90px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:290px}.service-grid .service-feature{background:var(--pine)}}
@media(max-width:390px){.hero-copy{padding-top:58px}.hero-v3 h1{font-size:3.45rem}.hero-v3 .button{padding-inline:18px}.hero-v3 .hero-actions{gap:18px}.hero-call strong{font-size:1rem}.hero-v3 .hero-proof div{padding-inline:7px}}
.hero-call strong{white-space:nowrap}

:root{--jade:#063f2d;--clay:#b7563a;--cobalt:#274f73;--limestone:#f3eadb}
.hero-v3{background:var(--jade)}
.hero-copy{background:linear-gradient(145deg,#03251b 0%,var(--jade) 68%,#0a4b37 100%)}
.hero-copy:after{background:var(--jade)}
.hero-v3 .eyebrow span{background:var(--clay)}
.hero-v3 h1 span{color:#a7deb8}
.hero-v3 .hero-image{object-position:54% center;filter:saturate(.9) contrast(1.04)}
.hero-visual:after{background:linear-gradient(90deg,rgba(3,37,27,.27),transparent 40%),linear-gradient(0deg,rgba(3,20,14,.38),transparent 48%)}
.hero-visual figcaption{border-top:4px solid var(--clay);box-shadow:0 24px 60px rgba(3,26,18,.22)}
.hero-visual figcaption span{color:var(--clay);font-weight:850}
.hero-v3 .hero-proof strong{color:var(--jade)}
.proof-strip{margin-top:54px;border-top:0}
.kicker{color:var(--clay)}
.kicker-light{color:#f0aa8c}
.legacy{background:linear-gradient(135deg,#063f2d,#03251b)}
.legacy-number{color:var(--limestone)}
.signature-project{background:linear-gradient(135deg,#03251b 0%,#063f2d 72%,#274f73 160%)}
.image-caption,.home-project-grid span{background:var(--clay)}
@media(max-width:1050px){.hero-copy{background:linear-gradient(90deg,rgba(3,37,27,.96),rgba(6,63,45,.72) 60%,rgba(3,37,27,.22))}}
@media(max-width:760px){.hero-copy{background:linear-gradient(90deg,rgba(3,37,27,.94),rgba(6,63,45,.58))}.hero-v3 .hero-image{object-position:63% center}.proof-strip{margin-top:0}}

html{font-size:17px}
body{font-size:1rem;line-height:1.65}
.site-header{height:106px}
.header-inner{width:min(calc(100% - 48px),1400px);gap:24px}
.brand{gap:14px;min-width:max-content}
.brand-mark{display:flex;width:146px;height:90px;align-items:center;overflow:visible;flex:0 0 146px}
.brand-mark img,.brand img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;filter:none}
.brand-mark img{filter:hue-rotate(265deg) saturate(1.5) brightness(.72)}
.brand .anniversary-mark{width:66px;height:66px;flex:0 0 66px;object-fit:contain;filter:none}
.desktop-nav{gap:30px}
.desktop-nav a{font-size:.9rem;letter-spacing:.065em}
.phone-link{font-size:1rem}
.button,.button-small{font-size:.82rem}
.trust-bar{font-size:.76rem;letter-spacing:.14em}
.hero-v3 .eyebrow,.eyebrow,.kicker{font-size:.79rem;letter-spacing:.17em}
.hero-v3 .hero-copy p,.section-heading>p,.craft-copy>p,.signature-copy>p{font-size:1.08rem}
.hero-call small{font-size:.74rem}.hero-call strong{font-size:1.24rem}
.hero-assurances{font-size:.76rem;gap:16px}.hero-assurances span{white-space:nowrap}
.hero-v3 .hero-proof span{font-size:.76rem}
.proof-strip p{font-size:.78rem;letter-spacing:.13em}
.service-grid article>span,.service-feature span{font-size:.8rem}
.service-grid p{font-size:1rem;line-height:1.68}
.service-path{font-size:.8rem}
.hero-visual figcaption span,.hero-visual figcaption small{font-size:.72rem}
.hero-visual figcaption strong{font-size:1.02rem}
.detail-list small{font-size:.9rem}.detail-list strong{font-size:1rem}
.signature-copy dt,.image-caption,.signature-images figcaption,.home-project-grid span{font-size:.74rem}
.signature-copy dd,.footer-main p,.footer-main address,.footer-main a{font-size:.96rem}
.review-grid figcaption span,.footer-bottom{font-size:.82rem}
@media(max-width:1050px){.site-header{height:96px}.brand-mark{width:126px;height:78px;flex-basis:126px}.brand .anniversary-mark{width:58px;height:58px;flex-basis:58px}.phone-link{font-size:.94rem}}
@media(max-width:760px){html{font-size:16.5px}.site-header{height:86px}.header-inner{width:calc(100% - 20px);gap:7px}.brand{gap:6px}.brand-mark,.brand-mark img{width:104px;height:64px;flex-basis:104px}.brand .anniversary-mark{width:48px;height:48px;flex-basis:48px}.phone-link{font-size:.84rem;gap:5px}.phone-link svg{width:15px;flex-basis:15px}.menu-toggle{width:42px}.mobile-nav{top:86px}.mobile-conversion a{font-size:.86rem}.hero-v3{min-height:850px}.hero-v3 .hero-copy{align-items:flex-start;padding-top:42px}.hero-v3 .eyebrow,.eyebrow,.kicker{font-size:.76rem}.hero-v3 .hero-copy p{font-size:1.04rem}.hero-v3 .hero-proof span{font-size:.66rem}.proof-strip p{font-size:.74rem}.service-grid p{font-size:1rem}}
@media(max-width:390px){.header-inner{width:calc(100% - 12px);gap:4px}.brand{gap:4px}.brand-mark,.brand-mark img{width:92px;height:57px;flex-basis:92px}.brand .anniversary-mark{width:43px;height:43px;flex-basis:43px}.phone-link{font-size:.8rem}.menu-toggle{width:38px}.mobile-conversion a{font-size:.82rem}}

.craft-image-wrap img{display:block;width:100%;height:auto;min-height:0;aspect-ratio:4/3;object-fit:cover;object-position:center}
@media(max-width:760px){.craft-image-wrap{width:100%}.craft-image-wrap img{height:auto;min-height:0;aspect-ratio:4/3}.craft-image-wrap:before{left:-10px;top:-10px}.image-caption{right:10px;bottom:10px}}

.craft-ribbon{display:none}
.page-hero:after,.interior-photo:before,.craft-image-wrap:before,.review-grid figure:before,.quote:before{display:none}
.interior-photo img,.craft-image-wrap img{box-shadow:0 24px 54px rgba(3,37,27,.14)}
.image-caption{background:rgba(3,37,27,.94);border-left:4px solid var(--clay)}
@media(max-width:760px){.image-caption{font-size:.78rem;padding:11px 14px}}

.positioning{display:grid;grid-template-columns:.58fr 1.42fr;gap:clamp(48px,8vw,128px);align-items:start;padding-top:138px;padding-bottom:104px}
.positioning-label{border-top:3px solid var(--clay);padding-top:18px;display:flex;flex-direction:column;gap:5px;color:var(--pine)}
.positioning-label span{font-size:.78rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.positioning-label small{color:var(--muted);font-size:.76rem;letter-spacing:.04em}
.positioning-statement{max-width:900px}
.positioning-statement h2{margin:0;font-size:clamp(2.35rem,4.45vw,5rem);font-weight:760;line-height:1.01;letter-spacing:-.065em}
.positioning-statement p{max-width:680px;margin:32px 0 0;color:var(--muted);font-size:1.08rem;line-height:1.75}
.positioning+.proof-strip{margin-top:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}

.services{padding-top:118px;padding-bottom:132px}
.service-grid-editorial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:0;background:var(--line);box-shadow:none}
.service-grid-editorial article,.service-grid-editorial .service-feature{display:grid;grid-template-columns:minmax(190px,.78fr) minmax(260px,1fr);min-height:380px;padding:0;border:0!important;background:#fff;color:var(--ink);overflow:hidden}
.service-grid-editorial .service-feature{grid-column:auto}
.service-grid-editorial .service-media{position:relative;margin:0;min-height:100%;overflow:hidden;background:#dbe4dd}
.service-grid-editorial .service-media:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.18)}
.service-grid-editorial .service-media img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.83) contrast(1.04);transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.form-status{min-height:1.35rem}.form-status.is-success{color:#087a36!important}.form-status.is-error{color:#a52d24!important}.quote-form button[disabled],form .button[disabled]{cursor:wait;opacity:.68}
.feature-lines h3 a{color:inherit;text-decoration:none}.feature-lines h3 a:hover,.feature-lines h3 a:focus-visible{color:var(--green-bright);text-decoration:underline;text-underline-offset:4px}
.service-grid-editorial article:hover{background:#fff;box-shadow:none}
.service-grid-editorial article:hover .service-media img{transform:scale(1.035);filter:saturate(1) contrast(1.03)}
.service-grid-editorial .service-content{display:flex;flex-direction:column;padding:34px 32px 32px;min-width:0}
.service-grid-editorial .service-heading{display:flex;align-items:center;gap:16px;margin-bottom:auto}
.service-grid-editorial .service-heading>span,.service-grid-editorial .service-feature .service-heading>span{color:var(--clay);font-size:.72rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.service-grid-editorial h3{margin:36px 0 15px;font-size:clamp(1.45rem,2vw,2rem);font-weight:760;letter-spacing:-.04em}
.service-grid-editorial p,.service-grid-editorial .service-feature p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.62}
.service-grid-editorial .service-path,.service-grid-editorial .service-feature .service-path{margin-top:26px;padding-top:17px;border-top:1px solid var(--line);color:var(--pine);font-size:.7rem}

.company-story{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(520px,.95fr);min-height:760px;background:var(--pine-deep);color:#fff}
.company-story-media{position:relative;min-height:760px;overflow:hidden;background:#1c3128}
.company-story-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,37,27,.25),transparent 46%);pointer-events:none}
.company-story-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.85) contrast(1.04)}
.company-story-media>span{position:absolute;left:32px;bottom:30px;z-index:2;padding:10px 14px;background:rgba(3,37,27,.92);border-left:4px solid var(--clay);font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.company-story-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(62px,7vw,112px);background:linear-gradient(145deg,#03251b 0%,#063f2d 100%)}
.company-story-copy h2{max-width:760px;margin:20px 0 28px;font-size:clamp(2.8rem,4.4vw,5.2rem);font-weight:750;line-height:.98;letter-spacing:-.07em}
.company-story-copy>p{max-width:640px;margin:0;color:#cfddd4;font-size:1.04rem;line-height:1.75}
.story-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:45px 0 42px;padding-top:25px;border-top:1px solid rgba(255,255,255,.19)}
.story-principles div{display:flex;flex-direction:column;gap:12px}
.story-principles strong{color:#ef9c7b;font-size:.68rem;letter-spacing:.12em}
.story-principles span{color:#fff;font-size:.78rem;font-weight:730;line-height:1.45}
.company-story-copy .text-link{align-self:flex-start}

.signature-project{padding-block:132px}
.signature-copy h2{max-width:600px}
.home-gallery{padding-top:126px}
.reviews{padding-block:126px}
.quote-inner{padding-block:118px}

@media(max-width:1180px){
  .service-grid-editorial article,.service-grid-editorial .service-feature{grid-template-columns:1fr;min-height:0}
  .service-grid-editorial .service-media{height:260px}
  .service-grid-editorial .service-content{min-height:330px}
  .company-story{grid-template-columns:1fr 1fr}
  .company-story-copy{padding:70px 54px}
}
@media(max-width:900px){
  .positioning{grid-template-columns:1fr;gap:42px;padding-top:112px;padding-bottom:82px}
  .positioning-label{max-width:330px}
  .company-story{grid-template-columns:1fr}
  .company-story-media{min-height:520px}
  .company-story-copy{padding:78px 6vw}
}
@media(max-width:700px){
  .positioning{padding-top:74px;padding-bottom:64px;gap:32px}
  .positioning-statement h2{font-size:clamp(2.35rem,11.5vw,3.5rem)}
  .positioning-statement p{margin-top:24px;font-size:1rem}
  .positioning+.proof-strip{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0}
  .positioning+.proof-strip p{display:flex;align-items:center;justify-content:center;min-height:64px;padding:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;line-height:1.45}
  .positioning+.proof-strip p:nth-of-type(2n){border-right:0}
  .positioning+.proof-strip i{display:none}
  .services{padding-top:82px;padding-bottom:88px}
  .section-heading{gap:26px;margin-bottom:42px}
  .service-grid-editorial{grid-template-columns:1fr}
  .service-grid-editorial .service-media{height:245px}
  .service-grid-editorial .service-content{min-height:300px;padding:28px 26px}
  .company-story-media{min-height:420px}
  .company-story-media>span{left:16px;bottom:16px}
  .company-story-copy{padding:68px 20px 74px}
  .company-story-copy h2{font-size:clamp(2.65rem,12vw,4rem)}
  .story-principles{grid-template-columns:1fr;gap:0}
  .story-principles div{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.13)}
  .story-principles span br{display:none}
  .signature-project,.home-gallery,.reviews{padding-block:86px}
}

.header-inner{width:min(calc(100% - 48px),1450px)}
.brand{margin-right:14px}
.desktop-nav{gap:25px}
.hero-v3{height:min(680px,calc(100vh - 142px));min-height:580px}
.hero-v3 h1{font-size:clamp(3.45rem,5vw,5.65rem);margin:22px 0}
.hero-v3 .hero-copy p{font-size:1rem;line-height:1.62}
.hero-v3 .hero-actions{margin-top:28px}
.hero-assurances{margin-top:26px;padding-top:18px}
.hero-v3 .hero-image{object-position:center;filter:saturate(.98) contrast(1.06)}
.hero-visual:after{background:linear-gradient(90deg,rgba(3,37,27,.2),transparent 38%),linear-gradient(0deg,rgba(3,20,14,.23),transparent 45%)}
.hero-visual .project-credit{right:24px;bottom:78px;width:auto;max-width:310px;padding:14px 17px;border-top:3px solid var(--clay);box-shadow:0 16px 38px rgba(3,26,18,.2)}
.hero-visual .project-credit span{font-size:.64rem}
.hero-visual .project-credit strong{margin:5px 0 0;font-size:.8rem}
.hero-v3 .hero-proof{bottom:-48px}
.positioning{padding-top:116px;padding-bottom:88px}
.review-source{align-self:end;display:inline-flex;align-items:center;gap:12px;padding-bottom:10px;border-bottom:2px solid var(--green);color:var(--pine);font-size:.76rem;font-weight:850;letter-spacing:.07em;text-decoration:none;text-transform:uppercase}
.review-source:hover,.review-source:focus-visible{color:var(--green)}
.footer-brand img{display:block;width:180px!important;height:auto!important;max-width:100%;aspect-ratio:500/305;object-fit:contain;filter:grayscale(1) brightness(0) invert(1)!important}
@media(max-width:1180px){.desktop-nav{display:none}.brand{margin-right:0}}
@media(max-width:1050px){.hero-v3{height:min(680px,calc(100vh - 132px));min-height:590px}}
@media(max-width:760px){
  .brand{margin-right:0}
  .hero-v3{min-height:760px}
  .hero-v3 h1{font-size:clamp(3.1rem,14vw,4.6rem);margin:20px 0}
  .hero-v3 .hero-copy{padding-top:38px}
  .hero-v3 .hero-copy p{font-size:.98rem;line-height:1.55}
  .hero-v3 .hero-actions{margin-top:24px}
  .positioning{padding-top:70px}
  .section-heading.compact{grid-template-columns:1fr;gap:26px}
  .review-source{justify-self:start;align-self:start}
  .footer-brand img{width:150px!important}
}

.positioning,.services,.service-area,.interior,.directory,.article-page,.gallery-section{position:relative;isolation:isolate}
.positioning:before,.services:before,.service-area:before,.interior:before,.directory:before,.article-page:before,.gallery-section:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 86% 12%,rgba(7,131,59,.065),transparent 27%),linear-gradient(135deg,rgba(183,86,58,.035) 0 1px,transparent 1px 48px)}
.positioning:after,.services:after,.service-area:after{content:"";position:absolute;z-index:-1;width:88px;height:3px;right:0;top:38px;background:linear-gradient(90deg,var(--clay) 0 28px,var(--green) 28px)}

.anniversary-feature{position:relative;overflow:hidden;background:var(--limestone);border-block:1px solid rgba(183,86,58,.18)}
.anniversary-feature:before{content:"50";position:absolute;right:-.08em;bottom:-.34em;color:rgba(7,59,43,.045);font-size:clamp(17rem,32vw,34rem);font-weight:900;line-height:1;letter-spacing:-.12em;pointer-events:none}
.anniversary-shell{position:relative;display:grid;grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr);gap:clamp(55px,9vw,135px);align-items:center;padding-block:94px}
.anniversary-emblem{position:relative;display:grid;place-items:center;min-height:310px;border:1px solid rgba(7,59,43,.16);background:rgba(255,255,255,.62)}
.anniversary-emblem:before,.anniversary-emblem:after{content:"";position:absolute;width:42px;height:42px;border-color:var(--clay)}
.anniversary-emblem:before{left:15px;top:15px;border-left:3px solid var(--clay);border-top:3px solid var(--clay)}
.anniversary-emblem:after{right:15px;bottom:15px;border-right:3px solid var(--clay);border-bottom:3px solid var(--clay)}
.anniversary-emblem img{width:180px;height:180px;object-fit:contain;filter:drop-shadow(0 16px 28px rgba(3,37,27,.12))}
.anniversary-years{position:absolute;left:22px;top:20px;color:var(--pine);font-size:.68rem;font-weight:900;letter-spacing:.16em}
.anniversary-rule{position:absolute;right:22px;bottom:24px;width:72px;height:2px;background:var(--green)}
.anniversary-copy{max-width:760px}
.anniversary-copy h2{margin:17px 0 28px;font-size:clamp(3rem,5vw,5.7rem);font-weight:790;line-height:.94;letter-spacing:-.07em}
.anniversary-copy h2 em{color:var(--green);font-family:"Iowan Old Style",Georgia,serif;font-weight:500}
.anniversary-copy p{max-width:680px;margin:0 0 30px;color:#4f5d55;font-size:1.08rem;line-height:1.78}
.anniversary-copy .text-link{color:var(--pine)}
.service-area li{position:relative;padding:0;border-bottom:1px solid var(--line)}
.service-area li:before{position:absolute;left:8px;top:50%;transform:translateY(-50%);pointer-events:none}
.service-area li a{display:block;padding:19px 12px 19px 42px;text-decoration:none;transition:color .2s ease,background .2s ease,padding-left .2s ease}
.service-area li a:hover,.service-area li a:focus-visible{padding-left:48px;background:rgba(7,131,59,.055);color:var(--green)}

@media(max-width:900px){
  .anniversary-shell{grid-template-columns:1fr;gap:45px;padding-block:76px}
  .anniversary-emblem{max-width:430px;min-height:270px}
}
@media(max-width:700px){
  .positioning:after,.services:after,.service-area:after{top:22px;width:64px}
  .anniversary-shell{padding-block:62px}
  .anniversary-emblem{min-height:240px}
  .anniversary-emblem img{width:150px;height:150px}
  .anniversary-copy h2{font-size:clamp(2.7rem,12vw,4rem)}
  .anniversary-copy p{font-size:1rem}
}

:root{--font-sans:"Avenir Next","Segoe UI Variable Text",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:"Avenir Next","Segoe UI Variable Display",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-editorial:"Iowan Old Style",Baskerville,"Times New Roman",serif}
html{font-size:17px}
body{font-family:var(--font-sans);font-weight:430;line-height:1.72;letter-spacing:.002em}
h1,h2,h3{font-family:var(--font-display);font-kerning:normal;text-wrap:balance}
p,li,blockquote{text-wrap:pretty}
.hero-v3 h1{font-family:var(--font-display);font-weight:780;line-height:.96;letter-spacing:-.047em}
.hero-v3 h1 span{font-weight:500;letter-spacing:-.038em}
.page-hero h1{max-width:1100px;font-family:var(--font-display);font-weight:760;line-height:1.01;letter-spacing:-.042em}
.section-heading h2,.craft h2,.service-area h2,.quote h2,.positioning-statement h2,.company-story-copy h2,.signature-copy h2,.gallery-intro h2,.gallery-cta h2,.interior-grid h2,.process h2,.directory h2,.faq-callout h2,.article-page h2{font-family:var(--font-display);font-weight:740;line-height:1.015;letter-spacing:-.044em}
.anniversary-copy h2{font-family:var(--font-display);font-weight:750;line-height:.99;letter-spacing:-.046em}
.anniversary-copy h2 em{font-family:var(--font-editorial);font-weight:500;letter-spacing:-.025em}
.service-grid-editorial h3,.feature-lines h3{font-weight:710;line-height:1.16;letter-spacing:-.025em}
.review-grid blockquote{font-family:var(--font-editorial);font-weight:500;line-height:1.58;letter-spacing:-.012em}
.lead,.hero-v3 .hero-copy p,.positioning-statement p,.section-heading>p,.company-story-copy>p,.anniversary-copy p{line-height:1.78}
.kicker,.eyebrow,.positioning-label span{line-height:1.45;letter-spacing:.12em}
.button,.desktop-nav a,.service-path,.text-link{letter-spacing:.07em}

.home-project-grid a{cursor:zoom-in}
.lightbox{overflow:visible;border:1px solid rgba(255,255,255,.16);padding:18px 18px 54px;background:#06140e;color:#fff}
.lightbox img{display:block;width:100%;max-height:78vh;object-fit:contain;background:#020806}
.lightbox p{min-height:1.5em;margin:14px 120px 0 4px;color:#dce8e0;font-size:.86rem;line-height:1.5}
.lightbox-step{position:absolute;top:50%;display:grid;place-items:center;width:54px;height:54px;transform:translateY(-50%);border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(3,37,27,.88);color:#fff;font-size:1.25rem;cursor:pointer;backdrop-filter:blur(8px)}
.lightbox-step:hover,.lightbox-step:focus-visible{background:var(--green);border-color:var(--green)}
.lightbox-prev{left:30px}.lightbox-next{right:30px}
.lightbox-count{position:absolute;right:22px;bottom:19px;color:#b8cbbf;font-size:.72rem;font-weight:800;letter-spacing:.12em}
.lightbox-close{z-index:2;box-shadow:0 8px 24px rgba(0,0,0,.28)}

@media(max-width:760px){
  html{font-size:16.5px}
  body{line-height:1.68}
  .hero-v3 h1{line-height:.97;letter-spacing:-.038em}
  .page-hero h1,.section-heading h2,.craft h2,.service-area h2,.quote h2,.positioning-statement h2,.company-story-copy h2,.signature-copy h2,.anniversary-copy h2,.interior-grid h2,.process h2,.directory h2,.faq-callout h2,.article-page h2{line-height:1.035;letter-spacing:-.035em}
  .lightbox{width:calc(100vw - 20px);padding:10px 10px 58px}
  .lightbox img{max-height:70vh}
  .lightbox p{margin:12px 56px 0 2px;font-size:.78rem}
  .lightbox-step{top:auto;bottom:8px;width:42px;height:42px;transform:none}
  .lightbox-prev{left:10px}.lightbox-next{left:60px;right:auto}
  .lightbox-count{right:14px;bottom:17px}
}
@media(max-width:430px){
  .hero-v3 h1{font-size:clamp(2.8rem,12vw,3.2rem);line-height:1;letter-spacing:-.034em}
}

@media(max-width:760px){
  .phone-link{min-height:44px;font-size:clamp(.92rem,4vw,1rem);font-weight:850;line-height:1;letter-spacing:-.018em}
  .phone-link svg{width:17px;flex-basis:17px}
}
@media(max-width:350px){
  .brand-mark,.brand-mark img{width:78px;height:52px;flex-basis:78px}
  .brand .anniversary-mark{width:38px;height:38px;flex-basis:38px}
  .phone-link{font-size:.9rem}
  .phone-link svg{display:none}
  .menu-toggle{width:36px}
}

.project-credit{border-top-color:var(--green)}
.project-credit span{color:var(--green)}
.company-story-media>span,.signature-images figcaption{background:rgba(2,38,25,.92);border-left:3px solid var(--clay)}
.review-source,.gallery-note{font-size:.86rem}

@media(min-width:1051px){
  .hero-v3{grid-template-columns:minmax(620px,52%) 1fr;min-height:720px}
  .hero-copy{padding-left:max(42px,calc((100vw - var(--max))/2));padding-right:4vw}
  .hero-v3 h1{max-width:650px;font-size:clamp(3.7rem,4.65vw,5.6rem);line-height:.93;letter-spacing:-.058em}
}

@media(max-width:760px){
  .site-header{height:82px}
  .header-inner{width:calc(100% - 16px);gap:5px}
  .brand{gap:5px;margin-right:0}
  .brand-mark,.brand-mark img{width:90px;height:58px;flex-basis:90px}
  .brand .anniversary-mark{display:block!important;width:42px;height:42px;flex-basis:42px;opacity:1;visibility:visible}
  .phone-link{font-size:.92rem;gap:4px}
  .phone-link svg{width:15px;flex-basis:15px}
  .menu-toggle{width:38px}
  .mobile-nav{top:82px}
  .hero-v3{min-height:790px}
  .hero-v3 .hero-copy{padding:46px 18px 230px}
  .hero-v3 .hero-proof{bottom:128px}
  .hero-v3 .hero-proof div{min-height:84px;padding:12px 8px}
  .hero-v3 .hero-proof strong{font-size:1.55rem}
  .hero-v3 .hero-proof span{font-size:.6rem;letter-spacing:.07em}
}

@media(max-width:350px){
  .brand-mark,.brand-mark img{width:74px;height:50px;flex-basis:74px}
  .brand .anniversary-mark{width:34px;height:34px;flex-basis:34px}
  .phone-link{font-size:.82rem}
  .phone-link svg{display:none}
  .menu-toggle{width:44px;min-width:44px;flex:0 0 44px}
}

@media(max-width:760px){
  .header-actions{min-width:0}
  .menu-toggle{width:44px;min-width:44px;flex:0 0 44px;padding:0 9px}
  .mobile-nav a{display:flex;align-items:center;min-height:48px;padding-block:12px}
  .interior-grid,.interior-grid>*,.process,.process>*,.area-panel,.article-page,.directory{min-width:0}
  .area-panel{padding:32px 28px}
  .area-panel strong{font-size:clamp(2.15rem,11vw,3rem);overflow-wrap:anywhere}
  .area-panel a{font-size:clamp(1.08rem,5.5vw,1.35rem);overflow-wrap:anywhere}
  .interior-grid .button,.gallery-cta .button{max-width:100%;height:auto;min-height:56px;padding-block:12px;text-align:center;white-space:normal}
  .breadcrumbs{flex-wrap:wrap;line-height:1.45}
  input,select,textarea{min-height:50px;font-size:16px}
  textarea{min-height:132px}
  .gallery-filters button{min-height:48px}
  .lightbox-step{width:44px;height:44px}
  .footer-main a{display:flex;align-items:center;min-height:44px;margin-bottom:2px}
  .footer-bottom a{display:flex;align-items:center;min-height:44px}
}

@media(max-width:350px){
  .area-panel{padding:28px 22px}
  .mobile-conversion a{padding-inline:5px;font-size:.78rem}
}

@media(max-width:760px){
  .hero-v3 .hero-image{filter:saturate(.94) contrast(1.04) brightness(1.02)}
  .hero-v3 .hero-copy{background:linear-gradient(90deg,rgba(4,12,10,.86) 0%,rgba(4,12,10,.64) 58%,rgba(4,12,10,.3) 100%),linear-gradient(0deg,rgba(2,10,8,.38),rgba(2,10,8,.06) 55%)}
  .hero-visual:after{background:linear-gradient(0deg,rgba(2,10,8,.2),transparent 44%)}
}

#quote-form{scroll-margin-top:110px}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
