*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-body);margin:0;line-height:1.6}body{overflow-x:hidden}body.is-loading{overflow:hidden}#scene{width:100%;height:100%;display:block;position:fixed;inset:0}.label{color:var(--color-text-dim);margin:1.6em 0 .7em;font-weight:400}.page a:focus-visible,.nav a:focus-visible{outline:3px solid var(--color-mint);outline-offset:4px}.noscript{color:var(--color-text-dim);position:fixed;bottom:24px;left:24px}@media (prefers-reduced-motion:reduce){.disc__vinyl{animation:none}.name,.disc,.disc__vinyl,.loader,.hero .intro{transition:none}}.loader{z-index:10;background:var(--color-bg);flex-direction:column;justify-content:flex-end;padding:clamp(24px,6vw,88px);transition:opacity .7s,visibility .7s;display:flex;position:fixed;inset:0}body:not(.is-loading) .loader{opacity:0;visibility:hidden}.loader__line{font-family:var(--font-mono);font-size:var(--fs-small);letter-spacing:.14em;text-transform:uppercase;color:var(--color-mint);margin:0}.loader__count{font-size:var(--fs-mega);letter-spacing:-.05em;color:var(--color-amber);font-variant-numeric:tabular-nums;margin:0;font-weight:800;line-height:.85}html:not(.i18n-ready) .loader__line{visibility:hidden}.nav{z-index:5;background:rgb(var(--bg-rgb) / .72);border:1px solid rgb(var(--text-rgb) / .14);-webkit-backdrop-filter:blur(12px);border-radius:999px;align-items:center;gap:6px;padding:6px;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%)}.nav__links{gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav__links a{color:var(--color-text-dim);font-size:var(--fs-small);border-radius:999px;padding:8px 16px;font-weight:700;text-decoration:none;transition:background-color .3s,color .3s;display:block}.nav__links a:hover{color:var(--color-text)}.nav__links a[aria-current=true]{background:var(--color-glow);color:var(--color-bg)}@media (max-width:760px){.nav{max-width:calc(100vw - 16px);top:auto;bottom:14px}.nav__links{scrollbar-width:none;overflow-x:auto}.nav__links a{white-space:nowrap;padding:8px 9px;font-size:13px}}.page{z-index:1;pointer-events:none;position:relative}.page a,.page button{pointer-events:auto}.section{min-height:100vh;flex-direction:column;justify-content:center;width:min(48vw,600px);min-height:100svh;padding:120px 0 72px clamp(24px,6vw,96px);display:flex}.hero{justify-content:center}.section:not(.hero){background:linear-gradient(to right, rgb(var(--bg-rgb) / .93) 74%, rgb(var(--bg-rgb) / 0));width:min(56vw,700px);padding-right:clamp(24px,6vw,96px)}.name{font-size:var(--fs-display);letter-spacing:-.045em;text-shadow:0 0 .5em color-mix(in srgb, var(--color-glow) 40%, transparent);margin:0;font-weight:800;line-height:.84;transition:text-shadow 1.2s}.tagline{max-width:24ch;font-size:var(--fs-lead);color:var(--color-text-dim);margin:.8em 0 0;font-weight:500;line-height:1.45}.section__title{font-size:var(--fs-title);letter-spacing:-.04em;text-wrap:balance;margin:0 0 .35em;font-weight:800;line-height:.92}.hl{color:var(--color-glow);transition:color .8s}.eyebrow{color:var(--color-mint);margin:0 0 1.1em}.section__text{max-width:38ch;color:var(--color-text-dim);margin:0 0 1em}.hero .intro{transition:opacity .9s .35s,transform .9s .35s}body.is-loading .hero .intro{opacity:0;transform:translateY(24px)}@media (max-width:760px){.section,.section:not(.hero){justify-content:flex-end;width:100%;padding:0 22px 120px}.section:not(.hero){padding-top:30vh;background:linear-gradient(to bottom, rgb(var(--bg-rgb) / 0) 0, rgb(var(--bg-rgb) / .92) 26vh, rgb(var(--bg-rgb) / .92));padding-top:30svh}.hero{justify-content:flex-end}.intro{margin-top:52vh;margin-top:52svh}.tagline{max-width:30ch}}.eyebrow,.label,.work__tags{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:13px}.ways{gap:10px;max-width:40ch;margin:0;padding:0;list-style:none;display:grid}.ways li{border-left:2px solid color-mix(in srgb, var(--color-glow) 60%, transparent);color:var(--color-text-dim);padding-left:16px}.ways strong{color:var(--color-text);font-weight:700}.stack{flex-wrap:wrap;gap:8px;max-width:40ch;margin:0;padding:0;list-style:none;display:flex}.stack li{background:color-mix(in srgb, var(--color-mint) 16%, transparent);color:var(--color-mint);font-family:var(--font-mono);border-radius:6px;padding:4px 12px;font-size:14px}.stack--soft li{border:1px solid rgb(var(--text-rgb) / .2);color:var(--color-text-dim);background:0 0}.work{gap:24px;margin:.6em 0 0;padding:0;list-style:none;display:grid}.work__item h3{font-size:var(--fs-lead);color:var(--color-glow);margin:0;font-weight:700;transition:color .8s}.work__item p{max-width:40ch;color:var(--color-text-dim);margin:.2em 0 0}.work__item .work__tags{letter-spacing:.08em;color:color-mix(in srgb, var(--color-mint) 80%, transparent);margin-top:.7em;font-size:12px}.life{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:560px;margin:.6em 0 0;padding:0;list-style:none;display:grid}.life li{background:rgb(var(--bg-rgb) / .6);border:1px solid rgb(var(--text-rgb) / .12);border-radius:14px;padding:16px 18px}.life h3{color:var(--color-glow);margin:0;font-size:21px;font-weight:700;transition:color .8s}.life p{color:var(--color-text-dim);margin:.25em 0 0;font-size:16px;line-height:1.45}.links{flex-wrap:wrap;gap:12px 20px;display:flex}.links a{color:var(--color-text);font-weight:700;font-size:var(--fs-lead);letter-spacing:-.02em;border-bottom:3px solid color-mix(in srgb, var(--color-glow) 70%, transparent);text-decoration:none}.links a:hover{border-color:var(--color-glow)}@media (max-width:760px){.life{grid-template-columns:1fr 1fr;gap:8px}.life li{padding:12px}}.disc{z-index:6;cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;position:fixed;bottom:clamp(18px,3vw,40px);right:clamp(18px,3vw,40px)}.disc__vinyl{--size:clamp(72px, 7vw, 96px);width:var(--size);height:var(--size);background:conic-gradient(from 20deg, #fff0 0 12%, #ffffff24 18%, #fff0 26% 62%, #ffffff1a 68%, #fff0 76%), repeating-radial-gradient(circle, #0a0f0d 0 2px, #17201c 2px 3px);box-shadow:0 12px 34px #00000080, 0 0 0 2px rgb(var(--text-rgb) / .08);border-radius:50%;flex:none;place-items:center;transition:box-shadow .8s,transform .2s;animation:2.4s linear infinite paused spin;display:grid}.disc:hover .disc__vinyl{transform:scale(1.04)}.disc[aria-pressed=true] .disc__vinyl{box-shadow:0 12px 34px #00000080, 0 0 28px color-mix(in srgb, var(--color-glow) 55%, transparent);animation-play-state:running}.disc__label{background:var(--color-glow);border-radius:50%;width:38%;height:38%;transition:background-color .8s;position:relative}.disc__label:before{content:"";border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent var(--color-bg);position:absolute;top:50%;left:50%;transform:translate(-35%,-50%)}.disc[aria-pressed=true] .disc__label:before{background:var(--color-bg);width:4px;height:13px;box-shadow:7px 0 0 var(--color-bg);border:0;margin-left:-3.5px;transform:translate(-50%,-50%)}.disc:focus-visible{outline:3px solid var(--color-mint);outline-offset:6px}@keyframes spin{to{transform:rotate(360deg)}}.disc{transition:opacity .9s .6s}body.is-loading .disc{opacity:0;pointer-events:none}@media (max-width:760px){.disc{top:16px;bottom:auto;right:16px}}.switch{z-index:6;border:1px solid rgb(var(--text-rgb) / .16);background:rgb(var(--bg-rgb) / .72);-webkit-backdrop-filter:blur(12px);width:48px;height:48px;color:var(--color-text-dim);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:color .3s,border-color .3s,box-shadow .3s,opacity .9s .6s;display:grid;position:fixed;bottom:calc(clamp(18px,3vw,40px) + clamp(72px,7vw,96px) + 14px);right:calc(clamp(18px,3vw,40px) + clamp(72px,7vw,96px)/2 - 24px)}.switch[aria-pressed=true]{color:var(--color-amber);border-color:color-mix(in srgb, var(--color-amber) 55%, transparent);box-shadow:0 0 22px color-mix(in srgb, var(--color-amber) 35%, transparent)}.switch:hover{color:var(--color-text)}.switch:focus-visible{outline:3px solid var(--color-mint);outline-offset:4px}.switch__icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.switch[aria-pressed=true] .switch__icon path:first-child{fill:currentColor}body.is-loading .switch{opacity:0;pointer-events:none}@media (max-width:760px){.switch{width:44px;height:44px;top:100px;bottom:auto;right:30px}}@media (prefers-reduced-motion:reduce){.switch{transition:none}}
