:root{
  --bg:#080808;--surface:#101010;--text:#f1f0eb;--muted:#858585;--line:#242424;
  --accent:#c8ff32;--purple:#a48cff;--cyan:#63d7ff;
  --sans:"Inter",sans-serif;--display:"Space Grotesk",sans-serif;--mono:"DM Mono",monospace;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);overflow-x:hidden;cursor:none}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.section{position:relative;padding:9vw 6vw;border-top:1px solid var(--line);overflow:hidden}
#noise{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;opacity:.055;z-index:20}.grid-bg{position:fixed;inset:0;z-index:-1;opacity:.25;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,black,transparent 85%)}
.loader{position:fixed;inset:0;background:#050505;z-index:100;display:grid;place-items:center}.loader__inner{text-align:center}.loader__counter{display:block;font:500 7vw var(--mono)}.loader__label{font:10px var(--mono);letter-spacing:.2em;color:var(--muted)}
.cursor{position:fixed;pointer-events:none;z-index:101;border-radius:50%;transform:translate(-50%,-50%)}.cursor--outer{width:34px;height:34px;border:1px solid #fff;transition:width .25s,height .25s}.cursor--inner{width:5px;height:5px;background:var(--accent)}
.nav{position:fixed;top:0;left:0;right:0;height:84px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;z-index:30;mix-blend-mode:difference}.brand{font:700 28px var(--display)}.brand span{color:var(--accent)}.nav__status{font:10px var(--mono);letter-spacing:.08em}.nav__status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:8px;box-shadow:0 0 14px var(--accent)}.menu{border:0;background:none;display:flex;flex-direction:column;gap:6px;padding:10px}.menu span{display:block;width:28px;height:1px;background:#fff}
.hero{min-height:100svh;padding-top:150px;display:flex;flex-direction:column;justify-content:center}.hero__meta{position:absolute;top:115px;left:6vw;right:6vw;display:flex;justify-content:space-between;font:10px var(--mono);color:var(--muted)}.eyebrow,.section-tag,.section-count,.project__info span,.statement__details,.contact__main>p{font:10px var(--mono);letter-spacing:.13em;color:var(--muted)}.hero__title{font:700 clamp(58px,10.8vw,170px);line-height:.84;letter-spacing:-.07em;margin:30px 0}.line{display:block}.line--accent{color:var(--accent);padding-left:10vw}.hero__bottom{display:flex;justify-content:space-between;align-items:end;max-width:850px;margin-top:40px}.hero__bottom p{font-size:14px;line-height:1.6;color:var(--muted);max-width:390px}.hero__bottom strong{color:var(--text)}.circle-link{width:70px;height:70px;border:1px solid #555;border-radius:50%;display:grid;place-items:center;font-size:25px}.hero__orb{position:absolute;width:45vw;height:45vw;right:-20vw;top:30%;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d9ff62,transparent 12%,#2a350e 38%,transparent 70%);filter:blur(18px);opacity:.28;z-index:-1}
.statement{display:grid;grid-template-columns:1fr 3fr;gap:5vw}.statement__text{max-width:1000px}.statement__text p{font:500 clamp(34px,5.4vw,82px) var(--display);letter-spacing:-.05em;line-height:1.02;margin:0}.statement__text em,.display span,.about h2 i,.modal-title i{color:var(--accent);font-style:normal}.statement__details{grid-column:2;display:flex;gap:28px;margin-top:60px;flex-wrap:wrap}
.section-head{display:flex;justify-content:space-between;margin-bottom:70px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw 2vw}.project--large,.project--wide{grid-column:span 2}.project__visual{position:relative;min-height:530px;overflow:hidden;background:#111}.project:not(.project--large):not(.project--wide) .project__visual{min-height:600px}.project__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.05),transparent 70%);transform:translateX(-100%);transition:transform .8s}.project:hover .project__visual:after{transform:translateX(100%)}.project__info{display:flex;justify-content:space-between;padding:22px 2px}.project__info h2{font:600 clamp(27px,3.2vw,48px) var(--display);letter-spacing:-.05em;margin:10px 0 0}.project__info h2 i{font-style:normal;color:var(--muted)}.arrow{font-size:28px}.visual--football{background:radial-gradient(circle at 60% 45%,#53691c,#111 30%,#070707 65%)}.visual__number{position:absolute;top:20px;left:25px;font:12px var(--mono)}.football-ball{position:absolute;font-size:clamp(130px,20vw,300px);left:48%;top:45%;transform:translate(-50%,-50%);filter:grayscale(1) contrast(1.3);animation:float 5s ease-in-out infinite}.visual__word{position:absolute;bottom:-35px;left:2%;font:800 clamp(90px,15vw,230px) var(--display);letter-spacing:-.1em;opacity:.08;white-space:nowrap}.visual--web{background:#0c1020;background-image:linear-gradient(rgba(99,215,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(99,215,255,.08) 1px,transparent 1px);background-size:35px 35px}.code-float{position:absolute;top:40px;right:50px;color:var(--cyan);font:30px var(--mono)}.web-title{position:absolute;left:45px;top:45%;font:700 clamp(50px,7vw,110px) var(--display);line-height:.8;letter-spacing:-.08em}.web-lines{position:absolute;width:35%;height:1px;background:var(--cyan);right:10%;bottom:18%;box-shadow:0 -35px 0 rgba(99,215,255,.35),0 -70px 0 rgba(99,215,255,.15)}.visual--photo{background:linear-gradient(140deg,#262626,#050505)}.photo-frame{position:absolute;inset:12%;border:1px solid #777;background:radial-gradient(circle at 52% 50%,#aaa 0 2%,#333 3% 17%,transparent 18%),linear-gradient(130deg,transparent 40%,#777 41%,#111 58%,transparent 59%);filter:grayscale(1)}.photo-caption{position:absolute;bottom:25px;left:25px;font:11px var(--mono)}.visual--brand{background:#d7d5cc;color:#111;display:grid;place-items:center}.brand-big{font:800 clamp(90px,17vw,250px) var(--display);letter-spacing:-.12em}.brand-small{position:absolute;bottom:25px;left:25px;font:11px var(--mono)}.visual--social{background:#9c8cff;display:grid;place-items:center}.social-card{background:#0b0b0b;padding:35px 45px;transform:rotate(-6deg);font:15px var(--mono);box-shadow:25px 25px 0 rgba(0,0,0,.18)}.social-card strong{font:800 clamp(50px,7vw,105px) var(--display);line-height:.8;letter-spacing:-.09em}.visual--shop{background:linear-gradient(135deg,#d8ff5d,#1d260d);color:#0a0a0a;display:flex;flex-direction:column;justify-content:space-between;padding:35px}.visual--shop span{font:700 12px var(--mono)}.visual--shop strong{font:800 clamp(110px,18vw,260px) var(--display);letter-spacing:-.12em}.visual--shop small{font:10px var(--mono)}
.skills__layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:80px}.display{font:600 clamp(48px,7vw,105px) var(--display);letter-spacing:-.07em;line-height:.88;margin:0}.skills__list{border-top:1px solid var(--line)}.skill{display:grid;grid-template-columns:50px 1fr;gap:15px;padding:25px 0;border-bottom:1px solid var(--line)}.skill span,.skill small{font:10px var(--mono);color:var(--muted)}.skill b{font-size:17px}.skill small{grid-column:2;margin-top:-8px}
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:80px}.big-index{font:10px var(--mono);color:var(--muted)}.about h2{font:600 clamp(60px,8vw,125px) var(--display);line-height:.82;letter-spacing:-.08em;margin:50px 0}.about__copy{max-width:580px;padding-top:80px}.about__copy p{font-size:18px;line-height:1.7;color:#b8b8b8}.about__copy strong{color:var(--text)}.text-link{display:inline-flex;gap:25px;margin-top:35px;border-bottom:1px solid #555;padding-bottom:10px;font:12px var(--mono)}
.lab__terminal{margin-top:80px;background:#0c0c0c;border:1px solid var(--line);box-shadow:0 30px 100px rgba(0,0,0,.35)}.terminal__bar{height:42px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:7px;padding:0 15px;color:#666;font:10px var(--mono)}.terminal__bar i{width:8px;height:8px;border-radius:50%;background:#333}.terminal__bar span{margin-left:15px}.lab pre{padding:45px;overflow:auto;font:14px/1.8 var(--mono);color:#ddd}.dim{color:#555}.purple{color:var(--purple)}.cyan{color:var(--cyan)}.orange{color:#ffbd7a}.green{color:#9dff75}
.contact{min-height:90vh;display:flex;flex-direction:column;justify-content:space-between}.contact__main{padding:10vh 0}.contact__main h2{font:700 clamp(75px,13vw,200px) var(--display);letter-spacing:-.09em;line-height:.78;margin:30px 0 70px}.contact__email{font:12px var(--mono);border-bottom:1px solid #444;padding-bottom:15px}.contact__email span{color:var(--accent);margin-left:20px}.contact__footer{display:flex;justify-content:space-between;font:9px var(--mono);color:#666}
.project-modal{position:fixed;inset:0;background:rgba(8,8,8,.96);z-index:50;display:grid;place-items:center;visibility:hidden;opacity:0;transition:.4s}.project-modal.is-open{visibility:visible;opacity:1}.modal-close{position:absolute;top:30px;right:5vw;background:none;border:0;font-size:45px;cursor:none}.modal-inner{width:min(900px,80vw)}.modal-index{font:10px var(--mono);color:var(--muted)}.modal-title{font:700 clamp(65px,10vw,150px) var(--display);line-height:.8;letter-spacing:-.08em;margin:35px 0}.modal-description{font-size:17px;color:#aaa;max-width:560px;line-height:1.6}.modal-tags{display:flex;gap:10px;margin-top:35px;flex-wrap:wrap}.modal-tags span{border:1px solid #444;padding:9px 12px;font:9px var(--mono)}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}@keyframes float{50%{transform:translate(-50%,-57%) rotate(8deg)}}@media(max-width:800px){body{cursor:auto}.cursor{display:none}.nav__status{display:none}.section{padding:22vw 7vw}.hero{padding-top:120px}.hero__title{font-size:18vw}.hero__meta{left:7vw;right:7vw}.statement,.skills__layout,.about__grid{grid-template-columns:1fr}.statement__text{grid-column:1}.statement__details{grid-column:1}.project-grid{grid-template-columns:1fr;gap:12vw}.project--large,.project--wide{grid-column:span 1}.project__visual,.project:not(.project--large):not(.project--wide) .project__visual{min-height:390px}.project__info h2{font-size:31px}.skills__list{margin-top:60px}.about__copy{padding-top:0}.contact__footer{flex-direction:column;gap:12px}.lab pre{padding:25px;font-size:11px}.hero__bottom{align-items:flex-start}.hero__bottom .circle-link{flex:none}}
