:root{--bg: #070707;--fg: #f2f0ec;--muted: #8a8a85;--accent: #ff5bd1;--font-display: "Clash Display", sans-serif;--font-body: "Switzer", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scrollbar-width:thin;scrollbar-color:#333 var(--bg)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.05;text-transform:uppercase}section{position:relative;z-index:1;padding:20vh 6vw}.section-label{display:block;font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-bottom:3rem}.section-label:before{content:"● ";color:var(--accent);font-size:.6rem}.preloader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;background:var(--bg)}.preloader__title{font-family:var(--font-display);font-size:clamp(1.2rem,3vw,2rem);letter-spacing:.04em;text-transform:uppercase}.preloader__enter{display:inline-flex;justify-content:center;align-items:center;position:relative;font-family:var(--font-body);font-size:.85rem;line-height:1;letter-spacing:.15em;color:#fff;background:none;border:1px solid #ffffff80;padding:12px 32px;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:opacity 2s,border-color .22s,background-color .22s,transform .22s,box-shadow .22s}.preloader__enter:focus-visible{border-color:#ffffffe6;outline:none;box-shadow:0 0 0 2px #7cb1ff80}.preloader__enter:active{background:#7cb1ff1f;border-color:#7cb1ffd9;transform:scale(.985)}@media(min-width:1800px){.preloader__enter{padding:14px 38px;font-size:.95rem}}@media(max-width:1024px){.preloader__enter{padding:11px 28px;font-size:.8rem}}@media(max-width:768px){.preloader__enter{letter-spacing:.11em;min-width:0;padding:15px 50px;font-size:1rem}}@media(max-width:480px){.preloader__enter{letter-spacing:.11em;padding:15px 50px;font-size:.92rem}}@media(min-width:390px)and (max-width:480px){.preloader__enter{padding:13px 40px;font-size:.85rem}}.cta-glitch{display:inline-block;position:relative}.cta-glitch:before,.cta-glitch:after{content:attr(data-text);opacity:0;white-space:nowrap;letter-spacing:inherit;pointer-events:none;position:absolute;top:0;left:0}.cta-glitch:before{color:#7cb1ff}.cta-glitch:after{color:#ff8c78e6}.glitch-btn:hover .cta-glitch,.glitch-btn:focus-visible .cta-glitch,.glitch-btn:active .cta-glitch{animation:glitch-base .28s steps(2,end) infinite}.glitch-btn:hover .cta-glitch:before,.glitch-btn:focus-visible .cta-glitch:before,.glitch-btn:active .cta-glitch:before{opacity:1;animation:glitch-a .28s steps(2,end) infinite}.glitch-btn:hover .cta-glitch:after,.glitch-btn:focus-visible .cta-glitch:after,.glitch-btn:active .cta-glitch:after{opacity:1;animation:glitch-b .28s steps(2,end) .14s infinite}@keyframes glitch-base{0%{transform:skew(0)}33%{transform:skew(-4deg) scaleX(1.02)}66%{transform:skew(3deg) scaleX(.98)}to{transform:skew(0)}}@keyframes glitch-a{0%{clip-path:inset(0 0 72%);transform:translate(-3px) skew(-6deg)}50%{clip-path:inset(42% 0 22%);transform:translate(2px) skew(4deg)}to{clip-path:inset(66% 0 0);transform:translate(-2px) skew(-3deg)}}@keyframes glitch-b{0%{clip-path:inset(62% 0 0);transform:translate(3px) skew(5deg)}50%{clip-path:inset(18% 0 52%);transform:translate(-2px) skew(-4deg)}to{clip-path:inset(0 0 76%);transform:translate(2px) skew(3deg)}}@media(prefers-reduced-motion:reduce){.glitch-btn .cta-glitch,.glitch-btn .cta-glitch:before,.glitch-btn .cta-glitch:after{animation:none!important}.glitch-btn .cta-glitch:before,.glitch-btn .cta-glitch:after{opacity:0!important}}.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 6vw;mix-blend-mode:difference}.nav__logo{font-family:var(--font-display);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.nav__links{display:flex;gap:2rem;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase}.nav__links a{opacity:.7;transition:opacity .3s ease}.nav__links a:hover{opacity:1}.hero{height:100svh;padding:0;display:flex;align-items:flex-end}.hero__canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.hero__content{position:relative;z-index:2;padding:0 6vw 8vh;pointer-events:none}.hero__title{font-size:clamp(3rem,11vw,11rem);overflow:hidden}.hero__title .line{display:block;overflow:hidden}.hero__title .line span{display:inline-block;will-change:transform}.hero__sub{margin-top:1.5rem;max-width:32ch;color:var(--muted);font-size:clamp(.9rem,1.4vw,1.1rem)}.hero__scroll-hint{position:absolute;right:6vw;bottom:8vh;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}.manifest__text{font-family:var(--font-display);font-size:clamp(1.8rem,5vw,4.5rem);font-weight:500;line-height:1.15;text-transform:none;max-width:18ch}.manifest__text .word{display:inline-block;opacity:.15}.project{padding:3rem 0;border-bottom:1px solid #1d1d1d}.project:first-of-type{border-top:1px solid #1d1d1d}.project__row{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:2rem;transition:padding-left .4s ease}.project__row[role=button]{cursor:pointer}.project__row:focus-visible{outline:1px solid var(--accent);outline-offset:6px}.project__row:hover{padding-left:1.5rem}.project__index{font-size:.8rem;color:var(--muted)}.project__name{font-size:clamp(1.6rem,4vw,3.5rem);transition:color .3s ease}.project__row:hover .project__name{color:var(--accent)}.project__meta{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.project__plus{display:inline-block;margin-left:1rem;color:var(--accent);transition:transform .4s ease}.project--open .project__plus{transform:rotate(45deg)}.project__details{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s cubic-bezier(.22,1,.36,1)}.project--open .project__details{grid-template-rows:1fr}.project__details-inner{overflow:hidden;min-height:0}.project__desc{max-width:62ch;font-size:.95rem;color:var(--muted);margin-top:1.5rem}.project__desc:first-child{margin-top:2.5rem}.project__skills{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem;margin-bottom:.5rem}.project__skills li{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid #1d1d1d;border-radius:999px;padding:.4rem .9rem}.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.about__text{font-size:clamp(1.1rem,1.8vw,1.5rem);max-width:38ch}.about__list{list-style:none;font-size:.9rem;color:var(--muted)}.about__list li{padding:.8rem 0;border-bottom:1px solid #1d1d1d}@media(max-width:768px){.about__grid{grid-template-columns:1fr}}.contact{min-height:80svh;display:flex;flex-direction:column;justify-content:center}.contact__title{font-size:clamp(2.5rem,9vw,9rem)}.contact__title a{transition:color .3s ease}.contact__title a:hover{color:var(--accent)}.contact__footer{display:flex;justify-content:space-between;margin-top:6rem;font-size:.8rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.contact__footer a:hover{color:var(--fg)}
