@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--paper:#f9f7ef;--ink:#212a20;--dark:#20352b;--lime:#e6efa5;--sand:#eeebdf;--line:#cfcec0;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}img{display:block;width:100%;object-fit:cover}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a26c29;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font:500 1em/1.02 var(--serif);letter-spacing:-.055em}h1{font-size:clamp(3.6rem,8.5vw,8.1rem)}h2{font-size:clamp(2.65rem,5.8vw,5.7rem)}h3{font-size:clamp(1.65rem,3vw,2.65rem)}p{max-width:62ch}.wrap{width:min(1320px,90vw);margin-inline:auto}.section{padding-block:clamp(65px,9vw,130px)}.eyebrow{display:block;font:700 .71rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.16em}.lede{font-size:clamp(1rem,1.5vw,1.25rem)}.stack>*+*{margin-top:20px}.center{text-align:center}.center p{margin-inline:auto}.center .actions{justify-content:center}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{min-height:53px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:100px;padding:0 22px;background:var(--dark);color:white;text-decoration:none;font:700 .92rem var(--sans);cursor:pointer}.btn:hover{filter:brightness(1.13)}.btn.lime{color:var(--ink);background:var(--lime)}.btn.outline{color:inherit;background:transparent;border-color:currentColor}.link{display:inline-flex;gap:8px;font-weight:700;text-underline-offset:5px}
.top{background:var(--lime);font-size:.74rem;text-align:center;padding:7px 10px;font-weight:700;letter-spacing:.04em}.header{position:sticky;top:0;background:var(--paper);z-index:5;border-bottom:1px solid #0001}.header-inner{height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;display:flex;align-items:center;gap:9px;line-height:1}.brand svg{width:35px;height:35px;flex:none}.brand strong{display:block;font:600 1.67rem/1 var(--serif);letter-spacing:-.06em}.brand small{display:block;font-size:.59rem;letter-spacing:.095em;text-transform:uppercase;margin-top:5px}.nav{display:flex;gap:clamp(14px,2.8vw,40px);align-items:center}.nav a{text-decoration:none;font-weight:600;font-size:.88rem}.nav a:hover,.nav a[aria-current]{text-decoration:underline;text-underline-offset:6px}.mobile{display:none}.skip{position:absolute;left:10px;top:-120px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}
.hero{display:grid;min-height:clamp(630px,82svh,900px);place-items:center;position:relative;isolation:isolate;text-align:center;color:#fff;background:var(--dark);padding:65px 4vw}.hero>img,.hero:after{position:absolute;inset:0;height:100%;z-index:-1}.hero>img{object-position:center 54%}.hero:after{content:"";background:linear-gradient(180deg,#14221b4d,#14221b73 45%,#14221ba0);width:100%}.hero h1{max-width:13ch;margin:15px auto 22px;text-wrap:balance;text-shadow:0 3px 28px #0004}.hero .lede{max-width:49ch}.hero-note{position:absolute;bottom:15px;right:5vw;font-size:.7rem;text-shadow:0 2px 6px black}.recognition{background:var(--sand);padding:17px 5vw;text-align:center;font-weight:700;font-size:.84rem}.recognition a{text-decoration:none}.intro{max-width:870px;margin-inline:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,6vw,105px);align-items:center}.split>img,.photo-panel{height:clamp(330px,46vw,660px)}.sand{background:var(--sand)}.dark{background:var(--dark);color:var(--paper)}.section-head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:35px}.section-head h2{margin-top:12px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{display:flex;flex-direction:column;min-width:0;background:var(--sand);text-decoration:none}.card:hover .card-image img{transform:scale(1.045)}.card-image{aspect-ratio:4/4.35;overflow:hidden;background:#b5baa4}.card-image img{height:100%;transition:transform .35s}.card-copy{padding:22px;display:flex;flex:1;flex-direction:column;align-items:start;gap:12px}.card-copy .link{margin-top:auto}.card-copy h3{font-size:clamp(1.55rem,2.7vw,2.45rem)}.card-copy p{font-size:.91rem}.photos,.reviews,.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photos img{aspect-ratio:4/3}.photos figcaption{font-size:.82rem;padding-top:9px}.reviews{grid-template-columns:1fr 1fr}.review{background:var(--paper);padding:clamp(24px,4vw,54px);display:grid;gap:18px}.review p{font:500 clamp(1.35rem,2.4vw,2.1rem)/1.33 var(--serif);letter-spacing:-.025em}.review small{font-size:.8rem}.step{border-top:1px solid var(--line);padding-top:20px}.step h3{margin:14px 0}.page-head{padding:clamp(65px,9vw,125px) 0;background:var(--sand)}.page-head h1{font-size:clamp(3.45rem,7vw,7rem);max-width:13ch}.page-head .center h1{margin-inline:auto}.service-hero{min-height:clamp(485px,65svh,700px)}.service-hero h1{font-size:clamp(3.45rem,7vw,7rem)}.detail-list{padding-left:20px}.detail-list li+li{margin-top:10px}.cta{padding:clamp(65px,9vw,115px) 0}.cta h2{max-width:13ch;margin-inline:auto}.footer{padding:55px 0 24px;background:#172920;color:#f4f0e4}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:26px}.footer h3{font:700 .76rem var(--sans);letter-spacing:.13em;text-transform:uppercase;margin-bottom:14px}.footer a{display:block;width:fit-content;margin:5px 0}.footer .brand{display:flex}.footnote{border-top:1px solid #ffffff36;margin-top:35px;padding-top:18px;font-size:.78rem;color:#d1d9cb}
.faq{max-width:850px;margin-inline:auto}.faq details{border-bottom:1px solid var(--line);padding:17px 0}.faq summary{font-weight:700;cursor:pointer}.faq details p{padding-top:12px}.form-layout{align-items:start}.form{background:white;border:1px solid var(--line);padding:clamp(20px,4vw,43px)}label{display:grid;gap:6px;font-weight:700;font-size:.88rem}input,select,textarea{width:100%;font:inherit;color:inherit;background:var(--paper);border:1px solid #9c9d8e;border-radius:5px;padding:11px;min-height:47px}textarea{resize:vertical;min-height:128px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.wide{grid-column:1/-1}.micro{font-size:.84rem}.contact-list{display:grid;gap:14px}.contact-list a{overflow-wrap:anywhere}.spot{padding:25px;border:1px solid var(--line)}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.header-inner{height:72px}.nav{gap:13px}.header .btn{padding-inline:14px;min-height:44px}.hero{min-height:650px}}
@media(max-width:730px){.nav{display:none}.mobile{display:block;position:relative;margin-left:auto}.mobile summary{cursor:pointer;font-weight:700;font-size:.85rem}.mobile div{position:absolute;right:0;top:36px;background:var(--paper);box-shadow:0 8px 20px #0002;padding:15px;width:180px}.mobile a{display:block;padding:8px}.header-inner{gap:10px}.brand small{font-size:.46rem}.brand strong{font-size:1.4rem}.brand svg{width:25px}.header .btn{font-size:.73rem}.hero{min-height:560px}.service-hero{min-height:455px}.split,.photos,.reviews,.steps,.footer-grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.card-copy{padding:14px}.card-copy p{font-size:.83rem}.fields{grid-template-columns:1fr}.hero-note{bottom:9px}.photo-panel,.split>img{height:360px}}
@media(max-width:365px){.header .btn{display:none}.cards{grid-template-columns:1fr}.card-image{aspect-ratio:4/3}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
h1,h2,h3{text-wrap:balance}.keep-together{white-space:nowrap}.page-head h1:has(.keep-together){max-width:100%;font-size:clamp(2.4rem,7vw,7rem)}
.page-head-photo{display:grid;align-items:center;min-height:clamp(380px,57svh,590px);color:#fff;background:linear-gradient(#14221bc7,#14221bc7),var(--page-photo) center / cover no-repeat,var(--dark)}
.demo-note{background:#172920;color:#fff;text-align:center;padding:8px;font-size:.77rem;letter-spacing:.04em}.step .link{margin-top:14px}.card-image img{object-position:left}.card:nth-child(even) .card-image img{object-position:right}
.service-intro{padding-block:clamp(48px,7vw,94px)}.scope-panel{padding:clamp(22px,4vw,46px);background:var(--lime);border-radius:24px}.scope-list{list-style:none;padding:0;margin:15px 0 0}.scope-list li{border-top:1px solid #20352b38;padding:12px 0}.scope-list li:before{content:"✓";margin-right:.65em}.service-scope .steps{counter-reset:scope;gap:16px}.service-scope .step{counter-increment:scope;border:1px solid var(--line);background:var(--paper);border-radius:20px;padding:clamp(20px,3vw,36px)}.service-scope .step:before{content:"0" counter(scope);display:inline-grid;place-items:center;background:var(--lime);border-radius:100%;width:38px;height:38px;font-weight:700;font-size:.8rem}.service-scope .step h3,.service-intro h2,.service-faq h2{text-wrap:balance}.service-faq h2{margin:12px 0 24px}.service-faq details{padding-inline:14px}.card{border-radius:19px;overflow:hidden;border:1px solid var(--line)}.card .link{font-size:.86rem}.service-hero{min-height:clamp(420px,58svh,640px)}
.guide-list{margin:20px 0 0}.guide-list>div{padding:15px 0;border-top:1px solid var(--line)}.guide-list dt{font-weight:700}.guide-list dd{margin:4px 0 0}.service-guide .scope-panel{align-self:center}.service-guide h2{text-wrap:balance}
.quote-fields{border:0;padding:0;margin:0;min-width:0}
