:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f0e0d;--bg-raised:#16140f;--line:#2b2721;--line-soft:#1f1c17;--ink:#f2efe9;--ink-soft:#c9c3b8;--ink-mute:#968f82;--accent:#e29a5c;--accent-deep:#b06f3a;--serif:"Instrument Serif", Georgia, "Times New Roman", serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-xs:.8125rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:clamp(2.5rem, 5vw, 3.5rem);--text-display:clamp(4rem, 14.5vw, 13rem);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--radius-sm:6px;--radius-md:10px;--content:1080px;--disc-halo-opacity:1}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f1ea;--bg-raised:#ebe6da;--line:#d6cfbf;--line-soft:#e4ded0;--ink:#211e1a;--ink-soft:#4c463d;--ink-mute:#6e6759;--accent:#a3591f;--accent-deep:#7f4517;--disc-halo-opacity:.35}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:var(--text-base);margin:0;line-height:1.65;transition:background .3s,color .3s;overflow-x:clip}h1,h2,h3,p,ul,ol,figure{margin:0}ul{padding:0;list-style:none}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--ink-mute);text-decoration-color:var(--ink-mute);text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}a:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}a:active{color:var(--accent-deep)}.skip-link{left:-9999px;top:var(--space-sm);z-index:20;background:var(--ink);color:var(--bg);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);position:absolute}.skip-link:focus-visible{left:var(--space-sm)}.nav{top:var(--space-md);z-index:10;align-items:center;gap:var(--space-xs);padding:var(--space-xs);border:1px solid var(--line);background:color-mix(in oklab, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(14px);font-size:var(--text-sm);white-space:nowrap;border-radius:999px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.nav-mark{font-family:var(--serif);font-size:var(--text-lg);padding:10px var(--space-md);color:var(--ink);line-height:1;text-decoration:none}.nav-mark:hover{color:var(--accent)}.nav-sep{background:var(--line);width:1px;height:18px}.nav a.nav-link{padding:10px var(--space-md);color:var(--ink-mute);border-radius:999px;text-decoration:none;transition:color .2s,background .2s}.nav a.nav-link:hover{color:var(--ink);background:var(--line-soft)}.nav a.nav-link.is-active{color:var(--accent)}.theme-toggle{width:40px;height:40px;color:var(--ink-mute);cursor:pointer;background:0 0;border:0;border-radius:999px;place-content:center;padding:0;transition:color .2s,background .2s;display:grid}.theme-toggle:hover{color:var(--ink);background:var(--line-soft)}.theme-toggle:active{background:var(--line)}.theme-toggle svg{display:block}.section{min-height:100svh;padding:calc(var(--space-2xl) + var(--space-xl)) var(--space-lg) var(--space-2xl);align-content:center;display:grid}.section-inner{width:100%;max-width:var(--content);margin:0 auto}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:none}.section-head{align-items:baseline;gap:var(--space-md);margin-bottom:var(--space-xl);font-size:var(--text-sm);display:flex}.section-head .index{color:var(--accent)}.section-head h2{font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}.section-head .rule{background:var(--line-soft);flex:1;height:1px}.hero{position:relative;overflow:clip}.hero-inner{z-index:1;pointer-events:none;position:relative}.hero-name{font-family:var(--serif);font-weight:400;font-size:var(--text-display);letter-spacing:.005em;text-transform:uppercase;line-height:.86}.hero-name .row{display:block}.hero-line{margin-top:var(--space-lg);max-width:52ch;color:var(--ink-soft);font-size:var(--text-sm);letter-spacing:.04em;text-wrap:pretty}.hero-fx{z-index:0;position:absolute;inset:0}.vinyl-wrap{cursor:pointer;background:0 0;border:0;border-radius:50%;width:74vmin;height:74vmin;padding:0;position:absolute;top:50%;right:-12vmin;transform:translateY(-50%)}.vinyl-wrap:before{content:"";opacity:var(--disc-halo-opacity);pointer-events:none;background:radial-gradient(circle closest-side,#0000008c 76%,#0000 100%);border-radius:50%;transition:opacity .3s;position:absolute;inset:-14%}.vinyl-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.vinyl{background:radial-gradient(circle,#131110 0 15.5%,#0000 15.5%),repeating-radial-gradient(circle,#191713 0 .55%,#100f0d .55% 1.1%),#131110;border-radius:50%;width:100%;height:100%;transition:scale .3s;animation:14s linear infinite spin;display:block;position:relative}.vinyl:before{content:"";background:conic-gradient(#0000 0deg 40deg,#f2efe90d 65deg,#0000 90deg 220deg,#f2efe90a 245deg,#0000 270deg 360deg);border-radius:50%;position:absolute;inset:0}.vinyl-wrap:hover .vinyl{scale:1.015}.vinyl-wrap:active .vinyl{scale:.99}.vinyl-wrap.pulse .vinyl{animation:14s linear infinite spin,.65s disc-pulse}@keyframes disc-pulse{40%{scale:.955}}.vinyl-label{background:radial-gradient(circle, var(--accent-deep), #8a5228);text-align:center;color:var(--bg);border-radius:50%;place-content:center;animation:.45s label-in;display:grid;position:absolute;inset:35%;overflow:hidden}@keyframes label-in{0%{opacity:0}}.vinyl-label img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.label-initials{font-size:var(--text-2xl);letter-spacing:.12em;font-weight:700}.vinyl-label:after{content:"";background:var(--bg);border-radius:50%;width:5%;height:5%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes spin{to{transform:rotate(360deg)}}.tonearm{pointer-events:none;width:74vmin;height:74vmin;position:absolute;top:50%;right:-12vmin;overflow:visible;transform:translateY(-50%)}.tonearm line,.tonearm polyline{fill:none;stroke-linecap:round;stroke-linejoin:round}.tonearm .stroke-under{stroke:#2b2620}.tonearm .stroke-under line,.tonearm .stroke-under polyline{stroke-width:3px}.tonearm .stroke-over{stroke:#cfc8ba}.tonearm .arm-tube{stroke-width:1.5px}.tonearm .counterweight,.tonearm .headshell{stroke-width:2.6px}.tonearm .stylus{fill:var(--accent)}.tonearm .pivot-base{fill:#2b2620;stroke:#cfc8ba;stroke-width:.8px}.tonearm .pivot-cap{fill:#cfc8ba}.tonearm-arm{transform-box:view-box;transform-origin:88px 6px;filter:drop-shadow(0 2.2px 2px #00000080);transform:rotate(-32deg)}.tonearm.resting .tonearm-arm{filter:drop-shadow(0 .5px .6px #00000073);transform:rotate(0)}.hero.intro-full .tonearm-arm{transition:transform 1.25s cubic-bezier(.5,.05,.3,1),filter 1.25s}.hero.intro-full:not(.intro-live) .vinyl{animation-play-state:paused}.hero.intro-full .hero-name .row,.hero.intro-full .hero-line{transition:opacity .6s,transform .6s}.hero.intro-full .now-playing{transition:opacity .6s}.hero.intro-full:not(.intro-live) .hero-name .row{opacity:0;transform:translateY(24px)}.hero.intro-full:not(.intro-live) .hero-line,.hero.intro-full:not(.intro-live) .now-playing{opacity:0}.hero.intro-full:not(.intro-live) .hero-line{transform:translateY(16px)}.hero.intro-full.intro-live .hero-name .row:nth-child(2){transition-delay:.12s}.hero.intro-full.intro-live .hero-line{transition-delay:.27s}.hero.intro-full.intro-live .now-playing{transition-delay:.42s}.hero.intro-quick .hero-inner,.hero.intro-quick .now-playing{transition:opacity .3s}.hero.intro-quick:not(.intro-live) .hero-inner,.hero.intro-quick:not(.intro-live) .now-playing{opacity:0}.now-playing{z-index:2;left:var(--space-lg);bottom:var(--space-lg);max-width:calc(100vw - 2 * var(--space-lg));font-size:var(--text-xs);color:var(--ink-mute);letter-spacing:.04em;position:absolute}.now-playing .title{color:var(--ink-soft)}.record-tray{z-index:3;top:50%;right:var(--space-lg);width:min(360px, calc(100vw - 2 * var(--space-md)));max-height:min(70vh,560px);padding:var(--space-sm);border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in oklab, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);animation:.25s tray-in;position:absolute;overflow-y:auto;transform:translateY(-50%)}@keyframes tray-in{0%{opacity:0;translate:0 8px}}.tray-title{padding:var(--space-sm) var(--space-md);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}.record-tray ul{gap:2px;display:grid}.record-tray li button{align-items:center;gap:var(--space-md);width:100%;min-height:44px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:var(--text-sm);color:var(--ink-soft);text-align:left;background:0 0;border:0;transition:background .2s,color .2s;display:flex}.record-tray li button:hover{background:var(--line-soft);color:var(--ink)}.record-tray li button:active{background:var(--line)}.record-tray li button[aria-current=true]{color:var(--accent)}.tray-num{font-size:var(--text-xs);color:var(--ink-mute)}.tray-cover{border:1px solid var(--line);background:repeating-linear-gradient(45deg, var(--bg-raised), var(--bg-raised) 4px, var(--line-soft) 4px, var(--line-soft) 8px);border-radius:3px;flex:none;width:24px;height:24px;overflow:hidden}.tray-cover img{object-fit:cover;width:100%;height:100%;display:block}.tray-text .title{color:inherit;font-weight:500}.about-grid{gap:var(--space-2xl);grid-template-columns:1.25fr .75fr;align-items:center;display:grid}.about-copy{gap:var(--space-lg);display:grid}.about-copy p:first-child{font-family:var(--serif);font-size:var(--text-xl);text-wrap:pretty;max-width:46ch;line-height:1.45}.about-copy p+p{color:var(--ink-soft);font-size:var(--text-sm);text-wrap:pretty;max-width:58ch}.media-frame{aspect-ratio:4/5;border:1px solid var(--line);border-radius:var(--radius-md);background:repeating-linear-gradient(45deg, var(--bg-raised), var(--bg-raised) 10px, var(--line-soft) 10px, var(--line-soft) 20px);width:100%;max-width:380px;color:var(--ink-mute);font-size:var(--text-xs);place-content:center;justify-self:end;display:grid}.media-frame.has-photos{background:var(--bg-raised);cursor:pointer;font:inherit;padding:0;display:block;position:relative;overflow:hidden}.media-frame.has-photos img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .8s;position:absolute;inset:0}.media-frame.has-photos img.is-current{opacity:1}.media-dots{left:50%;bottom:var(--space-sm);gap:var(--space-xs);display:flex;position:absolute;transform:translate(-50%)}.media-dots .dot{background:#f2efe98c;border-radius:50%;width:6px;height:6px;transition:background .3s;box-shadow:0 0 3px #0f0e0d80}.media-dots .dot.is-current{background:var(--accent)}.entry{gap:var(--space-md);padding-block:var(--space-lg);border-top:1px solid var(--line-soft);grid-template-columns:13ch 1fr;display:grid}.entry-dates{color:var(--ink-mute);font-size:var(--text-sm);padding-top:2px}.entry-company{font-size:var(--text-base);font-weight:700}.entry-role{color:var(--ink-mute);font-weight:400}.entry-story{margin-top:var(--space-xs);color:var(--ink-soft);font-size:var(--text-sm);text-wrap:pretty}.entry-tech{margin-top:var(--space-sm);font-size:var(--text-xs);color:var(--ink-mute);letter-spacing:.04em}.hl-accent{color:var(--accent);font-weight:500}.hl-bright{color:var(--ink);text-shadow:0 0 14px color-mix(in srgb, var(--ink) 35%, transparent);font-weight:500}:root[data-theme=light] .hl-bright{text-shadow:none}.entry-brief-row{gap:var(--space-lg);border-top:1px solid var(--line-soft);padding-top:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.brief{font-size:var(--text-sm);color:var(--ink-soft)}.brief .entry-dates{margin-bottom:var(--space-xs);padding:0}.brief h3{font-size:var(--text-sm)}.brief p{margin-top:var(--space-xs);text-wrap:pretty}.project-grid{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.project{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-raised);padding:var(--space-lg);transition:border-color .2s,transform .2s}.project:hover{border-color:var(--ink-mute);transform:translateY(-2px)}.project h3{font-family:var(--serif);font-weight:400;font-size:var(--text-2xl);line-height:1.1}.project-award{margin-top:var(--space-sm);color:var(--accent);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.project-desc{margin-top:var(--space-md);color:var(--ink-soft);font-size:var(--text-sm);text-wrap:pretty}.toolbox{margin-top:var(--space-xl);gap:var(--space-xs);font-size:var(--text-sm);display:grid}.toolbox-row{gap:var(--space-md);grid-template-columns:13ch 1fr;display:grid}.toolbox-row dt{color:var(--ink-mute)}.toolbox-row dd{color:var(--ink-soft);margin:0}.contact-heading{font-family:var(--serif);font-weight:400;font-size:var(--text-3xl);line-height:1.05}.contact-copy{margin-top:var(--space-lg);max-width:44ch;color:var(--ink-soft);font-size:var(--text-base);text-wrap:pretty}.contact-links{margin-top:var(--space-xl);gap:var(--space-md);font-size:var(--text-lg);justify-items:start;display:grid}.site-footer{margin-top:var(--space-2xl);padding-top:var(--space-md);border-top:1px solid var(--line-soft);justify-content:space-between;gap:var(--space-md);color:var(--ink-mute);font-size:var(--text-xs);flex-wrap:wrap;display:flex}@media (width<=900px){.project-grid,.entry-brief-row{grid-template-columns:1fr}.about-grid{gap:var(--space-xl);grid-template-columns:1fr}.media-frame{justify-self:start}.vinyl-wrap,.tonearm{opacity:.7;right:50%;transform:translate(50%,-50%)}.record-tray{top:auto;bottom:calc(var(--space-2xl) + var(--space-md));right:var(--space-md);transform:none}}@media (width<=640px){.nav{max-width:calc(100vw - 2 * var(--space-md));font-size:var(--text-xs)}.nav-mark,.nav-sep{display:none}.nav a.nav-link{padding:12px var(--space-sm)}.theme-toggle{width:36px;height:36px}.entry{gap:var(--space-xs);grid-template-columns:1fr}.now-playing{left:var(--space-md);right:var(--space-md);max-width:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}
