@font-face{font-family:Neue Montreal;src:url(/assets/fonts/PPNeueMontreal-Book.woff2) format("woff2");font-weight:350;font-style:normal;font-display:swap}@font-face{font-family:Neue Montreal;src:url(/assets/fonts/PPNeueMontreal-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Neue Montreal;src:url(/assets/fonts/PPNeueMontreal-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--bg: #ffffff;--paper: #ffffff;--fg: #14110f;--fg-dim: rgba(20, 17, 15, .62);--fg-faint: rgba(20, 17, 15, .32);--hairline: #14110f;--row-tint: rgba(20, 17, 15, .04);--shadow: 4px 6px 0 rgba(20, 17, 15, .08), 0 18px 40px rgba(20, 17, 15, .22);--font-sans: "Neue Montreal", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "PP Neue Montreal Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--pad-x: clamp(20px, 4vw, 48px);--ease: cubic-bezier(.2, .7, .1, 1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-mono);font-weight:400;font-size:14px;line-height:1.5;letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;overflow-x:hidden;text-transform:lowercase}a{color:inherit;text-decoration:none}svg{display:block}::selection{background:var(--fg);color:var(--bg)}button{font:inherit;color:inherit;cursor:pointer}.header{position:relative;display:flex;justify-content:center;align-items:center;padding:clamp(28px,4vw,44px) var(--pad-x) clamp(28px,4vw,40px)}.header__star{display:inline-flex;width:14px;height:14px;color:var(--fg);transition:transform .24s var(--ease)}.header__star svg{width:100%;height:100%}.header__star:hover{transform:rotate(72deg)}.controls{position:absolute;right:var(--pad-x);top:50%;transform:translateY(-50%);display:inline-flex;gap:0}.ctrl{all:unset;cursor:pointer;border:1px solid var(--hairline);padding:4px 9px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:var(--fg);background:transparent;transition:background .2s var(--ease),color .2s var(--ease)}.ctrl+.ctrl{border-left:0}.ctrl:hover,.ctrl[aria-pressed=true]{background:var(--fg);color:var(--bg)}[data-theme=dark]{--bg: #14110f;--paper: #1c1916;--fg: #efece4;--fg-dim: rgba(239, 236, 228, .65);--fg-faint: rgba(239, 236, 228, .32);--hairline: #efece4;--row-tint: rgba(239, 236, 228, .06);--shadow: 4px 6px 0 rgba(255, 255, 255, .04), 0 18px 40px rgba(0, 0, 0, .55)}.work{padding:0 var(--pad-x) clamp(40px,6vw,64px);position:relative}.strike{color:var(--fg-faint);text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:var(--fg-dim)}.rows{list-style:none;margin:0;padding:0;border:1px solid var(--hairline);border-bottom:0}.row{border-bottom:1px solid var(--hairline);position:relative}.row__head{all:unset;cursor:pointer;display:grid;grid-template-columns:[client] minmax(140px,1.3fr) [proj] minmax(180px,1.8fr) [svc] minmax(170px,1.5fr) [loc] minmax(80px,100px) [year] 72px [tog] 36px;align-items:center;gap:0;width:100%;color:var(--fg);font-size:clamp(12.5px,1vw,14px);letter-spacing:0;transition:background-color .28s var(--ease),opacity .28s var(--ease)}.row__head>*{padding:clamp(12px,1.6vw,16px) clamp(10px,1.4vw,18px);border-right:1px solid var(--hairline);height:100%;display:flex;align-items:center;min-width:0}.row__head>*:last-child{border-right:0}.row__head:focus-visible{outline:1px solid var(--fg);outline-offset:-1px}.row__num{display:none}.row__client{font-weight:500;letter-spacing:0;position:relative}.row__client:before{content:"★";position:absolute;left:6px;top:50%;transform:translate(-6px,-50%);font-size:8px;color:var(--fg);opacity:0;transition:opacity .22s var(--ease),transform .28s var(--ease);pointer-events:none}.row__client--nda{text-transform:none;letter-spacing:.06em;font-weight:500}.row__project{color:var(--fg);opacity:.92;min-width:0}.row__project span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;max-width:100%}.row__service{color:var(--fg-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row__service>*{white-space:nowrap}.row__service .kept{display:inline-block}.row__location{color:var(--fg-dim);font-variant-numeric:tabular-nums}.row__year{color:var(--fg-dim);font-variant-numeric:tabular-nums;justify-content:flex-end}.row__toggle{justify-content:center;color:var(--fg);font-size:14px;line-height:1;transition:background-color .22s var(--ease),color .22s var(--ease)}.row__plus{display:inline-block}@media(hover:hover)and (pointer:fine){.rows:hover .row__head{opacity:.5}.rows .row:hover .row__head{opacity:1}.row:hover .row__head>*{background-color:var(--row-tint)}.row:hover .row__client{padding-left:clamp(18px,2vw,26px)}.row:hover .row__client:before{opacity:1;transform:translateY(-50%) rotate(72deg)}.row:hover .row__project{transform:translate(2px)}.row:hover .row__toggle{background:var(--fg);color:var(--bg)}}.row__client{transition:padding-left .28s var(--ease)}.row__project{transition:transform .28s var(--ease)}.row[data-open] .row__toggle{background:var(--fg);color:var(--bg)}.row[data-open] .row__client:before{opacity:1;transform:translateY(-50%) rotate(144deg)}.row[data-open] .row__client{padding-left:clamp(18px,2vw,26px)}.row__body{display:none}.work__footnote{margin:clamp(28px,4vw,48px) 0 0;font-size:12px;color:var(--fg-dim)}.work__footnote a{color:var(--fg);border-bottom:1px solid var(--hairline);padding-bottom:1px}[data-decode]{display:inline-block;white-space:pre;font-variant-ligatures:none}.footer{display:flex;justify-content:space-between;align-items:center;padding:clamp(20px,3vw,32px) var(--pad-x);font-size:11.5px;color:var(--fg-dim);border-top:1px solid var(--hairline)}.windows{position:fixed;inset:0;pointer-events:none;z-index:1000}.window{position:absolute;pointer-events:auto;background:var(--paper);border:1px solid var(--hairline);box-shadow:var(--shadow);width:min(560px,90vw);max-height:calc(100vh - 80px);display:flex;flex-direction:column;font-size:13px;animation:winIn .28s var(--ease) both}@keyframes winIn{0%{transform:translate(var(--tx, 0),calc(var(--ty, 0) + 8px)) scale(.985);opacity:0}to{transform:translate(var(--tx, 0),var(--ty, 0)) scale(1);opacity:1}}.window.is-closing{animation:winOut .18s var(--ease) forwards}@keyframes winOut{to{transform:translate(var(--tx, 0),calc(var(--ty, 0) - 4px)) scale(.985);opacity:0}}.window__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px 6px 10px;background:var(--fg);color:var(--bg);border-bottom:1px solid var(--hairline);cursor:move;user-select:none;touch-action:none;font-size:11.5px;letter-spacing:0}.window__title{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.window__title em{font-style:normal;opacity:.55}.window__close{all:unset;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid var(--bg);font-size:11px;line-height:1;cursor:pointer;transition:background .16s var(--ease),color .16s var(--ease)}.window__close:hover{background:var(--bg);color:var(--fg)}.window__body{padding:16px 18px 20px;overflow:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.window__desc{margin:0;font-family:var(--font-mono);font-size:13px;line-height:1.55;color:var(--fg)}.window__desc em{font-style:normal;border-bottom:1px solid var(--fg-dim);padding-bottom:1px}.window__credits{list-style:none;margin:0;padding:0;font-size:11.5px;color:var(--fg-dim);display:flex;flex-direction:column}.window__credits li{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;padding:6px 0;border-top:1px dashed var(--hairline)}.window__credits li:first-child{border-top:0;padding-top:0}.window__credits li>span:first-child{color:var(--fg-faint)}.window__credits li>span:last-child{color:var(--fg)}.window__media{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px;margin-top:4px}.window__media :is(img,video){width:100%;height:auto;display:block;border:1px solid var(--hairline);background:var(--bg);filter:contrast(1.02)}.window__empty{padding:14px 0;font-size:11.5px;color:var(--fg-faint);border-top:1px dashed var(--hairline)}@media(max-width:760px){.work{padding:0 16px clamp(40px,6vw,64px)}.row__head{grid-template-columns:[client] minmax(0,1.05fr) [project] minmax(0,1fr) [tog] 34px;grid-template-rows:auto;grid-template-areas:"client project tog";padding:0;font-size:11.5px;column-gap:0;row-gap:0}.row__head>*{padding:10px;border-right:1px solid var(--hairline);border-bottom:0;height:auto}.row__year,.row__location,.row__service{display:none}.row__client{grid-area:client;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.row__project{grid-area:project;font-size:10.5px;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.row__toggle{grid-area:tog;border-right:0;font-size:13px}.row__client{padding-left:10px!important}.row__client:before{display:none}.row__project{transform:none!important}.header{padding:18px 16px 16px}.controls{right:16px}.ctrl{font-size:9.5px;padding:3px 7px}.work__footnote{font-size:11px;margin-top:22px}.footer{padding:16px;font-size:10.5px}.window{width:min(380px,calc(100vw - 32px));max-height:80dvh;font-size:12px}.window__bar{padding:5px 8px 5px 10px;font-size:11px;touch-action:none}.window__body{padding:12px 14px 16px;gap:12px}.window__desc{font-size:12px}.window__media{grid-template-columns:1fr;gap:6px}}@media(max-width:380px){.row__head{grid-template-columns:[client] minmax(0,1.05fr) [project] minmax(0,1fr) [tog] 30px}.row__head>*{padding:8px 9px}.ctrl{font-size:9px;padding:3px 6px;letter-spacing:.02em}}@media(prefers-reduced-motion:reduce){.window,.window.is-closing{animation:none}}
