:root{--ink:#243e31;--paper:#f6f4ed;--muted:#657165;--line:#d5d9cc;--accent:#36553b;--white:#fffdf7;--display:'Boska',serif;--body:'Satoshi',sans-serif;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--s20:80px;--s24:96px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--body)}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--display);font-weight:400;line-height:1.05;letter-spacing:-.035em}h1{font-size:clamp(60px,6.7vw,104px)}h2{font-size:clamp(40px,4vw,64px)}h3{font-size:22px;line-height:1.3;font-weight:500}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #74937d;outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid #74937d;outline-offset:2px}img{display:block;width:100%;height:100%;object-fit:cover}[hidden]{display:none!important}.demo-banner{background:var(--ink);color:var(--paper);padding:var(--s2) var(--s12);display:flex;justify-content:space-between;gap:var(--s4);font-size:12px;letter-spacing:.02em}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--s6) var(--s12);gap:var(--s8);background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.wordmark{font:500 31px/1 var(--display);white-space:nowrap;letter-spacing:-.04em}.wordmark span{font-weight:400}.wordmark small{font:12px var(--body);letter-spacing:.22em;display:block;text-align:center;margin-top:var(--s2)}nav{display:flex;align-items:center;gap:var(--s8);font-size:13px}nav>a:not(.button):hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--s10);padding:var(--s4) var(--s6);background:var(--accent);color:var(--white);border:1px solid var(--accent);font-size:14px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:var(--ink);transform:translateY(-2px)}.button.small{padding:var(--s3) var(--s5);gap:var(--s6);font-size:13px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1.05fr;min-height:630px}.hero-copy{padding:var(--s20) var(--s12) var(--s8);display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;margin-bottom:var(--s6)}.hero-copy>p:not(.eyebrow){max-width:370px;margin:var(--s6) 0 var(--s8);color:var(--muted);font-size:16px}.hero-image{position:relative;min-height:630px}.hero-image img{position:absolute;inset:0}.hero-image figcaption{position:absolute;bottom:var(--s8);right:var(--s8);color:white;font:400 30px var(--display);text-shadow:0 1px 8px #0008}.text-link{font-size:14px;display:inline-flex;gap:var(--s6);align-items:center;border-bottom:1px solid currentColor;padding-bottom:var(--s1)}.hero-copy>.text-link{margin-top:var(--s6)}.hero-foot{width:100%;display:flex;justify-content:space-between;gap:var(--s4);margin-top:auto;padding-top:var(--s12);font-size:12px;color:var(--muted)}.service-ribbon{display:flex;justify-content:space-around;gap:var(--s6);border-block:1px solid var(--line);padding:var(--s6);font:400 23px var(--display);background:#e9ecdf}.section{padding:var(--s24) var(--s12);max-width:1600px;margin:auto}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s12);margin-bottom:var(--s12)}.section-head>p{max-width:370px;color:var(--muted)}.service-picker{display:grid;grid-template-columns:1.1fr 1fr;border-top:1px solid var(--line)}.service-options{padding-right:var(--s16)}.service-option{display:flex;align-items:center;gap:var(--s6);width:100%;text-align:left;background:transparent;color:var(--muted);border:0;border-bottom:1px solid var(--line);padding:var(--s8) var(--s4);transition:background .2s,color .2s}.service-option>span:first-child{font-size:12px}.service-option strong{font:400 34px var(--display);flex:1}.service-option.active{color:var(--ink);background:#e9ecdf;padding-left:var(--s5)}.service-description{padding:var(--s8) var(--s10);border-left:1px solid var(--line)}.service-description .eyebrow{margin-bottom:var(--s4)}.service-description>p:not(.eyebrow){color:var(--muted);margin-top:var(--s4)}ul{padding-left:var(--s5)}.service-description li{font-size:14px;margin-bottom:var(--s2)}.service-description .text-link{margin-top:var(--s3)}.approach{display:grid;grid-template-columns:1fr 1fr;background:#e9ecdf}.approach figure{position:relative;min-height:660px}.approach img{position:absolute;inset:0}.approach figcaption{position:absolute;bottom:var(--s4);left:var(--s6);font-size:12px;padding:var(--s1) var(--s2);background:#f6f4ede8}.approach-copy{padding:var(--s16)}.approach-copy>p:not(.eyebrow){color:var(--muted);margin-top:var(--s6)}.steps{list-style:none;margin:var(--s10) 0 0;padding:0}.steps li{display:flex;gap:var(--s5);padding-block:var(--s5);border-top:1px solid #c8d0c0}.steps li>span{font-size:12px;padding-top:var(--s1)}.steps h3{font-size:16px}.steps p{font-size:14px;color:var(--muted);margin-top:var(--s2)}.faq-section{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--s16)}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;gap:var(--s6);justify-content:space-between;font-size:15px;padding:var(--s6) 0}summary:after{content:'+';font-size:20px}details[open] summary:after{content:'−'}details p{color:var(--muted);font-size:14px;padding-bottom:var(--s6)}.estimate{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:var(--s20);background:var(--ink);color:var(--paper)}.estimate-copy>p:not(.eyebrow){max-width:380px;color:#d2dccf;margin-top:var(--s6)}.demo-note{margin-top:var(--s10);border-left:1px solid #9baf99;padding-left:var(--s5);max-width:390px;font-size:13px}.demo-note p{color:#c1cfc1;margin-top:var(--s2)}.location-label{font-size:12px;letter-spacing:.1em}.location-label span{font-size:14px;letter-spacing:0}.form-card{background:var(--paper);color:var(--ink);padding:var(--s8);align-self:start}.form-heading{display:flex;justify-content:space-between;margin-bottom:var(--s8);font-size:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}label{display:block;font-size:12px;font-weight:500}input,select,textarea{display:block;width:100%;padding:var(--s3) 0;margin:var(--s1) 0 var(--s5);background:transparent;border:0;border-bottom:1px solid #aab8a7;border-radius:0;color:var(--ink);font-size:14px}textarea{resize:vertical;min-height:90px}form>.button{width:100%;margin-top:var(--s3)}.form-disclaimer{display:block;text-align:center;font-size:12px;color:var(--muted);margin-top:var(--s4)}.confirmation h3{font:400 40px var(--display)}.confirmation p:not(.eyebrow){font-size:14px;margin:var(--s6) 0;color:var(--muted)}.confirmation .button{margin-top:var(--s4)}footer{padding:var(--s12);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:var(--s10);background:#1c3026;color:var(--paper)}footer>.wordmark{justify-self:start}footer>p{font-size:12px;color:#c1cfc1}footer>a:not(.wordmark){font-size:13px;justify-self:end;border-bottom:1px solid #c1cfc1;padding-bottom:var(--s2)}.footer-bottom{grid-column:1/-1;border-top:1px solid #496050;padding-top:var(--s6);display:flex;justify-content:space-between;gap:var(--s6);font-size:12px;color:#c1cfc1}
@media(min-width:1600px){.hero-copy{padding-left:var(--s24)}.hero{max-width:1920px;margin:auto}}
@media(max-width:1050px){nav{gap:var(--s5)}.header{padding-inline:var(--s6)}nav .button{display:none}.hero-copy{padding:var(--s16) var(--s8) var(--s8)}h1{font-size:76px}.section{padding:var(--s16) var(--s8)}.approach-copy{padding:var(--s10)}.estimate{gap:var(--s10)}.service-options{padding-right:var(--s6)}.service-option strong{font-size:28px}}
@media(max-width:700px){html{scroll-padding-top:85px}.demo-banner{padding:var(--s2) var(--s5);font-size:12px;justify-content:center}.banner-detail{display:none}.header{padding:var(--s5);flex-wrap:wrap;gap:0}.wordmark{font-size:27px}.wordmark small{font-size:12px}.menu-toggle{display:flex;align-items:center;gap:var(--s4);padding:var(--s3) 0;background:none;border:0;color:var(--ink);font-size:13px}.menu-toggle span{font-size:20px}nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:var(--s5)}nav.open{display:flex}nav a{padding:var(--s3) 0;border-top:1px solid var(--line)}nav .button{display:flex;margin-top:var(--s3);padding:var(--s3)}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:var(--s12) var(--s6) var(--s8)}h1{font-size:68px}h2{font-size:46px}.eyebrow{font-size:12px;margin-bottom:var(--s5)}.hero-copy>p:not(.eyebrow){font-size:15px;max-width:320px}.hero-copy .button{width:100%}.hero-foot{padding-top:var(--s10);font-size:12px}.hero-image{min-height:350px}.hero-image img{object-position:60% center}.hero-image figcaption{font-size:27px;right:var(--s6);bottom:var(--s6)}.service-ribbon{padding:var(--s5) var(--s6);font-size:19px}.service-ribbon span:not(:first-child){display:none}.section{padding:var(--s16) var(--s6)}.section-head{display:block;margin-bottom:var(--s8)}.section-head>p{font-size:14px;margin-top:var(--s6)}.service-picker{grid-template-columns:1fr}.service-options{padding:0}.service-option{padding:var(--s5) var(--s3)}.service-option strong{font-size:28px}.service-description{border-left:0;padding:var(--s8) var(--s3) 0;min-height:325px}.service-description h3{font-size:20px}.service-description>p:not(.eyebrow){font-size:14px}.approach{grid-template-columns:1fr}.approach figure{min-height:370px}.approach-copy{padding:var(--s12) var(--s6)}.approach-copy>p:not(.eyebrow){font-size:14px}.faq-section{grid-template-columns:1fr;gap:var(--s8)}.estimate{grid-template-columns:1fr;gap:var(--s10)}.form-card{padding:var(--s6)}.form-grid{grid-template-columns:1fr;gap:0}input,select,textarea{font-size:16px}.location-label{display:none}footer{padding:var(--s10) var(--s6);grid-template-columns:1fr;gap:var(--s6)}footer>a:not(.wordmark){justify-self:start}.footer-bottom{flex-direction:column;gap:var(--s2);font-size:12px}.confirmation h3{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
