@font-face{font-family:satoshi;src:url(../media/Satoshi_Regular-s.p.0dvfn5g0xv8bu.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:satoshi;src:url(../media/Satoshi_Bold-s.p.2_-zzs2una4mm.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:satoshi Fallback;src:local(Arial);ascent-override:102.23%;descent-override:24.29%;line-gap-override:10.12%;size-adjust:98.8%}.satoshi_99ac0fae-module__XF5loq__className{font-family:satoshi,satoshi Fallback}.satoshi_99ac0fae-module__XF5loq__variable{--font-satoshi:"satoshi", "satoshi Fallback"}
:root{--cream:#fff1df;--brand-plum:#341630;--ink:#121212;--frame-margin:88px;--frame-height:min(68vh, calc(80vw * 9 / 16), calc(100vh - 2 * var(--frame-margin)));--frame-width:calc(var(--frame-height) * 16 / 9);--frame-inset-y:calc((100vh - var(--frame-height)) / 2);--frame-inset-x:calc((100vw - var(--frame-width)) / 2);--frame-clip:inset(calc(env(safe-area-inset-top,0px) + var(--frame-inset-y)) calc(env(safe-area-inset-right,0px) + var(--frame-inset-x)) calc(env(safe-area-inset-bottom,0px) + var(--frame-inset-y)) calc(env(safe-area-inset-left,0px) + var(--frame-inset-x)))}*{scrollbar-width:none}::-webkit-scrollbar{width:0;height:0;display:none}html,body{background:var(--cream);color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;width:100%;min-height:100%;margin:0}html{animation:7.5s step-end forwards page-unlock;overflow:hidden}body{background-color:var(--cream)}@keyframes page-unlock{0%{overflow:hidden}to{overflow:visible}}.section{background-color:var(--cream);width:100%;height:100vh;position:relative}.section-hero{overflow:hidden}.background-gradient{top:calc(-1 * env(safe-area-inset-top,0px));right:calc(-1 * env(safe-area-inset-right,0px));bottom:calc(-1 * env(safe-area-inset-bottom,0px));left:calc(-1 * env(safe-area-inset-left,0px));opacity:1;pointer-events:none;clip-path:inset(0);animation:7.5s ease-in-out forwards gradient-frame-in;position:fixed;overflow:hidden}.content-stage{z-index:2;padding:max(24px, env(safe-area-inset-top,0px)) max(24px, env(safe-area-inset-right,0px)) max(24px, env(safe-area-inset-bottom,0px)) max(24px, env(safe-area-inset-left,0px));box-sizing:border-box;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.wordmark-frame{grid-area:1/1}.site-nav{--ink:var(--brand-plum);z-index:10;--nav-inset:max(24px, env(safe-area-inset-top,0px));padding:var(--nav-inset) max(var(--nav-inset), env(safe-area-inset-right,0px)) 0 max(var(--nav-inset), env(safe-area-inset-left,0px));box-sizing:border-box;opacity:0;background:0 0;justify-content:space-between;align-items:center;animation:7.5s ease-in-out forwards nav-fade-in;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.nav-logo-link{line-height:0;display:block}.nav-logo{filter:brightness(0);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:clamp(30px,3.7vw,44px);height:auto;display:block}.nav-links{align-items:center;gap:clamp(20px,2.2vw,32px);display:flex}.nav-menu-toggle,.mobile-menu{display:none}.mobile-menu{--ink:var(--brand-plum)}.nav-link{color:var(--ink);font-family:var(--font-satoshi), Arial, Helvetica, sans-serif;letter-spacing:normal;text-transform:uppercase;white-space:nowrap;font-size:clamp(14px,1.3vw,16px);font-weight:700;text-decoration:none;transition:opacity .2s}.nav-link:not([href]){cursor:default}.nav-link[href]:hover,.nav-link[href]:focus-visible{opacity:.6}.nav-planning-button{color:var(--ink);font-family:var(--font-satoshi), Arial, Helvetica, sans-serif;text-transform:uppercase;white-space:nowrap;background:0 0;border:0;align-items:center;gap:.3em;padding:0;font-size:16px;font-weight:700;line-height:1.25;text-decoration:none;transition:opacity .2s;display:inline-flex}.nav-planning-button:hover,.nav-planning-button:focus-visible{opacity:.6}.nav-planning-button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.nav-planning-button[aria-current=page]>span:first-child{margin-bottom:-5px;padding-bottom:5px;position:relative}.nav-planning-word{width:9ch;display:inline-grid;overflow:visible}.nav-planning-word>span{justify-self:start;margin-bottom:-5px;padding-bottom:5px;animation:.35s both planning-word-in;position:relative}.nav-planning-button[aria-current=page]>span:first-child:after,.nav-planning-button[aria-current=page] .nav-planning-word>span:after{content:"";transform-origin:0;background:currentColor;width:100%;height:1px;position:absolute;bottom:0;left:0}.nav-planning-button[aria-current=page]>span:first-child:after{width:calc(100% + .3em)}.nav-planning-button[aria-current=page] .nav-planning-word>span:after{animation:.45s both planning-underline-in}@keyframes planning-underline-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes planning-word-in{0%{opacity:0;transform:translateY(.5em)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.nav-planning-word>span,.nav-planning-button[aria-current=page] .nav-planning-word>span:after{animation:none}}.wordmark-frame{opacity:0;animation:4s ease-in-out forwards wordmark-fade}.wordmark{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:min(128px,21.33vw);height:auto;display:block}.project-carousel{z-index:1;box-sizing:border-box;padding-block:var(--frame-inset-y);padding-inline:var(--frame-inset-x);opacity:1;pointer-events:none;scrollbar-width:none;scroll-padding-inline:var(--frame-inset-x);scroll-snap-type:x mandatory;overscroll-behavior-x:contain;animation:7.5s step-end forwards carousel-unlock;position:absolute;inset:0;overflow:hidden}.project-carousel::-webkit-scrollbar{display:none}.project-track{gap:24px;width:max-content;height:100%;display:flex}.project-cycle{flex:none;gap:24px;height:100%;display:flex}.project-slide{flex:0 0 var(--frame-width);width:var(--frame-width);height:var(--frame-height);scroll-snap-align:start;position:relative;overflow:hidden}.project-gradient{top:calc(-1 * var(--frame-inset-y));left:calc(-1 * var(--frame-inset-x));pointer-events:none;clip-path:inset(0);width:100vw;height:100vh;animation:7.5s ease-in-out forwards carousel-gradient-frame-in;position:absolute}.project-slide-active{overflow:visible}@keyframes carousel-gradient-frame-in{0%,45%{clip-path:inset(0)}to{clip-path:inset(var(--frame-inset-y) var(--frame-inset-x))}}@keyframes carousel-unlock{0%{pointer-events:none;overflow:hidden}to{pointer-events:auto;overflow:auto hidden}}.project-placeholder{background:color-mix(in srgb, var(--ink) 10%, var(--cream));opacity:0;animation:7.5s ease-in-out forwards project-carousel-in}.project-thumbnail{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.project-logo{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:clamp(90px,10.5vw,160px);height:auto;position:absolute;bottom:24px;left:24px}.scroll-cue{left:50%;bottom:max(24px, env(safe-area-inset-bottom,0px));z-index:3;color:var(--ink);font-family:var(--font-satoshi), Arial, Helvetica, sans-serif;letter-spacing:.04em;white-space:nowrap;pointer-events:none;margin:0;font-size:clamp(11px,1.05vw,13px);font-style:italic;font-weight:400;transition:opacity .6s ease-out;position:absolute;transform:translate(-50%)}.scroll-cue span{opacity:0;animation:1.1s ease-out 12.5s forwards scroll-cue-in;display:inline-block;transform:translateY(8px)}.scroll-cue[data-dismissed]{opacity:0}@keyframes scroll-cue-in{to{opacity:.55;transform:none}}.frame-tagline{z-index:2;color:var(--cream);font-family:var(--font-satoshi), Arial, Helvetica, sans-serif;letter-spacing:-.035em;opacity:0;pointer-events:none;margin:0;font-size:clamp(24px,3vw,44px);font-weight:700;line-height:.95;animation:7.5s ease-in-out forwards tagline-fade-in;position:absolute;bottom:24px;left:24px;transform:translateY(12px)}@font-face{font-family:Lev Roca;src:url(/branding/fonts/RocaOne-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}.frame-tagline span{display:block}.frame-tagline span:first-child{font-family:Lev Roca,Georgia,serif;font-weight:400}@keyframes wordmark-fade{0%{opacity:0}30%,65%{opacity:1}to{opacity:0}}@keyframes gradient-frame-in{0%,45%{clip-path:inset(0)}to{clip-path:var(--frame-clip)}}@keyframes nav-fade-in{0%,45%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes tagline-fade-in{0%,75%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes project-carousel-in{0%,75%{opacity:0;pointer-events:none}to{opacity:1;pointer-events:auto}}@media (prefers-reduced-motion:reduce){html{animation:none;overflow:visible}.scroll-cue span{opacity:.55;animation:none;transform:none}.project-gradient{clip-path:inset(var(--frame-inset-y) var(--frame-inset-x));animation:none}.project-placeholder{opacity:1;animation:none}.background-gradient{opacity:1;clip-path:var(--frame-clip);animation:none}body{background-color:var(--cream);animation:none}.wordmark-frame{display:none}.frame-tagline{opacity:1;animation:none;transform:none}.project-carousel{opacity:1;pointer-events:auto;animation:none;overflow:auto hidden}.site-nav{opacity:1;animation:none;transform:none}.nav-link{transition:none}}html:has(.home-page[data-skip-intro]){animation:none;overflow:visible}html[data-skip-intro]:has(.home-page){animation:none;overflow:visible}:is(.home-page[data-skip-intro],html[data-skip-intro] .home-page) :is(.site-nav,.wordmark-frame,.project-carousel,.project-gradient,.project-placeholder,.frame-tagline){animation-delay:-7.5s}:is(.home-page[data-skip-intro],html[data-skip-intro] .home-page) .scroll-cue span{animation-delay:5s}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html:has(.projects-page){scroll-behavior:smooth;animation:none;overflow:hidden}body:has(.projects-page){color:var(--ink)}.projects-page{background:var(--cream);flex-direction:column;height:100svh;min-height:100svh;display:flex;position:relative;overflow:hidden}.projects-top{z-index:3;width:100%;position:sticky;left:0}.projects-explorer{flex:1;min-height:0;position:relative}.projects-page .site-nav :is(.nav-link,.nav-planning-button,.nav-menu-toggle){color:var(--cream)}.projects-page .site-nav .nav-logo{filter:none}.projects-page .site-nav{pointer-events:none;opacity:1;background:0 0;animation:none;position:absolute;transform:none}.projects-page .site-nav :is(a,button){pointer-events:auto}.projects-page .nav-link[aria-current=page]{text-underline-offset:.28em;text-decoration:underline;text-decoration-thickness:1px}.projects-viewport{overscroll-behavior:contain;cursor:grab;touch-action:pan-x pan-y;outline-offset:-4px;position:absolute;inset:0;overflow:auto}.projects-viewport[data-dragging]{cursor:grabbing;-webkit-user-select:none;user-select:none}.projects-grid{--project-width:clamp(360px, 36vw, 500px);width:calc(7 * var(--project-width) + 72px + 240px);box-sizing:border-box;grid-template-rows:repeat(5,clamp(300px,33vh,410px));align-content:center;gap:12px;padding:80px 120px;display:grid}.projects-row{gap:12px;min-height:0;display:grid}.projects-row:first-child{grid-template-columns:.9fr 1.35fr .8fr 1.2fr .95fr 1.05fr .75fr}.projects-row:nth-child(2){grid-template-columns:1.2fr .7fr 1.1fr .85fr 1.25fr .8fr 1.1fr}.projects-row:nth-child(3){grid-template-columns:.8fr 1.2fr 1fr 1fr 1.1fr .75fr 1.15fr}.projects-row:nth-child(4){grid-template-columns:1.15fr .95fr 1.3fr .8fr 1.15fr .9fr .75fr}.projects-row:nth-child(5){grid-template-columns:.7fr 1.1fr 1.05fr 1.35fr .8fr 1.2fr .8fr}.projects-explore-controls{z-index:2;bottom:max(20px, env(safe-area-inset-bottom));background:var(--cream);white-space:nowrap;font-family:var(--font-satoshi), Arial, sans-serif;color:var(--brand-plum);border:1px solid #34163026;border-radius:30px;align-items:center;gap:20px;padding:12px 18px;font-size:12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.projects-explore-controls p{margin:0}.projects-explore-controls button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.projects-card{border-radius:0;grid-column:span 4;min-width:0;position:relative}.projects-card-media{background:color-mix(in srgb, var(--ink) 10%, var(--cream));border-radius:0;width:100%;height:100%;position:relative;overflow:hidden}.projects-card-placeholder:nth-of-type(4n+1) .projects-card-media{background:#fd993b}.projects-card-placeholder:nth-of-type(4n+2) .projects-card-media{background:#f15e3f}.projects-card-placeholder:nth-of-type(4n+3) .projects-card-media{background:#b4273a}.projects-card-placeholder:nth-of-type(4n) .projects-card-media{background:var(--brand-plum)}.projects-card-image{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:0}.projects-card-contact-link{z-index:1;cursor:pointer;position:absolute;inset:0}.projects-card-caption{box-sizing:border-box;color:var(--cream);text-align:center;opacity:0;background:#00000061;justify-content:center;align-items:center;padding:24px;transition:opacity .2s;display:flex;position:absolute;inset:0}.projects-card:hover .projects-card-caption,.projects-card:focus-within .projects-card-caption,.projects-card:focus-visible .projects-card-caption{opacity:1}.projects-card:has(.projects-card-contact-link:focus-visible){outline:2px solid var(--ink);outline-offset:4px}.projects-card:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.projects-card-caption h2{font-family:var(--font-satoshi), Arial, Helvetica, sans-serif;letter-spacing:-.045em;margin:0;font-size:clamp(24px,2.2vw,32px);font-weight:400;line-height:1}@media (max-width:700px){.projects-page .site-nav{text-shadow:none}.projects-page .nav-logo{filter:brightness(0)}.projects-page .nav-link{color:var(--ink)}.site-nav .nav-links{display:none}.nav-menu-toggle,.mobile-menu-close{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0;display:flex;position:relative}.nav-menu-toggle{margin:-12px -8px -12px 0}.nav-menu-toggle span,.mobile-menu-close span{background:currentColor;width:26px;height:2px;display:block}.projects-page .nav-menu-toggle{color:var(--ink);filter:none}.mobile-menu{width:100%;max-width:none;height:100%;max-height:none;transition:display .3s allow-discrete, overlay .3s allow-discrete;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.mobile-menu[open]{justify-content:flex-end;display:flex}.mobile-menu::backdrop{opacity:0;transition:opacity .3s linear, display .3s allow-discrete, overlay .3s allow-discrete;background:#0000004d}.mobile-menu[open]::backdrop{opacity:1}.mobile-menu-panel{box-sizing:border-box;width:min(85vw,360px);height:100%;padding:max(112px, env(safe-area-inset-top)) 32px 32px;background:var(--cream);color:var(--ink);transition:transform .3s linear;position:relative;overflow-y:auto;transform:translate(100%)}.mobile-menu[open] .mobile-menu-panel{transform:translate(0)}@starting-style{.mobile-menu[open] .mobile-menu-panel{transform:translate(100%)}.mobile-menu[open]::backdrop{opacity:0}}.mobile-menu-close{top:max(12px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));position:absolute}.mobile-menu-close span{position:absolute;transform:rotate(45deg)}.mobile-menu-close span:last-child{transform:rotate(-45deg)}.mobile-menu-links{flex-direction:column;align-items:flex-start;gap:32px;display:flex}.mobile-menu-links .nav-link{color:var(--ink);letter-spacing:-.035em;font-size:30px;line-height:1.2}html:has(.mobile-menu[open]){animation:none;overflow:hidden}.projects-grid{--project-width:320px;width:calc(7 * var(--project-width) + 72px + 120px);grid-template-rows:repeat(5,275px);padding:60px}.projects-explore-controls{gap:14px;font-size:11px}.projects-card-caption{padding:20px}.projects-card-caption h2{font-size:clamp(24px,7vw,32px)}}@media (prefers-reduced-motion:reduce){.projects-card-caption,.mobile-menu,.mobile-menu::backdrop,.mobile-menu-panel{transition:none}}html body :is(input,textarea,select,[contenteditable=true]){box-shadow:none!important;border-color:#0000!important;outline:none!important}html body :focus:not(:focus-visible){box-shadow:none!important;outline:none!important}
