/* Premium refinement layer — replace the wordmarks with approved artwork before launch. */
html { scroll-padding-top: 24px; }
html.is-programmatic-scrolling { scroll-behavior: auto; }
.publish-mark {
  z-index: 2;
  width: max-content;
  max-width: 82%;
  padding: 16px 20px 18px;
  background: rgba(6, 23, 45, .88);
  border-left: 4px solid var(--sky);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .22);
  text-shadow: 0 2px 16px rgba(0, 0, 0, .4);
}

.publish-mark span {
  color: #fff;
}

@media (max-width: 760px) {
  .publish-mark {
    left: 20px;
    bottom: 24px;
    max-width: calc(100% - 40px);
    padding: 13px 16px 15px;
    font-size: clamp(34px, 11vw, 52px);
  }
}
.service-list article{grid-template-columns:1fr 1.1fr 30px;padding:31px 0}.service-list article:hover{padding-left:0;background:transparent}.service-list article h3{transition:color .2s}.service-list article:hover h3{color:var(--blue)}
.trust{background:var(--ink);color:#fff;padding:120px clamp(20px,8vw,128px) 75px}.trust-intro{display:flex;align-items:end;justify-content:space-between;gap:50px;padding-bottom:70px}.trust .section-label{color:var(--sky);margin:0;align-self:flex-start}.trust h2{font-size:clamp(48px,6vw,88px);margin:0}.logo-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff3e;border-left:1px solid #ffffff3e}.logo-placeholder{height:150px;display:grid;place-items:center;border-right:1px solid #ffffff3e;border-bottom:1px solid #ffffff3e;padding:35px;transition:background .25s}.logo-placeholder:hover{background:var(--blue)}.logo-placeholder img{display:block;max-width:72%;width:180px;max-height:58px;filter:brightness(0) invert(1);object-fit:contain}.partner-wordmark{color:#fff;font:600 clamp(26px,3vw,46px)/1 var(--display);letter-spacing:-.075em}.latin-grammy{font-size:clamp(20px,2.35vw,36px);letter-spacing:-.055em}.latin-grammy strong{font-weight:700}.trust-note{margin:22px 0 0;color:#a7a7a7;font:10px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase}.ticker{display:none}@media(max-width:760px){.service-list article{grid-template-columns:1fr 25px;padding:24px 0}.service-list p{grid-column:1/3}.trust{padding-top:82px}.trust-intro{display:block;padding-bottom:45px}.trust .section-label{margin-bottom:24px}.logo-grid{grid-template-columns:repeat(2,1fr)}.logo-placeholder{height:105px;padding:22px}.logo-placeholder img{max-height:37px}.partner-wordmark{font-size:26px}.latin-grammy{font-size:20px}}
.names-brands{align-items:stretch}.names-brands .credit-logo{min-height:108px;display:grid;place-items:center;border-bottom:1px solid #aaa;padding:18px}.credit-logo img{display:block;max-width:82%;width:130px;max-height:44px;object-fit:contain;filter:brightness(0)}.credit-logo .grammys-logo,.credit-logo .espn-logo{filter:none}.credit-logo .grammys-logo{width:150px;height:58px;max-height:none;object-fit:cover}.credit-logo .espn-logo{width:105px;max-height:55px}@media(max-width:760px){.names-brands .credit-logo{min-height:84px;padding:12px}.credit-logo img{max-width:75%;max-height:34px}.credit-logo .grammys-logo{width:115px;height:45px;max-height:none}}

/* Featured film: a poster-led reel slot that is ready for the final video asset. */
.trust .logo-grid{grid-template-columns:repeat(4,1fr)}
.grammys-tile{padding:10px}.logo-placeholder img.grammys-partner{width:67%;max-width:67%;height:64px;max-height:none;justify-self:center;align-self:center;object-fit:cover;object-position:center;transform:none}
@media(max-width:760px){.trust .logo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.trust .grammys-tile{padding:4px}.trust .logo-placeholder img.grammys-partner{width:67%;max-width:67%;height:46px;max-height:none;transform:none}}
.featured-film{background:#e9edf0;padding-top:clamp(88px,10vw,150px);padding-bottom:clamp(72px,8vw,115px)}.featured-film-heading{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:clamp(42px,5vw,70px)}.featured-film .section-label{margin:0 0 34px}.featured-film h2{margin:0;font-size:clamp(54px,7.6vw,116px)}.featured-film-heading>p{max-width:310px;margin:0 0 7px;line-height:1.55}.film-frame{position:relative;isolation:isolate;overflow:hidden;margin:0;min-height:clamp(360px,49vw,680px);background:var(--ink);color:#fff}.film-frame:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(8,15,24,.76),rgba(8,15,24,.12) 64%),linear-gradient(0deg,rgba(8,15,24,.54),transparent 48%);pointer-events:none}.film-frame:after{content:"";position:absolute;z-index:3;inset:20px;border:1px solid #ffffff59;pointer-events:none}.film-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:grayscale(.24) contrast(1.08) saturate(.72);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}.film-frame:hover .film-video{transform:scale(1.035);filter:grayscale(0) contrast(1.04) saturate(.87)}.film-poster{position:absolute;z-index:2;inset:0;display:grid;place-items:center;background:var(--ink);pointer-events:none;transition:opacity .35s ease,visibility 0s linear .35s}.film-poster img{display:block;width:min(430px,48%);max-height:48%;object-fit:contain}.film-frame.is-playing .film-poster{opacity:0;visibility:hidden}.film-meta{position:absolute;z-index:4;top:42px;left:44px;right:44px;display:flex;justify-content:space-between;align-items:center;margin:0;color:#eff4f6;font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;pointer-events:none}.film-meta strong{font-weight:500}.featured-film-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:21px;border-bottom:1px solid #9ba4a8;padding-bottom:5px}.featured-film-footer p{margin:0;color:#40515b;font:500 10px var(--mono);letter-spacing:.09em;text-transform:uppercase}.featured-film-footer p span{margin:0 8px;color:var(--blue)}.featured-film-footer .text-link{padding-bottom:0;border:0}
@media(max-width:760px){.featured-film-heading{display:block;margin-bottom:36px}.featured-film .section-label{margin-bottom:24px}.featured-film-heading>p{margin-top:25px}.film-frame{min-height:500px}.film-frame:after{inset:12px}.film-video{object-position:center}.film-meta{top:28px;left:28px;right:28px;font-size:8px}.featured-film-footer{padding-top:16px}.featured-film-footer p{font-size:8px}.featured-film-footer .text-link{font-size:9px}}

/* Interaction layer */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--reveal-delay,0ms) cubic-bezier(.2,.75,.2,1),transform .7s var(--reveal-delay,0ms) cubic-bezier(.2,.75,.2,1)}.reveal.is-revealed{opacity:1;transform:none}.roster-carousel:focus-visible{outline:2px solid var(--sky);outline-offset:8px}.roster-progress{font-variant-numeric:tabular-nums}.names-artists p{transition:color .25s ease,transform .25s ease}.names-artists p:hover{color:var(--blue);transform:translateX(7px)}.names-artists p:hover small{color:var(--ink)}.credit-logo{position:relative;overflow:hidden;transition:background .28s ease}.credit-logo:after{content:attr(data-credit);position:absolute;left:0;right:0;bottom:0;padding:9px 12px;background:var(--navy);color:#fff;font:500 8px var(--mono);letter-spacing:.09em;text-transform:uppercase;transform:translateY(100%);transition:transform .28s ease}.credit-logo:hover{background:#dbe5ec}.credit-logo:hover:after{transform:translateY(0)}.editorial-slides{transform:translate3d(0,var(--parallax-y,0),0);transition:transform .2s linear}.film-video{transform:translate3d(0,var(--parallax-y,0),0) scale(1.01)}.film-frame:hover .film-video{transform:translate3d(0,var(--parallax-y,0),0) scale(1.045)}.signal-cursor{position:fixed;z-index:200;top:-19px;left:-19px;width:38px;height:38px;border:1px solid #dff3ff;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .2s ease,background .2s ease;mix-blend-mode:screen}.signal-cursor:before,.signal-cursor:after{content:"";position:absolute;background:#dff3ff;opacity:.9}.signal-cursor:before{width:1px;height:54px;left:18px;top:-9px}.signal-cursor:after{height:1px;width:54px;top:18px;left:-9px}.signal-cursor.is-visible{opacity:.9}@media(max-width:760px){.credit-logo:after{transform:none;position:static;display:block;text-align:center;background:transparent;color:var(--blue);padding:6px 0 0;font-size:7px}.names-artists p:hover{transform:none}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.editorial-slides,.film-video{transform:none!important}.signal-cursor{display:none}}
/* Website revision: optional publishing support copy */
.hero-logo-heading {
  width: min(560px, 58vw);
  margin: 0;
  letter-spacing: 0;
}

.hero-logo-heading img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 210px;
  object-fit: contain;
  object-position: left center;
  mix-blend-mode: screen;
  clip-path: inset(0 100% 0 0);
  animation: logo-draw-on 2s cubic-bezier(.2,.75,.2,1) 2.35s forwards;
}

/* Contain and center the partner lineup at every viewport size. */
.trust .logo-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.trust .logo-placeholder {
  min-width: 0;
  height: 150px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.trust .logo-placeholder img {
  flex: 0 1 auto;
  min-width: 0;
  object-fit: contain;
  object-position: center;
}
.trust .logo-placeholder.grammys-tile { padding: 2px; }
.trust .logo-placeholder img.grammys-partner {
  width: 78%;
  max-width: 78%;
  height: 144px;
  max-height: 100%;
  /* The square source has large blank bands above and below the wordmark. */
  object-fit: cover;
  object-position: center;
}
.trust .logo-placeholder.nbc-sports img {
  width: 64px;
  height: 48px;
  max-width: 100%;
  max-height: 48px;
}
.trust .nbc-sports span { font-size: 16px; line-height: 1.2; }
@media (max-width: 1000px) {
  .trust .logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .trust .logo-placeholder { height: 120px; padding: 16px; }
  .trust .logo-placeholder.grammys-tile { padding: 2px; }
  .trust .logo-placeholder img.grammys-partner { height: 114px; }
}

.logo-placeholder.nbc-sports,
.logo-placeholder.sony-music-publishing,
.logo-placeholder.premios-logo {
  gap: 10px;
  text-align: center;
}

.logo-placeholder.tonight-show,
.logo-placeholder.songtrust-logo {
  font-size: clamp(20px, 2.1vw, 32px);
  line-height: .95;
}

.logo-placeholder.premios-logo img {
  width: min(220px, 90%);
  max-width: 90%;
  max-height: 82px;
  object-fit: contain;
}

.logo-placeholder.ufc-logo img {
  width: 175px;
  max-width: 64%;
  max-height: 82px;
}

.logo-placeholder.sony-music-publishing img {
  width: 170px;
  max-width: 92%;
  max-height: 82px;
}

.logo-placeholder.nbc-sports span,
.logo-placeholder.sony-music-publishing span {
  font-size: .56em;
  letter-spacing: -.04em;
}

@keyframes logo-draw-on {
  from { clip-path: inset(0 100% 0 0); }
  to { clip-path: inset(0 0 0 0); }
}

.publish-subtext {
  margin-top: 18px;
  padding-left: 16px;
  border-left: 2px solid var(--sky);
  color: #f1f1f1 !important;
  font-size: 14px;
  line-height: 1.55;
}

@media (max-width: 760px) {
  .hero-logo-heading {
    width: min(330px, 82vw);
  }

  .hero-logo-heading img {
    max-height: 130px;
  }

  .publish-subtext {
    font-size: 13px;
  }

  .logo-placeholder.ufc-logo img {
    width: 100px;
    max-width: 64%;
    max-height: 56px;
  }

  .logo-placeholder.sony-music-publishing img {
    width: 140px;
    max-width: 92%;
    max-height: 58px;
  }

  .logo-placeholder.premios-logo img {
    width: 90%;
    max-width: 90%;
    max-height: 58px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-logo-heading img {
    clip-path: none;
    animation: none;
  }
}

/* Legal pages and footer navigation */
footer .footer-brand{display:block;flex:0 0 auto;width:130px;max-width:100%;font-size:0;line-height:0}
footer .footer-brand img{display:block;width:100%;height:auto;object-fit:contain}
footer .footer-brand:focus-visible{outline:2px solid var(--sky);outline-offset:6px}
footer .footer-credit{margin-top:10px;text-transform:none;line-height:1.7}
.footer-credit a{color:var(--sky);text-decoration:underline;text-underline-offset:3px}
.footer-credit a:hover{color:#fff}
.footer-credit a:focus-visible{outline:2px solid var(--sky);outline-offset:4px}

.footer-legal {
  display: flex;
  gap: 20px;
  align-items: center;
}

.footer-legal a {
  color: #bbb;
  font: 500 9px var(--mono);
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color .2s ease;
}

.footer-legal a:hover,
.footer-legal a:focus-visible,
.footer-legal a[aria-current="page"] {
  color: var(--sky);
}

.legal-page {
  background: #e9edf0;
}

.legal-main {
  padding-top: 88px;
}

.legal-hero {
  min-height: 560px;
  padding: 105px clamp(20px, 8vw, 128px) 70px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: var(--navy);
  color: #fff;
}

.legal-hero .section-label {
  margin-bottom: 48px;
}

.legal-hero h1 {
  max-width: 1050px;
  margin: 0;
  font-weight: 600;
  font-size: clamp(62px, 9vw, 142px);
  line-height: .82;
  letter-spacing: -.085em;
  font-family: var(--display);
}

.legal-hero h1 em {
  color: #d9e9f4;
  font-family: Georgia, serif;
  font-weight: 400;
}

.legal-date {
  margin: 48px 0  0;
  font: 500 10px var(--mono);
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #c9d9ed;
}

.legal-document {
  width: min(900px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(75px, 9vw, 135px) 0;
}

.legal-intro {
  margin: 0 0 80px;
  max-width: 780px;
  font: 500 clamp(24px, 3.1vw, 40px)/1.25 var(--display);
  letter-spacing: -.045em;
}

.legal-document section {
  padding: 35px 0 40px;
  border-top: 1px solid #9ca6ac;
}

.legal-document section:last-child {
  border-bottom: 1px solid #9ca6ac;
}

.legal-document h2 {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 18px;
  margin: 0 0 25px;
  font: 600 clamp(25px, 3vw, 38px)/1.05 var(--display);
  letter-spacing: -.055em;
}

.legal-document h2 span {
  padding-top: 7px;
  color: var(--blue);
  font: 500 10px var(--mono);
  letter-spacing: .08em;
}

.legal-document section > p,
.legal-document li {
  max-width: 720px;
  margin-left: 70px;
  font-size: 16px;
  line-height: 1.7;
}

.legal-document ul {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.legal-document li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 20px;
}

.legal-document li::before {
  content: "✦";
  position: absolute;
  left: 0;
  color: var(--blue);
}

.legal-document a {
  color: var(--navy);
  text-underline-offset: 3px;
}

.post-hero h1 {
  font-size: clamp(50px, 7vw, 108px);
  line-height: .9;
}

.post-hero.has-image {
  background-position: center;
  background-size: cover;
}

.news-card-image {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0 0 24px;
  border: 1px solid rgba(255, 255, 255, .2);
  object-fit: cover;
}

/* Firestore roster cards keep their image and copy in separate visible panels. */
.roster-card {
  grid-template-columns: minmax(0, 45%) minmax(0, 55%);
}

.roster-card > img {
  grid-column: 1;
  min-width: 0;
}

.roster-card .roster-copy {
  position: relative;
  z-index: 2;
  grid-column: 2;
  min-width: 0;
  overflow: auto;
  background: #fff;
  color: var(--ink);
  justify-content: safe center;
  padding: clamp(30px, 4vw, 58px);
  scrollbar-color: var(--sky) transparent;
}

.roster-card .roster-copy h3 {
  max-width: 100%;
  flex: 0 0 auto;
  margin: 0 0 16px;
  font-size: clamp(42px, 5vw, 70px);
  line-height: .88;
  overflow-wrap: anywhere;
}

.roster-card .roster-copy > p:last-child {
  max-width: 100%;
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
}

.roster-card .roster-role {
  flex: 0 0 auto;
  margin: 0 0 18px;
  line-height: 1.45;
}

@media (max-width: 760px) {
  .roster-slides,
  .roster-card {
    height: 760px;
    min-height: 760px;
  }

  .roster-card {
    grid-template-columns: 1fr;
    grid-template-rows: 390px minmax(0, 370px);
  }

  .roster-card > img {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    height: 100%;
    max-height: none;
    aspect-ratio: auto;
    object-fit: cover;
  }

  .roster-card .roster-copy {
    grid-column: 1;
    grid-row: 2;
    justify-content: flex-start;
    min-height: 0;
    padding: 22px 22px 26px;
    overscroll-behavior: contain;
  }

  .roster-card .roster-copy h3 {
    margin-bottom: 12px;
    font-size: clamp(38px, 12vw, 54px);
    line-height: .9;
    overflow-wrap: anywhere;
  }

  .roster-card .roster-role {
    margin-bottom: 14px;
    font-size: 9px;
    line-height: 1.4;
  }

  .roster-card .roster-copy > p:last-child {
    font-size: 13px;
    line-height: 1.48;
  }
}

@media (max-width: 420px) {
  .roster-slides,
  .roster-card {
    height: 720px;
    min-height: 720px;
  }

  .roster-card {
    grid-template-rows: 330px minmax(0, 390px);
  }
}

.post-document #post-body {
  margin: 0 0 60px 70px;
  max-width: 720px;
}

.post-document #post-body p {
  margin: 0 0 24px;
  font-size: 17px;
  line-height: 1.75;
}

@media (max-width: 900px) {
  footer {
    flex-wrap: wrap;
  }

  .footer-legal {
    order: 3;
    width: 100%;
    padding-top: 22px;
    border-top: 1px solid #ffffff2b;
  }
}

@media (max-width: 760px) {
  .legal-main {
    padding-top: 74px;
  }

  .legal-hero {
    min-height: 470px;
    padding-top: 80px;
  }

  .legal-hero .section-label {
    margin-bottom: 34px;
  }

  .legal-hero h1 {
    font-size: clamp(55px, 17vw, 82px);
  }

  .legal-date {
    margin-top: 34px;
  }

  .legal-intro {
    margin-bottom: 55px;
  }

  .legal-document section {
    padding: 28px 0 32px;
  }

  .legal-document h2 {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
  }

  .legal-document section > p,
  .legal-document li {
    margin-left: 44px;
    font-size: 15px;
  }

  .post-document #post-body {
    margin-left: 44px;
  }

  .footer-legal {
    order: initial;
    width: auto;
    padding-top: 0;
    border-top: 0;
    flex-wrap: wrap;
  }
}
