:root{--bg: #000000;--ink: #f5f5f5;--dim: #9a9a9a;--line: #262626;--accent: #ffffff;--serif: "Fraunces", Georgia, serif;--mono-f: "JetBrains Mono", ui-monospace, monospace;--radius: 14px;--font-mono: "JetBrains Mono";--font-archivo: "Archivo"}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);overscroll-behavior:none}body{background:var(--bg);color:var(--ink);font-family:var(--serif);font-weight:300;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--bg)}.scene{position:fixed;inset:0;width:100%;height:100%;z-index:0;touch-action:none}main{position:relative;z-index:2;pointer-events:none}section{height:100vh;height:100svh;display:flex;align-items:flex-end;padding:0 6vw 9vh}section.hero{align-items:center;padding-bottom:0}.card{pointer-events:auto;max-width:31rem;background:color-mix(in srgb,var(--bg) 84%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.7rem}.card.bare{background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;max-width:40rem}html.js section .card{opacity:0;transform:translateY(28px);transition:opacity .7s ease .2s,transform .9s cubic-bezier(.2,.8,.2,1) .2s}html.js section[data-active] .card{opacity:1;transform:none}.kicker{font-family:var(--mono-f);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.7rem}h1,h2{font-weight:300;letter-spacing:-.015em;line-height:1.05}h1{font-size:clamp(2.8rem,8vw,6rem)}h2{font-size:clamp(1.7rem,3.4vw,2.5rem);margin-bottom:.5rem}h1 em,h2 em{font-style:italic;color:var(--accent)}.where{font-family:var(--mono-f);font-size:.76rem;color:var(--dim);margin-bottom:.9rem}p{font-size:1rem;color:color-mix(in srgb,var(--ink) 84%,transparent);margin-bottom:.7rem}p.lede{font-size:1.15rem;color:var(--dim);margin-top:1.1rem;max-width:31rem}.hint{margin-top:1.6rem;font-family:var(--mono-f);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);animation:pulse 2.4s infinite}@keyframes pulse{50%{opacity:.35}}.stats{display:flex;gap:1.6rem;margin:.9rem 0}.stats b{display:block;font-weight:300;font-size:1.9rem;color:var(--accent);line-height:1}.stats span{font-family:var(--mono-f);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.8rem}.chips span{font-family:var(--mono-f);font-size:.68rem;padding:.2rem .55rem;border:1px solid var(--line);border-radius:99px;color:var(--dim)}.skills{display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1.2rem;margin-top:.9rem;font-size:.82rem}.skills dt{font-family:var(--mono-f);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.skills dd{color:var(--dim)}a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--accent);transition:color .2s}a:hover,a:focus-visible{color:var(--accent)}.link{margin-top:.8rem;font-size:.88rem}.contact{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:1rem;font-family:var(--mono-f);font-size:.85rem}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.bar{position:fixed;top:0;left:0;right:0;height:3px;background:var(--accent);z-index:5;transform-origin:left;transition:transform 1.1s cubic-bezier(.65,0,.35,1)}.chapters{position:fixed;right:1.6vw;top:50%;transform:translateY(-50%);z-index:5;display:flex;flex-direction:column;gap:.35rem}.chapters button{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:flex-end;gap:.7rem;padding:.2rem 0;font-family:var(--mono-f);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.chapters button span{opacity:0;transform:translate(6px);transition:opacity .25s,transform .25s;white-space:nowrap}.chapters button i{width:6px;height:6px;border-radius:50%;border:1px solid var(--dim);transition:all .3s}.chapters button:hover span,.chapters button:focus-visible span,.chapters button.on span{opacity:1;transform:none}.chapters button.on{color:var(--accent)}.chapters button.on i{background:var(--accent);border-color:var(--accent);transform:scale(1.5)}.hud{position:fixed;right:calc(1.6vw + 1.2rem);bottom:18px;z-index:4;font:500 .66rem/1.8 var(--mono-f);color:var(--dim);text-align:right;pointer-events:none}.hud b{color:var(--ink);font-weight:500}.hud .status{color:var(--accent);font-variant-numeric:tabular-nums}.tip{position:fixed;left:0;top:0;z-index:6;pointer-events:none;background:var(--ink);color:var(--bg);font:500 .68rem var(--mono-f);padding:.35rem .65rem;border-radius:99px;opacity:0;transition:opacity .12s;white-space:nowrap}@media(max-width:800px){section,section.hero{align-items:flex-end;padding:0 1.7rem 2.5vh 1rem}.card{padding:1.1rem 1.2rem;max-height:54svh;overflow:auto;overscroll-behavior:contain}.chapters{right:.45rem;gap:.1rem}.chapters button span,.hud{display:none}.skills{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html.js section .card{transition:none}.hint{animation:none}.bar{transition:none}}.credits{margin-top:1.2rem;font-family:var(--mono-f);font-size:.6rem;color:var(--dim);opacity:.7}
