@font-face{font-family:sans;src:url(../media/inter_latin_400_normal-s.p.08vufg9rbrtqu.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:sans;src:url(../media/inter_latin_500_normal-s.p.037elok7xg7ol.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:sans Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.PGWgSW_className{font-family:sans,sans Fallback}.PGWgSW_variable{--font-sans:"sans", "sans Fallback"}
@font-face{font-family:display;src:url(../media/suse_latin_300_normal-s.p.3496entpv1t7r.woff2)format("woff2");font-display:swap;font-weight:300}@font-face{font-family:display;src:url(../media/suse_latin_400_normal-s.p.113x-m-lyqtgg.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:display Fallback;src:local(Arial);ascent-override:99.37%;descent-override:28.39%;line-gap-override:0.0%;size-adjust:98.62%}.zClgxa_className{font-family:display,display Fallback}.zClgxa_variable{--font-display:"display", "display Fallback"}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
:root{--bg:#f7f8fa;--surface:#fff;--inset:#eff1f4;--ink:#0e0f12;--muted:#575c67;--faint:#686d78;--display-muted:#878c96;--line:#0e0f1214;--accent:#1f6ae6;--accent-text:#1f6ae6;--text:#383b42;--hover:#0e0f120a;--press:#0e0f1212;--glass:#ffffffeb;--side:#f4f5f7;--btn-bg:#0e0f12;--btn-fg:#fff;--placeholder:#686d78;--bar:#d6dae2;--file:#fff;--dots:#0e0f1238;--portrait-bg:linear-gradient(170deg, #eef1f6, #e2e6ee);--shadow-sm:0 1px 2px #0e0f120d, 0 2px 8px -2px #0e0f120f;--shadow:0 1px 2px #0e0f120a, 0 12px 32px -12px #0e0f121f, 0 32px 80px -40px #0e0f122e;--radius:28px;--ease:cubic-bezier(.22, 1, .36, 1);--snap:cubic-bezier(.32, .72, 0, 1);--gutter:clamp(16px, 4vw, 32px);--max:1120px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html.lenis{scroll-behavior:auto}html{-webkit-text-size-adjust:100%;interpolate-size:allow-keywords;scroll-padding-top:88px}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.55;overflow-x:clip}body:before{content:"";z-index:-1;pointer-events:none;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit}h1,h2,h3,h4,p{margin:0}button{font:inherit;color:inherit}::selection{background:var(--ink);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}.display{letter-spacing:-.042em;font-size:clamp(2.6rem,6.4vw,4.6rem);line-height:1.02}.display>span{display:block}.title{letter-spacing:-.038em;font-size:clamp(2rem,4.4vw,3.25rem);font-weight:400;line-height:1.04}.muted{color:var(--display-muted)}.lede{max-width:34rem;color:var(--muted);font-size:clamp(1rem,1.6vw,1.125rem);line-height:1.6}.body{max-width:30rem;color:var(--muted)}.body a{color:var(--ink);text-underline-offset:3px}.fine{color:var(--muted);font-size:.78rem}.btn{white-space:nowrap;height:48px;transition:transform .4s var(--ease), box-shadow .4s var(--ease), background .2s;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 26px;font-size:.94rem;text-decoration:none;display:inline-flex}.btn-dark{background:var(--btn-bg);color:var(--btn-fg);box-shadow:inset 0 1px #ffffff1f,0 8px 20px -8px #0e0f1280}.btn-dark:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff1f,0 14px 28px -10px #0e0f128c}.btn-dark:active{transform:scale(.97)}.btn-sm{height:38px;padding:0 18px;font-size:.85rem}.hero{min-height:88svh;padding:140px var(--gutter) 64px;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:22px;display:flex}.hero .display{margin-top:-6px}.hero-name{color:var(--ink);letter-spacing:-.015em;margin:10px 0 0;font-size:clamp(1.1rem,.85rem + .9vw,1.45rem);font-weight:500}.hero .lede{margin-bottom:10px}.badge{background:var(--surface);height:34px;box-shadow:var(--shadow-sm);color:var(--muted);border-radius:999px;align-items:center;gap:9px;padding:0 16px;font-size:.8rem;display:inline-flex}.badge-dot{background:#22c55e;border-radius:50%;width:7px;height:7px;animation:2.4s ease-in-out infinite pulse;box-shadow:0 0 0 3px #22c55e2e}@keyframes pulse{50%{box-shadow:0 0 0 6px #22c55e0d}}.rise{animation:rise 1.1s var(--ease) both;animation-delay:calc(var(--d,0) * 90ms + .12s)}@keyframes rise{0%{opacity:0;filter:blur(8px);transform:translateY(18px)}}[data-reveal]{opacity:0;transition:opacity .9s var(--ease), transform 1.1s var(--ease);transform:translateY(24px)}[data-reveal][data-in]{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}[data-reveal]{opacity:1;transform:none}}.skip-link{z-index:100;background:var(--btn-bg);color:var(--btn-fg);border-radius:999px;padding:10px 16px;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}main:focus{outline:none}.btn-light{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line), var(--shadow-sm)}.btn-light:hover{box-shadow:0 0 0 1px var(--line), var(--shadow);transform:translateY(-1px)}.btn-block{white-space:normal;text-align:center;width:100%;height:auto;min-height:48px;padding:12px 20px}.btn:disabled{opacity:.6;cursor:progress}.text-link{cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:.94rem;text-decoration:none;display:inline-flex}.text-link svg{transition:transform .4s var(--ease)}.text-link:hover svg{transform:translate(4px)}.hero-actions,.finale-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.intro{padding:160px var(--gutter) 56px;text-align:center;flex-direction:column;align-items:center;gap:22px;display:flex}
.nav{inset:16px var(--gutter) auto;z-index:50;pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:start;display:grid;position:fixed}.nav>*{pointer-events:auto;transition:opacity .5s var(--ease), transform .6s var(--ease)}.nav[data-visible=false]>*{opacity:0;pointer-events:none;transform:translateY(-14px)}.nav:before{content:"";z-index:-1;background:linear-gradient(var(--bg) 30%, color-mix(in srgb, var(--bg) 70%, transparent) 62%, transparent);-webkit-backdrop-filter:blur(10px);opacity:0;height:92px;transition:opacity .35s var(--ease);pointer-events:none;position:fixed;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}.nav[data-visible=true][data-scrolled=true]:before{opacity:1}.nav[data-visible=false]:focus-within>*{opacity:1;pointer-events:auto;transform:none}.nav>.btn{justify-self:end}.nav-mark{background:var(--surface);width:40px;height:40px;box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;text-decoration:none;display:grid}.nav-menu{background:var(--glass);width:104px;height:40px;box-shadow:var(--shadow-sm);border-radius:20px;overflow:hidden;transition:width .28s var(--snap), height .28s var(--snap), border-radius .28s var(--snap), box-shadow .28s var(--snap), opacity .5s var(--ease), transform .6s var(--ease)!important}.nav-menu[data-open=true]{width:200px;height:auto;box-shadow:var(--shadow);border-radius:22px;transition:width .36s var(--snap), height .36s var(--snap), border-radius .36s var(--snap), box-shadow .36s var(--snap), opacity .5s var(--ease), transform .6s var(--ease)!important}.nav-toggle{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:9px;width:104px;height:40px;margin:0 auto;font-size:.86rem;display:flex}.nav-burger,.nav-burger:before{width:13px;height:1.5px;transition:transform .3s var(--snap);background:currentColor;border-radius:2px;display:block}.nav-burger{position:relative;transform:translateY(-2.5px)}.nav-burger:before{content:"";position:absolute;top:5px}[data-open=true] .nav-burger{transform:translateY(0)rotate(45deg)}[data-open=true] .nav-burger:before{transform:translateY(-5px)rotate(-90deg)}.nav-panel{padding:2px 8px 8px;display:grid;position:relative}.nav-pill{background:var(--inset);opacity:0;pointer-events:none;height:0;transition:transform .22s var(--snap), height .22s var(--snap), opacity .15s linear;border-radius:12px;position:absolute;top:0;left:8px;right:8px}.nav-panel a{letter-spacing:-.01em;opacity:0;transition:opacity .12s linear, transform .2s var(--snap), translate .18s var(--snap);border-radius:12px;padding:9px 14px;font-size:1.05rem;text-decoration:none;display:block;position:relative;transform:translateY(-4px)}[data-open=true] .nav-panel a{opacity:1;transition:opacity .22s var(--snap) calc(40ms + var(--i) * 25ms), transform .3s var(--snap) calc(40ms + var(--i) * 25ms), translate .18s var(--snap);transform:none}.nav-panel a:hover{translate:3px}.nav-panel a:active{translate:3px 1px}.nav-toggle:active{transform:scale(.96)}.nav-toggle{transition:transform .15s var(--snap)}
.stage{padding:0 var(--gutter)}.stage-inner{max-width:980px;animation:settle 1.4s var(--ease) .6s both;margin:0 auto}@keyframes settle{0%{opacity:0;transform:translateY(60px)scale(.96)}}@supports (animation-timeline:view()){.stage-inner .window{animation:linear both tilt;animation-timeline:view();animation-range:entry cover 45%}@keyframes tilt{0%{transform:perspective(1600px)rotateX(14deg)scale(.92)}}}.window{background:var(--surface);min-height:380px;box-shadow:0 0 0 1px var(--line), var(--shadow);text-align:left;transform-origin:50% 100%;border-radius:18px;grid-template-columns:190px 1fr;display:grid;overflow:hidden}.window-side{background:var(--side);border-right:1px solid var(--line);flex-direction:column;gap:2px;padding:16px 10px;display:flex}.lights{gap:7px;padding:2px 8px 18px;display:flex}.lights span{background:#ff5f57;border-radius:50%;width:11px;height:11px}.lights span:nth-child(2){background:#febc2e}.lights span:nth-child(3){background:#28c840}.side-label{color:var(--faint);padding:12px 10px 4px;font-size:.75rem;font-weight:500}.side-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;height:30px;padding:0 10px;font-size:.82rem;transition:background .2s;display:flex}.side-item:hover{background:var(--hover)}.side-item[aria-pressed=true]{background:var(--press)}.side-static{cursor:default;color:var(--muted)}.side-dot{background:#5aa9f8;border-radius:2px 3px 3px;width:12px;height:10px}.window-main{flex-direction:column;min-width:0;display:flex}.window-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:52px;padding:0 18px;font-size:.82rem;display:flex}.crumbs{color:var(--muted)}.crumbs strong{color:var(--ink);font-weight:500}.bar-pill{background:var(--inset);border-radius:999px;gap:4px;padding:7px 10px;display:flex}.bar-pill span{background:var(--bar);border-radius:2px;width:14px;height:4px}.tiles{flex:1;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-content:start;gap:10px;margin:0;padding:26px 22px;list-style:none;display:grid}.tiles li{animation:pop .6s var(--ease) both;animation-delay:calc(var(--i) * 35ms)}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.96)}}.tile{cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-rows:86px auto auto;place-items:center;gap:4px;width:100%;padding:12px 6px 10px;transition:background .15s;display:grid}.tile:hover{background:var(--hover)}.tile[aria-pressed=true]{background:#2f7bf61a}.tile[aria-pressed=true] .tile-name{background:var(--accent);color:#fff}.tile-name{border-radius:4px;margin-top:6px;padding:1px 6px;font-size:.78rem;line-height:1.35}.tile-meta{color:var(--faint);font-size:.75rem}.ico{width:64px;height:52px;display:block;position:relative}.ico-folder{background:linear-gradient(#7cc0ff,#4ea2f5);border-radius:6px;margin-top:6px;box-shadow:inset 0 1px #ffffff80}.ico-folder:before{content:"";z-index:-1;background:#5aa9f8;border-radius:4px 6px 0 0;width:26px;height:10px;position:absolute;top:-6px;left:0}.ico-file{background:var(--file);border-radius:4px 14px 4px 4px;width:46px;height:58px;box-shadow:0 0 0 1px #0e0f121a,0 2px 6px -2px #0e0f1226}.ico-file i{background:repeating-linear-gradient(#dfe2e7 0 2px,#0000 2px 6px);height:22px;position:absolute;inset:16px 9px auto}.ico-pdf i{background:#ef4444;border-radius:3px;height:14px;inset:auto 8px 8px}.ico-image{overflow:hidden}.ico-image i{background:linear-gradient(160deg,#fbd38d,#f6866a 55%,#6b5bd6);border-radius:2px;height:auto;inset:6px}.ico-app{background:linear-gradient(145deg,#22232a,#0e0f12);border-radius:13px;width:52px;height:52px}.ico-app i{background:conic-gradient(#6ee7b7,#60a5fa,#c084fc,#6ee7b7);border-radius:50%;height:auto;inset:14px}.window-status{border-top:1px solid var(--line);color:var(--faint);padding:10px 18px;font-size:.75rem}@media (max-width:720px){.window{grid-template-columns:1fr;min-height:0}.window-side{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;padding:12px;overflow-x:auto}.side-label,.side-static{display:none}.lights{padding:0 10px 0 4px}.tiles{grid-template-columns:repeat(3,1fr);padding:12px}.ico{transform:scale(.82)}.tile{grid-template-rows:64px auto auto}.tile .ico-thumb{width:92px;height:58px}.tile-name{font-size:.75rem}}a.side-item{color:var(--muted);text-decoration:none}.ico-thumb{align-items:center;width:128px;height:80px;display:grid}.ico-thumb-media{border-radius:8px;width:100%;display:block;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0e0f1214,0 4px 10px -4px #0e0f1240}.ico-thumb img{object-fit:contain}.window-status{justify-content:space-between;gap:16px;display:flex}.window-status span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.window-status a{color:var(--ink);text-underline-offset:3px;flex:none}.stage-inner{perspective:1400px}.tilt{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;will-change:transform;position:relative}.tilt-glare{background:radial-gradient(600px circle at var(--gx,50%) var(--gy,50%), #ffffff59, transparent 45%);opacity:0;pointer-events:none;mix-blend-mode:soft-light;transition:opacity .5s var(--ease);border-radius:18px;position:absolute;inset:0}.tilt[data-active] .tilt-glare{opacity:1}
.block{max-width:var(--max);padding:clamp(88px, 12vw, 160px) var(--gutter) 0;margin:0 auto}.center-head{text-align:center;justify-items:center;gap:18px;margin-bottom:56px;display:grid}.cards{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.card{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.project-card{transition:box-shadow .5s var(--ease);animation:pop .8s var(--ease) both;animation-delay:calc(var(--i) * 70ms);flex-direction:column;display:flex;overflow:hidden}.project-card:hover{box-shadow:var(--shadow)}.card-media{aspect-ratio:8/3;border-radius:calc(var(--radius) - 10px);background:var(--inset);cursor:pointer;border:0;margin:10px 10px 0;padding:0;display:block;position:relative;overflow:hidden}.card-media img{object-fit:cover;transition:transform 1s var(--ease)}.card-media[data-tone=light],.case-media[data-tone=light]{background:linear-gradient(135deg,#eef3ff,#e3ebfd)}.card-media[data-tone=light] img,.case-media[data-tone=light] img{mix-blend-mode:multiply}.card-media[data-tone=light]:after,.case-media[data-tone=light]:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #2c64ed1f}.project-card:hover .card-media img{transform:scale(1.04)}.card-hover{background:var(--glass);opacity:0;transition:opacity .4s var(--ease), transform .5s var(--ease);border-radius:999px;padding:7px 14px;font-size:.78rem;position:absolute;bottom:14px;right:14px;transform:translateY(6px)}.project-card:hover .card-hover,.card-media:focus-visible .card-hover{opacity:1;transform:none}.card-copy{flex-direction:column;flex:1;padding:24px 28px 28px;display:flex}.card-kind{color:var(--muted);margin-bottom:8px;font-size:.82rem}.card h3,.card-title{letter-spacing:-.025em;font-size:clamp(1.3rem,2.2vw,1.55rem);font-weight:400;line-height:1.18}.title-button{font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.card-desc{color:var(--muted);margin-top:10px}.card-meta{color:var(--faint);flex-wrap:wrap;gap:6px 16px;margin-top:auto;padding-top:20px;font-size:.8rem;display:flex}.soon{color:var(--faint);margin-top:18px;font-size:.82rem;display:inline-block}.segmented{background:var(--surface);box-shadow:var(--shadow-sm);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.segmented button,.segmented a{height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:.86rem;text-decoration:none;transition:background .25s,color .25s;display:inline-flex}.segmented button span,.segmented a span{color:var(--faint);font-size:.75rem}.segmented [aria-pressed=true],.segmented [aria-current=page]{background:var(--inset);color:var(--ink)}.subnav{width:max-content;max-width:calc(100% - 2 * var(--gutter));margin:0 auto;display:flex;overflow-x:auto}.center-link{flex-direction:column;align-items:center;gap:8px;margin-top:40px;display:flex}.about-teaser{grid-template-columns:minmax(0,.85fr) 1fr;align-items:center;gap:clamp(32px,6vw,80px);display:grid}.section-head{align-content:start;gap:18px;display:grid}.portrait{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);margin:0;padding:10px}.portrait-frame{border-radius:calc(var(--radius) - 10px);background:var(--portrait-bg);overflow:hidden}.portrait img{width:100%;height:auto;display:block}.portrait-frame[data-crop] img{aspect-ratio:4/5;object-fit:cover}.about-story{align-content:center;gap:28px;display:grid}.portrait figcaption{justify-content:space-between;gap:12px;padding:14px 10px 6px;font-size:.86rem;display:flex}.portrait-status{color:var(--muted);align-items:center;gap:8px;display:inline-flex}.portrait-status i{background:#22c55e;border-radius:50%;width:7px;height:7px}.numbers{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.numbers li{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--muted);border-radius:22px;align-content:start;gap:12px;padding:28px 24px;font-size:.9rem;display:grid}.numbers li:nth-child(2){transition-delay:60ms}.numbers li:nth-child(3){transition-delay:.12s}.numbers-value{color:var(--ink);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(2rem,3.6vw,2.75rem);line-height:1}.links{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:20px;display:grid}.link-card{background:var(--surface);box-shadow:var(--shadow-sm);letter-spacing:-.015em;border-radius:22px;justify-content:space-between;align-items:center;gap:16px;padding:24px 24px 24px 28px;font-size:1.15rem;text-decoration:none;display:flex}.link-card small{color:var(--muted);letter-spacing:0;margin-bottom:4px;font-size:.8rem;display:block}.circle{background:var(--surface);width:40px;height:40px;box-shadow:0 0 0 1px var(--line), var(--shadow-sm);transition:transform .5s var(--ease), background .3s, color .3s;border-radius:50%;flex:none;place-items:center;display:grid}.link-card em{color:var(--muted);letter-spacing:0;margin-top:6px;font-size:.88rem;font-style:normal;display:block}.link-card:hover .circle{background:var(--btn-bg);color:var(--btn-fg);transform:translate(4px)}.split{grid-template-columns:1fr 1.15fr;gap:64px;display:grid}.split-head{align-self:start;gap:18px;display:grid;position:sticky;top:120px}.steps{margin:0;padding:0;list-style:none}.steps li{border-top:1px solid var(--line);grid-template-columns:52px 1fr;padding:30px 0;display:grid}.steps li h3{color:var(--muted);transition:color .5s var(--ease)}.steps li[data-active=true] h3{color:var(--ink)}.steps li .step-num{transition:color .5s var(--ease)}.steps li[data-active=true] .step-num{color:var(--accent-text)}.step-num{color:var(--faint);font-variant-numeric:tabular-nums;padding-top:5px;font-size:.8rem}.steps h3{letter-spacing:-.02em;margin-bottom:8px;font-size:1.4rem;font-weight:400}.steps p{color:var(--muted)}.steps .step-label{color:var(--faint);margin-bottom:6px;font-size:.8rem}@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr);gap:32px}.split-head{position:static}.about-teaser{grid-template-columns:1fr}.portrait{max-width:420px}}@media (max-width:720px){.cards,.links,.numbers{grid-template-columns:1fr}.numbers li{padding:22px 18px}.card-copy{padding:24px}}
.block-tight{padding-top:40px}.case{border-radius:var(--radius);background:var(--surface);width:min(880px,100% - 24px);max-height:calc(100dvh - 48px);color:var(--ink);box-shadow:var(--shadow);border:0;padding:0}.case[open]{animation:case-in .5s var(--ease)}.case::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e0f1252}@keyframes case-in{0%{opacity:0;transform:translateY(24px)scale(.98)}}.case-inner{gap:20px;padding:clamp(20px,4vw,40px);display:grid}.case-bar{justify-content:space-between;align-items:center;display:flex}.case-bar .card-kind{margin:0}.case-close{background:var(--inset);cursor:pointer;border:0;border-radius:999px;height:34px;padding:0 14px;font-size:.82rem}.case-media{background:var(--inset);border-radius:18px;width:100%;height:auto;display:block;position:relative;overflow:hidden}.case-media img{object-fit:cover}.case-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.case-facts div{background:var(--inset);border-radius:14px;padding:14px 16px}.case-facts dt,.case-sections h3{color:var(--muted);margin-bottom:4px;font-size:.78rem;font-weight:400}.case-facts dd{overflow-wrap:anywhere;margin:0;font-size:.92rem}.case-sections{gap:22px;display:grid}.case-sections p{color:var(--text)}.case-steps{gap:8px;margin:6px 0 0;padding:0;list-style:none;display:grid}.case-steps li{background:var(--inset);border-radius:12px;gap:14px;padding:12px 16px;display:flex}.case-steps span{color:var(--faint);font-variant-numeric:tabular-nums;font-size:.8rem}.case-links{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.case-material,.case-samples{gap:12px;min-width:0;display:grid}.case-material h3,.case-samples h3{font-size:1rem;font-weight:500}.case-material-links{flex-wrap:wrap;gap:12px;display:flex}.case-material-links .btn{white-space:normal;text-align:center;max-width:100%}.case-gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.case-gallery figure{min-width:0;margin:0}.case-gallery a{background:var(--inset);border-radius:10px;display:block}.case-gallery img{border-radius:10px;width:100%;height:auto;display:block}.case-gallery figcaption{color:var(--muted);margin-top:8px;font-size:.8rem;line-height:1.5}.case-source{overflow-wrap:anywhere}@media (max-width:640px){.case-gallery{grid-template-columns:1fr}}.collage{column-count:3;column-gap:16px}.photo{break-inside:avoid;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);transition:opacity .9s var(--ease), transform 1.1s var(--ease), translate .5s var(--snap), box-shadow .5s var(--snap);margin:0 0 16px;padding:10px;display:block}.photo:hover{box-shadow:var(--shadow);translate:0 -3px}.photo-frame{border-radius:calc(var(--radius) - 10px);background:var(--inset);overflow:hidden}.photo-frame img{width:100%;height:auto;transition:transform .9s var(--ease);display:block}.photo figcaption{color:var(--muted);padding:12px 8px 4px;font-size:.875rem;line-height:1.5}.photo:hover .photo-frame img{transform:scale(1.03)}.chips{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chips>*{background:var(--surface);box-shadow:0 0 0 1px var(--line), var(--shadow-sm);border-radius:999px;padding:8px 16px;font-size:.88rem}.chips-left{justify-content:flex-start}@media (max-width:860px){.collage{column-count:2}}.case[open] .case-media{view-transition-name:case-hero}::view-transition-group(case-hero){animation-duration:.55s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(case-hero){object-fit:cover;height:100%;animation-duration:.55s}::view-transition-new(case-hero){object-fit:cover;height:100%;animation-duration:.55s}::view-transition-old(root){animation-duration:.35s}::view-transition-new(root){animation-duration:.35s}[data-morph] .case[open]{animation:none}@media (max-width:560px){.collage{column-count:1}}
.video{max-width:900px;margin:0 auto}.video-screen{aspect-ratio:16/9;color:#fff;box-shadow:var(--shadow);background:radial-gradient(120% 90% at 50% 0,#2a2d36,#0e0f12 70%);border-radius:20px;align-content:center;place-items:center;gap:16px;display:grid;position:relative;overflow:hidden}.video-bar{align-items:center;gap:7px;padding:14px 16px;display:flex;position:absolute;top:0;left:0;right:0}.video-bar span{background:#ffffff38;border-radius:50%;width:10px;height:10px}.video-bar em{color:#ffffff80;margin-left:10px;font-size:.76rem;font-style:normal}.video-play{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff24;border-radius:50%;place-items:center;width:64px;height:64px;display:grid;box-shadow:inset 0 0 0 1px #ffffff2e}.video-screen p{color:#ffffffb8;font-size:.94rem}.video-track{background:#ffffff29;border-radius:2px;height:3px;position:absolute;bottom:18px;left:20px;right:20px}.video-track span{border-radius:inherit;background:#fff;width:18%;height:100%;display:block}.video figcaption{max-width:34rem;color:var(--muted);text-align:center;gap:4px;margin:20px auto 0;font-size:.9rem;display:grid}.video figcaption strong{color:var(--ink);font-weight:500}.data-card{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:clamp(24px,4vw,48px);display:grid}.data-card .title{margin-bottom:16px}.data-frame{background:var(--inset);border-radius:18px;align-items:flex-end;gap:10px;height:240px;padding:24px 24px 40px;display:flex;position:relative}.data-frame span{background:var(--bar);border-radius:6px 6px 2px 2px;flex:1}.data-frame span:nth-child(6){background:var(--ink)}[data-in] .data-frame span{animation:grow 1s var(--ease) both;animation-delay:calc(var(--i) * 70ms + .2s)}@keyframes grow{0%{transform:scaleY(.1)}}.data-frame span{transform-origin:bottom}.data-frame em{color:var(--faint);font-size:.75rem;font-style:normal;position:absolute;bottom:14px;left:24px}.video-frame{border:0;width:100%;height:100%;position:absolute;inset:0}.video-start{color:#fff;cursor:pointer;background:0 0;border:0;place-content:center;justify-items:center;gap:12px;font-size:1rem;display:grid;position:absolute;inset:0}.video-start:hover .video-play{transform:scale(1.06)}.video-play{transition:transform .4s var(--ease)}.video-note{color:#ffffffb8;font-size:.8rem}.transcript{text-align:left;margin-top:10px}.transcript summary{color:var(--ink);cursor:pointer;font-size:.88rem}.c-case-data{padding:0 var(--c-gutter) 72px}@media (max-width:700px){.c-case-data{padding-inline:14px}}@media (max-width:860px){.data-card{grid-template-columns:1fr}}
.ig{--ig-accent:#f4be4f;--ig-line:#ffffff29;--ig-muted:#b4b4b9;border:1px solid var(--ig-line);color:#fff;background:#030303;border-radius:6px;grid-template-columns:minmax(0,1fr);gap:clamp(40px,6vw,80px);padding:clamp(24px,5vw,72px);display:grid}.ig button,.ig input{font:inherit}.ig :focus-visible{outline:2px solid var(--ig-accent);outline-offset:3px}.ig-kind{color:var(--ig-accent);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.74rem}.ig-title{letter-spacing:-.045em;margin:10px 0 0;font-size:clamp(2.6rem,7vw,5.4rem);line-height:.98}.ig-stats{border-block:1px solid var(--ig-line);grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 32px;margin:0;padding:32px 0;display:grid}.ig-stats dt{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(2.2rem,5vw,4rem);line-height:1}.ig-stats dt:after{background:var(--ig-accent);content:"";border-radius:2px;width:36px;height:3px;margin-top:16px;display:block}.ig-stats dd{color:var(--ig-muted);margin:12px 0 0;font-size:.9rem;line-height:1.45}.ig-block{gap:18px;display:grid}.ig-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ig-head h3{letter-spacing:-.02em;margin:0;font-size:clamp(1.3rem,2.4vw,1.8rem)}.ig-note{max-width:70ch;color:var(--ig-muted);margin:0;font-size:.86rem;line-height:1.55}.ig-toggle{border:1px solid var(--ig-line);border-radius:999px;padding:3px;display:inline-flex}.ig-toggle button,.ig-play{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:36px;padding:0 16px;font-size:.84rem;transition:background .25s,color .25s}.ig-play{border:1px solid var(--ig-line)}.ig-toggle button[aria-pressed=true],.ig-play[aria-pressed=true]{background:var(--ig-accent);color:#000}.ig-toggle button:hover:not([aria-pressed=true]),.ig-play:hover:not([aria-pressed=true]){background:#ffffff1a}[data-channel=print]{--c:#f4be4f}[data-channel=digital]{--c:#f0a03c}[data-channel=social]{--c:#e8803f}[data-channel=events]{--c:#de6044}[data-channel=pr]{--c:#cc4a56}.ig-stack{gap:3px;height:64px;display:flex}.ig-stack span{background:var(--c);transform-origin:0;border-radius:4px;min-width:0;transition:opacity .25s,transform .25s}.ig-stack span:hover{transform:scaleY(1.08)}.ig-rows{margin:0;padding:0;list-style:none;display:grid}.ig-row{border:0;border-bottom:1px solid var(--ig-line);color:#fff;text-align:left;cursor:pointer;background:0 0;grid-template-columns:minmax(120px,26%) 1fr 6.5em;align-items:center;gap:16px;width:100%;padding:14px 4px;font-size:1rem;transition:opacity .25s;display:grid}.ig-row[aria-pressed=true]{background:#ffffff0f}.ig-track{background:#ffffff1a;border-radius:999px;height:14px;overflow:hidden}.ig-fill{border-radius:inherit;background:var(--c);transform-origin:0;height:100%;display:block}.ig-row-value{font-variant-numeric:tabular-nums;text-align:right}[data-dim]{opacity:.28}.ig-readout{min-height:3.2em;color:var(--ig-muted);margin:0;font-size:.95rem;line-height:1.6}.ig-readout strong{color:#fff;font-weight:500}.ig-calendar{gap:4px;display:grid}.ig-cal-head,.ig-cal-row{grid-template-columns:10rem repeat(12,minmax(0,1fr));align-items:center;gap:4px;transition:opacity .25s;display:grid}.ig-month{color:var(--ig-muted);letter-spacing:.06em;text-align:center;text-transform:uppercase;font-size:.72rem;transition:color .25s}.ig-month[data-now]{color:#fff}.ig-cal-label{padding-right:8px;font-size:.86rem}.ig-cell{border-radius:4px;height:36px;transition:transform .25s,outline-color .25s}.ig-cell[data-level="0"]{border:1px dashed var(--ig-line)}.ig-cell[data-level="1"]{background:#f4be4f47}.ig-cell[data-level="2"]{background:#f4be4f9e}.ig-cell[data-level="3"]{background:var(--ig-accent);box-shadow:0 0 20px #f4be4f59}.ig-cell[data-now]{outline-offset:2px;outline:2px solid #fff;transform:scale(1.08)}.ig-scrub{grid-template-columns:auto 1fr 7rem;align-items:center;gap:16px;font-size:.86rem;display:grid}.ig-scrub output{text-align:right;font-size:1rem}.ig-scrub input{width:100%;accent-color:var(--ig-accent);cursor:pointer}.ig-tables{font-size:.9rem}.ig-tables summary{cursor:pointer}.ig-tables table{border-collapse:collapse;width:100%;margin-top:16px}.ig-tables caption{color:var(--ig-muted);text-align:left;padding-bottom:8px}.ig-tables th,.ig-tables td{border-bottom:1px solid var(--ig-line);text-align:left;padding:8px 10px}.ig-scroll{overflow-x:auto}.ig-source{color:var(--ig-muted);font-size:.82rem;line-height:1.55}.ig-source strong{color:#fff;font-weight:500}.ig-source p{margin:6px 0 0}.ig-source a{overflow-wrap:anywhere;color:#fff;text-underline-offset:3px}@media (prefers-reduced-motion:no-preference){html:not([data-motion=paused]) [data-in] .ig-stack span,html:not([data-motion=paused]) [data-in] .ig-fill{animation:ig-grow .9s var(--ease,ease) both;animation-delay:calc(var(--i,0) * 80ms)}html:not([data-motion=paused]) [data-in] .ig-cell{animation:ig-pop .5s var(--ease,ease) both;animation-delay:calc(var(--i) * 45ms + .2s)}@keyframes ig-grow{0%{transform:scaleX(0)}}@keyframes ig-pop{0%{opacity:0;transform:scale(.5)}}}@media (max-width:860px){.ig-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ig-row{grid-template-columns:1fr auto;gap:8px 12px}.ig-track{grid-area:2/1/auto/-1}.ig-cal-head,.ig-cal-row{grid-template-columns:5rem repeat(12,minmax(0,1fr));gap:3px}.ig-cal-label{font-size:.7rem;line-height:1.2}.ig-cell{height:26px}.ig-month{font-size:0}.ig-month:after{content:attr(data-short);font-size:.68rem}.ig-scrub{grid-template-columns:1fr auto}.ig-scrub span{display:none}}@media (max-width:700px){.ig{padding:24px 18px}.ig-stats{gap:24px 16px}.ig-stats dt{font-size:1.7rem}}
.ct{--ct-accent:#fff;--ct-line:#ffffff29;--ct-muted:#b4b4b9;padding:170px var(--c-gutter) 96px}.ct :focus-visible{outline:2px solid var(--ct-accent);outline-offset:3px}.ct-head{margin:0 0 64px}.ct-head h1{letter-spacing:-.06em;margin:24px 0 28px;font-size:clamp(4rem,9vw,9rem);line-height:.9}.ct-head h1 span{color:#a3a3a8}.ct-head h1 i{color:var(--ct-accent);font-style:normal}.ct-head>p:not(.c-label){max-width:34ch;color:var(--ct-muted);margin:0;font-size:1.05rem;line-height:1.55}.ct-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(32px,5vw,72px);display:grid}.ct-photo{aspect-ratio:4/5;border:1px solid var(--ct-line);background:#0b0b0c;border-radius:6px;margin:0;position:relative;overflow:hidden}.ct-photo img{object-fit:cover;object-position:center 18%;transition:transform 1.2s var(--ease,ease)}.ct-photo:hover img{transform:scale(1.03)}.ct-photo figcaption{color:#fff;background:linear-gradient(#0000,#000000d1);gap:2px;padding:56px 22px 20px;display:grid;position:absolute;inset:auto 0 0}.ct-photo strong{font-size:1.1rem;font-weight:500}.ct-photo figcaption span{color:#d4d4d8;font-size:.82rem}.ct-facts{gap:12px;margin-top:32px;display:grid}.ct-facts .c-label{margin:12px 0 0}.ct-facts .c-label:first-child{margin-top:0}.ct-email{flex-wrap:wrap;align-items:center;gap:12px 14px;display:flex}.ct-email a{overflow-wrap:anywhere;color:#fff;text-underline-offset:5px;font-size:clamp(1.05rem,1.7vw,1.35rem);text-decoration-color:#ffffff59}.ct-email a:hover{-webkit-text-decoration-color:var(--ct-accent);text-decoration-color:var(--ct-accent)}.ct-copy{border:1px solid var(--ct-line);color:#fff;min-height:32px;font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:0 14px;font-size:.8rem;transition:background .25s,color .25s,border-color .25s}.ct-copy:hover{border-color:var(--ct-accent);color:var(--ct-accent)}.ct-social{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ct-social a{border:1px solid var(--ct-line);color:#fff;min-height:40px;transition:transform .3s var(--ease,ease), border-color .25s, background .25s;border-radius:6px;align-items:center;gap:8px;padding:0 16px;font-size:.86rem;text-decoration:none;display:inline-flex}.ct-social a:hover{border-color:var(--ct-accent);background:#ffffff14;transform:translateY(-2px)}.ct-panel{border:1px solid var(--ct-line);background:#0b0b0c;border-radius:6px;padding:clamp(24px,4vw,48px);box-shadow:0 30px 80px #00000080}.ct-panel h2{letter-spacing:-.03em;margin:0 0 28px;font-size:clamp(1.6rem,3vw,2.2rem)}.ct-panel .contact-form{gap:22px}.form-topics{gap:10px;display:grid}.form-topics p{color:var(--ct-muted);margin:0;font-size:.86rem}.form-topics div{flex-wrap:wrap;gap:8px;display:flex}.form-topics button{border:1px solid var(--ct-line);color:#fff;min-height:38px;font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:0 16px;font-size:.86rem;transition:background .25s,color .25s,border-color .25s}.form-topics button:hover{border-color:var(--ct-accent)}.form-topics button[aria-pressed=true]{border-color:var(--ct-accent);background:var(--ct-accent);color:#000}.ct-panel .form-field label{color:#fff}.ct-panel .form-field label span{color:var(--ct-accent)}.ct-panel .form-field input,.ct-panel .form-field textarea{border:1px solid var(--ct-line);box-shadow:none;color:#fff;background:#ffffff0a;border-radius:6px;padding:14px 16px}.ct-panel .form-field input::placeholder,.ct-panel .form-field textarea::placeholder{color:#8d8d93}.ct-panel .form-field input:focus,.ct-panel .form-field textarea:focus{border-color:var(--ct-accent);background:#ffffff12;outline:0;box-shadow:0 0 0 3px #ffffff38}.ct-panel .form-field [aria-invalid=true]{box-shadow:none;border-color:#ff7b7b}.ct-panel .field-error{color:#ff9a9a}.ct-panel .form-submit{gap:18px;display:grid}.ct-panel .form-submit p{max-width:none;color:var(--ct-muted)}.ct-panel .form-submit a{color:#fff}.ct-panel .form-submit button{background:var(--ct-accent);color:#000;min-width:180px;min-height:50px;font:inherit;cursor:pointer;transition:transform .3s var(--ease,ease), box-shadow .3s;border:0;border-radius:6px;justify-self:start;font-weight:500}.ct-panel .form-submit button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 30px #fff3}.ct-panel .form-submit button:disabled{opacity:.6;cursor:progress}@media (max-width:1050px){.ct{padding-top:140px}.ct-grid{grid-template-columns:minmax(0,1fr)}.ct-photo{aspect-ratio:16/11}.ct-photo img{object-position:center 22%}}@media (max-width:700px){.ct-head{margin-bottom:40px}.ct-panel .form-pair{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.ct-photo img,.ct-social a,.ct-panel .form-submit button{transition:none}.ct-photo:hover img,.ct-social a:hover,.ct-panel .form-submit button:hover:not(:disabled){transform:none}}
.favs{justify-items:center;gap:28px;display:grid}.favs-tabs{background:var(--surface);max-width:100%;box-shadow:var(--shadow-sm);scrollbar-width:none;border-radius:999px;padding:4px;display:inline-flex;position:relative;overflow-x:auto}.favs-pill{background:var(--btn-bg);transition:transform .3s var(--snap), width .3s var(--snap);border-radius:999px;position:absolute;top:4px;bottom:4px;left:0}.favs-tabs button{height:38px;color:var(--muted);white-space:nowrap;cursor:pointer;transition:color .25s var(--snap);background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-size:.9rem;display:inline-flex;position:relative}.favs-tabs button:hover{color:var(--ink)}.favs-tabs button[aria-selected=true]{color:var(--btn-fg)}.favs-count{background:color-mix(in srgb, currentColor 18%, transparent);border-radius:999px;min-width:20px;padding:1px 6px;font-size:.75rem}.favs-panel{width:100%;animation:favs-in .35s var(--snap)}.favs-panel:focus-visible{outline-offset:8px}@keyframes favs-in{0%{opacity:0;transform:translateY(8px)}}.favs-verb{color:var(--muted);text-align:center;margin-bottom:16px;font-size:.86rem}.favs-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.fav{animation:favs-in .4s var(--snap) both;animation-delay:calc(var(--i) * 40ms)}.fav-inner{background:var(--surface);height:100%;box-shadow:var(--shadow-sm);color:inherit;transition:translate .35s var(--snap), box-shadow .35s var(--snap);border-radius:20px;align-items:flex-start;gap:16px;padding:16px;text-decoration:none;display:flex}a.fav-inner:hover{box-shadow:var(--shadow);translate:0 -3px}.fav-cover{color:#fff;letter-spacing:-.04em;border-radius:10px;flex:none;place-items:center;width:56px;height:72px;font-size:1.6rem;display:grid;box-shadow:inset 0 1px #ffffff4d,0 6px 14px -6px #0e0f1266}.fav-text{gap:3px;min-width:0;display:grid}.fav-title{letter-spacing:-.01em;font-size:1rem}.fav-by{color:var(--muted);font-size:.84rem}.fav-note{color:var(--text);margin-top:4px;font-size:.88rem;line-height:1.45}.fav-link{color:var(--muted);transition:translate .3s var(--snap);margin-left:auto}a.fav-inner:hover .fav-link{color:var(--ink);translate:3px}.favs-empty{border:1.5px dashed var(--line);max-width:460px;color:var(--muted);border-radius:20px;align-items:center;gap:18px;margin:0 auto;padding:18px 22px;display:flex}.favs-empty strong{color:var(--ink);font-weight:500}.favs-empty-cover{background:var(--inset);width:44px;height:56px;color:var(--muted);box-shadow:none}
.story-block{max-width:var(--max);padding:clamp(88px, 12vw, 160px) var(--gutter) 0;margin:0 auto}.story{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);display:grid}.story-visual{align-self:start;position:sticky;top:max(96px,50vh - 200px)}.story-frame{aspect-ratio:16/10;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);position:relative;overflow:hidden}.story-layer{border-radius:calc(var(--radius) - 10px);background:var(--inset);opacity:0;filter:blur(6px);transition:opacity .7s var(--ease), transform .9s var(--ease), filter .7s var(--ease);position:absolute;inset:10px;overflow:hidden;transform:scale(.96)translateY(14px)}.story-layer[data-on=true]{opacity:1;filter:none;transform:none}.story-layer img,.story-layer video{object-fit:cover;width:100%;height:100%}.story-build,.story-result{flex-direction:column;justify-content:center;gap:18px;padding:clamp(20px,4vw,40px);display:flex}.story-build ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.story-build li{background:var(--surface);box-shadow:var(--shadow-sm);opacity:0;transition:opacity .5s var(--ease), transform .6s var(--ease);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-size:.92rem;display:flex;transform:translate(-10px)}.story-build[data-on=true] li{opacity:1;transition-delay:calc(var(--i) * .12s + .2s);transform:none}.check{background:#22c55e;border-radius:50%;flex:none;width:20px;height:20px;position:relative}.check:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:4px;left:7px;transform:rotate(45deg)}.story-stack{flex-wrap:wrap;gap:6px;display:flex}.story-stack span{background:var(--surface);box-shadow:0 0 0 1px var(--line);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:.8rem}.story-result{background:radial-gradient(120% 80% at 100% 0%, #8b5cf629, transparent 60%), radial-gradient(90% 70% at 0% 100%, #4285f424, transparent 60%), var(--inset);align-items:flex-start}.story-live{background:var(--surface);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.8rem;display:inline-flex}.story-live i{background:#22c55e;border-radius:50%;width:7px;height:7px;animation:2.4s ease-in-out infinite pulse}.story-result-title{letter-spacing:-.04em;font-size:clamp(2rem,4vw,3rem);line-height:1}.story-dots{justify-content:center;gap:6px;margin-top:16px;display:flex}.story-dots span{background:var(--faint);opacity:.5;width:6px;height:6px;transition:width .5s var(--ease), opacity .4s, background .4s;border-radius:999px}.story-dots span[data-on=true]{background:var(--ink);opacity:1;width:22px}.story-steps{margin:0;padding:0;list-style:none}.story-steps li{flex-direction:column;justify-content:center;gap:12px;min-height:72vh;display:flex}.story-steps h3{color:var(--muted);transition:color .5s var(--ease)}.story-steps li[data-active=true] h3{color:var(--ink)}.story-steps .step-label{color:var(--faint);font-size:.82rem}.story-steps h3{letter-spacing:-.03em;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:400;line-height:1.12}.story-steps li[data-active=true] .step-label{color:var(--accent-text)}.story-steps p:not(.step-label){max-width:30rem;color:var(--muted)}.story-steps .btn{align-self:flex-start;margin-top:8px}@media (max-width:860px){.story{grid-template-columns:minmax(0,1fr);gap:0}.story-visual{z-index:2;background:linear-gradient(var(--bg) 85%, transparent);padding-bottom:8px;top:76px}.story-frame{aspect-ratio:16/9}.story-dots{margin-top:10px}.story-steps li{min-height:60vh}}
.contact{grid-template-columns:1.4fr 1fr;align-items:start;gap:24px;display:grid}.contact-card{padding:clamp(24px,4vw,40px)}.contact-card .card-title{margin-bottom:24px}.contact-aside{gap:20px;display:grid}.contact-details{gap:6px;padding:24px 28px;display:grid}.contact-details .card-kind{margin:14px 0 2px}.contact-details .card-kind:first-child{margin-top:0}.contact-details p:not(.card-kind){color:var(--muted);font-size:.92rem}.contact-form{gap:18px;display:grid}.form-pair{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-field{gap:8px;display:grid}.form-field label{font-size:.86rem}.form-field label span{color:var(--faint)}.form-field input,.form-field textarea{background:var(--inset);width:100%;color:var(--ink);font:inherit;border:0;border-radius:14px;padding:13px 16px;transition:box-shadow .25s,background .25s;box-shadow:inset 0 0 0 1px #0000}.form-field textarea{resize:vertical}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--placeholder)}.form-field input:focus,.form-field textarea:focus{background:var(--surface);box-shadow:0 0 0 1px var(--ink) inset, 0 0 0 4px #0e0f120f;outline:none}.form-field [aria-invalid=true]{box-shadow:inset 0 0 0 1px #d93a3a}.field-error{color:#c02929;font-size:.82rem}.honeypot{position:absolute;left:-9999px}.form-submit{justify-content:space-between;align-items:center;gap:20px;display:flex}.form-submit p{max-width:22rem;color:var(--muted);font-size:.8rem}.form-submit a{color:var(--ink)}.form-result:empty{display:none}.form-result{background:var(--inset);border-radius:12px;padding:12px 16px;font-size:.9rem}.form-result.success{color:#146c3a;background:#e8f7ee}.form-result.error{color:#a12323;background:#fdecec}.resume{grid-template-columns:280px 1fr;align-items:start;gap:24px;display:grid}.resume-aside{position:sticky;top:88px}.resume-card{gap:16px;padding:24px;display:grid}.resume-name{letter-spacing:-.02em;font-size:1.15rem}.resume-nav{border-top:1px solid var(--line);gap:2px;padding-top:12px;display:grid}.resume-nav a{color:var(--muted);border-radius:10px;padding:7px 10px;font-size:.88rem;text-decoration:none;transition:background .2s,color .2s}.resume-nav a:hover{background:var(--inset);color:var(--ink)}.resume-content{gap:20px;display:grid}.resume-section{padding:clamp(24px,4vw,40px);scroll-margin-top:88px}.resume-section .card-title{margin-bottom:8px}.entry{border-bottom:1px solid var(--line);gap:6px;padding:22px 0;display:grid}.entry:last-of-type{margin-bottom:18px}.entry-head{flex-wrap:wrap;justify-content:space-between;gap:4px 16px;display:flex}.entry h3,.skill-group h3,.cert-heading{letter-spacing:-.01em;font-size:1rem;font-weight:500}.entry-head span,.entry-org{color:var(--muted);font-size:.86rem}.entry p:not(.entry-org),.entry li{color:var(--text);font-size:.94rem}.entry ul{gap:6px;margin:4px 0 0;padding-left:18px;display:grid}.skill-group{gap:12px;padding:18px 0;display:grid}.cert-heading{margin-top:18px}.certs{gap:12px;margin:12px 0 0;display:grid}.certs div{background:var(--inset);border-radius:14px;padding:14px 16px}.certs dt{font-size:.92rem}.certs dd{color:var(--muted);margin:2px 0 0;font-size:.86rem}.prose{gap:20px;max-width:760px;margin:0 auto;display:grid}.prose-card{gap:14px;padding:clamp(24px,4vw,40px);display:grid}.prose-card .card-kind{margin:0}.prose-card h2{letter-spacing:-.025em;font-size:1.5rem}.prose-card p{color:var(--text)}.prose-card p.fine,.prose-card p.card-kind{color:var(--muted)}@media (max-width:860px){.contact,.resume{grid-template-columns:1fr}.resume-aside{position:static}}@media (max-width:600px){.form-pair{grid-template-columns:1fr}.form-submit{flex-direction:column;align-items:stretch}}.resume-photo{background:var(--portrait-bg);width:72px;height:72px;box-shadow:var(--shadow-sm);border-radius:50%;margin:0;overflow:hidden}.resume-photo img{object-fit:cover;object-position:50% 15%;width:100%;height:100%}.form-fallback{width:max-content;margin-top:10px;display:flex}
.finale{padding:clamp(120px, 16vw, 200px) var(--gutter);text-align:center;justify-items:center;gap:24px;display:grid}body:has(main .contact) .finale{display:none}body:has(main .contact) .footer{margin-top:clamp(72px,9vw,120px)}.footer{max-width:var(--max);padding:0 var(--gutter);margin:0 auto;overflow:hidden}.footer-top{border-top:1px solid var(--line);justify-content:space-between;gap:48px;padding:48px 0;display:flex}.footer-brand{color:var(--muted);align-content:start;gap:16px;font-size:.9rem;display:grid}.footer-cols{gap:clamp(48px,8vw,96px);display:flex}.footer-cols>*{align-content:start;gap:10px;display:grid}.footer-heading{margin-bottom:4px;font-size:.86rem;font-weight:500}.footer-cols a,.footer-base{color:var(--muted);font-size:.86rem;text-decoration:none}.footer-cols a:hover,.footer-base a:hover{color:var(--ink)}.footer-base{justify-content:space-between;font-size:.78rem;display:flex}.footer-base a{text-decoration:none}.wordmark{letter-spacing:-.06em;text-align:center;color:#0000;background:radial-gradient(circle, var(--dots) 1.1px, transparent 1.4px) 0 0 / 6px 6px;-webkit-user-select:none;user-select:none;-webkit-background-clip:text;background-clip:text;margin:40px 0 -.32em;font-size:clamp(6rem,24vw,19rem);line-height:1}@media (max-width:720px){.footer-top{flex-direction:column}.footer-base{flex-direction:column;gap:6px}}.footer-brand .social-links{margin-top:4px}.social-links{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.social-links a{background:var(--surface);height:36px;box-shadow:0 0 0 1px var(--line), var(--shadow-sm);color:var(--ink);transition:transform .4s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 12px;font-size:.84rem;text-decoration:none;display:inline-flex}.social-links a:hover{transform:translateY(-1px)}.social-links .icon{width:15px;height:15px}.share-bar{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px 16px;padding:20px 0;font-size:.86rem;display:flex}.share-bar ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.share-bar a,.share-bar button{background:var(--surface);min-width:36px;height:36px;box-shadow:0 0 0 1px var(--line), var(--shadow-sm);color:var(--ink);cursor:pointer;border:0;border-radius:999px;place-items:center;padding:0 10px;font-size:.82rem;display:grid}.share-bar .icon{width:15px;height:15px}.share-control{flex-direction:column;align-items:center;gap:6px;display:flex}.consent-banner{z-index:60;background:var(--surface);width:min(380px,100% - 32px);box-shadow:var(--shadow);animation:rise .8s var(--ease) both;border-radius:22px;gap:14px;padding:20px;display:grid;position:fixed;bottom:16px;right:16px}.consent-banner h2{margin-bottom:4px;font-size:.98rem;font-weight:500}.consent-banner p{color:var(--muted);font-size:.86rem}.consent-actions{gap:8px;display:flex}.consent-actions button{background:var(--inset);cursor:pointer;border:0;border-radius:999px;flex:1;height:38px;font-size:.84rem}.consent-actions button:last-child{background:var(--btn-bg);color:var(--btn-fg)}
.hero{isolation:isolate;min-height:100svh;position:relative;overflow:hidden}.hero>:not(.flow-field){z-index:1;position:relative}.flow-field{z-index:0;pointer-events:none;width:100%;height:100%;animation:field-in 2.4s var(--ease) var(--field-delay,.65s) both;position:absolute;inset:0}@keyframes field-in{0%{opacity:0}}html[data-motion=paused] .flow-field{animation:none}.page-enter{animation:page-in .7s var(--ease) both}@keyframes page-in{0%{opacity:0;transform:translateY(12px)}}.card,.link-card,.numbers li{background:radial-gradient(420px circle at var(--mx,-999px) var(--my,-999px), #6366f112, transparent 60%), var(--surface)}.project-card,.link-card,.numbers li{transition:opacity .9s var(--ease), transform 1.1s var(--ease), translate .6s var(--ease), box-shadow .5s var(--ease)}.project-card:hover,.link-card:hover,.numbers li:hover{box-shadow:var(--shadow);translate:0 -4px}.btn,.circle,.nav-mark{transition:translate .35s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease), opacity .5s var(--ease), background .3s, color .3s}.wordmark{position:relative}.wordmark:after{content:attr(data-text);color:#0000;background:linear-gradient(90deg,#4285f4,#8b5cf6,#ec4899,#f59e0b);-webkit-mask-image:radial-gradient(circle, #000 1.2px, transparent 1.5px), radial-gradient(240px circle at var(--mx,-999px) var(--my,-999px), #000, transparent 70%);-webkit-mask-composite:source-in;-webkit-mask-size:6px 6px,100% 100%;-webkit-mask-image:radial-gradient(circle, #000 1.2px, transparent 1.5px), radial-gradient(240px circle at var(--mx,-999px) var(--my,-999px), #000, transparent 70%);mask-image:radial-gradient(circle, #000 1.2px, transparent 1.5px), radial-gradient(240px circle at var(--mx,-999px) var(--my,-999px), #000, transparent 70%);pointer-events:none;-webkit-background-clip:text;background-clip:text;position:absolute;inset:0;-webkit-mask-size:6px 6px,100% 100%;mask-size:6px 6px,100% 100%;-webkit-mask-composite:source-in;mask-composite:intersect}.rotator{justify-items:center;display:grid}.rotator-item{background:linear-gradient(100deg, var(--display-muted) 40%, #7c80f0 50%, var(--display-muted) 60%);color:#0000;transition:opacity .7s var(--ease), transform .8s var(--ease), filter .7s var(--ease);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;grid-area:1/1;animation:7s ease-in-out 1.6s infinite shimmer}.rotator-item[data-state=idle]{opacity:0;filter:blur(10px);transition:none;transform:translateY(.45em)}.rotator-item[data-state=out]{opacity:0;filter:blur(10px);transform:translateY(-.45em)}@keyframes shimmer{0%{background-position:100% 0}35%,to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.flow-field{display:none}}.lost{gap:18px}.lost-code{letter-spacing:-.07em;color:#0000;background:linear-gradient(100deg,#4285f4,#8b5cf6 35%,#ec4899 65%,#f59e0b);opacity:.9;-webkit-background-clip:text;background-clip:text;font-size:clamp(6rem,22vw,15rem);line-height:.85}.lost .display{font-size:clamp(2rem,4.6vw,3.4rem)}.hero>.motion-toggle{right:var(--gutter);position:absolute;bottom:24px}.motion-toggle{background:var(--glass);height:34px;box-shadow:var(--shadow-sm);color:var(--muted);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:.8rem;display:inline-flex}.motion-toggle:hover{color:var(--ink)}html[data-motion=paused] .rotator-item,html[data-motion=paused] .badge-dot,html[data-motion=paused] .story-live i{animation:none}@media (prefers-reduced-motion:reduce){.hero>.motion-toggle{display:none}}#main{transition:opacity .22s,transform .22s}#main.is-leaving{opacity:0;pointer-events:none;transform:translateY(-8px)}@media (prefers-reduced-motion:reduce){#main{transition:none}}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b0c0f;--surface:#15171c;--inset:#1e2127;--ink:#f2f3f5;--muted:#a7adb8;--faint:#858b95;--display-muted:#6a707b;--accent-text:#6ea2ff;--line:#ffffff14;--text:#c8ccd3;--hover:#ffffff0d;--press:#ffffff17;--glass:#181a20db;--side:#111318;--btn-bg:#f2f3f5;--btn-fg:#0b0c0f;--placeholder:#858b95;--bar:#353a43;--file:#d9dce2;--dots:#ffffff29;--portrait-bg:linear-gradient(170deg, #20232a, #16181d);--shadow-sm:0 0 0 1px #ffffff0d, 0 2px 8px -2px #00000080;--shadow:0 0 0 1px #ffffff0f, 0 12px 32px -12px #0009, 0 32px 80px -40px #000000b3;--field-scheme:dark;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b0c0f;--surface:#15171c;--inset:#1e2127;--ink:#f2f3f5;--muted:#a7adb8;--faint:#858b95;--display-muted:#6a707b;--accent-text:#6ea2ff;--line:#ffffff14;--text:#c8ccd3;--hover:#ffffff0d;--press:#ffffff17;--glass:#181a20db;--side:#111318;--btn-bg:#f2f3f5;--btn-fg:#0b0c0f;--placeholder:#858b95;--bar:#353a43;--file:#d9dce2;--dots:#ffffff29;--portrait-bg:linear-gradient(170deg, #20232a, #16181d);--shadow-sm:0 0 0 1px #ffffff0d, 0 2px 8px -2px #00000080;--shadow:0 0 0 1px #ffffff0f, 0 12px 32px -12px #0009, 0 32px 80px -40px #000000b3;--field-scheme:dark;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .photo-frame img,:root:not([data-theme=light]) .card-media img{filter:brightness(.9)saturate(.95)}:root:not([data-theme=light]) .form-result.success{color:#6ee7a0;background:#22c55e1f}:root:not([data-theme=light]) .form-result.error{color:#fca5a5;background:#ef44441f}:root:not([data-theme=light]) body:before{opacity:.12}}:root[data-theme=dark] .photo-frame img,:root[data-theme=dark] .card-media img{filter:brightness(.9)saturate(.95)}:root[data-theme=dark] .form-result.success{color:#6ee7a0;background:#22c55e1f}:root[data-theme=dark] .form-result.error{color:#fca5a5;background:#ef44441f}:root[data-theme=dark] body:before{opacity:.12}
:root,:root[data-theme=dark]{--bg:#030303;--surface:#0c0c0d;--inset:#151516;--ink:#f4f3f0;--muted:#a7a7aa;--faint:#919195;--display-muted:#a1a1a4;--line:#ffffff29;--text:#ceced0;--accent:#dededb;--accent-text:#ededeb;--hover:#ffffff0f;--press:#ffffff1a;--glass:#080808f0;--btn-bg:#f1f0ec;--btn-fg:#090909;--bar:#434346;--radius:6px;--gutter:clamp(22px, 5vw, 72px);--max:1380px;--shadow-sm:none;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body:before{display:none}::selection{color:#070707;background:#ecebe5}a{text-underline-offset:5px}.oo-monogram{letter-spacing:-3px;align-items:start;gap:6px;font-family:Georgia,serif;font-size:30px;line-height:1;text-decoration:none;display:inline-flex}.oo-monogram>span{font-family:var(--font-sans), sans-serif;letter-spacing:0;padding-top:1px;font-size:12px}@keyframes oo-drift{0%{transform:scale(1.01)}to{transform:scale(1.09)}}.card,.link-card,.numbers li{border:1px solid var(--line);background:var(--surface);box-shadow:none}.card-kind{letter-spacing:.08em;text-transform:uppercase;font-size:10px}.badge{height:auto;box-shadow:none;letter-spacing:.14em;text-transform:uppercase;background:0 0;border:0;border-radius:0;padding:0;font-size:10px}.title{letter-spacing:-.045em;font-weight:400}.display{letter-spacing:-.05em}.center-head{gap:22px}.btn{border-radius:3px;gap:20px;font-size:13px}.btn-dark{box-shadow:none}.intro{gap:28px;max-width:1000px;margin:0 auto;padding-top:200px;padding-bottom:72px}.intro .display{font-size:clamp(3.1rem,6.5vw,6rem)}.intro .lede{max-width:650px;font-size:16px}.block{padding-top:130px}.portrait{box-shadow:none;background:0 0;border:0;border-radius:4px;padding:0}.portrait-frame{border-radius:4px}.portrait-frame img{filter:grayscale(.6)}.portrait figcaption{padding:16px 0;font-size:11px}.case{background:#0b0b0c;border:1px solid #424245;border-radius:6px}.case::backdrop{background:#000c}.photo{box-shadow:none;background:0 0;border:0;border-radius:4px;padding:0}.photo figcaption{padding:14px 0 22px;font-size:11px}.photo:hover{box-shadow:none}.favs-tabs,.favs-pill,.fav-inner,.fav-cover{border-radius:3px}.fav-inner{box-shadow:none}.form-field input,.form-field textarea{border-radius:2px}.social-links a{border:1px solid var(--line);box-shadow:none;background:0 0;border-radius:2px}.lost .display{max-width:800px}@media (max-width:720px){.oo-monogram{font-size:27px}.intro{padding-top:155px;padding-bottom:45px}.intro .lede{font-size:14px}.block{padding-top:88px}}
:root{--c-gutter:clamp(24px, 5vw, 80px)}.c-label{color:#aaa;letter-spacing:.13em;text-transform:uppercase;font-size:10px;line-height:1.6}.c-underlink{color:#eee;border-bottom:1px solid #777;padding:10px 0;font-size:13px;text-decoration:none;display:inline-block}.c-underlink:hover{border-color:#fff}@keyframes c-landscape{to{transform:scale(1.08)}}.c-work{padding-top:100px}.c-work-head{padding:0 var(--c-gutter) 40px;justify-content:space-between;align-items:end;gap:32px;display:flex}.c-work h2{letter-spacing:-.045em;margin-top:16px;font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.1}.c-project-tile{scroll-snap-align:start;border:1px solid #272727;border-radius:3px;flex:0 0 clamp(320px,43vw,660px);height:clamp(400px,42vw,580px);text-decoration:none;position:relative;overflow:hidden}.c-tile-image{position:absolute;inset:0}.c-tile-image img{object-fit:cover;transition:transform .8s var(--ease)}.c-project-tile:hover img{transform:scale(1.04)}.c-tile-shade{background:linear-gradient(#0000 35%,#000000f0),linear-gradient(#0006,#0000 35%);position:absolute;inset:0}.c-tile-title{position:absolute;bottom:32px;left:26px;right:70px}.c-tile-title>span{color:#b2b2b4;font-size:11px}.c-tile-title h3{letter-spacing:-.05em;margin-top:10px;font-size:clamp(2.1rem,4vw,3.3rem);line-height:1.02}.c-tile-arrow{font-size:32px;position:absolute;bottom:28px;right:26px}.c-tile-light{background:#fff}.c-tile-light img{object-fit:contain}.c-school-projects{margin-top:100px}.c-school-home{margin:100px var(--c-gutter) 0}.c-school-heading{margin-bottom:42px}.c-school-heading h2{letter-spacing:-.055em;margin-top:20px;font-size:clamp(2.6rem,5vw,5rem);line-height:1.05}.c-school-list{border-bottom:1px solid var(--line);margin:0;padding:0;list-style:none}.c-school-row{border-top:1px solid var(--line);grid-template-columns:34px minmax(0,1fr) 190px 32px;align-items:center;gap:32px;padding:38px 0;text-decoration:none;transition:background-color .3s;display:grid}.c-school-number{color:#888;align-self:start;padding-top:8px;font-size:11px}.c-school-row h3{letter-spacing:-.045em;max-width:24ch;font-size:clamp(1.7rem,3.3vw,3.2rem);line-height:1.15}.c-school-meta{color:#aaa;gap:9px;font-size:11px;line-height:1.5;display:grid}.c-school-meta>span:last-child{color:#777;font-size:10px}.c-school-arrow{justify-self:end;font-size:30px;transition:transform .3s}.c-school-row:hover,.c-school-row:focus-visible{background:#111}.c-school-row:hover .c-school-arrow,.c-school-row:focus-visible .c-school-arrow{transform:translate(4px,-4px)}@media (max-width:700px){.c-school-projects{margin-top:65px}.c-school-heading{margin-bottom:30px}.c-school-row{grid-template-columns:20px minmax(0,1fr) 24px;gap:14px;padding:28px 0}.c-school-row h3{font-size:27px}.c-school-meta{grid-area:2/2;gap:5px}.c-school-arrow{grid-area:1/3;align-self:start;font-size:24px}}.c-school-projects.c-school-index{margin-top:0}@media (prefers-reduced-motion:reduce){.c-school-row,.c-school-arrow{transition:none}}:root[data-motion=paused] .c-school-row,:root[data-motion=paused] .c-school-arrow{transition:none}.c-writing{margin:140px var(--c-gutter) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1.3fr 1fr;align-items:center;gap:70px;padding:70px 0;display:grid}.c-writing h2{letter-spacing:-.07em;align-items:center;gap:24px;margin-top:22px;font-size:clamp(3.5rem,7.8vw,8rem);line-height:1;display:flex}.c-writing h2 span{font-size:.5em}.c-writing>div:last-child p{color:#aaa;max-width:35ch;font-size:16px;line-height:1.7}.c-writing .c-underlink{margin-top:22px}.c-masonry-album{padding:0 var(--c-gutter)}.c-profile{grid-template-columns:1fr 1.05fr;min-height:860px;padding-top:0;display:grid}.c-profile-photo{background:#eee;min-height:860px;position:relative;overflow:hidden}.c-profile-photo img{object-fit:cover;object-position:center top;filter:grayscale()}.c-profile-photo>span{color:#fff;font-size:10px;position:absolute;bottom:28px;left:32px}.c-profile-story{align-self:center;padding:150px 6vw 80px}.c-profile h1{letter-spacing:-.055em;margin:25px 0 38px;font-size:clamp(3rem,5.5vw,6rem);line-height:.98}.c-profile h1 span{color:#9a9a9e}.c-profile-story>p:not(.c-label){color:#a8a8aa;max-width:40ch;font-size:14px;line-height:1.8}.c-profile-story .c-profile-lead{margin-bottom:24px;color:#e2e1dc!important;font-size:17px!important}.c-profile .c-underlink{margin-top:24px}.c-ledger{padding:150px var(--c-gutter) 0;grid-template-columns:1fr 1.7fr;gap:70px;display:grid}.c-ledger h2{letter-spacing:-.05em;margin:25px 0;font-size:clamp(3rem,6vw,5.5rem);line-height:.98}.c-ledger-heading>p:not(.c-label){color:#999;margin-bottom:25px}.c-ledger-list{border-top:1px solid var(--line)}.c-ledger details{border-bottom:1px solid var(--line)}.c-ledger summary{cursor:pointer;grid-template-columns:130px 1fr 20px;align-items:start;gap:20px;padding:30px 0;list-style:none;display:grid}.c-ledger summary::-webkit-details-marker{display:none}.c-ledger summary>span:first-child{color:#999;padding-top:5px;font-size:10px}.c-ledger h3{letter-spacing:-.03em;font-size:22px;line-height:1.2}.c-ledger-plus{color:#ccc;font-size:24px;line-height:1}.c-ledger [open] .c-ledger-plus{transform:rotate(45deg)}.c-ledger details>div{max-width:54ch;padding:0 36px 28px 150px}.c-ledger details>div p{color:#aaa;margin-top:12px;font-size:13px;line-height:1.75}.c-video{max-width:1000px;padding:0 var(--c-gutter);margin:140px auto 0}.c-archive{padding:180px var(--c-gutter) 0}.c-archive-head h1{letter-spacing:-.065em;max-width:1000px;margin:30px 0 50px;font-size:clamp(4rem,9vw,9rem);line-height:.98}.c-archive-intro{justify-content:space-between;align-items:end;gap:32px;padding-bottom:50px;display:flex}.c-archive-intro>p{color:#aaa;max-width:30ch;font-size:15px}.c-archive-intro nav{gap:32px;display:flex}.c-archive-intro nav a{color:#aaa;padding:10px 0;font-size:13px;text-decoration:none}.c-archive-intro nav a[aria-current]{color:#fff;border-bottom:1px solid #fff}.c-case-heading{padding:160px var(--c-gutter) 70px}.c-case-heading>a{color:#aaa;margin-bottom:48px;font-size:12px;text-decoration:none;display:block}.c-case h1{letter-spacing:-.06em;margin:26px 0;font-size:clamp(3.5rem,8vw,8rem);line-height:.98}.c-case-heading>p:last-child{color:#aaa;max-width:48ch;font-size:17px;line-height:1.7}.c-case-cover{background:#0b0b0b;width:100%;overflow:hidden}.c-case-cover img{object-fit:contain;width:100%;height:auto;max-height:750px;display:block}.c-case-body{padding:0 var(--c-gutter);grid-template-columns:240px 1fr;gap:100px;margin:100px 0 0;display:grid}.c-case-body aside{align-self:start;gap:12px;display:grid;position:sticky;top:125px}.c-case-body aside .c-label:not(:first-child){margin-top:24px}.c-case-body aside p:not(.c-label){color:#aaa;font-size:13px}.c-case-body aside .c-underlink{margin-top:20px;font-size:11px}.c-case-story section{border-top:1px solid var(--line);grid-template-columns:30px 1fr;gap:15px 22px;padding:34px 0;display:grid}.c-case-story section>.c-label{padding-top:6px}.c-case-story h2{letter-spacing:-.04em;font-size:30px}.c-case-story section>p,.c-case-story ol{color:#aaa;grid-column:2;font-size:15px;line-height:1.8}.c-case-story ol{margin:0;padding-left:18px}.c-case-story li+li{margin-top:10px}.c-case-note{color:#999;margin-top:24px;font-size:11px}.c-case-demo{padding:0 var(--c-gutter);margin:90px 0 0}.c-case-demo video{width:100%;height:auto;display:block}.c-case-demo figcaption,.c-case-gallery figcaption{color:#999;margin-top:12px;font-size:11px}.c-case-gallery{margin:100px var(--c-gutter) 0;grid-template-columns:1fr 1fr;gap:40px;display:grid}.c-case-gallery figure{margin:0}.c-case-gallery img{width:100%;height:auto;display:block}.c-case-citation{color:#999;grid-column:1/-1;font-size:11px}.c-next-project{margin:120px var(--c-gutter) 0;border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:20px;padding:50px 0;text-decoration:none;display:grid}.c-next-project .c-label{grid-column:1/-1}.c-next-project>span:not(.c-label){letter-spacing:-.04em;font-size:clamp(2rem,5vw,5rem);line-height:1}.c-album-heading{padding:180px var(--c-gutter) 70px;position:relative}.c-album-heading h1{letter-spacing:-.07em;margin:28px 0;font-size:clamp(4rem,9vw,9rem);line-height:.95}.c-album-heading h1 span{color:#999}.c-album-heading>p:not(.c-label){color:#aaa;font-size:16px}.c-album{padding:0 var(--c-gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:80px 50px;display:grid}.c-album figcaption{color:#aaa;gap:20px;margin-top:16px;font-size:11px;line-height:1.6;display:flex}.c-album figcaption>span{color:#777}.c-cv{padding:180px var(--c-gutter) 0}.c-cv header{padding-bottom:70px}.c-cv h1{letter-spacing:-.065em;margin:28px 0 45px;font-size:clamp(4rem,9vw,9rem);line-height:.96}.c-cv h1 span{color:#999}.c-cv header>div{color:#bbb;justify-content:space-between;align-items:start;gap:35px;font-size:14px;display:flex}.c-cv>section{border-top:1px solid var(--line);grid-template-columns:220px 1fr;gap:45px;padding:50px 0;display:grid}.c-cv h2{gap:16px;font-size:15px;display:flex}.c-cv h2>span{color:#777;padding-top:4px;font-size:10px}.c-cv article+article{margin-top:40px}.c-cv-role{justify-content:space-between;align-items:start;gap:30px;display:flex}.c-cv h3{letter-spacing:-.03em;font-size:23px;line-height:1.15}.c-cv h3 a{text-decoration:none}.c-cv-role>span{color:#999;white-space:nowrap;font-size:10px}.c-cv article p,.c-cv article li{color:#aaa;margin-top:12px;font-size:13px;line-height:1.7}.c-cv article ul{margin:16px 0 0;padding-left:18px}@media (max-width:1050px){.c-profile-story{padding-left:5vw;padding-right:5vw}.c-ledger{grid-template-columns:1fr 1.7fr;gap:40px}.c-ledger summary{grid-template-columns:100px 1fr 20px;gap:12px}.c-ledger details>div{padding-left:112px}.c-case-body{grid-template-columns:180px 1fr;gap:50px}}@media (max-width:700px){.c-work{padding-top:70px}.c-work-head{display:block}.c-work h2{max-width:15ch}.c-project-tile{flex-basis:84vw;height:440px}.c-writing{grid-template-columns:1fr;gap:30px;margin-top:90px;padding:45px 0}.c-writing h2{font-size:15vw}.c-writing>div:last-child p{font-size:14px}.c-profile{grid-template-columns:1fr}.c-profile-photo{min-height:550px}.c-profile-story{padding:55px var(--c-gutter) 0}.c-profile h1{font-size:14vw}.c-profile-story>p:not(.c-label){max-width:none}.c-ledger{grid-template-columns:1fr;gap:40px;padding-top:95px}.c-ledger summary{grid-template-columns:1fr 20px}.c-ledger summary>span:first-child{grid-column:1/-1}.c-ledger summary h3{font-size:20px}.c-ledger details>div{padding-left:0;padding-right:10px}.c-archive{padding-top:145px}.c-archive-head h1{margin-bottom:32px;font-size:14vw}.c-archive-intro{padding-bottom:30px;display:block}.c-archive-intro nav{gap:28px;margin-top:25px}.c-case-heading{padding-top:135px;padding-bottom:45px}.c-case h1{font-size:13vw}.c-case-heading>p:last-child{font-size:14px}.c-case-body{grid-template-columns:1fr;gap:45px;margin-top:45px}.c-case-body aside{grid-template-columns:1fr 1fr;gap:12px 22px;position:static}.c-case-body aside .c-label:not(:first-child){margin-top:0}.c-case-body aside p,.c-case-body aside a{grid-column:1/-1}.c-case-story section{grid-template-columns:22px 1fr;gap:12px}.c-case-story h2{font-size:27px}.c-case-story section>p,.c-case-story ol{font-size:13px}.c-case-gallery{grid-template-columns:1fr;gap:30px;margin-top:55px}.c-case-demo{margin-top:50px}.c-next-project{margin-top:75px}.c-album-heading{padding-top:145px;padding-bottom:40px}.c-album-heading h1{font-size:15vw}.c-album{gap:40px 18px}.c-album figcaption{gap:12px;font-size:10px}.c-cv{padding-top:145px}.c-cv h1{font-size:14vw}.c-cv header>div{display:block}.c-cv header .c-underlink{margin-top:22px}.c-cv>section{grid-template-columns:1fr;gap:30px}.c-cv-role{display:block}.c-cv-role>span{margin-top:10px;display:block}.c-cv h3{font-size:22px}}@media print{.c-cv{color:#000;padding:0}.c-cv header{padding-bottom:24px}.c-cv h1{font-size:40px}.c-cv>section{padding:20px 0}.c-cv article{break-inside:avoid}.c-cv p,.c-cv li,.c-cv span{color:#333!important}}.c-school-home .c-school-heading h2{font-size:clamp(2.2rem,4.2vw,4.1rem)}.c-school-home .c-school-row h3{font-size:clamp(1.45rem,2.7vw,2.6rem)}@media (max-width:700px){.c-school-home .c-school-row h3{font-size:23px}}
:root,:root[data-theme=dark]{--bg:#000;--oh-display:var(--font-display), var(--font-sans), system-ui, sans-serif;--oh-pad:96px}body{background:#000}.oh-section{padding:var(--oh-pad) var(--c-gutter)}.oh-section h2,.c-work h2{font-family:var(--oh-display);letter-spacing:-.06em;font-size:clamp(1.6rem,2.8vw,2.1rem);font-weight:300;line-height:1.08}.c-work{padding-top:var(--oh-pad)}.c-school-projects{margin-top:var(--oh-pad)}.oh-hero{min-height:max(720px,100svh);padding:160px var(--c-gutter) 120px;isolation:isolate;text-align:center;place-items:center;display:grid;position:relative;overflow:hidden}.oh-hero-media{z-index:-2;position:absolute;inset:0}.oh-hero-media img,.oh-hero-media video{object-fit:cover;width:100%;height:100%}.oh-hero-media img{filter:brightness(.5)saturate(.7)}.oh-hero-media video{opacity:0;transition:opacity 1.2s;position:absolute;inset:0}.oh-hero-media video.is-active{opacity:1}.oh-hero-media img{animation:24s ease-in-out infinite alternate c-landscape}.oh-hero:after{z-index:-1;content:"";background:linear-gradient(#00000059,#0000 55%,#000 98%);position:absolute;inset:0}.oh-hero-copy{max-width:920px}.oh-hero h1{font-family:var(--oh-display);letter-spacing:-.045em;font-size:clamp(2.4rem,5.6vw,3.4rem);font-weight:300;line-height:1.04}.oh-hero p{color:#fff;text-shadow:0 1px 16px #0009;max-width:640px;margin:28px auto 0;font-size:16px;line-height:1.65}.oh-hero .motion-toggle{right:var(--c-gutter);margin:0;font-size:10px;position:absolute;bottom:18px}.oh-hero .motion-toggle--icon{color:#fff;background:#00000073;justify-content:center;width:36px;height:36px;padding:0}.oh-hero .motion-toggle--icon:hover,.oh-hero .motion-toggle--icon:focus-visible{color:#fff;background:#000000b3}@media (prefers-reduced-motion:reduce){.oh-hero .motion-toggle--icon{display:none}}.oh-statement{justify-items:start;gap:36px;max-width:1100px;padding-bottom:0;display:grid}.oh-statement h2{font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1.12}.c-project-tile{scroll-snap-align:none;aspect-ratio:16/9;border:0;border-radius:6px;flex:0 0 clamp(300px,40vw,600px);height:auto}.c-tile-title h3{font-family:var(--oh-display);letter-spacing:-.05em;font-size:clamp(1.7rem,2.4vw,2.1rem);font-weight:300}.c-tile-arrow{font-size:24px}.c-tile-shade{background:linear-gradient(#0000 58%,#000000e0),linear-gradient(#00000059,#0000 22%)}.c-tile-title{bottom:24px}.c-tile-title>span{color:#ececee;text-shadow:0 1px 10px #000000b3}.c-project-tile:has(.c-tile-light) .c-tile-shade{background:linear-gradient(#0000 56%,#000000eb)}.oh-button{color:#fff;border:1px solid #fff9;border-radius:6px;padding:12px 28px;font-size:16px;text-decoration:none;transition:background .25s,color .25s;display:inline-block}.oh-button:hover{color:#090909;background:#f1f0ec}.oh-cta{text-align:center;justify-items:center;gap:20px;display:grid}.oh-cta>p:not(.oh-eyebrow){color:#b9b9bc}.oh-cta>div{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:16px;display:flex}.oh-footer{padding:32px var(--c-gutter);border-top:1px solid var(--line);color:#9a9a9d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 40px;font-size:13px;display:flex}.oh-footer nav{flex-wrap:wrap;gap:10px 24px;display:flex}.oh-footer a{color:#c9c9cb;text-decoration:none}.oh-footer a:hover{color:#fff}@media (max-width:900px){:root,:root[data-theme=dark]{--oh-pad:64px}}@media (prefers-reduced-motion:reduce){.oh-hero-media img{animation:none}}.oh-nav{z-index:70;width:min(620px,100% - 24px);position:fixed;top:40px;left:50%;transform:translate(-50%)}.oh-nav-bar{background:#000000e6;border:1px solid #fff3;border-radius:4px;justify-content:space-between;align-items:center;gap:20px;padding:9px 6px 9px 16px;display:flex}.oh-nav .oo-monogram{color:#fff;font-size:30px}.oh-nav-links{letter-spacing:-.03em;align-items:center;gap:24px;margin-right:10px;font-size:18px;line-height:25px;display:flex}.oh-nav-links>a{color:#fff;font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;text-decoration:none;transition:opacity .5s,color .5s;display:flex}.oh-nav-links>a:hover{opacity:.7}.oh-nav i{background:#fff;width:7px;height:7px;display:none;transform:rotate(45deg)}.oh-nav a[aria-current] i{display:inline-block}.oh-nav-links>a[aria-current]{color:#bfbfbf}.oh-nav-panel{letter-spacing:-.025em;background:#000000e6;border:1px solid #fff3;flex-direction:column;padding:8px;font-size:16px;display:flex}.oh-nav-panel[hidden]{display:none}.oh-nav-panel a{color:#fff;border-radius:3px;align-items:center;gap:8px;padding:10px 12px;text-decoration:none;transition:background .3s;display:flex}.oh-nav-panel a:hover{background:#ffffff1a}.oh-nav-panel a[aria-current]{color:#bfbfbf}.oh-nav-toggle{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;place-items:center;width:36px;height:36px;transition:background .5s;display:none}.oh-nav-toggle:hover{background:#fff3}.oh-nav-panel{border-top:0;border-radius:0 0 4px 4px;display:none}.oh-nav-panel p{color:#8e8e92;letter-spacing:.14em;text-transform:uppercase;padding:10px 12px 4px;font-size:11px}.oh-nav-panel div a{padding-left:20px}.oh-nav a:focus-visible,.oh-nav button:focus-visible{outline-offset:4px;outline:1px solid #eee}@keyframes oh-drop{0%{opacity:0;transform:translateY(-4px)}}@media (max-width:767px){.oh-nav{top:12px}.oh-nav-links{display:none}.oh-nav-toggle{display:grid}.oh-nav[data-open=true] .oh-nav-bar{border-bottom-color:#0000;border-radius:4px 4px 0 0}.oh-nav-panel:not([hidden]){max-height:calc(100svh - 90px);animation:.18s ease-out oh-drop;display:flex;overflow-y:auto}}.c-work-head{align-items:end}.oh-all-link{color:#c1c1c1;white-space:nowrap;font-size:14px;text-decoration:none;transition:color .3s}.oh-all-link:hover{color:#fff}.oh-rail{padding-left:var(--c-gutter);cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;overflow:hidden}.oh-rail:active{cursor:grabbing}.oh-rail-track{will-change:transform;width:max-content;display:flex}.oh-rail-set{flex:none;gap:24px;padding-right:24px;display:flex}.oh-rail.is-static{cursor:auto;scrollbar-width:thin;touch-action:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scroll-padding-left:var(--c-gutter);overflow-x:auto}.oh-rail.is-static .c-project-tile{scroll-snap-align:start}.oh-rail .c-project-tile{-webkit-user-drag:none;box-shadow:inset 0 1px #ffffff1a,0 30px 50px #0006,inset 0 0 0 1px #ffffff0f}.oh-rail .c-tile-image img{pointer-events:none}.oh-nav-links>a{position:relative}.oh-nav-links>a:after{content:"";transform-origin:0;height:1px;transition:transform .35s var(--ease);background:currentColor;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.oh-nav-links>a:hover:after,.oh-nav-links>a:focus-visible:after{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.oh-nav-links>a:after{transition:none}}.oh-nav-links>a{white-space:nowrap}.oh-footer{justify-content:space-between}.oh-writing-head{justify-content:space-between;align-items:baseline;gap:32px;display:flex}.oh-writing-list{margin:40px 0 0;padding:0;list-style:none}.oh-writing-list li{border-top:1px solid var(--line)}.oh-writing-list li:last-child{border-bottom:1px solid var(--line)}.oh-writing-list a{color:inherit;grid-template-columns:minmax(0,1fr) 190px 32px;align-items:center;gap:32px;padding:28px 0;text-decoration:none;transition:background-color .3s;display:grid}.oh-writing-list h3{max-width:34ch;font-family:var(--oh-display);letter-spacing:-.04em;font-size:clamp(1.2rem,2vw,1.6rem);font-weight:300;line-height:1.2}.oh-writing-list p{color:#8e8e92;max-width:60ch;margin-top:8px;font-size:13px;line-height:1.5}.oh-writing-list time{color:#aaa;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.oh-writing-list a:hover,.oh-writing-list a:focus-visible{background:#111}.oh-writing-list a:hover .c-school-arrow,.oh-writing-list a:focus-visible .c-school-arrow{transform:translate(4px,-4px)}@media (max-width:700px){.oh-writing-list a{grid-template-columns:minmax(0,1fr) 24px;gap:14px}.oh-writing-list time{grid-area:2/1}.oh-writing-list .c-school-arrow{grid-area:1/2}}
:root,:root[data-theme=dark]{--faint:#a4a4a8;--display-muted:#a8a8ac}main h1,main h2,main h3{font-family:var(--oh-display);font-weight:300}main h1 span,main h2 span{font-weight:300}.c-label,.c-school-number{color:#a4a4a8}.c-school-meta{color:#c2c2c5}.c-school-meta>span:last-child{color:#9a9a9e}.c-underlink{transition:border-color .3s,color .3s}.c-school-row{transition:background-color .4s,padding .4s}.c-school-row h3{transition:transform .5s var(--ease)}.c-school-row:hover,.c-school-row:focus-visible{background:#ffffff0a}.c-school-row:hover h3,.c-school-row:focus-visible h3{transform:translate(14px)}.oh-cta{border-top:1px solid var(--line);align-content:center;padding-block:150px;display:grid}.oh-cta h2{letter-spacing:-.065em;max-width:14ch;font-size:clamp(3rem,8vw,6.4rem);line-height:.98}.oh-cta>p:not(.oh-eyebrow){max-width:36ch;font-size:clamp(1rem,1.5vw,1.2rem)}.oh-button--solid{color:#090909;background:#f1f0ec;border-color:#f1f0ec}.oh-button--solid:hover{background:#fff}.oh-cta-mail{color:#c9c9cb;text-underline-offset:5px;margin-top:6px;font-size:14px;text-decoration-color:#ffffff59}.oh-cta-mail:hover{color:#fff;text-decoration-color:#fff}.c-case-cover{margin:0 var(--c-gutter);aspect-ratio:16/9;border-radius:6px;width:auto;max-height:80svh}.c-case-cover img{object-fit:cover;height:100%;max-height:none}.c-next-project{isolation:isolate;border:1px solid var(--line);border-radius:6px;align-items:end;min-height:300px;padding:44px;transition:border-color .4s;position:relative;overflow:hidden}.c-next-project:hover{border-color:#fff6}.c-next-project>span:not(.c-label){font-family:var(--oh-display);font-weight:300}.c-next-bg{z-index:-2;object-fit:cover;filter:brightness(.45)saturate(.9);transition:transform 1s var(--ease)}.c-next-project:hover .c-next-bg{transform:scale(1.04)}.c-next-project:has(.c-next-bg):after{z-index:-1;content:"";background:linear-gradient(#0000 40%,#000000b3);position:absolute;inset:0}@media (max-width:700px){.oh-cta{padding-block:100px}.c-next-project{min-height:220px;padding:28px}}.c-label,.c-school-number,.c-school-meta>span:last-child,.c-ledger summary>span:first-child,.c-case-citation,.c-album figcaption,.c-cv h2>span,.c-cv-role>span,.c-profile-photo>span,.c-school-meta,.c-tile-title>span,.c-case-note,.c-case-gallery figcaption,.c-case-body aside .c-underlink{font-size:13px}.oh-hero-media{animation:1.6s both oh-fade}.oh-hero-copy h1,.oh-hero-copy p{text-shadow:0 2px 28px #0000008c;animation:oh-rise 1.3s var(--ease) both}.oh-hero-copy h1{animation-delay:.25s}.oh-hero-copy p{animation-delay:.6s}@keyframes oh-fade{0%{opacity:0}}@keyframes oh-rise{0%{opacity:0;transform:translateY(12px)}}.oh-scroll-cue{color:#d6d6d8;letter-spacing:.18em;text-transform:uppercase;justify-items:center;gap:10px;font-size:12px;text-decoration:none;transition:opacity .5s;animation:1s 1.6s both oh-fade;display:grid;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.oh-scroll-cue i{transform-origin:top;width:1px;height:38px;animation:oh-cue 2.2s var(--ease) infinite;background:linear-gradient(#fff,#0000);display:block}.oh-scroll-cue[data-gone]{opacity:0;pointer-events:none}@keyframes oh-cue{0%{transform:scaleY(0)}55%{transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.oh-statement[data-reveal]{opacity:1;transform:none}.oh-words span{transition:opacity .9s var(--ease) calc(var(--i) * 45ms), transform 1.1s var(--ease) calc(var(--i) * 45ms);margin-right:.26em;display:inline-block}.oh-statement[data-reveal]:not([data-in]) .oh-words span{opacity:0;transform:translateY(.5em)}.oh-nav{transition:transform .5s var(--ease)}.oh-nav[data-hidden]{transform:translate(-50%,-170%)}.oh-rail{position:relative}.c-tile-title{transition:transform .6s var(--ease)}.c-project-tile:hover .c-tile-title,.c-project-tile:focus-visible .c-tile-title{transform:translateY(-6px)}.c-tile-desc{color:#d6d6d8;opacity:0;max-width:34ch;max-height:0;transition:max-height .5s var(--ease), margin-top .5s var(--ease), opacity .4s var(--ease);margin-top:0;font-size:14px;line-height:1.4;overflow:hidden}.c-project-tile:hover .c-tile-desc,.c-project-tile:focus-visible .c-tile-desc{opacity:1;max-height:4.2em;margin-top:12px}.c-tile-arrow{transition:transform .5s var(--ease)}.c-project-tile:hover .c-tile-arrow,.c-project-tile:focus-visible .c-tile-arrow{transform:translate(4px,-4px)}@media (hover:none){.c-tile-desc{display:none}}@media (prefers-reduced-motion:reduce){.c-tile-desc,.c-tile-arrow,.oh-words span{transition:none}.oh-statement[data-reveal]:not([data-in]) .oh-words span{opacity:1;clip-path:none;transform:none}}.oh-nav-links>a,.oh-all-link,.c-case-heading>a,.ct-social a,.ct-copy,.c-archive-intro nav a{align-items:center;min-block-size:24px;display:inline-flex}.c-archive-intro nav a{justify-content:center;min-inline-size:24px}video[controls]:focus-visible{outline-offset:3px;outline:2px solid #fff}.c-archive-head h1,.c-album-heading h1,.c-cv h1,.ct-head h1,.c-profile h1{margin-top:0}.c-profile h1,.c-case h1,.c-legal h1{letter-spacing:-.055em;font-size:clamp(3.2rem,7vw,7rem);line-height:.98}@media (min-width:901px){.c-profile-story,.ct{padding-top:180px}.c-profile-story{align-self:start}.c-case-heading{padding-top:130px}.c-case h1{margin-top:0}}.c-legal{padding:180px var(--c-gutter) 0}.c-legal header{padding-bottom:70px}.c-legal h1{margin:0 0 28px}.c-legal header p{color:#aaa;max-width:46ch;font-size:16px;line-height:1.6}.c-legal>section{border-top:1px solid var(--line);grid-template-columns:220px 1fr;gap:45px;padding:50px 0;display:grid}.c-legal h2{font-size:15px}.c-legal section>div p{color:#aaa;max-width:62ch;font-size:15px;line-height:1.7}.c-legal section>div p+p,.c-legal section>div p+div{margin-top:14px}@media (max-width:900px){.c-legal>section{grid-template-columns:1fr;gap:16px}}.c-lost{min-height:100svh;padding:160px var(--c-gutter);align-content:center;justify-items:start;gap:24px;display:grid}.c-lost h1{letter-spacing:-.065em;font-size:clamp(3.2rem,9vw,9rem);line-height:.98}.c-lost p{color:#aaa;font-size:16px}.c-lost div{flex-wrap:wrap;gap:14px;margin-top:12px;display:flex}.c-cv article+article{border-top:1px solid var(--line);margin-top:36px;padding-top:36px}.c-cv h3{font-size:26px}.c-cv-role>span{color:#a4a4a8;font-size:11px}.c-cv article p,.c-cv article li{color:#b5b5b8;font-size:14px}@media (max-width:700px){.oh-footer .oh-footer-top{display:none}}.c-archive-head h1,.c-album-heading h1,.c-cv h1,.ct-head h1,.c-profile h1,.c-case h1,.c-legal h1{font-size:clamp(2.4rem,5.6vw,3.4rem);line-height:1.1}.c-ledger h2,.c-writing h2,.c-school-heading h2{font-size:clamp(1.6rem,2.8vw,2.1rem);line-height:1.15}.oh-cta h2{font-size:clamp(2.2rem,5vw,3.4rem)}.c-school-row h3{font-size:clamp(1.2rem,2vw,1.6rem)}.oh-hero-copy{animation:oh-rise 1s var(--ease) .25s both}.oh-nav-bar{transition:background-color .4s var(--ease), border-color .4s var(--ease), backdrop-filter .4s var(--ease)}.oh-nav[data-scrolled] .oh-nav-bar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#000000b3;border-color:#ffffff47}.c-school-list>li,.oh-writing-list>li{transition:opacity .8s var(--ease), transform .9s var(--ease)}[data-reveal]:not([data-in]) .c-school-list>li,[data-reveal]:not([data-in]) .oh-writing-list>li{opacity:0;transform:translateY(16px)}[data-in] .c-school-list>li:nth-child(2),[data-in] .oh-writing-list>li:nth-child(2){transition-delay:80ms}[data-in] .c-school-list>li:nth-child(3),[data-in] .oh-writing-list>li:nth-child(3){transition-delay:.16s}[data-in] .c-school-list>li:nth-child(4){transition-delay:.24s}[data-in] .c-school-list>li:nth-child(n+5){transition-delay:.32s}.c-underlink,.oh-all-link{transition:background-size .45s var(--ease), color .3s;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat border-box}.c-underlink:hover,.c-underlink:focus-visible,.oh-all-link:hover,.oh-all-link:focus-visible{background-size:100% 1px}:root[data-motion=paused] .oh-hero-copy{animation:none}:root[data-motion=paused] .c-school-list>li,:root[data-motion=paused] .oh-writing-list>li{opacity:1!important;transition:none!important;transform:none!important}.c-pgrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:64px 32px;display:grid}.c-pgrid:last-child{padding-bottom:128px}.c-pgrid>.c-pcard{grid-column:span 2}.c-pgrid>.c-pcard:nth-child(-n+2){grid-column:span 3}.c-pcard{min-width:0;color:inherit;grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;text-decoration:none;display:grid}.c-pcard-image{aspect-ratio:16/9;background:#111;border-radius:6px;margin-bottom:10px;position:relative;overflow:hidden}.c-pcard-image img{object-fit:cover;transition:transform .8s var(--ease)}.c-pcard:hover .c-pcard-image img,.c-pcard:focus-visible .c-pcard-image img{transform:scale(1.04)}.c-pcard-meta{color:#8e8e92;letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;gap:16px;font-size:11px;display:flex}.c-pcard-meta span{white-space:nowrap}.c-pcard-meta span:first-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.c-pcard h2{justify-content:space-between;align-items:baseline;gap:16px;font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.15;display:flex}.c-pcard-arrow{color:#c9c9cb;transition:transform .5s var(--ease);font-size:.8em}.c-pcard:hover .c-pcard-arrow,.c-pcard:focus-visible .c-pcard-arrow{transform:translate(4px,-4px)}.c-pcard p{color:#a8a8aa;max-width:48ch;font-size:14px;line-height:1.6}@media (max-width:700px){.c-pgrid{grid-template-columns:1fr;gap:48px}.c-pgrid>.c-pcard,.c-pgrid>.c-pcard:nth-child(-n+2){grid-column:auto}}
.fav{padding:140px var(--c-gutter) 0}.fav-head h2{letter-spacing:-.06em;margin-top:16px;font-size:clamp(1.6rem,2.8vw,2.1rem);line-height:1.08}.fav-block{margin-top:72px}.fav-title{flex-wrap:wrap;align-items:baseline;gap:8px 22px;margin-bottom:44px;display:flex}.fav-title h3{letter-spacing:-.05em;font-size:clamp(1.7rem,3vw,2.4rem)}.fav-title p{color:#a4a4a8;font-size:15px}.book-wall{grid-template-columns:repeat(7,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.wall-book{aspect-ratio:2/3;color:#f2f2f2;cursor:pointer;outline-offset:4px;width:100%;transition:transform .5s var(--ease), box-shadow .5s var(--ease);background:#151517;border:0;border-radius:4px;padding:0;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14,0 18px 30px -16px #000000e6}.wall-book img{object-fit:cover}.wall-book:after{content:"";pointer-events:none;background:linear-gradient(90deg,#ffffff24,#0000 7% 94%,#00000040);position:absolute;inset:0}.wall-book:hover,.wall-book:focus-visible{transform:translateY(-8px)scale(1.03);box-shadow:inset 0 0 0 1px #ffffff29,0 34px 44px -18px #000000f2}.wall-fallback{height:100%;font-family:var(--oh-display);text-align:center;place-items:center;padding:12px;font-size:1.1rem;display:grid}.book-panel{color:#f2f2f2;background:#0d0d0f;border:1px solid #ffffff1f;border-radius:10px;width:min(860px,100vw - 32px);max-height:calc(100vh - 32px);padding:0;overflow:auto;box-shadow:0 50px 120px #000c}.book-panel::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000c7}.book-panel[open]{animation:panel-in .45s var(--ease) both}@keyframes panel-in{0%{opacity:0;transform:translateY(16px)scale(.98)}}.panel-body{grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:center;gap:44px;padding:36px;display:grid}.panel-cover{aspect-ratio:2/3;background:#151517;border-radius:4px;position:relative;overflow:hidden;box-shadow:0 30px 60px -20px #000000e6}.panel-cover img{object-fit:cover}.panel-count{color:#8f8f93;letter-spacing:.1em;font-size:12px}.panel-copy h4{font-family:var(--oh-display);letter-spacing:-.045em;margin-top:14px;font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:300;line-height:1.05}.panel-by{color:#b9b9bc;margin-top:10px;font-size:15px}.panel-note{color:#d6d6d8;max-width:44ch;margin-top:20px;font-size:15px;line-height:1.6}.panel-actions{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.panel-actions a,.panel-actions button{color:#f2f2f2;min-height:40px;font:inherit;letter-spacing:.06em;cursor:pointer;transition:background .25s var(--ease), color .25s var(--ease);background:0 0;border:1px solid #ffffff47;border-radius:999px;align-items:center;padding:0 20px;font-size:13px;text-decoration:none;display:inline-flex}.panel-actions a{color:#0b0b0c;background:#f2f2f2;border-color:#f2f2f2}.panel-actions a:hover,.panel-actions a:focus-visible{opacity:.82}.panel-actions button:hover,.panel-actions button:focus-visible{color:#0b0b0c;background:#f2f2f2}@media (max-width:900px){.book-wall{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}@media (max-width:700px){.book-wall{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.panel-body{grid-template-columns:1fr;gap:22px;padding:22px}.panel-cover{width:min(200px,56vw);margin-inline:auto}}@media (prefers-reduced-motion:reduce){.book-panel[open]{animation:none}.wall-book{transition:none}}.fav-block--wide .oh-rail{margin-inline:calc(var(--c-gutter) * -1)}.film-frame{outline-offset:4px;width:240px;transition:transform .55s var(--ease);background:#09090a;border-radius:3px;flex:none;position:relative}.film-frame:hover,.film-frame:focus-visible{transform:translateY(-8px)}.film-holes{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='26'%3E%3Crect x='7' y='8' width='14' height='10' rx='2.5' fill='%2331313a'/%3E%3C/svg%3E") repeat-x;height:26px;display:block}.film-picture{aspect-ratio:2/3;background:linear-gradient(160deg, var(--tone), #040404 88%);flex-direction:column;justify-content:flex-end;gap:8px;padding:22px;display:flex;position:relative;overflow:hidden}.film-picture img{object-fit:cover;pointer-events:none}.film-picture strong{font-family:var(--oh-display);letter-spacing:-.045em;font-size:1.75rem;font-weight:300;line-height:1.04}.film-picture em{color:#c2c2c5;letter-spacing:.04em;font-size:12px;font-style:normal}.film-no{color:#a4a4a8;letter-spacing:.14em;font-size:12px;position:absolute;top:18px;left:22px}.film-note{color:#e4e4e6;opacity:0;background:linear-gradient(#00000073,#000000eb);align-items:flex-end;padding:22px;font-size:14px;line-height:1.5;transition:opacity .4s;display:flex;position:absolute;inset:0}.film-frame:hover .film-note,.film-frame:focus-visible .film-note{opacity:1}@media (max-width:800px){.fav{padding-top:96px}.fav-block{margin-top:80px}}
