:root{--cream:#f6f3e9;--green:#173e34;--teal:#168976;--rust:#b65137;--muted:#666f62;--gutter:clamp(24px,4.5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--green);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}::selection{background:var(--teal);color:var(--cream)}:focus-visible{outline:2px solid var(--rust);outline-offset:6px}.skip{position:fixed;top:12px;left:12px;z-index:100;background:var(--cream);padding:16px;transform:translateY(-150%)}.skip:focus{transform:none}.nav{height:104px;padding:0 var(--gutter);display:flex;justify-content:space-between;align-items:center;position:relative;z-index:10}.brand{font-size:36px;font-weight:700;letter-spacing:-2px;display:inline-flex;align-items:flex-start;gap:5px}.brand>span{font-size:11px;letter-spacing:0;margin-top:7px}.nav nav{display:flex;align-items:center;gap:34px;font-size:14px}.pill{border:1px solid currentColor;border-radius:100px;padding:16px 24px;display:inline-flex;align-items:center;gap:44px;background:transparent;color:inherit;cursor:pointer;transition:background .2s,color .2s}.pill:hover{background:var(--green);color:var(--cream)}main{position:relative;isolation:isolate}.thread{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:hidden}.thread path{fill:none;stroke:var(--teal);stroke-width:25;stroke-linecap:round;stroke-linejoin:round}section{position:relative}.hero{padding:48px var(--gutter) 65px;z-index:2}.hero h1{font-weight:400;font-size:clamp(72px,10.55vw,180px);letter-spacing:-.073em;line-height:.94;margin:0}.hero h1>span{display:block}.hero h1 .last-word{margin-left:23.5%}.full-stop{color:var(--green)}.hero-bottom{display:grid;grid-template-columns:1fr 1.35fr .65fr;align-items:end;margin-top:47px;gap:24px}.hero-bottom p{font-size:clamp(18px,1.55vw,25px);line-height:1.4;letter-spacing:-.035em;margin:0}.location{justify-self:end;font-size:13px;line-height:1.5}.down{width:55px;height:55px;border:1px solid #173e3440;border-radius:50%;display:grid;place-items:center;font-size:27px;transition:transform .25s}.down:hover{transform:translateY(5px)}.film-section{padding:20px var(--gutter) 0;z-index:2}.film{position:relative;aspect-ratio:1.98;overflow:hidden;border-radius:24px;background:#e9dfca}.film>img{display:block;width:100%;height:115%;object-fit:cover;transform:translateY(var(--film-shift,-5%));will-change:transform}.film-caption{position:absolute;inset:auto 32px 26px;display:flex;justify-content:space-between;align-items:center;color:var(--cream);text-shadow:0 1px 8px #173e3460}.film-caption>span{font-size:clamp(25px,3.4vw,54px);letter-spacing:-.055em}.film-caption a{border:1px solid #f6f3e999;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font-size:24px}.introduction{padding:150px var(--gutter) 165px;display:grid;grid-template-columns:1.2fr 1fr;gap:10vw}.introduction>*{position:relative;z-index:2}h2{font-size:clamp(48px,6.2vw,100px);font-weight:400;line-height:1;letter-spacing:-.06em;margin:0}.introduction h2{font-size:clamp(42px,4.4vw,72px)}.intro-description p{font-size:clamp(19px,1.75vw,27px);letter-spacing:-.025em;line-height:1.4;margin:0 0 24px}.intro-description p+p{font-size:17px;line-height:1.6;max-width:440px;color:var(--muted)}.text-link{display:inline-flex;gap:35px;padding:10px 0;border-bottom:1px solid;font-size:14px;margin-top:10px}.work{padding:100px var(--gutter) 150px;background:#eef0e7}.section-head,.projects{position:relative;z-index:2}.section-head{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:75px}.section-head p{font-size:17px;line-height:1.5;margin:0 0 5px;width:28%}.projects{display:grid;grid-template-columns:1fr 1fr;gap:65px 40px;align-items:start}.project:nth-child(even){margin-top:135px}.project-media{aspect-ratio:1.15;position:relative;overflow:hidden;border-radius:16px;background:#e0e2d8}.project-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:object-position 4s ease,transform .7s ease}.project:hover img,.project:focus-visible img{object-position:bottom;transform:scale(1.025)}.project-cursor{position:absolute;left:50%;top:50%;width:90px;height:90px;border-radius:50%;background:var(--cream);color:var(--green);display:grid;place-items:center;font-size:13px;transform:translate(-50%,-50%) scale(.5);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.project:hover .project-cursor{opacity:1;transform:translate(-50%,-50%) scale(1)}.project-meta{display:flex;align-items:baseline;gap:20px;padding-top:20px}.project-meta h3{font-size:25px;letter-spacing:-.045em;font-weight:400;margin:0;flex:1}.project-meta span{font-size:12px}.project-meta>span:last-child{font-size:24px}.approach{padding:140px var(--gutter) 150px}.approach h2{position:relative;z-index:2}.service-list{width:68%;margin:90px 0 0 auto;position:relative;z-index:2}.service-list article{display:grid;grid-template-columns:40px 1fr 40px;gap:25px;padding:36px 0 45px;border-top:1px solid #173e3440;transition:opacity .4s,transform .4s}.service-number{padding-top:10px;font-size:12px}.service-list h3{font-size:clamp(35px,4.1vw,66px);letter-spacing:-.055em;font-weight:400;margin:0 0 22px}.service-list p{font-size:18px;line-height:1.55;max-width:540px;margin:0 0 22px}.service-detail{font-size:12px;color:var(--muted)}.service-arrow{font-size:34px}.contact{padding:105px var(--gutter) 0;background:var(--green);color:var(--cream)}.contact>h2,.contact-grid,.contact footer{position:relative;z-index:2}.contact h2{font-size:clamp(64px,10vw,160px);line-height:.95}.contact h2>span{color:#7bc0a1}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:95px}.contact-copy p{font-size:clamp(24px,2.5vw,40px);line-height:1.2;letter-spacing:-.04em;margin:0 0 45px}.contact-copy>a{display:block;width:max-content;font-size:18px;margin:16px 0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}label{display:block;font-size:13px;margin-bottom:30px}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #f6f3e960;border-radius:0;padding:16px 0;background:transparent;color:var(--cream);font-size:16px;resize:vertical}input::placeholder,textarea::placeholder{color:#c0c9bc}input:focus,textarea:focus{outline:0;border-bottom-color:var(--cream)}form .pill{background:var(--cream);color:var(--green);font-size:14px;min-height:54px}form .pill:hover{background:#dce8cf}button:disabled{opacity:.6;cursor:wait}.honeypot{position:absolute;left:-9999px;width:1px;height:1px}.form-status{font-size:14px;line-height:1.5;min-height:22px}footer{margin-top:115px;border-top:1px solid #f6f3e940;padding:35px 0;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:11px}footer .brand{font-size:31px}body.enhanced [data-reveal]{transition:opacity .85s,transform .85s;opacity:0;transform:translateY(32px)}body.enhanced [data-reveal].revealed{opacity:1;transform:none}
.contact form{background:var(--green);padding:12px 0}
.project:nth-child(1) .project-media img,.project:nth-child(3) .project-media img{object-position:bottom}
.project:nth-child(1):hover img,.project:nth-child(3):hover img{object-position:80% 75%}
@media(min-width:1600px){.hero{padding-top:65px;padding-bottom:85px}}
@media(max-width:900px){.nav{height:85px}.nav nav{gap:20px}.hero{padding-top:50px}.hero h1{font-size:11.5vw}.hero-bottom{grid-template-columns:.5fr 1.5fr}.location{display:none}.introduction{padding-top:100px;padding-bottom:100px;gap:50px;grid-template-columns:1fr}.intro-description{max-width:550px;margin-left:22%}.projects{gap:50px 24px}.project-meta{gap:10px;flex-wrap:wrap}.project-meta h3{font-size:23px}.project-meta span{font-size:10px}.service-list{width:85%}.contact-grid{gap:40px}.contact h2{font-size:10.5vw}footer>span:nth-child(2){display:none}.thread path{stroke-width:20}}
@media(max-width:600px){html{scroll-padding-top:24px}.nav{height:84px}.brand{font-size:30px}.nav nav>a:not(.pill){display:none}.nav .pill{padding:12px 17px;gap:24px;font-size:12px}.hero{padding-top:34px;padding-bottom:35px}.hero h1{font-size:12vw;line-height:1;letter-spacing:-.065em}.hero h1 .last-word{margin-left:16%}.hero-bottom{margin-top:35px;gap:16px;grid-template-columns:45px 1fr}.hero-bottom p{font-size:16px}.down{width:42px;height:42px;font-size:22px}.film-section{padding-top:12px}.film{aspect-ratio:1.15;border-radius:16px}.film-caption{inset:auto 18px 20px}.film-caption>span{font-size:29px}.film-caption a{width:36px;height:36px;font-size:20px}.introduction{padding-top:78px;padding-bottom:80px;gap:35px}.introduction h2{font-size:11vw}.intro-description{margin-left:8%}.intro-description p{font-size:20px}.intro-description p+p{font-size:16px}.work{padding-top:65px;padding-bottom:75px}.section-head{display:block;margin-bottom:40px}.section-head h2,h2{font-size:12vw}.section-head p{width:auto;margin-top:24px;font-size:15px}.projects{grid-template-columns:1fr;gap:40px}.project:nth-child(even){margin-top:0}.project-media{aspect-ratio:1.2}.project-meta{padding-top:14px}.project-meta span{font-size:11px}.project-cursor{display:none}.approach{padding-top:80px;padding-bottom:75px}.service-list{width:100%;margin-top:50px}.service-list article{gap:12px;grid-template-columns:24px 1fr 20px;padding:27px 0 32px}.service-list h3{font-size:37px}.service-list p{font-size:16px}.service-detail{font-size:11px}.service-arrow{font-size:25px}.contact{padding-top:70px}.contact h2{font-size:12.3vw}.contact-grid{grid-template-columns:1fr;margin-top:50px;gap:35px}.contact-copy p{font-size:27px;margin-bottom:25px}.contact-copy>a{font-size:16px}.field-row{grid-template-columns:1fr;gap:0}footer{margin-top:55px;display:grid;grid-template-columns:1fr 1fr;gap:25px}footer>a:nth-of-type(2){text-align:right}footer>span:last-child{grid-column:1/-1}.thread path{stroke-width:14}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.film>img{transform:translateY(-5%);will-change:auto}body.enhanced [data-reveal]{opacity:1;transform:none}.project-media img{transform:none!important}}
