@font-face{font-display:swap;font-family:Source Sans Pro;font-style:normal;font-weight:400;src:url(../fonts/source-sans-pro-latin-ext.woff2) format("woff2")}:root{color-scheme:light;--paper:#f4f5f1;--surface:#fff;--surface-alt:#eceee9;--ink:#161817;--muted:#626661;--rule:#d5d8d2;--forest:#171918;--forest-deep:#0c0e0d;--clay:#536719;--accent:#d9f04e;--content:1240px;font-family:Source Sans Pro,Trebuchet MS,sans-serif;text-rendering:optimizeLegibility}*,:after,:before{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--paper);color:var(--ink);font-size:17px;line-height:1.65;margin:0;-webkit-font-smoothing:antialiased}body,button,input,textarea{font-family:Source Sans Pro,Trebuchet MS,sans-serif}button,input,textarea{font-size:inherit}a{color:inherit;text-decoration:none}a:hover{color:var(--forest)}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--clay);outline-offset:3px}img{display:block;max-width:100%}figure,h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--ink);font-weight:600;line-height:1.12}h1{font-size:4.35rem;line-height:1;max-width:740px}h1,h2{letter-spacing:0}h2{font-size:3rem}h3{font-size:1.28rem;letter-spacing:0}.container{margin-inline:auto;width:min(var(--content),calc(100% - 64px))}.section-space{padding-block:112px}.skip-link{background:var(--ink);color:#fff;left:8px;padding:10px 16px;position:fixed;top:8px;transform:translateY(-160%);z-index:100}.skip-link:focus{transform:translateY(0)}.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:20}.header-inner{align-items:center;display:flex;gap:32px;justify-content:space-between;min-height:82px}.wordmark{align-items:center;color:var(--ink);display:inline-flex;font-size:1.65rem;font-weight:600;gap:10px;letter-spacing:0;line-height:1}.wordmark-dot{color:var(--clay)}.brand-mark{height:38px;-o-object-fit:contain;object-fit:contain;width:42px}.wordmark-light .brand-mark{filter:invert(1)}.wordmark-light .wordmark-dot{color:var(--accent)}.primary-navigation{align-items:center;display:flex;gap:36px}.nav-link{color:#47554d;font-size:.98rem}.nav-link.router-link-active,.nav-link:hover{color:var(--forest)}.nav-link.router-link-active{text-decoration:underline;text-decoration-color:var(--clay);text-underline-offset:7px}.nav-contact{align-items:center;background:var(--forest);color:#fff;display:inline-flex;font-size:.95rem;min-height:44px;padding-inline:19px;transition:background-color .16s ease}.button-primary:hover,.nav-contact:hover{background:var(--forest-deep);color:#fff}.menu-toggle{align-items:center;background:transparent;border:0;color:var(--ink);cursor:pointer;display:none;gap:12px}.menu-toggle-lines{display:grid;gap:5px}.menu-toggle-lines i{background:currentColor;height:1px;width:19px}.hero-section{padding-block:86px 100px}.hero-grid{align-items:center;display:grid;gap:clamp(48px,7vw,100px);grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)}.hero-copy{padding-block:12px}.eyebrow{align-items:center;color:var(--ink);display:flex;font-size:.82rem;font-weight:600;gap:10px;letter-spacing:0;margin-bottom:25px}.eyebrow-mark{background:var(--accent);height:4px;width:13px}.hero-lede{color:var(--muted);font-size:1.2rem;line-height:1.6;margin-top:25px;max-width:540px}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:25px;margin-top:34px}.button{align-items:center;display:inline-flex;font-weight:600;gap:20px;justify-content:center;min-height:54px;padding:0 21px;transition:color .16s ease,background-color .16s ease,border-color .16s ease}.button-primary{background:var(--forest);color:#fff}.button-light span,.button-primary span,.text-link span{font-size:1.12em}.text-link{align-items:center;border-bottom:1px solid var(--rule);color:var(--forest);display:inline-flex;font-weight:600;gap:11px;padding-bottom:4px}.text-link:hover{border-color:var(--forest)}.hero-note{color:var(--muted);font-size:.93rem;margin-top:35px}.studio-figure{margin:0 14px 12px 0;position:relative;z-index:0}.studio-figure:before{background:var(--accent);content:"";inset:22px -14px -12px 22px;position:absolute;z-index:-1}.studio-figure img{height:clamp(380px,42vw,540px);-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%}.studio-figure figcaption{color:var(--muted);display:flex;font-size:.85rem;gap:12px;justify-content:space-between;padding-top:12px}.studio-figure figcaption span{color:var(--clay);font-weight:600}.intro-section{background:var(--surface);border-block:1px solid var(--rule)}.intro-grid{display:grid;gap:clamp(42px,8vw,120px);grid-template-columns:.8fr 1.2fr}.intro-grid>.eyebrow{align-self:start}.intro-grid h2{max-width:720px}.section-copy{color:var(--muted);font-size:1.08rem;margin-bottom:22px;margin-top:24px;max-width:680px}.services-section{background:var(--paper)}.section-heading{margin-bottom:44px;max-width:740px}.section-heading .eyebrow{margin-bottom:19px}.service-list{border-top:2px solid var(--ink)}.service-row{align-items:center;border-bottom:1px solid var(--rule);display:grid;gap:24px;grid-template-columns:58px minmax(170px,.85fr) minmax(220px,1.2fr) 24px;min-height:104px;transition:padding .16s ease}.service-row:hover{background:var(--surface-alt);padding-inline:8px}.approach-number,.service-number{color:var(--clay);font-size:.9rem;font-weight:600}.service-row p{color:var(--muted);font-size:.97rem}.service-arrow{color:var(--forest);font-size:1.2rem}.services-foot{color:var(--muted);display:flex;font-size:.95rem;gap:24px;justify-content:space-between;padding-top:25px}.approach-section{background:var(--surface-alt)}.approach-grid{display:grid;gap:clamp(44px,8vw,110px);grid-template-columns:.8fr 1.2fr}.approach-heading .eyebrow{margin-bottom:19px}.approach-list{list-style:none;margin:0;padding:0}.approach-list li{border-top:1px solid var(--rule);display:grid;gap:18px;grid-template-columns:45px 1fr;padding-block:22px}.approach-list h3{margin-bottom:7px}.approach-list p{color:var(--muted)}.contact-band{background:var(--accent);color:var(--ink);padding-block:74px}.contact-band-inner{align-items:center;display:flex;gap:48px;justify-content:space-between}.contact-band h2,.contact-band p:not(.eyebrow),.eyebrow-light{color:var(--ink)}.eyebrow-light{opacity:1}.contact-band h2{font-size:3rem;max-width:650px}.contact-band p:not(.eyebrow){margin-top:13px;opacity:.82}.button-light{border:1px solid var(--ink);color:var(--ink);flex:0 0 auto}.button-light:hover{background:var(--ink);border-color:var(--ink);color:var(--accent)}.site-footer{background:var(--ink);color:#f4f5f1}.footer-main{display:grid;gap:50px;grid-template-columns:1.1fr 1fr auto;padding-block:48px 40px}.wordmark-light{color:#fff}.footer-intro p{color:#c4c7c1;font-size:.92rem;margin-top:17px}.footer-label{color:#c4c7c1;display:block;font-size:.9rem;margin-bottom:8px}.footer-contact a{border-bottom:1px solid var(--accent);font-size:1.2rem}.footer-legal{align-content:start;color:#d9dcd6;display:grid;font-size:.92rem;gap:9px}.footer-contact a:hover,.footer-legal a:hover{color:#fff}.footer-bottom{border-top:1px solid hsla(0,0%,100%,.2);color:#aeb2ab;display:flex;font-size:.83rem;gap:24px;justify-content:space-between;padding-block:17px}.page-intro{background:var(--paper);border-bottom:1px solid var(--rule);padding-block:91px 82px}.page-intro-grid{display:grid;gap:clamp(44px,8vw,110px);grid-template-columns:.65fr 1.35fr}.page-intro-grid>.eyebrow{align-self:start}.page-intro h1{font-size:4rem;max-width:800px}.page-lede{color:var(--muted);font-size:1.15rem;margin-top:24px;max-width:700px}.capabilities-section{background:var(--paper)}.capability-list{border-top:1px solid var(--rule)}.capability-row{border-bottom:1px solid var(--rule);display:grid;gap:30px;grid-template-columns:60px minmax(0,1.25fr) minmax(220px,.8fr);padding-block:29px}.capability-row h2{font-size:1.45rem}.capability-main p{color:var(--muted);margin-top:10px;max-width:640px}.capability-examples{align-self:center;color:var(--muted);font-size:.92rem}.process-section{background:var(--surface-alt)}.process-grid{display:grid;gap:clamp(44px,8vw,110px);grid-template-columns:.8fr 1.2fr}.process-grid .eyebrow{margin-bottom:19px}.process-steps>div{border-top:1px solid var(--rule);display:grid;gap:17px;grid-template-columns:46px 1fr;padding-block:20px}.process-steps>div>span,.team-principles article>span{color:var(--clay);font-weight:600}.process-steps p{color:var(--muted)}.process-steps strong{color:var(--ink);font-weight:600}.simple-cta{background:var(--surface);padding-block:56px}.simple-cta-inner{align-items:center;display:flex;gap:32px;justify-content:space-between}.simple-cta h2{font-size:2.5rem;max-width:720px}.projects-section{background:var(--paper)}.projects-grid{display:grid;gap:clamp(44px,8vw,112px);grid-template-columns:.82fr 1.18fr}.projects-note .eyebrow{margin-bottom:19px}.projects-note h2{font-size:2.65rem}.projects-note>p:not(.eyebrow){color:var(--muted);margin-block:22px}.project-list{list-style:none;margin:0;padding:0}.project-list li{border-top:1px solid var(--rule);display:grid;gap:15px;grid-template-columns:42px 1fr;padding-block:22px}.project-list h3{margin-bottom:7px}.project-list p{color:var(--muted)}.studio-strip{background:var(--surface);border-block:1px solid var(--rule)}.studio-strip-inner{align-items:center;display:grid;gap:clamp(38px,7vw,90px);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);padding-block:70px}.studio-strip img{aspect-ratio:1.5;-o-object-fit:cover;object-fit:cover;width:100%}.studio-strip .eyebrow{margin-bottom:17px}.studio-strip h2{font-size:2.8rem}.studio-strip-inner>div>p:not(.eyebrow){color:var(--muted);margin-top:15px}.team-section{background:var(--paper)}.team-grid{display:grid;gap:clamp(44px,8vw,110px);grid-template-columns:.8fr 1.2fr}.team-copy .eyebrow{margin-bottom:19px}.team-description>p{color:var(--muted);font-size:1.08rem;margin-bottom:20px}.team-principles{background:var(--surface);border-block:1px solid var(--rule)}.team-principles-grid{display:grid;gap:34px;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:55px}.team-principles article{border-top:1px solid var(--rule);padding-top:17px}.team-principles h3{margin-block:12px 8px}.team-principles p{color:var(--muted)}.page-intro-compact{padding-block:72px 63px}.contact-page{background:var(--paper)}.contact-grid{display:grid;gap:clamp(48px,9vw,130px);grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)}.inquiry-form{display:grid;grid-template-columns:1fr}.inquiry-form h2{font-size:1.75rem}.form-intro{color:var(--muted);font-size:.94rem;margin-block:9px 24px}.inquiry-form>label,.security-question>label{font-size:.95rem;font-weight:600;margin-bottom:7px}.inquiry-form>label span,.security-question label span{color:var(--clay)}.inquiry-form textarea,.inquiry-form>input,.security-question>input:not([type=hidden]){background:var(--surface);border:1px solid #b9c2ba;border-radius:0;color:var(--ink);margin-bottom:17px;min-height:49px;padding:10px 12px;width:100%}.inquiry-form textarea{min-height:142px;resize:vertical}.security-question{display:grid;max-width:360px}.captcha-control{align-items:center;display:flex;gap:12px;margin-bottom:12px;min-height:58px}.captcha-control img{background:#fff;border:1px solid #b9c2ba;display:block;height:48px;-o-object-fit:contain;object-fit:contain;width:140px}.captcha-error,.captcha-placeholder{color:var(--muted);font-size:.88rem}.captcha-refresh{background:var(--surface);border:1px solid #b9c2ba;color:var(--forest);cursor:pointer;font-size:1.4rem;height:40px;width:40px}.captcha-refresh:disabled{cursor:wait;opacity:.55}.captcha-error{margin:-4px 0 12px}.privacy-consent{align-items:flex-start;color:var(--muted);display:flex;font-size:.92rem;gap:11px;margin-block:3px 21px}.privacy-consent input{accent-color:var(--forest);flex:0 0 auto;height:18px;margin:4px 0 0;width:18px}.privacy-consent a{color:var(--forest);text-decoration:underline;text-underline-offset:3px}.submit-button{border:0;cursor:pointer;justify-self:start}.submit-button:disabled{cursor:wait;opacity:.7}.form-message{color:var(--forest);margin-top:16px}.form-message.is-error{color:#963f32}.contact-details{align-self:start;border-top:1px solid var(--rule);padding-top:19px}.contact-details .eyebrow{margin-bottom:16px}.contact-email{border-bottom:1px solid var(--clay);color:var(--forest);display:inline-block;font-size:1.7rem;padding-bottom:4px}.contact-address{margin-top:47px}.contact-address h2{font-size:1.1rem}.contact-address address{color:var(--muted);font-style:normal;margin-top:10px}.contact-reply-note{color:var(--muted);margin-top:30px;max-width:350px}.document-page{background:var(--surface);min-height:58vh;padding-block:85px 110px}.document-container{max-width:880px}.document-container h1{font-size:4rem;margin-bottom:44px}.legal-details{border-block:1px solid var(--rule);padding-block:28px}.legal-details h2{font-size:1.3rem}.legal-details address{color:var(--muted);font-style:normal;margin-top:13px}.legal-details>p{display:flex;gap:42px;margin-top:22px}.legal-details>p span{color:var(--muted);min-width:45px}.legal-copy a,.legal-details a{color:var(--forest);text-decoration:underline;text-underline-offset:3px}.document-note{color:var(--muted);font-size:.94rem;margin-top:28px}.legal-copy{max-width:760px}.legal-copy h2{font-size:1.45rem;margin-bottom:11px;margin-top:37px}.legal-copy p{color:var(--muted);margin-bottom:17px}@media(max-width:900px){.container{width:min(var(--content),calc(100% - 48px))}.primary-navigation{gap:22px}.hero-grid{gap:40px;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}.service-row{gap:14px;grid-template-columns:42px minmax(145px,.8fr) minmax(180px,1.2fr) 20px}.footer-main{grid-template-columns:1fr 1fr}.footer-legal{grid-column:2;grid-row:1/span 2}.page-intro-grid,.process-grid,.projects-grid,.team-grid{gap:27px;grid-template-columns:1fr}.capability-row{gap:13px 22px;grid-template-columns:44px minmax(0,1fr)}.capability-examples{grid-column:2}.contact-grid{gap:58px}}@media(max-width:680px){body{font-size:16px}.container{width:calc(100% - 40px)}.header-inner{min-height:70px}.menu-toggle{display:inline-flex;min-height:44px}.primary-navigation{align-items:stretch;background:var(--surface);border-bottom:1px solid var(--rule);display:none;gap:0;left:0;padding:8px 20px 18px;position:absolute;right:0;top:100%}.primary-navigation.is-open{display:grid}.nav-link{border-bottom:1px solid var(--rule);padding-block:13px}.nav-link.router-link-active{text-decoration:none}.nav-contact{justify-content:center;margin-top:14px}.hero-section{padding-block:48px 63px}.hero-grid{gap:35px;grid-template-columns:1fr}h1{font-size:2.7rem;max-width:570px}.contact-band h2,.projects-note h2,.simple-cta h2,.studio-strip h2,h2{font-size:2rem}.hero-lede{font-size:1.1rem}.hero-actions{gap:19px}.studio-figure img{height:min(72vw,400px);min-height:260px}.studio-figure{margin-right:8px}.section-space{padding-block:72px}.approach-grid,.intro-grid{gap:25px;grid-template-columns:1fr}.intro-grid>.eyebrow{margin-bottom:0}.section-heading{margin-bottom:29px}.service-row{gap:8px 14px;grid-template-columns:34px 1fr 20px;min-height:0;padding-block:18px}.service-row h3{grid-column:2;grid-row:1}.service-number{grid-column:1;grid-row:1}.service-row p{grid-column:2;grid-row:2}.service-arrow{grid-column:3;grid-row:1}.services-foot{align-items:flex-start;flex-direction:column;gap:15px}.contact-band{padding-block:56px}.contact-band-inner{align-items:flex-start;flex-direction:column;gap:25px}.footer-main{gap:28px 20px;grid-template-columns:1fr 1fr;padding-block:36px 30px}.footer-intro{grid-column:1/-1}.footer-legal{grid-column:2;grid-row:2}.footer-bottom{font-size:.76rem}.page-intro{padding-block:62px 54px}.page-intro h1{font-size:2.55rem}.page-intro-grid{gap:18px}.capability-row{padding-block:21px}.capability-row h2{font-size:1.3rem}.simple-cta-inner{align-items:flex-start;flex-direction:column;gap:21px}.studio-strip-inner{gap:27px;grid-template-columns:1fr;padding-block:44px}.team-principles-grid{gap:24px;padding-block:38px}.contact-grid,.team-principles-grid{grid-template-columns:1fr}.contact-details{padding-bottom:8px}.contact-address{margin-top:32px}.document-page{padding-block:60px 80px}.document-container h1{font-size:2.65rem}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}
