/* DM Sans — SIL Open Font License; see /assets/fonts/DM-Sans-OFL.txt. */
@font-face{font-family: 'DM Sans';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url("/assets/fonts/dm-sans-latin-ext-v17.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family: 'DM Sans';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url("/assets/fonts/dm-sans-latin-v17.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* BOMAYE: a dark record sleeve / an exhibition index.
   Artwork supplies the detail. Type, open space and a few rules organise it. */
.public-site{--editorial-space:clamp(72px,10vw,160px)}
.public-site .header{backdrop-filter:none;background:#090a0cf5;border-bottom-color:#30373580}
.public-site .header nav a,.public-site .header-label{transition:color .18s;text-shadow:none}
.public-site .header nav a:before{display:none}
.public-site .header nav a:is(:hover,:focus-visible),.public-site .header-label:is(:hover,:focus-visible){color:var(--accent);text-shadow:none}
.public-site .header .wordmark:is(:hover,:focus-visible) img{filter:none}
.public-site .header nav a[aria-current]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
.public-site .masthead-meta{font-size:1rem;color:var(--muted)}
.public-site .hero-bottom{padding-bottom:30px}
.public-site .section-heading{border-top:1px solid var(--line);padding-top:22px;margin-bottom:36px;align-items:end}
.public-site .section-heading h2{font-size:clamp(3.8rem,7.8vw,8rem);line-height:1;gap:0}
.public-site .section-caption{font-size:1rem;line-height:1.5;max-width:35%;text-align:right;flex-shrink:1;padding-bottom:9px}
.public-site .music-section>.section-heading{padding-top:22px;margin-bottom:36px}
.public-site .section{padding-top:var(--editorial-space)}
.public-site .ambient-background{opacity:.17}
.public-site .home-music-player{grid-template-columns:minmax(0,2fr) minmax(260px,.85fr);gap:clamp(26px,4vw,72px)}
.public-site .music-embed{border:0}
.public-site .music-now{background:transparent;border:0;padding:22px 0 0}
.public-site .music-now-label{color:var(--muted);font-size:.875rem;margin-bottom:5px}
.public-site .music-now h3{font-size:clamp(2rem,3.4vw,3.8rem)}
.public-site .music-now-subtitle{font-size:1rem}
.public-site .music-now-links{gap:10px 24px}
.public-site .music-now-links a{color:var(--ink);border-bottom-color:#67716d}
.public-site .music-now-links a:hover{color:var(--accent)}
.public-site .music-playlist{background:transparent;border:0;padding:0}
.public-site .music-playlist-heading{border-block:1px solid var(--line);padding:14px 0}
.public-site .music-playlist-heading h3{font-size:1rem;font-weight:400}
.public-site .music-playlist-heading>span{font-size:.875rem}
.public-site .music-video-row{border-left:0;padding:19px 0;gap:14px}
.public-site .music-video-row[aria-current=true]{border-left:0;padding-left:0;background:transparent}
.public-site .music-video-row[aria-current=true] .music-video-copy strong{color:var(--accent)}
.public-site .music-video-row:hover{background:#99e6d309}
.public-site .music-video-copy strong{font-weight:400;font-size:1.125rem}
.public-site .music-video-copy small{font-size:.875rem}
.public-site .music-video-number{font-size:.875rem}
.public-site .music-video-thumb{background:#111715}
.public-site .music-video-search input{background:var(--bg);border:0;border-bottom:1px solid var(--line);padding-inline:0}
.public-site .section-action{border:0;padding-top:30px}
.public-site .section-action-link{min-width:220px;min-height:56px;padding:14px 28px;border:1px solid #94e9d58c;border-radius:0;background:#94e9d50d;color:var(--ink);font-size:1.125rem;font-weight:500;width:auto;text-decoration:none;transition:background .18s,color .18s,border-color .18s}
.public-site .section-action-link:is(:hover,:focus-visible){background:var(--accent);color:var(--bg);border-color:var(--accent);text-decoration:none}
.public-site .section-action-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:600px){.public-site .section-action-link{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.public-site .section-action-link{transition:none}}
/* Compact works cards; the two-row home layout is defined below. */
.public-site #works .works-grid{--rail-gap:12px;display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 4 * var(--rail-gap)) / 5);gap:var(--rail-gap);align-items:start;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#64736c #1a211e;padding:4px 2px 8px;scroll-padding-inline:2px}
.public-site #works .work-card:nth-child(n){grid-column:auto;margin:0;min-width:0;scroll-snap-align:start}
.public-site #works .work-image{background:#0f1412;aspect-ratio:4/3;display:grid;place-items:center}
.public-site #works .work-image img{width:100%;height:100%;max-height:none;object-fit:contain;transform:none;transition:opacity .2s}
.public-site #works .work-card:hover img{opacity:.88;transform:none}
.public-site #works .work-card:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}
.public-site #works .work-card-meta{font-size:.9375rem;color:var(--muted);margin-top:6px;border:0;padding:0;display:block;min-height:1.4em;overflow-wrap:anywhere}
.public-site #works .work-card h3{font-size:1.2rem;font-weight:400;line-height:1.35;margin:3px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em;max-height:2.7em}
.public-site #works .work-card h3>.type-run{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.public-site .works-rail-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;padding-top:8px}
.public-site .works-rail-count{font-size:.9375rem;color:var(--muted);font-variant-numeric:tabular-nums;min-width:90px}
.public-site .works-rail-controls{display:flex;gap:18px}
.public-site .works-rail-controls[hidden]{display:none}
.public-site .works-rail-controls button{background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);font:inherit;font-size:.9375rem;padding:9px 4px;min-width:50px;min-height:44px;cursor:pointer}
.public-site .works-rail-controls button:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}
.public-site .works-rail-controls button:disabled{opacity:.35;cursor:default}
.public-site .works-rail-footer>.section-action-link{margin-left:auto}
.public-site .works-rail-empty{font-size:1rem;color:var(--muted);line-height:1.8}
@media(max-width:1100px) and (min-width:601px){.public-site #works .works-grid{--rail-gap:12px;grid-auto-columns:calc((100% - 3 * var(--rail-gap)) / 3.3)}}
@media(max-width:600px){.public-site #works .works-grid{--rail-gap:8px;grid-auto-columns:calc((100% - 2 * var(--rail-gap)) / 2.25)}.public-site #works .work-card h3{font-size:1.125rem}.public-site .works-rail-footer{gap:8px 14px}.public-site .works-rail-count{min-width:72px}.public-site .works-rail-controls{gap:8px}}
.public-site .about-section{padding-bottom:var(--editorial-space)}
.public-site .about-layout{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(35px,8vw,130px);border:0;padding-top:0;align-items:start}
.public-site .artist-portrait{max-width:none}
.public-site .artist-portrait img{aspect-ratio:auto;object-fit:contain}
.public-site .artist-portrait figcaption{font-size:1rem}
.public-site .about-copy{padding-top:12px}
.public-site .about-copy .about-name{font-size:clamp(3.5rem,7vw,7rem);line-height:1}
.public-site .about-copy .about-profession{font-size:clamp(1.25rem,1.8vw,1.8rem);font-weight:400;color:var(--muted)}
.public-site .about-copy p{font-size:1.125rem;line-height:1.9}
.public-site .about-copy .translation{font-size:1rem;line-height:1.8;margin-top:22px}
.public-site .contact-primary{font-size:clamp(1.9rem,3.8vw,3.8rem);font-weight:400;max-width:100%;width:100%;border-color:var(--ink);margin-top:12px;padding:12px 0}
.public-site .contact-links{display:flex;flex-wrap:wrap;gap:12px 16px;width:auto;margin-top:26px}
.public-site .contact-links a{border-radius:0;width:40px;height:44px;padding:9px}
.public-site .contact-links a:hover{background:transparent}
.public-site .store-section{padding:28px 0;gap:24px;align-items:start}
.public-site .store-intro{align-items:baseline;gap:20px}
.public-site .store-section h2{font-size:clamp(2rem,3.2vw,3rem)}
.public-site .store-status{font-size:.875rem}
.public-site .store-bottom p{font-size:1rem}
.public-site footer{padding-block:34px;font-size:1rem}
.public-site .portfolio-title{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:32px}
.public-site .portfolio-title h1{font-size:clamp(3.5rem,7vw,7rem);line-height:1}
.public-site .portfolio-title>p{font-size:1rem}
.public-site .music-archive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 30px}
.public-site .music-release{display:block}
.public-site .music-release-info{padding-top:18px}
.public-site .music-release-meta{font-size:.875rem;color:var(--muted)}
.public-site .music-release h2{font-size:clamp(1.4rem,2.2vw,2.2rem);font-weight:400;margin-top:7px}
.public-site .music-subtitle{font-size:1rem}
.public-site .music-art{border:0;background:#111715}
.public-site .music-actions a,.public-site .music-link-group a,.public-site .music-service-links a{background:transparent;border:0;border-bottom:1px solid var(--line);padding:7px 0;justify-content:start;min-height:44px;font-size:.9375rem}
.public-site .music-actions,.public-site .music-link-group>div{gap:10px 20px}
.public-site .music-actions a:hover,.public-site .music-link-group a:hover,.public-site .music-service-links a:hover{background:transparent;color:var(--accent);border-color:var(--accent)}
.public-site .music-service-links{gap:10px 24px}
.public-site .latest-grid{gap:32px}
.public-site .latest-card{background:transparent;border:0;padding:0}
@media(max-width:1100px){.public-site .home-music-player{grid-template-columns:minmax(0,1.6fr) 280px;gap:26px}}
@media(max-width:900px){
 .public-site .home-music-player{grid-template-columns:minmax(0,1fr);gap:30px}
 .public-site .music-playlist{max-width:none}
 .public-site .music-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .public-site{--editorial-space:80px}
 .public-site .hero-bottom{padding-bottom:20px}
 .public-site .section-heading,.public-site .music-section>.section-heading{padding-top:16px;margin-bottom:25px;gap:14px;flex-wrap:nowrap;align-items:end}
 .public-site .section-heading h2{font-size:clamp(3.2rem,11vw,5rem)}
 .public-site .section-caption{font-size:.9375rem;max-width:48%;padding-bottom:4px}
 .public-site .about-layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .public-site .artist-portrait{width:82%}
 .public-site .about-copy{padding-top:0}
 .public-site .about-copy .about-name{font-size:4rem}
 .public-site .contact-primary{font-size:2.7rem}
 .public-site .store-intro{width:100%;justify-content:space-between}
 .public-site .store-section{gap:12px}
 .public-site .portfolio-title h1{font-size:3.5rem}
 .public-site .music-archive-grid{gap:32px 18px}
 .public-site .music-release h2{font-size:1.5rem}
 .public-site .music-release-info{padding-top:12px}
}
@media(max-width:420px){
 .public-site .section-heading{flex-wrap:wrap;gap:2px}
 .public-site .section-caption{max-width:100%;text-align:left}
 .public-site .music-archive-grid{grid-template-columns:minmax(0,1fr)}
}

/* Smaller release sleeves: more music in view, with readable titles and actions. */
.public-site .music-archive-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 20px}
.public-site .music-archive .music-release-info{padding-top:10px}
.public-site .music-archive .music-release h2{font-size:clamp(1.1rem,1.5vw,1.4rem);margin-top:4px}
.public-site .music-archive .music-subtitle{font-size:.9375rem;line-height:1.5}
.public-site .music-archive .music-actions{gap:0 12px;margin-top:6px}
.public-site .music-archive .music-actions a{font-size:.875rem;padding-block:5px}
.public-site .portfolio-music-card .music-art-type{font-size:clamp(1rem,1.8vw,1.65rem)}
@media(min-width:1500px){.public-site .music-archive-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1000px){.public-site .music-archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.public-site .music-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.public-site .music-archive .music-release h2{font-size:1.2rem}}

/* Keep the home selection compact while retaining the archive controls. */
.public-site #works.section{padding-top:clamp(36px,5vw,72px)}
.public-site #works>.section-heading{margin-bottom:22px}

.public-site .archive-sort{display:flex;align-items:end;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin:0 0 24px}
.public-site .archive-sort-label{display:flex;flex-direction:column;gap:6px;font-size:.875rem;color:var(--muted)}
.public-site .archive-sort-label select,.public-site .archive-sort button{font:inherit;min-height:44px;padding:9px 14px;border:1px solid var(--line);border-radius:0;color:var(--ink);background:var(--bg)}
.public-site .archive-sort button:hover{border-color:var(--accent);color:var(--accent)}
.public-site .music-tools form{align-items:end;flex-wrap:wrap}
@media(max-width:600px){.public-site .archive-sort{justify-content:start}.public-site .archive-sort-label{flex:1}.public-site .archive-sort-label select{width:100%}}

.public-site .music-tools{align-items:end;flex-wrap:wrap;padding-block:12px}
@media(max-width:700px){.public-site .music-tools input[type=search]{flex:1 0 100%;width:100%}.public-site .music-tools .archive-sort-label{flex:1}.public-site .music-tools .archive-sort-label select{width:100%}}

/* Home is a two-row introduction to all published disciplines. */
.public-site #works.section{padding-top:var(--editorial-space)}
.public-site #works>.section-heading{margin-bottom:30px}
.public-site .home-works-tools{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:16px 24px;margin-bottom:22px}
.public-site .home-works-tools[hidden]{display:none}
.public-site .home-works-categories{display:flex;gap:8px 20px;flex-wrap:wrap}
.public-site .home-works-categories button{background:transparent;border:0;border-bottom:1px solid transparent;color:var(--muted);font:inherit;font-size:.9375rem;min-height:44px;padding:8px 0;cursor:pointer}
.public-site .home-works-categories button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}
.public-site .home-works-categories button:hover{color:var(--ink)}
.public-site #works .works-grid{--rail-gap:18px;grid-template-rows:repeat(2,max-content);row-gap:26px;padding-bottom:16px}
.public-site #works .work-card[hidden]{display:none}
.public-site #works .work-image .music-art-type{font-size:clamp(1rem,1.4vw,1.65rem)}
.public-site #works .work-card-meta{margin-top:10px}
.public-site .works-rail-footer{padding-top:14px}
@media(max-width:1100px) and (min-width:601px){.public-site #works .works-grid{--rail-gap:16px}}
@media(max-width:600px){.public-site #works .works-grid{--rail-gap:12px;row-gap:22px}.public-site .home-works-tools{align-items:start}.public-site .home-works-categories{gap:4px 16px;width:100%}}

/* MUSIC: browse by artwork/title, then listen and buy on the named service. */
.public-site .music-catalog-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:18px 0}
.public-site .music-catalog-toolbar .music-count{margin:0;font-size:.9375rem}
.public-site .music-catalog{display:grid;grid-template-columns:minmax(0,1fr)}
.public-site .music-catalog-item{display:grid;grid-template-columns:112px minmax(0,1fr) minmax(230px,36%);gap:14px 26px;align-items:center;min-width:0;padding:24px 0;border-top:1px solid var(--line)}
.public-site .music-catalog-item:last-child{border-bottom:1px solid var(--line)}
.public-site .music-catalog-item>.music-art{width:112px;grid-column:1;grid-row:1;align-self:start}
.public-site .music-catalog-item .music-art-type{font-size:1.1rem;font-weight:400;padding:10px}
.public-site .music-catalog-item .music-release-meta{font-size:.875rem;color:var(--muted);line-height:1.5}
.public-site .music-catalog-copy{min-width:0}
.public-site .music-catalog-item h2{font-size:clamp(1.5rem,2.3vw,2.2rem);line-height:1.3;font-weight:400;overflow-wrap:anywhere;margin:5px 0}
.public-site .music-catalog-item h2 a:hover{color:var(--accent)}
.public-site .music-catalog-item .music-subtitle{font-size:1rem;line-height:1.6;color:var(--muted);margin:0}
.public-site .music-catalog-actions{display:flex;flex-wrap:wrap;align-items:start;gap:8px 12px;justify-content:flex-start;min-width:0}
.public-site .music-catalog-link-group{max-width:100%;min-width:0}
.public-site .music-catalog-link-group>a,.public-site .music-more-services a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.9375rem;text-decoration:none;overflow-wrap:anywhere}
.public-site .music-catalog-link-group.is-purchase>a{color:var(--accent);border-color:var(--accent)}
.public-site .music-catalog-link-group a:hover{color:var(--accent);border-color:var(--accent)}
.public-site .music-more-services summary{font-size:.875rem;min-height:44px;padding:10px 0;color:var(--muted);cursor:pointer}
.public-site .music-more-services>div{display:flex;flex-direction:column;align-items:start}
.public-site .music-catalog-unavailable{font-size:.9375rem;color:var(--muted);line-height:1.6}
.public-site .music-catalog-tracks{grid-column:2/-1;min-width:0}
.public-site .music-catalog-tracks summary{display:list-item;cursor:pointer;font-size:.9375rem;min-height:44px;padding:10px 0;color:var(--muted)}
.public-site .music-catalog-tracks summary>span:not(.type-run){font-size:.8125rem;margin-left:14px}
.public-site .music-catalog-tracks[open] summary{color:var(--ink)}
.public-site .music-catalog-tracks ol{padding:12px 0 8px 26px;border-top:1px solid var(--line);font-size:1rem;line-height:1.8;overflow-wrap:anywhere}
.public-site .music-catalog-tracks li{padding:5px 0 5px 5px}
.public-site .music-catalog[data-view=grid]{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 20px}
.public-site .music-catalog[data-view=grid] .music-catalog-item{display:flex;flex-direction:column;align-items:stretch;padding:0;border:0;gap:12px}
.public-site .music-catalog[data-view=grid] .music-catalog-item>.music-art{width:100%}
.public-site .music-catalog[data-view=grid] .music-catalog-item h2{font-size:clamp(1.2rem,1.6vw,1.5rem)}
.public-site .music-catalog[data-view=grid] .music-catalog-actions{margin-top:auto}
.public-site .music-catalog[data-view=grid] .music-catalog-item .music-art-type{font-size:clamp(1.3rem,2vw,2rem)}
@media(min-width:1500px){.public-site .music-catalog[data-view=grid]{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1000px){.public-site .music-catalog-item{grid-template-columns:96px minmax(0,1fr);gap:10px 22px}.public-site .music-catalog-item>.music-art{width:96px;grid-row:1/3}.public-site .music-catalog-actions{grid-column:2}.public-site .music-catalog[data-view=grid]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.public-site .music-catalog-item{grid-template-columns:80px minmax(0,1fr);gap:8px 18px;padding:22px 0}.public-site .music-catalog-item>.music-art{width:80px}.public-site .music-catalog-item h2{font-size:1.5rem}.public-site .music-catalog-item .music-release-meta{font-size:.8125rem}.public-site .music-catalog-item .music-subtitle{font-size:.9375rem}.public-site .music-catalog-tracks{grid-column:1/-1}.public-site .music-catalog[data-view=grid]{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.public-site .music-catalog[data-view=grid] .music-catalog-item h2{font-size:1.2rem}}
.public-site .music-archive .portfolio-title{margin-bottom:20px;padding-bottom:18px}
.public-site .music-archive .music-tools{gap:8px 20px;padding-block:8px}
.public-site .music-archive .music-tools .category-filters{padding-block:4px}
.public-site .music-catalog-toolbar{margin-block:10px}

/* Service-only controls: filled purchase actions, outlined listening/video actions. */
.public-site .music-catalog[data-view=grid] .music-catalog-item{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto;align-content:start;padding:12px;border:1px solid #35433e;background:#0c100e80;gap:9px}
.public-site .music-catalog[data-view=grid] .music-catalog-item:last-child{border:1px solid #35433e}
.public-site .music-catalog[data-view=grid] .music-catalog-item>.music-art{grid-column:1;grid-row:1;align-self:start}
.public-site .music-catalog[data-view=grid] .music-catalog-copy{grid-column:1;grid-row:2}
.public-site .music-catalog[data-view=grid] .music-catalog-actions{grid-column:1;grid-row:3;margin:0;display:flex;gap:8px;flex-wrap:wrap;align-content:start}
.public-site .music-catalog-link-group{display:contents}
.public-site .music-catalog-actions .music-service-link{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:10px;border:1px solid #68766f;background:#101613;color:var(--ink);border-radius:0;transition:background .18s,border-color .18s,color .18s}
.public-site .music-service-link>svg{width:22px;height:22px;flex-shrink:0}
.public-site .music-catalog-link-group.is-purchase>.music-service-link{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.public-site .music-catalog-actions .music-service-link:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.public-site .music-service-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.public-site .music-service-link:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 9px);left:0;z-index:5;display:none;width:max-content;max-width:200px;white-space:normal;padding:7px 10px;border:1px solid #68766f;background:var(--bg);color:var(--ink);font-size:.75rem;line-height:1.4;pointer-events:none}
.public-site .music-service-link:is(:hover,:focus-visible):after{display:block}
.public-site .music-catalog[data-view=grid] .music-catalog-tracks{grid-column:1;grid-row:4}
.public-site .music-catalog-tracks summary{font-size:.8125rem;border-top:1px solid var(--line)}
@media(max-width:600px){.public-site .music-catalog[data-view=grid]{gap:18px 12px}.public-site .music-catalog[data-view=grid] .music-catalog-item{padding:10px;gap:10px;grid-template-rows:auto minmax(0,1fr) auto auto}.public-site .music-catalog-actions{gap:6px}.public-site .music-catalog-item .music-art-type{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.public-site .music-catalog-actions .music-service-link{transition:none}}

/* Natural content height: no reserved tracklist space on singles. */
.public-site .music-catalog[data-view=grid]{align-items:stretch;gap:22px 20px}
.public-site .music-catalog[data-view=grid] .music-catalog-item h2{font-size:clamp(1.1rem,1.4vw,1.35rem);line-height:1.25;margin:4px 0}
.public-site .music-catalog[data-view=grid] .music-release-meta{font-size:.75rem;line-height:1.35;margin:0 0 5px}
.public-site .music-catalog[data-view=grid] .music-subtitle{font-size:.875rem;line-height:1.4;margin:0}
.public-site .music-catalog[data-view=grid] .music-catalog-tracks summary{padding-block:8px;min-height:36px}
@media(max-width:600px){.public-site .music-catalog[data-view=grid]{gap:16px 12px}.public-site .music-catalog[data-view=grid] .music-catalog-item h2{font-size:1.05rem}.public-site .music-catalog[data-view=grid] .music-subtitle{font-size:.8125rem}}

/* EVENTS: one toolbar and compact schedule rows. */
.public-site .event-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap;border-block:1px solid var(--line);padding:12px 0;margin-bottom:24px}
.public-site .event-toolbar .category-filters{border:0;padding:0;margin:0;gap:8px}
.public-site .event-toolbar .category-filters a{font-size:.875rem;padding:8px 12px}
.public-site .event-toolbar .event-filter{margin:0 0 0 auto;gap:10px;align-items:end}
.public-site .event-filter label{font-size:.6875rem;gap:5px}
.public-site .event-filter select{font-size:.8125rem;padding:9px 28px 9px 10px;min-height:42px;max-width:100%}
.public-site .event-filter .outline-button{font-size:.8125rem;padding:8px 12px;min-height:42px}
.public-site .events-archive .event-month{margin:26px 0}
.public-site .event-month>h2{font-size:1.35rem;margin-bottom:12px}
.public-site .event-row{grid-template-columns:145px minmax(0,1fr) minmax(130px,24%) 150px;gap:14px;padding:14px 0;align-items:center;min-height:70px}
.public-site .event-row:last-child{border-bottom:1px solid var(--line)}
.public-site .event-row time{font-size:.8125rem;line-height:1.5;white-space:nowrap}
.public-site .event-row time>span{display:inline;margin-left:8px;font-size:.6875rem}
.public-site .event-row-main{min-width:0}
.public-site .event-row-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 10px}
.public-site .event-row h2{font-size:1.125rem;line-height:1.35;margin:0;overflow-wrap:anywhere}
.public-site .event-row-kind{font-size:.625rem;line-height:1.5;color:var(--muted);white-space:nowrap}
.public-site .event-row-translation{font-size:.75rem;line-height:1.4;margin:4px 0 0;color:var(--muted);overflow-wrap:anywhere}
.public-site .event-row-venue{font-size:.8125rem;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
.public-site .event-row-time{font-size:.8125rem;line-height:1.5;text-align:right;grid-column:auto}
.public-site .event-row-time small{font-size:.6875rem;margin-top:2px}
.public-site .event-row .activity-badge{font-size:.6875rem;margin:3px 0 0}
@media(max-width:1000px){.public-site .event-toolbar .event-filter{width:100%;margin:0}.public-site .event-row{grid-template-columns:132px minmax(0,1fr) minmax(110px,22%) 120px;gap:12px}.public-site .event-row h2{font-size:1rem}}
@media(max-width:650px){.public-site .event-toolbar{gap:12px;padding:10px 0}.public-site .event-toolbar .event-filter{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:10px;width:100%}.public-site .event-filter label{min-width:0}.public-site .event-filter select{width:100%;font-size:16px;padding-right:20px}.public-site .event-filter .outline-button{align-self:end}.public-site .event-row{grid-template-columns:96px minmax(0,1fr);grid-template-areas:"date title" "time venue";gap:5px 12px;padding:12px 0;align-items:start}.public-site .event-row time{grid-area:date;font-size:.75rem}.public-site .event-row time>span{display:block;margin:1px 0 0}.public-site .event-row-main{grid-area:title}.public-site .event-row-venue{grid-area:venue;font-size:.75rem}.public-site .event-row-time{grid-area:time;text-align:left;font-size:.6875rem}.public-site .event-row h2{font-size:1rem}.public-site .event-row-kind{font-size:.5625rem}}

/* Keep three service controls in one row, including narrow two-column cards. */
.public-site .music-catalog[data-view=grid] .music-catalog-actions{display:grid;grid-template-columns:repeat(3,minmax(0,44px));gap:6px;justify-content:start}
.public-site .music-catalog[data-view=grid] .music-catalog-actions .music-service-link{width:100%;padding:5px;min-width:0}
@media(max-width:600px){.public-site .music-catalog[data-view=grid] .music-catalog-actions{gap:4px}.public-site .music-catalog-actions .music-service-link>svg{width:20px;height:20px}}

/* Schedule entries flow left to right within each month. */
.public-site .event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;border-bottom:1px solid var(--line)}
.public-site .event-list .event-row{grid-template-columns:112px minmax(0,1fr);grid-template-areas:"date title" "time venue";gap:6px 16px;align-content:center;align-items:start;min-width:0;min-height:104px;padding:16px 0}
.public-site .event-list .event-row:last-child{border-bottom:0}
.public-site .event-list .event-row time{grid-area:date;white-space:normal}
.public-site .event-list .event-row time>span{display:inline;margin-left:6px}
.public-site .event-list .event-row-main{grid-area:title}
.public-site .event-list .event-row-venue{grid-area:venue}
.public-site .event-list .event-row-time{grid-area:time;text-align:left;font-size:.75rem}
.public-site .event-list .event-row h2{font-size:1.0625rem}
@media(max-width:750px){.public-site .event-list{grid-template-columns:minmax(0,1fr)}.public-site .event-list .event-row{grid-template-columns:96px minmax(0,1fr);min-height:84px;padding:12px 0;gap:5px 12px}.public-site .event-list .event-row h2{font-size:1rem}.public-site .event-list .event-row time>span{display:block;margin:1px 0 0}}

/* Registered event flyers remain visible in the compact two-column schedule. */
.public-site .event-list .event-row.has-flyer{grid-template-columns:80px 104px minmax(0,1fr);grid-template-areas:"flyer date title" "flyer time venue";column-gap:14px}
.public-site .event-row-art{grid-area:flyer;display:grid;place-items:center;align-self:center;width:80px;height:100px;overflow:hidden;border:1px solid var(--line);background:#101613}
.public-site .event-row-art img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:1000px) and (min-width:751px){.public-site .event-list .event-row.has-flyer{grid-template-columns:72px 86px minmax(0,1fr);column-gap:10px}.public-site .event-row-art{width:72px;height:90px}}
@media(max-width:750px){.public-site .event-list .event-row.has-flyer{grid-template-columns:76px minmax(0,1fr);grid-template-areas:"flyer date" "flyer title" "flyer venue" "flyer time";gap:4px 14px}.public-site .event-row-art{width:76px;height:96px;align-self:start}.public-site .event-list .event-row.has-flyer time>span{display:inline;margin-left:6px}}

/* One shared page frame: align archives with the home, header and footer. */
.public-site{--page-max-width:1800px;max-width:var(--page-max-width);margin-inline:auto}
.public-site .portfolio-shell,.public-site.works-page .portfolio-shell{width:100%;max-width:none;padding-inline:var(--gutter)}
.public-site .latest-section.section{padding-inline:0}

/* Two independently looping rows at a constant 28 pixels per second. */
.public-site #works .works-flow .works-grid{display:block;overflow:hidden;padding:4px 2px 16px;scroll-snap-type:none}
.public-site .works-flow-row{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}
.public-site .works-flow-row::-webkit-scrollbar{display:none}
.public-site .works-flow-row+.works-flow-row{margin-top:26px}
.public-site .works-flow-lane{display:flex;gap:var(--flow-gap);width:max-content;animation:works-flow-left var(--flow-duration) linear infinite;animation-play-state:paused}
.public-site .works-flow-lane.is-reverse{animation-name:works-flow-right}
.public-site .works-flow-row:not(.can-flow) .works-flow-lane{animation:none}
.public-site #works .works-flow-lane .work-card{flex:0 0 var(--flow-card-width);width:var(--flow-card-width)}
.public-site .works-flow-running .can-flow .works-flow-lane{animation-play-state:running}
.public-site .works-flow-static .works-flow-lane{animation:none}
.public-site .works-flow-static [data-works-clone]{display:none}
@keyframes works-flow-left{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--flow-distance)))}}
@keyframes works-flow-right{from{transform:translateX(calc(-1 * var(--flow-distance)))}to{transform:translateX(0)}}
@media(max-width:600px){.public-site .works-flow-row+.works-flow-row{margin-top:22px}}

/* Only the moving rows bleed to the viewport; labels retain the page frame. */
.public-site #works .works-flow .works-grid{width:var(--flow-viewport-width,100%);max-width:none;margin-inline:calc(-1 * var(--flow-bleed,0px));padding-inline:0}

/* Select the actual heavier Hiragino faces on macOS/iOS, without outlining glyphs. */
@font-face{font-family:"BOMAYE Headings";src:local("HiraginoSans-W6");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"BOMAYE Headings";src:local("HiraginoSans-W7");font-style:normal;font-weight:700;font-display:swap}
body.public-site :is(h1,h2,h3,h4,h5,h6){font-family:"BOMAYE Headings","Hiragino Sans","Yu Gothic",sans-serif;font-weight:700;-webkit-text-stroke:0}
body.public-site #works .work-card h3,body.public-site .music-release h2,body.public-site .music-catalog-item h2,body.public-site .music-playlist-heading h3{font-weight:600}
/* The backdrop spans the viewport; the content keeps its shared page frame. */
.public-site .header{background:transparent;border-bottom:0;isolation:isolate}
.public-site .header:after{content:"";position:absolute;inset-block:0;left:50%;width:var(--viewport-width,100vw);transform:translateX(-50%);z-index:-1;pointer-events:none;background:#090a0cf5;border-bottom:1px solid #30373580}
.public-site :is(.ambient-background,.works-ambient){width:var(--viewport-width,100vw);left:50%;right:auto;transform:translateX(-50%)}
.public-site .masthead{width:var(--viewport-width,100vw);margin-left:calc((100% - var(--viewport-width,100vw)) / 2)}
.public-site #works .works-flow .works-grid,.public-site .works-flow-row{overscroll-behavior-x:none}

/* Give STORE the same scale as the other home section titles. */
.public-site .store-section h2{font-size:clamp(3.8rem,7.8vw,8rem);line-height:1}
.public-site .store-section{padding-block:36px;align-items:center}
/* Keep the header readable after the vertical glyph compression. */
.public-site .header{height:96px}
.public-site .header nav{font-size:1.125rem}
.public-site .header-label{font-size:1rem}
.public-site .header .nav-soon{font-size:.875rem}
html{scroll-padding-top:120px}
@media(min-width:761px) and (max-width:1100px){
 .public-site .header{gap:18px}
 .public-site .header nav{font-size:1rem;gap:14px}
 .public-site .header .wordmark img{width:80px}
}
@media(max-width:760px){
 html{scroll-padding-top:140px}
 .public-site .header{height:auto;min-height:116px;padding-block:12px}
 .public-site .header nav{font-size:clamp(.9375rem,4.1vw,1rem)}
 .public-site .header nav a{min-height:44px;display:flex;align-items:center;justify-content:center}
 .public-site .header .wordmark img{width:64px}
 .public-site .section-heading,.public-site .music-section>.section-heading{flex-wrap:wrap;align-items:start;gap:8px}
 .public-site .section-heading h2{flex:0 0 auto;white-space:nowrap}
 .public-site .section-heading h2>.type-run{white-space:nowrap;overflow-wrap:normal}
 .public-site .section-caption{flex-basis:100%;max-width:none;text-align:left;padding-bottom:0}
 .public-site .store-section h2{font-size:clamp(3.2rem,11vw,5rem)}
 .public-site .store-intro{flex-wrap:wrap;gap:8px 20px}
}

/* A quiet navigation bridge: dark veil and a moving mint hairline. */
.public-site .page-transition{position:fixed;inset:0;z-index:90;background:var(--bg);opacity:0;pointer-events:none;transition:opacity .15s ease;overflow:hidden}
.public-site .page-transition.is-leaving{opacity:1;pointer-events:auto}
.public-site .page-transition:before{content:"";position:absolute;top:50%;left:50%;width:min(240px,40vw);height:1px;transform:translateX(-50%);background:var(--line)}
.public-site .page-transition:after{content:"";position:absolute;top:50%;left:50%;width:min(72px,12vw);height:1px;background:var(--accent);animation:page-loading 1s ease-in-out infinite}
@keyframes page-loading{0%,100%{transform:translateX(-120px) scaleX(.35);opacity:.3}50%{transform:translateX(48px) scaleX(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.public-site .page-transition{display:none}}

/* Illustrator tracking: -90, tightened by another 25 units. */
.public-site .type-run{letter-spacing:-.115em}

/* Latin letters and digits use the bundled DM Sans; Japanese retains Hiragino. */
body.public-site{font-family:"DM Sans","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif}
body.public-site :is(h1,h2,h3,h4,h5,h6){font-family:"DM Sans","BOMAYE Headings","Hiragino Sans","Yu Gothic",sans-serif}

/* Image-led browsing: artwork and spacing replace decorative hairlines. */
.public-site :is(.section-heading,.music-section>.section-heading,.portfolio-title,.category-filters,.home-works-tools,.music-tools,.event-toolbar,.event-list,.event-row,.store-section){border:0}
.public-site .header:after{border:0}
.public-site .header nav a[aria-current]{text-decoration:none}
.public-site :is(.home-works-categories button,.music-now-links a,.contact-primary,#logo-toggle,.music-catalog-tracks summary,.music-catalog-tracks ol){border:0}
.public-site :is(.archive-sort-label select,.archive-sort button,.music-tools input,.music-tools select,.music-tools button,.event-toolbar select,.event-toolbar button){border:0;background:#151c19}
.public-site :is(.category-filters a,.home-works-categories button)[aria-current],.public-site .category-filters a[aria-current=page]{background:transparent;color:var(--accent)}
.public-site .section-action-link{border:0;background:#15201c}
.public-site .section-action-link:hover{background:var(--accent)}
.public-site .music-playlist-heading{border:0;padding:0 0 18px}
.public-site .music-video-search input{border:0;background:#141c18;padding:12px 14px}
.public-site .music-video-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;max-height:560px;padding:0 8px 8px 0;align-content:start}
.public-site .music-video-row,.public-site .music-video-row[aria-current=true]{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:9px;padding:0;border:0;background:transparent;min-width:0}
.public-site .music-video-row[hidden]{display:none}
.public-site .music-video-thumb{width:100%;aspect-ratio:16/9}
.public-site .music-video-copy{gap:4px}
.public-site .music-video-copy strong{font-size:1.05rem;line-height:1.25}
.public-site .music-video-copy small{font-size:.8125rem;line-height:1.4}
.public-site .music-video-number{position:absolute;right:6px;top:6px;padding:3px 6px;background:#090a0ce6;font-size:.75rem;color:var(--ink)}
.public-site .music-video-row[aria-current=true] .music-video-number{background:var(--accent);color:var(--bg)}
.public-site .music-video-row:hover .music-video-copy strong{color:var(--accent)}
.public-site .music-catalog[data-view=grid] .music-catalog-item,.public-site .music-catalog[data-view=grid] .music-catalog-item:last-child{border:0;background:#101714a6}
.public-site .music-catalog-actions .music-service-link{border:0}
.public-site .event-row-art{border:0}
.public-site .event-list{gap:20px 30px}
@media(max-width:900px){.public-site .music-video-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:520px;gap:22px 16px}}
@media(max-width:600px){.public-site .music-video-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px;max-height:500px}.public-site .music-video-copy strong{font-size:1rem}}

/* A restrained header boundary, and a simple record-sleeve catalog. */
.public-site .header:after{border-bottom:1px solid #eceeea24}
.public-site .music-catalog[data-view=grid]{max-width:960px;margin:28px auto 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 32px;align-items:start}
.public-site .music-catalog[data-view=grid] .music-catalog-item,.public-site .music-catalog[data-view=grid] .music-catalog-item:last-child{display:block;padding:0;border:0;background:transparent}
.public-site .music-catalog[data-view=grid] .music-catalog-item>.music-art{width:100%;aspect-ratio:1;border:0}
.public-site .music-catalog[data-view=grid] .music-catalog-copy{padding-top:10px}
.public-site .music-catalog[data-view=grid] .music-catalog-item h2{font-size:1.1rem;line-height:1.35;margin:0;min-height:0;color:var(--accent)}
.public-site .music-catalog[data-view=grid] :is(.music-release-meta,.music-subtitle,.music-catalog-actions,.music-catalog-tracks){display:none}
.public-site .music-catalog[data-view=grid] .music-catalog-item h2 a:hover{text-decoration:underline}
.public-site .logo-model-canvas{opacity:0;transition:opacity .45s ease}
.public-site .logo-layer.is-3d .logo-model-canvas{opacity:1}
html.logo-preparing .logo-layer>img,html.logo-preparing .logo-layer>video{visibility:hidden}
@media(max-width:700px){.public-site .music-catalog[data-view=grid]{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.public-site .music-catalog[data-view=grid] .music-catalog-item h2{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.public-site .logo-model-canvas{transition:none}}

/* Smaller record sleeves, with the same simple artwork/title treatment. */
.public-site .music-catalog[data-view=grid]{grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 24px}
@media(max-width:900px){.public-site .music-catalog[data-view=grid]{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px}}
@media(max-width:600px){.public-site .music-catalog[data-view=grid]{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}}

/* Reveal a decoded moving frame instead of swapping an unrelated still. */
.public-site .works-ambient-scene :is(img,video){animation:none}
.public-site .works-ambient-scene img{transition:opacity .8s ease}
html.motion-background .public-site .works-ambient-scene:not(.video-failed) img{opacity:0}
.public-site .works-ambient-scene video{transition:opacity 1.1s ease}
@media(prefers-reduced-motion:reduce){.public-site .works-ambient-scene :is(img,video){transition:none}}

/* Spacing, images and solid control surfaces replace remaining public-page rules. */
.public-site :is(.news-row,.event-facts>div,.credits,.music-link-group,.music-tracklist,.music-actions a,.music-link-group a,.music-service-links a,.back-link,.text-link,.works-rail-controls button,.portfolio-cover,.empty-state,footer){border:0}
.public-site .news-list{display:grid;gap:28px}
.public-site .news-row{padding:16px 0}
.public-site :is(.music-link-group a,.music-service-links a,.outline-button,.empty-state){border:0;background:#15201c}
.public-site :is(.music-link-group a,.music-service-links a){padding:10px 14px}
.public-site .event-facts>div{padding-block:12px}

.public-site :is(.motion-control,.category-filters a,.music-service-link:after,dialog){border:0}
.public-site .motion-control{background:#15201c;padding:10px 14px}
.public-site .category-filters a:hover{background:#15201c}

/* Detail destinations are unframed service icons with accessible hit areas. */
.public-site .music-detail .music-link-group>div{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.public-site .music-detail .music-link-group .music-service-link{display:inline-flex;position:relative;align-items:center;justify-content:center;width:48px;height:48px;min-height:48px;padding:10px;border:0;background:transparent;color:var(--ink)}
.public-site .music-detail :is(#buy,#preorder,#download) .music-service-link{color:var(--accent)}
.public-site .music-detail .music-service-link svg{display:block;width:28px;height:28px;flex:none}
.public-site .music-detail .music-service-link:hover{color:var(--accent);background:#15201c}
.public-site .music-detail .music-service-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.public-site .music-detail .music-link-group{padding-block:14px}
.music-admin .music-link-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(180px,2fr) minmax(130px,1fr) 36px repeat(3,auto);gap:8px}
.music-admin .music-link-row :is(input,select){min-width:0}
.music-admin .music-icon-preview{display:grid;place-items:center;min-width:32px;color:var(--accent)}
.music-admin .music-icon-preview svg{width:26px;height:26px}
@media(max-width:900px){.music-admin .music-link-row{grid-template-columns:minmax(0,1fr) 36px repeat(3,auto)}.music-admin .music-link-row>input{grid-column:1/-1}}

.public-site .music-detail .music-service-link:has(svg text){padding:2px}
.public-site .music-detail .music-service-link svg:has(text){width:44px;height:32px}
