@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg:#08080b;--panel:#111116;--panel-2:#16161d;--line:#23232e;--line-soft:#1b1b23;--text:#ededf2;--muted:#8b8b99;--faint:#5a5a68;--accent:#5b3fd6;--accent-glow:#7c5cff;--accent-soft:#a794ff;--radius:22px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}.page{max-width:1240px;min-height:100vh;margin:0 auto;padding:clamp(16px,4vw,48px);position:relative}.page:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(600px 400px at 15% 0,#7c6cff1a,#0000 60%),radial-gradient(500px 500px at 90% 100%,#7c6cff0f,#0000 60%);position:fixed;inset:0}.grain{z-index:0;opacity:.025;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.grid{z-index:1;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(90px,auto);gap:14px;display:grid;position:relative}.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;transition:border-color .3s,transform .3s,background .3s;position:relative;overflow:hidden}.tile--spot{border-color:var(--line);transition:border-color .25s,box-shadow .25s}.tile--spot:before{content:"";background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%), #5b3fd624, transparent 65%);opacity:0;pointer-events:none;transition:opacity .35s;position:absolute;inset:0}.tile--spot:hover:before{opacity:1}.tile--spot:hover{border-color:var(--accent);box-shadow:0 0 0 1px #5b3fd614,0 8px 30px -12px #5b3fd659}.cell--hero{grid-area:span 2/span 3}.cell--clock{grid-area:span 1/span 1;align-items:center;display:flex}.cell--loc{flex-direction:column;grid-area:span 1/span 1;justify-content:center;display:flex}.cell--about{grid-area:span 2/span 2}.cell--building{flex-direction:column;grid-area:span 2/span 2;display:flex}.cell--projects{grid-column:span 4}.cell--gh,.cell--li{grid-column:span 1}.cell--contact{grid-column:span 2}.cell--hero{flex-direction:column;justify-content:center;display:flex}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-soft);margin-bottom:22px;font-family:JetBrains Mono,monospace;font-size:.7rem}.eyebrow:before{content:"// ";color:var(--faint)}.hero-title{letter-spacing:-.01em;font-family:Inter,sans-serif;font-size:clamp(1.6rem,3.6vw,2.7rem);font-weight:800;line-height:1.02}.hero-title em{color:var(--accent-soft);font-style:normal}.hero-sub{max-width:46ch;color:var(--muted);margin-top:22px;font-size:1.02rem}.hero-tags{color:var(--muted);border:1px solid var(--line);border-radius:100px;align-items:center;gap:9px;width:fit-content;margin-top:26px;padding:7px 14px;font-size:.85rem;display:inline-flex}.status-dot{background:#4ade80;border-radius:50%;width:8px;height:8px;animation:2.4s infinite pulse;box-shadow:0 0 #4ade8080}@keyframes pulse{0%{box-shadow:0 0 #4ade8073}70%{box-shadow:0 0 0 7px #4ade8000}to{box-shadow:0 0 #4ade8000}}.clock-inner{flex-direction:column;gap:3px;width:100%;display:flex}.clock-label{text-transform:uppercase;letter-spacing:.14em;color:var(--faint);font-size:.68rem}.clock-time{font-variant-numeric:tabular-nums;color:var(--text);font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:500;line-height:1}.clock-date{color:var(--muted);font-size:.8rem}.mini-label{text-transform:uppercase;letter-spacing:.14em;color:var(--faint);margin-bottom:10px;font-size:.68rem;display:block}.mini-value{font-family:Space Grotesk,sans-serif;font-size:1.7rem;line-height:1.1}.mini-foot{color:var(--muted);margin-top:4px;font-size:.78rem}.cell--about{flex-direction:column;display:flex}.about-text{color:var(--muted);max-width:46ch;margin-top:8px;font-size:.94rem}.stack-list{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:18px;list-style:none;display:flex}.stack-list li{color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:100px;padding:9px 14px;font-family:JetBrains Mono,monospace;font-size:.84rem;transition:border-color .25s,color .25s}.stack-list li:hover{border-color:var(--accent);color:var(--accent-soft)}.building-name{margin-top:2px;font-family:Space Grotesk,sans-serif;font-size:1.5rem}.building-tagline{color:var(--accent-soft);margin-top:6px;font-size:.88rem}.building-desc{color:var(--muted);margin-top:10px;font-size:.88rem}.cell--building .project-stack{margin-top:auto;padding-top:16px}.carousel-nav{align-items:center;gap:12px;margin-top:16px;display:flex}.carousel-arrow{border:1px solid var(--line);background:var(--panel-2);width:30px;height:30px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:border-color .22s,color .22s,transform .15s;display:flex}.carousel-arrow:hover{border-color:var(--accent);color:var(--accent-soft)}.carousel-arrow:active{transform:scale(.92)}.carousel-index{color:var(--faint);font-family:JetBrains Mono,monospace;font-size:.76rem}.section-head{justify-content:space-between;align-items:baseline;margin-bottom:20px;display:flex}.count{color:var(--faint);font-family:JetBrains Mono,monospace;font-size:1.2rem}.project-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.project{background:var(--panel-2);border:1px solid var(--line-soft);color:inherit;border-radius:16px;flex-direction:column;padding:22px;text-decoration:none;transition:border-color .28s,transform .28s,background .28s;display:flex}.project:hover{border-color:var(--accent);background:#1a1824;transform:translateY(-3px)}.project--featured{grid-column:1/-1}.project-top{justify-content:space-between;align-items:baseline;display:flex}.project-top h3{font-family:Space Grotesk,sans-serif;font-size:1.6rem;font-weight:400}.project-year{color:var(--faint);font-family:JetBrains Mono,monospace;font-size:.78rem}.project-tagline{color:var(--accent-soft);margin-top:6px;font-size:.92rem}.project-desc{color:var(--muted);max-width:62ch;margin-top:12px;font-size:.92rem}.project-stack{flex-wrap:wrap;gap:7px;margin-top:16px;display:flex}.project-stack span{color:var(--muted);border:1px solid var(--line);border-radius:100px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:.72rem}.project-arrow{color:var(--text);opacity:.7;align-items:center;gap:6px;margin-top:18px;font-size:.82rem;transition:opacity .25s,gap .25s;display:inline-flex}.project:hover .project-arrow{opacity:1;color:var(--accent-soft);gap:10px}.link-tile{color:var(--text);align-items:center;gap:12px;font-size:.98rem;font-weight:500;text-decoration:none;display:flex}.link-tile svg:last-child{color:var(--faint);margin-left:auto;transition:transform .25s,color .25s}.link-tile:hover{border-color:var(--accent);background:#16141f}.link-tile:hover svg:last-child{color:var(--accent-soft);transform:translate(2px,-2px)}.cell--contact{flex-direction:column;justify-content:center;display:flex}.contact-mail{color:var(--text);word-break:break-all;align-items:center;gap:10px;font-family:Space Grotesk,sans-serif;font-size:clamp(1.2rem,2.6vw,1.9rem);text-decoration:none;transition:color .25s;display:inline-flex}.contact-mail:hover{color:var(--accent-soft)}.contact-note{color:var(--muted);margin-top:12px;font-size:.9rem}.footer{z-index:1;border-top:1px solid var(--line-soft);color:var(--faint);justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;font-size:.8rem;display:flex;position:relative}.sound-toggle{color:var(--faint);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:100px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:.72rem;transition:border-color .25s,color .25s}.sound-toggle:hover{border-color:var(--accent);color:var(--accent-soft)}a:focus-visible,.tile:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important;animation:none!important}}@media (width<=860px){.grid{grid-template-columns:repeat(2,1fr)}.cell--hero{grid-area:auto/span 2}.cell--clock,.cell--loc{grid-column:span 1}.cell--about,.cell--building{grid-area:auto/span 2}.cell--projects{grid-column:span 2}.cell--gh,.cell--li{grid-column:span 1}.cell--contact{grid-column:span 2}}@media (width<=480px){.grid{grid-template-columns:1fr}.grid>*{grid-column:span 1!important}.tile{padding:22px}.footer{flex-direction:column;gap:6px}}
