/* A quieter frame lets the artwork and live footage carry the identity. */
.immersive-site .immersive-nav { border-color: rgba(91,126,202,.2); }
.immersive-site .immersive-nav .nav-links a { transition: color .2s ease; }
.immersive-site .nav-menu-toggle, .immersive-site .lang-switch, .scene-back {
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}
.immersive-site :is(.nav-menu-toggle,.lang-switch,.scene-back):is(:hover,:focus-visible) {
  border-color: var(--blue); background-color: var(--blue-faint); color: var(--white);
}
.scene-back { min-width: 44px; }
.scene-back, .record-back-header .record-return, .live-stop {
  color: var(--white); background: rgba(11,18,35,.92); border: 1px solid rgba(155,182,241,.52);
  font: 600 1rem 'Barlow Condensed',sans-serif;
  transition: background-color .2s ease, border-color .2s ease;
}
.record-back-header .record-return, .live-stop { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 78px; min-height: 44px; padding: 0 12px; }
.close-mark { font: 400 1.2rem/1 sans-serif; }
.scene-back:is(:hover,:focus-visible), .record-return:is(:hover,:focus-visible), .live-stop:is(:hover,:focus-visible) { background: var(--blue-mid); border-color: var(--blue); }

/* The release list remains compact, but the selected row is unmistakable. */
.catalogue-surface { border-top-color: rgba(66,120,255,.9); }
.surface-heading { padding-block: 12px; }
.surface-heading h2 { letter-spacing: .015em; }
.catalogue-release { gap: 12px; transition: background-color .2s ease, color .2s ease; }
.catalogue-release[aria-pressed=true] { background: linear-gradient(90deg,rgba(26,92,255,.16),rgba(26,92,255,.035)); }
.catalogue-release[data-selected=true] { background: linear-gradient(90deg,rgba(26,92,255,.16),rgba(26,92,255,.035)); }
.catalogue-release::before { width: 3px; }
.catalogue-release[data-selected=true]::before { transform: scaleY(1); }
.catalogue-row picture { overflow: hidden; background: #101522; }
.catalogue-row picture img { transition: transform .3s var(--ease-ui),filter .3s ease; }
.catalogue-name { letter-spacing: .015em; }
.catalogue-action { display: none; }
.stage[data-scene=home] .catalogue-year { display: none; }
.stage[data-scene=home] .catalogue-action { display: inline-flex; align-items: center; min-height: 30px; padding: 0 8px; border: 1px solid rgba(136,160,207,.28); color: #d9e2f4; font: 600 .85rem 'Barlow Condensed',sans-serif; }
.stage[data-scene=home] .catalogue-release:is(:hover,:focus-visible) .catalogue-action { border-color: var(--blue); background: var(--blue); color: white; }
.stage[data-scene=home] .catalogue-release { padding-block: 7px; }
.catalogue-artist, .catalogue-year { color: #b0bbd2; font-size: .65rem !important; }
.catalogue-browse { padding-top: 8px; }
.catalogue-browse button { transition: background-color .2s ease,border-color .2s ease,color .2s ease; }
.catalogue-browse button:disabled { opacity: 1; color: #8c96ad; border-color: rgba(91,126,202,.25); }
.record-listen { padding-inline: 18px; background: var(--blue); border-color: var(--blue); color: white; font-weight: 600; }
.record-listen:is(:hover,:focus-visible) { background: var(--blue-mid); border-color: var(--blue-mid); }
.click-pager button:not(:disabled) { color: var(--white); border: 1px solid rgba(91,126,202,.35); }
.click-pager button:not(:disabled):is(:hover,:focus-visible) { border-color: var(--blue); }
.click-pager button:disabled { opacity: 1; color: #8c96ad; }

/* Live choices use the same visual language as release selection. */
.live-surface { border-color: rgba(91,126,202,.22); }
.live-caption { text-shadow: 0 2px 16px rgba(0,0,0,.55); }
.live-play { box-shadow: 0 4px 22px rgba(3,3,8,.35); }
.live-playlist button { transition: background-color .2s ease,color .2s ease,border-color .2s ease; }
.live-playlist button[aria-pressed=true] { background: linear-gradient(90deg,rgba(26,92,255,.17),rgba(26,92,255,.025)); }
.stage[data-scene=videos] .catalogue-release { min-height: 44px; padding-block: 5px; }
.stage[data-scene=videos] .catalogue-row picture,
.stage[data-scene=videos] .catalogue-row img { width: 30px; height: 30px; }
.stage[data-scene=videos] .surface-heading { padding-block: 8px; }

/* Reading and contact states use stronger contrast without adding new copy. */
.about-biography p { color: #c2ccdf; }
.about-support li { color: #e1e7f5; border-bottom-color: rgba(136,160,207,.16); }
.about-tabs button[aria-pressed=true] { border-bottom-color: var(--blue); }
.about-panels > :not([hidden]) { animation: about-panel-arrive .28s var(--ease-ui); }
@keyframes about-panel-arrive { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.contact-roles, .about-booking .contact-roles { color: #b0bbd2; }
.contact-links a:is(:hover,:focus-visible) { color: var(--white); background-color: rgba(26,92,255,.09); }
.booking-cta { min-width: 126px; }
.stage[data-layout=short] .panel-switch { display: inline-flex; align-items: center; padding-inline: 14px; border: 1px solid rgba(91,126,202,.35); color: var(--white); }
.stage[data-layout=short] .contact-surface .panel-switch { margin-left: 8px; }
.stage[data-layout=short] .panel-switch:is(:hover,:focus-visible) { border-color: var(--blue); }
.chapter-links a { min-width: 44px; justify-content: center; transition: color .2s ease; }
.chapter-links a:hover { color: var(--white); }
.artist-action { opacity: 1; padding: 7px 10px; background: rgba(3,3,8,.72); border: 1px solid rgba(199,216,255,.35); text-decoration: none; transition: border-color .2s,background-color .2s; }
.artist-open:is(:hover,:focus-visible) .artist-action { border-color: var(--blue); background: rgba(3,3,8,.9); }

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .catalogue-release:hover picture img { transform: scale(1.08); filter: brightness(1.08); }
  .live-open:hover .live-play { box-shadow: 0 0 0 6px rgba(26,92,255,.2),0 4px 22px rgba(3,3,8,.35); }
  .live-play { transition: box-shadow .25s ease, background-color .2s ease; }
}
@media (max-width:640px) {
  .catalogue-release { gap: 10px; }
  .catalogue-artist, .catalogue-year { font-size: .62rem !important; }
  .stage[data-scene=videos] .catalogue-row picture { display: none; }
  .chapter-links a { font-size: .75rem; }
  .stage[data-scene=home] .catalogue-action { padding-inline: 6px; }
  .stage[data-scene=home] .surface-heading { padding-block: 9px; }
  .stage[data-scene=home] .catalogue-browse { padding-top: 3px; }
  .stage[data-scene=home] .catalogue-release { min-height: 44px; padding-block: 5px; }
  .stage[data-scene=home] .artist-wordmark { bottom: 34%; }
  .stage[data-scene=home] .artist-action { bottom: 12px; }
}
.stage[data-layout=short][data-scene=home] .artist-wordmark { bottom: 34%; }
.stage[data-layout=short][data-scene=home] .catalogue-release { gap: 6px; }
.stage[data-layout=short][data-scene=home] .catalogue-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.stage[data-layout=short][data-scene=works] .surface-heading { padding-block: 9px; }
.stage[data-layout=short][data-scene=works] .catalogue-browse { padding-top: 3px; }
.stage[data-layout=short][data-scene=works] .catalogue-release { min-height: 44px; padding-block: 5px; }
.stage[data-layout=short] .about-biography p { line-height: 1.35; }
.stage[data-layout=short] .about-biography p + p { margin-top: 8px; }
@media (max-width:640px) and (orientation:portrait) {
  .stage[data-layout=short][data-scene=home] .artist-wordmark { bottom: 45%; }
  .stage[data-layout=short][data-scene=works] .record-surface:has([data-flipped=false]) { grid-template-columns: minmax(0,94px) minmax(0,1fr); }
  .stage[data-layout=short][data-scene=works] .record-caption { gap: 8px; }
  .stage[data-layout=short][data-scene=videos] .live-surface { display: flex; flex-direction: column; }
  .stage[data-layout=short][data-scene=videos] .live-image { min-height: 120px; }
  .stage[data-layout=short][data-scene=videos] .live-play { top: 12px; right: 10px; left: auto; transform: none; }
  .stage[data-layout=short][data-scene=videos]:not([data-video-status=idle]) :is(.live-playlist,[data-pager=live]) { display: none; }
}
@media (prefers-reduced-motion:reduce) {
  .catalogue-row picture img { transition: none; }
}

/* Supporting pages share the same clear actions and restrained blue accents. */
body:not(.immersive-site) .conversion-links .link-card {
  text-align: left; background: linear-gradient(90deg,rgba(26,92,255,.07),rgba(6,6,15,.8));
  border-color: rgba(91,126,202,.22);
}
body:not(.immersive-site) .conversion-links .link-card:is(:hover,:focus-visible) {
  background: rgba(26,92,255,.14); border-color: var(--blue);
}
body:not(.immersive-site) .conversion-links .lc-text { text-align: left; }
.demodrop-shell .panel-switch { color: var(--white); border: 1px solid rgba(91,126,202,.35); padding-inline: 14px; }
.demodrop-shell .click-pager button:last-child:not(:disabled) { background: var(--blue); border-color: var(--blue); color: white; padding-inline: 18px; }
.demodrop-shell .click-pager button:last-child:not(:disabled):is(:hover,:focus-visible) { background: var(--blue-mid); }
@media (prefers-reduced-motion:reduce) {
  body:not(.immersive-site) .conversion-links .link-card { transition: none; }
  body:not(.immersive-site) .conversion-links .link-card:hover { transform: none; }
}

/* The same objects carry the identity onto the links page. */
body:not(.immersive-site) .links-main .links-page-kicker { font: 400 clamp(2rem,3vw,3rem)/1 'Bebas Neue',sans-serif; letter-spacing: .02em; color: var(--white); }
body:not(.immersive-site) .links-main .page-back { min-width: 58px; justify-content: center; background: rgba(11,18,35,.92); border-color: rgba(155,182,241,.52); }
.links-canvas { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(18px,2.2vw,32px); }
.links-portrait { position: relative; display: block; min-width: 0; min-height: 0; overflow: clip; border: 1px solid var(--border); background: #07102a; color: white; }
.links-portrait::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 40%,rgba(3,3,8,.8)); pointer-events: none; }
.links-portrait picture, .links-portrait picture img { position: absolute; inset: 0; width: 100%; height: 100%; }
.links-portrait picture img { object-fit: cover; object-position: center 42%; }
.links-portrait .links-wordmark { position: absolute; z-index: 1; width: 76%; height: auto; left: 12%; bottom: 24%; }
.links-portrait > span { position: absolute; z-index: 2; left: 6%; bottom: 6%; padding: 8px 10px; border: 1px solid rgba(199,216,255,.4); background: rgba(3,3,8,.74); font: .75rem 'DM Mono',monospace; }
.links-portrait:is(:hover,:focus-visible) > span { border-color: var(--blue); background: rgba(3,3,8,.95); }
body:not(.immersive-site) .links-canvas .conversion-links { min-height: 0; }
body:not(.immersive-site) .links-canvas .links-inner { max-width: none; }
body:not(.immersive-site) .links-canvas .links-grid { max-height: none; gap: 10px; }
body:not(.immersive-site) .links-canvas .link-card { min-height: 44px; }
@media (max-width:700px) and (orientation:portrait) {
  .links-canvas { grid-template-columns: minmax(0,1fr); grid-template-rows: clamp(72px,16vh,130px) minmax(0,1fr); gap: 10px; }
  .links-portrait .links-wordmark { width: 65%; left: 6%; bottom: 48%; }
  .links-portrait > span { left: 6%; bottom: 8px; padding: 5px 8px; }
  body:not(.immersive-site) .links-canvas .links-grid { gap: 6px; }
}
@media (max-width:700px) and (max-height:500px), (max-height:400px) and (orientation:landscape) {
  .links-canvas { grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr); }
  .links-portrait { display: none; }
}

/* Keep page, social and legal destinations grouped on wide menus. */
@media (min-width:901px) { nav .nav-group { display: grid; align-content: start; } }
@media (max-width:900px) { nav .nav-group { display: contents; } }
@media (prefers-reduced-motion:no-preference) {
  nav.menu-open .nav-extras { animation: menu-panel-arrive .2s ease-out both; }
  nav.menu-open .nav-group > :is(a,button) { animation: menu-item-arrive .22s ease-out both; }
  nav.menu-open .nav-group > :is(a,button):nth-child(2) { animation-delay: 25ms; }
  nav.menu-open .nav-group > :is(a,button):nth-child(3) { animation-delay: 50ms; }
  nav.menu-open .nav-group > :is(a,button):nth-child(n+4) { animation-delay: 75ms; }
  .links-portrait picture img { transition: transform .7s var(--ease-ui); }
  .links-portrait:hover picture img { transform: scale(1.025); }
}
@keyframes menu-panel-arrive { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@keyframes menu-item-arrive { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }

/* Progressive enhancement: preserve the header while same-origin pages change. */
@view-transition { navigation: auto; }
nav[aria-label="Main navigation"] { view-transition-name: prophecy-navigation; }
main#main-content { view-transition-name: prophecy-content; }
::view-transition-group(prophecy-navigation) { animation-duration: .24s; }
::view-transition-old(prophecy-navigation) { animation: none; opacity: 0; }
::view-transition-new(prophecy-navigation) { animation: none; }
::view-transition-old(prophecy-content) { animation: page-out .18s ease-in both; }
::view-transition-new(prophecy-content) { animation: page-in .3s ease-out both; }
@keyframes page-out { to { opacity: 0; transform: translateY(-6px); } }
@keyframes page-in { from { opacity: 0; transform: translateY(8px); } }
@media (prefers-reduced-motion:reduce) {
  ::view-transition-group(root), ::view-transition-group(prophecy-navigation), ::view-transition-group(prophecy-content),
  ::view-transition-old(root), ::view-transition-new(root), ::view-transition-old(prophecy-navigation), ::view-transition-new(prophecy-navigation),
  ::view-transition-old(prophecy-content), ::view-transition-new(prophecy-content) { animation-duration: 0s !important; }
}

/* A wider canvas shows related submission fields together. */
@media (min-width:900px) and (min-height:600px) {
  .wizard-body { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: max-content; align-content: start; align-items: start; gap: 12px 18px; }
  .wizard-body :is(.demodrop-field.full,.demodrop-consent) { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion:no-preference) {
  .legal-content-tab.active { animation: about-panel-arrive .22s var(--ease-ui); }
}
