*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#000;--text:#84898e;--text-bright:#fff;--accent:#ffc700;--border:#a891414d;--font:"JetBrains Mono", monospace}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font);text-transform:uppercase;letter-spacing:-.02em;-webkit-font-smoothing:antialiased;line-height:1.4}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--bg)}.hero{border-bottom:1px solid var(--border);align-items:flex-end;min-height:100vh;padding:0 3vw 8vh;display:flex;position:relative}.hero:before{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#0000,#0000 10px,#ffc70004 10px 11px);position:absolute;inset:0}.hero-name{color:var(--text-bright);letter-spacing:-.04em;font-size:clamp(3rem,10vw,8rem);font-weight:700;line-height:.95}.hero-tagline{color:var(--accent);margin-top:2vh;font-size:clamp(.9rem,2vw,1.4rem)}.hero-meta{gap:.8em;margin-top:2vh;font-size:clamp(.7rem,1.2vw,.9rem);display:flex}.hero-sep{color:var(--accent)}.marquee{border-bottom:1px solid var(--border);white-space:nowrap;padding:1.5vw 0;overflow:hidden}.marquee-track{animation:60s linear infinite scroll;display:inline-flex}.marquee-text{color:var(--text);flex-shrink:0;padding-right:1vw;font-size:clamp(.8rem,1.5vw,1.2rem)}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.projects{border-bottom:1px solid var(--border);padding:0 3vw}.projects-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:3vw 0;display:flex}.section-label{color:var(--accent);font-size:clamp(.7rem,1.2vw,.9rem)}.project-count{font-size:clamp(.7rem,1.2vw,.9rem)}.projects-list{flex-direction:column;display:flex}.project-row{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:4rem 1fr auto auto;align-items:center;gap:2vw;padding:2.5vw 0;transition:color .3s,opacity .3s;display:grid}.project-row:last-child{border-bottom:none}.project-row:hover,.project-row:hover .project-name{color:var(--text-bright)}.project-row:hover .project-arrow{color:var(--accent);transform:translate(4px)}.project-row.dimmed{opacity:.3}.project-index{color:var(--accent);font-size:clamp(.7rem,1vw,.85rem)}.project-info{flex-direction:column;gap:.3em;display:flex}.project-name{color:var(--text);font-size:clamp(1rem,2.5vw,1.8rem);font-weight:700;transition:color .3s}.project-desc{text-transform:uppercase;font-size:clamp(.65rem,1vw,.8rem)}.project-tech{border:1px solid var(--border);padding:.3em .8em;font-size:clamp(.6rem,.9vw,.75rem)}.project-arrow{font-size:clamp(.8rem,1.2vw,1rem);transition:color .3s,transform .3s}@media (width<=600px){.project-row{grid-template-columns:2.5rem 1fr auto;gap:3vw;padding:5vw 0}.project-tech{display:none}}.socials{border-bottom:1px solid var(--border);padding:0 3vw}.socials-header{border-bottom:1px solid var(--border);padding:3vw 0}.socials-grid{grid-template-columns:repeat(3,1fr);display:grid}.social-link{border-bottom:1px solid var(--border);border-right:1px solid var(--border);justify-content:space-between;align-items:center;padding:2vw 1.5vw;transition:color .3s,background .3s;display:flex}.social-link:nth-child(3n){border-right:none}.social-link:nth-last-child(-n+3){border-bottom:none}.social-link:hover{color:var(--text-bright);background:#ffc70008}.social-link:hover .social-arrow{color:var(--accent);transform:translate(4px)}.social-name{font-size:clamp(.75rem,1.3vw,1rem);font-weight:700}.social-arrow{font-size:clamp(.7rem,1vw,.85rem);transition:color .3s,transform .3s}@media (width<=600px){.socials-grid{grid-template-columns:1fr 1fr}.social-link:nth-child(3n){border-right:1px solid var(--border)}.social-link:nth-child(2n){border-right:none}.social-link:nth-last-child(-n+3){border-bottom:1px solid var(--border)}.social-link:nth-last-child(-n+2){border-bottom:none}.social-link{padding:4vw 3vw}}.footer{justify-content:space-between;align-items:center;padding:3vw;font-size:clamp(.6rem,1vw,.75rem);display:flex}.footer-name,.footer-year{color:var(--text)}.site{width:100vw;min-height:100vh;overflow-x:hidden}
