/* "Listen" menu tab and pop-up (markup from i18n/listen.js) */
.listen-open{position:relative;margin:0;padding:10px 0;border:0;background:none;font-family:var(--mono);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold,#dca54b);cursor:pointer;transition:color .4s var(--ease-out)}
.nav-links .listen-open::after{content:"";position:absolute;left:0;right:.24em;bottom:4px;height:1px;background:var(--gold,#dca54b);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.nav-links .listen-open:hover::after{transform:none}
.nav-links .listen-open::before{content:"";position:absolute;right:-9px;top:8px;width:5px;height:5px;border-radius:50%;background:var(--gold,#dca54b);animation:lkDot 2s ease-in-out infinite}
@keyframes lkDot{50%{opacity:.25}}
.listen-panel{display:flex;align-items:center;width:100%;min-height:48px;padding:0;font-size:14px;letter-spacing:.26em;text-align:left;border-bottom:1px solid rgba(233,236,239,.07)}

.listen{width:min(440px,calc(100% - 32px));max-height:calc(100% - 32px);margin:auto;padding:0;border:1px solid rgba(220,165,75,.4);border-radius:4px;background:#0c0f16;color:var(--bone,#e9ecef);box-shadow:0 40px 120px -20px rgba(0,0,0,.95)}
.listen::backdrop{background:rgba(5,6,10,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.listen[open]{animation:lkIn .45s var(--ease-out,cubic-bezier(.16,1,.3,1))}
.listen[open]::backdrop{animation:lkFade .45s ease}
@keyframes lkIn{from{opacity:0;transform:translateY(14px) scale(.98)}}
@keyframes lkFade{from{opacity:0}}
.listen-box{position:relative;padding:34px 24px 24px;text-align:center}
.listen-mark{display:block;width:64px;height:auto;margin:0 auto}
.listen h2{margin:14px 0 0;font-family:var(--display);font-weight:500;font-size:clamp(24px,5vw,30px);letter-spacing:.05em;line-height:1.15}
.listen p{margin:10px auto 0;max-width:32ch;font-size:16px;line-height:1.5;color:var(--ash,#98a2af)}
.listen-x{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:none;color:var(--ash,#98a2af);cursor:pointer;transition:color .3s,background .3s}
.listen-x:hover{color:var(--bone,#e9ecef);background:rgba(233,236,239,.06)}
.listen-x svg{width:16px;height:16px}
.listen-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:8px}
.listen-list a{display:flex;align-items:center;gap:16px;min-height:56px;padding:0 18px;border:1px solid var(--line,#2a313d);border-radius:2px;text-decoration:none;color:var(--bone,#e9ecef);font-family:var(--mono);font-size:13px;letter-spacing:.18em;text-transform:uppercase;transition:border-color .3s,background .3s,color .3s}
.listen-list a:hover,.listen-list a:focus-visible{border-color:var(--gold,#dca54b);background:rgba(220,165,75,.06)}
.lk-icon{width:22px;height:22px;flex:none;fill:currentColor}
.lk-arrow{width:14px;height:14px;margin-left:auto;color:var(--gold,#dca54b);transition:transform .4s var(--ease-out)}
.listen-list a:hover .lk-arrow{transform:translateX(3px)}
html[lang="ja"] .listen-open,html[lang="zh-CN"] .listen-open{letter-spacing:.08em}

/* "Listen now" chapter on the home page */
.stream-grid{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:520px}
.stream-grid li:last-child:nth-child(odd){grid-column:1/-1}
.stream-grid a{display:flex;align-items:center;gap:14px;min-height:58px;padding:0 18px;border:1px solid var(--line-strong,#4b5566);border-radius:2px;background:rgba(10,13,19,.45);text-decoration:none;color:var(--bone,#e9ecef);font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;transition:border-color .3s,background .3s}
.stream-grid a:hover,.stream-grid a:focus-visible{border-color:var(--gold,#dca54b);background:rgba(220,165,75,.07)}
.stream-grid a:hover .lk-arrow{transform:translateX(3px)}
@media (max-width:420px){.stream-grid{grid-template-columns:1fr}}

/* menu button: the "Listen" call to action on the right of the menu */
.nav-cta.listen-cta{border-color:rgba(220,165,75,.6);color:var(--gold,#dca54b)}
.nav-cta.listen-cta:hover{border-color:var(--gold,#dca54b);background:rgba(220,165,75,.08)}

/* "Albums" pop-up */
.albums{width:min(560px,calc(100% - 32px))}
.albums h2{margin-top:6px}
.album-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px;text-align:left}
.alb-card{display:grid;grid-template-columns:132px minmax(0,1fr);gap:20px;align-items:center;padding:12px;border:1px solid var(--line,#2a313d);border-radius:3px;text-decoration:none;color:var(--bone,#e9ecef);transition:border-color .3s,background .3s}
.alb-card:hover,.alb-card:focus-visible{border-color:var(--gold,#dca54b);background:rgba(220,165,75,.06)}
.alb-card img{width:132px;height:132px;object-fit:cover;box-shadow:0 14px 30px -10px rgba(0,0,0,.9)}
.album-tx{display:flex;flex-direction:column;min-width:0}
.album-tx small{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ice,#b7dcf0)}
.album-tx b{margin-top:6px;font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:.05em;line-height:1.15}
.album-tx em{margin-top:6px;font-family:var(--body);font-style:italic;font-size:15px;line-height:1.4;letter-spacing:normal;text-transform:none;color:var(--ash,#98a2af)}
.album-go{display:inline-flex;align-items:center;gap:10px;margin-top:12px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold,#dca54b)}
.album-go svg{width:13px;height:13px;transition:transform .4s var(--ease-out)}
.alb-card:hover .album-go svg{transform:translateX(3px)}
@media (max-width:420px){.alb-card{grid-template-columns:96px minmax(0,1fr);gap:14px}.alb-card img{width:96px;height:96px}.album-tx b{font-size:19px}}
html[lang="ja"] .album-tx em,html[lang="zh-CN"] .album-tx em{font-style:normal}

/* next single: pre-save card in the home hero and at the bottom of the Listen pop-up */
.next-single{display:flex;align-items:center;gap:14px;width:min(100%,400px);margin:clamp(18px,3vh,28px) auto 0;padding:10px 18px 10px 10px;border:1px solid rgba(220,165,75,.5);border-radius:3px;background:rgba(10,13,19,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-decoration:none;text-align:left;text-shadow:none;color:var(--bone,#e9ecef);transition:border-color .3s,background .3s,transform .4s var(--ease-out,cubic-bezier(.16,1,.3,1))}
.next-single:hover,.next-single:focus-visible{border-color:var(--gold,#dca54b);background:rgba(220,165,75,.08);transform:translateY(-2px)}
.next-single img{width:58px;height:58px;flex:none;object-fit:cover;box-shadow:0 8px 20px -6px rgba(0,0,0,.9)}
.ns-tx{display:flex;flex-direction:column;gap:4px;min-width:0}
.ns-tx small{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ice,#b7dcf0)}
.ns-tx b{font-family:var(--display);font-weight:500;font-size:18px;letter-spacing:.06em;line-height:1.15}
.ns-go{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold,#dca54b)}
.ns-go svg{width:13px;height:13px;flex:none;transition:transform .4s var(--ease-out,cubic-bezier(.16,1,.3,1))}
.next-single:hover .ns-go svg{transform:translateX(3px)}
.listen .next-single{width:100%;margin:16px 0 0}
html[lang="ja"] .ns-tx small,html[lang="zh-CN"] .ns-tx small,html[lang="ja"] .ns-go,html[lang="zh-CN"] .ns-go{letter-spacing:.08em}
