:root{--accent:#ff5c39;--bg:#f5f3ef;--bg-soft:#ebe8e1;--text:#121214;--muted:#6b6860;--line:#e2ddd3;--card:#fff;--header:#f5f3efb8;--display:"Space Grotesk", Inter, system-ui, sans-serif;--gutter:clamp(16px, 4vw, 56px)}:root[data-theme=dark]{--bg:#0a0a0c;--bg-soft:#141418;--text:#f3f1ec;--muted:#8d8a93;--line:#22222a;--card:#141418;--header:#0a0a0ca8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,sans-serif;transition:background .3s,color .3s;overflow-x:hidden}::selection{background:var(--accent);color:#fff}.display{letter-spacing:-.03em;font-family:var(--display)!important;font-weight:700!important}.accent{color:var(--accent)}.muted{color:var(--muted)}.eyebrow{letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:600;display:inline-block;color:var(--accent)!important}.lead{max-width:60ch;font-size:18px;line-height:1.65;color:var(--muted)!important}.topbar{z-index:100;padding:18px var(--gutter);color:#fff;-webkit-backdrop-filter:blur()saturate();background-color:#0000;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;transition:background-color .3s,border-color .3s,color .3s,padding .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;display:flex;position:fixed;inset:0 0 auto}.topbar.is-scrolled{background-color:var(--header);-webkit-backdrop-filter:blur(18px)saturate(1.4);border-bottom-color:var(--line);color:var(--text);padding-top:10px;padding-bottom:10px}.shell:has(.project) .topbar{color:var(--text)}.brand{align-items:center;gap:10px;text-decoration:none;display:flex;color:inherit!important}.brand-logo{color:var(--accent);flex:none;transition:transform .3s cubic-bezier(.2,.7,.2,1)}.brand:hover .brand-logo{transform:rotate(-8deg)scale(1.06)}.footer-brand{align-items:center;gap:8px;display:inline-flex}.footer-brand svg{color:var(--accent)}.brand-name{font-family:var(--display);letter-spacing:-.01em;font-size:17px}.nav{align-items:center;gap:22px;display:flex}.nav>a{cursor:pointer;opacity:.85;font-weight:500;color:inherit!important}.nav>a:hover{opacity:1;color:var(--accent)!important}.topbar .ant-btn-text{color:inherit!important}@media (width<=640px){.nav>a:not(.ant-btn){display:none}.nav{gap:6px}.brand-name{display:none}}.hero{min-height:100svh;padding:120px var(--gutter) clamp(48px, 9vh, 96px);color:#fff;background:#050506;align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-video{object-fit:cover;width:100%;height:100%}.hero-wall{flex-direction:column;gap:12px;animation:1.2s both wallIn;display:flex;position:absolute;inset:-8% -10%;transform:rotate(-6deg)}@keyframes wallIn{0%{opacity:0}to{opacity:.7}}.wall-row{flex:1;min-height:0;overflow:visible}.wall-track{will-change:transform;gap:12px;width:max-content;height:100%;animation:70s linear infinite wallScroll;display:flex}.wall-row:nth-child(2) .wall-track{margin-left:-22vw}@keyframes wallScroll{0%{transform:translate(0,0)}to{transform:translate(-50%)}}.hero-wall video{aspect-ratio:16/9;object-fit:cover;background:#111;border-radius:14px;flex:none;width:auto;height:100%}.hero-wall video.is-vertical{aspect-ratio:9/16}@media (width<=700px){.hero-wall{inset:-6% -20%}}.hero-shade{background:radial-gradient(120% 80% at 20% 100%,#050506f5 20%,#0505068c 60%,#05050640),linear-gradient(#05050699,#0000 25%);position:absolute;inset:0}.hero-content{z-index:1;max-width:980px;position:relative}.hero-mark{width:auto;height:clamp(56px,7vw,88px);color:var(--accent);margin-bottom:clamp(20px,3vw,32px);animation:.9s cubic-bezier(.2,.7,.2,1) both heroIn;display:block}.hero-title{font-family:var(--display);letter-spacing:-.045em;max-width:8ch;margin:0 0 clamp(16px,2vw,24px);font-size:clamp(56px,9vw,136px);font-weight:700;line-height:.92;animation:.9s cubic-bezier(.2,.7,.2,1) 80ms both heroIn}.hero-role{font-family:var(--display);letter-spacing:-.01em;color:var(--accent);margin:0 0 10px;font-size:clamp(20px,2.4vw,32px);font-weight:600;animation:.9s cubic-bezier(.2,.7,.2,1) .16s both heroIn}.hero-intro{color:#ffffffb8;max-width:56ch;margin:0 0 32px;font-size:clamp(16px,1.6vw,21px);line-height:1.55;animation:.9s cubic-bezier(.2,.7,.2,1) .24s both heroIn}@keyframes heroIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.ghost-btn{color:#fff!important;border-color:#ffffff59!important}.section{padding:clamp(56px, 9vw, 120px) var(--gutter);max-width:1480px;margin:0 auto}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;display:flex}.section-head h2{margin:0!important;font-size:clamp(36px,5vw,64px)!important}.section-head>.ant-segmented,.project-head>.ant-segmented{scrollbar-width:none;max-width:100%;overflow-x:auto}.section-head>.ant-segmented::-webkit-scrollbar{display:none}.project-head>.ant-segmented::-webkit-scrollbar{display:none}.stats{padding-top:64px;padding-bottom:32px}.stat{border-left:2px solid var(--accent);flex-direction:column;gap:10px;padding-left:22px;display:flex}.stat-value{font-family:var(--display);letter-spacing:-.04em;color:var(--text);font-size:clamp(44px,5.4vw,76px);font-weight:700;line-height:.9}.stat-label{color:var(--muted);max-width:26ch;font-size:15px;line-height:1.45}.marquee{border-block:1px solid var(--line);margin-top:40px;padding:22px 0;overflow:hidden}.marquee-track{width:max-content;animation:40s linear infinite marquee;display:flex}.marquee span{font-family:var(--display);letter-spacing:-.02em;white-space:nowrap;color:var(--muted);padding-right:36px;font-size:clamp(22px,3vw,36px);font-weight:600}.marquee i{color:var(--accent);vertical-align:middle;padding-left:36px;font-size:.6em;font-style:normal}@keyframes marquee{to{transform:translate(-50%)}}.project-card{box-shadow:none!important;background:0 0!important}.project-card .ant-card-cover{border-radius:18px;overflow:hidden}.project-card .ant-card-body{padding:18px 4px 0!important}.card-meta{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.card-title{letter-spacing:-.02em;transition:color .2s;font-family:var(--display)!important;margin:0 0 2px!important}.project-card:hover .card-title{color:var(--accent)}.card-year{font-variant-numeric:tabular-nums;white-space:nowrap}.card-tags{margin-top:10px}.card-overlay{color:#fff;background:linear-gradient(#0000 55%,#0000008c);justify-content:space-between;align-items:flex-end;padding:16px;font-size:13px;font-weight:500;display:flex;position:absolute;inset:0}.card-count{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000073;border-radius:999px;padding:4px 10px}.card-cta{opacity:0;transition:all .25s;transform:translate(-8px)}.project-card:hover .card-cta{opacity:1;transform:none}.hover-video{background:var(--bg-soft);cursor:pointer;border-radius:inherit;position:relative;overflow:hidden}.hover-video img,.hover-video video{object-fit:cover;width:100%;height:100%;transition:opacity .35s,transform .6s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.hover-video video{opacity:0}.hover-video.is-active video{opacity:1}.hover-video:hover img,.hover-video:hover video{transform:scale(1.04)}.play-icon{color:#fff;opacity:0;filter:drop-shadow(0 6px 18px #00000073);font-size:54px;transition:all .25s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.9)}.hover-video:hover .play-icon{opacity:1;transform:translate(-50%,-50%)scale(1)}.hover-video:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.project{padding-top:110px}.back{gap:8px;margin-bottom:28px;display:inline-flex;color:var(--muted)!important}.back:hover{color:var(--accent)!important}.project-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;display:flex}.project-title{margin:4px 0 16px!important;font-size:clamp(44px,7vw,96px)!important;line-height:.95!important}.subhead{font-family:var(--display)!important;margin:56px 0 20px!important}.piece-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:28px 20px;display:grid}.piece-grid.is-vertical{grid-template-columns:repeat(auto-fill,minmax(min(46%,220px),1fr));gap:24px 14px}.piece .hover-video{border-radius:14px}.piece-title{margin-top:10px;font-weight:500;display:block}.piece-duration{color:#fff;font-variant-numeric:tabular-nums;background:#0009;border-radius:6px;padding:2px 8px;font-size:12px;position:absolute;bottom:10px;right:10px}.next-project{border-top:1px solid var(--line);flex-direction:column;gap:4px;margin-top:96px;padding-top:40px;display:flex;color:var(--text)!important}.next-project .display{font-size:clamp(32px,5vw,64px)}.next-project:hover .display{color:var(--accent)}.about h2{margin-top:0!important;font-size:clamp(34px,4.6vw,58px)!important}.skills{flex-wrap:wrap;gap:10px;display:flex}.skill{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:12px 20px;font-weight:500;transition:all .2s}.skill:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.experience{max-width:860px;margin-top:72px}.experience .ant-timeline{margin-top:20px}.exp-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.exp-role{font-family:var(--display)!important;margin:0!important}.exp-period{font-variant-numeric:tabular-nums;font-size:13px}.exp-org{margin-top:2px;display:block}.exp-text{color:var(--muted)!important;margin:8px 0 0!important}.contact{text-align:center;padding-bottom:140px}.contact-title{margin:8px 0 40px!important;font-size:clamp(40px,7vw,100px)!important;line-height:1!important}.contact-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.footer{padding:28px var(--gutter);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:14px;display:flex}.player-modal .ant-modal-content{overflow:hidden;padding:12px!important}.player-frame{aspect-ratio:16/9;background:#000;border-radius:10px;place-items:center;display:grid;overflow:hidden}.player-frame.is-vertical{aspect-ratio:9/16;max-height:78vh;margin:0 auto}.player-media{object-fit:contain;border:0;width:100%;height:100%;display:block}.player-bar{justify-content:space-between;align-items:center;gap:16px;padding:14px 6px 4px;display:flex}@media (prefers-reduced-motion:reduce){.hero-mark,.hero-title,.hero-role,.hero-intro{animation:none}.hero-wall{opacity:.7;animation:none}.marquee-track{animation-duration:120s}.wall-row:first-child .wall-track{animation-duration:240s!important}.wall-row:nth-child(2) .wall-track{animation-duration:186s!important}}
