@charset "UTF-8";
:root{--ink:#183d2d;--paper:#f5f3eb;--white:#fffef9;--muted:#526459;--line:#b6bdb1;--accent:#d9e8a7;--error:#8c2920;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans)}[hidden]{display:none!important}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #9f4b11;outline-offset:5px}.hero a:focus-visible{outline-color:#fff}.skip-link{position:absolute;top:-120px;left:20px;padding:14px 20px;background:white;z-index:10}.skip-link:focus{top:16px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h2{font:clamp(36px,4vw,58px)/1.06 var(--serif);letter-spacing:-1.8px}h3{font:28px/1.2 var(--serif);letter-spacing:-.5px}.sample-banner{display:flex;justify-content:space-between;gap:12px;background:var(--ink);color:var(--paper);padding:10px max(24px,5.3vw);font-size:12px;letter-spacing:.1px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 5.3vw;background:var(--paper)}.wordmark{font:32px/1 var(--serif);text-decoration:none;display:flex;align-items:center;gap:2px}.ampersand{font-style:italic}.wordmark-caption{font:10px/1.1 var(--sans);width:32px;letter-spacing:1.2px;margin-left:10px}.site-header nav{display:flex;align-items:center;gap:32px;font-size:13px}.site-header nav a{min-height:44px;display:flex;align-items:center;gap:15px;text-decoration:none}.site-header nav a:hover{text-decoration:underline}.nav-contact{border-bottom:1px solid var(--ink)}.hero{position:relative;min-height:640px;height:calc(100svh - 121px);max-height:930px;width:100%;isolation:isolate;overflow:hidden;background:#233d30;color:var(--white)}.hero-art{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,36,22,.91) 0%,rgba(14,39,24,.85) 23%,rgba(16,39,25,.47) 51%,rgba(18,42,27,.02) 75%);z-index:-1}.hero-content{position:relative;padding:clamp(54px,7.7vh,100px) 5.3vw 110px;max-width:1000px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;font-weight:600;margin-bottom:23px}.hero h1{font:clamp(66px,7.8vw,116px)/.95 var(--serif);letter-spacing:-5px;white-space:nowrap}.hero h1 span{font-style:italic;font-size:.87em}.hero-promise{font:clamp(27px,3.2vw,45px)/1.14 var(--serif);letter-spacing:-.6px;margin-top:30px}.hero-description{font-size:15px;line-height:1.65;margin:21px 0 31px;color:#f0f1e7}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;text-decoration:none;min-height:52px;padding:14px 22px;border:1px solid transparent;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button span,.nav-contact span,.service-list a span{display:inline-block;transition:transform .2s}.button:hover span,.nav-contact:hover span,.service-list a:hover span{transform:translate(3px,-3px)}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:var(--accent)}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:#285a40}.hero-scroll{position:absolute;bottom:27px;left:5.3vw;min-height:44px;display:flex;align-items:center;gap:24px;text-decoration:none;font-size:12px}.illustration-note{position:absolute;bottom:43px;right:5.3vw;font-size:10px;background:rgba(20,50,28,.68);padding:4px 7px}.section-shell{padding:100px 7.4vw;display:grid;gap:7vw}.services{grid-template-columns:.9fr 1.1fr}.section-intro>p:last-child{max-width:300px;color:var(--muted);font-size:15px;margin-top:25px}.service-list article{display:flex;gap:26px;border-top:1px solid var(--line);padding:29px 0 31px}.service-list article:last-child{border-bottom:1px solid var(--line)}.service-number{padding-top:5px;font-size:11px;color:var(--muted)}.service-list p{margin-top:11px;max-width:390px;font-size:14px;color:var(--muted)}.service-list a{display:inline-flex;align-items:center;gap:21px;min-height:44px;font-size:12px;margin-top:8px;text-decoration:none}.service-list a:hover{text-decoration:underline}.process{grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper)}.process-title>p:last-child{font-size:14px;color:#d1dac9;max-width:370px;margin-top:28px}.process-list{list-style:none;margin:0;padding:0}.process-list li{display:flex;gap:25px;padding:24px 0;border-top:1px solid #67806a}.process-list li:last-child{border-bottom:1px solid #67806a}.process-list li>span{font-size:11px;color:var(--accent);padding-top:6px}.process-list h3{font-size:25px}.process-list p{font-size:13px;color:#d1dac9;margin-top:7px}.contact{grid-template-columns:.85fr 1.15fr}.contact-intro>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:340px;margin-top:25px}.demo-note{border-left:3px solid var(--ink);padding:2px 0 2px 18px;margin-top:35px;max-width:360px}.demo-note strong{font-size:13px}.demo-note p{font-size:13px;margin-top:7px;color:var(--muted)}.contact-intro p.contact-boundary{font-size:12px;margin-top:22px}.form-help{font-size:12px;margin-bottom:23px;color:var(--muted)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:23px}.field label{display:block;font-size:13px;margin-bottom:8px}.field label span{color:var(--muted);font-size:11px}input,select,textarea{width:100%;min-height:48px;border:1px solid #829180;border-radius:0;background:var(--white);padding:11px 12px;color:var(--ink);font-size:16px}textarea{resize:vertical;min-height:120px}input::placeholder,textarea::placeholder{color:#687365;opacity:1}select{padding-right:25px}input[aria-invalid=true],select[aria-invalid=true]{border:2px solid var(--error)}.field-hint,.form-footnote{font-size:11px;color:var(--muted);margin-top:7px}.field-error{font-size:12px;color:var(--error);margin-top:7px}.form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.text-button{border:0;background:transparent;color:var(--ink);min-height:48px;font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:8px}.form-footnote{margin-top:13px}.error-summary{border:2px solid var(--error);padding:18px;color:var(--error);margin-bottom:25px}.error-summary h3{font:600 15px/1.3 var(--sans);letter-spacing:0}.error-summary ul{margin:12px 0 0;padding-left:20px;font-size:13px}.error-summary a{display:inline-block;min-height:32px;padding:3px 0}.request-result{border-top:2px solid var(--ink);padding-top:24px}.request-result h3{font-size:32px}.result-warning{font-size:14px;border-left:3px solid var(--ink);padding-left:14px;margin-top:20px}.request-result dl{margin:25px 0}.request-result dl>div{padding:14px 0;border-top:1px solid var(--line)}.request-result dt{font-size:11px;color:var(--muted)}.request-result dd{margin:4px 0 0;overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px}.no-script{padding:20px;border:2px solid var(--error);margin-bottom:20px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:42px 5.3vw;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.footer-brand{font:28px/1.2 var(--serif);color:var(--ink);letter-spacing:-.8px;margin-bottom:6px}.site-footer a{min-height:44px;display:inline-flex;align-items:center;gap:15px}.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}.hero-content>*{animation:hero-enter .75s both}.hero-content>:nth-child(2){animation-delay:.1s}.hero-content>:nth-child(3){animation-delay:.2s}.hero-content>:nth-child(4){animation-delay:.28s}.hero-content>:nth-child(5){animation-delay:.34s}.js .reveal{transition:opacity .65s,transform .65s}.js .reveal:not(.is-visible){opacity:0;transform:translateY(20px)}@keyframes hero-enter{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-content{padding-top:95px}.section-shell{padding-left:max(7.4vw,calc((100vw - 1400px)/2));padding-right:max(7.4vw,calc((100vw - 1400px)/2))}}
@media(max-width:900px){.site-header nav{gap:20px}.hero h1{font-size:78px;letter-spacing:-4px}.hero-content{padding-top:75px}.hero{min-height:650px}.hero-art{object-position:62% center}.section-shell{padding:70px 6vw;gap:45px}.services,.process,.contact{grid-template-columns:1fr 1fr}.field-row{grid-template-columns:1fr;gap:0}.hero:after{background:linear-gradient(90deg,rgba(11,36,22,.89),rgba(14,39,24,.65) 55%,rgba(16,39,25,.14))}.illustration-note{right:4vw}.site-footer{align-items:flex-start}}
@media(max-width:640px){.sample-banner{padding:9px 20px;display:block;font-size:10px;line-height:1.45}.sample-banner span{display:block}.site-header{padding:11px 20px;gap:15px}.wordmark{font-size:28px}.wordmark-caption{font-size:8px;width:26px;margin-left:6px}.site-header nav>a:not(.nav-contact){display:none}.site-header nav{gap:0}.site-header nav .nav-contact{font-size:11px;gap:10px;min-height:44px}.hero{height:calc(100svh - 116px);min-height:590px;max-height:790px}.hero-content{padding:53px 22px 105px;max-width:100%}.hero h1{font-size:clamp(43px,11.9vw,71px);letter-spacing:-2.7px}.hero .eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:23px}.hero-promise{font-size:32px;margin-top:28px;letter-spacing:-.7px}.hero-description{font-size:13px;margin-top:23px;margin-bottom:27px}.hero-art{object-position:69% center}.hero:after{background:linear-gradient(90deg,rgba(10,31,19,.94),rgba(12,36,23,.75) 70%,rgba(12,36,23,.5))}.hero-scroll{bottom:57px;left:22px;font-size:11px}.illustration-note{bottom:21px;left:22px;right:auto;background:none;padding:0;color:#d9e5d2;font-size:9px}.button{min-height:52px;font-size:12px;padding:14px 18px;gap:30px}.section-shell{padding:61px 22px;gap:35px}.services,.process,.contact{grid-template-columns:1fr}.eyebrow{font-size:10px;margin-bottom:20px}h2{font-size:42px;letter-spacing:-1.5px}.section-intro>p:last-child{margin-top:20px;max-width:310px;font-size:14px}.service-list article{gap:20px;padding:25px 0 24px}.service-list h3{font-size:27px}.service-list p{font-size:13px}.process-list{margin-top:0}.process-title>p:last-child{margin-top:23px}.process-list li{gap:23px}.contact-intro>p:not(.eyebrow){max-width:none}.demo-note{max-width:none;margin-top:25px}.contact-intro p.contact-boundary{max-width:none}.field-row{grid-template-columns:1fr}.field{margin-bottom:21px}.form-actions{gap:8px 14px}.site-footer{display:grid;grid-template-columns:1fr;padding:32px 22px;gap:23px}.site-footer a{width:fit-content}.request-result h3{font-size:31px}}
@media(max-width:350px){.site-header nav .nav-contact{font-size:10px;gap:6px}.wordmark-caption{display:none}.hero-content{padding-left:18px;padding-right:18px}.hero h1{letter-spacing:-2px}.hero-promise{font-size:29px}.hero-description br{display:none}.hero-description{max-width:260px}.section-shell{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal:not(.is-visible){opacity:1;transform:none}}

/* Portfolio-preview readability: preserve the existing typefaces and layout. */
.sample-banner,.site-header nav,.site-header nav .nav-contact,.eyebrow,.hero .eyebrow,
.button,.hero-scroll,.illustration-note,.service-number,.service-list p,.service-list a,
.process-list li>span,.process-list p,.demo-note strong,.demo-note p,
.contact-intro p.contact-boundary,.form-help,.field label,.field label span,
.field-hint,.form-footnote,.field-error,.text-button,.request-result dt,
.request-result dd,.site-footer,.error-summary ul{font-size:14px}
.hero-description{font-size:16px}
.wordmark-caption{font-size:12px;width:38px}
