@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--ivory:#f5f1e9;--ink:#121512;--sage:#789486;--forest:#2e614d;--lime:#c7f09d;--line:#d4d9d0;--white:#fffefa;--max:1320px;--gutter:clamp(22px, 5vw, 72px);--radius:28px;color:var(--ink);background:var(--ivory);font-synthesis:none;font-family:Manrope,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ivory);min-width:320px;margin:0}body,button,a{font-family:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer}:focus-visible{outline:2px solid var(--forest);outline-offset:4px}.site-header{max-width:1440px;height:126px;padding:0 var(--gutter);border-bottom:1px solid var(--line);z-index:10;justify-content:space-between;align-items:center;margin:0 auto;display:flex;position:relative}.wordmark{align-items:center;width:205px;display:flex}.site-logo{object-fit:contain;width:100%;height:auto}.main-nav{color:var(--sage);align-items:center;gap:42px;font-size:14px;display:flex}.main-nav a{transition:color .2s}.main-nav a:hover,.main-nav a:focus-visible,.main-nav .active{color:var(--ink)}.nav-contact{background:var(--lime);border-radius:999px;align-items:center;gap:14px;padding:16px 22px;font-weight:700;display:inline-flex;color:var(--ink)!important}.menu-toggle{color:var(--ink);background:0 0;border:0;padding:8px;display:none}.eyebrow{color:var(--sage);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;font:500 11px DM Mono,monospace;display:inline-flex}.eyebrow-light{color:var(--lime)}.lime-dot{background:var(--lime);border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.button{align-items:center;gap:26px;font-size:14px;font-weight:700;display:inline-flex}.button-lime{background:var(--lime);border-radius:999px;padding:20px 25px}.button-lime:hover,.button-lime:focus-visible,.contact-button:hover,.contact-button:focus-visible{background:#b8e485}.text-link{color:var(--sage);align-items:center;gap:12px;font-size:14px;font-weight:600;display:inline-flex}.text-link:hover,.text-link:focus-visible{color:var(--ink)}.hero{max-width:var(--max);min-height:0;padding:110px var(--gutter);grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);align-items:center;gap:clamp(70px,6vw,96px);margin:0 auto;display:grid;position:relative;overflow:hidden}.contours{opacity:.28;pointer-events:none;background:repeating-radial-gradient(at 15% 46%,#0000 0 70px,#e1e4dc 71px 72px,#0000 73px 120px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 75%);mask-image:linear-gradient(90deg,#000,#0000 75%)}.hero-copy,.hero-image{z-index:1;position:relative}.hero h1{letter-spacing:-.085em;margin:28px 0 34px;font-size:clamp(64px,8vw,116px);font-weight:800;line-height:.88}.hero-intro{max-width:470px;color:var(--sage);margin:0 0 26px;font-size:18px;line-height:1.6}.process-line{color:var(--sage);letter-spacing:.08em;text-transform:uppercase;font:11px DM Mono,monospace}.hero-actions{align-items:center;gap:28px;margin-top:42px;display:flex}.hero-image{border-radius:var(--radius);height:min(720px,76vh);min-height:540px;overflow:hidden}.hero-image img{object-fit:cover;object-position:50% 55%;width:100%;height:100%}.work-index,.resume-page,.case-page,.about-page{max-width:var(--max);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.work-index{padding-top:clamp(100px,13vw,190px);padding-bottom:clamp(120px,15vw,210px)}.section-topline{justify-content:space-between;align-items:end;padding-bottom:46px;display:flex}.section-topline h2{letter-spacing:-.08em;margin:25px 0 0;font-size:clamp(52px,6vw,84px);line-height:.9}.section-years{color:var(--sage);letter-spacing:.08em;font:12px DM Mono,monospace}.work-row{border-top:1px solid var(--line);grid-template-columns:50px minmax(300px,1.25fr) minmax(300px,.85fr) 130px;align-items:center;gap:30px;padding:30px 0;display:grid}.work-row:last-child{border-bottom:1px solid var(--line)}.work-row>.work-number,.case-tags>.work-number{background:var(--ink);width:42px;height:42px;color:var(--lime);border-radius:6px;align-self:center;place-items:center;font:500 12px DM Mono,monospace;display:grid}.work-media{aspect-ratio:16/9;background:#e7e9e2;border-radius:20px;overflow:hidden}.work-media picture,.work-media img{width:100%;height:100%;display:block}.work-media img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.work-row:hover .work-media img{transform:scale(1.025)}.work-info{padding-right:15px}.tag-list,.case-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tag{color:var(--sage);letter-spacing:.1em;text-transform:uppercase;border:1px solid #c9d0c6;border-radius:5px;padding:8px 12px;font:10px DM Mono,monospace}.work-info h3{letter-spacing:-.065em;margin:23px 0 15px;font-size:clamp(25px,3vw,40px);line-height:.95}.work-info p{max-width:420px;color:var(--sage);margin:0;font-size:14px;line-height:1.6}.work-link{color:var(--sage);align-items:center;gap:10px;margin-top:25px;font-size:13px;display:inline-flex}.work-year{color:var(--sage);place-self:end;align-items:center;gap:30px;font:13px DM Mono,monospace;display:inline-flex}.approach-band{background:var(--forest);color:var(--ivory)}.approach-inner{max-width:var(--max);padding:clamp(95px, 12vw, 170px) var(--gutter);grid-template-columns:1.1fr .75fr;align-items:center;gap:12vw;margin:0 auto;display:grid}.approach-band h2{letter-spacing:-.075em;max-width:680px;margin:45px 0 0;font-size:clamp(42px,5.3vw,72px);line-height:.98}.approach-copy p{color:#d6dfd5;margin:0 0 45px;font-size:17px;line-height:1.65}.outline-button{color:var(--lime);border:1px solid #a7c77d;border-radius:999px;align-items:center;gap:20px;padding:18px 25px;font-size:14px;display:inline-flex}.outline-button:hover,.outline-button:focus-visible{background:#c7f09d1f}.contact-section{max-width:var(--max);padding:clamp(100px, 13vw, 180px) var(--gutter);grid-template-columns:1fr 1fr;gap:11vw;margin:0 auto;display:grid}.contact-heading h2{letter-spacing:-.085em;margin:48px 0 45px;font-size:clamp(56px,7vw,100px);line-height:.9}.contact-heading p{color:var(--sage);align-items:center;gap:12px;font-size:14px;display:flex}.contact-links{padding-top:54px}.contact-links>a:not(.contact-button){border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 0;display:flex}.contact-links small,.resume-contact span,.resume-skills h3{color:var(--sage);letter-spacing:.13em;text-transform:uppercase;margin-bottom:10px;font:11px DM Mono,monospace;display:block}.contact-links>a:not(.contact-button) span{font-size:18px}.contact-links>a:not(.contact-button) svg{color:var(--sage)}.contact-button{background:var(--lime);border-radius:999px;justify-content:center;align-items:center;gap:28px;margin-top:35px;padding:22px;font-size:14px;font-weight:700;display:flex}.footer{color:#a0b3a6;padding:80px max(var(--gutter), calc((100vw - var(--max)) / 2 + var(--gutter))) 36px;background:#151915;grid-template-columns:1fr .5fr 1fr;align-items:end;gap:50px;display:grid}.footer-name{color:var(--ivory);letter-spacing:-.06em;font-size:28px;font-weight:700}.footer p{margin:20px 0 0;line-height:1.65}.footer-nav{gap:18px;display:grid}.footer-nav a:hover{color:var(--ivory)}.footer-status{text-align:right}.footer-status p{margin:0 0 28px}.footer-status span{justify-content:end;align-items:center;gap:14px;font:11px DM Mono,monospace;display:flex}.footer-status i{background:#baff25;border-radius:50%;width:9px;height:9px;display:inline-block}.resume-intro{text-align:center;padding:clamp(100px,13vw,180px) 0 130px}.resume-intro h1{letter-spacing:-.09em;margin:55px 0 22px;font-size:clamp(70px,10vw,140px);line-height:.85}.resume-intro p{color:var(--sage);margin:0 0 45px;font-size:22px}.resume-intro .button{margin:auto}.resume-section{border-top:1px solid var(--line);grid-template-columns:1fr 2.2fr;gap:8vw;padding:78px 0;display:grid}.resume-label{color:var(--sage);letter-spacing:.13em;text-transform:uppercase;font:11px DM Mono,monospace}.resume-label i,.narrative-label i{background:var(--forest);width:64px;height:1px;margin-top:26px;display:block}.resume-section-content>p{max-width:760px;margin:0;font-size:22px;line-height:1.55}.resume-entry{grid-template-columns:150px 1fr;gap:45px;margin-bottom:70px;display:grid}.resume-entry:last-child{margin-bottom:0}.resume-dates{color:var(--sage);font:12px DM Mono,monospace}.resume-entry h3{letter-spacing:-.05em;margin:0 0 18px;font-size:28px}.resume-entry p{margin:0;font-size:16px;line-height:1.6}.resume-place{color:var(--sage);margin-bottom:26px!important}.resume-skills{grid-template-columns:1fr 1fr;gap:70px;display:grid}.resume-skills h3{margin:0 0 26px}.resume-skills ul{margin:0;padding:0;list-style:none}.resume-skills li{margin:0 0 20px;font-size:16px}.resume-skills li:before{content:"•";color:var(--sage);margin-right:14px}.resume-skills em{color:var(--sage);font-size:12px;font-style:normal}.language-grid{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.language-grid span{color:var(--sage)}.language-grid strong{color:var(--ink);margin-bottom:13px;font-size:18px;font-weight:500;display:block}.resume-contact{gap:28px;display:grid}.resume-contact span{margin:0}.resume-contact strong{color:var(--ink);letter-spacing:0;text-transform:none;margin-top:8px;font:16px Manrope,sans-serif;display:block}.case-header{grid-template-columns:1.2fr .8fr;align-items:end;gap:8vw;padding:100px 0 75px;display:grid}.case-tags{margin-bottom:45px}.case-title h1{letter-spacing:-.09em;margin:0 0 30px;font-size:clamp(64px,8.5vw,120px);line-height:.84}.case-title>p{max-width:620px;color:var(--sage);margin:0;font-size:21px;line-height:1.5}.case-meta{gap:28px;margin:0;display:grid}.case-meta dt{color:var(--sage);letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px;font:10px DM Mono,monospace}.case-meta dd{margin:0;font-size:14px;line-height:1.5}.case-page>.slide-viewer{margin:0 0 120px}.case-narrative{border-top:1px solid var(--line);grid-template-columns:1fr 2.2fr;gap:8vw;padding:100px 0;display:grid}.narrative-label{color:var(--sage);letter-spacing:.13em;text-transform:uppercase;font:11px DM Mono,monospace}.narrative-body{max-width:880px}.narrative-body blockquote{letter-spacing:-.065em;margin:0;font-size:clamp(30px,4vw,56px);font-style:italic;font-weight:700;line-height:1.04}.narrative-body p{margin:0;font-size:22px;line-height:1.6}.case-credit{color:var(--sage);margin-top:30px!important;font-size:14px!important}.case-photo{margin:0 0 120px}.case-photo img{object-fit:cover;border-radius:var(--radius);width:100%;max-height:720px}.case-photo figcaption{color:var(--sage);margin-top:17px;font:11px DM Mono,monospace}.case-next{border-top:1px solid var(--line);color:var(--sage);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;padding:70px 0 120px;font:12px DM Mono,monospace;display:flex}.case-next a:last-child{align-items:center;gap:15px;display:inline-flex}.about-hero{border-bottom:1px solid var(--line);padding:100px 0 130px}.about-hero h1{letter-spacing:-.09em;margin:55px 0 45px;font-size:clamp(72px,10vw,140px);line-height:.86}.about-hero h1 em{color:var(--sage);font-style:normal}.about-hero>p{max-width:650px;margin:0 0 0 auto;font-size:21px;line-height:1.55}.about-detail{grid-template-columns:.8fr 1fr;gap:10vw;padding:110px 0;display:grid}.about-detail>img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);width:100%}.about-detail-copy{padding-top:35px}.about-detail-copy p{font-size:19px;line-height:1.65}.about-page .approach-band{width:100vw;margin-left:calc((var(--max) - 100vw) / 2)}.slide-viewer{margin-top:0}.slide-viewer-heading{justify-content:space-between;align-items:end;margin-bottom:22px;display:flex}.slide-viewer-heading h2{letter-spacing:-.06em;margin:22px 0 0;font-size:38px}.slide-counter{color:var(--sage);font:11px DM Mono,monospace}.slide-stage{aspect-ratio:16/9;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);place-items:center;padding:58px 130px 18px 80px;display:grid;position:relative;overflow:hidden}.slide-image-wrap,.slide-image{width:100%;height:100%}.slide-image{object-fit:contain}.slide-status{z-index:2;color:var(--sage);background:#ffffffe0;align-content:center;place-items:center;gap:7px;font:11px DM Mono,monospace;display:grid;position:absolute;inset:0}.slide-status-error strong{color:var(--ink);font:700 14px Manrope,sans-serif}.slide-status-error span{font:11px DM Mono,monospace}.slide-arrow{z-index:3;border:1px solid var(--line);background:var(--ivory);width:48px;height:48px;color:var(--ink);border-radius:50%;place-items:center;display:grid;position:absolute;top:calc(50% + 20px);transform:translateY(-50%)}.slide-arrow:hover,.slide-arrow:focus-visible{background:var(--lime)}.slide-arrow-left{left:18px}.slide-arrow-right{right:66px}.slide-stage-actions{z-index:3;gap:8px;display:flex;position:absolute;top:15px;right:130px}.viewer-action{border:1px solid var(--line);background:var(--forest);min-height:38px;color:var(--ivory);text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font:10px DM Mono,monospace;display:inline-flex}.viewer-action:hover,.viewer-action:focus-visible{background:#23513f}.slide-rail{z-index:3;flex-direction:column;gap:3px;display:flex;position:absolute;top:calc(50% + 20px);right:17px;transform:translateY(-50%)}.slide-dot{width:38px;height:23px;color:var(--sage);background:0 0;border:0;border-radius:5px;padding:0;font:9px DM Mono,monospace}.slide-dot:hover,.slide-dot:focus-visible,.slide-dot.is-active{color:var(--ink);background:var(--lime)}.slide-caption{color:var(--sage);justify-content:space-between;gap:20px;padding:18px 5px 0;display:flex}.slide-caption strong{color:var(--sage);font-size:14px}.slide-caption p{margin:7px 0 0;font-size:12px}.slide-hint{font:10px DM Mono,monospace}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.slide-viewer-error{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--sage);padding:40px}.slide-lightbox{z-index:100;color:var(--ivory);background:#121512f7;place-items:center;display:grid;position:fixed;inset:0}.slide-lightbox.is-fullscreen{width:100%;height:100%;position:relative}.lightbox-toolbar{z-index:4;color:#b8c7ba;justify-content:space-between;font:11px DM Mono,monospace;display:flex;position:absolute;top:20px;left:24px;right:24px}.lightbox-toolbar>div{align-items:center;gap:10px;display:flex}.lightbox-toolbar button{width:38px;height:38px;color:var(--ivory);background:0 0;border:1px solid #66736a;border-radius:50%;place-items:center;display:grid}.lightbox-toolbar button:hover{background:var(--lime);color:var(--ink)}.lightbox-stage{touch-action:none;place-items:center;width:min(92vw,1400px);height:min(82vh,790px);display:grid;overflow:hidden}.lightbox-stage img{object-fit:contain;transform-origin:50%;max-width:100%;max-height:100%}.lightbox-arrow{width:52px;height:52px;color:var(--ivory);background:#2e614dcc;border:1px solid #66736a;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow-left{left:24px}.lightbox-arrow-right{right:24px}.lightbox-close-label{color:var(--ivory);text-transform:uppercase;background:0 0;border:0;align-items:center;gap:8px;font:11px DM Mono,monospace;display:flex;position:absolute;bottom:22px;right:24px}@media (width<=850px){.site-header{height:86px;padding:0 22px}.wordmark{width:165px}.menu-toggle{display:block}.main-nav{background:var(--ivory);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:22px;padding:24px 22px 30px;display:none;position:absolute;top:86px;left:0;right:0}.main-nav.is-open{display:flex}.hero{flex-direction:column;align-items:stretch;gap:60px;min-height:auto;padding-top:70px;padding-bottom:90px;display:flex}.hero h1{font-size:clamp(62px,17vw,88px)}.hero-intro{font-size:16px}.hero-image{height:115vw;min-height:0;max-height:590px}.hero-actions{flex-wrap:wrap}.work-index{padding-top:90px;padding-bottom:100px}.section-topline{align-items:start}.section-topline h2{font-size:58px}.work-row,.work-row-lead{grid-template-columns:44px 1fr;gap:18px;padding:30px 0 42px;display:grid}.work-index{grid-row:span 2}.work-media{aspect-ratio:1;grid-column:2}.work-info{grid-column:2;padding:0}.work-info h3{font-size:29px}.work-year{grid-column:2;justify-self:start}.approach-inner,.contact-section{display:block}.approach-inner{padding-top:90px;padding-bottom:90px}.approach-band h2{font-size:47px}.approach-copy{margin-top:50px}.contact-section{padding-top:90px;padding-bottom:100px}.contact-links{padding-top:50px}.footer{padding:65px 22px 30px;display:block}.footer-nav{margin:55px 0}.footer-status{text-align:left}.footer-status span{justify-content:start}.resume-intro{text-align:left;padding:80px 0 85px}.resume-intro h1{margin:55px 0 22px;font-size:18vw}.resume-intro p{font-size:18px}.resume-section{padding:60px 0;display:block}.resume-label{margin-bottom:40px}.resume-section-content>p{font-size:19px}.resume-entry{margin-bottom:55px;display:block}.resume-dates{margin-bottom:18px;display:block}.resume-entry h3{font-size:25px}.resume-skills,.language-grid{grid-template-columns:1fr;gap:40px}.resume-contact{gap:30px}.case-header{padding-top:75px;display:block}.case-tags{margin-bottom:40px}.case-title h1{font-size:17vw}.case-title>p{font-size:17px}.case-meta{margin-top:55px}.case-page>.slide-viewer{margin-bottom:85px}.slide-viewer-heading h2{font-size:30px}.slide-stage{border-radius:22px;padding:52px 100px 12px 58px}.viewer-action{justify-content:center;min-height:44px;padding:10px}.viewer-action span{display:none}.slide-stage-actions{top:9px;right:100px}.slide-arrow{width:44px;height:44px;top:calc(50% + 18px)}.slide-arrow-left{left:8px}.slide-arrow-right{right:52px}.slide-rail{top:calc(50% + 18px);right:8px}.slide-dot{width:42px;height:20px}.slide-caption{display:block}.slide-hint{display:none}.case-narrative{padding:70px 0;display:block}.narrative-label{margin-bottom:42px}.narrative-body blockquote{font-size:34px}.narrative-body p{font-size:18px}.case-photo{margin-bottom:75px}.case-next{padding:55px 0 80px}.lightbox-stage{width:100vw;height:78vh}.lightbox-arrow{width:44px;height:44px}.lightbox-arrow-left{left:12px}.lightbox-arrow-right{right:12px}.about-hero{padding-top:80px;padding-bottom:85px}.about-hero h1{font-size:18vw}.about-hero>p{font-size:18px}.about-detail{flex-direction:column;gap:45px;padding:70px 0;display:flex}.about-detail>img{aspect-ratio:1/1.15}.about-detail-copy{padding:0}.about-detail-copy p{font-size:18px}.about-page .approach-band{width:auto;margin-left:calc(var(--gutter) * -1);margin-right:calc(var(--gutter) * -1)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}.work-row>.work-number,.case-tags>.work-number{flex:0 0 42px}.case-photo picture{width:100%;display:block}.case-title h1{letter-spacing:-.085em;font-size:clamp(54px,6vw,88px);line-height:.9}.hero{padding-bottom:0}.work-index{padding-top:58px}@media (width<=850px){.hero{padding-bottom:0}.work-index{padding-top:42px}.work-row>.work-number{grid-row:span 2}}
