:root{--accent:#725397;--accent-soft:color-mix(in srgb,var(--accent) 12%,var(--paper));--accent-ink:white}.logo-link{width:min(var(--logo-size,600px),90vw)}body{font-size:var(--base-font,16px)}.profile-copy{white-space:pre-line;line-height:1.9;font-size:calc(var(--base-font,16px) + 1px);margin-bottom:24px}.language-switch{display:flex;gap:4px;align-items:center;margin-left:14px;padding-left:14px;border-left:1px solid var(--line)}.language-switch button{font:inherit;font-size:12px;cursor:pointer;background:transparent;color:var(--muted);border:0;padding:6px}.language-switch button[aria-pressed=true]{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:5px}.masthead nav a[aria-current=page]{color:var(--accent);text-decoration-color:var(--accent)}.square-button.play-release,.filters button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.square-button.play-release:hover{background:var(--accent);filter:brightness(.9)}.listen-links .text-link:hover,.load-player,.project-type{background:var(--accent-soft)}.square-button{border-color:var(--accent)}.square-button:hover{background:var(--accent-soft)}.current-position{border-left:3px solid var(--accent);padding:14px 20px;background:var(--accent-soft);font-size:16px;line-height:1.8;margin-top:24px}.admin-link{font-size:12px;color:var(--muted)}.js.home-entry .masthead{min-height:var(--intro-height,92svh)}.home-entry .masthead nav{animation-delay:var(--menu-delay,600ms)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--accent)}.release-grid{margin-top:24px}.release-info .bandcamp-player{margin-top:20px}.detail-image.release-cover{max-width:650px}.masthead nav{gap:25px}.masthead nav>a{font-size:var(--base-font,16px);padding:6px 0}.skip{z-index:200}@media(max-width:700px){.masthead .nav-anchor nav{gap:11px;padding:8px 12px;flex-wrap:wrap;align-content:center}.nav-anchor,.masthead .nav-anchor nav{height:88px}.masthead nav>a{font-size:14px}.language-switch{margin-left:2px;padding-left:8px;gap:1px}.language-switch button{padding:4px;font-size:12px}html{scroll-padding-top:106px}.current-position{font-size:15px}.release-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.logo-link{width:min(var(--logo-size,600px),96vw)}}

.card-role,.section-heading p,.timeline-row{font-size:calc(var(--base-font,16px) - 1px)}.card-meta,.section-label,.eyebrow{font-size:calc(var(--base-font,16px) - 2px)}.text-link,.filters button,.square-button,.contact-info p{font-size:var(--base-font,16px)}

.contact-info #copy-email{margin:0 0 24px;display:flex}.contact-info #email-copy-fallback{display:block;width:100%;padding:12px;margin-top:15px;font:inherit;border:1px solid var(--line);border-radius:0}

/* Keep the masthead mounted while only the page content changes. */
.shell-settled .masthead .logo-link,.shell-settled .masthead nav{animation:none!important;opacity:1;transform:none}
.shell-settled .scroll-cue{visibility:hidden;pointer-events:none}
.js.shell-settled main{animation:none!important;clip-path:none;transform:none;opacity:1;transition:opacity 220ms ease,transform 220ms ease}
.js.shell-settled main.content-swapping{opacity:0;transform:translateY(-6px);pointer-events:none}
.masthead nav>a{position:relative;isolation:isolate;transition:color 200ms ease;text-decoration:none!important}
.masthead nav>a::before{content:"";position:absolute;z-index:-1;inset:0 -10px;background:var(--accent-soft);opacity:0;transition:opacity 220ms ease}
.masthead nav>a:hover,.masthead nav>a:focus-visible{color:var(--accent)}
.masthead nav>a:hover::before,.masthead nav>a:focus-visible::before{opacity:.8}
.masthead nav>a::after{content:none!important}
.nav-progress{position:fixed;left:0;right:0;height:2px;background:var(--accent);z-index:150;pointer-events:none;will-change:transform,opacity}
.nav-progress[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.js.shell-settled main,.masthead nav>a,.masthead nav>a::before{transition:none!important}.nav-progress{display:none}}

/* The full-height intro belongs only to the first arrival. */
.js.home-entry.shell-settled .masthead{min-height:0;justify-content:flex-start;padding-top:38px;padding-bottom:32px;gap:22px;overflow-anchor:none}
.js.home-entry.shell-settled .scroll-cue{display:none}
@media(max-width:700px){.js.home-entry.shell-settled .masthead{padding-top:24px;padding-bottom:24px;gap:16px}}

/* On Home, scrolling back to the top brings back the full opening. */
.js.home-entry.shell-settled.home-restored .masthead{min-height:max(100svh,var(--intro-height));justify-content:center;padding-top:7svh;padding-bottom:17svh;gap:28px}
.js.home-entry.shell-settled.home-restored .scroll-cue{display:flex;visibility:visible;pointer-events:auto;animation:none;opacity:1}
@media(max-width:700px){.js.home-entry.shell-settled.home-restored .masthead{padding-top:4svh;padding-bottom:15svh;gap:24px}}

.archive-jump{display:inline-block;font-size:16px;color:var(--accent);margin-top:20px;border-bottom:1px solid var(--accent);padding-bottom:4px}
.work-controls{padding-top:0;padding-bottom:24px}.work-controls .filters{padding-top:0}.work-controls .result-count{margin-bottom:0}
.archive-heading{font-size:clamp(26px,3vw,36px);line-height:1.3;margin:0 0 30px}
.featured-works{padding-bottom:70px}.work-archive{scroll-margin-top:96px}.archive-intro{font-size:16px;color:var(--muted);line-height:1.8;margin-bottom:36px}
.archive-year{display:grid;grid-template-columns:130px minmax(0,1fr);gap:30px;border-top:1px solid var(--line);padding:28px 0 12px}
.archive-year-title{font-size:25px;font-weight:500;margin:0;line-height:1.5}.archive-list{list-style:none;margin:0;padding:0}
.archive-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:22px;padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.archive-row:last-child{border-bottom:0;margin-bottom:0}
.archive-date{font-size:15px;color:var(--muted);padding-top:3px}.archive-title{font-size:20px;line-height:1.5;display:inline-block}.archive-client{font-size:15px;color:var(--muted);line-height:1.6;margin-top:5px}.archive-role{font-size:15px;line-height:1.6;margin-top:3px}
@media(max-width:700px){.archive-year{grid-template-columns:1fr;gap:22px;padding-top:23px}.archive-row{grid-template-columns:85px minmax(0,1fr);gap:12px}.archive-title{font-size:18px}.archive-date{font-size:14px}.featured-works{padding-bottom:45px}.work-archive{scroll-margin-top:110px}}

.home-news{padding-top:20px;padding-bottom:65px}.news-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:28px}.news-heading h2{font-size:clamp(30px,4vw,46px);line-height:1.2}.news-heading>a{font-size:15px}
.news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.news-row{display:grid;grid-template-columns:125px minmax(0,1fr);gap:25px;padding:24px 0;border-bottom:1px solid var(--line)}.news-date{font-size:15px;color:var(--muted);padding-top:3px}.news-title{font-size:20px;line-height:1.6;overflow-wrap:anywhere}.news-title:hover{color:var(--accent)}.news-summary{font-size:16px;line-height:1.8;color:var(--muted);margin-top:7px;white-space:pre-line}
@media(max-width:700px){.home-news{padding-bottom:45px}.news-row{grid-template-columns:1fr;gap:8px;padding:20px 0}.news-date{font-size:14px;padding:0}.news-title{font-size:18px}.news-summary{font-size:15px}.news-heading{gap:12px}.news-heading>a{font-size:14px}}

/* Give each part of Home its own breathing room and a short divider. */
main>.home-section{position:relative;padding-top:32px;padding-bottom:52px}
main>.home-section~.home-section{padding-top:72px}
main>.home-section~.home-section::before{content:"";position:absolute;top:12px;left:var(--pad);width:56px;height:1px;background:var(--line)}
.home-section>.release-heading,.home-section>.section-heading,.home-section>.music-intro{margin-top:0}
.home-releases>.release-heading h2{font-size:clamp(30px,4vw,46px);line-height:1.2}
@media(max-width:700px){main>.home-section{padding-top:20px;padding-bottom:36px}main>.home-section~.home-section{padding-top:52px}main>.home-section~.home-section::before{top:8px;width:44px}}

.logo-surface{position:relative;display:block;width:100%;transform-origin:center;transform-style:preserve-3d;backface-visibility:hidden}
.logo-link{touch-action:pan-y;-webkit-user-select:none;user-select:none}.logo-link .site-logo{pointer-events:none;-webkit-user-drag:none}
.logo-shine{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 220ms ease;background:radial-gradient(ellipse at var(--shine-x,50%) var(--shine-y,40%),#ffffff85 0%,#ffffff28 25%,transparent 65%);mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mix-blend-mode:screen}
.logo-lit .logo-shine{opacity:.32}.logo-held .logo-shine{opacity:.4}
@media(hover:hover) and (pointer:fine){.home-entry:not(.shell-settled) .logo-link,.home-restored .logo-link{cursor:grab}.logo-link.logo-held{cursor:grabbing}}
@media(prefers-reduced-motion:reduce){.logo-surface{transform:none!important}.logo-shine{display:none}}

footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:24px 36px;border-top:1px solid var(--line);padding-top:34px;padding-bottom:36px}
.footer-meta{display:flex;flex-direction:column;gap:12px}.footer-copyright{font-size:13px;color:var(--muted);white-space:nowrap}
.footer-socials{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px;font-size:15px;line-height:1.6}.footer-social-link{display:inline-flex;align-items:center;min-height:36px;transition:color 180ms ease}.footer-social-link:hover{color:var(--accent)}
.footer-contact{font-size:15px;line-height:36px;white-space:nowrap}footer>.admin-link{grid-column:1/-1}
@media(max-width:700px){footer{grid-template-columns:1fr;gap:18px;padding-top:28px;padding-bottom:28px}.footer-meta{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.footer-socials{justify-content:flex-start;gap:4px 18px}.footer-contact{justify-self:start}.footer-copyright{font-size:12px}}

.footer-socials{gap:6px 10px}.footer-social-link{width:44px;height:44px;min-height:44px;justify-content:center;border:1px solid transparent;border-radius:0;color:var(--muted);transition:color 180ms ease,background-color 180ms ease,border-color 180ms ease}
.footer-social-link svg{display:block;width:24px;height:24px;flex:none}.footer-social-link:hover,.footer-social-link:focus-visible{color:var(--accent);background:var(--accent-soft);border-color:var(--line);text-decoration:none}
@media(max-width:700px){.footer-socials{gap:6px 8px;justify-content:flex-start}}
