:root{--bg:#0a0a0a;--text:#f4f1ea;--muted:#b7b2a8;--line:#2b2b2b;--accent:#ff7f3f}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Manrope,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.gate{color:#f9f6ef;cursor:pointer;z-index:60;background:radial-gradient(circle at 70% 20%,#ff7f3f40,#0000 32%),radial-gradient(circle at 20% 80%,#ff7f3f26,#0000 36%),#070707;border:0;align-content:center;place-items:center;gap:8px;width:100%;display:grid;position:fixed;inset:0}.gate:not(.ready){cursor:wait}.gate:before{content:"";opacity:.5;background:repeating-linear-gradient(#ffffff05 0 1px,#0000 2px 4px);position:absolute;inset:0}.gate-mark,.gate-title,.gate-hint{z-index:1;position:relative}.gate-mark{letter-spacing:.24em;font-size:11px}.gate-title{letter-spacing:-.04em;margin:0;font-family:Bebas Neue,sans-serif;font-size:clamp(54px,14vw,156px);line-height:.84}.gate-hint{color:#d5c2b5;letter-spacing:.14em;margin:0;font-size:11px}.gate.ready .gate-title{animation:2.2s steps(2,end) infinite flicker}@keyframes flicker{0%,to{text-shadow:none;transform:translate(0)}14%{text-shadow:2px 0 #ff7f3f8c;transform:translate(1px)}15%{text-shadow:-2px 0 #ffe0cc52;transform:translate(-1px)}}.site{opacity:0;transition:opacity .62s,transform .62s;transform:translateY(16px)}.site.entered{opacity:1;transform:translateY(0)}.scroll-progress{z-index:40;background:#ffffff0a;width:100%;height:2px;position:fixed;top:0;left:0}.scroll-progress span{transform-origin:0;background:linear-gradient(90deg,#ff7f3f59,#ffbb92f2);width:100%;height:100%;display:block}.grain{pointer-events:none;z-index:-2;opacity:.18;background-image:radial-gradient(#ffffff3d .35px,#0000 .35px);background-size:4px 4px;position:fixed;inset:0}.project-preview{pointer-events:none;z-index:-1;opacity:0;transition:opacity .3s;position:fixed;inset:0}.project-preview.visible{opacity:1}.preview-media{opacity:0;transition:opacity .36s,transform .36s;position:absolute;inset:0;transform:scale(1.04)}.preview-media.active{opacity:1;transform:scale(1)}.visual-aether{background:linear-gradient(130deg,#ff844142,#ff84410d 36%,#080808d9 70%),radial-gradient(circle at 70% 22%,#ffb38933,#0000 26%),#0a0a0a}.visual-mono{background:linear-gradient(145deg,#db916733,#080808d9 58%),repeating-linear-gradient(90deg,#ffffff08 0 1px,#0000 1px 26px),#090909}.visual-nova{background:radial-gradient(circle at 18% 18%,#ff7f3f2e,#0000 34%),radial-gradient(circle at 82% 82%,#ff7f3f29,#0000 30%),#070707}.topbar{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;background:#0c0c0cc7;border-radius:999px;width:fit-content;padding:10px 14px;position:fixed;top:12px;left:50%;transform:translate(-50%)}.topbar-links{justify-content:center;align-items:center;gap:12px;display:inline-flex}.topbar a,.topbar button{letter-spacing:.14em;font-size:11px}.topbar button{color:#f4f1ea;cursor:pointer;background:#ffffff05;border:1px solid #4f3f33;border-radius:999px;padding:6px 12px;transition:transform .22s,border-color .22s}.topbar button:hover{border-color:#a17658;transform:translateY(-1px)}.menu-takeover{z-index:35;pointer-events:none;opacity:0;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#050505c7;transition:opacity .32s;position:fixed;inset:0}.menu-takeover.open{opacity:1;pointer-events:auto}.menu-shell{place-content:center;justify-items:center;gap:14px;height:100%;display:grid}.menu-shell p{letter-spacing:.2em;color:#ccb6a6;margin:0;font-size:11px}.menu-shell a,.menu-shell button{letter-spacing:.02em;color:#f7f1ea;cursor:pointer;opacity:0;background:0 0;border:0;font-family:Bebas Neue,sans-serif;font-size:clamp(44px,10vw,120px);line-height:.86;transform:translateY(16px)}.menu-takeover.open .menu-shell a,.menu-takeover.open .menu-shell button{animation:.42s forwards menuRise}.menu-takeover.open .menu-shell a:first-of-type{animation-delay:70ms}.menu-takeover.open .menu-shell a:nth-of-type(2){animation-delay:.13s}.menu-takeover.open .menu-shell a:nth-of-type(3){animation-delay:.19s}.menu-takeover.open .menu-shell a:nth-of-type(4){animation-delay:.25s}.menu-takeover.open .menu-shell button{animation-delay:.31s}@keyframes menuRise{to{opacity:1;transform:translateY(0)}}main{width:min(1050px,100% - 24px);margin-inline:auto;padding-top:94px;padding-bottom:52px}.mono{letter-spacing:.18em;color:#d0c7bd;margin:0;font-size:11px}.hero{align-content:center;min-height:82vh;display:grid}.hero h1{letter-spacing:-.02em;margin:10px 0 0;font-family:Bebas Neue,sans-serif;font-size:clamp(64px,14vw,186px);font-weight:400;line-height:.78;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.hero-line{opacity:0;animation:.62s cubic-bezier(.22,1,.36,1) forwards heroRise;display:block;transform:translateY(28px)}@keyframes heroRise{to{opacity:1;transform:translateY(0)}}.hero-copy{max-width:560px;color:var(--muted);opacity:0;margin:20px 0 0;font-size:clamp(14px,2.1vw,18px);animation:.9s .52s forwards fadeInCopy}@keyframes fadeInCopy{to{opacity:1}}.marquee{border-block:1px solid var(--line);white-space:nowrap;margin-top:10px;display:flex;overflow:hidden}.marquee div{letter-spacing:.16em;color:#cfbaab;flex:none;min-width:100%;padding:14px 0;font-size:11px;animation:20s linear infinite loop}.marquee div:last-child{animation-delay:-10s}@keyframes loop{0%{transform:translate(0)}to{transform:translate(-100%)}}.work,.about,.contact{margin-top:clamp(64px,10vw,120px)}.project-list{border-top:1px solid var(--line);margin-top:16px}.project-item{border-bottom:1px solid var(--line);opacity:0;outline:none;gap:6px;padding:18px 0;transition:transform .25s,padding-left .25s,color .25s;animation:.65s forwards itemReveal;display:grid;transform:translateY(18px)}@keyframes itemReveal{to{opacity:1;transform:translateY(0)}}.project-item:hover{padding-left:8px;transform:translate(10px)}.project-item:hover h2,.project-item:focus-visible h2{color:#ffd3b6}.project-thumb{aspect-ratio:16/9;opacity:.85;border:1px solid #ffffff14;border-radius:12px;width:min(380px,100%);margin-bottom:8px;transition:transform .28s,opacity .28s}.project-item:hover .project-thumb,.project-item:focus-visible .project-thumb{opacity:1;transform:translateY(-2px)scale(1.02)}.project-item span{letter-spacing:.16em;color:#d3c6b9;font-size:11px}.project-item h2{margin:0;font-family:Bebas Neue,sans-serif;font-size:clamp(36px,5vw,70px);font-weight:400;line-height:.9}.project-item p{color:var(--muted);max-width:760px;margin:0}.project-item strong{letter-spacing:.12em;color:#efcab0;font-size:12px}.about>p{max-width:780px;margin-top:14px;font-size:clamp(16px,2.4vw,26px);line-height:1.2}.awards{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.awards span{letter-spacing:.08em;color:#edc3a4;border:1px solid #5f493a;border-radius:999px;padding:6px 12px;font-size:11px}.contact a{letter-spacing:-.02em;margin-top:12px;font-family:Bebas Neue,sans-serif;font-size:clamp(36px,8vw,94px);line-height:.88;display:inline-block}.contact p{color:var(--muted);letter-spacing:.06em;margin-top:10px;font-size:12px}footer{border-top:1px solid var(--line);justify-content:space-between;gap:8px;width:min(1050px,100% - 24px);margin:20px auto 30px;padding-top:12px;display:flex}footer p{letter-spacing:.1em;color:#c6bdb3;margin:0;font-size:11px}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (width<=860px){.topbar{border-radius:18px;width:min(100%,100% - 20px)}.topbar-links{flex-wrap:wrap;justify-content:center}.hero h1{line-height:.84}.contact a{line-height:.95}footer{flex-direction:column}.project-preview{display:none}}
