@import url("../gravity-doesnt-let-go/styles.css?v=8");

:root {
  --ink: #080f17;
  --bone: #eeeae0;
  --muted: #a6b3bf;
  --amber: #cfb47b;
  --amber-bright: #ead49e;
  --blue: #304f63;
  --violet: #8c7546;
}

body {
  background: radial-gradient(ellipse at 20% 20%, #142735, transparent 65%), var(--ink);
}

.gate-atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 40% 50%, rgba(179, 131, 43, .09), transparent 60%);
}

.release-navigation { display: flex; align-items: center; gap: 1.5rem; }
.music-back-link {
  display: inline-flex;
  gap: .4rem;
  padding-left: 1.25rem;
  border-left: 1px solid var(--line);
  color: var(--muted);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}
.music-back-link:hover { color: var(--bone); }
.music-back-link:focus-visible { outline: 2px solid var(--amber-bright); outline-offset: 5px; }
.project-link { text-decoration-color: var(--amber); text-underline-offset: .2em; }
.project-link:hover { color: var(--amber-bright); }
.project-link:focus-visible { outline: 2px solid var(--amber-bright); outline-offset: 4px; }
.sticky-player-artist { display: inline-flex; gap: .4rem; white-space: nowrap; }

.cover-frame {
  background: linear-gradient(135deg, #c5ab76, #203544 60%, #9b7f47);
  box-shadow: 0 2.5rem 8rem rgba(0, 0, 0, .5), 0 0 5rem rgba(194, 155, 70, .06);
}
.cover-media { position: relative; width: 100%; height: 100%; overflow: hidden; background: #071015; }
.cover-frame .cover-poster,
.cover-frame .cover-motion-video,
.cover-frame .cover-typography-overlay {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover;
}
.cover-poster { z-index: 1; transition: opacity 500ms ease; }
.cover-motion-video { z-index: 2; opacity: 0; transition: opacity 500ms ease; }
.cover-typography-overlay { z-index: 3; opacity: 0; transition: opacity 500ms ease; }
.cover-frame.is-video-ready .cover-poster { opacity: 0; }
.cover-frame.is-video-ready .cover-motion-video,
.cover-frame.is-video-ready .cover-typography-overlay { opacity: 1; }
.cover-motion-toggle {
  position: absolute; z-index: 6; right: 1rem; bottom: 1rem;
  display: grid; place-items: center; width: 2.75rem; height: 2.75rem;
  border: 1px solid rgba(234, 212, 158, .5); border-radius: 50%;
  background: rgba(8, 15, 23, .85); color: var(--bone); cursor: pointer;
  font: inherit; font-size: .75rem;
}
.cover-motion-toggle[hidden] { display: none; }
.cover-motion-toggle:hover { background: #26313c; }
.cover-motion-toggle:focus-visible { outline: 2px solid var(--amber-bright); outline-offset: 4px; }
.title-word-before { color: var(--bone); font-size: .77em; letter-spacing: .01em; }
.title-word-gate {
  margin-top: .08em; font-size: .9em; white-space: nowrap;
  background: linear-gradient(95deg, #eddfb5, #b58a3b); color: transparent;
  background-clip: text; -webkit-background-clip: text;
}
.dedication { max-width: 33rem; margin: 1rem 0 0; color: #c8c4b8; font-size: .95rem; line-height: 1.6; }
.dedication + .availability { margin-top: .6rem; }
.listen-panel { background: rgba(10, 22, 31, .7); }
.platform-link:hover, .platform-link:focus-visible { background: rgba(207, 180, 123, .08); }
.release-details { background: linear-gradient(180deg, #0b1722, #080f17); }
.details-grid { grid-template-columns: minmax(0, 1.55fr) minmax(17rem, .8fr); gap: clamp(2rem, 5vw, 6rem); }
.credits-column { position: static; }
.film-column { min-width: 0; }
.film-intro { margin: 1.5rem 0; color: var(--muted); font-size: .95rem; line-height: 1.75; }
.film-frame { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #050a10; border: 1px solid var(--line); }
.film-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.film-play {
  position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 1rem;
  width: 100%; height: 100%; padding: 1rem; border: 0; color: var(--bone); background: #080f17; cursor: pointer; font: inherit;
}
.film-play img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .38; transition: opacity 200ms ease; }
.film-play:hover img { opacity: .6; }
.film-play:focus-visible { outline: 2px solid var(--amber-bright); outline-offset: 4px; }
.film-play-icon { position: relative; display: grid; place-items: center; width: 4rem; height: 4rem; padding-left: .15rem; border: 1px solid var(--amber-bright); border-radius: 50%; background: rgba(8, 15, 23, .7); color: var(--amber-bright); }
.film-play-label { position: relative; font-weight: 650; font-size: .8rem; letter-spacing: .04em; }
.film-link { display: inline-flex; gap: 1rem; margin-top: 1.25rem; color: var(--bone); font-size: .9rem; text-underline-offset: .3em; line-height: 1.6; }
.film-caption { color: var(--muted); font-size: .8rem; line-height: 1.6; }

@media (min-width: 821px) {
  .release-page { height: auto; min-height: 100svh; }
  .release-copy { padding-bottom: 2.75rem; }
}
@media (max-width: 820px) {
  .details-grid { grid-template-columns: 1fr; }
  .track-title { font-size: clamp(3.9rem, 17vw, 7.5rem); }
}
@media (max-width: 420px) {
  .release-navigation { gap: .75rem; }
  .music-back-link { padding-left: .75rem; font-size: .6rem; }
}
@media (prefers-reduced-motion: reduce) {
  .cover-motion-video, .cover-typography-overlay { transition: none; }
}
