: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{font-family:var(--font-body);font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bg);background:var(--accent);border:none;border-radius:999px;padding:1rem 2.5rem;cursor:pointer;transition:transform .3s ease}.preloader__enter:hover{transform:scale(1.06)}.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__canvas:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 45%,transparent 35%,rgba(0,0,0,.55) 100%)}.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{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:2rem;padding:3rem 0;border-bottom:1px solid #1d1d1d;cursor:pointer;transition:padding-left .4s ease}.project:first-of-type{border-top:1px solid #1d1d1d}.project: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:hover .project__name{color:var(--accent)}.project__meta{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.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)}
