/* V114 — balanced cinematic layouts without blurred fallback art. */

:root { --v114-release-width: 1080px; }

/* The word SORA keeps the capsule, but uses the same upright display face as PROJECT. */
.sora-brand-lockup b {
  font-style: normal !important;
  letter-spacing: inherit !important;
  transform: none !important;
}

/* Homepage showcase: long titles fit the card instead of pushing content outside it. */
.home-showcase-content h1 {
  max-width: 720px !important;
  font-size: clamp(31px, 3.65vw, 56px) !important;
  overflow-wrap: break-word;
  hyphens: auto;
}
.home-showcase-content h1.title-long {
  max-width: 690px !important;
  font-size: clamp(27px, 3vw, 44px) !important;
  line-height: 1.04 !important;
}
.home-showcase-content h1.title-ultra {
  max-width: 680px !important;
  font-size: clamp(23px, 2.45vw, 36px) !important;
  line-height: 1.07 !important;
  letter-spacing: -.045em !important;
}
.home-showcase-content h1.title-ultra + p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* A vertical poster is not enlarged into a blurry full-screen texture. */
.home-showcase-slide.is-poster-fallback .home-showcase-backdrop {
  opacity: .48 !important;
  background-position: right 20% center !important;
  background-size: auto 126% !important;
  background-repeat: no-repeat !important;
  filter: saturate(.92) contrast(1.06) !important;
  transform: none !important;
}
.home-showcase-slide.is-poster-fallback.is-active .home-showcase-backdrop { transform: none !important; }
.home-showcase-slide.is-poster-fallback::before {
  background:
    radial-gradient(circle at 74% 48%, rgba(29, 122, 196, .18), transparent 34%),
    linear-gradient(90deg, rgba(3, 8, 16, .99) 0%, rgba(4, 11, 22, .94) 43%, rgba(4, 10, 19, .48) 76%, rgba(4, 9, 17, .78) 100%),
    linear-gradient(0deg, rgba(4, 9, 17, .88), transparent 58%) !important;
}

/* Release page: every major section now follows one 1080px editorial grid. */
.release-page .release-cinematic-hero,
.release-page .release-details-layout-v59,
.release-page .release-details-layout,
.release-page .recommendations-section,
.release-page .release-community-section-v87 {
  width: min(var(--v114-release-width), calc(100% - 28px)) !important;
  max-width: var(--v114-release-width) !important;
  margin-inline: auto !important;
}

.release-page .release-cinematic-hero {
  min-height: 500px !important;
  grid-template-columns: 224px minmax(0, 1fr) !important;
  gap: 32px !important;
  padding: 116px 36px 34px !important;
  border-radius: 28px !important;
}
.release-page .release-cinematic-hero .release-hero-poster {
  width: 224px !important;
  max-width: 224px !important;
}
.release-page .release-cinematic-hero .release-hero-poster img {
  width: 100% !important;
  border-radius: 20px !important;
}
.release-page .release-cinematic-hero .release-hero-info {
  width: 100% !important;
  max-width: none !important;
}
.release-page .release-cinematic-hero .release-hero-info h1 {
  max-width: 760px !important;
  font-size: clamp(34px, 3.65vw, 50px) !important;
  line-height: 1.04 !important;
}
.release-page .release-cinematic-hero .release-hero-info h1.title-long {
  font-size: clamp(30px, 3.2vw, 43px) !important;
}
.release-page .release-cinematic-hero .release-hero-info h1.title-ultra {
  font-size: clamp(27px, 2.75vw, 37px) !important;
  line-height: 1.07 !important;
}
.release-page .release-cinematic-hero .release-description {
  max-width: 790px !important;
  font-size: 13px !important;
  line-height: 1.62 !important;
}
.release-cinematic-backdrop {
  filter: saturate(.94) contrast(1.05) !important;
  transform: none !important;
}
.release-cinematic-hero.is-poster-fallback .release-cinematic-backdrop {
  opacity: .42 !important;
  background-position: right 18% center !important;
  background-size: auto 132% !important;
  background-repeat: no-repeat !important;
  filter: saturate(.9) contrast(1.08) !important;
  transform: none !important;
}
.release-page .release-cinematic-hero.is-poster-fallback::before {
  background:
    radial-gradient(circle at 76% 43%, rgba(33, 121, 190, .16), transparent 34%),
    linear-gradient(90deg, rgba(3, 9, 17, .98) 0%, rgba(5, 12, 22, .92) 45%, rgba(5, 12, 22, .38) 78%, rgba(3, 9, 17, .7) 100%),
    linear-gradient(0deg, rgba(3, 9, 17, .99), transparent 64%) !important;
}

/* The player was the narrowest section; it now uses the full editorial width. */
.release-page .release-details-layout-v59,
.release-page .release-details-layout,
.release-page .release-details-layout-v59.has-player,
.release-page .release-details-layout.has-player {
  display: block !important;
  padding: 0 !important;
}
.release-page .release-details-layout-v59 > .player-container.release-player-compact,
.release-page .release-details-layout > .player-container.release-player-compact,
.release-page .player-container.release-player-compact {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 16px !important;
  border-radius: 24px !important;
}
.release-page .player-wrapper,
.release-page .release-player-compact .player-wrapper {
  width: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: 16 / 9 !important;
  margin: 0 !important;
}
.release-page .recommendations-section { margin-top: 20px !important; }
.release-page .release-community-section-v87 { padding-top: 28px !important; }
.release-community-grid-v87 {
  grid-template-columns: minmax(0, 1fr) 250px !important;
  gap: 16px !important;
}

/* The discussion divider is one continuous blue line, not blue plus gray. */
.release-community-title-v87::before {
  display: none !important;
  content: none !important;
}
.release-community-title-v87::after {
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #2a9bf6 0%, #58c8ff 50%, #2a9bf6 100%) !important;
  box-shadow: 0 5px 18px rgba(42, 155, 246, .2) !important;
  opacity: .9;
}

@media (max-width: 900px) {
  .home-showcase-content h1.title-long { font-size: clamp(25px, 4.4vw, 38px) !important; }
  .home-showcase-content h1.title-ultra { font-size: clamp(22px, 3.7vw, 31px) !important; }
  .release-page .release-cinematic-hero {
    grid-template-columns: 180px minmax(0, 1fr) !important;
    gap: 24px !important;
    padding: 100px 26px 28px !important;
  }
  .release-page .release-cinematic-hero .release-hero-poster { width: 180px !important; max-width: 180px !important; }
}

@media (max-width: 680px) {
  .home-showcase-content h1,
  .home-showcase-content h1.title-long,
  .home-showcase-content h1.title-ultra {
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }
  .home-showcase-content h1.title-long { font-size: clamp(23px, 7.2vw, 31px) !important; }
  .home-showcase-content h1.title-ultra { font-size: clamp(20px, 6.2vw, 27px) !important; line-height: 1.08 !important; }
  .home-showcase-slide.is-poster-fallback .home-showcase-backdrop {
    width: 100%;
    height: 61%;
    opacity: .56 !important;
    background-position: center 18% !important;
    background-size: cover !important;
  }
  .home-showcase-slide.is-poster-fallback::before {
    background: linear-gradient(0deg, rgba(3, 8, 16, .99) 8%, rgba(3, 8, 16, .9) 53%, rgba(3, 8, 16, .2) 100%) !important;
  }

  .release-page .release-cinematic-hero,
  .release-page .release-details-layout-v59,
  .release-page .release-details-layout,
  .release-page .recommendations-section,
  .release-page .release-community-section-v87 {
    width: calc(100% - 16px) !important;
    max-width: none !important;
  }
  .release-page .release-cinematic-hero {
    grid-template-columns: 1fr !important;
    padding: 228px 16px 20px !important;
  }
  .release-cinematic-hero.is-poster-fallback .release-cinematic-backdrop {
    width: 100%;
    height: 300px;
    opacity: .54 !important;
    background-position: center 18% !important;
    background-size: cover !important;
  }
  .release-page .release-cinematic-hero.is-poster-fallback::before {
    background: linear-gradient(0deg, rgba(3, 9, 17, .99) 31%, rgba(3, 9, 17, .76) 66%, rgba(3, 9, 17, .1)) !important;
  }
  .release-page .release-cinematic-hero .release-hero-info h1,
  .release-page .release-cinematic-hero .release-hero-info h1.title-long,
  .release-page .release-cinematic-hero .release-hero-info h1.title-ultra {
    font-size: clamp(24px, 7.7vw, 34px) !important;
    overflow-wrap: anywhere;
  }
  .release-page .player-container.release-player-compact { padding: 10px !important; border-radius: 19px !important; }
  .release-page .release-community-section-v87 { padding-top: 22px !important; }
  .release-community-grid-v87 { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
  .release-community-title-v87::after { box-shadow: none !important; }
}
