:root{--paper:#f3efe7;--ink:#292f25;--soft:#646655;--line:#c6c7b5;--green:#4a6042;--mint:#d8ddc8;--night:#283324;--image-mat:#dfd8c9;--on-tint:#46533b;--tint-line:#a5b28f;--tint-border:#798968;--dark-line:#68775b;--dark-muted:#c2cbb2;--dark-field:#8d997d;--dark-bright:#e0e5d4;--serif:'Instrument Serif',Georgia,serif;--sans:'Instrument Sans',Arial,sans-serif;--gutter:clamp(24px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}::selection{background:var(--mint);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:450;letter-spacing:-.045em;line-height:1.02}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:7px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.wrap{padding-inline:var(--gutter)}.serif{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.035em}.eyebrow{font-size:11px;font-weight:550;letter-spacing:.09em;text-transform:uppercase}.muted{color:var(--soft)}.fine{font-size:13px;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:var(--paper);padding:14px}.skip:focus{top:15px}
.header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);position:relative;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}.wordmark{font-size:28px;font-weight:600;letter-spacing:-1.5px;white-space:nowrap}.brand-dot{color:var(--green)}.header nav{display:flex;align-items:center;gap:42px;font-size:13px}.header nav a{min-height:44px;display:flex;align-items:center;gap:9px}.header nav a>span{font-size:10px;color:var(--soft)}.header nav .nav-contact{padding:0 0 0 38px;border-left:1px solid var(--line)}.header nav .nav-contact span{font-size:22px;color:var(--ink)}.read-progress{position:fixed;top:0;left:0;height:3px;background:var(--green);width:100%;transform:scaleX(0);transform-origin:left;pointer-events:none;z-index:40}
.hero{padding-top:44px;padding-bottom:60px;min-height:710px}.hero-top{display:flex;align-items:center;justify-content:space-between}.hero-place{font-size:12px;display:flex;gap:64px;align-items:center}.hero-place span{font-size:30px;line-height:1}.hero h1{font-size:clamp(76px,10.5vw,174px);line-height:.91;margin-top:65px;letter-spacing:-.065em}.hero-line{display:block}.hero-line.serif{margin-left:16%;font-size:1.12em;color:var(--green);line-height:.95;letter-spacing:-.045em}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-top:48px}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:14px;min-height:44px;width:max-content;border-bottom:1px solid var(--ink);padding-bottom:7px}.text-link>span[aria-hidden]{display:inline-block;transition:transform .25s;font-size:20px;line-height:1}.text-link:hover>span[aria-hidden]{transform:translate(3px,-3px)}.hero-bottom>.text-link{align-self:end;gap:70px}.hero-intro{max-width:400px;justify-self:end;font-size:20px;line-height:1.35;letter-spacing:-.015em}.hero-intro .muted{font-size:14px;line-height:1.5;max-width:320px;margin-top:19px;letter-spacing:0}
.work-scroll{height:180vh;min-height:1100px;position:relative;--work-p:0;--work-wipe:0%;--work-inset:4vw}.work-sticky{position:sticky;top:0;min-height:96vh;background:var(--paper);padding-top:25px}.work-bar{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding-bottom:20px}.work-count{font-size:11px}.work-count b{font-weight:500}.work-canvas{position:relative;aspect-ratio:1.9;width:calc(100% - var(--work-inset)*2);margin-inline:auto;overflow:hidden;background:var(--image-mat);max-height:71vh}.work-image{position:absolute;inset:0;overflow:hidden}.work-image img{height:100%;object-fit:cover;object-position:center top;transform:scale(calc(1 + var(--work-p)*.045));transform-origin:center 35%;will-change:transform}.work-range{clip-path:inset(0 0 0 calc(100% - var(--work-wipe)));will-change:clip-path}.image-caption{position:absolute;left:28px;bottom:24px;padding:9px 14px;background:var(--paper);font-size:12px;color:var(--ink);border:1px solid var(--line)}.work-foot{display:flex;align-items:center;justify-content:space-between;padding-top:24px;padding-bottom:30px;font-size:14px}.work-tags{display:flex;gap:18px;font-size:11px;color:var(--soft)}.work-foot .text-link{font-size:12px}.work-foot .text-link span{font-size:16px}
.statement{padding-top:150px;padding-bottom:140px}.reading-text{font-size:clamp(38px,5.3vw,82px);line-height:1.09;font-weight:450;max-width:1110px;margin-top:50px;letter-spacing:-.045em}.read-word{color:var(--soft);transition:color .22s}.read-word.is-read{color:var(--ink)}.statement-bottom{display:grid;grid-template-columns:1fr 1fr;margin-top:60px;font-size:15px}.small-index{font-size:11px;letter-spacing:.04em;color:var(--soft)}.statement-bottom p{justify-self:end;width:400px;max-width:100%}
.services{display:grid;grid-template-columns:.95fr 1fr;gap:12%;padding-top:80px;padding-bottom:130px;border-top:1px solid var(--line)}.service-rail{position:sticky;top:80px;height:max-content}.service-rail h2{font-size:clamp(48px,5.3vw,85px);line-height:1.02;margin-top:38px}.service-position{display:flex;gap:22px;align-items:center;max-width:250px;margin-top:60px;font-size:12px}.rail-line{width:150px;height:1px;background:var(--line);position:relative}.rail-line i{display:block;position:absolute;height:3px;top:-1px;left:0;background:var(--green);width:33.333%;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.service-rail>.text-link{margin-top:35px;font-size:13px}.service-story{min-height:70vh;padding:20px 0 85px;border-bottom:1px solid var(--line);scroll-margin-top:80px}.service-story+.service-story{padding-top:85px}.service-story:last-child{border-bottom:0;min-height:60vh;padding-bottom:0}.service-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:35px}.price{font-size:12px;color:var(--soft)}.service-story h3{font-size:clamp(32px,3.2vw,52px);line-height:1.05}.service-story>p{font-size:17px;line-height:1.6;margin-top:30px;color:var(--soft);max-width:430px}.service-story details{margin-top:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}.service-story summary{list-style:none;display:flex;justify-content:space-between;padding:17px 0;cursor:pointer}.service-story summary::-webkit-details-marker{display:none}.service-story summary span{font-size:18px;transition:transform .3s}.service-story details[open] summary span{transform:rotate(45deg)}.service-story details>div{padding-bottom:20px;line-height:1.7;color:var(--soft)}.service-story>.text-link{margin-top:25px;font-size:13px}
.project-two{display:grid;grid-template-columns:.72fr 1.28fr;column-gap:9%;padding-block:85px 120px;border-top:1px solid var(--line)}.project-two-heading h2{font-size:clamp(44px,5.3vw,80px);margin-top:38px;line-height:1.04}.project-two-image{display:block;position:relative;overflow:hidden;aspect-ratio:1.33;background:var(--image-mat)}.project-two-image img{height:115%;object-fit:cover;object-position:center;transform:translateY(var(--project-y,-4%));will-change:transform}.project-arrow{position:absolute;right:0;bottom:0;background:var(--paper);width:62px;height:62px;display:grid;place-items:center;font-size:32px;transition:background .25s,color .25s}.project-two-image:hover .project-arrow{background:var(--ink);color:var(--paper)}.project-caption{grid-column:2;display:grid;grid-template-columns:1fr auto;gap:15px;padding-top:20px}.project-caption h3{font-size:23px;letter-spacing:-.035em}.project-caption p{font-size:12px;color:var(--soft);line-height:1.6;grid-row:2}.project-caption>span{font-size:11px;color:var(--soft);text-align:right}
.workflow{background:var(--mint);padding-block:120px;--flow-p:0}.workflow-grid{display:grid;grid-template-columns:.95fr 1fr;gap:12%}.workflow-heading{position:sticky;top:80px;height:max-content}.workflow h2{font-size:clamp(45px,5.3vw,80px);line-height:1.04;margin-top:35px}.workflow-heading>p:not(.eyebrow){font-size:16px;line-height:1.6;margin-top:35px;max-width:340px}.workflow-heading>.workflow-note{font-size:12px!important;color:var(--on-tint);line-height:1.5!important}.workflow-steps{list-style:none;padding:0;margin:0;position:relative}.workflow-steps:before,.workflow-steps:after{content:'';position:absolute;left:22px;top:22px;bottom:80px;width:1px;background:var(--tint-line)}.workflow-steps:after{background:var(--ink);transform:scaleY(var(--flow-p));transform-origin:top;will-change:transform}.workflow-step{display:grid;grid-template-columns:45px 1fr;gap:28px;position:relative;min-height:240px;padding-bottom:50px;align-items:start}.workflow-step:last-child{padding-bottom:0;min-height:190px}.flow-number{position:relative;z-index:1;display:grid;place-items:center;background:var(--mint);height:45px;width:45px;border:1px solid var(--tint-border);border-radius:50%;font-size:11px;transition:background .3s,color .3s}.workflow-step.is-active .flow-number{background:var(--ink);color:var(--paper);border-color:var(--ink)}.workflow-step h3{font-size:29px;margin-top:19px;line-height:1.1}.workflow-step p{font-size:14px;line-height:1.65;margin-top:17px;color:var(--on-tint);max-width:310px}.workflow-step .eyebrow{font-size:10px;padding-top:12px}
.about{padding-block:140px;display:grid;grid-template-columns:1fr 1fr;gap:9%}.about h2{font-size:clamp(45px,5.3vw,80px);line-height:1.05}.about>div>p{font-size:17px;line-height:1.65;max-width:430px;margin-top:30px;color:var(--soft)}.about>div>.text-link{margin-top:30px;font-size:13px}
.contact{background:var(--night);color:var(--paper);padding:90px 0 110px}.contact-head{position:relative;border-bottom:1px solid var(--dark-line);padding-bottom:60px}.contact-head>.eyebrow{color:var(--mint)}.contact-head h2{font-size:clamp(70px,10vw,150px);line-height:.91;margin-top:45px;letter-spacing:-.055em}.contact-head h2 .serif{color:var(--mint)}.contact-email{position:absolute;right:0;bottom:60px;font-size:16px;border-bottom:1px solid var(--dark-muted);padding-bottom:10px;display:flex;gap:35px}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:12%;margin-top:65px}.contact-note p:first-child{font-size:23px;letter-spacing:-.025em}.contact-note p+p{margin-top:25px;color:var(--dark-muted);font-size:15px;max-width:290px}.contact-note p.fine{font-size:12px;margin-top:50px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.field{margin-bottom:27px}.field label{display:block;font-size:12px;margin-bottom:8px}.field label>span{color:var(--dark-muted)}.field input,.field select,.field textarea{border:0;border-bottom:1px solid var(--dark-field);background:transparent;border-radius:0;color:var(--paper);width:100%;padding:10px 0 13px;min-height:44px;resize:vertical;font-size:15px}.field input::placeholder,.field textarea::placeholder{color:var(--dark-muted);opacity:1}.field select{cursor:pointer;max-width:100%}.field select option{background:var(--night);color:var(--paper)}.send-button{background:var(--mint);border:1px solid var(--mint);display:flex;justify-content:space-between;align-items:center;gap:25px;color:var(--ink);padding:18px 24px;width:100%;font-weight:500;font-size:15px;transition:background .25s,color .25s}.send-button:hover{background:var(--paper)}.send-button:disabled{cursor:wait;opacity:.7}.send-button span{font-size:22px}.contact #form-status{margin-top:15px;color:var(--dark-bright)}.contact .privacy{font-size:11px;line-height:1.65;margin-top:25px;color:var(--dark-muted)}.contact #email-fallback{display:inline-block;margin-top:16px;border-bottom:1px solid var(--mint);padding:8px 0;color:var(--mint)}.success h3{font-family:var(--serif);font-size:46px;line-height:1.1;color:var(--mint)}.success p{margin-top:20px;font-size:16px;color:var(--dark-bright)}
.footer{display:grid;grid-template-columns:1.2fr 1fr auto;gap:20px;padding-block:55px 25px;align-items:start}.footer>p{font-size:12px;color:var(--soft)}.footer .text-link{font-size:12px;min-height:30px}.footer .copyright{grid-column:1/-1;font-size:10px;margin-top:40px}.footer .wordmark{font-size:29px}
@media(min-width:1700px){.wrap,.header{padding-inline:max(var(--gutter),calc((100vw - 1550px)/2))}.work-canvas{max-width:1650px}}
@media(max-width:1000px){.header nav{gap:25px}.hero h1{font-size:12vw}.hero{min-height:660px}.hero-line.serif{margin-left:10%}.service-top{flex-direction:column;align-items:flex-start;gap:9px}.services{gap:8%;grid-template-columns:.9fr 1.1fr}.service-rail h2{font-size:6vw}.project-two{column-gap:5%}.project-two-heading h2{font-size:5.7vw}.workflow-grid{gap:7%}.workflow-step h3{font-size:25px}.contact-email{position:static;margin-top:40px;width:max-content}.contact-grid{gap:8%}.work-sticky{min-height:85vh}.work-canvas{max-height:64vh}.service-story{min-height:65vh}}
@media(max-width:700px){:root{--gutter:23px}.header{height:78px}.wordmark{font-size:24px;letter-spacing:-1.2px}.header nav{gap:0}.header nav>a:not(.nav-contact){display:none}.header nav .nav-contact{padding-left:20px;font-size:12px;border:0}.header nav .nav-contact span{font-size:20px}.hero{padding-top:30px;padding-bottom:45px;min-height:0}.hero-top{align-items:start}.hero-top>.eyebrow{font-size:9px;max-width:160px;line-height:1.7}.hero-place{gap:20px;font-size:10px}.hero-place span{font-size:23px}.hero h1{font-size:15.1vw;line-height:.98;margin-top:60px}.hero-line.serif{font-size:1.05em;margin-left:0;margin-top:4px;white-space:nowrap}.hero-bottom{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:28px;margin-top:35px}.hero-intro{font-size:19px;max-width:350px;justify-self:unset}.hero-intro .muted{font-size:13px;max-width:290px;margin-top:15px}.hero-bottom>.text-link{align-self:start;font-size:12px;gap:50px}.work-scroll{height:auto;min-height:0;--work-inset:0px}.work-sticky{position:static;padding-top:15px;min-height:0}.work-bar{gap:15px;padding-bottom:15px;flex-wrap:wrap}.work-bar>.eyebrow{font-size:9px}.work-bar>span{font-size:10px}.work-count{display:none}.work-canvas{aspect-ratio:1.2;max-height:unset;width:100%}.work-image img{height:100%;object-fit:cover;object-position:left top}.work-range{display:none}.image-caption{left:var(--gutter);bottom:15px;font-size:10px;padding:7px 10px}.work-foot{align-items:flex-start;gap:15px;padding-top:20px;font-size:12px}.work-tags{display:none}.work-foot>.text-link{font-size:10px;gap:15px;white-space:nowrap}.statement{padding-top:85px;padding-bottom:80px}.statement .eyebrow{font-size:10px}.reading-text{font-size:36px;line-height:1.15;margin-top:28px;letter-spacing:-.045em}.statement-bottom{margin-top:30px;grid-template-columns:1fr}.statement-bottom .small-index{display:none}.statement-bottom p{justify-self:start;font-size:13px;width:auto}.services{display:block;padding-top:50px;padding-bottom:60px}.service-rail{position:static}.service-rail h2{font-size:48px;margin-top:22px}.service-rail>.text-link{display:none}.service-position{margin-top:25px}.service-story{min-height:0;padding:35px 0 45px}.service-story+.service-story{padding-top:45px}.service-story:last-child{min-height:0}.service-top{flex-direction:row;align-items:center;font-size:10px;margin-bottom:22px}.service-top .eyebrow{font-size:9px}.service-top .price{font-size:10px}.service-story h3{font-size:36px}.service-story>p{font-size:15px;line-height:1.65;margin-top:22px}.service-story>.text-link{font-size:12px}.service-story details{font-size:12px}.project-two{display:block;padding-block:55px 65px}.project-two-heading h2{font-size:48px;margin-top:25px;margin-bottom:30px}.project-two-image{aspect-ratio:1.1}.project-arrow{width:46px;height:46px;font-size:26px}.project-caption{display:grid;grid-template-columns:1fr auto;gap:9px}.project-caption h3{font-size:21px}.project-caption p{font-size:11px}.project-caption>span{font-size:9px}.workflow{padding-block:65px}.workflow-grid{display:block}.workflow-heading{position:static}.workflow-heading h2{font-size:48px;margin-top:25px}.workflow-heading>p:not(.eyebrow){font-size:15px;margin-top:23px}.workflow-heading>.workflow-note{font-size:11px!important}.workflow-steps{margin-top:45px}.workflow-step{min-height:190px;gap:20px}.workflow-step h3{font-size:25px}.workflow-step:last-child{min-height:0}.workflow-step p{font-size:13px}.workflow-steps:before,.workflow-steps:after{bottom:60px}.about{display:block;padding-block:75px}.about>.eyebrow{font-size:9px;margin-bottom:30px}.about h2{font-size:48px}.about>div>p{font-size:15px;margin-top:22px}.about>div>.text-link{font-size:12px}.contact{padding-block:60px}.contact-head{padding-bottom:35px}.contact-head h2{font-size:19vw;line-height:.96;margin-top:32px}.contact-email{font-size:13px;gap:35px;margin-top:30px}.contact-grid{display:block;margin-top:35px}.contact-note p:first-child{font-size:21px}.contact-note p+p{font-size:13px;margin-top:15px;max-width:320px}.contact-note p.fine{font-size:11px;margin-top:20px}.form-wrap{margin-top:40px}.form-row{grid-template-columns:1fr;gap:0}.field{margin-bottom:24px}.field label{font-size:11px}.field input,.field textarea,.field select{font-size:16px}.send-button{font-size:14px;padding:16px 20px}.contact .privacy{font-size:10px}.footer{grid-template-columns:1fr auto;row-gap:30px;padding-top:35px}.footer>.wordmark{font-size:26px}.footer>p:not(.copyright){grid-column:1;grid-row:2;font-size:11px}.footer>.text-link{grid-column:2;grid-row:1;font-size:11px;gap:15px}.footer .copyright{margin-top:0;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important;will-change:auto!important}.work-scroll{height:auto!important;min-height:0!important}.work-sticky{position:static!important;min-height:0!important}.work-canvas{--work-inset:4vw;--work-p:0}.work-range{display:none}.project-two-image img{transform:none!important}.read-word{color:var(--ink)}.workflow-steps:after{transform:scaleY(1)!important}.service-rail,.workflow-heading{position:static}.read-progress{display:none}}
