:root{--bg:#050607;--ts:1}*{box-sizing:border-box;margin:0}html,body{background:var(--bg);color:#fff;font-family:Inter,system-ui,sans-serif}#hero{height:100vh;position:relative;overflow:hidden}#glow{opacity:0;background:radial-gradient(circle,#ffffff52,#ffffff1a 18%,#0000 42%);position:absolute;inset:0}#title{perspective:8em;width:0;height:0;transform-style:preserve-3d;font:900 11vw/1 Montserrat,sans-serif;position:absolute;top:50%;left:50%}.slot{height:1em;transform-style:preserve-3d;position:absolute;top:0;left:0}.layer{text-align:center;white-space:pre;position:absolute;inset:0}.layer.front{background:linear-gradient(#fff 18%,#e1e4eb 50%,#8a8f9c 84%);color:#0000;-webkit-background-clip:text;background-clip:text}#dot{background:#f1f2f5;border-radius:50%;width:.22em;height:.22em;position:absolute;top:0;left:0}#particles{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}#role,#cta{top:calc(60vh + 11vw * var(--ts) * .45);opacity:0;position:absolute}#role{color:#e9ebf0;font-size:clamp(14px,1.5vw,26px);left:11.6vw}#role b{font-weight:700}#role i{color:#b9bdc7;font-weight:400}#cta{color:#cfd2da;align-items:center;gap:10px;font-size:clamp(11px,.8vw,14px);text-decoration:none;display:flex;right:11vw}#cta .ico,#cta .pill{border:1px solid #ffffff2e;border-radius:999px;place-items:center;display:grid}#cta .ico{width:2.6em;height:2.6em}#cta .pill{padding:.7em 1.6em}#cta:hover .pill,#cta:focus-visible .pill{background:#ffffff14}#nav{z-index:10;letter-spacing:.08em;opacity:0;justify-content:space-between;align-items:center;padding:22px 3vw;font-size:clamp(10px,.75vw,13px);display:flex;position:fixed;top:0;left:0;right:0}#nav .brand{font-weight:700}#nav .links{gap:2.4vw;display:flex}#nav a{color:#aeb2bc;text-transform:uppercase;text-decoration:none}#nav a:hover,#nav a:focus-visible{color:#fff}#about{grid-template-columns:1fr 1.15fr;align-items:end;gap:4vw;padding:22vh 11vw 26vh;display:grid;position:relative}#about .eyebrow{grid-column:1/-1}.eyebrow{letter-spacing:.25em;text-transform:uppercase;color:#7d818a;font-size:clamp(10px,.7vw,12px)}.big{letter-spacing:-.02em;background:linear-gradient(#dfe2e8 10%,#8a8e97 55%,#3d4047 95%);color:#0000;-webkit-background-clip:text;background-clip:text;font:900 clamp(64px,10vw,200px)/.9 Montserrat,sans-serif}#about .card{background:#ffffff09;border:1px solid #ffffff12;border-radius:18px;padding:clamp(22px,2.6vw,44px)}#about .reveal{color:#f1f2f5;font-size:clamp(16px,1.35vw,24px);line-height:1.6}#about .reveal b{font-weight:700}#skills .head,#work .head{gap:2vw;padding:0 11vw;display:grid}#skills{padding:10vh 0 18vh;overflow:hidden}.marquee{gap:1.5vw;margin-top:8vh;display:grid}.track{width:max-content;animation:32s linear infinite marquee;display:flex}.track.reverse{animation-direction:reverse}.track span{color:#0000;-webkit-text-stroke:1px #4a4e57;white-space:nowrap;padding-right:.6em;font:900 clamp(48px,7vw,140px)/1 Montserrat,sans-serif}.track span:nth-child(odd){-webkit-text-stroke-color:#8a8e97}@keyframes marquee{to{transform:translate(-50%)}}#work{padding:10vh 0 6vh}.stack{padding:8vh 11vw 0}.proj{transform-origin:50% 0;background:#0c0d10;border:1px solid #ffffff14;border-radius:24px;grid-template-columns:1fr 1.2fr;gap:3vw;min-height:72vh;margin-bottom:6vh;padding:clamp(24px,3vw,56px);display:grid}.proj .info{flex-direction:column;gap:18px;display:flex}.proj .num{letter-spacing:.2em;color:#7d818a;font-size:13px}.proj h3{background:linear-gradient(#fff 20%,#9a9ea8 90%);color:#0000;-webkit-background-clip:text;background-clip:text;font:900 clamp(34px,4vw,72px)/1 Montserrat,sans-serif}.proj p{color:#b9bdc7;max-width:34ch;font-size:clamp(15px,1.1vw,19px);line-height:1.6}.tags{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.tags li{color:#cfd2da;border:1px solid #ffffff24;border-radius:999px;padding:6px 12px;font-size:12px}.more{color:#fff;margin-top:auto;font-weight:600;text-decoration:none}.more:hover,.more:focus-visible{text-decoration:underline}.media{background:radial-gradient(120% 90% at 30% 20%,#23262d,#0a0b0d 70%);border:1px solid #ffffff0f;border-radius:16px;place-items:center;min-height:260px;display:grid;position:relative;overflow:hidden}.media img{object-fit:cover;object-position:top left;width:100%;height:100%;position:absolute;inset:0}.shade{border-radius:inherit;opacity:0;pointer-events:none;background:#000;position:absolute;inset:0}@media (width>=768px){.proj{will-change:transform}}#contact{gap:4vh;padding:22vh 11vw 5vh;display:grid}.huge{letter-spacing:-.03em;background:linear-gradient(#fff 15%,#c9ccd4 50%,#6d717a 90%);color:#0000;-webkit-background-clip:text;background-clip:text;font:900 clamp(64px,15vw,300px)/.9 Montserrat,sans-serif}.mail{color:#e9ebf0;border-bottom:1px solid #ffffff40;width:fit-content;padding-bottom:4px;font-size:clamp(20px,2.4vw,40px);text-decoration:none}.mail:hover,.mail:focus-visible{border-color:#fff}.social{gap:28px;padding:0;list-style:none;display:flex}.social a,footer a{color:#aeb2bc;text-transform:uppercase;letter-spacing:.1em;font-size:13px;text-decoration:none}.social a:hover,.social a:focus-visible,footer a:hover,footer a:focus-visible{color:#fff}footer{color:#7d818a;border-top:1px solid #ffffff14;justify-content:space-between;margin-top:14vh;padding-top:24px;font-size:13px;display:flex}@media (prefers-reduced-motion:reduce){.track{animation:none}}@media (width<=640px){.proj{grid-template-columns:1fr;min-height:0}#skills .head,#work .head,.stack,#contact{padding-left:6vw;padding-right:6vw}#about{grid-template-columns:1fr;padding:16vh 6vw 20vh}#nav .links{display:none}#role,#cta{top:calc(60vh + 11vw * var(--ts) * .45 + 8px)}}
