@font-face{font-family:Outfit;src:url('/assets/fonts/outfit-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Outfit;src:url('/assets/fonts/outfit-500.ttf') format('truetype');font-weight:500;font-display:swap}
:root{--paper:#fafaf8;--ink:#272a26;--muted:#60655d;--rule:#d5d9d0;--accent:#42613c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.75 Outfit,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px;transition:color .2s}a:hover{color:var(--accent)}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,video:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;text-wrap:balance}p{text-wrap:pretty}h2{font-size:17px}img{max-width:100%}.shell{width:min(1160px,calc(100% - 96px));margin-inline:auto}.header{height:80px;display:flex;align-items:center;gap:36px;border-bottom:1px solid var(--rule);font-size:13px}.brand{font-weight:500;font-size:18px;text-decoration:none}.header nav{display:flex;gap:26px;margin-left:auto}.header nav a{text-decoration:none;padding:12px 0}.languages{display:flex;gap:2px}.languages button{border:0;background:none;padding:9px;font-size:12px;min-height:44px}.languages button[aria-pressed=true]{text-decoration:underline;text-underline-offset:6px}.languages button:hover{background:#eeefeb}.skip{position:fixed;top:-100px;left:16px;z-index:5;background:var(--ink);color:white;padding:12px}.skip:focus{top:12px}.intro{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:end;padding:62px 0 65px}.intro h1{font-family:Georgia,serif;font-size:clamp(64px,6.9vw,96px);font-weight:400;letter-spacing:-.065em;line-height:1.1;white-space:nowrap}.intro h1 span{color:#617757}.role-line{font-size:14px;color:var(--muted);margin-top:19px}.intro>div>p:not(.role-line){font-size:14px;line-height:1.9;max-width:400px}.intro-contact{display:inline-block;margin-top:13px;font-size:13px}.work-heading{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--rule);padding-bottom:16px;margin-bottom:28px}.work-heading>span{font-size:11px;color:var(--muted)}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 36px}.case-link{display:block;text-decoration:none}.card-heading{display:flex;align-items:baseline;gap:14px;justify-content:space-between}.card-heading h3{font-size:23px;letter-spacing:-.02em}.card-arrow{font-size:21px;transition:transform .2s}.case-link:hover .card-arrow{transform:translate(3px,-3px)}.card-role{font-size:11px;color:var(--muted);margin:5px 0 17px}.case-link img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;object-position:top;border:1px solid #e0e1dc}.card-summary{font-size:14px;margin-top:16px}.card-more{display:inline-flex;align-items:center;gap:24px;font-size:12px;margin-top:10px;text-decoration:underline;text-underline-offset:5px}.notes{display:grid;grid-template-columns:1fr 3fr;gap:56px;border-top:1px solid var(--rule);padding-top:30px;margin-top:74px}.notes p{font-size:14px;line-height:1.95;max-width:690px}.notes p+div,.notes div+div{margin-top:18px}.contact{margin-top:38px}.contact p{max-width:560px}.email{display:inline-block;font-size:29px;letter-spacing:-.03em;margin-top:20px}footer{display:flex;gap:30px;border-top:1px solid var(--rule);margin-top:65px!important;padding-block:24px 32px;font-size:11px;color:var(--muted)}footer>span{margin-right:auto}footer a{text-decoration:none}.case-page{max-width:1100px}.back-link{display:inline-block;margin-top:32px;font-size:13px;text-decoration:none;padding:10px 0}.case-intro{padding:24px 0 36px}.case-brand{font-size:12px;color:var(--muted);margin-bottom:12px}.case-intro h1{font-size:clamp(30px,4vw,52px);letter-spacing:-.04em;line-height:1.4}.case-description{max-width:720px;font-size:16px;line-height:1.95;margin-top:18px}.case-meta{display:flex;gap:54px;font-size:13px;margin:23px 0}.case-meta>div{display:flex;gap:17px}.case-meta dt{color:var(--muted)}.case-meta dd{margin:0}.external{display:inline-block;font-size:13px}.viewer-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--rule);padding-bottom:15px}.viewer-heading h2{font-size:14px}.view-controls{display:flex;gap:4px}.view-controls[hidden]{display:none}.view-controls button{border:1px solid transparent;background:none;min-height:44px;padding:8px 15px;font-size:12px}.view-controls button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.screen-stage{display:flex;justify-content:center;background:#eeefea;padding:18px;margin-top:20px}.screen-stage img{display:block;width:100%;height:auto;object-fit:contain;align-self:start;border:1px solid var(--rule)}.screen-stage[data-view=mobile] img{width:320px}.screen-footer{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);margin-top:12px}.case-note{display:grid;grid-template-columns:1fr 3fr;gap:40px;margin-top:42px}.case-note h2{font-size:15px}.case-note p{font-size:14px;line-height:1.95}.motion-section{margin-top:40px}.motion-section h2{font-size:16px}.motion-section p{font-size:13px;color:var(--muted);margin-top:10px}.motion-section video{display:block;width:100%;height:auto;margin-top:20px;border:1px solid var(--rule);background:#eee}.published-credit{margin-top:35px;font-size:12px}.published-credit h2{font-size:14px;margin-bottom:10px}.published-credit a{display:inline-block;margin-top:10px}.capture-note{margin-top:32px;font-size:11px;color:var(--muted);line-height:1.8}.capture-note a{overflow-wrap:anywhere}.capture-note p+p{margin-top:5px}.other-work{margin-top:48px;border-top:1px solid var(--rule);padding-top:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.other-work h2{grid-column:1/-1;font-size:15px}.other-work a{font-size:13px;display:flex;justify-content:space-between;gap:14px;padding:14px 0;text-decoration:none;border-bottom:1px solid var(--rule)}.case-contact{display:flex;justify-content:space-between;gap:20px;margin-top:35px;font-size:13px}
@media(max-width:1000px){.shell{width:calc(100% - 64px)}.intro{gap:40px}.header{gap:24px}.card-heading h3{font-size:20px}.work-grid{gap:40px 24px}.intro h1{font-size:7vw}}
@media(max-width:767px){.shell{width:calc(100% - 40px)}.header{height:auto;min-height:70px;flex-wrap:wrap;gap:10px;padding-top:10px}.brand{font-size:16px}.header nav{order:3;width:100%;gap:28px;padding-bottom:4px;margin:0;font-size:12px}.languages{margin-left:auto}.languages button{padding:8px;font-size:11px}.intro{grid-template-columns:1fr;gap:23px;padding:34px 0 40px}.intro h1{font-size:clamp(50px,13vw,84px)}.role-line{font-size:12px;margin-top:12px}.intro>div>p:not(.role-line){font-size:13px}.intro-contact{font-size:12px;margin-top:10px}.work-heading{margin-bottom:24px}.work-heading h2{font-size:15px}.work-heading>span{font-size:10px}.work-grid{grid-template-columns:1fr;gap:36px}.card-heading h3{font-size:23px}.card-summary{font-size:13px}.card-more{padding:4px 0}.card-role{margin-bottom:12px}.notes{grid-template-columns:1fr;gap:18px;padding-top:23px;margin-top:46px}.notes h2{font-size:15px}.notes p{font-size:13px}.contact{margin-top:28px}.email{font-size:clamp(21px,6vw,29px)}footer{flex-wrap:wrap;gap:16px;margin-top:48px!important;font-size:10px}footer>span{flex-basis:100%}.back-link{margin-top:18px;font-size:12px}.case-intro{padding:18px 0 28px}.case-intro h1{font-size:30px}.case-description{font-size:14px;margin-top:15px}.case-meta{flex-wrap:wrap;gap:9px 25px;font-size:12px;margin:20px 0}.case-meta>div{gap:12px}.viewer-heading{align-items:start;flex-direction:column;gap:12px}.view-controls{flex-wrap:wrap;gap:3px}.view-controls button{padding:8px 12px}.screen-stage{padding:10px;margin-top:15px}.screen-stage[data-view=mobile] img{width:min(100%,320px)}.case-note{grid-template-columns:1fr;gap:14px;margin-top:30px}.case-note p{font-size:13px}.other-work{grid-template-columns:1fr;gap:0;margin-top:34px}.other-work h2{margin-bottom:10px}.case-contact{flex-direction:column;gap:18px;font-size:12px}.capture-note{font-size:10px}.motion-section{margin-top:28px}.screen-footer{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
html:not(.js) .languages{display:none}.header nav a[aria-current]{text-decoration:underline;text-underline-offset:6px}.capture-note{font-size:12px}.screen-footer{font-size:12px}.screen-stage[aria-busy=true]{opacity:.7}.screen-stage{transition:opacity .15s}.card-role{font-size:12px}.screen-state{min-width:0;overflow-wrap:anywhere}
/* Motion: one-time entry, input feedback, and a stable image stage. */
.card-image{display:block;overflow:hidden;border:1px solid #e0e1dc;background:#eeefea}.card-image img{border:0;transition:transform .65s cubic-bezier(.2,.75,.25,1)}.card-more>span:last-child{transition:transform .3s cubic-bezier(.2,.75,.25,1)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.case-link:hover .card-image img{transform:scale(1.025)}.case-link:hover .card-more>span:last-child{transform:translateX(6px)}}
.header nav a,.intro-contact,.email,.external{position:relative}.header nav a:after{content:'';position:absolute;bottom:5px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.header nav a:hover:after{transform:scaleX(1)}
.view-controls button{transition:color .2s,background .2s,transform .2s}.view-controls button:active{transform:scale(.96)}
.screen-stage{height:min(68vw,760px);align-items:center;position:relative;overflow:hidden;opacity:1}.screen-stage img,.screen-stage[data-view=mobile] img{width:auto;height:auto;max-width:100%;max-height:100%;align-self:center}.screen-stage[aria-busy=true]{opacity:.82}
@view-transition{navigation:none}
@media(max-width:767px){.screen-stage{height:clamp(420px,150vw,650px)}.card-role{line-height:1.8}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}*,*:before,*:after{animation:none!important;transition:none!important}.case-link:hover .card-image img{transform:none}.screen-stage[aria-busy=true]{opacity:1}}
