@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap";@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&display=swap";:root{--canvas:#faf8f2;--ink:#241b35;--primary:#49316e;--primary-hover:#382554;--secondary:#8b69bd;--periwinkle:#8194d6;--citron:#dde9ad;--floral:#b64f70;--surface:#f0ece5;--meadow:#ede6f5;--lilac:var(--secondary);--sage:var(--primary);--text:#51475e;--muted:#706579;--border:#dcd3e4;--white:#fff;--font-body:"DM Sans", sans-serif;--font-editorial:"Instrument Serif", Georgia, serif;--page-width:1440px;--page-padding:clamp(20px, 5vw, 88px);color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);min-width:320px;margin:0}body,button,input,textarea{font-family:var(--font-body)}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--primary)}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:4px}::selection{background:var(--meadow);color:var(--primary)}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em}p{line-height:1.65}.page-container{width:min(100%, var(--page-width));padding-inline:var(--page-padding);margin-inline:auto}.eyebrow{color:var(--primary);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:700}.editorial{font-family:var(--font-editorial);font-style:italic;font-weight:400}.button{border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:12px;min-height:46px;padding:12px 20px;font-size:.85rem;font-weight:600;transition:background .18s,color .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--primary);color:var(--white)}.button-primary:hover{background:var(--primary-hover);color:var(--white)}.button-secondary{border-color:var(--border);color:var(--primary);background:0 0}.button-secondary:hover{background:var(--meadow);color:var(--primary)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}html,body{height:auto;min-height:100%;overflow:clip auto}body{position:static}main{min-height:0}.content-page{--sans:var(--font-body);--serif:var(--font-editorial);--mono:"DM Mono", monospace;--magic:var(--primary);--room-accent:var(--primary);--room-border:var(--border);--room-panel:var(--white);--room-wash:var(--meadow);--room-shadow:transparent;min-height:calc(100vh - 88px);width:min(100%, var(--page-width));padding:24px var(--page-padding) 64px;background:var(--canvas);color:var(--ink);margin-inline:auto}:is(html:has(.content-page),body:has(.content-page)){background:var(--canvas);overflow-y:auto}.page-eyebrow{font:12px/1.6 var(--mono);letter-spacing:.06em;color:var(--muted);display:inline-block}.content-page h1 em{color:var(--primary);font-weight:400}.page-intro{max-width:620px;font:13px/1.9 var(--mono);color:var(--text)}.window-title{border-bottom:1px solid var(--border);background:var(--meadow);color:var(--ink);font:12px/1.5 var(--mono);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.window-title i{background:var(--sage);border-radius:50%;flex:0 0 8px;height:8px}.content-page a:focus-visible,.content-page button:focus-visible,.content-page select:focus-visible,.content-page input:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:24px;display:grid}@media (width<=700px){.portfolio-grid{grid-template-columns:1fr;gap:24px}}@media (width<=650px){.content-page{padding-top:20px;padding-bottom:48px}}.site-header.svelte-a8kxe2{z-index:20;background:var(--canvas);width:100%;position:relative}.header-inner.svelte-a8kxe2{width:min(100%, var(--page-width));min-height:88px;padding-inline:var(--page-padding);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;margin-inline:auto;display:flex}.wordmark.svelte-a8kxe2{color:var(--ink);letter-spacing:-.06em;white-space:nowrap;font-size:1.35rem;font-weight:700}.wordmark.svelte-a8kxe2 span:where(.svelte-a8kxe2){color:var(--primary)}@media (width<=600px){.wordmark.svelte-a8kxe2{font-size:1.1rem}}nav.svelte-a8kxe2{align-items:center;gap:clamp(14px,3vw,36px);display:flex}nav.svelte-a8kxe2 a:where(.svelte-a8kxe2){color:var(--text);padding-block:8px;font-size:.85rem;font-weight:500;transition:color .18s;position:relative}nav.svelte-a8kxe2 a:where(.svelte-a8kxe2):hover,nav.svelte-a8kxe2 a.active:where(.svelte-a8kxe2){color:var(--ink)}nav.svelte-a8kxe2 a.active:where(.svelte-a8kxe2):after{content:"";background:var(--primary);height:2px;position:absolute;bottom:0;left:0;right:0}@media (width<=600px){.header-inner.svelte-a8kxe2{gap:12px;min-height:72px}nav.svelte-a8kxe2 a:where(.svelte-a8kxe2){font-size:.78rem}}.radio-shell.svelte-4cgfmx{z-index:550;font-family:var(--mono);color:#392d39;position:fixed;bottom:18px;right:18px}.radio-window.svelte-4cgfmx{opacity:1;visibility:visible;pointer-events:auto;background:#ead7bd;border:3px solid #493b43;width:min(350px,100vw - 28px);padding:7px;transition:opacity .16s,transform .16s,visibility .16s;position:absolute;bottom:0;right:0;box-shadow:6px 6px #2a212840,0 12px 40px #2a21281f}.radio-window.minimised.svelte-4cgfmx{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px)}.window-bar.svelte-4cgfmx{color:#f4e8d8;letter-spacing:.04em;background:#35293c;justify-content:space-between;align-items:center;height:31px;padding:0 8px;font-size:9px;display:flex}.window-bar.svelte-4cgfmx>div:where(.svelte-4cgfmx){align-items:center;gap:7px;display:flex}.note.svelte-4cgfmx{color:#e4bbdb;font-size:13px}.window-bar.svelte-4cgfmx button:where(.svelte-4cgfmx){width:24px;height:24px;color:inherit;cursor:pointer;font-family:var(--mono);background:0 0;border:0;place-items:center;padding:0;font-size:16px;display:grid}.radio-display.svelte-4cgfmx{background:#d8c2df;align-items:center;gap:10px;margin:7px 0;padding:9px;display:flex}.pixel-record.svelte-4cgfmx{background:radial-gradient(circle,#d997bb 0 4px,#272229 5px 8px,#0000 9px),repeating-radial-gradient(circle,#302a31 0 4px,#3e3540 5px 6px);border-radius:50%;flex:none;width:38px;height:38px;animation:6s steps(24,end) infinite svelte-4cgfmx-spin;position:relative}.pixel-record.svelte-4cgfmx i:where(.svelte-4cgfmx){background:#f0dfca;width:4px;height:4px;position:absolute;top:17px;left:17px}.display-copy.svelte-4cgfmx{flex-direction:column;flex:1;min-width:0;display:flex}.display-copy.svelte-4cgfmx small:where(.svelte-4cgfmx){letter-spacing:.08em;font-size:7px}.display-copy.svelte-4cgfmx strong:where(.svelte-4cgfmx){margin-top:2px;font-size:11px}.display-copy.svelte-4cgfmx span:where(.svelte-4cgfmx){margin-top:3px;font-size:8px}.bars.svelte-4cgfmx,.mini-bars.svelte-4cgfmx{align-items:flex-end;gap:2px;display:flex}.bars.svelte-4cgfmx{height:23px}.bars.svelte-4cgfmx i:where(.svelte-4cgfmx),.mini-bars.svelte-4cgfmx i:where(.svelte-4cgfmx){background:#76558d;width:3px;animation:.65s steps(3,end) infinite alternate svelte-4cgfmx-eq}.bars.svelte-4cgfmx i:where(.svelte-4cgfmx):first-child{height:8px}.bars.svelte-4cgfmx i:where(.svelte-4cgfmx):nth-child(2){height:19px;animation-delay:-220ms}.bars.svelte-4cgfmx i:where(.svelte-4cgfmx):nth-child(3){height:13px;animation-delay:-410ms}.bars.svelte-4cgfmx i:where(.svelte-4cgfmx):nth-child(4){height:21px;animation-delay:-100ms}.spotify-frame.svelte-4cgfmx{background:#181818;height:352px;overflow:hidden}.spotify-frame.svelte-4cgfmx iframe:where(.svelte-4cgfmx){border:0;display:block}.spotify-link.svelte-4cgfmx{color:inherit;text-align:center;padding:8px 3px 2px;font-size:8px;text-decoration:none;display:block}.mini-radio.svelte-4cgfmx{color:#392d39;cursor:pointer;width:190px;height:48px;font-family:var(--mono);text-align:left;background:#ead7bd;border:3px solid #493b43;align-items:center;gap:9px;padding:6px 9px;transition:opacity .15s,transform .15s;display:flex;box-shadow:4px 4px #2a212838}.mini-radio.hidden.svelte-4cgfmx{opacity:0;pointer-events:none;transform:translateY(5px)}.mini-note.svelte-4cgfmx{color:#fff1d8;background:#8c648d;flex:none;place-items:center;width:31px;height:31px;font-size:15px;display:grid}.mini-copy.svelte-4cgfmx{flex-direction:column;flex:1;display:flex}.mini-copy.svelte-4cgfmx strong:where(.svelte-4cgfmx){font-size:9px}.mini-copy.svelte-4cgfmx small:where(.svelte-4cgfmx){margin-top:3px;font-size:7px}.mini-bars.svelte-4cgfmx{height:18px}.mini-bars.svelte-4cgfmx i:where(.svelte-4cgfmx):first-child{height:8px}.mini-bars.svelte-4cgfmx i:where(.svelte-4cgfmx):nth-child(2){height:16px;animation-delay:-300ms}.mini-bars.svelte-4cgfmx i:where(.svelte-4cgfmx):nth-child(3){height:11px;animation-delay:-500ms}.night .radio-window.svelte-4cgfmx,.night .mini-radio.svelte-4cgfmx{color:#efe1d5;background:#30273a;border-color:#806b89;box-shadow:5px 5px #0d0b1259,0 0 22px #b080d024}.night .radio-display.svelte-4cgfmx{background:#493750}@keyframes svelte-4cgfmx-eq{to{height:5px}}@keyframes svelte-4cgfmx-spin{to{transform:rotate(360deg)}}@media (width<=700px){.radio-shell.svelte-4cgfmx{bottom:10px;right:10px}.mini-radio.svelte-4cgfmx{width:150px}.mini-copy.svelte-4cgfmx small:where(.svelte-4cgfmx){display:none}}
