@font-face{font-family:"Space Grotesk";src:url("assets/space-grotesk.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:300 700}
@font-face{font-family:"DM Sans";src:url("assets/dm-sans.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:300 700}
:root{--paper:#f6f5f0;--ink:#17211e;--muted:#5d6761;--red:#ba4d39;--red-dark:#963b2b;--sage:#e6eae2;--line:#d7ddd4;--white:#fff;--display:"Space Grotesk",sans-serif;--body:"DM Sans",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}body,button,input,select,textarea{font-family:var(--body)}::selection{background:#c75b43;color:white}button,input,select,textarea{font-size:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}svg{display:block}.skip-link{position:absolute;top:-100px;left:1rem;z-index:1000;background:var(--ink);color:white;padding:.75rem 1rem}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid var(--red);outline-offset:4px}.content-wrap{width:min(100% - 96px,1344px);margin-inline:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.035em;line-height:1.07}h1{font-size:clamp(3.4rem,5.9vw,6rem)}h2{font-size:clamp(2.7rem,4.1vw,4.65rem)}h3{font-size:clamp(1.6rem,2.2vw,2.15rem)}p{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.6rem;min-height:60px;padding:0 22px;background:var(--red);color:white;border:1px solid var(--red);font-weight:700;font-size:.94rem;line-height:1.2;transition:background .18s ease,transform .18s ease,border-color .18s ease}.button svg,.text-link svg,.underlined-link svg,.mobile-quote svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.button:hover{background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-2px)}.button:hover svg,.text-link:hover svg,.underlined-link:hover svg,.mobile-quote:hover svg{transform:translateX(3px)}.button:active{transform:translateY(0)}.button-small{min-height:47px;padding:0 16px;font-size:.87rem}.button-outline{background:transparent;color:var(--ink);border-color:var(--ink)}.button-outline:hover{background:var(--ink);border-color:var(--ink);color:white}.button-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button-light:hover{background:white;border-color:white}.text-link,.underlined-link{display:inline-flex;gap:1rem;align-items:center;align-self:center;font-weight:700;font-size:.94rem}.underlined-link{padding-bottom:.45rem;border-bottom:1px solid currentColor}.text-link:hover,.underlined-link:hover{color:var(--red)}
.site-header{position:relative;z-index:20;background:var(--paper)}.topline{min-height:33px;padding:5px 48px;display:flex;justify-content:space-between;gap:20px;background:var(--ink);color:#edf1ea;text-transform:uppercase;letter-spacing:.095em;font-size:.66rem;font-weight:700}.nav-shell{height:84px;padding:0 48px;display:flex;align-items:center;gap:38px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:11px;flex:0 0 auto;font-family:var(--display);font-size:1.2rem;font-weight:700;line-height:1;letter-spacing:-.04em}.brand-mark{width:40px;height:40px;flex:0 0 auto}.brand-sub{display:block;margin-top:3px;font-family:var(--body);font-size:.59rem;letter-spacing:.21em;font-weight:700}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.3vw,42px);margin-left:auto}.desktop-nav a{font-size:.88rem;font-weight:650;white-space:nowrap;transition:color .15s}.desktop-nav a:hover,.mobile-nav a:hover{color:var(--red)}.nav-cta{margin-left:clamp(0px,1vw,20px)}.menu-toggle,.mobile-nav{display:none}
.hero{display:grid;grid-template-columns:54% 46%;min-height:min(760px,calc(100svh - 117px));border-bottom:1px solid var(--line)}.hero-copy{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(58px,6.5vw,108px) clamp(36px,6vw,110px) 0 clamp(48px,6vw,100px)}.hero-main{max-width:710px}.hero h1{margin-bottom:28px;max-width:690px}.full-stop{color:var(--red)}.hero-lead{max-width:580px;font-size:clamp(1.12rem,1.45vw,1.37rem);line-height:1.5;color:#39433e;margin-bottom:35px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:30px 0 36px;border-top:1px solid var(--line);margin-top:42px}.hero-proof span{display:flex;flex-direction:column;gap:2px}.hero-proof strong{font-size:.88rem;font-weight:800}.hero-proof em{font-size:.73rem;font-style:normal;color:var(--muted);line-height:1.35}.hero-visual{position:relative;min-height:610px;overflow:hidden;background:#e0e5dd}.hero-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 51%}.photo-note{position:absolute;bottom:20px;left:20px;background:rgba(23,33,30,.78);color:white;font-size:.68rem;letter-spacing:.035em;padding:7px 10px}.hero-visual-tag{position:absolute;top:25px;left:25px;right:25px;display:inline-flex;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 50px);padding:10px 14px;background:var(--paper);font-size:.73rem;font-weight:700;color:var(--ink)}.tag-square{width:8px;height:8px;background:var(--red);flex:none}
.intro{display:grid;grid-template-columns:1.05fr .95fr;gap:9%;padding-top:125px;padding-bottom:125px}.intro h2{max-width:610px;margin:0}.intro-body{padding-top:9px}.intro-body p{font-size:clamp(1.1rem,1.45vw,1.42rem);line-height:1.65;color:#38453f;max-width:590px;margin-bottom:31px}.services-section{background:var(--sage);padding:115px 0 125px}.services-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:11%;align-items:start}.services-heading{position:relative}.services-heading h2{max-width:530px;margin-bottom:25px}.services-heading>p{font-size:1.06rem;max-width:445px;line-height:1.65}.service-image{position:relative;margin-top:65px;width:85%;height:435px;overflow:hidden;background:#d4ded0}.service-image img{width:100%;height:100%;object-fit:cover;object-position:center 56%;transition:transform .5s ease}.service-image:hover img{transform:scale(1.025)}.service-list{border-top:1px solid #aab7aa}.service-item{padding:31px 0 32px;border-bottom:1px solid #aab7aa}.service-item-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.service-item h3{margin:0;font-size:clamp(1.9rem,3vw,3.15rem)}.service-item-top span{font-size:1.5rem;font-family:var(--display);color:var(--red)}.service-item p{max-width:500px;margin:13px 0 0;font-size:1rem;line-height:1.65;color:#435047}.service-list>.button{margin-top:40px}.work-section{padding-top:125px;padding-bottom:115px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:7%;margin-bottom:45px}.section-head h2{max-width:830px;margin:0}.section-head p{max-width:270px;margin:0 0 5px;font-size:1.02rem}.work-grid{display:grid;grid-template-columns:1.55fr 1fr 1fr;gap:18px}.work-tile{min-width:0}.work-image{height:360px;overflow:hidden;background:#dfe4de}.work-tile-large .work-image{height:430px}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.work-image:hover img{transform:scale(1.035)}.work-tile:nth-child(2) img{object-position:center 67%}.work-caption{border-top:2px solid var(--ink);padding-top:18px;margin-top:14px}.work-caption h3{font-size:1.65rem;margin:0 0 5px}.work-caption p{font-size:.93rem;max-width:330px;margin:0}.image-disclaimer{font-size:.78rem;margin:30px 0 0}
.about-section{background:var(--ink);padding:122px 0;color:var(--paper)}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:11%;align-items:end}.about-grid h2{max-width:700px;margin:0 0 27px}.about-lead{color:#d4e0d2;font-size:1.2rem;margin:0}.about-side p{color:#c1cdc4;font-size:1.12rem;line-height:1.7;max-width:515px;margin:0 0 32px}.areas-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding-top:115px;padding-bottom:115px}.areas-copy h2{max-width:600px;margin-bottom:27px}.areas-copy p{max-width:570px;font-size:1.09rem;line-height:1.7;margin-bottom:30px}.area-map{height:400px;background:#dfe8dc;position:relative;overflow:hidden;border:1px solid #d3dfd0}.map-circle{position:absolute;border:1px solid #aec2b0;border-radius:50%;left:54%;top:54%;transform:translate(-50%,-50%)}.map-circle-one{width:310px;height:310px}.map-circle-two{width:510px;height:510px}.map-line{position:absolute;left:0;right:0;top:54%;height:1px;background:#b4c6b4}.map-pin{position:absolute;left:54%;top:54%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;padding:10px 13px;background:var(--ink);color:white;font-size:.77rem;font-weight:700}.map-pin span{width:7px;height:7px;border-radius:50%;background:var(--red)}.map-label{position:absolute;top:24px;left:25px;color:#546d58;font-size:.76rem;font-weight:800;letter-spacing:.12em;line-height:1.4}.quote-section{padding:116px 0 130px;background:#e9eee7}.quote-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:start}.quote-copy h2{max-width:570px;margin:0 0 25px}.quote-copy>p{font-size:1.07rem;line-height:1.7;max-width:500px}.contact-options{border-top:1px solid #bac8bc;margin-top:50px;max-width:455px}.contact-options>div{display:flex;flex-direction:column;gap:4px;padding:18px 0;border-bottom:1px solid #bac8bc}.contact-options span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#4e6153;font-weight:800}.contact-options strong{font-size:1.05rem;font-weight:600}.contact-note{font-size:.77rem!important;margin-top:17px}.quote-form{padding:36px;background:var(--paper);border:1px solid #d8e0d5;box-shadow:0 24px 60px rgba(29,49,33,.06)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-form label{display:block;font-size:.84rem;font-weight:700;margin-bottom:21px}.quote-form label span{display:inline;color:var(--red)}.quote-form input,.quote-form select,.quote-form textarea{width:100%;min-height:50px;border:1px solid #c5cfc4;border-radius:0;padding:12px 14px;background:white;color:var(--ink);font-size:.92rem;font-weight:400;outline:none;margin-top:7px;transition:border-color .16s,box-shadow .16s}.quote-form textarea{min-height:130px;resize:vertical}.quote-form input::placeholder,.quote-form textarea::placeholder{color:#627068;opacity:1}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(186,77,57,.14)}.form-footer{display:flex;align-items:center;gap:22px}.form-footer .button{flex:0 0 auto}.form-footer p{font-size:.76rem;line-height:1.4;max-width:210px;margin:0}.form-status{padding:12px 14px;background:#eef1e9;font-size:.85rem;color:var(--ink);margin:16px 0 0}.honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}.site-footer{background:#101a16;color:var(--paper);padding:65px 0 27px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-brand{color:var(--paper)}.footer-grid p{color:#acbbb0;max-width:270px;font-size:.9rem;margin:25px 0 0}.footer-links{display:flex;justify-content:flex-end;align-items:flex-start;gap:23px;flex-wrap:wrap}.footer-links a{font-size:.84rem}.footer-links a:hover{color:#f0a594}.footer-bottom{border-top:1px solid #34443a;margin-top:70px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#a9b7ad;font-size:.73rem}.mobile-quote{display:none}
@media(max-width:1180px){.nav-shell{gap:20px;padding:0 30px}.topline{padding-inline:30px}.desktop-nav{gap:17px}.desktop-nav a{font-size:.81rem}.hero-copy{padding-left:48px;padding-right:45px}.hero{grid-template-columns:53% 47%}.hero h1{font-size:clamp(3.5rem,6.2vw,5.3rem)}.hero-proof{grid-template-columns:repeat(2,1fr)}.hero-proof span:last-child{display:none}.content-wrap{width:min(100% - 64px,1344px)}}
@media(max-width:900px){.desktop-nav,.nav-cta{display:none}.nav-shell{height:72px;padding:0 24px}.topline{padding-inline:24px}.menu-toggle{display:flex;margin-left:auto;background:transparent;border:0;width:46px;height:46px;flex-direction:column;align-items:center;justify-content:center;gap:6px}.menu-toggle span{width:22px;height:2px;background:var(--ink);transition:transform .2s ease}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;position:absolute;top:105px;left:0;right:0;background:var(--paper);padding:10px 24px 22px;flex-direction:column;box-shadow:0 24px 35px rgba(20,32,25,.11)}.mobile-nav a{padding:14px 0;border-bottom:1px solid var(--line);font-weight:700}.hero{min-height:0;grid-template-columns:1fr 43%}.hero-copy{padding:62px 35px 0 32px}.hero h1{font-size:clamp(3.3rem,6.4vw,4.8rem)}.hero-visual{min-height:650px}.hero-proof{padding:23px 0}.hero-actions{gap:18px}.intro,.services-layout,.about-grid,.quote-grid{gap:6%}.service-image{width:100%}.work-grid{grid-template-columns:1.3fr 1fr}.work-tile:last-child{display:none}}
@media(max-width:700px){html{scroll-padding-top:80px}.content-wrap{width:min(100% - 40px,1344px)}.topline{min-height:29px;padding:6px 20px;font-size:.59rem}.topline span:last-child{display:none}.nav-shell{height:67px;padding:0 20px}.brand{font-size:1.07rem}.brand-mark{width:35px;height:35px}.brand-sub{font-size:.53rem}.mobile-nav:not([hidden]){top:96px}.hero{display:flex;flex-direction:column}.hero-copy{padding:54px 20px 0;order:1}.hero h1{font-size:clamp(3.1rem,11vw,4.9rem);max-width:580px;margin-bottom:23px}.hero-lead{font-size:1.08rem;margin-bottom:26px}.hero-actions .button{min-height:54px}.hero-proof{margin-top:42px;gap:12px;padding:20px 0 22px}.hero-proof strong{font-size:.8rem}.hero-proof em{font-size:.69rem}.hero-visual{order:2;min-height:420px;height:55vw;max-height:570px}.hero-visual img{object-position:center 57%}.hero-visual-tag{top:14px;left:14px;right:14px;max-width:calc(100% - 28px);font-size:.67rem}.photo-note{left:14px;bottom:14px}.intro{display:block;padding-top:75px;padding-bottom:80px}.intro h2{margin-bottom:24px}.intro-body p{font-size:1.04rem}.services-section{padding:75px 0 85px}.services-layout{display:block}.services-heading h2{margin-bottom:20px}.services-heading>p{font-size:1rem}.service-image{display:none}.service-list{margin-top:36px}.service-item{padding:24px 0}.service-item h3{font-size:2rem}.service-item p{font-size:.94rem}.service-list>.button{margin-top:30px}.work-section{padding-top:77px;padding-bottom:80px}.section-head{display:block;margin-bottom:30px}.section-head h2{margin-bottom:17px}.section-head p{max-width:480px}.work-grid{display:grid;grid-template-columns:1fr;gap:34px}.work-tile:last-child{display:block}.work-image,.work-tile-large .work-image{height:330px}.work-tile:nth-child(2) .work-image{height:390px}.work-caption{margin-top:12px;padding-top:14px}.work-caption h3{font-size:1.5rem}.image-disclaimer{margin-top:28px}.about-section{padding:80px 0}.about-grid{display:block}.about-lead{font-size:1.05rem;margin-bottom:30px}.about-side p{font-size:1rem}.areas-section{display:block;padding-top:80px;padding-bottom:80px}.areas-copy{margin-bottom:32px}.areas-copy p{font-size:1rem}.area-map{height:270px}.map-circle-one{width:220px;height:220px}.map-circle-two{width:370px;height:370px}.quote-section{padding:80px 0 95px}.quote-grid{display:block}.quote-copy h2{margin-bottom:20px}.quote-copy>p{font-size:1rem}.contact-options{margin-top:27px;margin-bottom:30px}.quote-form{padding:22px}.form-row{display:block}.quote-form label{margin-bottom:17px}.form-footer{display:block}.form-footer .button{width:100%}.form-footer p{margin-top:14px;max-width:none}.site-footer{padding:60px 0 100px}.footer-grid{display:block}.footer-links{margin-top:32px;display:grid;grid-template-columns:repeat(2,1fr);justify-content:start;gap:13px}.footer-bottom{margin-top:50px;display:block}.footer-bottom span{display:block;margin-top:7px}.mobile-quote{display:flex;position:fixed;z-index:30;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;gap:20px;min-height:60px;background:var(--red);color:white;padding:10px 20px calc(10px + env(safe-area-inset-bottom));font-size:.94rem;font-weight:800;box-shadow:0 -6px 25px rgba(15,24,16,.17)}}
@media(max-width:380px){.hero-actions{display:block}.hero-actions .button{width:100%}.hero-actions .text-link{margin-top:20px}.hero-proof{grid-template-columns:1fr 1fr}.hero-visual{height:440px}.topline{font-size:.54rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.thanks-page{min-height:100svh;display:grid;place-items:center;padding:40px 20px}.thanks-page>div{width:min(100%,650px)}.thanks-page h1{margin-top:65px;margin-bottom:22px}.thanks-page p{max-width:530px;font-size:1.15rem;margin-bottom:32px}
