/* ── Design tokens (from Figma) ── */


/* * {
    outline: 1px solid rgba(255, 0, 0, 0.35) !important;
  }

  *::before,
  *::after {
    outline: 1px solid rgba(0, 140, 255, 0.35) !important;
  } */

  @import url("https://fonts.googleapis.com/css2?family=Righteous&display=swap");
  @import url("https://fonts.googleapis.com/css2?family=Antonio:wght@400;500;600;700&family=Oswald:wght@300;400;500;600;700&display=swap");
  @font-face {
    font-family: "caprise";
    src: url("../fonts/Caprise.otf") format("opentype"),
         url("../fonts/Caprise.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: "antonio";
    src: url("../fonts/antonio.regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }
  :root {
      --color-primary: #0aaaee;
      --color-primary-light: #24bdff;
      --color-primary-border: #95d8ff;
      --color-search-border: #54a8fd;
      --color-search-divider: #9adaff;
      --color-header-top-mobile: #1d323f;
      --color-header-search-mobile: #063d5a;
      --color-header-search-desktop: rgba(21, 154, 255, 0.16);
      --color-text: #ffffff;
      --color-text-dark: #161515;
      --color-text-muted: #79858f;
      --color-bg-page: #1b3040;
      --font-poppins: "Poppins", sans-serif;
      --font-nunito: "Nunito", sans-serif;
      --header-max-width: 1566px;
      --radius-pill: 28px;
      --radius-round: 45px;
      --breakpoint-tablet: 768px;
      --breakpoint-desktop: 1024px;
      --rs-cyan: #09c6ff;
      --rs-cyan-bright: #0ce3ff;
      --rs-cyan-mid: #24bdff;
      --rs-blue: #0aaaee;
      --rs-blue-deep: #0c84d3;
      --rs-navy: #024166;
      --rs-navy-dark: #034064;
      --rs-navy-footer: #011d2d;
      --rs-teal-dark: #00495f;
      --rs-text-muted: #f5fcff;
      --rs-radius-pill: 124px;
      --rs-radius-lg: 32px;
      --rs-radius-md: 12px;
      --rs-radius-sm: 8px;
  }

  *,
  *::before,
  *::after {
      box-sizing: border-box;
  }

  html {
      overflow-x: hidden;
  }

  body {
      margin: 0;
      font-family: var(--font-poppins);
      color: var(--color-text);
      min-height: 100vh;
      overflow-x: hidden;
      background-color: #04263b !important;
  }

  img,
  video {
      max-width: 100%;
      height: auto;
  }

  .visually-hidden {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
  }

  .submit-desc.expanded {
      -webkit-line-clamp: unset;
  }


  /* ── Header shell ── */

  .site-header {
      width: 100%;
  }

  .header-container {
      width: 100%;
      max-width: var(--header-max-width);
      margin: 0 auto;
      padding: 0 24px;
  }

  .header-container--top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      width: 100%;
      max-width: none;
      padding: 10px 12px 4px;
  }

  .header-top__brand {
      display: flex;
      align-items: center;
      gap: 12px;
      min-width: 0;
      flex: 1;
  }
.mood-features {
    overflow: visible !important;
    padding: 15px 5px;
}

.mood-features .mood-card.active {
    border: 3px solid #00c8ff !important;
    box-shadow: 0 0 20px #00c8ff !important;
    outline: 2px solid #fff !important;
    outline-offset: 3px;
    z-index: 10 !important;
    position: relative;
}




  /* Hamburger — mobile only */

  .menu-toggle {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 4px;
      width: 32px;
      height: 32px;
      padding: 6px;
      border: none;
      background: transparent;
      cursor: pointer;
      flex-shrink: 0;
  }

  .menu-toggle__bar {
      display: block;
      width: 16px;
      height: 2px;
      background: #fff;
      border-radius: 2px;
      transition: transform 0.2s, opacity 0.2s;
  }

  .menu-toggle[aria-expanded="true"] .menu-toggle__bar:nth-child(1) {
      transform: translateY(6px) rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] .menu-toggle__bar:nth-child(2) {
      opacity: 0;
  }

  .menu-toggle[aria-expanded="true"] .menu-toggle__bar:nth-child(3) {
      transform: translateY(-6px) rotate(-45deg);
  }

  .header-container--search {
      display: flex;
      align-items: center;
      gap: 8px;
      max-width: none;
      padding: 0 12px;
  }

  .header-top {
      display: flex;
      flex-direction: column;
      gap: 0px;
      justify-content: flex-end;
      min-height: 96px;
      background: var(--color-header-top-mobile);
      border-radius: 22px 22px 0 0;
  }


  /* Logo */

  .logo {
      display: flex;
      align-items: center;
      gap: 12px;
      text-decoration: none;
      flex-shrink: 0;
  }

  .logo__icon {
      display: none;
      width: 16px;
      height: 16px;
      object-fit: contain;
  }

  .logo__wordmark {
      display: block;
      width: 101px;
      height: auto;
      object-fit: contain;
  }

  .search-form {
      margin: 0;
  }


  /* Main nav — mobile drawer */

  .main-nav {
      position: fixed;
      inset: 0;
      top: 50px;
      /* z-index: 99; */
      z-index: 9999;
      display: block;
      background: rgba(4, 29, 45, 0.97);
      padding: 20px 12px;
      transform: translateX(-100%);
      transition: transform 0.3s ease;
      overflow-y: auto;
  }

  .main-nav.is-open {
      transform: translateX(0);
  }

  .main-nav__list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 4px;
  }

  .main-nav__link {
      display: block;
      padding: 12px 16px;
      font-family: var(--font-poppins);
      font-size: 16px;
      font-weight: 400;
      color: #fff !important;
      text-decoration: none;
      text-transform: capitalize;
      white-space: nowrap;
      border-radius: var(--radius-round);
      transition: background 0.15s, opacity 0.15s;
  }

  .main-nav__link:hover {
      background: rgba(255, 255, 255, 0.08);
      opacity: 1;
  }

  .main-nav__link--active {
      padding: 12px 16px;
      color: #fff;
      font-weight: 600;
      background: rgba(36, 189, 255, 0.15);
  }


  /* Utility icons */

  .header-actions {
      display: flex;
      align-items: center;
      gap: 6px;
      flex-shrink: 0;
  }

  .icon-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      padding: 2px;
      border: none;
      border-radius: 92px;
      background: transparent;
      cursor: pointer;
  }

  .icon-btn img {
      display: block;
      width: 16px;
      height: 16px;
      object-fit: contain;
      filter: brightness(0) invert(1);
  }


  /* ── Search bar row ── */

  .header-search {
      background: var(--color-header-search-mobile) !important;
      border: none !important;
      padding: 3px;
      width: 100%;
      height: auto !important;
  }

  .header-search .header-container--search {
      min-height: 39px;
  }


  /* Language selector */

  .lang-select {
      display: flex;
      align-items: center;
      gap: 4px;
      height: 20px;
      padding: 0 8px;
      border: 0.6px solid var(--color-primary-border);
      border-radius: var(--radius-pill);
      background: var(--color-primary);
      color: var(--color-text);
      font-family: var(--font-poppins);
      font-size: 8px;
      font-weight: 400;
      text-transform: capitalize;
      cursor: pointer;
      flex-shrink: 0;
      white-space: nowrap;
      width: 79px;
  }

  .client-title-image {
      /* height: 100px; */
  }

  .client-title-image {
      width: 100%;
      height: 120px;
      display: flex;
      align-items: center;
      /* padding-top: 20px; */
      /* padding-left: 20px; */
  }

  .client-card:hover .client-title-image {
      height: auto;
  }

  .client-title-image img {
      width: auto;
      height: auto;
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
  }

  .lang-select__icon,
  .lang-select__arrow {
      width: 12px;
      height: 12px;
      flex-shrink: 0;
      object-fit: contain;
  }

  .lang-select__text {
      line-height: 1;
      flex: 1;
      text-align: left;
  }


  /* Search form */

  .search-form {
      flex: 1;
      min-width: 0;
      max-width: 237px;
  }

  .search-form__inner {
      display: flex;
      align-items: stretch;
      height: 20px;
      border: 1px solid #b7dbff;
      border-radius: var(--radius-pill);
      overflow: hidden;
  }

  .search-form__category {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 0 6px 0 10px;
      border: none;
      border-right: 0.4px solid #d9f1ff;
      background: #ffffff;
      color: var(--color-text-dark);
      font-family: var(--font-poppins);
      font-size: 8px;
      font-weight: 400;
      text-transform: capitalize;
      cursor: pointer;
      flex-shrink: 0;
      white-space: nowrap;
      width: 53px;
  }

  .search-form__category img {
      width: 12px;
      height: 12px;
      object-fit: contain;
  }

  .search-form__field {
      display: flex;
      align-items: center;
      gap: 4px;
      flex: 1;
      min-width: 0;
      padding: 0 8px;
      background: #ffffff;
  }

  .search-form__search-icon {
      width: 10px;
      height: 10px;
      flex-shrink: 0;
      object-fit: contain;
  }

  .search-form__field input {
      flex: 1;
      min-width: 0;
      border: none;
      outline: none;
      background: transparent;
      font-family: var(--font-poppins);
      font-size: 7px;
      color: var(--color-text-dark);
      text-transform: capitalize;
  }

  .search-form__field input::placeholder {
      color: var(--color-text-muted);
  }

  /* .submit-show-more {
      display: none !important;
      padding: 0;
      margin: 0 0 0 0px;
      border: 0;
      background: none;
      color: inherit;
      font: inherit;
      font-weight: 700;
      cursor: pointer;
  } */


  /* Share button */

  .share-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      padding: 0;
      border: none;
      border-radius: var(--radius-pill);
      background: var(--color-primary);
      color: var(--color-text);
      cursor: pointer;
      flex-shrink: 0;
  }

  .share-btn img {
      width: 10px;
      height: 11px;
      object-fit: contain;
  }



@media (max-width: 767px) {
    .ind-card h3 {
        font-size: 14px !important;
    }
    .ind-row--reverse .ind-card:first-child {
        padding-right: 32px;
    }
    .clients-title {
        line-height: 23px !important;
        font-size: 24px !important;
    }
    .artists-headline {
        line-height: 1 !important;
    }
    .search-form__category {
        height: 100% !important;
    }
    .artists-arch img {
        left: -51.27% !important;
        /* top: -43.73% !important; */
        width: 206.75% !important;
    }
    .artists-actions .btn-white,
    .artists-actions .btn-glass {
        padding: calc(4 / 402 * 40vw) calc(10 / 335 * 100vw) !important;
    }
    .about-hero-title {
        /* top: -20px !important; */
        top: 0px !important;
    }
    body {
        padding-bottom: calc(145px + env(safe-area-inset-bottom, 0px)) !important;
        box-sizing: border-box;
    }
    .search-form {
        flex: 1;
        max-width: none;
        margin-bottom: 0px;
    }
    .lang-select__arrow {
        width: 12px;
        height: 5px;
    }
    .search-form__category img {
        width: 8px;
        height: 9px;
        object-fit: contain;
    }
    .browse-block {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 15px;
    }
    .externalImg {
        width: 17px;
    }
    .search-category-dropdown,
    .lang-select-dropdown {
        min-width: 121px !important;
        max-width: 135px !important;
    }
}

  .lang-select-dropdown__list {
      overflow-y: auto;
      scrollbar-width: thin;
      scrollbar-color: #3188ec transparent;
  }


  /* Chrome / Safari */

  .lang-select-dropdown__list::-webkit-scrollbar {
      width: 6px !important;
  }

  .lang-select-dropdown__list::-webkit-scrollbar-track {
      background: transparent !important;
  }

  .lang-select-dropdown__list::-webkit-scrollbar-thumb {
      background: #1e8aee !important;
      border-radius: 10px !important;
  }

  .lang-select-dropdown__list::-webkit-scrollbar-thumb:hover {
      background: #1e8aee !important;
  }

  .ind-feature.g2 .ind-feature-title {
      width: 100%;
  }
  section.music-showcase .music-section .subDiv {
    margin-top: 10px;
  }


  /* ══════════════════════════════════════
               TABLET (768px – 1023px)
               ══════════════════════════════════════ */
  @media (min-width: 768px) and (max-width: 1023px) {
    #tooltip_textdiv {
        width: auto !important;
        white-space: nowrap;
    }
    /* #trailimageid::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);

        width: 0;
        height: 0;

        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-top: 10px solid #fff;
        z-index: 99999;
    }
     */
      .ind-feature.g2 .ind-feature-title {
          width: 100%;
      }
      .lang-select {
          padding-left: 0.5rem;
          padding-right: 0.5rem;
          margin-right: 0.5rem;
      }
      .lang-select__arrow {
          margin-left: 0.25rem;
          flex-shrink: 0;
      }
      .lang-select__arrow {
          width: 7px;
          height: 8px;
      }
      .lang-select-wrapper .text-truncate {
          overflow: unset !important;
          text-overflow: unset !important;
          white-space: nowrap !important;
      }
      .hero__headline {
          padding: 19px 0px;
      }
      .hero__content {
          gap: 27px;
      }
      .music-feature-card {
          min-height: 400px !important;
      }
      .music-station-link {
          padding: 12px 11px !important;
      }
      .music-station-list {
          padding-top: 24px;
      }
      .artists-headline {
          line-height: 1 !important;
      }
      .artists-arch img {
          left: -46.27% !important;
          /* top: -42.73% !important; */
          width: 199.75% !important;
      }
      .about-hero-title {
          top: -32px !important;
      }
      .artists-actions {
          left: 0 !important;
          right: 0 !important;
          justify-content: center !important;
      }
      .header-container--top {
          padding: 16px 24px;
      }
      .main-nav.is-open {
          width: 22%;
      }
      .header-container--search {
          padding: 0 24px;
      }
      .header-top {
          min-height: auto;
          border-radius: 0;
      }
      .header-container--top {
          max-width: none;
          width: 100%;
          padding: 16px 32px;
          justify-content: space-between;
      }
      .logo__wordmark {
          width: 180px;
      }
      .header-actions {
          gap: 10px;
      }
      .header-search .header-container--search {
          max-width: none;
          /* padding: 0 32px; */
          padding: 8px 32px;
          gap: 16px;
      }
      .lang-select {
          width: auto;
          min-width: 120px;
          height: 36px;
          padding: 0 12px;
          font-size: 14px;
          border-width: 1px;
      }
      .lang-select__icon,
      .lang-select__arrow {
          width: 18px;
          height: 18px;
      }
      .search-form {
          flex: 1;
          max-width: none;
      }
      .search-form__inner {
          height: 36px;
      }
      .search-form__category {
          width: auto;
          padding: 0 12px 0 16px;
          font-size: 14px;
          height: 100%;
      }
      .search-form__category img {
          width: 11px;
          height: 18px;
      }
      .search-form__field {
          padding: 0 16px;
          gap: 8px;
      }
      .search-form__search-icon {
          width: 18px;
          height: 18px;
      }
      .search-form__field input {
          font-size: 14px;
      }
      .share-btn {
          width: 36px;
          height: 36px;
          padding: 8px;
      }
      .share-btn img {
          width: 18px;
          height: 18px;
      }
  }


  /* ── Page main ── */

  .page-main {
      padding: 0;
  }

  .ind-hero-sub.expand {
      -webkit-line-clamp: unset;
      display: inline;
      height: auto;
      overflow: visible;
      -webkit-line-clamp: unset;
      -webkit-box-orient: initial;
  }


  /* ══════════════════════════════════════
               DESKTOP  (≥ 1024px)
               ══════════════════════════════════════ */

  @media (min-width: 1024px) {
        .radio-mag .musica-magazine-hero .hs-hero-text {
            margin: calc(18 * var(--u)) auto 0 !important;
            padding: 0 !important;
            max-width: 100% !important;
            font-family: 'Roboto', Arial, sans-serif !important;
            font-weight: 400 !important;
            font-size: calc(28 * var(--u)) !important;
            line-height: 1.3 !important;
            color: #fff !important;
            text-transform: capitalize;
            text-align: center;
        }
        .radio-mag section.musica-magazine-hero .hs-hero-inner .hs-hero-text{
            margin-left: unset !important;
            margin-right: unset !important;
        }
        .music-Section-visible{
            margin-left: -1px !important;
        }
      .submit-hero-copy h2 {
          display: -webkit-box !important;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 10;
          overflow: hidden;
          margin-bottom: 0;
      }
      .menu-toggle {
          display: none;
      }
      .header-container--top {
          display: flex;
          align-items: center;
          gap: 16px;
          max-width: var(--header-max-width);
          margin: 0 auto;
          padding: 0 49px;
      }
      .header-top__brand {
          flex: 1;
          display: flex;
          align-items: center;
          justify-content: flex-start;
          min-width: 0;
          gap: 0;
      }
      .logo {
          gap: 0;
      }
      .logo__icon {
          display: none;
      }
      .main-nav {
          position: static;
          flex: 1 0 auto;
          inset: auto;
          background: transparent;
          padding: 0;
          transform: none;
          transition: none;
          overflow: visible;
          display: block;
      }
      .main-nav__list {
          flex-direction: row;
          flex-wrap: nowrap;
          align-items: center;
          gap: 10px;
      }
      .main-nav__link {
          /* padding: 5px 13px; */
          padding: 5px 8px;
      }
      .main-nav__link--active {
          padding: 12px 14px;
          background: transparent;
      }
      .main-nav__link:hover {
          background: transparent;
          opacity: 0.85;
      }
      .main-nav__link:hover,
      .main-nav__link:focus-visible {
          color: #24bfff !important;
          font-weight: 600;
          border-color: rgba(255, 255, 255, 0.42);
          backdrop-filter: blur(10px);
          -webkit-backdrop-filter: blur(10px);
          box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.32), inset 0 -10px 20px rgba(0, 0, 0, 0.42), inset 10px 0 18px rgba(255, 255, 255, 0.04), inset -10px 0 18px rgba(0, 0, 0, 0.35), 0 6px 14px rgba(0, 0, 0, 0.4);
      }
      .header-top {
          gap: 5px;
          min-height: auto;
          border-radius: 0;
          padding-top: 10px;
      }
      .logo__wordmark {
          width: 272px;
          max-width: 272px;
      }
      .main-nav__list {
          justify-content: center;
      }
      .header-actions {
          /* flex: 1; */
          display: flex;
          align-items: center;
          justify-content: flex-end;
          min-width: 0;
          gap: 14px;
          height: 76px;
          /* padding: 12px 24px; */
          padding: 0;
          border-radius: 124px;
          flex-shrink: 0;
      }
      .icon-btn {
          width: 30px;
          height: 30px;
          padding: 4px;
      }
      .icon-btn img {
          width: 22px;
          height: 22px;
      }
      /* Search bar — desktop */
      .header-search {
          background: var(--color-header-search-desktop);
          padding: 10px 0;
      }
      .header-search .header-container--search {
          gap: 24px;
          max-width: 1260px;
          margin: 0 auto;
          padding: 0 24px;
          min-height: auto;
      }
      .lang-select {
          height: 42px;
          width: 176px;
          padding: 12px 16px 12px 16px;
          gap: 12px;
          font-size: 16px;
          border-width: 1px;
          justify-content: flex-start;
      }
      .lang-select__icon,
      .lang-select__arrow {
          width: 24px;
          height: 24px;
      }
      .search-form {
          flex: 1;
          max-width: none;
          margin-bottom: 0px;
      }
      .search-form__inner {
          height: 42px;
          border-color: var(--color-search-border);
      }
      .search-form__category {
          width: auto;
          padding: 12px 6px 12px 24px;
          font-size: 16px;
          border-right-color: var(--color-search-divider);
      }
      .search-form__category img {
          width: 11px;
          height: 11px;
          margin-top: 2px;
          margin-top: -3px;
          margin-right: 5px;
      }
      .search-form__field {
          padding: 12px 32px 12px 10px;
          gap: 12px;
          min-width: 0;
          flex: 1;
      }
      .search-form__search-icon {
          width: 20px;
          height: 20px;
      }
      .search-form__field input {
          font-size: 16px;
      }
      .share-btn {
          width: 42px;
          height: 42px;
          padding: 12px;
      }
      .share-btn img {
          width: 24px;
          height: 24px;
      }
  }

  @media (min-width: 1024px) and (max-width: 1280px) {
      .industry-carousel-wrap .carousel-nav {
          /* padding-right: 48px; */
          padding-right: 0px;
      }
      .search-category-dropdown {
          left: 23% !important;
      }
      .ind-hero-sub {
          width: 69% !important;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 4;
          overflow: hidden;
          height: 100% !important;
          margin-bottom: 0px !important;
      }
      .participation-hero-content {
          width: 78% !important;
      }
      .participation-hero-image img {
          right: 0% !important;
      }
      .header-top__brand {
          min-width: 21%;
      }
      .brandName>h3 {
          font-size: 27px !important;
      }
      .header-container--top {
          max-width: 100%;
          gap: 12px;
          padding: 0 32px;
      }
      .main-nav__list {
          gap: 2px;
      }
      .main-nav__link {
          /* padding: 10px 12px; */
          font-size: 13px;
          padding: 10px 8px;
      }
      .main-nav__link--active {
          padding: 10px 14px;
      }
      .logo__wordmark {
          width: 200px;
      }
      .header-actions {
          gap: 10px;
          height: 64px;
          /* padding: 10px 18px; */
          padding: 0;
      }
      .icon-btn {
          width: 26px;
          height: 26px;
      }
      .icon-btn img {
          width: 20px;
          height: 20px;
      }
  }


  /* ══════════════════════════════════════
               DESKTOP  (≥ 768px)
               ══════════════════════════════════════ */

  @media only screen and (max-width: 768px) {
      .clients-left .clients-title {
          font-size: 36px;
          font-weight: 700;
          line-height: 0.95 !important;
          margin: 0;
      }
      .clients-title .d-block {
          display: block;
          margin: 0;
          padding: 0;
      }
      .category-masonry.st-c .category-masonry.m1 {
          width: 100% !important;
          min-width: 100% !important;
          max-width: 100% !important;
      }
      .header-top__brand {
          gap: 4px;
      }
      .category-thumb {
          height: 100% !important;
      }
      .browse-block--carousel .browse-carousel__nav {
          margin-right: 0px !important;
      }
      .main-nav.is-open {
          width: auto;
      }
  }


  /* GLOBAL CSS */
    .station-tooltip {
        position: absolute;
        top: 42px;
        left: 0;
        width: 375px;
        padding: 18px;
        background: #fff;
        color: #222;
        border: 1px solid #777;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
        display: none;
        z-index: 9999;
    }

    .station-item:hover .station-tooltip {
        display: block;
    }
    .music-station-list .d-flex.gap-3.align-items-center{
        position: relative;
    }

    .station-tooltip::before {
        content: "";
        position: absolute;
        top: -8px;
        left: 45px;
        width: 15px;
        height: 15px;
        background: #fff;
        border-left: 1px solid #777;
        border-top: 1px solid #777;
        transform: rotate(45deg);
    }
  .lang-select__arrow {
      width: 20px;
      height: 8px;
  }



  .headerv2 {
      height: auto !important;
  }

  .about-hero {
      position: relative;
      overflow: hidden;
      background: #071c2e;
  }

  .about-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background: url("../images/about-hero-bg.jpg") center / cover no-repeat;
      z-index: 0;
  }

  .about-hero-stage {
      position: relative;
      z-index: 1;
      width: 100%;
      aspect-ratio: 1920 / 438;
      /* min-height: 260px; */
      min-height: 34%;
  }


  /* Frosted panel over the left 536px (Figma Rectangle 1316) */

  .about-hero-panel {
      position: absolute;
      left: 0;
      top: 0;
      width: 27.92%;
      height: 100%;
      background: rgba(255, 255, 255, 0.14);
      backdrop-filter: blur(22px) saturate(1.1);
      -webkit-backdrop-filter: blur(22px) saturate(1.1);
      z-index: 1;
  }

  .about-hero-title {
      position: absolute;
      /* left: 11.67%; */
      left: 7.67%;
      /* 224/1920 */
      top: 14.34%;
      /* 111/438 */
      z-index: 2;
      margin: 0;
      font-family: "Poppins", sans-serif;
      font-weight: 700;
      font-size: 86px;
      line-height: 1 !important;
      letter-spacing: -0.03em;
      text-transform: uppercase;
      color: #fff;
      white-space: nowrap;
  }


  /* Knockout copy: photo-filled glyphs, clipped to the stretch over the panel
               (boundary 536px = 39.9% into the 782px-wide text block). */

  .about-hero-title--knockout {
      z-index: 3;
      pointer-events: none;
      /* clip-path: inset(-5% 60% -5% -2%); */
      background-image: url("../images/about-hero-bg.jpg");
      background-repeat: no-repeat;
      background-size: 100vw auto;
      background-position: calc(-224 / 1920 * 100vw) calc(-111 / 1920 * 100vw);
      -webkit-background-clip: text;
      background-clip: text;
      /* color: transparent; */
      text-shadow: 1px 1px black;
  }


  /* ---------- Industries ---------- */

  .industries {
      position: relative;
      background: #0a141d;
      overflow: hidden;
      /* padding: clamp(3rem, 5vw, 5rem) 0 clamp(2.5rem, 4vw, 4rem); */
      background: url("../images/about-industries-bg.jpg") center / cover no-repeat;
  }


  /* Photo left panel — Figma 73:159 (536 / 1920 ≈ 28%). The design continues the
               concert photo here (guitarist). industries-bg.jpg is that export; until it
               exists the dark color fallback shows. */

  .industries::before {
      content: "";
      position: absolute;
      inset: 0 auto 0 0;
      width: min(28%, 536px);
      z-index: 0;
  }

  .industries-inner {
      position: relative;
      z-index: 1;
      /* max-width: 1920px;
              margin: 0 auto;
              padding: 0 clamp(1.5rem, 4.9vw, 94px); */
  }


  /* One-line heading spanning the cyan panel into the dark area — Figma 61:543 */

  .industries-title {
      font-size: 64px;
      /* 72px */
      font-weight: 700;
      line-height: 1.05;
      letter-spacing: 0.02em;
      margin: 0 0 2rem;
      white-space: nowrap;
  }

  .industries-title .accent {
      color: #fff;
      text-shadow: 1px 1px black;
  }

  .industries-left {
      /* width:28%; */
      width: 41%;
      padding: 40px 0 0 5%;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
  }

  .industries-left-inner {
      width: 100%;
      max-width: 350px;
  }

  .industries-right {
      background: rgba(255, 255, 255, 0.14);
      backdrop-filter: blur(22px) saturate(1.1);
      -webkit-backdrop-filter: blur(22px) saturate(1.1);
      /* width: calc(100% - 28%); */
      width: 69%;
      padding: 40px 0 0 10px;
  }


  /* "Served" knocks out to photo texture (Figma 73:171). The color underneath
               the image doubles as the fallback if industries-bg.jpg is missing. */

  .industries-title .served-knockout {
      background: #5e6b76 url("../images/about-industries-bg.jpg") center / cover no-repeat;
      -webkit-background-clip: text;
      background-clip: text;
      color: #fff;
      text-shadow: 1px 1px black;
  }

  .underline-bar {
      width: 129px;
      height: 6px;
      background: #fff;
      border-radius: 24px;
      margin-bottom: 2rem;
  }

  .industries-body {
      display: flex;
      align-items: flex-start;
      /* gap: clamp(1.5rem, 3vw, 38px); */
  }

  .industries-intro {
      flex: 0 0 clamp(240px, 27%, 415px);
  }

  .industries-copy {
      font-size: 1.25rem;
      /* 20px */
      font-weight: 500;
      line-height: 1.75;
      max-width: 415px;
      margin-bottom: 2.5rem;
      color: #fff;
      text-shadow: 1px 1px black;
  }

  .btn-register {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 1.5rem;
      background: #fff;
      color: #073a5c !important;
      font-size: 1.5rem;
      font-weight: 600;
      text-transform: capitalize;
      text-decoration: none;
      padding: 18px 18px;
      border-radius: var(--rs-radius-pill);
      border: 0;
      box-shadow: 22px 22px 18px rgba(0, 0, 0, 0.16);
      max-width: 100%;
      transition: transform 0.2s ease, background 0.2s ease;
  }

  .btn-register:hover {
      background: #eaf6ff;
      color: #073a5c;
      transform: translateY(-2px);
  }

  .header-share-icons {
      gap: 11px !important;
  }

  .browse-cards {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: nowrap;
      flex-wrap: nowrap;
      overflow-x: hidden;
      overflow-y: hidden;
      width: 100%;
  }


  /* ALWAYS exactly 5 cards */

  .browse-cards .genre-card {
      -webkit-flex: 0 0 20%;
      flex: 0 0 20%;
      width: 20%;
      max-width: 20%;
      box-sizing: border-box;
      padding-right: 16px;
  }


  /* Prevent image overflow */

  .browse-cards .genre-card__img {
      width: 100%;
      height: auto;
      display: block;
  }

  .btn-register .icon-mask {
      width: 38px;
      height: 38px;
      background-color: #073a5c;
      -webkit-mask-image: url("../images/arrow-right.png");
      mask-image: url("../images/arrow-right.png");
  }

  .industry-carousel-wrap {
      position: relative;
      flex: 1 1 auto;
      min-width: 0;
      /* Bleed the scroller to the section's right edge (cancel container padding)
                 so cards run to the edge like the design, with no dark gap on the right. */
      /* margin-right: calc(-1 * clamp(1.5rem, 4.9vw, 94px)); */
      padding-left: 20px;
      padding-right: 20px;
  }

  .industry-track {
      display: flex;
      gap: 20px;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scroll-behavior: smooth;
      padding: 1rem 0 0 0;
      -ms-overflow-style: none;
      scrollbar-width: none;
  }

  .industry-track::-webkit-scrollbar {
      display: none;
  }

  .industry-card {
      position: relative;
      flex: 0 0 293px;
      width: 293px;
      height: 580px;
      border-radius: var(--rs-radius-md);
      overflow: hidden;
      scroll-snap-align: start;
      box-shadow: 0 2px 42px rgba(0, 0, 0, 0.22);
      display: flex;
      align-items: flex-end;
      padding: 42px 18px;
  }

  .industry-card img.card-bg {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: var(--rs-radius-md);
  }

  .industry-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(2, 56, 79, 0) 50%, #025578 85%);
      border-radius: var(--rs-radius-md);
      pointer-events: none;
  }

  .industry-card .card-label {
      position: relative;
      z-index: 1;
      width: 100%;
  }

  .industry-card .card-bar {
      width: 96px;
      height: 6px;
      background: var(--rs-cyan);
      border-radius: 24px;
      margin-bottom: 12px;
  }

  .industry-card h3 {
      font-size: 1.75rem;
      font-weight: 700;
      line-height: 36px;
      letter-spacing: 0.02em;
      margin: 0;
      white-space: normal;
      overflow: hidden;
      text-overflow: ellipsis;
      color: #fff;
  }


  /* Description is hidden by default (title only) and reveals on hover/focus. */

  .industry-card .card-desc {
      margin: 0;
      max-height: 0;
      opacity: 0;
      overflow: hidden;
      font-size: 0.9375rem;
      /* 15px */
      font-weight: 600;
      line-height: 1.4;
      color: rgba(255, 255, 255, 0.92);
      transition: max-height 0.4s ease, opacity 0.3s ease, margin-top 0.4s ease;
  }

  .industry-card:hover .card-desc,
  .industry-card:focus-within .card-desc {
      /* margin-top: 10px; */
      max-height: 200px;
      margin-bottom: 200px;
      opacity: 1;
  }


  /* Deepen the overlay on hover so the revealed text stays readable. */

  .industry-card:hover::after {
      background: linear-gradient( 180deg, rgba(2, 56, 79, 0) -26%, rgba(2, 56, 79, 0.85) 0%);
  }

  .carousel-nav {
      display: flex;
      justify-content: flex-end;
      gap: 16px;
      margin-top: 0.5rem;
      padding: 20px;
      /* Offset the carousel's right bleed so arrows stay aligned with the content. */
  }

  .carousel-nav button {
      width: 36px;
      height: 36px;
      border: 0;
      border-radius: 92px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      padding: 6px;
  }

  .carousel-nav .prev {
      background: rgba(255, 255, 255, 0.28);
  }

  .carousel-nav .prev:hover {
      background: rgba(255, 255, 255, 0.4);
  }

  .carousel-nav .next:hover {
      background: var(--rs-cyan-bright);
  }

  .carousel-nav .next {
      background: var(--rs-cyan);
  }

  .carousel-nav .icon-mask {
      width: 24px;
      height: 24px;
      -webkit-mask-image: url("../images/chevron.png");
      mask-image: url("../images/chevron.png");
  }

  .carousel-nav .next .icon-mask {
      transform: rotate(180deg);
  }


  /* ---------- Clients (Figma 73:232) ----------
               Full-bleed 1920x743 composition: cyan gradient on the left half, dark navy
               on the right, globe at the seam, copy on the left, staggered chips right. */

  .clients {
      position: relative;
      overflow: hidden;
      background: #071527;
      height: 69%;
  }


  /* Left-half gradient (Figma Rectangle 1320, split at x=952) */

  .clients::before {
      content: "";
      position: absolute;
      inset: 0 auto 0 0;
      width: 49.6%;
      background: linear-gradient(160deg, #0a4a6e 0%, #0d6f9a 45%, #17b3d9 100%);
      z-index: 0;
  }


  /* Right-half neural-network texture (Figma Rectangle 1321). Optional asset:
               until clients-bg.jpg is exported the base navy shows. */

  .clients::after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      width: 50.4%;
      background-image: url("../images/world_class_bg.png");
      background-position: center;
      background-size: cover;
      background-repeat: no-repeat;
      z-index: 0;
      pointer-events: none;
  }

  .clients>* {
      position: relative;
      z-index: 1;
  }

  .clients-stage {
      position: relative;
      z-index: 1;
      width: 100%;
      aspect-ratio: 1920 / 820;
      height: 100%;
  }

  .clients-stage .globe-wrap {
      position: absolute;
      left: 34.43%;
      /* 661/1920 */
      top: 9.69%;
      /* 72/743 */
      width: 31.25%;
      /* 600/1920 */
      max-width: none;
      margin: 0;
      z-index: 1;
  }

  .clients-left {
      position: absolute;
      /*left: 6.61%;*/
      /* 127/1920 */
      /*top: 23.82%;*/
      /* 177/743 */
      width: 43.6%;
      /* 837/1920 */
      padding: 5%;
      width: 49.6%;
      z-index: 2;
  }

  .clients-title {
      font-size: 72px;
      font-weight: 700;
      line-height: 40px !important;
      text-transform: capitalize;
      margin-bottom: 0.35em;
      color: #fff;
      text-shadow: 1px 1px black;
      display: block;
      margin-bottom: 0.3em;
      font-size: 45px;
      line-height: 1 !important;
  }

  .clients-title .world {
      font-family: "Abril Fatface", serif;
      font-weight: 400;
      color: #fff;
      text-transform: capitalize;
  }

  .clients-title .dot {
      font-family: "Abhaya Libre", serif;
      font-weight: 700;
  }


  /* Design clamps the copy to two lines with an ellipsis (Figma 73:282). */

  .clients-copy {
      font-size: 24px;
      font-weight: 500;
      line-height: 1.62;
      text-transform: capitalize;
      margin-bottom: 1.9em;
      max-width: 733px;
      display: -webkit-box;
      -webkit-line-clamp: 5;
      -webkit-box-orient: vertical;
      color: #fff;
      overflow: hidden;
      text-shadow: 1px 1px black;
  }

  .clients-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 22px;
  }


  /* Staggered chips around the globe's right side (Figma 73:294) */

  .clients-chips {
      position: absolute;
      inset: 0;
      z-index: 2;
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      padding-top: 86px;
      gap: 17px;
      pointer-events: none;
  }

  .client-chip {
      align-self: flex-start;
      margin-left: calc(var(--chip-x, 1155) / 1920 * 100%);
      width: auto;
      height: 56px;
      display: flex;
      align-items: center;
      gap: 18px;
      padding: 0 24px;
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.06);
      border-radius: 6px;
      backdrop-filter: blur(3px);
      -webkit-backdrop-filter: blur(3px);
  }

  .client-chip .dot {
      flex-shrink: 0;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background: #0ce3ff;
  }

  .client-chip span:not(.dot) {
      font-size: 17px;
      font-weight: 700;
      color: #fff;
      text-transform: capitalize;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
  }

  .btn-white {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 32px;
      background: #fff;
      color: var(--rs-blue-deep) !important;
      text-decoration: none;
      font-size: 1.5rem;
      font-weight: 600;
      text-transform: capitalize;
      padding: 16px 22px;
      border-radius: var(--rs-radius-sm);
      border: 0;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
  }

  .btn-white:hover {
      color: var(--rs-blue-deep);
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  }

  .btn-glass {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 32px;
      background: rgba(15, 192, 227, 0.32);
      color: #fff !important;
      text-decoration: none;
      font-size: 1.5rem;
      font-weight: 600;
      text-transform: capitalize;
      padding: 16px 22px;
      border-radius: var(--rs-radius-sm);
      border: 0;
      transition: transform 0.2s ease, background 0.2s ease;
  }

  .btn-glass:hover {
      color: #fff;
      background: rgba(15, 192, 227, 0.5);
      transform: translateY(-2px);
  }

  .btn-white .icon-mask,
  .btn-glass .icon-mask {
      width: 24px;
      height: 24px;
      -webkit-mask-image: url("../images/external-link.png");
      mask-image: url("../images/external-link.png");
  }

  .btn-white .icon-mask {
      background-color: var(--rs-blue-deep);
  }

  .globe-wrap {
      position: relative;
      max-width: 540px;
      margin: 0 auto;
      border-radius: 50%;
      overflow: hidden;
      aspect-ratio: 1;
      /* Outer glow — soft white halo plus offset cyan bloom. */
      box-shadow: 0 0 36px rgba(9, 198, 255, 0.5), 0 2px 18px rgba(255, 243, 243, 0.3), 12px 12px 44px rgba(69, 199, 255, 0.55);
  }


  /* Inner rim glows sit on an overlay so they render above the photo
               (inset box-shadows on the wrap itself would paint underneath it). */

  .globe-wrap::after {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: 50%;
      pointer-events: none;
      box-shadow: inset -46px 2px 86px rgba(5, 86, 167, 0.24), inset 82px 1px 102px rgba(6, 189, 255, 0.64), inset -12px -12px 64px #011f2c, inset 12px 12px 42px rgba(60, 153, 246, 0.66);
  }

  .globe-wrap img {
      width: 140%;
      max-width: none;
      height: 100%;
      object-fit: cover;
      margin-left: -20%;
  }


  /* ---------- Artists ---------- */


  /* ---------- Artists & Labels (Figma 50:490) ----------
               Art-directed full-bleed section. Desktop positions everything in vw so the
               1920-wide composition scales with the viewport; below 992px it stacks. */

  .artists {
      position: relative;
      overflow: hidden;
      background: var(--rs-navy);
  }

  .artists-stage {
      position: relative;
      width: 100%;
      aspect-ratio: 1920 / 795;
      overflow: hidden;
      isolation: isolate;
      height: 100%;
  }


  /* Full-bleed background with cyan wash (50:491) */

  .artists-stage::before {
      content: "";
      position: absolute;
      inset: 0;
      background: url("../images/artists-stage-bg.jpg") center / cover no-repeat;
      z-index: 0;
  }

  .artists-stage::after {
      content: "";
      position: absolute;
      inset: 0;
      background: rgba(6, 213, 224, 0.48);
      z-index: 1;
  }


  /* Arch window showing the un-tinted photo (50:492) */

  .artists-arch {
      position: absolute;
      left: 20.16%;
      top: 12.58%;
      width: 61.53%;
      height: 98.42%;
      overflow: hidden;
      border-radius: 888px 888px 0 0;
      z-index: 2;
  }

  .artists-arch img {
      position: absolute;
      /* left: -31.27%; */
      /* top: -43.73%; */
      /* width: 167.75%; */
      /* height: 168.95%; */
      width: 100%;
      height: 100%;
      max-width: none;
  }

  .artists-features {
      position: absolute;
      left: -70px;
      top: 16.1%;
      /* 128/795 */
      z-index: 3;
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: calc(22 / 1920 * 100vw);
  }


  /* Frosted-glass pills (Figma 73:319) */

  .feature-pill {
      align-self: flex-start;
      margin-left: calc(var(--pill-indent, 0) / 1920 * min(100vw, 1920px));
      height: 64px;
      display: flex;
      align-items: center;
      gap: 18px;
      padding: 0 24px;
      background: rgba(255, 255, 255, 0.16);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      border-radius: 999px;
  }

  .feature-pill span:not(.dot) {
      font-family: "Roboto", sans-serif;
      font-weight: 700;
      font-size: 20px;
      line-height: 1.55;
      color: #fff;
      white-space: nowrap;
  }


  /* "Music Since 2011" sits apart on the right of the arch — Figma 73:334 */

  .artists-features--right {
      left: auto;
      right: 22.66%;
      /* (1920-1194-291)/1920 */
      top: 18.11%;
      /* 144/795 */
  }

  .feature-pill .dot {
      flex-shrink: 0;
      width: calc(16 / 1920 * 100vw);
      height: calc(16 / 1920 * 100vw);
      border-radius: 50%;
      background: #17aaff;
  }

  .artists-headline {
      position: absolute;
      right: 3%;
      top: 58.5%;
      /* centre 465/795 */
      transform: translateY(-50%);
      z-index: 3;
      margin: 0;
      text-align: right;
      font-family: "Roboto", sans-serif;
      font-weight: 600;
      font-size: 112px;
      line-height: 105px !important;
      letter-spacing: 0.01em;
      color: #fff;
  }

  .artists-headline .welcome {
      font-family: "Righteous", sans-serif;
      font-weight: 400;
      color: #fff;
      line-height: 105px !important;
  }

  .client-title-image {
      display: flex;
      justify-content: center;
      align-items: center;
  }

  .brandName {
      text-align: center;
      justify-content: center;
  }

  .artists-actions {
      position: absolute;
      left: 50%;
      bottom: 4.8%;
      /* 38/795 */
      transform: translateX(-50%);
      z-index: 3;
      display: flex;
      gap: calc(34 / 1920 * 100vw);
  }

  .artists-actions .btn-white,
  .artists-actions .btn-glass {
      padding: 16px 22px;
      gap: 32px;
      font-size: 24px;
      white-space: nowrap;
  }

  .artists-actions .btn-white {
      color: #0077bd;
      border-radius: 8px;
  }

  .artists-actions .btn-white .icon-mask {
      background-color: #0077bd;
      -webkit-mask-image: url("../images/open-in-new.png");
      mask-image: url("../images/open-in-new.png");
  }

  .artists-actions .btn-glass {
      background: rgba(23, 170, 255, 0.24);
      border-radius: 12px;
  }

  .artists-actions .btn-glass .icon-mask {
      width: calc(32 / 1920 * 100vw);
      height: calc(32 / 1920 * 100vw);
      -webkit-mask-image: url("../images/arrow-forward.png");
      mask-image: url("../images/arrow-forward.png");
  }

  @media (max-width: 1199.98px) {
      .mobile-reverse {
          flex-direction: row-reverse;
      }
      .btn-register,
      .btn-white,
      .btn-glass {
          font-size: 1.125rem;
          gap: 1rem;
      }
      .industry-card {
          flex: 0 0 240px;
          width: 240px;
          height: 480px;
      }
      .industry-card h3 {
          font-size: 1.25rem;
      }
      .about-hero-stage {
          aspect-ratio: 402 / 229;
          min-height: 0;
          display: block;
          padding: 0;
      }
      .about-hero-panel {
          display: block;
          left: 0;
          top: 0;
          width: 33.8%;
          /* 136/402 */
          height: 100%;
      }
      .about-hero-title {
          margin: 0 57px;
          align-items: center;
          display: flex;
          position: absolute;
          inset: 0;
          left: 0px;
          transform: none;
          z-index: 2;
          /* padding: calc(69 / 402 * 100%) 0 0 calc(39 / 402 * 100%); */
          font-size: calc(42 / 402 * 100vw);
          line-height: calc(42 / 402 * 100vw) !important;
          white-space: normal;
          text-shadow: none;
      }
      .about-hero-title--knockout {
          display: block;
          z-index: 3;
          /* color: transparent; */
          -webkit-text-stroke: 0;
          background: url("../images/about-hero-bg.jpg") center / cover no-repeat;
          -webkit-background-clip: text;
          background-clip: text;
          /* show only the glyphs over the panel (left 33.8%) */
          /* clip-path: inset(0 66.2% 0 -2%); */
      }
      /* Clients — art-directed mobile (Figma 74:447, 402x288): globe centre,
                 heading/copy/buttons on the left, chips scattered over the globe's right. */
      .clients-stage {
          aspect-ratio: 402 / 288;
          display: block;
          padding: 0;
          height: 50%;
          max-height: 550px;
      }
      .clients {
          height: auto !important;
      }
      .artists {
          /* height: 52%; */
          height: 44%;
      }
      .clients::before {
          width: 100%;
      }
      .clients::after {
          display: none;
      }
      .clients-stage .globe-wrap {
          position: absolute;
          left: 25.1%;
          /* top: 15.3%;
          width: 49.8%; */
          top:13.3%;
          width: 39.9%;
          max-width: none;
          margin: 0;
          z-index: 1;
      }
      .clients-left {
          position: absolute;
          left: 5%;
          top: 22.6%;
          width: 48%;
          z-index: 2;
      }
      .clients-left {
          position: absolute;
          left: 3%;
          top: 13.6%;
          width: 52%;
          z-index: 2;
      }
      .clients-title {
          display: block;
          margin-bottom: 0.3em;
          font-size: 40px;
          line-height: 1 !important;
      }
      .clients-copy {
          font-size: clamp(7px, 2.4vw, 15px);
          line-height: 1.35;
          /* margin-bottom: 0.6em; */
          margin-bottom: 1.6em;
          -webkit-line-clamp: 3;
      }
      .clients-actions {
          gap: calc(6 / 402 * 100vw) !important;
      }
      .clients-actions .btn-white,
      .clients-actions .btn-glass {
          padding: calc(4 / 402 * 100vw) calc(10 / 402 * 100vw);
          gap: calc(6 / 402 * 100vw);
          font-size: clamp(8px, 2.35vw, 14px);
      }
      .clients-actions .btn-white .icon-mask,
      .clients-actions .btn-glass .icon-mask {
          width: clamp(9px, 2.6vw, 18px);
          height: clamp(9px, 2.6vw, 18px);
      }
      /* .clients-chips {
                position: absolute;
                inset: 0;
                padding: 0;
                z-index: 3;
                pointer-events: auto;
              } */
      .client-chip {
          position: absolute;
          margin: 0;
          width: auto;
          height: auto;
          gap: calc(5 / 402 * 100vw);
          padding: calc(3 / 402 * 100vw) calc(8 / 402 * 100vw);
      }
      .client-chip .dot {
          width: clamp(4px, 1.3vw, 9px);
          height: clamp(4px, 1.3vw, 9px);
      }
      .client-chip span:not(.dot) {
          font-size: clamp(6.5px, 1.85vw, 12px);
          white-space: nowrap;
      }
      /* Figma 74:447 chip positions (x%,y% of 402x288) */
      .clients-chips .client-chip:nth-child(1) {
          left: 71.1%;
          top: 46.5%;
      }
      .clients-chips .client-chip:nth-child(2) {
          left: 62.4%;
          top: 24.3%;
      }
      .clients-chips .client-chip:nth-child(3) {
          left: 68.2%;
          top: 35.4%;
      }
      .clients-chips .client-chip:nth-child(4) {
          left: 58.5%;
          top: 13.2%;
      }
      .clients-chips .client-chip:nth-child(5) {
          left: 61.9%;
          top: 68.8%;
      }
      .clients-chips .client-chip:nth-child(6) {
          left: 57%;
          top: 78.8%;
      }
      .clients-chips .client-chip:nth-child(7) {
          left: 68.2%;
          top: 57.6%;
      }
      /* Artists — art-directed mobile, scattered chips over the dancer.
                 Positions are % of the 402x215 Figma frame (74:532). */
      .artists-stage {
          aspect-ratio: 402 / 215;
          display: block;
          padding: 0;
      }
      /* Radial wash: clear centre so the vivid dancer shows (like the design's arch
                 window, Figma 74:538), cyan tint toward the edges. Replaces the flat 0.48
                 overlay that washed the whole thing pale on mobile. */
      .artists-stage::after {
          background: radial-gradient( 82% 78% at 50% 47%, rgba(6, 213, 224, 0.04) 22%, rgba(6, 213, 224, 0.5) 100%);
      }
      /* .artists-arch {
                display: none;
              } */
      .industries-right {
          backdrop-filter: none;
          width: calc(100% - 37%);
      }
      .artists-features,
      .artists-features--right {
          position: absolute;
          inset: 0;
          margin: 0;
          padding: 0;
          display: block;
          gap: 0;
          z-index: 3;
      }
      .feature-pill {
          position: absolute;
          margin: 0;
          height: auto;
          gap: calc(5 / 402 * 100vw);
          padding: calc(2.5 / 402 * 100vw) calc(7 / 402 * 100vw);
          border-radius: 999px;
      }
      .feature-pill span:not(.dot) {
          font-size: clamp(6.5px, 1.8vw, 12px);
          line-height: 1.3;
          white-space: nowrap;
      }
      .feature-pill .dot {
          width: clamp(4px, 1.3vw, 9px);
          height: clamp(4px, 1.3vw, 9px);
      }
      /* Figma 74:532 chip positions (x%,y% of 402x215) */
      .artists-features:not(.artists-features--right) .feature-pill:nth-child(1) {
          left: 15.7%;
          top: 22.8%;
      }
      .artists-features:not(.artists-features--right) .feature-pill:nth-child(2) {
          left: 5.7%;
          top: 38.1%;
      }
      .artists-features:not(.artists-features--right) .feature-pill:nth-child(3) {
          left: 0.7%;
          top: 68.8%;
      }
      .artists-features:not(.artists-features--right) .feature-pill:nth-child(4) {
          left: 61%;
          top: 24.2%;
      }
      .artists-features:not(.artists-features--right) .feature-pill:nth-child(5) {
          left: 55.5%;
          top: 11.2%;
      }
      .artists-features--right .feature-pill {
          left: 4%;
          top: 53.5%;
      }
      .artists-features--right .feature-pill.mobile-reverse {
          flex-direction: row !important;
      }
      .feature-pill.mobile-reverse {
          flex-direction: row !important;
      }
      .artists-headline {
          position: absolute;
          left: auto;
          right: 4%;
          top: 40.5%;
          transform: none;
          text-align: right;
          font-size: clamp(1.25rem, 6vw, 3rem);
          line-height: 1.1 !important;
          z-index: 3;
      }
      .artists-headline .welcome {
          line-height: 1.1 !important;
      }
      .artists-actions {
          position: absolute;
          left: 21.3%;
          bottom: 7%;
          transform: none;
          justify-content: flex-start;
          gap: calc(6 / 402 * 100vw);
          z-index: 3;
      }
      .artists-actions .btn-white,
      .artists-actions .btn-glass {
          padding: calc(4 / 402 * 100vw) calc(10 / 402 * 100vw);
          gap: calc(6 / 402 * 100vw);
          font-size: clamp(8px, 2.35vw, 14px);
      }
      .artists-actions .btn-white .icon-mask,
      .artists-actions .btn-glass .icon-mask {
          width: clamp(9px, 2.6vw, 18px);
          height: clamp(9px, 2.6vw, 18px);
      }
  }

  @media (max-width: 991.98px) {
      .industries {
          background: #0a141d url("../images/about-industries-bg.jpg") center / cover no-repeat;
      }
      .industries::before {
          display: none;
      }
      .industries-inner {
          padding: 0;
      }
      .industries-title {
          white-space: normal;
      }
      .industries-body {
          flex-direction: column;
          /* Base rule's align-items: flex-start would size the carousel to its
                   content (~1180px) in column direction, pushing the nav arrows offscreen. */
          align-items: stretch;
          gap: 0;
      }
      .industries-left,
      .industries-right {
          flex: 0 0 auto;
          width: 100%;
          padding: 0;
      }
      /* Frosted-glass panel over the heading/copy/button (Figma 74:384). */
      .industries-left {
          background: rgba(255, 255, 255, 0.22);
          -webkit-backdrop-filter: blur(42px);
          backdrop-filter: blur(42px);
          padding: 24px clamp(1.25rem, 6vw, 25px) 30px;
      }
      .industries-left-inner {
          width: 100%;
          max-width: unset;
      }
      /* "Served" rejoins "Industries" as one stacked heading on mobile. */
      .industries-title--served {
          display: none;
      }
      .industries-left .industries-title::after {
          content: " Served";
          color: #fff;
      }
      .industries-title {
          font-size: clamp(1.6rem, 8.2vw, 2.25rem);
          /* ~33px @402 */
          margin: 0 0 0.55rem;
      }
      .underline-bar {
          margin-bottom: 0.85rem;
      }
      .industries-copy {
          max-width: 100%;
          font-size: clamp(12px, 3.4vw, 16px);
          line-height: 1.4;
          margin-bottom: 1rem;
      }
      .btn-register {
          font-size: clamp(0.8rem, 3.4vw, 1.1rem);
          padding: 10px 22px;
      }
      .btn-register .icon-mask {
          width: 20px;
          height: 20px;
      }
      .industry-carousel-wrap {
          margin-top: 1.25rem;
      }
      .globe-wrap {
          margin-top: 2rem;
          max-width: 400px;
      }
  }

  @media (max-width: 767.98px) {
      .service-streaming-hw2-figure {
          display: none;
      }
      .clients-actions {
          gap: 1rem;
      }
      .btn-white,
      .btn-glass {
          width: 100%;
      }
      .industry-card {
          flex: 0 0 220px;
          width: 220px;
          height: 400px;
          padding: 24px 14px;
      }
  }


  /* ============================================================
               Industries Served page (merged from industries.css)
               ============================================================ */

  .ind-hero {
      position: relative;
      overflow: hidden;
      /* Business photo, with a blue gradient over the left/text side. */
      background: url("../images/industries-hero-bg.jpg") center / cover no-repeat;
      padding: clamp(3rem, 0vw, 6rem) clamp(1.5rem, 5vw, 90px);
      padding-top: 60px !important;
      padding-bottom: 0px !important;
  }


  /* Frosted glass panel behind the wordmark (design decoration). */


  /* .ind-hero::before {
                content: "";
                position: absolute;
                left: 34%;
                top: 0;
                width: 32%;
                height: 100%;
                background: rgba(120, 200, 255, 0.12);
                -webkit-backdrop-filter: blur(2px);
                backdrop-filter: blur(2px);
                pointer-events: none;
              } */

  .ind-hero-inner {
      position: relative;
      max-width: 1600px;
      margin: 0 auto;
      min-height: 0px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      margin-bottom: 30px;
  }


  /* Huge faint "Industries" word behind the heading (Figma 101:282). */

  .ind-hero-ghost {
      position: absolute;
      left: -0.03em;
      top: 17.5%;
      transform: translateY(-58%);
      z-index: 0;
      font-family: "Poppins", sans-serif;
      font-weight: 700;
      font-size: 184px;
      line-height: 0.9;
      letter-spacing: -0.02em;
      color: rgba(102, 207, 255, 0.46);
      pointer-events: none;
      white-space: nowrap;
  }

  .ind-hero-title {
      position: relative;
      z-index: 1;
      margin: 0 0 0;
      font-family: "Poppins", sans-serif;
      font-weight: 700;
      font-size: clamp(2.25rem, 5vw, 90px);
      line-height: 1.05;
      color: #fff;
  }

  .ind-hero-sub {
      position: relative;
      z-index: 1;
      max-width: 1120px;
      margin: 0;
      font-size: 18px;
      width: 873px;
      line-height: 1.55;
      color: rgba(255, 255, 255, 0.92);
      margin-bottom: 00px;
      text-shadow: 1px 1px black;
  }

  .ind-hero-arrow {
      position: relative;
      z-index: 1;
      display: inline-flex;
      align-items: center;
      margin-top: clamp(1.25rem, 2.5vw, 2.5rem);
      color: #fff;
      transition: transform 0.2s ease, color 0.2s ease;
  }

  .ind-hero-arrow svg {
      width: clamp(40px, 4vw, 56px);
      height: auto;
      color: #fff;
  }

  .ind-hero-arrow:hover {
      color: var(--rs-cyan, #09c6ff);
      transform: translateX(4px);
  }


  /* ---------- Industry rows ---------- */

  .ind-rows {
      background: var(--rs-navy, #024166);
  }

  .ind-row {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      display: grid;
      grid-template-columns: 40% 60%;
      align-items: stretch;
      min-height: 0px;
      /* Blue-tinted store scene, baked into the image (Figma Rectangle 1343). */
      background: #0a3a5c url("../images/retail_combine.png") center / cover no-repeat;
  }


  /* Vivid full-colour subject over the blue background, anchored to the
                 featured side (Figma image 2253) — the mannequins "pop" in colour. */

  .ind-row-photo {
      position: absolute;
      z-index: 0;
      left: 37%;
      right: auto;
      bottom: 0;
      height: 100%;
      width: auto;
      max-width: 66%;
      object-fit: contain;
      object-position: bottom center;
      pointer-events: none;
  }


  /* Subtle darkening on the featured edge so the white text reads. */

  .ind-row::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      background: linear-gradient( 90deg, rgba(6, 32, 50, 0) 52%, rgba(6, 32, 50, 0.55) 100%);
      pointer-events: none;
  }

  .ind-row--reverse {
      grid-template-columns: 60% 40%;
  }

  .ind-row--reverse .ind-row-photo {
      left: auto;
      right: 22%;
      object-position: bottom center;
  }

  .ind-row--reverse::after {
      background: linear-gradient( 270deg, rgba(6, 32, 50, 0) 52%, rgba(6, 32, 50, 0.55) 100%);
  }


  /* Fitness & wellness uses its dedicated photo pair. The background is sized
                 as a single scene and the transparent foreground subject sits over it. */

  .ind-row--fitness {
      /* grid-template-columns: 69.2% 30.8%; */
      min-height: 0px;
      background-image: url("../images/fitness_combine.png");
  }

  .ind-row--fitness .ind-row-photo {
      left: 404px;
      right: auto;
      width: auto;
      max-width: none;
      height: 100%;
  }

  .ind-row--fitness::after {
      background: none;
  }

  .ind-row--fitness .ind-feature {
      justify-content: flex-start;
      padding-top: clamp(3rem, 7vw, 7rem);
  }

  .ind-row--fitness .ind-feature-title {
      text-transform: none;
  }

  .ind-row--fitness .ind-readmore {
      gap: 0.5rem;
      padding: 7px 16px;
      border: 0;
      border-radius: 3px;
      font-size: 0.875rem;
  }

  .ind-row--fitness .ind-readmore svg {
      width: 22px;
  }

  .ind-row--fitness .ind-card {
      align-items: flex-end;
      text-align: right;
  }

  .ind-row--fitness .ind-card:nth-child(even) h3::before {
      margin-left: auto;
  }


  /* Restaurants & dining mirrors the supplied scene: its panel rail is on the
                 left and the full-colour service staff sit over the right-hand background. */

  .ind-row--dining {
      /* grid-template-columns: 30.8% 69.2%; */
      min-height: 0px;
      background-image: url("../images/dining_combine.png");
  }

  .ind-row--dining .ind-row-photo {
      left: auto;
      right: 0;
      width: auto;
      max-width: none;
      height: 100%;
  }

  .ind-row--dining::after {
      background: none;
  }

  .ind-row--dining .ind-feature {
      align-items: flex-start;
      justify-content: flex-start;
      padding-top: clamp(3rem, 7vw, 7rem);
      padding-left: clamp(2.5rem, 5vw, 6rem);
      text-align: left;
  }

  .ind-row--dining .ind-readmore {
      gap: 0.5rem;
      padding: 7px 16px;
      border: 0;
      border-radius: 3px;
      font-size: 0.875rem;
  }

  .ind-row--dining .ind-readmore svg {
      width: 22px;
  }

  .ind-row--dining .ind-card:first-child {
      background: rgba(255, 255, 255, 0.01);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
  }

  .ind-row--dining .ind-card:first-child h3 {
      color: #fff;
  }

  .ind-row--dining .ind-card:first-child h3::before {
      content: "";
      display: block;
      width: 72px;
      height: 5px;
      margin-bottom: 0.9rem;
      border-radius: 4px;
      background: var(--rs-cyan, #09c6ff);
  }

  .ind-row--dining .ind-card:first-child p {
      color: rgba(255, 255, 255, 0.9);
  }

  .ind-row--dining .ind-card:nth-child(2) {
      background: #fff;
      -webkit-backdrop-filter: none;
      backdrop-filter: none;
  }

  .ind-row--dining .ind-card:nth-child(2) h3 {
      color: #3888b0;
  }

  .ind-row--dining .ind-card:nth-child(2) h3::before {
      display: none;
  }

  .radius-bl {
      border-radius: 0 0 0 12px;
  }

  .radius-tl {
      border-radius: 12px 0 0 0;
  }

  .radius-br {
      border-radius: 0 0 12px 0;
  }

  .radius-tr {
      border-radius: 0 12px 0 0;
  }

  .radius-left {
      border-radius: 12px 0 0 12px;
  }

  .radius-right {
      border-radius: 0 12px 12px 0;
  }

  .ind-row--dining .ind-card:nth-child(2) p {
      color: #383b3c;
  }


  /* Keep the fitness cutout within the photo area. Its transparent canvas is
                 intentionally wider than the left 69.2% column, so clipping avoids hair
                 and the mat spilling over the white information panels. */

  .ind-row--fitness .ind-row-photo {
      z-index: 50;
  }

  .ind-row--fitness .ind-cards {
      z-index: 2;
  }


  /* Reference buttons are compact rectangular controls rather than the shared
                 pill-shaped CTA used by the other industry rows. */

  .ind-row--fitness .ind-readmore,
  .ind-row--dining .ind-readmore {
      width: 128px;
      height: 30px;
      min-height: 30px;
      justify-content: center;
      gap: 8px;
      padding: 0 10px;
      border-radius: 3px;
      font-size: 13px;
      line-height: 1;
  }


  /* keep the featured column first visually on reverse rows */

  .ind-row--reverse .ind-feature {
      order: -1;
  }


  /* ---------- Text cards ---------- */

  .ind-cards {
      position: relative;
      z-index: 1;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 1px;
  }


  /* Cards alternate white panel / transparent (Figma 101:294/300/306).
                 flex: 1 makes all three equal height and fill the row top-to-bottom. */

  .ind-card {
      flex: 1 1 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: clamp(1.4rem, 2.6vw, 2.6rem) clamp(1.5rem, 3vw, 42px);
      background: #fff;
      padding-top: 10px !important;
      padding-bottom: 10px !important;
      max-height: 230px;
      min-height: 230px;
      border-radius: 0px 10px 10px 0px;
  }

  .ind-row--reverse .ind-card {
      border-radius: 10px 0px 0px 10px;
  }

  .ind-card:nth-child(even) {
      background: rgba(255, 255, 255, 0.01);
      backdrop-filter: blur(10px);
  }

  .ind-card h3 {
      margin: 0 0 0.5rem;
      font-family: "Poppins", sans-serif;
      font-weight: 700;
      font-size: clamp(1.25rem, 1.7vw, 2rem);
      letter-spacing: 0.01em;
      text-transform: capitalize;
      color: #3888b0;
  }

  .ind-card p {
      margin: 0;
      font-size: clamp(0.95rem, 1vw, 1.125rem);
      line-height: 1.5;
      color: #383b3c;
      max-width: 34ch;
  }


  /* Transparent cards sit on the blue scene → light text + accent bar. */

  .ind-card:nth-child(even) h3 {
      color: #fff;
  }

  .ind-card:nth-child(even) h3::before {
      content: "";
      display: block;
      width: 72px;
      height: 5px;
      margin-bottom: 0.9rem;
      border-radius: 4px;
      background: var(--rs-cyan, #09c6ff);
  }

  .ind-card:nth-child(even) p {
      color: rgba(255, 255, 255, 0.9);
  }


  /* ---------- Featured card ----------
                 Sits on the far side (right on normal rows, left on reverse); the vivid
                 subject fills the centre between the cards and this text. */

  .ind-feature {
      position: relative;
      z-index: 1;
      padding: clamp(1.5rem, 4vw, 4rem) clamp(1.5rem, 4vw, 5rem);
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: center;
      min-height: 100%;
      color: #fff;
      text-align: right;
      z-index: 100;
  }

  .ind-row--reverse .ind-feature {
      align-items: flex-start;
      text-align: left;
      justify-content: center;
  }

  .ind-feature-title {
      margin: 0 0 0.4em;
      font-family: "Poppins", sans-serif;
      font-weight: 700;
      font-size: clamp(2.5rem, 5.5vw, 86px);
      line-height: 0.95 !important;
      /* line-height: 1.3 !important; */
      text-transform: capitalize;
      color: #fff;
      width: 473px;
  }

  .ind-feature-desc {
      margin: 0 0 1.5rem;
      max-width: 30ch;
      font-size: clamp(1rem, 1.15vw, 1.25rem);
      line-height: 1.5;
      color: rgba(255, 255, 255, 0.92);
  }

  .ind-readmore {
      display: inline-flex;
      align-items: center;
      gap: 1rem;
      padding: 14px 26px;
      border-radius: 40px;
      background: rgba(255, 255, 255, 0.14);
      border: 1px solid rgba(255, 255, 255, 0.35);
      -webkit-backdrop-filter: blur(6px);
      backdrop-filter: blur(6px);
      color: #fff !important;
      font-family: "Roboto", sans-serif;
      font-weight: 600;
      font-size: clamp(1rem, 1.25vw, 1.5rem);
      transition: background 0.2s ease, transform 0.2s ease;
      text-decoration: none !important;
  }

  .ind-readmore:hover {
      color: #fff;
      background: rgba(255, 255, 255, 0.24);
      transform: translateY(-2px);
  }

  .ind-readmore svg {
      width: clamp(26px, 2.2vw, 38px);
      height: auto;
  }


  /* ---------- Responsive ---------- */

  @media (max-width: 991.98px) {
      .ind-hero {
          padding: clamp(3rem, 8vw, 4.5rem) clamp(1.25rem, 5vw, 3rem);
      }
      .ind-hero-inner {
          min-height: 300px;
      }
      .ind-hero-title {
          font-size: clamp(2.35rem, 7vw, 4rem);
      }
      .ind-hero-sub {
          max-width: 65ch;
          font-size: 1rem;
      }
      .ind-row,
      .ind-row--reverse,
      .ind-row--fitness,
      .ind-row--dining {
          grid-template-columns: 1fr;
          min-height: 0;
      }
      .ind-row--reverse .ind-feature {
          order: 0;
      }
      /* Stacked: cards first (own background), then the featured photo banner. */
      .ind-cards {
          order: -1;
          background: #f4f9fc;
          z-index: 2;
      }
      /* No row height to fill on mobile, so give the cards a uniform min-height
                   (equal-looking, flush, no top/bottom gap) instead of flex: 1. */
      .ind-card {
          flex: 0 0 auto;
          min-height: clamp(160px, 48vw, 210px);
          padding: clamp(1.5rem, 4vw, 2.5rem);
      }
      /* All cards are the same light panel on mobile — drop the accent bar so the
                   even card matches the others exactly. */
      .ind-card:nth-child(even) {
          background: #f4f9fc;
      }
      .ind-card:nth-child(even) h3 {
          color: #3888b0;
      }
      .ind-card:nth-child(even) h3::before {
          display: none;
      }
      .ind-card:nth-child(even) p {
          color: #383b3c;
      }
      /* The dining row's transparent first panel is desktop-only. On a stacked
                   layout, all cards need the same light surface and dark readable copy. */
      .ind-row--dining .ind-card:first-child {
          background: #f4f9fc;
          -webkit-backdrop-filter: none;
          backdrop-filter: none;
      }
      .ind-row--dining .ind-card:first-child h3 {
          color: #3888b0;
      }
      .ind-row--dining .ind-card:first-child h3::before {
          display: none;
      }
      .ind-row--dining .ind-card:first-child p {
          color: #383b3c;
      }
      .ind-row--fitness .ind-card {
          align-items: flex-start;
          text-align: left;
      }
      .ind-row--fitness .ind-card:nth-child(even) h3::before {
          margin-left: 0;
      }
      .ind-feature {
          justify-content: flex-end;
          min-height: clamp(360px, 52vw, 460px);
          padding: clamp(2rem, 5vw, 3.5rem);
      }
      .ind-row--fitness .ind-feature,
      .ind-row--dining .ind-feature {
          align-items: flex-start;
          justify-content: flex-end;
          padding: clamp(2rem, 5vw, 3.5rem);
          text-align: left;
      }
      .ind-feature-title {
          font-size: clamp(2.4rem, 7vw, 4.5rem);
      }
      .ind-feature-desc {
          font-size: 1rem;
          max-width: 38ch;
      }
      /* The vivid subject fills the featured banner on mobile. */
      .ind-row-photo,
      .ind-row--reverse .ind-row-photo {
          z-index: 0;
          right: 0;
          left: auto;
          max-width: 78%;
          object-position: bottom center;
      }
      .ind-row--fitness .ind-row-photo {
          z-index: 0;
          left: 0;
          right: auto;
          width: auto;
          max-width: none;
          clip-path: none;
      }
      .ind-hero-ghost {
          top: 0;
          transform: none;
          font-size: clamp(4rem, 17vw, 9rem);
      }
      .radius-bl,
      .radius-tl,
      .radius-br,
      .radius-tr {
          border-radius: 0;
      }
  }


  /* Tablets have enough horizontal room to keep the three supporting cards in
                 one compact rail, before the feature image becomes a full-width banner. */

  @media (min-width: 576px) and (max-width: 991.98px) {
      .ind-cards {
          display: grid;
          grid-template-columns: repeat(3, minmax(0, 1fr));
      }
      .ind-card {
          min-height: 230px;
      }
      .ind-card h3 {
          font-size: clamp(1.05rem, 2.25vw, 1.35rem);
      }
      .ind-card p {
          font-size: 0.9rem;
      }
  }

  @media (max-width: 575.98px) {
      .ind-hero {
          padding: 2.75rem 1.25rem;
      }
      .ind-hero-inner {
          min-height: 0;
      }
      .ind-hero-title {
          margin-bottom: 0.65rem;
      }
      .ind-hero-arrow {
          margin-top: 1.25rem;
      }
      .ind-card {
          min-height: 0;
          padding: 1.75rem 1.25rem;
      }
      .ind-card h3 {
          font-size: 1.15rem;
      }
      .ind-card p {
          font-size: 0.94rem;
      }
      .ind-feature,
      .ind-row--fitness .ind-feature,
      .ind-row--dining .ind-feature {
          min-height: 360px;
          padding: 2rem 1.25rem;
      }
      .ind-feature-title {
          font-size: clamp(2.25rem, 12vw, 3.25rem);
      }
      .ind-feature-desc {
          margin-bottom: 1.25rem;
          font-size: 0.94rem;
      }
      .ind-row--fitness .ind-readmore,
      .ind-row--dining .ind-readmore {
          width: 136px;
          height: 42px;
          min-height: 42px;
          font-size: 0.9rem;
      }
  }


  /* Keep tab state authoritative after all responsive card variants. */

  .ind-rows .ind-card[role="tab"]:not(.is-active) {
      background: #fff;
      -webkit-backdrop-filter: none;
      backdrop-filter: none;
  }

  .ind-rows .ind-card[role="tab"]:not(.is-active) h3 {
      color: #04608e;
  }

  .ind-rows .ind-card[role="tab"]:not(.is-active) p {
      color: #383b3c;
  }

  .ind-rows .ind-card[role="tab"]:not(.is-active) h3::before {
      width: 34px;
      height: 3px;
      background: #d0e6f1;
  }

  .ind-rows .ind-card[role="tab"].is-active {
      background: rgba(255, 255, 255, 0.01);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
  }

  .ind-rows .ind-card[role="tab"].is-active h3 {
      color: #fff;
  }

  .ind-rows .ind-card[role="tab"].is-active p {
      color: #cdebff;
  }

  .ind-rows .ind-card[role="tab"].is-active h3::before {
      width: 81px;
      height: 4px;
      background: rgba(175, 228, 255, 0.88);
  }


  /* Interactive industry tabs */

  .ind-card[role="tab"] {
      cursor: pointer;
      outline: 0;
      transition: background-color 180ms ease, box-shadow 180ms ease;
  }

  .ind-card[role="tab"]:focus-visible {
      box-shadow: inset 0 0 0 3px #24bdff;
  }

  .ind-card[role="tab"]:not(.is-active),
  .ind-row--dining .ind-card[role="tab"]:not(.is-active) {
      background: #fff;
      -webkit-backdrop-filter: none;
      backdrop-filter: none;
  }

  .ind-card[role="tab"]:not(.is-active) h3,
  .ind-row--dining .ind-card[role="tab"]:not(.is-active) h3 {
      color: #04608e;
  }

  .ind-card[role="tab"]:not(.is-active) p,
  .ind-row--dining .ind-card[role="tab"]:not(.is-active) p {
      color: #383b3c;
  }

  .ind-card[role="tab"].is-active {
      background: rgba(255, 255, 255, 0.01);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
  }

  .ind-card[role="tab"].is-active h3,
  .ind-row--dining .ind-card[role="tab"].is-active h3 {
      color: #fff;
  }

  .ind-card[role="tab"].is-active p,
  .ind-row--dining .ind-card[role="tab"].is-active p {
      color: #cdebff;
  }

  .ind-card[role="tab"].is-active h3::before {
      width: 81px;
      height: 4px;
      background: rgba(175, 228, 255, 0.88);
  }

  .ind-row-photo {
      transition: opacity 180ms ease, transform 240ms ease;
  }

  .ind-row--switching .ind-row-photo {
      animation: ind-photo-reveal 300ms ease both;
  }

  @keyframes ind-photo-reveal {
      from {
          opacity: 0;
          transform: translateY(8px);
      }
      to {
          opacity: 1;
          transform: translateY(0);
      }
  }

  @media (prefers-reduced-motion: reduce) {
      .ind-card[role="tab"],
      .ind-row-photo {
          transition: none;
      }
      .ind-row--switching .ind-row-photo {
          animation: none;
      }
  }


  /* Keep every industry-row CTA consistent, regardless of its row variant or
                 viewport. */

  .ind-rows .ind-readmore,
  .ind-rows .ind-row--fitness .ind-readmore,
  .ind-rows .ind-row--dining .ind-readmore {
      width: auto;
      height: auto;
      min-height: 0;
      gap: 10px;
      padding: 12px 20px;
      border: 0;
      border-radius: 3px;
      font-size: 24px;
      line-height: 1;
  }

  .ind-rows .ind-readmore svg {
      width: 30px;
  }


  /* Every card heading has the same subtle line above it. Variant rules above
                 only change card colours; they no longer remove this visual marker. */

  .ind-rows .ind-card h3::before,
  .ind-rows .ind-card:nth-child(even) h3::before,
  .ind-rows .ind-row--dining .ind-card:first-child h3::before,
  .ind-rows .ind-row--dining .ind-card:nth-child(2) h3::before {
      content: "";
      display: block;
      width: 72px;
      height: 2px;
      margin-bottom: 12px;
      border-radius: 0;
      background: #b7dff0;
  }

  .ind-rows .ind-row--fitness .ind-card:nth-child(even) h3::before {
      margin-left: auto;
  }

  @media (max-width: 991.98px) {
      .ind-rows .ind-row--fitness .ind-card:nth-child(even) h3::before {
          margin-left: 0;
      }
  }


  /* Figma 1220:2927 — responsive Industries page
                 The mobile artwork is intentionally a two-column composition rather than
                 the former card-first stack. Values are based on the 402px reference frame
                 and scale fluidly through tablet widths. */

  @media (max-width: 991.98px) {
      .ind-hero {
          min-height: clamp(281px, 45vw, 390px);
          padding: 0;
          background-position: center;
      }
      .ind-hero-inner {
          width: min(77%, 620px);
          min-height: clamp(281px, 45vw, 390px);
          /* margin: 0 0 0 11.45%; */
          margin: 0 0 0 7.45% !important;
          padding-top: clamp(126px, 20vw, 174px);
          justify-content: flex-start;
      }
      .ind-hero-ghost {
          left: -0.06em;
          top: clamp(100px, 3.7vw, 34px);
          transform: none;
          font-family: "Roboto", sans-serif;
          font-size: clamp(72px, 11.5vw, 104px);
          line-height: 0.62;
          color: rgba(102, 207, 255, 0.56);
      }
      .ind-hero-title {
          margin: 0 0 7px 3px;
          white-space: nowrap;
          font-family: "Roboto", sans-serif;
          font-size: clamp(32px, 5.1vw, 46px);
          line-height: 0.82;
      }
      .ind-hero-sub {
          display: -webkit-box;
          /* max-width: none; */
          max-width: 100%;
          /* height: clamp(33px, 5.3vw, 48px); */
          margin-left: 3px;
          overflow: hidden;
          font-family: "Roboto", sans-serif;
          font-size: clamp(14px, 1.9vw, 17px);
          font-weight: 500;
          line-height: 1.34;
          text-overflow: ellipsis;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 2;
          text-shadow: unset;
      }
      .ind-description-wrap .ind-read-more {
          font-size: clamp(14px, 1.9vw, 17px);
      }
      .ind-hero-arrow {
          width: clamp(29px, 4.6vw, 42px);
          margin: 5px 0 0 2px;
      }
      .ind-hero-arrow svg {
          width: 100%;
      }
      .ind-row,
      .ind-row--reverse,
      .ind-row--fitness,
      .ind-row--dining {
          --ind-rail: 52%;
          display: grid;
          grid-template-columns: var(--ind-rail) calc(100% - var(--ind-rail));
          grid-template-rows: 1fr;
          height: clamp(385px, 61.5vw, 560px);
          min-height: 0;
          background-position: center;
      }
      .ind-row--reverse {
          grid-template-columns: calc(100% - var(--ind-rail)) var(--ind-rail);
      }
      .ind-row::after,
      .ind-row--reverse::after {
          background: none;
      }
      .ind-cards {
          z-index: 3;
          display: flex;
          grid-column: 1;
          grid-row: 1;
          width: 100%;
          height: 100%;
          order: initial;
          background: transparent;
      }
      .ind-row--reverse .ind-cards {
          grid-column: 2;
      }
      .ind-card,
      .ind-row--fitness .ind-card {
          flex: 1 1 0;
          min-width: 0;
          min-height: 0;
          padding: clamp(20px, 3.2vw, 29px);
          align-items: flex-start;
          justify-content: center;
          text-align: left;
          background: #fff;
      }
      .ind-card:nth-child(even),
      .ind-row--dining .ind-card:first-child {
          background: rgba(255, 255, 255, 0.01);
          -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
      }
      .ind-card h3,
      .ind-card:nth-child(even) h3,
      .ind-row--dining .ind-card:first-child h3 {
          margin-bottom: clamp(6px, 1vw, 9px);
          font-size: clamp(16px, 2.55vw, 23px);
          width: 100%;
          line-height: 1.25;
          color: #04608e;
      }
      .ind-card .gym-header {
          width: 100% !important;
          max-width: none !important;
          white-space: normal !important;
          overflow: visible !important;
          text-overflow: unset !important;
          padding: 0 20px !important;
          margin: 0 !important;
          box-sizing: border-box !important;
          word-break: normal !important;
          overflow-wrap: normal !important;
      }
      .ind-card p,
      .ind-card:nth-child(even) p,
      .ind-row--dining .ind-card:first-child p {
          display: -webkit-box;
          /* max-width: 16em; */
          max-width: 100%;
          max-height: 3.4em;
          overflow: hidden;
          font-size: clamp(10px, 1.6vw, 14px);
          line-height: 1.4;
          color: #383b3c;
          text-overflow: ellipsis;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 2;
      }
      .ind-card:nth-child(even) h3,
      .ind-row--dining .ind-card:first-child h3 {
          color: #fff;
      }
      .ind-card:nth-child(even) p,
      .ind-row--dining .ind-card:first-child p {
          color: #cdebff;
      }
      .ind-rows .ind-card h3::before,
      .ind-rows .ind-card:nth-child(even) h3::before,
      .ind-rows .ind-row--dining .ind-card:first-child h3::before,
      .ind-rows .ind-row--dining .ind-card:nth-child(2) h3::before {
          width: clamp(34px, 5.4vw, 49px);
          height: 3px;
          margin: 0 0 clamp(12px, 1.9vw, 17px);
          background: #d0e6f1;
      }
      .ind-rows .ind-card:nth-child(even) h3::before,
      .ind-rows .ind-row--dining .ind-card:first-child h3::before {
          width: clamp(81px, 12.9vw, 117px);
          height: 4px;
          background: rgba(175, 228, 255, 0.88);
      }
      .ind-card:first-child {
          border-radius: 0 0 12px 0;
      }
      .ind-card:last-child {
          border-radius: 0 12px 0 0;
      }
      .ind-row--reverse .ind-card:first-child {
          border-radius: 0 0 0 12px;
          text-align: end;
      }
      .ind-row--reverse .ind-card:first-child h3 {
          width: 100%;
      }
      .ind-row--reverse .ind-card:last-child {
          border-radius: 12px 0 0 0;
      }
      .ind-feature,
      .ind-row--fitness .ind-feature,
      .ind-row--dining .ind-feature,
      .ind-row--reverse .ind-feature {
          z-index: 2;
          grid-column: 2;
          grid-row: 1;
          justify-content: center !important;
          min-height: 0;
          padding: clamp(11px, 1.8vw, 17px) clamp(9px, 1.5vw, 14px);
          align-items: flex-end;
          justify-content: flex-start;
          order: initial;
          text-align: right;
      }
      .ind-row--reverse .ind-feature {
          grid-column: 1;
          align-items: flex-start;
          padding-left: 9.7%;
          text-align: left;
      }
      .ind-feature-title {
          margin: 0 0 6px;
          font-size: clamp(20px, 3.2vw, 29px);
          line-height: 1.1;
      }
      .ind-feature-desc {
          background: rgba(255, 255, 255, 0.01);
          backdrop-filter: blur(10px);
          display: -webkit-box;
          width: min(100%, 182px);
          max-width: none;
          max-height: 2.5em;
          margin: 0;
          overflow: hidden;
          font-size: clamp(16px, 1.6vw, 14px);
          line-height: 1.2;
          text-overflow: ellipsis;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 2;
      }
      .ind-rows .ind-readmore,
      .ind-rows .ind-row--fitness .ind-readmore,
      .ind-rows .ind-row--dining .ind-readmore {
          width: 100%;
          font-size: 15px;
          height: 20px;
          margin-top: 4px;
          justify-content: end;
          padding: 0;
          overflow: hidden;
          color: transparent;
          background: transparent;
      }
      .ind-rows .ind-readmore svg {
          flex: 0 0 18px;
          width: 100%;
          color: #fff;
          flex: 0 0 15px;
          width: 36%;
          margin-top: 2px;
      }
      .ind-row-photo,
      .ind-row--fitness .ind-row-photo,
      .ind-row--dining .ind-row-photo,
      .ind-row--reverse .ind-row-photo {
          z-index: 1;
          left: var(--ind-rail);
          right: auto;
          bottom: 0;
          width: 54%;
          height: 74%;
          max-width: none;
          object-fit: contain;
          object-position: left bottom;
      }
      .ind-row--reverse .ind-row-photo {
          left: 0;
          right: auto;
          object-position: right bottom;
      }
  }

  @media (max-width: 575.98px) {
      .ind-hero {
          min-height: 281px;
      }
      .ind-hero-inner {
          min-height: 281px;
          padding-top: 133px;
      }
      .ind-hero-inner {
          margin: 0 1px 30px 0.45% !important;
      }
      .ind-row,
      .ind-row--reverse,
      .ind-row--fitness,
      .ind-row--dining {
          height: 385px;
      }
      .ind-card,
      .ind-row--fitness .ind-card {
          padding: 20px;
      }
      .ind-rows .ind-card[role="tab"].is-active h3 {
          padding-right: 12px;
      }
  }


  /* Final tab-state overrides must follow the Figma responsive rules. */

  .ind-rows .ind-card[role="tab"]:not(.is-active) {
      background: #fff;
      -webkit-backdrop-filter: none;
      backdrop-filter: none;
  }

  .ind-rows .ind-card[role="tab"]:not(.is-active) h3 {
      color: #04608e;
  }

  .ind-rows .ind-card[role="tab"]:not(.is-active) p {
      color: #383b3c;
  }

  .ind-rows .ind-card[role="tab"]:not(.is-active) h3::before {
      width: 58px;
      height: 3px;
      background: #d0e6f1;
  }

  .ind-row--reverse .ind-card[role="tab"]:not(.is-active) h3::before {
      margin-left: auto;
      /* width: 111px; */
      width: 76px;
  }

  .ind-row .ind-feature-title {
      text-shadow: 2px 2px black;
      background: rgba(255, 255, 255, 0.01);
      backdrop-filter: blur(10px);
  }

  .ind-rows .ind-card[role="tab"].is-active {
      background: rgba(255, 255, 255, 0.01);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
  }

  .ind-rows .ind-card[role="tab"].is-active h3 {
      color: #fff;
      text-transform: uppercase;
  }

  .ind-rows .ind-card[role="tab"].is-active p {
      color: #cdebff;
  }

  .ind-rows .ind-card[role="tab"].is-active h3::before {
      width: 195px;
      height: 4px;
      background: rgba(175, 228, 255, 0.88);
  }

  .ind-rows .ind-card[role="tab"].is-active .healthWellnessHeader::before {
      margin-left: auto;
  }

  .ind-rows .ind-card[role="tab"].is-active h3.gym-header::before {
      margin-left: auto;
  }


  /* ============================================================
               Clients page — Figma 132:92
               ============================================================ */

  .clients-page {
      background: #1d1c1c;
  }

  .client-main {
      overflow: hidden;
      color: #fff;
      background: radial-gradient( circle at 88% 92%, rgba(21, 166, 249, 0.93), rgba(23, 131, 194, 0.72) 22%, rgba(26, 80, 111, 0.48) 48%, transparent 72%), linear-gradient(180deg, #075d82 0%, #0077a4 42%, #1d1c1c 100%);
  }

  .client-hero {
      position: relative;
      min-height: 0px;
      padding: clamp(80px, 3vw, 136px) max(4vw, calc((100vw - 1740px) / 2));
      padding-top: 35px;
      padding-bottom: 35px;
      background: linear-gradient( 180deg, rgba(0, 103, 155, 0.66) 0%, rgba(0, 35, 53, 0.66) 100%);
  }

  .client-hero-copy {
      position: relative;
      z-index: 2;
      width: min(47%, 760px);
  }

  .client-hero h1 {
      margin: 0 0 20px;
      font-family: "Righteous", sans-serif;
      font-size: clamp(52px, 4.5vw, 84px);
      font-weight: 400;
      line-height: 1;
  }

  .client-hero p {
      max-width: 750px;
      margin: 0;
      font: 500 clamp(16px, 1.2vw, 20px) / 1.45 "Roboto", sans-serif;
      text-transform: capitalize;
      line-height: 1.2 !important;
  }

  .client-logo-row {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      margin-top: 28px;
  }

  .client-logo-row img {
      width: 100%;
      height: 100%;
      object-fit: cover;
  }

  .client-hero-people {
      position: absolute;
      z-index: 1;
      right: -2%;
      bottom: 0;
      width: min(58vw, 1040px);
      max-height: 105%;
      object-fit: contain;
      object-position: right bottom;
  }

  .client-showcase {
      padding: 0 max(3vw, calc((100vw - 1810px) / 2)) clamp(180px, 18vw, 350px);
      background-image: url("../images/client-grid-bg.jpg");
      background-repeat: repeat;
  }

  .client-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 38px 42px;
  }

  .client-card {
      position: relative;
      height: auto;
      /* padding: clamp(42px, 3vw, 64px); */
      padding: clamp(42px, 2vw, 64px);
      border-radius: 2px;
      background: transparent;
  }

  .client-card::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
      background: linear-gradient(#22d7ff, #22d7ff) left top / 80px 3px no-repeat, linear-gradient(#22d7ff, #22d7ff) left top / 3px 80px no-repeat, linear-gradient(#22d7ff, #22d7ff) right top / 80px 3px no-repeat, linear-gradient(#22d7ff, #22d7ff) right top / 3px 80px no-repeat, linear-gradient(#22d7ff, #22d7ff) left bottom / 80px 3px no-repeat, linear-gradient(#22d7ff, #22d7ff) left bottom / 3px 80px no-repeat, linear-gradient(#22d7ff, #22d7ff) right bottom / 80px 3px no-repeat, linear-gradient(#22d7ff, #22d7ff) right bottom / 3px 80px no-repeat;
  }

  .client-card::after {
      content: "";
      position: absolute;
      inset: 12px;
      z-index: 0;
      border-radius: 2px;
      pointer-events: none;
  }

  .client-grid .client-card:nth-child(odd)::after {
      background: linear-gradient(180deg, rgba(0, 0, 0, 0.88) 0%, #0980b2 100%);
  }

  .client-grid .client-card:nth-child(even)::after {
      background: rgba(2, 126, 179, 0.16);
  }

  .client-card>* {
      position: relative;
      z-index: 1;
  }

  .client-card img {
      display: block;
      width: auto;
      height: auto;
      /* margin-bottom: clamp(40px, 3.3vw, 64px); */
      /* object-fit: cover; */
      /* transform: scale(1.4); */
  }

  .client-card h3 {
      margin: 0 0 7px;
      font-size: 32px;
      line-height: 1 !important;
      text-transform: lowercase;
  }

  .client-card h3::first-letter {
      text-transform: uppercase;
  }

  .client-card p {
      display: -webkit-box;
      margin: 0;
      text-align: center;
      overflow: hidden;
      font: 400 clamp(15px, 1.05vw, 20px) / 1.7 "Roboto", sans-serif;
      text-transform: capitalize;
      -webkit-box-orient: vertical !important;
      -webkit-line-clamp: 6 !important;
  }

  .client-card:hover p {
      display: -webkit-box;
      margin: 0;
      overflow: hidden;
      font: 400 clamp(15px, 1.05vw, 20px) / 1.7 "Roboto", sans-serif;
      text-transform: capitalize;
      -webkit-box-orient: vertical !important;
      -webkit-line-clamp: unset !important;
  }

  .client-card img,
  .client-card h3,
  .client-card p {
      transition: opacity 180ms ease, transform 220ms ease;
  }

  .client-card:hover img {
      position: absolute;
      opacity: 0;
      pointer-events: none;
  }

  .client-card:hover .brandName>h3 {
      display: none;
  }

  .client-card:hover .client-card {
      padding: 20px !important;
  }

  .client-card:hover p {
      display: -webkit-box;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 800;
  }

  @media (max-width: 991.98px) {
      .client-hero {
          min-height: 620px;
          padding: 64px 32px;
      }
      .client-hero-copy {
          width: 70%;
      }
      .client-hero-people {
          width: 70%;
          opacity: 0.72;
      }
      .client-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 24px;
      }
      .client-card {
          min-height: 420px;
      }
  }

  @media (max-width: 575.98px) {
      .client-hero {
          min-height: 560px;
          padding: 48px 20px 210px;
      }
      .client-hero-copy {
          width: 100%;
      }
      .client-hero h1 {
          font-size: 44px;
      }
      .client-hero p {
          font-size: 13px;
      }
      .client-logo-row {
          gap: 6px;
      }
      .client-logo-row img {
          height: 58px;
      }
      .client-hero-people {
          right: -18%;
          width: 110%;
          max-height: 270px;
          opacity: 1;
      }
      .client-showcase {
          padding: 0 14px 110px;
      }
      .client-grid {
          grid-template-columns: 1fr;
          gap: 20px;
      }
      .client-card {
          min-height: 390px;
          padding: 38px;
      }
      .client-card img {
          /* margin-bottom: 36px; */
      }
      .client-card h3 {
          font-size: 32px;
      }
  }


  /* Clients responsive refinements */

  @media (min-width: 576px) and (max-width: 991.98px) {
      .client-hero {
          min-height: 560px;
          padding: 56px 32px 240px;
      }
      .client-hero-copy {
          width: min(78%, 660px);
      }
      .client-hero h1 {
          font-size: clamp(52px, 8vw, 72px);
      }
      .client-hero p {
          font-size: 15px;
      }
      .client-logo-row {
          max-width: 620px;
      }
      .client-logo-row img {
          height: clamp(68px, 10vw, 92px);
      }
      .client-hero-people {
          right: -5%;
          width: 68%;
          max-height: 310px;
          opacity: 1;
      }
      .client-showcase {
          padding: 0 24px 150px;
      }
      .client-card {
          min-height: 390px;
          padding: 42px;
      }
      .client-card img {
          width: 170px;
          height: 140px;
          margin-bottom: 34px;
      }
      .client-card h3 {
          font-size: 30px;
      }
      .client-card p {
          font-size: 14px;
          line-height: 1.55;
      }
  }

  @media (min-width: 861px) and (max-width: 1024px) and (hover: none) {
      .asx-scroll-showcase__deck {
          width: min(62%, 360px);
          top: -22%;
      }
  }

  @media (max-width: 575.98px) {
      .client-logo-row {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          max-width: 300px;
      }
      .client-logo-row img {
          height: 64px;
      }
      .client-card {
          min-height: 360px;
          padding: 34px;
      }
      .client-card::before {
          background: linear-gradient(#22d7ff, #22d7ff) left top / 58px 2px no-repeat, linear-gradient(#22d7ff, #22d7ff) left top / 2px 58px no-repeat, linear-gradient(#22d7ff, #22d7ff) right top / 58px 2px no-repeat, linear-gradient(#22d7ff, #22d7ff) right top / 2px 58px no-repeat, linear-gradient(#22d7ff, #22d7ff) left bottom / 58px 2px no-repeat, linear-gradient(#22d7ff, #22d7ff) left bottom / 2px 58px no-repeat, linear-gradient(#22d7ff, #22d7ff) right bottom / 58px 2px no-repeat, linear-gradient(#22d7ff, #22d7ff) right bottom / 2px 58px no-repeat;
      }
      .client-card::after {
          inset: 8px;
      }
      .client-card img {
          /* margin-bottom: 28px; */
      }
      .client-card h3 {
          font-size: 28px;
      }
      .client-card p {
          font-size: 13px;
          line-height: 1.55;
      }
  }

  @media (hover: none) and (pointer: coarse) {
      .client-card:hover img {
          position: relative;
          opacity: 1;
      }
      .client-card:hover p {
          -webkit-line-clamp: 2;
      }
  }


  /* Clients hero responsive polish */

  @media (min-width: 576px) and (max-width: 991.98px) {
      .client-hero {
          min-height: 650px;
          padding: 64px 40px 300px;
      }
      .client-hero-copy {
          width: min(76%, 660px);
      }
      .client-logo-row {
          max-width: 560px;
          gap: 10px;
      }
      .client-hero-people {
          right: 0;
          bottom: 22px;
          width: 60%;
          max-height: 340px;
          opacity: 1;
      }
      .client-showcase {
          padding-top: 56px;
      }
  }

  @media (max-width: 575.98px) {
      .client-hero {
          min-height: 680px;
          padding: 42px 18px 300px;
      }
      .client-hero h1 {
          display: block;
          text-align: center;
          margin-bottom: 16px;
          font-size: clamp(34px, 11vw, 42px);
      }
      .client-hero p {
          text-align: center;
          max-width: 34em;
          font-size: 12px;
          line-height: 1.5;
      }
      .client-logo-row {
          align-items: center;
          margin: 6% 17% !important;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          max-width: 280px;
          gap: 6px;
          margin-top: 22px;
      }
      .client-logo-row img {
          height: 70px;
          object-fit: cover;
      }
      .client-hero-people {
          right: -22%;
          bottom: 24px;
          width: 120%;
          max-height: 275px;
          opacity: 1;
      }
      .client-showcase {
          padding-top: 40px;
      }
  }


  /* Final Clients hero visibility and spacing */

  .client-hero-people {
      display: block;
  }

  .client-showcase {
      padding-top: clamp(48px, 5vw, 80px);
  }

  @media (max-width: 991.98px) {
      .client-hero {
          min-height: auto;
          padding: 56px 32px 48px;
      }
      .client-hero-copy {
          width: 100%;
      }
      .client-hero-people {
          display: none;
      }
      .client-showcase {
          padding-top: 48px;
      }
  }

  @media (max-width: 575.98px) {
      .client-hero {
          min-height: auto;
          padding: 36px 18px 32px;
      }
      .client-showcase {
          padding-top: 36px;
      }
  }


  /* Tap/keyboard expansion for client cards */

  .client-card.is-expanded img {
      position: absolute;
      opacity: 0;
      pointer-events: none;
  }

  .client-card.is-expanded p {
      display: -webkit-box;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 800;
  }

  .client-card:focus-visible {
      outline: 2px solid #fff;
      outline-offset: 4px;
  }

  @media (max-width: 767px) {
      .categories-header {
          margin-bottom: 30px !important;
      }
      .ind-row--reverse .ind-card:last-child {
          padding-right: 32px;
      }
      .ind-row {
          background: #0a3a5c url(../images/retail_mobile.png) center / cover no-repeat;
      }
      .ind-row--fitness {
          background-image: url(../images/fitness_mobile.png);
      }
      .ind-row--dining {
          background-image: url(../images/dining_mobile.png);
      }
      .ind-hero-sub {
          height: clamp(27px, 5.3vw, 48px);
          width: auto;
      }
      .ind-hero {
          position: relative;
          overflow: hidden;
          /* background: url(../images/mobile-bg-industry.png) center / cover no-repeat; */
          background-image: url("../images/mobile-bg-industry.png"), linear-gradient(269.96deg, #10b5ff 42.84%, #002b3a 155.27%);
          background-repeat: no-repeat, no-repeat;
          background-position: center, center;
          background-size: cover, cover;
          padding: clamp(3rem, 0vw, 6rem) clamp(1.5rem, 5vw, 90px);
          padding-top: 60px !important;
          padding-bottom: 0px !important;
      }
      .ind-row .ind-feature-title {
          margin: 0 0 6px;
          /* font-size: 25px; */
          font-size: 21px;
          line-height: 1.1;
          width: auto;
      }
      .ind-card,
      .ind-row--fitness .ind-card {
          width: 150px;
      }
      .ind-rows .ind-card[role="tab"].is-active h3::before {
          width: 74px;
          /* width:100%;  */
          height: 4px;
          background: rgba(175, 228, 255, 0.88);
      }
      .ind-row .ind-feature-desc {
          width: 250px;
          max-height: none;
          -webkit-line-clamp: 5;
          text-shadow: 1.5px 1.5px black;
      }
      .ind-rows .ind-readmore,
      .ind-rows .ind-row--fitness .ind-readmore,
      .ind-rows .ind-row--dining .ind-readmore {
          font-size: 12px;
      }
      .ind-rows .ind-readmore,
      .ind-rows .ind-row--fitness .ind-readmore,
      .ind-rows .ind-row--dining .ind-readmore {
          width: auto;
          height: auto;
          /* width: 34%; */
          width: 67%;
          gap: 5px;
      }
      .ind-card p,
      .ind-card:nth-child(even) p,
      .ind-row--dining .ind-card:first-child p {
          display: none;
      }
      .ind-row,
      .ind-row--reverse,
      .ind-row--fitness,
      .ind-row--dining {
          --ind-rail: 35%;
      }
      .ind-row--fitness .ind-card {
          padding-left: 10px;
      }
  }


  /* ============================================================
               Submit Music page - updated Figma 147:602
               ============================================================ */

  .submit-music-page {
      background: #011d2d;
  }

  .submit-main {
      color: #fff;
      background: radial-gradient( circle at 100% 82%, #1783c2 0, #1a506f 27%, #1d1c1c 62%);
  }

  .submit-container {
      width: min(1798px, calc(100% - 32px));
      margin-inline: auto;
  }

  .submit-hero {
      min-height: 700px;
      overflow: hidden;
      background: #042b4b url("../images/submit-music-hero-bg.jpg") center/cover no-repeat;
  }

  .submit-hero-art {
      position: relative;
      height: 700px;
  }

  .submit-hero-person {
      position: absolute;
      bottom: 0;
      left: 5%;
      width: auto;
      height: 94%;
      object-fit: contain;
      object-position: left bottom;
      filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.55));
  }

  .submit-hero-copy {
      max-width: 760px;
      margin-left: auto;
      padding: 100px 48px 80px;
      text-align: right;
  }

  .submit-hero-copy h1 {
      margin: 0 0 24px;
      font: 400 clamp(48px, 5vw, 84px) / 0.96 "Righteous", sans-serif;
  }

  .submit-hero-copy h2 {
      margin: 0 0 24px;
      font: 500 clamp(20px, 1.5vw, 28px) / 1.35 "Roboto", sans-serif;
  }

  .submit-hero-copy p {
      margin: 0 0 32px;
      font: 400 18px/1.65 "Roboto", sans-serif;
  }

  .submit-outline-btn,
  .submit-solid-btn {
      display: inline-flex;
      min-height: 52px;
      align-items: center;
      justify-content: center;
      padding: 12px 28px;
      border: 1px solid rgba(90, 197, 255, 0.75);
      border-radius: var(--rs-radius-pill);
      color: #fff;
      font: 500 16px/1.3 "Roboto", sans-serif;
      text-decoration: none;
  }

  .submit-solid-btn {
      border-color: #fff;
      color: #015999;
      background: #fff;
  }

  .submit-needs {
      width: 100%;
      margin: 0;
      padding: 56px max(32px, calc((100% - 1798px) / 2)) 110px;
      background: url("../images/client-grid-bg.jpg") repeat;
  }

  .submit-intro {
      padding: 0 0 48px;
      color: #fff;
  }

  .submit-intro h2 {
      margin: 0 0 22px;
      padding-bottom: 20px;
      border-bottom: 2px solid rgba(230, 246, 255, 0.12);
      font: 600 clamp(28px, 2.3vw, 44px) / 1.2 "Roboto", sans-serif;
  }

  .submit-intro p {
      max-width: 1660px;
      margin: 0;
      font: 400 clamp(16px, 1.35vw, 26px) / 1.5 "Roboto", sans-serif;
  }

  .submit-needs-grid {
      margin-top: 0;
  }

  .submit-need-card {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 50.5%;
      min-height: 390px;
      overflow: hidden;
      border-radius: 4px;
      color: #fff;
      background: linear-gradient(270deg, #28a5e4 0%, #014173 100%);
      box-shadow: 6px 6px 16px rgba(0, 14, 22, 0.86);
  }

  .submit-need-card>div {
      align-self: center;
      padding: 30px 16px;
  }

  .submit-need-card h3 {
      margin: 0 0 20px;
      font: 400 clamp(22px, 1.5vw, 28px) / 1.15 "Righteous", "Poppins", sans-serif;
  }

  .submit-need-card p {
      margin: 0;
      font: 400 16px/1.62 "Poppins", sans-serif;
      text-transform: capitalize;
  }

  .submit-need-card img {
      width: 100%;
      height: 100%;
      min-height: 390px;
      object-fit: cover;
      object-position: center;
  }

  .submit-vendor {
      width: 100%;
      margin: 0;
      padding: 64px max(32px, calc((100% - 1798px) / 2)) 64px;
      background: radial-gradient( 103.77% 103.77% at 110.85% 119.43%, rgba(21, 166, 249, 0.933333) 0%, #1d1c1c 100%);
  }

  .submit-vendor-panel {
      padding: 54px 42px 48px;
      border: 1px solid #e2f4ff;
      border-radius: 12px;
      background: linear-gradient(180deg, #2176a8 0%, #0d2e42 100%);
  }

  .submit-vendor-panel header h2 {
      margin: 0 0 18px;
      padding-bottom: 24px;
      border-bottom: 2px solid rgba(230, 246, 255, 0.1);
      font: 600 clamp(28px, 2.3vw, 44px) / 1.2 "Roboto", sans-serif;
  }

  .submit-vendor-panel header p,
  .submit-vendor-copy {
      font: 400 clamp(16px, 1.35vw, 26px) / 1.5 "Roboto", sans-serif;
  }

  .submit-option-tabs {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin-top: 56px;
  }

  .submit-option-tab {
      margin: 0;
      padding: 0 24px 24px;
      border: 0;
      border-bottom: 4px solid rgba(180, 227, 255, 0.12);
      color: #fff;
      text-align: left;
      background: transparent;
      font: 500 clamp(18px, 1.4vw, 28px) / 1.4 "Roboto", sans-serif;
      transition: border-color 0.2s ease, background-color 0.2s ease;
  }

  .submit-option-tab.active {
      border-bottom-color: #e6f6ff;
      color: #fff;
      font: 500 clamp(18px, 1.4vw, 28px) / 1.4 "Roboto", sans-serif;
      opacity: 1;
  }

  .submit-option-tab:hover {
      background: rgba(180, 227, 255, 0.05);
  }

  .submit-option-tab:focus-visible {
      outline: 2px solid #e6f6ff;
      outline-offset: 4px;
  }

  .submit-option-tab span {
      display: block;
      font-size: 0.72em;
      opacity: 0.78;
  }

  .submit-option-content {
      min-height: 620px;
  }

  .submit-option-lead {
      margin: 28px 0;
      font-size: clamp(17px, 1.25vw, 24px);
  }

  .submit-sites {
      display: grid;
      gap: 20px;
      width: min(960px, 100%);
      margin: 40px auto 64px;
  }

  .submit-sites a {
      display: flex;
      min-height: 72px;
      align-items: center;
      justify-content: center;
      border: 2px solid rgba(197, 232, 255, 0.34);
      border-radius: 12px;
      color: #fff;
      font-size: clamp(18px, 1.65vw, 32px);
      text-decoration: none;
  }

  .submit-vendor-copy {
      margin: 0 auto 48px;
  }

  .submit-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 24px;
      justify-content: center;
  }

  .submit-actions a {
      width: min(400px, 100%);
      min-height: 72px;
  }

  .submit-main .submit-outline-btn,
  .submit-main .submit-solid-btn {
      width: auto;
      min-height: 80px;
      padding-inline: 32px;
      font-size: 1.75rem;
  }

  .submit-note {
      margin: 26px 0 0;
      font-size: 14px;
      text-align: center;
  }

  .submit-final-cta {
      margin-top: 56px;
      padding: 42px 64px;
      border-radius: 12px;
      color: #034779;
      text-align: center;
      background: #fff;
  }

  .submit-final-cta h2 {
      margin: 0 0 28px;
      font: 500 clamp(22px, 1.7vw, 32px) / 1.3 "Roboto", sans-serif;
  }

  .submit-final-cta .submit-solid-btn {
      color: #fff;
      border-color: #034779;
      background: #034779;
  }

  .submit-final-cta p {
      margin: 24px 0 0;
      color: #5e6162;
      font-size: 14px;
  }

  @media (max-width: 1199.98px) {
      .submit-hero {
          min-height: 600px;
      }
      .submit-hero-art {
          height: 520px;
      }
      .submit-hero-copy {
          padding: 70px 24px 30px;
      }
      .submit-need-card {
          min-height: 350px;
      }
      .submit-need-card img {
          min-height: 350px;
      }
  }

  @media (max-width: 991.98px) {
      .submit-hero-copy {
          max-width: 720px;
          margin: auto;
          text-align: center;
      }
      .submit-hero-art {
          height: 440px;
      }
      .submit-hero-person {
          width: 42%;
      }
      .submit-hero-person-1 {
          left: 5%;
      }
      .submit-hero-person-3 {
          right: 5%;
      }
      .submit-needs {
          width: 100%;
          padding-inline: 24px;
      }
      .submit-vendor {
          width: 100%;
          padding-inline: 24px;
      }
  }

  @media (max-width: 767.98px) {
      .submit-container {
          width: calc(100% - 24px);
      }
      .submit-hero-copy {
          padding: 48px 4px 20px;
      }
      .submit-hero-copy h1 {
          font-size: 42px;
      }
      .submit-hero-copy p {
          font-size: 15px;
      }
      .submit-hero-art {
          height: 340px;
      }
      .submit-hero-person-2 {
          display: none;
      }
      .submit-hero-person {
          width: 58%;
          height: 95%;
      }
      .submit-hero-person-1 {
          left: -4%;
      }
      .submit-hero-person-3 {
          right: -4%;
      }
      .submit-needs {
          padding: 42px 18px 70px;
      }
      .submit-intro {
          padding-bottom: 30px;
      }
      .submit-intro p {
          font-size: 14px;
      }
      .submit-need-card {
          min-height: 260px;
          grid-template-columns: minmax(0, 1fr) 47%;
      }
      .submit-need-card>div {
          padding: 20px 12px;
      }
      .submit-need-card h3 {
          font-size: 20px;
          margin-bottom: 12px;
      }
      .submit-need-card p {
          font-size: 12px;
          line-height: 1.5;
      }
      .submit-need-card img {
          min-height: 260px;
      }
      .submit-vendor {
          padding-top: 40px;
          padding-bottom: 40px;
      }
      .submit-vendor-panel {
          padding: 30px 18px;
      }
      .submit-option-tabs {
          margin-top: 36px;
          grid-template-columns: 1fr;
      }
      .submit-option-tab {
          padding: 16px 0;
      }
      .submit-option-content {
          min-height: 0;
      }
      .submit-sites {
          margin: 30px auto 42px;
      }
      .submit-sites a {
          min-height: 58px;
      }
      .submit-final-cta {
          padding: 34px 18px;
      }
  }


  /* Reliable CSS hamburger; avoids mask-image rendering failures. */

  .header-toggle .action-icon-mask.menu {
      position: relative;
      display: block;
      width: 22px;
      height: 16px;
      background: linear-gradient(#fff, #fff) center / 100% 2px no-repeat;
      -webkit-mask-image: none;
      mask-image: none;
  }

  .header-toggle .action-icon-mask.menu::before,
  .header-toggle .action-icon-mask.menu::after {
      content: "";
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      border-radius: 2px;
      background: #fff;
  }

  .header-toggle .action-icon-mask.menu::before {
      top: 0;
  }

  .header-toggle .action-icon-mask.menu::after {
      bottom: 0;
  }


  /* Updated Submit Music hero assets */

  @media (max-width: 991.98px) {
      .submit-hero-person {
          left: 50%;
          width: auto;
          height: 96%;
          transform: translateX(-50%);
      }
  }

  @media (max-width: 767.98px) {
      .submit-hero-person {
          display: block;
          left: 50%;
          width: auto;
          height: 100%;
          transform: translateX(-50%);
      }
  }


  /* Submit Music mobile edge and CTA sizing */

  @media (max-width: 767.98px) {
      .submit-music-page,
      .submit-music-page .site-header,
      .submit-music-page .submit-main,
      .submit-music-page .submit-hero {
          width: 100%;
          max-width: 100%;
      }
      .submit-main .submit-outline-btn,
      .submit-main .submit-solid-btn {
          min-height: 56px;
          padding-inline: 20px;
          font-size: 1rem;
      }
  }


  /* Submit Music participation section - updated Figma 162:880 */

  .submit-vendor {
      padding-top: 80px;
      background: url("../images/submit-vendor-bg.jpg") center top / cover no-repeat;
  }

  .submit-vendor-panel {
      padding: 64px 42px;
      border: 1px solid rgba(180, 227, 255, 0.32);
      border-radius: 24px;
      background: rgba(0, 153, 255, 0.1);
      -webkit-backdrop-filter: blur(18px) saturate(140%);
      backdrop-filter: blur(18px) saturate(140%);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.32), inset 0 -1px 0 rgba(0, 64, 112, 0.28), 0 18px 48px rgba(0, 24, 52, 0.24);
  }

  .submit-vendor-panel header h2 {
      margin-bottom: 54px;
      border-bottom: 4px solid rgba(20, 169, 255, 0.44);
      font-size: clamp(36px, 3.2vw, 62px);
  }

  .submit-vendor-panel header p {
      font-weight: 500;
  }

  .submit-license-options {
      display: grid;
      gap: 86px;
      margin-top: 64px;
  }

  .submit-license-option h3 {
      margin: 0;
      padding: 26px 34px;
      border-bottom: 6px solid rgba(229, 246, 255, 0.88);
      border-radius: 22px 22px 0 0;
      color: #fff;
      background: rgba(255, 255, 255, 0.12);
      font: 700 clamp(22px, 1.9vw, 36px) / 1.35 "Roboto", sans-serif;
  }

  .submit-license-body {
      margin-top: 24px;
  }

  .submit-license-option .submit-option-lead {
      padding-inline: 34px;
  }

  .submit-license-option .submit-vendor-copy,
  .submit-radio-copy {
      font-size: clamp(17px, 1.45vw, 28px);
      line-height: 1.38;
  }

  .submit-radio-copy {
      margin: 42px 0 52px;
  }

  .submit-radio-copy p+p {
      margin-top: 30px;
  }

  .submit-license-option .submit-sites {
      width: 100%;
      margin: 0;
  }

  .submit-license-option .submit-sites a {
      min-height: 112px;
      font-size: clamp(22px, 1.9vw, 36px);
      font-weight: 700;
      background: rgba(4, 127, 249, 0.08);
      backdrop-filter: blur(16px);
  }

  .submit-license-option .submit-actions {
      margin-top: 64px;
  }

  .submit-license-option .submit-note {
      margin-top: 28px;
  }

  .submit-final-cta {
      width: 100%;
      margin: 0;
      padding: 72px 32px;
      border-radius: 0;
      color: #fff;
      background: linear-gradient(90deg, #003859 0%, #008cbf 100%);
  }

  .submit-final-cta h2 {
      font-size: clamp(28px, 2.2vw, 42px);
  }

  .submit-final-cta .submit-solid-btn {
      color: #003859;
      border-color: #fff;
      background: #fff;
  }

  .submit-final-cta p {
      width: min(1200px, 100%);
      margin: 28px auto 0;
      padding: 20px 24px;
      border: 2px solid rgba(30, 172, 255, 0.42);
      border-radius: 12px;
      color: #fff;
      background: rgba(90, 195, 255, 0.12);
      font-size: 1.25rem;
  }

  @media (max-width: 991.98px) {
      .submit-vendor-panel {
          padding: 48px 28px;
      }
      .submit-final-cta {
          margin-inline: 0;
      }
  }

  @media (max-width: 767.98px) {
      .submit-vendor {
          padding-top: 40px;
      }
      .submit-vendor-panel {
          padding: 30px 18px;
          border-radius: 16px;
      }
      .submit-vendor-panel header h2 {
          margin-bottom: 28px;
          font-size: 30px;
      }
      .submit-license-options {
          gap: 54px;
          margin-top: 36px;
      }
      .submit-license-option h3 {
          padding: 18px 14px;
          border-bottom-width: 4px;
          border-radius: 12px 12px 0 0;
          font-size: 18px;
      }
      .submit-license-option .submit-option-lead {
          padding-inline: 0;
      }
      .submit-license-option .submit-vendor-copy,
      .submit-radio-copy {
          font-size: 14px;
          line-height: 1.55;
      }
      .submit-license-option .submit-sites a {
          min-height: 64px;
          font-size: 18px;
      }
      .submit-license-option .submit-actions {
          margin-top: 36px;
      }
      .submit-final-cta {
          margin-bottom: 0;
          padding: 48px 18px;
      }
      .submit-final-cta h2 {
          font-size: 24px;
      }
  }


  /* ============================================================
                  Submit Music page - updated Figma 170:119
                  ============================================================ */

  .submit-music-page .submit-main {
      padding-bottom: 0px;
      color: #fff;
      background: radial-gradient( circle at 100% 100%, rgba(21, 166, 249, 0.93) 0, rgba(25, 97, 139, 0.97) 28%, #1d1c1c 70%);
  }

  .submit-music-page .submit-hero {
      position: relative;
      height: 670px;
      min-height: 670px;
      overflow: hidden;
      background: linear-gradient(180deg, #016092 0%, #001d2c 100%);
  }

  .submit-music-page .submit-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: 0.2;
      background-image: url("../images/submit-card-03.png"), url("../images/submit-card-03.png"), url("../images/submit-card-03.png");
      background-repeat: no-repeat;
      background-position: -1px -219px, 33.35% -101px, 100% -215px;
      background-size: 33.25% auto, 32.9% auto, 33.4% auto;
  }

  .submit-music-page .submit-hero::after {
      content: "";
      position: absolute;
      inset: 0 auto 0 0;
      width: 359px;
      background: #011f3d;
  }

  .submit-music-page .submit-hero-art {
      position: absolute;
      z-index: 2;
      left: 6.4%;
      top: 0;
      width: 600px;
      height: 670px;
      overflow: hidden;
  }

  .submit-music-page .submit-hero-person {
      position: absolute;
      top: -42.1%;
      left: 0;
      width: 115.1%;
      max-width: none;
      height: auto;
      filter: none;
      transform: none;
  }

  .submit-music-page .submit-hero-copy {
      position: absolute;
      z-index: 3;
      top: 116px;
      right: 4.8%;
      width: min(48.2%, 925px);
      max-width: 925px;
      margin: 0;
      padding: 0;
      text-align: right;
      text-transform: capitalize;
  }
  .submit-hero-copy h2 {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    overflow: hidden;
    margin-bottom: 0;
  }

  .submit-hero-copy h2.is-expanded {
    display: block !important;
    -webkit-line-clamp: unset;
    overflow: visible;
  }

  /* Optional: fewer lines on mobile */
  @media (max-width: 767px) {
    .submit-hero-copy h2 {
      -webkit-line-clamp: 4;
    }
  }

  .submit-hero-copy .submit-show-more {
    margin-top: 0px;
    padding: 0;
    background: none;
    border: 0;
    color: inherit;
    font: inherit;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
  }

  .submit-hero-copy .submit-show-more[hidden] {
    display: none;
  }

  .submit-music-page .submit-hero-copy h1 {
      margin: 0;
      font: 400 clamp(64px, 4.8vw, 92px) / 1.065 "Righteous", sans-serif;
      letter-spacing: 0.02em;
      display: block;
      line-height: 1 !important;
  }

  .submit-music-page .submit-hero-copy h2 {
      margin: 15px 0 18px;
      font: 400 clamp(15px, 1.16vw, 24px) / 1.27 "Poppins", sans-serif;
      display: block;
  }

  .submit-music-page .submit-hero-copy p {
      margin: 0;
      font: 400 clamp(14px, 0.94vw, 18px) / 1.78 "Poppins", sans-serif;
  }

  .submit-music-page .submit-needs {
      position: relative;
      min-height: 2926px;
      margin: 0;
      padding: 34px max(32px, calc((100% - 1808px) / 2)) 33px;
      background: linear-gradient( 180deg, rgba(0, 36, 64, 0.64), rgba(2, 119, 209, 0.64)), url("../images/submit-bg-radio.jpg") center / cover no-repeat, #01293b;
  }

  .submit-music-page .submit-intro {
      min-height: 0px;
      padding: 18px 20px;
      color: #fff;
  }

  .submit-music-page .submit-intro h2 {
      margin: 0 0 42px;
      padding: 0 0 22px;
      border-bottom: none !important;
      font: 500 clamp(34px, 2.4vw, 46px) / 1.2 "Roboto", sans-serif;
      text-transform: capitalize;
  }

  .submit-music-page .submit-intro p {
    max-width: none;
    border-top: 2px solid rgba(101, 203, 254, 0.42);
    padding-top: 31px;
    margin: 0;
    color: #efe9ff;
    font: 500 clamp(18px, 1.36vw, 26px) / 1.46 "Roboto", sans-serif;
    text-transform: capitalize;
    margin-top: 12px;
  }

  .submit-music-page .submit-needs-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 42px 52px;
      margin: 48px 0 0;
  }

  .submit-music-page .submit-need-card {
      display: grid;
      grid-template-columns: minmax(0, 49.5%) minmax(0, 50.5%);
      min-width: 0;
      min-height: 400px;
      height: 400px;
      overflow: hidden;
      border-radius: 4px;
      color: #fff;
      background: linear-gradient(270deg, #28a5e4 0%, #014173 100%);
      box-shadow: 6px 6px 16px rgba(0, 14, 22, 0.86);
  }

  .submit-music-page .submit-need-card>div {
      align-self: stretch;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 30px 10px;
      margin-bottom: 30px;
  }

  .submit-music-page .submit-need-card h3 {
      margin: 0 0 20px;
      font: 400 28px/1.2 "Righteous", "Poppins", sans-serif;
      text-transform: capitalize;
  }

  .submit-music-page .submit-need-card p {
      margin: 0;
      font: 400 16px/1.625 "Poppins", sans-serif;
      text-transform: capitalize;
  }

  .submit-music-page .submit-need-card img {
      width: 100%;
      height: 453px;
      min-height: 453px;
      object-fit: cover;
      object-position: center;
  }

  .submit-need-card {
      position: relative;
      overflow: hidden;
  }

  .submit-need-card img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
  }

  .submit-need-card::after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      /* background: -webkit-linear-gradient(
                    180.22deg,
                    rgba(0, 69, 115, 0.6) 0.19%,
                    rgba(23, 156, 222, 0) 65.8%
                );

                background: linear-gradient(
                    269.78deg,
                    rgba(0, 69, 115, 0.6) 0.19%,
                    rgba(23, 156, 222, 0) 65.8%
                ); */
      pointer-events: none;
  }

  .submit-need-card>div {
      position: relative;
      z-index: 2;
  }

  .submit-need-card img {
      position: relative;
      z-index: 0;
  }

  .submit-music-page .submit-vendor {
      min-height: 2127px;
      padding: 50px max(32px, calc((100% - 1830px) / 2)) 44px;
      background: linear-gradient( 180deg, rgba(0, 58, 91, 0.64), rgba(0, 138, 188, 0.64)), url("../images/submit-vendor-texture.png") center / cover no-repeat;
  }

  .submit-music-page .submit-vendor-panel {
      min-height: 2033px;
      padding: 64px 42px;
      border: 1px solid rgba(180, 227, 255, 0.32);
      border-radius: 24px;
      background: rgba(0, 153, 255, 0.1);
      box-shadow: none;
      -webkit-backdrop-filter: none;
      backdrop-filter: none;
  }

  .submit-music-page .submit-vendor-header {
      min-height: 217px;
  }

  .submit-music-page .submit-vendor-panel .submit-vendor-header h2 {
      margin: 0 0 54px;
      padding: 0 0 26px;
      border-bottom: 4px solid rgba(20, 169, 255, 0.44);
      font: 600 clamp(44px, 3.23vw, 62px) / 1.18 "Roboto", sans-serif;
      text-transform: capitalize;
  }

  .submit-music-page .submit-vendor-header p {
      margin: 0;
      font: 500 clamp(18px, 1.25vw, 24px) / 1.34 "Roboto", sans-serif;
      text-transform: capitalize;
  }

  .submit-music-page .submit-license-options {
      display: flex;
      flex-direction: column;
      gap: 64px;
      margin-top: 64px;
  }

  .submit-music-page .submit-license-option {
      min-height: 780px;
      padding: 0 0 12px;
  }

  .submit-music-page .submit-option-scene {
      position: relative;
      height: 535px;
  }

  .submit-music-page .submit-license-option h3 {
      position: absolute;
      z-index: 4;
      margin: 0;
      padding: 0;
      border: 0;
      border-radius: 0;
      color: #fff;
      background: transparent;
      font: 300 clamp(46px, 3.75vw, 72px) / 1.11 "Roboto", sans-serif;
      text-transform: capitalize;
  }

  .submit-music-page .submit-license-option h3 span,
  .submit-music-page .submit-license-option h3 strong,
  .submit-music-page .submit-license-option h3 em {
      display: block;
  }

  .submit-music-page .submit-license-option h3 strong {
      font-weight: 600;
  }

  .submit-music-page .submit-license-option h3 em {
      font-family: "Roboto Condensed", "Roboto", sans-serif;
      font-weight: 400;
  }

  .submit-music-page .submit-option-visual {
      position: absolute;
      z-index: 1;
      height: 535px;
  }

  .submit-music-page .submit-option-visual>span {
      position: absolute;
      top: 0;
      height: 535px;
  }

  .submit-music-page .submit-option-visual>div {
      position: absolute;
      overflow: hidden;
  }

  .submit-music-page .submit-option-visual img {
      position: absolute;
      max-width: none;
  }

  .submit-music-page .submit-option-copy {
      position: absolute;
      z-index: 3;
      color: #fff;
      font: 400 clamp(19px, 1.36vw, 26px) / 1.46 "Roboto", sans-serif;
      text-transform: capitalize;
  }

  .submit-music-page .submit-option-copy p {
      margin: 0;
  }

  .submit-music-page .submit-sites {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 32px;
      width: 782px;
      margin: 46px 0 0;
  }

  .submit-music-page .submit-sites a {
      display: flex;
      min-height: 86px;
      align-items: center;
      justify-content: center;
      padding: 18px 24px;
      border: 2px solid rgba(197, 232, 255, 0.34);
      border-radius: 12px;
      color: #fff;
      background: rgba(4, 127, 249, 0.08);
      font: 600 24px/1.3 "Roboto", sans-serif;
      text-transform: capitalize;
      -webkit-backdrop-filter: blur(16px);
      backdrop-filter: blur(16px);
  }

  .submit-music-page .submit-license-option--audio .submit-option-visual {
      left: 0;
      width: 65.15%;
  }

  .submit-music-page .submit-license-option--audio .submit-option-visual>span {
      left: 0;
      width: 67.14%;
      background: linear-gradient(270deg, #0081c7, #003f61);
  }

  .submit-music-page .submit-license-option--audio .submit-option-visual>div {
      top: 35px;
      left: 28.75%;
      width: 71.25%;
      height: 496px;
      transform: scaleX(-1);
  }

  .submit-music-page .submit-license-option--audio .submit-option-visual img {
      top: -29.7%;
      left: -21%;
      width: 121%;
      height: 129.7%;
  }

  .submit-music-page .submit-license-option--audio h3 {
      top: 75px;
      left: 5.4%;
      width: 39.6%;
  }

  .submit-music-page .submit-license-option--audio .submit-option-copy {
      top: 43px;
      right: 0;
      width: 587px;
      text-align: right;
  }

  .submit-music-page .submit-license-option--audio .submit-sites {
      position: absolute;
      top: 351px;
      right: 0;
      margin: 46px 0 0;
      transform: translateX(0);
  }

  .submit-music-page .submit-license-option--radio .submit-option-visual {
      right: 0;
      width: 53.19%;
  }

  .submit-music-page .submit-license-option--radio .submit-option-visual>span {
      right: 0;
      width: 80.46%;
      background: linear-gradient(270deg, #003f61, #0081c7);
  }

  .submit-music-page .submit-license-option--radio .submit-option-visual>div {
      top: 42px;
      left: 0;
      width: 60.59%;
      height: 493px;
  }

  .submit-music-page .submit-license-option--radio .submit-option-visual img {
      top: -7.62%;
      left: -43.72%;
      width: 143.72%;
      height: 107.62%;
  }

  .submit-music-page .submit-license-option--radio h3 {
      top: 78px;
      right: 4.3%;
      width: 35.4%;
      text-align: right;
  }

  .submit-music-page .submit-license-option--radio .submit-option-copy {
      top: 39px;
      left: 0;
      width: 51.63%;
      height: 460px;
      overflow: hidden;
  }

  .submit-music-page .submit-license-option--radio .submit-option-copy p+p {
      margin-top: 38px;
  }

  .submit-music-page .submit-license-option .submit-actions {
      display: flex;
      gap: 24px;
      justify-content: center;
      margin-top: 86px;
  }

  .submit-music-page .submit-license-option .submit-actions a {
      width: 448px;
      min-height: 80px;
  }

  .submit-music-page .submit-outline-btn,
  .submit-music-page .submit-solid-btn {
      display: inline-flex;
      min-height: 80px;
      align-items: center;
      justify-content: center;
      padding: 18px 32px;
      border: 2px solid rgba(54, 180, 255, 0.64);
      border-radius: var(--rs-radius-pill);
      color: #fff;
      background: rgba(27, 186, 255, 0.12);
      font: 600 clamp(18px, 1.36vw, 26px) / 1.62 "Roboto", sans-serif;
      text-transform: capitalize;
      -webkit-backdrop-filter: blur(11px);
      backdrop-filter: blur(11px);
  }

  .submit-music-page .submit-solid-btn {
      border-color: #fff;
      color: #015999;
      background: #fff;
  }

  .submit-music-page .submit-note {
      margin: 28px 0 0;
      color: #fff;
      font: 400 16px/24px "Roboto", sans-serif;
      text-align: center;
      text-transform: capitalize;
  }

  .submit-music-page .submit-final-cta {
      display: flex;
      height: 411px;
      margin: 0;
      padding: 42px 64px;
      border: 0;
      border-radius: 0;
      flex-direction: column;
      gap: 20px;
      align-items: center;
      justify-content: center;
      color: #fff;
      background: linear-gradient(90deg, #003859 0%, #008cbf 100%);
  }

  .submit-music-page .submit-final-cta h2 {
      width: 100%;
      margin: 0;
      padding: 18px 20px;
      font: 600 clamp(30px, 2.2vw, 42px) / 1.18 "Roboto", sans-serif;
      text-align: center;
      text-transform: capitalize;
  }

  .submit-music-page .submit-final-cta .submit-solid-btn {
      width: 400px;
      min-height: 80px;
      color: #003859;
      border-color: #fff;
      background: #fff;
  }

  .submit-music-page .submit-final-cta p {
      width: min(1668px, 100%);
      min-height: 101px;
      margin: 8px auto 0;
      padding: 22px 24px;
      border: 2px solid rgba(30, 172, 255, 0.42);
      border-radius: 12px;
      color: #fff;
      background: rgba(90, 195, 255, 0.12);
      font: 400 20px/28px "Roboto", sans-serif;
      text-align: center;
      text-transform: capitalize;
  }

  @media (max-width: 1499.98px) {
      .submit-music-page .submit-needs-grid {
          gap: 32px;
      }
      .submit-music-page .submit-need-card h3 {
          font-size: 24px;
      }
      .submit-music-page .submit-need-card p {
          font-size: 14px;
      }
      .submit-music-page .submit-license-option h3 {
          font-size: 54px;
          line-height: 1.08;
      }
      .submit-music-page .submit-option-copy {
          font-size: 20px;
      }
      .submit-music-page .submit-license-option--audio .submit-option-copy {
          width: 500px;
      }
      .submit-music-page .submit-sites {
          width: 690px;
      }
      .submit-music-page .submit-sites a {
          font-size: 20px;
      }
  }

  @media (max-width: 1199.98px) {
      .submit-music-page .submit-main {
          padding-bottom: 180px;
      }
      .submit-music-page .submit-hero {
          min-height: 600px;
          height: 600px;
      }
      .submit-music-page .submit-hero-art {
          left: 2%;
          width: 45%;
          height: 600px;
      }
      .submit-music-page .submit-hero-person {
          top: -26%;
          width: 120%;
      }
      .submit-music-page .submit-hero-copy {
          top: 100px;
          right: 4%;
          width: 54%;
      }
      .submit-music-page .submit-needs {
          min-height: 0;
          padding: 40px 32px 72px;
      }
      .submit-music-page .submit-intro {
          min-height: 0;
      }
      .submit-music-page .submit-intro h2 {
          margin-bottom: 28px;
      }
      .submit-music-page .submit-needs-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          margin-top: 44px;
      }
      .submit-music-page .submit-vendor {
          min-height: 0;
          padding: 48px 28px;
      }
      .submit-music-page .submit-vendor-panel {
          min-height: 0;
          padding: 48px 28px;
      }
      .submit-music-page .submit-license-options {
          gap: 72px;
      }
      .submit-music-page .submit-license-option {
          min-height: 0;
      }
      .submit-music-page .submit-option-scene {
          display: grid;
          height: auto;
          grid-template-columns: 1fr 1fr;
          gap: 28px;
      }
      .submit-music-page .submit-option-visual,
      .submit-music-page .submit-license-option--audio .submit-option-visual,
      .submit-music-page .submit-license-option--radio .submit-option-visual {
          position: relative;
          left: auto;
          right: auto;
          width: 100%;
          height: 430px;
      }
      .submit-music-page .submit-license-option--audio .submit-option-visual {
          grid-column: 1;
          grid-row: 1;
      }
      .submit-music-page .submit-license-option--radio .submit-option-visual {
          grid-column: 2;
          grid-row: 1;
      }
      .submit-music-page .submit-license-option h3,
      .submit-music-page .submit-license-option--audio h3,
      .submit-music-page .submit-license-option--radio h3 {
          top: 52px;
          width: 44%;
          font-size: 42px;
      }
      .submit-music-page .submit-license-option--audio h3 {
          left: 4%;
          right: auto;
      }
      .submit-music-page .submit-license-option--radio h3 {
          left: auto;
          right: 3%;
      }
      .submit-music-page .submit-option-copy,
      .submit-music-page .submit-license-option--audio .submit-option-copy,
      .submit-music-page .submit-license-option--radio .submit-option-copy {
          position: relative;
          top: auto;
          left: auto;
          right: auto;
          width: 100%;
          height: auto;
          overflow: visible;
          font-size: 17px;
          text-align: left;
      }
      .submit-music-page .submit-license-option--audio .submit-option-copy {
          grid-column: 2;
          grid-row: 1;
          align-self: center;
      }
      .submit-music-page .submit-license-option--radio .submit-option-copy {
          grid-column: 1;
          grid-row: 1;
          align-self: center;
      }
      .submit-music-page .submit-license-option--audio .submit-sites {
          position: static;
          width: 100%;
          margin-top: 24px;
          transform: none;
      }
      .submit-music-page .submit-option-visual>span {
          height: 430px;
      }
      .submit-music-page .submit-license-option .submit-actions {
          margin-top: 40px;
      }
      .submit-music-page .submit-license-option .submit-actions a {
          width: min(360px, 46%);
      }
  }

  @media (max-width: 767.98px) {
      .col-xl-spiritual2 {
          margin-bottom: var(--bs-gutter-y) !important;
      }
      .col-xl-spiritual {
          margin-top: unset;
      }
      .submit-music-page .submit-main {
          padding-bottom: 96px;
      }
      .submit-music-page .submit-hero {
          display: flex;
          height: auto;
          min-height: 700px;
          flex-direction: column;
      }
      .submit-music-page .submit-hero::after {
          width: 28%;
      }
      .submit-music-page .submit-hero-copy {
          position: relative;
          top: auto;
          right: auto;
          width: auto;
          max-width: none;
          padding: 42px 20px 24px;
          text-align: center;
          order: 1;
      }
      .submit-music-page .submit-hero-copy h1 {
          font-size: 44px;
          line-height: 1;
      }
      .submit-music-page .submit-hero-copy h2 {
          margin-top: 16px;
          font-size: 15px;
      }
      .submit-music-page .submit-hero-copy p {
          font-size: 13px;
          line-height: 1.6;
      }
      .submit-music-page .submit-hero-art {
          position: relative;
          left: auto;
          width: 100%;
          height: 360px;
          order: 2;
      }
      .submit-music-page .submit-hero-person {
          top: -38%;
          left: 50%;
          width: 85%;
          transform: translateX(-50%);
      }
      .submit-music-page .submit-needs {
          padding: 30px 18px 54px;
      }
      .submit-music-page .submit-intro {
          padding-inline: 0;
      }
      .submit-music-page .submit-intro h2 {
          margin-bottom: 22px;
          font-size: 30px;
      }
      .submit-music-page .submit-intro p {
          font-size: 14px;
          line-height: 1.55;
      }
      .submit-music-page .submit-needs-grid {
          grid-template-columns: 1fr;
          gap: 24px;
          margin-top: 34px;
      }
      .submit-music-page .submit-need-card {
          min-height: 320px;
          height: 320px;
      }
      .submit-music-page .submit-need-card img {
          height: 320px;
          min-height: 320px;
      }
      .submit-music-page .submit-need-card h3 {
          font-size: 22px;
      }
      .submit-music-page .submit-vendor {
          padding: 28px 14px;
      }
      .submit-music-page .submit-vendor-panel {
          padding: 30px 16px;
          border-radius: 16px;
      }
      .submit-music-page .submit-vendor-panel .submit-vendor-header h2 {
          margin-bottom: 24px;
          padding-bottom: 18px;
          font-size: 30px;
      }
      .submit-music-page .submit-vendor-header p {
          font-size: 14px;
          line-height: 1.55;
      }
      .submit-music-page .submit-license-options {
          gap: 60px;
          margin-top: 38px;
      }
      .submit-music-page .submit-option-scene {
          display: flex;
          flex-direction: column;
      }
      .submit-music-page .submit-license-option--audio .submit-option-visual,
      .submit-music-page .submit-license-option--radio .submit-option-visual {
          width: 100%;
          height: 350px;
          order: 1;
      }
      .submit-music-page .submit-license-option h3,
      .submit-music-page .submit-license-option--audio h3,
      .submit-music-page .submit-license-option--radio h3 {
          top: 44px;
          left: 7%;
          right: auto;
          width: 78%;
          font-size: 34px;
          text-align: left;
      }
      .submit-music-page .submit-license-option--audio .submit-option-copy,
      .submit-music-page .submit-license-option--radio .submit-option-copy {
          order: 2;
          margin-top: 24px;
          font-size: 14px;
          line-height: 1.55;
      }
      .submit-music-page .submit-option-visual>span {
          height: 350px;
      }
      .submit-music-page .submit-license-option--audio .submit-option-visual>div {
          height: 315px;
      }
      .submit-music-page .submit-license-option--radio .submit-option-visual>div {
          height: 308px;
      }
      .submit-music-page .submit-sites {
          grid-template-columns: 1fr;
          gap: 14px;
      }
      .submit-music-page .submit-sites a {
          min-height: 58px;
          font-size: 16px;
      }
      .submit-music-page .submit-license-option .submit-actions {
          flex-direction: column;
          gap: 14px;
      }
      .submit-music-page .submit-license-option .submit-actions a {
          width: 100%;
      }
      .submit-music-page .submit-note {
          font-size: 12px;
          line-height: 1.5;
      }
      .submit-music-page .submit-final-cta {
          height: auto;
          min-height: 400px;
          padding: 42px 18px;
      }
      .submit-music-page .submit-final-cta h2 {
          padding-inline: 0;
          font-size: 24px;
      }
      .submit-music-page .submit-final-cta .submit-solid-btn {
          width: min(100%, 400px);
      }
      .submit-music-page .submit-final-cta p {
          min-height: 0;
          font-size: 13px;
          line-height: 1.5;
      }
  }

  @media (min-width: 1200px) {

    .radio-signup-form-panel{
        height: 100% !important;
    }
    .radio-signup-benefits-header {
        margin-bottom: 40px;
        margin-top: 89px;
    }
    .radio-signup-terms {
        margin: 22px 0 33px !important;
    }
      .header-share-icons {
          margin-top: 6px !important;
          top: unset !important;
      }
      .danceImage {
          left: 100px !important;
          width: 550px !important;
          height: 611px !important;
      }
      .col-xl-40 {
          width: 40% !important;
      }
      .col-xl-65 {
          width: 65% !important;
      }
      .col-xl-spiritual {
          width: 57.333333% !important;
      }
      .col-xl-spiritual2 {
          width: 42.666667% !important;
      }
      .submit-music-page .submit-license-option--audio .submit-option-copy {
          height: 351px;
          overflow: hidden;
      }
      .submit-music-page .submit-license-option--audio .submit-sites {
          top: 354px;
          margin: 0;
      }
  }


  /* Use the pre-cropped participation artwork supplied for Figma 170:125. */

  .submit-music-page .submit-license-option--audio .submit-option-visual>div {
      transform: none;
  }

  .submit-music-page .submit-license-option--audio .submit-option-visual .submit-option-image,
  .submit-music-page .submit-license-option--radio .submit-option-visual .submit-option-image {
      inset: 0;
      width: 100%;
      height: 100%;
      max-width: none;
      object-fit: cover;
  }


  /* Submit Music responsive refinements */

  @media (max-width: 1199.98px) {
      .submit-music-page .submit-main {
          padding-bottom: clamp(96px, 14vw, 180px);
      }
      .submit-music-page .submit-needs {
          padding-inline: clamp(24px, 4vw, 40px);
      }
      .submit-music-page .submit-needs-grid {
          gap: clamp(24px, 3vw, 36px);
      }
      .submit-music-page .submit-need-card,
      .submit-music-page .submit-need-card img {
          height: clamp(300px, 35vw, 360px);
          min-height: clamp(300px, 35vw, 360px);
      }
      .submit-music-page .submit-need-card>div {
          padding: 24px 14px;
      }
      .submit-music-page .submit-need-card h3 {
          font-size: clamp(21px, 2.5vw, 26px);
      }
      .submit-music-page .submit-need-card p {
          font-size: clamp(13px, 1.6vw, 15px);
      }
      .submit-music-page .submit-vendor {
          padding-inline: clamp(20px, 3vw, 32px);
      }
      .submit-music-page .submit-vendor-panel {
          padding: clamp(36px, 5vw, 52px) clamp(22px, 4vw, 36px);
      }
      .submit-music-page .submit-option-visual,
      .submit-music-page .submit-license-option--audio .submit-option-visual,
      .submit-music-page .submit-license-option--radio .submit-option-visual {
          height: auto;
      }
      .submit-music-page .submit-license-option--audio .submit-option-visual {
          aspect-ratio: 1137 / 535;
      }
      .submit-music-page .submit-license-option--radio .submit-option-visual {
          aspect-ratio: 928 / 535;
      }
      .submit-music-page .submit-option-visual>span {
          height: 100%;
      }
      .submit-music-page .submit-license-option--audio .submit-option-visual>div {
          top: 6.54%;
          height: 92.71%;
      }
      .submit-music-page .submit-license-option--radio .submit-option-visual>div {
          top: 7.85%;
          height: 92.15%;
      }
      .submit-music-page .submit-license-option h3,
      .submit-music-page .submit-license-option--audio h3,
      .submit-music-page .submit-license-option--radio h3 {
          top: 14%;
          font-size: clamp(30px, 4vw, 44px);
      }
      .submit-music-page .submit-license-option .submit-actions {
          gap: 16px;
      }
      .submit-music-page .submit-license-option .submit-actions a {
          width: min(360px, calc(50% - 8px));
          min-width: 0;
      }
  }

  @media (max-width: 991.98px) {
      .submit-music-page .submit-hero {
          height: 560px;
          min-height: 560px;
      }
      .submit-music-page .submit-hero-art {
          width: 46%;
          height: 560px;
      }
      .submit-music-page .submit-hero-copy {
          top: 72px;
          width: 55%;
      }
      .submit-music-page .submit-hero-copy h1 {
          font-size: clamp(48px, 6.5vw, 62px);
      }
      .submit-music-page .submit-hero-copy h2 {
          font-size: 17px;
      }
      .submit-music-page .submit-hero-copy p {
          font-size: 13px;
          line-height: 1.6;
      }
      .submit-music-page .submit-vendor-header {
          min-height: 0;
      }
      .submit-music-page .submit-vendor-panel .submit-vendor-header h2 {
          margin-bottom: 30px;
          font-size: clamp(34px, 5vw, 46px);
      }
      .submit-music-page .submit-vendor-header p {
          font-size: 16px;
          line-height: 1.5;
      }
      .submit-music-page .submit-license-options {
          gap: 72px;
          margin-top: 48px;
      }
      .submit-music-page .submit-option-scene {
          display: flex;
          flex-direction: column;
          gap: 0;
      }
      .submit-music-page .submit-license-option--audio .submit-option-visual,
      .submit-music-page .submit-license-option--radio .submit-option-visual {
          width: 100%;
          max-width: 720px;
          align-self: center;
          order: 1;
      }
      .submit-music-page .submit-license-option--audio .submit-option-copy,
      .submit-music-page .submit-license-option--radio .submit-option-copy {
          width: 100%;
          margin-top: 30px;
          order: 2;
          font-size: 16px;
          line-height: 1.55;
      }
      .submit-music-page .submit-license-option--audio .submit-option-copy {
          text-align: left;
      }
      .submit-music-page .submit-license-option--radio .submit-option-copy p+p {
          margin-top: 24px;
      }
      .submit-music-page .submit-license-option h3,
      .submit-music-page .submit-license-option--audio h3,
      .submit-music-page .submit-license-option--radio h3 {
          top: 12%;
          width: 46%;
          font-size: clamp(34px, 5.5vw, 48px);
      }
      .submit-music-page .submit-license-option--audio h3 {
          left: 5%;
          right: auto;
          text-align: left;
      }
      .submit-music-page .submit-license-option--radio h3 {
          left: auto;
          right: 4%;
          text-align: right;
      }
      .submit-music-page .submit-sites {
          width: 100%;
          gap: 14px;
      }
      .submit-music-page .submit-sites a {
          min-height: 64px;
          font-size: 17px;
      }
      .submit-music-page .submit-license-option .submit-actions {
          margin-top: 34px;
      }
      .submit-music-page .submit-note {
          max-width: 760px;
          margin-inline: auto;
      }
  }

  @media (max-width: 767.98px) {
      .submit-music-page .submit-main {
          padding-bottom: 72px;
      }
      .submit-music-page .submit-hero {
          min-height: 650px;
      }
      .submit-music-page .submit-hero-copy {
          padding: 36px 18px 20px;
      }
      .submit-music-page .submit-hero-copy h1 {
          font-size: clamp(40px, 11vw, 52px);
      }
      .submit-music-page .submit-hero-copy h2 {
          font-size: 14px;
          line-height: 1.45;
      }
      .submit-music-page .submit-hero-copy p {
          font-size: 12px;
      }
      .submit-music-page .submit-hero-art {
          height: 330px;
      }
      .submit-music-page .submit-needs {
          padding: 28px 16px 48px;
      }
      .submit-music-page .submit-needs-grid {
          gap: 22px;
          margin-top: 30px;
      }
      .submit-music-page .submit-need-card,
      .submit-music-page .submit-need-card img {
          height: auto;
          min-height: 170px;
      }
      .submit-music-page .submit-need-card>div {
          padding: 16px 14px;
      }
      .submit-music-page .submit-need-card h3 {
          margin-bottom: 8px;
          font-size: clamp(18px, 4vw, 22px);
      }
      .submit-music-page .submit-need-card p {
          font-size: clamp(11px, 3vw, 13px);
          line-height: 1.35;
      }
      .submit-music-page .submit-vendor {
          padding: 22px 10px;
      }
      .submit-music-page .submit-vendor-panel {
          padding: 28px 14px;
          border-radius: 14px;
      }
      .submit-music-page .submit-vendor-panel .submit-vendor-header h2 {
          margin-bottom: 22px;
          padding-bottom: 16px;
          font-size: clamp(27px, 8vw, 34px);
      }
      .submit-music-page .submit-vendor-header p {
          font-size: 13px;
      }
      .submit-music-page .submit-license-options {
          gap: 54px;
          margin-top: 34px;
      }
      .submit-music-page .submit-license-option--audio .submit-option-visual,
      .submit-music-page .submit-license-option--radio .submit-option-visual {
          height: auto;
          max-width: 560px;
      }
      .submit-music-page .submit-license-option h3,
      .submit-music-page .submit-license-option--audio h3,
      .submit-music-page .submit-license-option--radio h3 {
          top: 12%;
          width: 48%;
          font-size: clamp(23px, 7.2vw, 34px);
          line-height: 1.05;
      }
      .submit-music-page .submit-license-option--audio h3 {
          left: 5%;
      }
      .submit-music-page .submit-license-option--radio h3 {
          right: 4%;
          left: auto;
          text-align: right;
      }
      .submit-music-page .submit-license-option--audio .submit-option-copy,
      .submit-music-page .submit-license-option--radio .submit-option-copy {
          margin-top: 24px;
          font-size: 14px;
      }
      .submit-music-page .submit-sites {
          grid-template-columns: 1fr 1fr;
          gap: 12px;
      }
      .submit-music-page .submit-sites a {
          min-height: 54px;
          font-size: clamp(12px, 3.8vw, 15px);
          border-radius: var(--rs-radius-pill);
      }
      .submit-music-page .submit-license-option .submit-actions {
          margin-top: 28px;
      }
      .submit-music-page .submit-license-option .submit-actions a {
          width: 100%;
          min-height: 54px;
          padding: 12px 16px;
          font-size: 15px;
      }
      .submit-music-page .submit-note {
          margin-top: 18px;
          font-size: 11px;
      }
      .submit-music-page .submit-final-cta {
          min-height: 360px;
          padding: 36px 16px;
      }
      .submit-music-page .submit-final-cta h2 {
          font-size: clamp(22px, 6.5vw, 28px);
      }
      .submit-music-page .submit-final-cta .submit-solid-btn {
          min-height: 56px;
          font-size: 16px;
      }
  }

  @media (max-width: 479.98px) {
      .submit-music-page .submit-hero {
          min-height: 610px;
      }
      .submit-music-page .submit-hero-copy {
          padding-top: 30px;
      }
      .submit-music-page .submit-hero-copy h1 {
          font-size: 38px;
      }
      .submit-music-page .submit-hero-art {
          height: 300px;
      }
      .submit-music-page .submit-hero-person {
          top: -30%;
          width: 96%;
      }
      .submit-music-page .submit-intro h2 {
          font-size: 27px;
      }
      .submit-music-page .submit-need-card,
      .submit-music-page .submit-need-card img {
          height: auto;
          min-height: 150px;
      }
      .submit-music-page .submit-need-card {
          grid-template-columns: 50% 50%;
      }
      .submit-music-page .submit-need-card>div {
          padding: 12px 10px;
      }
      .submit-music-page .submit-need-card h3 {
          font-size: 18px;
          margin-bottom: 6px;
      }
      .submit-music-page .submit-need-card p {
          font-size: 11px;
      }
      .submit-music-page .submit-option-copy,
      .submit-music-page .submit-license-option--audio .submit-option-copy,
      .submit-music-page .submit-license-option--radio .submit-option-copy {
          font-size: 13px;
      }
      .submit-music-page .submit-final-cta p {
          padding: 16px 12px;
          font-size: 12px;
      }
  }


  /* Participation options: tablet/mobile overlap fixes */

  @media (max-width: 1399.98px) {
      .submit-music-page .submit-option-scene {
          display: flex !important;
          height: auto !important;
          min-width: 0;
          flex-direction: column;
          gap: 0;
      }
      .submit-music-page .submit-license-option--audio .submit-option-visual,
      .submit-music-page .submit-license-option--radio .submit-option-visual {
          position: relative !important;
          inset: auto !important;
          width: min(100%, 900px) !important;
          height: auto !important;
          margin-inline: auto;
          align-self: center;
          order: 1;
      }
      .submit-music-page .submit-license-option--audio .submit-option-copy,
      .submit-music-page .submit-license-option--radio .submit-option-copy {
          position: static !important;
          inset: auto !important;
          width: 100% !important;
          height: auto !important;
          margin-top: 32px;
          overflow: visible !important;
          order: 2;
          text-align: left;
      }
      .submit-music-page .submit-license-option--audio .submit-sites {
          position: static !important;
          inset: auto !important;
          width: 100%;
          margin-top: 24px;
      }
      .submit-music-page .submit-license-option h3,
      .submit-music-page .submit-license-option--audio h3,
      .submit-music-page .submit-license-option--radio h3 {
          z-index: 5;
          max-width: 48%;
          overflow-wrap: break-word;
      }
  }

  @media (max-width: 767.98px) {
      .submit-music-page .submit-license-option--audio .submit-option-visual,
      .submit-music-page .submit-license-option--radio .submit-option-visual {
          width: 100% !important;
          max-width: none;
      }
      .submit-music-page .submit-license-option h3,
      .submit-music-page .submit-license-option--audio h3,
      .submit-music-page .submit-license-option--radio h3 {
          top: 7%;
          width: 47%;
          max-width: 47%;
          font-size: clamp(16px, 4.8vw, 22px);
          line-height: 1.04;
          overflow-wrap: anywhere;
      }
      .submit-music-page .submit-license-option--audio h3 {
          left: 5%;
          right: auto;
      }
      .submit-music-page .submit-license-option--radio h3 {
          left: auto;
          right: 3%;
      }
      .submit-music-page .submit-license-option--audio .submit-option-copy,
      .submit-music-page .submit-license-option--radio .submit-option-copy {
          margin-top: 24px;
      }
  }

  @media (max-width: 479.98px) {
      .submit-music-page .submit-license-option--audio .submit-option-visual {
          min-height: 150px;
          aspect-ratio: auto;
      }
      .submit-music-page .submit-license-option--radio .submit-option-visual {
          min-height: 170px;
          aspect-ratio: auto;
      }
      .submit-music-page .submit-license-option h3,
      .submit-music-page .submit-license-option--audio h3,
      .submit-music-page .submit-license-option--radio h3 {
          top: 6%;
          font-size: clamp(15px, 5.7vw, 18px);
          line-height: 1.02;
      }
      .submit-music-page .submit-license-option--audio .submit-option-copy,
      .submit-music-page .submit-license-option--radio .submit-option-copy {
          margin-top: 20px;
      }
  }


  /* Submit Music hero: mobile composition */

  @media (max-width: 767.98px) {
      .submit-hero-person {
          display: none;
      }
      .submit-music-page .submit-hero {
          display: flex;
          height: auto;
          min-height: 0;
          flex-direction: column;
          background: linear-gradient(180deg, #015784 0%, #001d2d 100%);
          background: url(../images/Group\ 27031.png);
      }
      .submit-music-page .submit-hero::before,
      .submit-music-page .submit-hero::after {
          display: none;
      }
      .submit-music-page .submit-hero-art {
          position: relative;
          left: auto;
          width: 100%;
          height: clamp(230px, 64vw, 340px);
          flex: 0 0 auto;
          overflow: hidden;
          order: 2;
          background: radial-gradient( circle at 50% 50%, rgba(0, 159, 224, 0.42), transparent 56%);
      }
      .submit-music-page .submit-hero-person {
          position: absolute;
          top: 5%;
          bottom: auto;
          left: 50%;
          width: auto;
          max-width: 90%;
          height: 90%;
          object-fit: contain;
          transform: translateX(-50%);
      }
      .submit-music-page .submit-hero-copy {
          position: relative;
          top: auto;
          right: auto;
          width: 100%;
          max-width: none;
          margin: 0;
          padding: 28px 20px 40px;
          order: 1;
          text-align: left;
          text-transform: none;
          background: transparent;
      }
      .submit-music-page .submit-hero-copy h1 {
          margin-bottom: 16px;
          font-size: clamp(28px, 9vw, 38px);
          line-height: 1.05;
          letter-spacing: 0.01em;
          white-space: nowrap;
      }
      .submit-music-page .submit-hero-copy h2 {
          max-width: 520px;
          margin: 0 auto 0px;
          font-size: clamp(12px, 3.5vw, 16px);
          line-height: 1.45;
      }
      .submit-music-page .submit-hero-copy p {
          max-width: 560px;
          margin: 0 auto;
          font-size: clamp(11px, 3.25vw, 14px);
          line-height: 1.55;
          text-align: left;
      }
  }

  @media (max-width: 359.98px) {
      .submit-music-page .submit-hero-copy {
          padding-inline: 16px;
      }
      .submit-music-page .submit-hero-copy h1 {
          font-size: clamp(26px, 10.5vw, 30px);
      }
      .submit-music-page .submit-hero-copy h2 {
          font-size: 11px;
      }
      .submit-music-page .submit-hero-copy p {
          font-size: 11px;
          line-height: 1.5;
      }
  }

  .participation-radio {
      max-width: 1512px !important;
  }


  /* =========================================================
               AUDIOSPARX - PARTICIPATION SECTION
               ========================================================= */

  * {
      box-sizing: border-box;
  }

  .participation-section {
      position: relative;
      width: 100%;
      padding: 16px;
      color: #fff;
      font-family: Arial, Helvetica, sans-serif;
      background-image: linear-gradient( 180deg, rgba(0, 50, 82, 0.48) 0%, rgba(0, 83, 134, 0.3) 48%, rgba(0, 126, 185, 0.18) 100%), url("../images/bg-audiosparx-radiosparx.png");
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
  }


  /* =========================================================
                 MAIN CONTAINER
                 ========================================================= */

  .participation-container {
      position: relative;
      width: 100%;
      /* max-width: 1180px; */
      margin: 0 auto;
      padding: 14px;
      border: 1px solid rgba(50, 190, 240, 0.38);
      border-radius: 14px;
      background: rgba(0, 65, 108, 0.12);
      box-shadow: inset 0 0 28px rgba(0, 174, 239, 0.04), 0 0 15px rgba(0, 0, 0, 0.05);
  }


  /* =========================================================
                 HERO
                 ========================================================= */

  .participation-hero {
      position: relative;
      width: 100%;
      /*
                  Important:
                  This gives the top block proportions much closer
                  to the Figma design.
                */
      overflow: visible;
      height: 300px;
      background: rgba(0, 77, 119, 0.75) !important;
  }


  /* =========================================================
                 LEFT HERO TEXT AREA
                 ========================================================= */

  .participation-hero-content {
      position: relative;
      z-index: 3;
      width: 56%;
      height: 100%;
      padding: 0 4% 0 5.2%;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      background: rgba(0, 126, 183, 0.57);
  }


  /* =========================================================
                 HERO HEADING
                 ========================================================= */

  .participation-hero-content h2 {
      margin: 0 0 18px;
      padding: 0;
      color: #fff;
      font-family: "roboto";
      font-size: clamp(42px, 5vw, 61px);
      line-height: 1.1 !important;
      font-weight: 700;
      letter-spacing: -1.5px;
  }


  /* =========================================================
                 HERO DESCRIPTION
                 ========================================================= */

  .participation-hero-content p {
      width: 100%;
      max-width: 390px;
      margin: 0;
      padding: 0;
      color: #fff;
      font-family: "roboto";
      font-size: clamp(17px, 1.15vw, 14px);
      line-height: 1.25;
      font-weight: 400;
  }


  /* =========================================================
                 SINGER IMAGE
                 ========================================================= */

  .participation-hero-image {
      position: absolute;
      inset: 0;
      z-index: 3;
      overflow: visible;
      pointer-events: none;
  }

  .participation-hero-image img {
      position: absolute;
      /*
                  The Figma singer is large and overlaps toward
                  the centre of the hero.
                */
      right: 28%;
      bottom: 0;
      width: auto;
      height: 320px;
      max-width: none;
      display: block;
      object-fit: contain;
      object-position: right bottom;
  }


  /*
                No additional gradient on top of the singer.
              */

  .participation-hero::after {
      display: none;
  }


  /* =========================================================
                 OPTION LIST
                 ========================================================= */

  .participation-options {
      width: 100%;
      margin-top: 20px;
      display: flex;
      flex-direction: column;
      gap: 7px;
  }


  /* =========================================================
                 OPTION ROW
                 ========================================================= */

  .participation-option {
      width: 100%;
      min-height: 50px;
      padding: 10px 18px;
      display: flex;
      align-items: center;
      border: 1px solid rgba(74, 207, 255, 0.82);
      border-radius: 5px;
      background: linear-gradient( 90deg, rgba(0, 75, 122, 0.32) 0%, rgba(0, 121, 181, 0.12) 100%);
      color: #fff;
      font-family: "poppins";
      font-size: clamp(17px, 1.18vw, 15px);
      line-height: 1.35;
      font-weight: 400;
      transition: background-color 0.2s ease, border-color 0.2s ease;
  }

  .participation-option:hover {
      background: rgba(0, 130, 192, 0.3);
      border-color: rgba(109, 221, 255, 1);
  }


  /* =========================================================
                 OPTION ARROW
                 ========================================================= */

  .participation-arrow {
      flex: 0 0 auto;
      margin-right: 14px;
      color: #fff;
      font-size: 27px;
      line-height: 1;
      font-weight: 700;
  }


  /* =========================================================
                 NOTE
                 ========================================================= */

  .participation-note {
      width: 100%;
      padding: 50px 10px 25px;
  }

  .participation-note p {
      margin: 0;
      color: rgba(255, 255, 255, 0.98);
      font-family: "poppins";
      font-size: 17px;
      line-height: 1.55;
      font-weight: 400;
  }

  .participation-note strong {
      color: #fff;
      font-weight: 700;
  }


  /* =========================================================
                 BUTTON AREA
                 ========================================================= */

  .participation-actions {
      width: 100%;
      padding: 20px 0 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 18px;
  }


  /* =========================================================
                 BUTTON
                 ========================================================= */

  .participation-btn {
      width: 271px;
      min-height: 48px;
      padding: 10px 20px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      text-decoration: none;
      font-family: "poppins";
      font-size: 15px;
      line-height: 1.2;
      font-weight: 500;
      transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
  }


  /* =========================================================
                 LEFT BUTTON
                 ========================================================= */

  .participation-btn-outline {
      color: #fff !important;
      border: 1px solid rgba(73, 199, 243, 0.75);
      /* background: rgba(0, 82, 128, 0.42); */
  }

  .participation-btn-outline:hover {
      background: rgba(0, 124, 181, 0.62);
      border-color: rgba(110, 222, 255, 1);
  }


  /* =========================================================
                 RIGHT BUTTON
                 ========================================================= */

  .participation-btn-light {
      color: #006b9e;
      border: 1px solid #fff;
      background: #fff;
  }

  .participation-btn-light:hover {
      background: #edfaff;
  }


  /* =========================================================
                 BUTTON HOVER
                 ========================================================= */

  .participation-btn:hover {
      transform: translateY(-1px);
  }


  /* =========================================================
                 FOOTER TEXT
                 ========================================================= */

  .participation-footer-text {
      max-width: 1200px;
      margin: 3px auto 18px;
      padding: 0 10px;
      text-align: center;
      color: rgba(255, 255, 255, 0.92);
      font-family: "poppins";
      font-size: 15px;
      line-height: 1.5;
      font-weight: 400;
  }


  /* =========================================================
                 LARGE DESKTOP
                 ========================================================= */

  @media (min-width: 1200px) {
      .participation-hero {
          margin-top: 0px !important;
          margin-bottom: 0px !important;
          padding: 0px !important;
      }
      .participation-hero-content h2 {
          font-size: 60px;
      }
      .participation-hero-content p {
          font-size: 17px;
      }
      .participation-option {
          font-size: 17px;
      }
      .participation-note p {
          font-size: 17px;
      }
  }


  /* =========================================================
                 TABLET / SMALL DESKTOP
                 ========================================================= */

  @media (max-width: 1015px) {
      .participation-hero-content {
          position: relative;
          z-index: 3;
          width: 78%;
          height: 100%;
          padding: 0 4% 0 5.2%;
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          justify-content: center;
          background: rgba(0, 126, 183, 0.57);
      }
      .participation-hero-image img {
          top: -19px;
          position: absolute;
          right: -1%;
          bottom: 0;
          width: auto;
          height: 100% !important;
          max-width: none;
          display: block;
          object-fit: contain;
          object-position: right bottom;
      }
  }

  @media (max-width: 1000px) {
      .asx-scroll-showcase__pill-name {
          overflow: unset !important;
      }
      .participation-section {
          padding: 12px;
      }
      .participation-container {
          padding: 12px;
      }
      .participation-hero {
          min-height: 320px;
          aspect-ratio: 2.55 / 1;
      }
      .participation-hero-content {
          width: 70%;
          padding-left: 4.5%;
      }
      .participation-hero-content h2 {
          margin-bottom: 14px;
          font-size: clamp(38px, 5.2vw, 50px);
      }
      .participation-hero-content p {
          /* max-width: 340px; */
          /* font-size: 12px; */
          max-width: 384px;
          font-size: 15px;
      }
      .participation-hero-image img {
          right: 0%;
          height: 106%;
      }
      .participation-option {
          min-height: 48px;
          font-size: 13px;
      }
  }


  /* =========================================================
                 TABLET
                 ========================================================= */

  @media (max-width: 768px) {
      .participation-hero {
          min-height: 300px;
          aspect-ratio: 2.15 / 1;
      }
      .participation-hero-content {
          width: 70%;
          padding-left: 5%;
          padding-right: 3%;
      }
      .participation-hero-content h2 {
          font-size: clamp(32px, 6vw, 43px);
          letter-spacing: -1px;
      }
      .participation-hero-content p {
          max-width: 290px;
          font-size: 11px;
      }
      .participation-hero-image img {
          right: 0%;
          height: 100%;
      }
      .participation-note {
          padding-top: 35px;
      }
      .participation-actions {
          gap: 12px;
      }
      .participation-btn {
          width: 220px;
      }
  }


  /* =========================================================
                 MOBILE
                 ========================================================= */

  @media (max-width: 600px) {
      .about-hero-title {
          margin: 0 29px;
      }
      .music-section .row.gx-4.gy-4.align-items-stretch.mb-5 {
          margin-bottom: 0px !important;
          margin-top: 0;
          padding: 0;
      }
      .music-section .col-12.col-xl-4.d-flex.flex-column.align-items-center.justify-content-center {
          padding: 0;
          margin-top: 0;
      }
      .participation-section {
          padding: 8px;
      }
      .participation-container {
          padding: 8px;
          border-radius: 9px;
      }
      /* ---------------- HERO ---------------- */
      .participation-hero {
          width: 100%;
          height: 254px;
          min-height: 0px;
          aspect-ratio: auto;
          background: rgba(0, 80, 123, 0.74);
      }
      /* ---------------- HERO TEXT ---------------- */
      .participation-hero-content {
          width: 100%;
          height: auto;
          min-height: 210px;
          padding: 30px 23px 28px;
          display: block;
          background: linear-gradient( 90deg, rgba(0, 126, 183, 0.9) 0%, rgba(0, 126, 183, 0.7) 55%, rgba(0, 126, 183, 0.12) 100%);
      }
      .participation-hero-content h2 {
          max-width: 310px;
          margin-bottom: 15px;
          font-size: clamp(34px, 9.5vw, 42px);
          line-height: 1;
          letter-spacing: -1px;
          display: block;
      }
      .participation-hero-content p {
          max-width: 210px;
          font-size: 15px;
          line-height: 1.3;
      }
      /* ---------------- SINGER ---------------- */
      .participation-hero-image img {
          /* right: -15%;
                  bottom: 0;

                  height: 67%; */
          right: -2%;
          bottom: 0;
          height: 59%;
      }
      /* ---------------- OPTIONS ---------------- */
      .participation-options {
          margin-top: 10px;
          gap: 6px;
      }
      .participation-option {
          min-height: 48px;
          padding: 9px 12px;
          font-size: 14px;
          line-height: 1.3;
      }
      .participation-arrow {
          margin-right: 10px;
          font-size: 18px;
      }
      /* ---------------- NOTE ---------------- */
      .participation-note {
          padding: 30px 7px 18px;
      }
      .participation-note p {
          font-size: 14px;
          line-height: 1.55 !important;
      }
      /* ---------------- BUTTONS ---------------- */
      .participation-actions {
          padding: 15px 7px;
          flex-direction: column;
          gap: 10px;
      }
      .participation-btn {
          width: 100%;
          min-height: 46px;
          font-size: 13px;
      }
      /* ---------------- FOOTER ---------------- */
      .participation-footer-text {
          margin-bottom: 14px;
          padding: 0 8px;
          font-size: 13px;
          line-height: 1.45;
      }
  }

  .asx-list-showcase__rail,
  .asx-scroll-showcase__rail {
      -webkit-mask-image: unset !important;
  }


  /* =========================================================
                 SMALL MOBILE
                 ========================================================= */

  @media (max-width: 420px) {
      .music-section .row.gx-4.gy-4.align-items-stretch.mb-5 {
          margin-bottom: 0px !important;
      }
      .participation-hero {
          height: 420px;
          min-height: 420px;
      }
      .participation-hero-content {
          min-height: 195px;
          padding: 25px 18px;
      }
      .participation-hero-content h2 {
          max-width: 260px;
          font-size: 34px;
      }
      .participation-hero-content p {
          max-width: 225px;
          font-size: 10px;
      }
      .participation-hero-image img {
          right: 0%;
          /* height: 65%; */
      }
      .participation-option {
          min-height: 46px;
          padding: 8px 10px;
          font-size: 11px;
      }
      .participation-arrow {
          margin-right: 8px;
          font-size: 17px;
      }
      .music-playlist-station-column a {
          width: 160px !important;
      }
  }

  .music-main {
      overflow-x: clip;
  }

  .music-stations {
      position: relative;
      overflow: hidden;
      background: linear-gradient( 180deg, rgba(17, 67, 96, 0.92), rgba(4, 111, 171, 0.92)), url("../images/client-grid-bg.jpg") center/cover repeat;
  }

  .music-showcase {
      position: relative;
      /* overflow: hidden; */
      background: url("../images/music-hero-bg.jpg") center/cover no-repeat;
  }

  .music-stations::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient( circle at 20% 20%, rgba(116, 208, 255, 0.16), transparent 26%), radial-gradient( circle at 82% 18%, rgba(183, 221, 255, 0.12), transparent 20%), radial-gradient( circle at 70% 72%, rgba(120, 214, 255, 0.18), transparent 24%), radial-gradient( circle at 6% 82%, rgba(109, 193, 255, 0.14), transparent 20%);
      pointer-events: none;
  }

  .music-section {
      position: relative;
      z-index: 1;
      width: min(1671px, calc(100% - 64px));
      margin: 0 auto;
  }

  .music-showcase {
      padding: 32px 0 44px;
  }


  /* Base row styles */

  .music-row {
      display: grid;
      gap: 24px;
      align-items: stretch;
  }

  .music-row+.music-row {
      margin-top: 42px;
  }


  /* Row 1: Featured & Discovery card (wide left) + 2 station panels */

  .music-row--r1 {
      grid-template-columns: 2fr 1fr 1fr;
  }


  /* Row 2: 3 station panels + Pop Rock card (wide right) */

  .music-row--r2 {
      grid-template-columns: 1fr 1fr 1fr 2fr;
  }


  /* Row 3: Kids & Family card (wide left) + 1 station panel */

  .music-row--r3 {
      grid-template-columns: 2fr 1fr;
  }


  /* Row 4: 4 station panels + Asia & Middle East card (wide right) */

  .music-row--r4 {
      grid-template-columns: 1fr 1fr 1fr 1fr 2fr;
  }

  .music-feature-card {
      position: relative;
      min-height: 560px;
      border: 1px solid rgba(159, 220, 255, 0.24);
      border-radius: 28px;
      overflow: hidden;
      background: linear-gradient( 180deg, rgba(0, 84, 126, 0.96), rgba(0, 129, 199, 0.76));
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 18px 42px rgba(0, 0, 0, 0.18);
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: flex-start;
      padding: 34px;
  }

  .music-feature-card--compact {
      min-height: 436px;
  }


  /* Blue decorative accent block (visible in top-left in Figma design) */

  .music-feature-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 38%;
      height: 48%;
      z-index: 0;
      background: rgba(0, 100, 180, 0.55);
      pointer-events: none;
  }

  .music-feature-card--right::before {
      left: auto;
      right: 0;
  }

  .music-feature-card__stripe {
      position: relative;
      z-index: 3;
      width: 258px;
      height: 16px;
      border-radius: 999px;
      background: linear-gradient(90deg, #005185, #048eeb);
      margin-bottom: 24px;
  }

  .music-feature-card--right {
      align-items: flex-end;
  }

  .music-feature-card--right .music-feature-card__stripe {
      margin-left: auto;
  }


  /* Pop uses the same left-to-right art composition as Featured. */

  .music-showcase .music-feature-card--pop {
      align-items: flex-start;
  }

  .music-showcase .music-feature-card--pop::before {
      right: auto;
      left: 0;
  }

  .music-showcase .music-feature-card--pop .music-feature-card__stripe {
      margin-left: 0;
  }

  .music-feature-card__image {
      position: absolute;
      inset: 0;
      z-index: 1;
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center right;
      pointer-events: none;
  }

  .music-feature-card__image--right {
      object-position: center left;
  }

  .music-feature-card__image--family {
      object-position: center right;
  }

  .music-feature-card__image--asia {
      object-position: center left;
  }

  .music-feature-card__shade {
      position: absolute;
      inset: 0;
      z-index: 2;
      background: linear-gradient( 90deg, rgba(5, 29, 47, 0.96) 0%, rgba(5, 29, 47, 0.68) 48%, rgba(5, 29, 47, 0.02) 82%);
  }

  .music-feature-card__shade--right {
      /* background: linear-gradient(270deg, rgba(5, 29, 47, 0.96) 0%, rgba(5, 29, 47, 0.68) 48%, rgba(5, 29, 47, 0.02) 82%); */
  }

  .music-showcase .music-feature-card--pop .music-feature-card__shade--right {
      background: linear-gradient( 90deg, rgba(5, 29, 47, 0.96) 0%, rgba(5, 29, 47, 0.68) 48%, rgba(5, 29, 47, 0.02) 82%);
  }

  .music-feature-card h2 {
      position: relative;
      z-index: 4;
      max-width: 65%;
      margin: 0;
      color: #fff;
      font: 400 clamp(38px, 3.2vw, 72px) / 0.98 "Righteous", sans-serif;
      letter-spacing: 0.01em;
      text-shadow: 2px 2px 2px black;
      text-transform: capitalize;
  }

  .music-feature-card--right h2 {
      text-align: right;
  }

  .music-showcase .music-feature-card--pop h2 {
      text-align: left;
  }


  /* Group 27022: Kids & Family and Asia & Middle East rows. */

  @media (min-width: 1200px) {
      .music-showcase .music-row--r3,
      .music-showcase .music-row--r4 {
          display: grid !important;
          gap: clamp(14px, 1.19vw, 20px);
      }
      .music-showcase .music-row--r3 {
          grid-template-columns: min(32.74vw, 550px) minmax(0, 1fr) min( 16.61vw, 279px);
          margin-top: clamp(54px, 4.52vw, 76px);
      }
      .music-showcase .music-row--r3> :first-child {
          grid-column: 1;
          justify-self: start;
          width: min(32.74vw, 550px);
      }
      .music-showcase .music-row--r3> :nth-child(2) {
          grid-column: 3;
      }
      .music-showcase .music-row--r4 {
          grid-template-columns: min(26.9vw, 452px) repeat( 4, minmax(0, min(16.61vw, 279px)));
          width: calc(100% + 2.86vw);
          margin-top: clamp(54px, 4.52vw, 76px);
      }
      .music-showcase .music-row--r4> :nth-child(1) {
          grid-column: 2;
      }
      .music-showcase .music-row--r4> :nth-child(2) {
          grid-column: 3;
      }
      .music-showcase .music-row--r4> :nth-child(3) {
          grid-column: 4;
      }
      .music-showcase .music-row--r4> :nth-child(4) {
          grid-column: 5;
      }
      .music-showcase .music-row--r4> :nth-child(5) {
          grid-column: 1;
          grid-row: 1;
          align-self: start;
      }
      .music-showcase .music-row--r3 .music-station-panel,
      .music-showcase .music-row--r4 .music-station-panel {
          box-sizing: border-box;
          min-height: min(37.68vw, 633px);
          height: min(37.68vw, 633px);
      }
      .music-showcase .music-feature-card--kids {
          width: min(32.74vw, 550px);
          min-height: min(31.01vw, 521px);
          height: min(31.01vw, 521px);
          margin-top: clamp(39px, 3.27vw, 55px);
          overflow: visible;
          padding: 0;
          background: transparent;
      }
      .music-showcase .music-feature-card--kids::before {
          width: min(22.86vw, 384px);
          height: min(31.01vw, 521px);
          background: linear-gradient(135deg, #0089ca, #006ba4);
      }
      .music-showcase .music-feature-card--kids .music-feature-card__shade,
      .music-showcase .music-feature-card--asia .music-feature-card__shade {
          display: none;
      }
      .music-showcase .music-feature-card--kids .music-feature-card__image {
          top: 0;
          right: auto;
          bottom: auto;
          left: min(10.12vw, 170px);
          width: min(20.65vw, 347px);
          height: min(31.01vw, 521px);
          object-fit: contain;
      }
      .music-showcase .music-feature-card--kids .music-feature-card__stripe {
          position: absolute;
          top: min(10.18vw, 171px);
          left: min(2.86vw, 48px);
          width: min(13.57vw, 228px);
          height: min(0.83vw, 14px);
          margin: 0;
      }
      .music-showcase .music-feature-card--kids h2 {
          position: absolute;
          top: min(11.85vw, 199px);
          left: min(2.86vw, 48px);
          max-width: none;
          font-size: clamp(38px, 3.57vw, 60px);
          line-height: 1.04;
          text-align: left;
      }
      .music-showcase .music-feature-card--asia {
          width: min(26.9vw, 452px);
          min-height: min(24.11vw, 405px);
          height: min(24.11vw, 405px);
          overflow: visible;
          padding: 0;
          align-items: flex-start;
          background: transparent;
      }
      .music-showcase .music-feature-card--asia::before {
          right: auto;
          left: 0;
          width: min(26.9vw, 452px);
          height: min(24.11vw, 405px);
          background: linear-gradient(135deg, #008cd0, #006da9);
      }
      .music-showcase .music-feature-card--asia .music-feature-card__image {
          top: clamp(-32px, -1.9vw, -20px);
          right: auto;
          bottom: auto;
          left: min(8.33vw, 140px);
          width: min(19.05vw, 320px);
          height: min(28.57vw, 480px);
          object-fit: contain;
      }
      .music-showcase .music-feature-card--asia .music-feature-card__stripe {
          position: absolute;
          top: min(5.6vw, 94px);
          left: min(1.9vw, 32px);
          width: min(8.14vw, 137px);
          height: min(0.83vw, 14px);
          margin: 0;
      }
      .music-showcase .music-feature-card--asia h2 {
          position: absolute;
          top: min(7.68vw, 129px);
          left: min(1.9vw, 32px);
          max-width: min(14.29vw, 240px);
          font-size: clamp(38px, 3.57vw, 60px);
          line-height: 1.04;
          text-align: left;
      }
  }

  @media (max-width: 1199.98px) {
      .music-showcase .music-row--r3,
      .music-showcase .music-row--r4 {
          display: grid !important;
          grid-template-columns: 1fr;
      }
      .music-showcase .music-row--r4> :nth-child(5) {
          order: -1;
      }
  }


  /* The Pop row reserves its final columns for the station group. */

  @media (min-width: 1200px) {
      .music-showcase .music-row--r2 {
          display: grid !important;
          grid-template-columns: minmax(0, 1fr) repeat( 3, minmax(0, min(16.61vw, 279px))) !important;
          gap: clamp(14px, 1.19vw, 20px) !important;
      }
      .music-showcase .music-row--r2> :nth-child(1) {
          grid-column: 2 !important;
      }
      .music-showcase .music-row--r2> :nth-child(2) {
          grid-column: 3 !important;
      }
      .music-showcase .music-row--r2> :nth-child(3) {
          grid-column: 4 !important;
      }
      .music-showcase .music-row--r2> :nth-child(4) {
          grid-column: 1 !important;
          grid-row: 1;
      }
      .music-showcase .music-feature-card--pop {
          width: min(38.15vw, 641px);
          max-width: 100%;
      }
  }


  /* Constrain desktop station lists to their panel rather than the page. */

  @media (min-width: 1200px) {
      /* .music-showcase .music-station-panel {
                    display: flex;
                    flex-direction: column;
                    overflow: hidden;
                } */
      .music-showcase .music-station-panel {
          display: flex;
          flex-direction: column;
          z-index: 9999;
          position: relative;
          overflow: visible;
      }
      .music-showcase .music-station-list {
          flex: 1 1 auto;
          height: auto !important;
          min-height: 0;
      }
  }


  /* Scale the Group 27017 composition across laptop and tablet widths. */

  @media (min-width: 1200px) {
      .music-showcase {
          padding: 4.23vw 0 3.33vw;
      }
      .music-showcase .music-section {
          width: 100%;
          padding-right: 4.52vw;
          box-sizing: border-box;
      }
      .music-showcase .music-row {
          gap: 1.19vw;
      }
      .music-showcase .music-row--r1 {
          grid-template-columns: 32.74vw minmax(0, 1fr) 16.61vw 16.61vw;
      }
      .music-showcase .music-row--r1> :nth-child(2) {
          grid-column: 3;
      }
      .music-showcase .music-row--r1> :nth-child(3) {
          grid-column: 4;
      }
      .music-showcase .music-row--r2 {
          grid-template-columns: 38.15vw 2.74vw repeat(3, 16.61vw);
          margin-top: 4.52vw;
      }
      .music-showcase .music-row--r2> :nth-child(1) {
          grid-column: 3;
      }
      .music-showcase .music-row--r2> :nth-child(2) {
          grid-column: 4;
      }
      .music-showcase .music-row--r2> :nth-child(3) {
          grid-column: 5;
      }
      .music-showcase .music-row--r2> :nth-child(4) {
          grid-column: 1;
          grid-row: 1;
          align-self: start;
      }
      .music-showcase .music-row--r3,
      .music-showcase .music-row--r4 {
          display: none;
      }
      .music-showcase .music-row .music-station-panel {
          box-sizing: border-box;
          min-height: 37.68vw;
          height: 37.68vw;
          padding: 1.43vw 1.31vw 2.02vw;
      }
      .music-showcase .music-station-panel__title {
          margin-bottom: 0.71vw;
          padding: 10px 10px 10px 10px;
          font-size: clamp(20px, 1.67vw, 28px);
      }
      .music-showcase .music-station-list {
          height: calc(100% - 5.65vw);
          padding-right: 0;
      }
      .music-showcase .music-station-link {
          padding: 0.77vw 1.79vw;
          font-size: clamp(12px, 0.83vw, 14px);
          line-height: 1.29;
      }
      .music-showcase .music-feature-card {
          overflow: visible;
          padding: 0;
          background: transparent;
          border: none;
          box-shadow: none;
      }
      .spiritualaside {
          position: relative;
          overflow: hidden;
      }
      .spiritualaside .spiritualImage {
          position: absolute;
          right: 0;
          bottom: -10px;
          height: 92%;
          width: auto;
          object-fit: contain;
          object-position: bottom right;
      }
      .music-showcase .music-feature-card__shade {
          display: none;
      }
      .music-showcase .music-feature-card--featured {
          width: 100%;
          min-height: 31.01vw;
          height: 31.01vw;
          /* margin-top: 3.27vw; */
      }
      .music-showcase .music-feature-card--featured::before {
          width: 70%;
          height: 31.01vw;
          background: linear-gradient(135deg, #0089ca, #006ba4);
      }
      .music-showcase .music-feature-card--featured .music-feature-card__image {
          top: 0;
          right: auto;
          bottom: auto;
          left: 5.95vw;
          width: 23.85vw;
          height: 31.01vw;
          object-fit: contain;
      }
      .music-showcase .music-feature-card--featured .music-feature-card__stripe {
          position: absolute;
          top: 10.18vw;
          left: 3.21vw;
          width: 13.57vw;
          height: 0.83vw;
          margin: 0;
      }
      .music-showcase .music-feature-card--featured h2 {
          position: absolute;
          top: 11.85vw;
          left: 3.21vw;
          max-width: none;
          font-size: clamp(38px, 3.57vw, 60px);
          line-height: 1.04;
          text-align: left;
      }
      .music-showcase .music-feature-card--pop {
          width: 38.15vw;
          min-height: 24.35vw;
          height: 24.35vw;
          margin-top: 6.61vw;
      }
      .music-showcase .music-feature-card--pop::before {
          width: 38.15vw;
          height: 24.35vw;
          background: linear-gradient(135deg, #008cd0, #006da9);
      }
      .music-showcase .music-feature-card--pop .music-feature-card__image {
          top: 0;
          right: auto;
          bottom: auto;
          left: 0;
          width: 36.49vw;
          height: 24.35vw;
          object-fit: contain;
      }
      .music-showcase .music-feature-card--pop .music-feature-card__stripe {
          position: absolute;
          top: 8.27vw;
          left: 1.31vw;
          width: 13.57vw;
          height: 0.83vw;
          margin: 0;
      }
      .music-showcase .music-feature-card--pop h2 {
          position: absolute;
          top: 10.36vw;
          left: 1.31vw;
          max-width: 25.6vw;
          font-size: clamp(34px, 3.33vw, 56px);
          line-height: 1.05;
          text-align: left;
      }
  }


  /* On phones, keep the same content and direction in a readable stack. */

  @media (max-width: 1199.98px) {
      .music-showcase .music-row--r1,
      .music-showcase .music-row--r2 {
          grid-template-columns: 1fr;
      }
      .music-showcase .music-row--r3,
      .music-showcase .music-row--r4 {
          display: none;
      }
      .music-showcase .music-row--r2> :nth-child(4) {
          order: -1;
      }
  }


  /* Keep the Pop row's station group attached to the right on desktop. */

  @media (min-width: 1200px) {
      .music-showcase .music-row--r2 {
          grid-template-columns: minmax(0, 1fr) repeat(3, 16.61vw);
      }
      .music-showcase .music-row--r2> :nth-child(1) {
          grid-column: 2;
      }
      .music-showcase .music-row--r2> :nth-child(2) {
          grid-column: 3;
      }
      .music-showcase .music-row--r2> :nth-child(3) {
          grid-column: 4;
      }
      .music-showcase .music-row--r2> :nth-child(4) {
          grid-column: 1;
      }
  }

  .music-feature-card--compact h2 {
      font-size: clamp(30px, 2.8vw, 54px);
  }

  .music-station-panel {
      /* min-height: 580px; */
      padding: 14px 10px 11px;
      height: 700px;
      border: 1px solid rgba(142, 217, 255, 0.16);
      border-radius: 32px;
      background: rgba(4, 163, 255, 0.12);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
      backdrop-filter: blur(8px);
  }

  .music-station-panel__title {
      /* margin: 0 0 18px; */
      padding: 12px 34px 18px;
      border-bottom: 2px solid rgba(142, 217, 255, 0.34);
      color: #fff;
      font: 600 clamp(24px, 1.9vw, 34px) / 1.35 "Roboto", sans-serif;
      text-transform: capitalize;
      margin: 0 0 6px;
      width: 100%;
      display: block;
  }

  .music-station-list {
      height: calc(100% - 86px);
      overflow-y: auto;
      padding-right: 8px;
      scrollbar-color: #29adff rgba(0, 13, 22, 0.22);
      scrollbar-width: thin;
  }

  .music-station-list::-webkit-scrollbar {
      width: 10px;
      height: 10px;
  }

  .music-station-list::-webkit-scrollbar-track {
      background: rgba(0, 13, 22, 0.22);
      border-radius: 999px;
  }

  .music-station-list::-webkit-scrollbar-thumb {
      border-radius: 999px;
      background: linear-gradient(180deg, #2cc5ff, #159cff);
  }

  .music-station-link {
      display: block;
      padding: 12px 34px;
      width:100%;
      border-bottom: 1px solid rgba(22, 170, 255, 0.2);
      color: #fff !important;
      font: 500 clamp(16px, 1.5vw, 26px) / 1.75 "Roboto", sans-serif;
      text-decoration: none;
      text-transform: capitalize;
      white-space: nowrap;
  }

  .music-station-link:last-child {
      border-bottom: 0;
  }

  .music-station-link:hover {
      background: rgba(255, 255, 255, 0.04);
      color: #fff;
  }

  .music-stations {
      padding: 56px 0 96px;
  }

  .music-section-heading {
      margin-bottom: 26px;
  }

  .music-section-heading h2 {
      margin: 0;
      color: #fff;
      font: 400 clamp(36px, 3.4vw, 54px) / 1.1 "Righteous", sans-serif;
      text-transform: capitalize;
  }

  .music-section-heading p {
      max-width: 1600px;
      margin: 14px 0 0;
      color: #fff;
      font: 500 clamp(14px, 1.15vw, 20px) / 1.4 "Roboto", sans-serif;
  }

  .music-section-heading__bar {
      width: min(608px, 100%);
      height: 16px;
      margin-top: 24px;
      border-radius: 999px;
      background: linear-gradient(90deg, #005185, #048eeb);
  }

  .music-stations-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .brandName>a {
      width: 28px !important;
      min-width: 28px !important;
      display: flex !important;
      align-items: center;
      margin-top: 8px;
      justify-content: center;
  }

  .brandName>a img {
      width: 20px !important;
      height: 20px !important;
      display: block !important;
      visibility: visible !important;
      opacity: 1 !important;
  }

  .brandName>a {
      position: relative;
      z-index: 10;
      pointer-events: auto !important;
      cursor: pointer;
  }

  .music-stations-grid .music-station-panel {
      min-height: 1309px;
  }

  .music-stations-grid .music-station-list {
      height: 1150px;
  }

  .music-page .site-footer {
      margin-top: 0;
  }

  @media (max-width: 768px) {
      .submit-hero-copy h2 {
          display: -webkit-box !important;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 6;
          overflow: hidden;
          margin-bottom: 0;
      }
      .submit-hero-copy h2.is-expanded {
          display: block;
          -webkit-line-clamp: unset;
          overflow: visible;
      }
      .submit-hero-show-more {
          display: inline-block;
          margin-top: 6px;
          padding: 0;
          border: 0;
          background: transparent;
          color: #fff;
          font-size: 13px;
          font-weight: 600;
          text-decoration: underline;
          cursor: pointer;
      }
  }

  @media (max-width: 1399.98px) {
      .music-section {
          width: min(1671px, calc(100% - 40px));
      }
      .music-row {
          gap: 18px;
      }
      .music-feature-card {
          min-height: 520px;
      }
      .music-feature-card--compact {
          min-height: 400px;
      }
      .music-station-panel {
          min-height: 620px;
      }
      .music-stations-grid .music-station-panel {
          min-height: 1120px;
      }
      .music-stations-grid .music-station-list {
          height: 980px;
      }
  }

  @media (max-width: 1199.98px) {
      .music-row {
          grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .music-feature-card {
          min-height: 500px;
      }
      .music-feature-card--compact {
          min-height: 360px;
      }
      .music-station-panel {
          min-height: 540px;
      }
      .music-stations-grid {
          gap: 28px;
      }
      .music-stations-grid .music-station-panel {
          min-height: 980px;
      }
      .music-stations-grid .music-station-list {
          height: 860px;
      }
  }

  @media (max-width: 991.98px) {
      .music-showcase,
      .music-stations {
          background-position: center top;
      }
      .music-row--r1,
      .music-row--r2,
      .music-row--r3,
      .music-row--r4 {
          grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .music-stations-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .music-stations-grid .music-station-panel:last-child {
          grid-column: 1 / -1;
      }
  }

  @media (max-width: 767.98px) {
      .music-feature-card__image {
          object-fit: contain;
          object-position: center right;
      }
      .music-feature-card__shade {
          background: linear-gradient( 90deg, rgba(5, 29, 47, 0.96) 0%, rgba(5, 29, 47, 0.68) 48%, rgba(5, 29, 47, 0.02) 82%);
      }
      .music-feature-card {
          min-height: 237px !important;
      }
      .music-showcase {
          padding-top: 24px;
      }
      .music-section {
          width: calc(100% - 24px);
      }
      .music-row--r1,
      .music-row--r2,
      .music-row--r3,
      .music-row--r4,
      .music-stations-grid {
          grid-template-columns: 1fr;
      }
      .music-row+.music-row {
          margin-top: 24px;
      }
      .music-feature-card,
      .music-feature-card--compact,
      .music-station-panel,
      .music-stations-grid .music-station-panel {
          min-height: 0;
      }
      .music-feature-card {
          aspect-ratio: 16 / 10;
      }
      .music-feature-card--compact {
          aspect-ratio: 16 / 9;
      }
      .music-feature-card {
          padding: 22px;
      }
      .music-feature-card h2 {
          max-width: 72%;
          font-size: clamp(24px, 7vw, 38px);
      }
      .music-feature-card--right h2 {
          text-align: right;
      }
      .music-feature-card__stripe {
          width: 46%;
          height: 6px;
          margin-bottom: 16px;
      }
      .music-station-panel {
          justify-content: normal;
          padding: 1px 26px 12px 26px;
          background: linear-gradient( 90deg, rgba(5, 29, 47, 0.96) 0%, rgba(5, 29, 47, 0.68) 48%, rgba(5, 29, 47, 0.02) 82%);
          border-radius: 22px;
          height: 400px;
          display: inline-grid;
          width: 100%;
          box-sizing: border-box !important;
          overflow: hidden;
          border: none !important;
      }
      .music-station-panel__title {
          border-bottom: none !important;
      }
      .music-station-panel__title {
          padding: 16px 2px 5px;
          font-size: 22px;
      }
      .music-station-list {
          height: auto;
          max-height: 333px;
          margin-top: 10px;
      }
      .music-station-link {
          padding: 10px 4px;
          font-size: 16px;
          line-height: 1.45;
      }
      .music-stations {
          padding: 40px 0 72px;
      }
      .music-section-heading h2 {
          font-size: clamp(28px, 9vw, 36px);
      }
      .music-section-heading p {
          font-size: 13px;
          line-height: 1.5;
      }
      .music-section-heading__bar {
          height: 12px;
          margin-top: 18px;
      }
      .music-stations-grid {
          gap: 18px;
      }
  }

  @media (max-width: 479.98px) {
      .music-section {
          width: calc(100% - 18px);
      }
      .music-feature-card {
          padding: 16px;
      }
      .music-feature-card h2 {
          font-size: clamp(22px, 8.6vw, 30px);
      }
      .music-feature-card--right h2 {
          text-align: right;
      }
      .music-station-panel__title {
          font-size: 20px;
      }
      .music-station-link {
          font-size: 17px;
      }
  }


  /* Music page: desktop spacing follows the Stations List frame in Figma. */

  @media (min-width: 1200px) {
      .music-stations {
          padding-top: 96px;
      }
      .music-section-heading {
          margin-bottom: 82px;
      }
  }


  /* Wide-screen category mosaic from the Music frame. */

  @media (min-width: 1400px) {
      .music-showcase {
          padding: 113px 0 72px;
      }
      .music-row {
          column-gap: 24px;
      }
      .music-row--r1 {
          grid-template-columns: 445px minmax(0, 1fr) 317px 317px;
      }
      .music-row--r1> :nth-child(2) {
          grid-column: 3;
      }
      .music-row--r1> :nth-child(3) {
          grid-column: 4;
      }
      .music-row--r2 {
          grid-template-columns: 317px 317px 317px minmax(0, 1fr) 445px;
      }
      .music-row--r2> :nth-child(4) {
          grid-column: 5;
          align-self: center;
      }
      .music-row--r3 {
          grid-template-columns: 445px minmax(0, 1fr) 317px 317px;
      }
      .music-row--r3> :nth-child(2) {
          grid-column: 3;
      }
      .music-row--r3> :first-child {
          grid-column: 1 / 3;
          justify-self: center;
          width: 445px;
      }
      .music-row--r4 {
          grid-template-columns: repeat(4, minmax(0, 1fr)) 445px;
      }
      .music-row--r4> :nth-child(5) {
          grid-column: 5;
          align-self: center;
      }
      .music-row--r1 .music-feature-card,
      .music-row--r3 .music-feature-card {
          min-height: 592px;
          margin-top: 61px;
      }
      .music-row .music-station-panel {
          min-height: 716px;
      }
      .music-row--r2 .music-feature-card,
      .music-row--r4 .music-feature-card {
          min-height: 0;
          aspect-ratio: 3 / 2;
      }
      .music-feature-card {
          border: 0;
          border-radius: 0;
          box-shadow: none;
      }
      .music-row--r2 {
          margin-top: 86px;
      }
      .music-row--r3 {
          margin-top: 144px;
      }
      .music-row--r4 {
          margin-top: 86px;
      }
  }


  /* Group 27017: two-row music showcase composition. */

  @media (min-width: 1200px) {
      .music-showcase {
          padding: 71px 0 56px;
      }
      .search-category-dropdown {
          /* left: 29% !important; */
          left: 26%;
      }
      .music-showcase .music-section {
          width: 100%;
          padding-right: 84px;
          box-sizing: border-box;
          /* padding: 27px !important; */
          padding: 0px !important;
      }
      .music-showcase .music-row {
          gap: 20px;
      }
      .music-showcase .music-row--r1 {
          grid-template-columns: 550px minmax(0, 1fr) 279px 279px;
      }
      .music-showcase .music-row--r2 {
          grid-template-columns: 641px 46px repeat(3, 279px);
          margin-top: 76px;
      }
      .music-showcase .music-row--r2> :nth-child(1) {
          grid-column: 3;
      }
      .music-showcase .music-row--r2> :nth-child(2) {
          grid-column: 4;
      }
      .music-showcase .music-row--r2> :nth-child(3) {
          grid-column: 5;
      }
      .music-showcase .music-row--r2> :nth-child(4) {
          grid-column: 1;
          grid-row: 1;
          align-self: start;
      }
      .music-showcase .music-row--r3 {
          display: none;
      }
      .music-showcase .music-row .music-station-panel {
          box-sizing: border-box;
          min-height: 633px;
          height: 633px;
      }
      .music-showcase .music-station-panel__title {
          margin-bottom: 12px;
          font-size: 28px;
          line-height: 1.35;
      }
      .music-showcase .music-station-list {
          height: 520px;
          padding-right: 0;
      }
      .music-showcase .music-station-link {
          padding: 10px 4px;
          font-size: 15px;
          line-height: 18px !important;
      }
      .music-showcase .music-feature-card {
          overflow: visible;
          padding: 0;
          background: transparent;
      }
      .music-showcase .music-feature-card__shade {
          display: none;
      }
      .music-showcase .music-feature-card--featured {
          width: 550px;
          min-height: 521px;
          margin-left: 30px;
          height: 521px;
          margin-top: 55px;
          /* margin-left: 55px; */
      }
      .music-showcase .col-xl-spiritual article {
          margin-left: auto;
      }
      .music-feature-card .music-feature-card--featured.subDiv .music-feature-card__stripe {
          left: 19% !important;
      }
      .music-feature-card .music-feature-card--featured.subDiv h2 {
          left: 19% !important;
      }
      .spiritualaside {
          /* width: 900px !important; */
          width: 100% !important;
          height: 546px !important;
      }
      .spiritualImage {
          width: 854px !important;
          height: 521px !important;
      }
      .customImage {
          width: 1061px !important;
          height: 724px !important;
          max-width: none !important;
          max-height: none !important;
          z-index: 0;
          left: 150px !important;
          top: -160px !important;
      }
      .kidsImage {
          width: 854px !important;
          height: 521px !important;
          left: -45px !important;
      }
      .holidayImage {
          left: 210px !important;
          height: 675px !important;
      }
      .popImage {
          width: 550px !important;
          height: 533px !important;
          z-index: 0 !important;
      }
      .urbanImage {
          height: 554px !important;
      }
      .music-showcase .music-feature-card--featured::before {
          width: 395px;
          height: 521px;
          background: linear-gradient(135deg, #0089ca, #006ba4);
      }
      .music-showcase .music-feature-card--featured .music-feature-card__image {
          top: 0;
          right: auto;
          bottom: auto;
          left: 100px;
          width: 451px;
          height: 521px;
          object-fit: contain;
      }
      .music-showcase .music-feature-card--featured .music-feature-card__image.unevenimg {
          height: 591px;
      }
      .music-showcase .music-feature-card--featured .music-feature-card__image.featuredImage {
          width: 552px;
      }
      .music-showcase .music-feature-card--featured .music-feature-card__stripe {
          position: absolute;
          top: 171px;
          left: 54px;
          width: 228px;
          height: 14px;
          margin: 0;
      }
      .music-showcase .music-feature-card--featured h2 {
          position: absolute;
          top: 199px;
          left: 54px;
          max-width: none;
          font-size: 50px;
          line-height: 1.04;
          text-align: left;
          text-shadow: 2px 2px 2px black;
      }
      .music-showcase .music-feature-card--pop {
          width: 641px;
          min-height: 409px;
          height: 409px;
          margin-top: 111px;
      }
      .music-showcase .music-feature-card--pop::before {
          width: 641px;
          height: 409px;
          background: linear-gradient(135deg, #008cd0, #006da9);
      }
      .music-showcase .music-feature-card--pop .music-feature-card__image {
          top: 0;
          right: auto;
          bottom: auto;
          left: 0;
          width: 613px;
          height: 409px;
          object-fit: contain;
      }
      .music-showcase .music-feature-card--pop .music-feature-card__stripe {
          position: absolute;
          top: 139px;
          left: 22px;
          width: 228px;
          height: 14px;
          margin: 0;
      }
      .music-showcase .music-feature-card--pop h2 {
          position: absolute;
          top: 174px;
          left: 22px;
          max-width: 430px;
          font-size: 56px;
          line-height: 1.05;
          text-align: left;
      }
  }

  @media (width: 1280px) {
      .music-showcase .col-xl-spiritual article {
          margin-left: -54px;
      }
  }
  @media screen and (min-width: 1513px) {
      .search-category-dropdown {
          left: 29% !important;
      }
  }


  /* Keep Pop's card direction consistent with Featured at every breakpoint. */

  .music-showcase .music-feature-card--pop {
      align-items: flex-start;
  }

  .music-showcase .music-feature-card--pop::before {
      right: auto;
      left: 0;
  }

  .music-showcase .music-feature-card--pop .music-feature-card__stripe {
      margin-left: 0;
  }

  .music-showcase .music-feature-card--pop .music-feature-card__image--right {
      object-position: center right;
  }

  .music-showcase .music-feature-card--pop .music-feature-card__shade--right {
      background: linear-gradient( 90deg, rgba(5, 29, 47, 0.96) 0%, rgba(5, 29, 47, 0.68) 48%, rgba(5, 29, 47, 0.02) 82%);
  }

  .music-showcase .music-feature-card--pop h2 {
      text-align: left;
  }

  .music-feature-card {
      position: relative;
      min-height: 560px;
      border: 1px solid rgba(159, 220, 255, 0.24);
      border-radius: 28px;
      overflow: hidden;
      background: linear-gradient( 180deg, rgba(0, 84, 126, 0.96), rgba(0, 129, 199, 0.76));
      box-shadow: inset 0 1px 0 rgb(255 255 255 / 14%), 0 18px 42px rgb(0 0 0 / 18%);
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: flex-start;
      padding: 34px;
      width: 100%;
  }

  .h-fit {
      height: fit-content !important;
  }


  /* Station Categories Page Styles */

  .station-categories-page {
      background-color: #011d2d;
  }

  .categories-main {
      padding: 60px 0 100px;
      position: relative;
      z-index: 1;
      background-image: url("../images/station-categories-bg.jpg");
      background-size: cover;
      background-position: center top;
      background-repeat: no-repeat;
  }

  .categories-header {
      text-align: center;
      margin-bottom: 60px;
  }

  .categories-title {
      font-family: "Poppins", sans-serif;
      font-size: 2.25rem;
      font-weight: 600;
      margin-bottom: 16px;
      color: #fff;
      letter-spacing: 1px;
  }

  .categories-desc {
      font-size: 1rem;
      color: #e0f2fe;
      max-width: 700px;
      margin: 0 auto;
      line-height: 1.6;
  }

  .category-masonry {
      display: flex;
      justify-content: center;
      gap: 20px;
      width: min(100%, 1440px);
      max-width: 1440px;
      margin: 0 auto;
      padding: 0 20px;
  }

  .masonry-col {
      display: flex;
      flex-direction: column;
      gap: 20px;
      flex: 0 0 220px;
      max-width: 260px;
  }

  .masonry-col-1,
  .masonry-col-5 {
      margin-top: 140px;
  }

  .masonry-col-2,
  .masonry-col-4 {
      margin-top: 70px;
  }

  .masonry-col-3 {
      margin-top: 0;
  }

  .category-card {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      position: relative;
      border-radius: 20px;
      overflow: hidden;
      text-decoration: none;
      /* background: linear-gradient(180deg, #19c6ff 0%, #0a81ba 100%); */
      border: 1px solid rgba(255, 255, 255, 0.06);
      box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5), 12px -12px 36px rgba(2, 198, 255, 0.04);
      /*padding: 15px;*/
      padding: 20px;
      transition: transform 0.28s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.28s ease;
      transform: translateY(0);
  }

  .category-card::before {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      pointer-events: none;
      box-shadow: inset 1px 1px 1.5px rgba(255, 255, 255, 0.45), inset -1px -1px 1.5px rgba(255, 255, 255, 0.12);
  }


  /* .category-card::after {
              content: "";
              position: absolute;
              inset: 12px;
              border-radius: 14px;
              pointer-events: none;
              border: 1px solid rgba(255, 255, 255, 0.03);
              box-shadow: inset 0 -8px 24px rgba(3, 29, 38, 0.18);
            } */

  .category-card:hover {
      transform: translateY(-10px);
      box-shadow: 0 28px 70px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(9, 198, 255, 0.14);
      z-index: 12;
  }

  .category-thumb-wrap {
      position: relative;
      width: 100%;
      padding-top: 100%;
      background: rgba(255, 255, 255, 0.06);
      border-radius: 12px;
      overflow: hidden;
      transition: background 0.28s ease, box-shadow 0.28s ease;
  }

  .category-thumb {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 10px;
      transition: transform 0.35s ease, filter 0.35s ease;
      display: block;
  }

  .category-card:hover .category-thumb {
      transform: scale(1.04);
      filter: saturate(1.08) brightness(1.04);
  }

  .category-card:hover .category-thumb-wrap {
      background: rgba(255, 255, 255, 0.14);
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  }

  .category-card:hover .category-title-bar {
      transform: translateY(-3px);
  }

  .category-title-bar {
      transition: transform 0.3s ease, background 0.3s ease;
      background: transparent;
      border: none;
      box-shadow: none;
      padding: 0;
      margin: 18px 0 8px;
  }

  .category-card:hover .category-title-bar {
      background: transparent;
  }

  .category-overlay {
      position: absolute;
      inset: 0;
      background: rgba(2, 46, 73, 0.88);
      backdrop-filter: blur(12px);
      display: flex;
      flex-direction: column;
      /* justify-content: flex-end; */
      align-items: flex-start;
      padding: 24px 18px;
      opacity: 0;
      visibility: hidden;
      transform: translateY(16px);
      transition: opacity 0.26s ease, transform 0.26s ease, visibility 0.26s ease;
      text-align: left;
      z-index: 2;
      border-radius: inherit;
      border: 1px solid rgba(255, 255, 255, 0.08);
  }

  .category-card:hover .category-overlay {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
  }


  /* Title pill sits over the image (bottom) for better composition */

  .category-title-bar {
      width: 100%;
      padding: 0;
      text-align: center;
      border-radius: 0;
      background: transparent;
      border: none;
      box-shadow: none;
      margin: 18px 0 0px;
      display: block;
  }

  @media (hover: hover) {
      .category-card:hover .category-overlay {
          opacity: 1;
      }
  }

  .category-title {
      color: #ffffff;
      font-family: "Poppins", sans-serif;
      font-size: 1.25rem;
      font-weight: 700;
      margin: 0 0 10px;
      text-transform: none;
      letter-spacing: 0.02em;
  }

  .ind-read-more {
      display: inline;
      border: 0;
      padding: 0;
      margin: 0 0 0 3px;
      text-align: inherit;
      background: none;
      color: #fff;
      font: inherit;
      font-weight: 700;
      cursor: pointer;
  }

  .category-overlay-desc {
      color: rgba(255, 255, 255, 0.95);
      font-size: 0.95rem;
      line-height: 1.6;
      margin: 0;
  }

  img.lang-select__arrow.lang_arrow_down {
      width: 13%;
  }


  @media (max-width: 1199.98px) {
      .category-masonry {
          gap: 16px;
          padding: 0 16px;
          width: min(100%, 1100px);
          max-width: 1100px;
          display: flex;
          flex-wrap: nowrap;
          align-items: flex-start;
          justify-content: flex-start;
          gap: 16px;
          width: 100%;
          max-width: 1100px;
          height: 700px;
          overflow-x: auto;
          overflow-y: auto;
          padding: 0 16px 16px;
          box-sizing: border-box;
      }
      .category-masonry.m1 {
          display: grid !important;
          grid-template-columns: repeat(3, minmax(0, 1fr));
          grid-auto-flow: row !important;
          gap: 10px !important;
          width: 100% !important;
          max-height: 100% !important;
          overflow-y: auto !important;
          overflow-x: hidden !important;
          align-items: start !important;
      }
      .category-masonry {
          grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
          gap: 10px !important;
          /* width: 100% !important; */
          width: 70% !important;
          max-height: 100% !important;
          overflow-y: auto !important;
          overflow-x: auto !important;
          align-items: start !important;
      }
      .masonry-col {
          flex: 0 0 100%;
          max-width: 100%;
          display: flex;
          flex-wrap: wrap;
          flex-direction: row;
          margin-top: 0 !important;
          flex: 0 0 calc((100% - 32px) / 3);
          display: flex;
          flex-direction: column;
          flex-wrap: nowrap;
          gap: 16px;
          display: contents !important;
      }
      .category-card {
          flex: 0 0 auto;
          /* height: 382px; */
          /* height: auto; */
          height: 340px;
          height: 100%;
          width: calc(50% - 20px);
      }
      .category-title {
          font-size: 1.15rem;
      }
      .category-card {
          width: 100%;
          flex: 0 0 auto;
      }
      .site-footer {
          padding: 26px !important;
      }
      /* =========================================
               COMPOSER HORIZONTAL SCROLL
            ========================================= */
      .categories-main {
          width: 100%;
          overflow: hidden;
      }
      .categories-header {
          text-align: center;
          margin-bottom: 39px;
      }
      /* This becomes the scroll container */
      .categories-main>.container-fluid {
          width: 100%;
          max-width: 100%;
          overflow-x: auto !important;
          overflow-y: visible;
          -webkit-overflow-scrolling: touch;
          scrollbar-width: thin;
      }
      /* Force masonry to be wider than viewport */
      .category-masonry {
          display: flex !important;
          flex-wrap: nowrap !important;
          width: 100% !important;
          min-width: 100% !important;
          gap: 20px;
          margin: 0 !important;
          padding: 15px 20px 25px !important;
          /* height: 55%; */
          height: auto;
      }
      /* Every composer column */
      .category-masonry .masonry-col {
          display: block !important;
          flex: 0 0 300px !important;
          /* width: 241px !important; */
          /* min-width: 241px !important; */
          /* max-width: 234px !important; */
          width: 100% !important;
          min-width: 100% !important;
          max-width: 100% !important;
          margin: 0 !important;
      }
      .composer-Card .masonry-col {
          width: 100% !important;
          min-width: 100% !important;
          max-width: 100% !important;
      }
      .category-masonry.music-genre-cards {
          display: grid !important;
          grid-template-columns: repeat(3, minmax(0, 1fr));
      }
      .category-masonry.music-genre-cards .category-card {
          height: 100% !important;
      }
      .category-masonry.music-genre-cards .masonry-col {
          display: contents !important;
      }
      .composer-Card {
          display: grid !important;
          grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
          gap: 12px;
          width: 100%;
          max-width: 100%;
          overflow-x: hidden;
          box-sizing: border-box;
      }
      .composer-Card.category-masonry .category-card {
          /* height: auto !important; */
      }
      /* Cards */
      .category-masonry .category-card {
          display: block !important;
          /* flex: 0 0 230px !important; */
          width: 100% !important;
          min-width: 100% !important;
          max-width: 100% !important;
          /* margin: 17px !important; */
          float: none !important;
          height: 100%;
      }
      category-thumb {
          height: 100% !important;
      }
      .category-masonry {
          display: grid;
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 12px;
          width: 100%;
          box-sizing: border-box;
      }
      .category-masonry .masonry-col {
          display: contents !important;
      }
      .category-masonry .category-card {
          width: 100%;
          /* margin: 6px 6px; */
          box-sizing: border-box;
          overflow: hidden;
      }
      .category-masonry .category-thumb-wrap,
      .category-masonry .category-thumb {
          width: 100%;
          box-sizing: border-box;
      }
      .category-masonry .category-thumb {
          display: block;
          height: auto;
      }
      .category-masonry *,
      .category-masonry *::before,
      .category-masonry *::after {
          box-sizing: border-box;
      }
  }

  @media (min-width: 1030px) and (max-width: 1199.98px) {
      .rbox-section__product canvas {
          left: 56%;
      }
  }

  @media (max-width: 991.98px) {
      .category-masonry {
          display: flex;
          /* flex-wrap: wrap; */
          gap: 14px;
          padding: 0 16px;
          width: 100%;
      }
      .masonry-col {
          /* flex: 0 0 calc(50% - 12px);
                max-width: calc(50% - 12px);
                margin-top: 0 !important; */
      }
      .category-card {
          min-height: auto;
          padding: 16px;
          height: 100% !important;
      }
      /* .category-thumb-wrap {
                padding: 14px;
              } */
      .category-thumb {
          width: 100%;
          height: auto;
          /* max-height: 220px; */
      }
      .category-title-bar {
          /* padding: 12px 14px; */
          padding-top: 0 !important;
          margin: 10px 0 0px;
      }
      .category-title {
          font-size: 1.15rem;
      }
  }

  .ind-hero-sub.expanded {
      -webkit-line-clamp: unset;
  }

  @media (max-width: 575.98px) {
      .category-masonry .category-card {
          width: 100% !important;
          min-width: 100% !important;
          max-width: 100% !important;
      }
      .category-masonry {
          gap: 12px;
          padding: 0 12px;
          height: auto;
      }
      .ind-hero-sub {
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 5;
          overflow: hidden;
          height: 100% !important;
          margin-bottom: 0px !important;
      }
      .ind-hero-sub.expanded {
          -webkit-line-clamp: unset;
      }
      .ind-read-more {
          display: inline;
          border: 0;
          padding: 0;
          text-align: inherit;
          margin: 0 0 0 3px;
          background: none;
          color: #fff;
          font: inherit;
          font-weight: 700;
          cursor: pointer;
      }
      .masonry-col {
          flex: 0 0 100%;
          max-width: 100%;
      }
      .category-card {
          padding: 14px;
          height: auto !important;
      }
      .category-thumb-wrap {
          /* padding: 12px; */
      }
      .category-thumb {
          max-height: 260px;
      }
      .category-title-bar {
          padding: 10px 12px;
          border-radius: 14px;
      }
      .category-title {
          font-size: 1.05rem;
      }
      .categories-title {
          font-size: 1.8rem;
      }
      .categories-desc {
          max-width: 100%;
          padding: 0 10px;
      }
      /* === Station Categories Page Styles - START === */
      /* Station categories page — scoped styles appended here */
      .station-categories-page {
          background-color: #011d2d;
          /* padding: 56px 0 96px; */
      }
      .station-categories-page .categories-main {
          max-width: 1440px;
          margin: 0 auto;
          padding: 16px;
      }
      .category-masonry {
          display: flex;
          flex-wrap: wrap;
          gap: 24px;
          justify-content: center;
          width: 100%;
          padding: 0 12px;
          box-sizing: border-box;
      }
      /* .masonry-col {
                    flex: 0 0 240px;
                    max-width: 240px;
                } */
      .category-card {
          position: relative;
          width: 100%;
          background: linear-gradient( 180deg, rgba(1, 29, 45, 0.6), rgba(2, 46, 73, 0.45));
          border-radius: 14px;
          overflow: hidden;
          display: flex;
          flex-direction: column;
          height: 96% !important;
      }
      .category-thumb-wrap {
          width: 100%;
          /* padding: 0; */
          /* position: static; */
          /* reset earlier absolute/relative sizing */
      }
      .category-thumb {
          display: block;
          width: 100%;
          height: 180px;
          object-fit: cover;
          /* position: static; */
          /* ensure image participates in normal flow on this page */
      }
      .category-title-bar {
          padding: 0px;
          padding-top: 5px !important;
          padding-bottom: 0px !important;
          display: block !important;
          display: flex;
          align-items: center;
          justify-content: center;
      }
      .category-title {
          margin: 0;
          color: #fff;
          font-size: 1.1rem;
          font-weight: 600;
      }
      .category-overlay {
          position: absolute;
          inset: 0;
          background: rgba(0, 0, 0, 0.6);
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          opacity: 0;
          transition: opacity 0.22s ease;
          padding: 16px;
          text-align: center;
      }
      .category-card:hover .category-overlay {
          opacity: 1;
      }
      .category-overlay-title {
          color: #fff !important;
          font-size: 1.25rem;
          font-weight: 700;
          margin: 0 0 8px;
      }
      .category-overlay-desc {
          color: rgba(255, 255, 255, 0.95);
          font-size: 0.95rem;
          line-height: 1.4;
          margin: 0;
          max-width: 90%;
      }
      /* Responsive tweaks */
      .category-card:hover .category-overlay {
          opacity: 1;
          transform: translateY(0);
      }
  }

  @media (max-width: 1199.98px) {
      /* .masonry-col {
                flex: 0 0 220px;
                max-width: 220px;
                } */
  }

  @media (max-width: 991.98px) {
      .category-masonry {
          gap: 18px;
          padding: 0 14px;
      }
      .masonry-col {
          flex: 0 0 calc(50% - 12px);
          max-width: calc(50% - 12px);
      }
      .category-thumb {
          height: 180px;
      }
      .category-thumb {
          height: 100%;
      }
  }

  @media (max-width: 767.98px) {
      .categories-main {
          padding: 42px 0 60px;
      }
      .categories-title {
          font-size: 1.95rem;
      }
      .categories-desc {
          font-size: 0.96rem;
          max-width: 100%;
      }
      .masonry-col {
          flex: 0 0 calc(50% - 12px);
          max-width: calc(50% - 12px);
      }
      .category-thumb {
          height: 180px;
      }
  }

  @media (max-width: 575.98px) {
      .category-masonry {
          display: grid !important;
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          gap: 12px !important;
          width: 100% !important;
          max-width: 100% !important;
          padding: 0 0px !important;
          overflow-x: hidden !important;
          overflow-y: visible !important;
          box-sizing: border-box !important;
      }
      .category-masonry {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          gap: 12px !important;
      }
      .category-masonry .masonry-col {
          display: contents !important;
      }
      .categories-main {
          padding: 36px 0 50px;
      }
      .categories-main .container-fluid{
          padding-right: 0.9rem!important;
          padding-left: 0.9rem!important;
      }
      .music-genre-cards {
        gap: 7px !important;
        row-gap: 12px !important;
        padding: 0 10px !important;
        padding-left: 0 !important;
      }
      .categories-title {
          font-size: 1.55rem;
      }
      .categories-desc {
          font-size: 0.9rem;
          padding: 0 10px;
      }
      .masonry-col {
          flex: 0 0 100% !important;
          max-width: 100% !important;
      }
      .category-thumb {
          height: 220px;
      }
      .category-title {
          font-size: 1rem;
      }
      .category-overlay-title {
          font-size: 1.05rem;
      }
      .category-overlay-desc {
          font-size: 0.92rem;
      }
  }


  /* Show overlay when a card has been toggled open (tap-first behavior) */

  .category-card.overlay-open .category-overlay,
  .category-card:focus-within .category-overlay {
      opacity: 1 !important;
      visibility: visible !important;
      transform: translateY(0) !important;
  }


  /* === Station Categories Page Styles - END === */

  .category-overlay-title {
      color: #fff !important;
      font-size: 1.25rem;
      font-weight: 700;
      margin: 0 0 8px;
  }

  @media screen and (max-width: 767px) {
      .category-thumb {
          height: auto;
          /* max-height: none; */
      }
  }


  /* ==========================================
               MUSIC PLAYLIST PAGE
            ========================================== */

  .music-playlist-page {
      width: 100%;
      overflow: hidden;
      color: #ffffff;
      font-family: "Roboto", Arial, sans-serif;
  }


  /* ==========================================
             COMMON CONTAINER
            ========================================== */

  .music-playlist-container,
  .music-playlist-station-container,
  .music-playlist-business-container {
      width: 100%;
      max-width: 1920px;
      margin: 0 auto;
  }


  /* ==========================================
             HERO SECTION
            ========================================== */

  .music-playlist-hero {
      /* min-height: 1141px; */
      /* min-height: 965px; */
      /* padding:80px 6%; */
      padding: 40px 6% 80px;
      background: linear-gradient(180deg, #3b82bc 0%, #002238 100%);
  }

  .music-playlist-hero-header {
      display: flex;
      /* align-items:flex-start; */
      align-items: center;
      gap: 40px;
  }

  .music-playlist-hero-image {
      /* width:440px; */
      width: 360px;
      /* height:525px; */
      flex-shrink: 0;
  }

  .music-playlist-hero-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 34px;
  }

  .music-playlist-hero h1 {
      margin: 0;
      max-width: 1050px;
      font-size: clamp(55px, 6vw, /* 112px */
      51px);
      line-height: 1;
      font-weight: 800;
      text-transform: capitalize;
  }

  .music-playlist-hero h1 span {
      color: #0e91f6;
  }


  /* ==========================================
             GENRE CARDS
            ========================================== */


  /* ==========================================
               GENRE SLIDER
            ========================================== */

  .music-playlist-genre-slider {
      width: 100%;
      overflow: hidden;
      position: relative;
  }


  /* ==========================================
               GENRE TRACK
            ========================================== */

  .music-playlist-genre-wrapper {
      display: flex;
      gap: 32px;
      margin: 40px 0 0;
      transition: transform 0.5s ease-in-out;
      will-change: transform;
  }


  /* ==========================================
               GENRE CARD
            ========================================== */

  .music-playlist-genre-card {
      width: 500px;
      min-width: 500px;
      height: 336px;
      display: flex;
      align-items: center;
      gap: 26px;
      padding: 44px 32px;
      padding-left: 0;
      margin-left: 6%;
      flex-shrink: 0;
      border-radius: 34px;
      background: linear-gradient(180deg, rgba(4, 114, 185, 0), #001c2e);
      border-top: 1px solid;
  }


  /* ==========================================
               GENRE IMAGE
            ========================================== */

  .music-playlist-genre-card img {
      width: 240px;
      height: auto;
      flex-shrink: 0;
      object-fit: cover;
      border-radius: 34px;
      margin-left: -18%;
  }


  /* ==========================================
               GENRE CONTENT
            ========================================== */

  .music-playlist-genre-content {
      display: flex;
      flex-direction: column;
      min-width: 0;
      flex: 1;
  }

  .music-playlist-genre-content h3 {
      margin: 0;
      font-size: 32px;
      line-height: 36px;
      font-weight: 700;
  }

  .music-playlist-genre-content p {
      margin-top: 30px;
      font-size: 26px;
      line-height: 32px;
      color: #d6eefe;
      /* Maximum 5 lines */
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 5;
      line-clamp: 5;
      overflow: hidden;
  }


  /* ==========================================
               SLIDER DOTS
            ========================================== */

  .music-playlist-slider-dots {
      margin-top: 50px;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 5px;
  }

  .music-playlist-slider-dots span {
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background: #0e91f6;
      opacity: 0.3;
      cursor: pointer;
      transition: width 0.3s ease, opacity 0.3s ease;
  }

  .music-playlist-slider-dots .active {
      width: 106px;
      border-radius: 20px;
      opacity: 1;
  }


  /* ==========================================
               TABLET
            ========================================== */

  @media (max-width: 1024px) {
      .about-hero-title {
          font-size: calc(36 / 402 * 100vw);
          line-height: calc(38 / 402 * 100vw) !important;
      }
      .about-hero-stage {
          aspect-ratio: 402 / 160;
      }
      .music-playlist-genre-wrapper {
          gap: 28px;
      }
      .music-playlist-genre-card {
          width: 430px;
          min-width: 430px;
          height: 300px;
          gap: 20px;
          padding: 30px 24px;
          padding-left: 0;
          margin-left: 6%;
      }
      .music-playlist-genre-card img {
          width: 200px;
          margin-left: -15%;
          border-radius: 28px;
      }
      .music-playlist-genre-content h3 {
          font-size: 28px;
          line-height: 32px;
      }
      .music-playlist-genre-content p {
          margin-top: 20px;
          font-size: 21px;
          line-height: 27px;
          -webkit-line-clamp: 5;
          line-clamp: 5;
      }
      .music-playlist-slider-dots {
          margin-top: 40px;
      }
      .music-playlist-slider-dots span {
          width: 18px;
          height: 18px;
      }
      .music-playlist-slider-dots .active {
          width: 80px;
      }
  }


  /* ==========================================
               MOBILE
            ========================================== */

  @media (max-width: 767px) {
      .music-playlist-genre-wrapper {
          gap: 20px;
          margin-top: 30px;
      }
      .music-playlist-genre-card {
          width: calc(100vw - 40px);
          min-width: calc(100vw - 40px);
          height: auto;
          min-height: 250px;
          gap: 15px;
          padding: 25px 20px;
          padding-left: 0;
          margin-left: 20px;
          border-radius: 24px;
      }
      .music-playlist-genre-card img {
          width: 130px;
          margin-left: -10%;
          border-radius: 24px;
      }
      .music-playlist-genre-content h3 {
          font-size: 22px;
          line-height: 27px;
      }
      .music-playlist-genre-content p {
          margin-top: 15px;
          font-size: 16px;
          line-height: 22px;
          -webkit-line-clamp: 5;
          line-clamp: 5;
      }
      .music-playlist-slider-dots {
          margin-top: 30px;
          gap: 5px;
      }
      .music-playlist-slider-dots span {
          width: 12px;
          height: 12px;
      }
      .music-playlist-slider-dots .active {
          width: 50px;
      }
  }


  /* ==========================================
               SMALL MOBILE
            ========================================== */

  @media (max-width: 480px) {
    .rs-feature, .rs-feature .rs-feature-text {
        opacity: 1 !important;
        color: #ffffff !important;
    }
      .music-playlist-genre-card {
          width: calc(100vw - 30px);
          min-width: calc(100vw - 30px);
          min-height: 220px;
          gap: 12px;
          margin-left: 15px;
          padding: 20px 15px;
          padding-left: 0;
          border-radius: 20px;
      }
      .music-playlist-genre-card img {
          width: 105px;
          margin-left: -8%;
          border-radius: 20px;
      }
      .music-playlist-genre-content h3 {
          font-size: 19px;
          line-height: 23px;
      }
      .music-playlist-genre-content p {
          margin-top: 12px;
          font-size: 14px;
          line-height: 19px;
      }
      .music-playlist-slider-dots {
          margin-top: 25px;
      }
  }


  /* ==========================================
             STATIONS SECTION
            ========================================== */

  .music-playlist-stations {
      /* padding: 120px 8%; */
      padding: 0px 8%;
      background: linear-gradient(270deg, #0090e5, #001f32);
      padding-right: 15px;
  }

  .music-playlist-station-container {
      display: flex;
      align-items: start;
      gap: 100px;
  }

  .music-playlist-station-text {
      flex: 1;
  }

  .music-playlist-station-text h2 {
      margin: 0;
      font-size: clamp(55px, 6vw, 100px);
      line-height: 1 !important;
      font-weight: 600;
  }

  .music-playlist-station-text p {
      margin-top: 34px;
      font-size: 30px;
      line-height: 46px;
  }


  /* STATION IMAGE GRID */

  .music-playlist-station-grid {
      width: 720px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
  }

  .music-playlist-station-grid img {
      width: 100%;
      aspect-ratio: 1;
      object-fit: cover;
      border-radius: 12px;
  }


  /* ==========================================
             BUSINESS SECTION
            ========================================== */

  .music-playlist-business {
      padding: 50px 8%;
      background: #001c2c;
      text-align: center;
  }

  .music-playlist-business h2 {
      margin: 0;
      font-size: clamp(50px, 6vw, 72px);
      line-height: 1.1 !important;
      font-weight: 600;
  }

  .music-playlist-business p {
      max-width: 1476px;
      margin: 42px auto;
      font-size: 32px;
      line-height: 46px;
  }


  /* BUTTONS */

  .music-playlist-buttons {
      display: flex;
      justify-content: center;
      gap: 24px;
      margin-top: 50px;
  }

  .music-playlist-buttons button {
      width: 280px;
      height: 55px;
      border-radius: 16px;
      font-size: 24px;
      font-weight: 600;
      cursor: pointer;
      font-family: inherit;
  }

  .music-playlist-outline {
      background: rgba(2, 64, 86, 0.12);
      color: #10afff;
      border: 2px solid rgba(255, 255, 255, 0.12);
  }

  .music-playlist-primary {
      background: #ffffff;
      color: #0085c8;
      border: 2px solid rgba(255, 255, 255, 0.22);
  }

  .music-playlist-business small {
      display: block;
      margin-top: 30px;
      font-size: 16px;
  }


  /* ==========================================
             RESPONSIVE TABLET
            ========================================== */

  @media (max-width: 1200px) {
      .music-playlist-hero {
          padding: 60px 5%;
      }
      .music-playlist-hero-header {
          flex-direction: column;
      }
      .music-playlist-genre-wrapper {
          overflow-x: auto;
          padding-bottom: 20px;
      }
      .music-playlist-genre-card {
          min-width: 620px;
      }
      .music-playlist-station-container {
          flex-direction: column;
      }
      .music-playlist-station-grid {
          width: 100%;
      }
  }


  /* ==========================================
             RESPONSIVE MOBILE
            ========================================== */

  @media (max-width: 768px) {
      .music-playlist-hero-image img {
          object-fit: contain;
      }
      .music-playlist-hero-header {
          align-items: start;
      }
      .music-playlist-hero {
          padding: 40px 20px;
      }
      .music-playlist-hero-image {
          width: 100%;
          height: 380px;
      }
      .music-playlist-hero h1 {
          font-size: 34px;
      }
      .playlist-music-features {
          max-width: none !important;
          width: auto !important;
      }
      .music-playlist-genre-wrapper {
          flex-direction: column;
      }
      .music-playlist-genre-card {
          min-width: 100%;
          height: auto;
          flex-direction: column;
          align-items: flex-start;
          padding: 30px;
      }
      .music-playlist-genre-card img {
          width: 100%;
          height: 260px;
      }
      .music-playlist-genre-content h3 {
          font-size: 32px;
      }
      .music-playlist-genre-content p {
          margin-top: 20px;
          font-size: 18px;
          line-height: 30px;
      }
      .playlist-search-box {
          margin-bottom: 20px !important;
      }
      .music-playlist-station-text h2 {
          font-size: 48px;
      }
      .music-playlist-station-container {
          gap: 20px !important;
      }
      .music-playlist-station-text p {
          font-size: 18px;
          line-height: 30px;
      }
      .music-playlist-station-grid {
          grid-template-columns: repeat(2, 1fr);
      }
      .music-playlist-business {
          padding: 70px 20px;
      }
      .music-playlist-business p {
          font-size: 18px;
          line-height: 30px;
      }
      .music-playlist-buttons {
          flex-direction: column;
      }
      .music-playlist-buttons button {
          width: 100%;
      }
  }


  /* =====================================
             STATION AUTO SCROLL
            ===================================== */

  .music-playlist-station-scroll {
      /* width: 720px; */
      width: 565px;
      height: 874px;
      display: flex;
      gap: 12px;
      overflow: hidden;
      cursor: grab;
  }

  .music-playlist-station-scroll:active {
      cursor: grabbing;
  }

  .music-playlist-station-column {
      width: 232px;
      display: flex;
      flex-direction: column;
      gap: 12px;
  }


  /* ============================================================
               3-COLUMN VERTICAL INFINITE STATION SCROLLER
               ============================================================ */


  /* Each column is now its OWN independent viewport */

  .music-playlist-station-column {
      position: relative;
      height: 100%;
      min-width: 0;
      overflow: hidden;
      cursor: grab;
      user-select: none;
      -webkit-user-select: none;
      /* Framer-like fade at top/bottom */
      -webkit-mask-image: linear-gradient( to bottom, transparent 0%, #000 7%, #000 93%, transparent 100%);
      mask-image: linear-gradient( to bottom, transparent 0%, #000 7%, #000 93%, transparent 100%);
      touch-action: pan-x;
  }

  .music-playlist-station-column.is-dragging {
      cursor: grabbing;
  }


  /* GPU animated track */

  .music-playlist-station-track {
      display: flex;
      flex-direction: column;
      width: 100%;
      will-change: transform;
      transform: translate3d(0, 0, 0);
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
  }


  /* One complete repeated group */

  .music-playlist-station-set {
      display: flex;
      flex-direction: column;
      gap: 10px;
      width: 100%;
      padding-bottom: var(--station-gap);
      box-sizing: border-box;
  }


  /* Prevent browser image dragging */

  .music-playlist-station-item,
  .music-playlist-station-item img {
      display: block;
      width: 100%;
  }

  .music-playlist-station-item img {
      pointer-events: none;
      user-select: none;
      -webkit-user-drag: none;
  }


  /* ============================================================
               RESPONSIVE
               ============================================================ */

  @media (max-width: 991px) {
      .music-playlist-station-scroll {
          height: 600px;
          gap: 14px;
      }
  }

  @media (max-width: 767px) {
      .music-playlist-station-scroll {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          height: 560px;
      }
      .music-playlist-station-column:nth-child(3) {
          display: none;
      }
  }

  @media (max-width: 480px) {
      .music-playlist-station-scroll {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 10px;
          height: 500px;
      }
  }


  /* .music-playlist-station-column a {
                display: block;
                flex-shrink: 0;
                padding: 16px;
                width: 232px;
                height: 232px;
                background: rgba(0, 0, 0, .004);
                border-radius: 12px;
            } */

  .music-playlist-station-column a {
      display: block;
      flex-shrink: 0;
      padding: 10px;
      width: 180px;
      /* height: 232px; */
      background: rgba(0, 0, 0, 0.004);
      border-radius: 12px;
      border: 1px solid white;
  }

  .music-playlist-station-column img {
      /* width: 200px;
                height: 200px; */
      width: 100%;
      object-fit: cover;
      border-radius: 8px;
  }


  /* COLUMN DIFFERENT SPEED */

  .music-playlist-station-column:nth-child(2) {
      animation-duration: 30s;
  }

  .music-playlist-station-column:nth-child(3) {
      animation-duration: 35s;
  }

  .playlist-music-features {
      width: 100%;
      max-width: 1685px;
      margin: 0 auto;
      margin-top: 30px !important;
      display: flex;
      flex-direction: column;
      gap: 20px;
      width: 840px;
      font-family: Arial, Helvetica, sans-serif;
  }


  /* OUTER CYAN CARD */

  .playlist-music-feature {
      position: relative;
      min-height: 0px;
      padding: 0px;
      display: flex;
      align-items: center;
      border-radius: 26px;
      box-sizing: border-box;
  }


  /* CYAN BORDER TEXTURE */


  /* INNER DARK CARD */

  .playlist-music-feature__inner {
      position: relative;
      z-index: 1;
      width: 100%;
      min-height: 66px;
      display: flex;
      align-items: center;
      padding: 0 22px;
      border-radius: 12px;
      box-sizing: border-box;
  }


  /* TOP CARDS */

  .playlist-music-feature--top .playlist-music-feature__inner {
      background: linear-gradient(180deg, #103d5f 0%, #0e3a59 50%, #0d3856 100%);
  }


  /* BOTTOM CARDS */


  /* BLUE DOT */

  .playlist-music-feature__dot {
      width: 21px;
      height: 21px;
      min-width: 21px;
      margin-right: 12px;
      border-radius: 50%;
      background: #08baff;
      box-shadow: 0 0 3px rgba(8, 186, 255, 0.3);
      display: block;
  }


  /* TEXT */

  .playlist-music-feature p {
      margin: 0;
      color: #ffffff;
      font-size: 18px;
      line-height: 1.35;
      font-weight: 700;
      letter-spacing: -0.2px;
  }


  /* RESPONSIVE */

  @media (max-width: 1100px) {
      .playlist-music-features {
          grid-template-columns: 1fr;
      }
  }

  @media (max-width: 600px) {
      .playlist-music-feature {
          min-height: auto;
          padding: 12px;
          border-radius: 20px;
      }
      .playlist-music-feature__inner {
          min-height: 82px;
          padding: 18px;
          border-radius: 10px;
      }
      .playlist-music-feature p {
          font-size: 16px;
      }
      .playlist-music-feature__dot {
          width: 17px;
          height: 17px;
          min-width: 17px;
          margin-right: 10px;
      }
  }

  .playlist-music-feature {
      position: relative;
      border: 1px solid rgba(13, 191, 255, 0.65);
      border-radius: 16px;
      /* Figma outer shadow + inner border shadow */
      box-shadow: 0px 4px 22px 0px rgba(13, 191, 255, 0.2), inset 0 0 0 1px rgba(13, 191, 255, 0);
  }

  .playlist-music-feature__inner {
      position: relative;
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 6px 24px;
      border-radius: inherit;
      /* subtle inner glow */
      box-shadow: inset 0 0 18px rgba(13, 191, 255, 0.08);
  }

  .playlist-music-feature__dot {
      width: 10px;
      height: 10px;
      min-width: 10px;
      border-radius: 50%;
      background: #0dbfff;
      box-shadow: 0 0 10px rgba(13, 191, 255, 0.7);
  }

  .playlist-music-feature__inner p {
      margin: 0;
  }

  .playlist-music-feature {
      position: relative;
      overflow: hidden;
      border: 1px solid rgba(13, 191, 255, 0.45);
      border-radius: 16px;
      background: rgba(13, 60, 90, 0.22);
      backdrop-filter: blur(18px) saturate(140%);
      -webkit-backdrop-filter: blur(18px) saturate(140%);
      box-shadow: 0 4px 22px rgba(13, 191, 255, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.16), inset 0 0 20px rgba(13, 191, 255, 0.05);
  }

  .playlist-music-feature--top .playlist-music-feature__inner {
      position: relative;
      background: linear-gradient( 180deg, rgba(16, 61, 95, 0.42) 0%, rgba(14, 58, 89, 0.28) 50%, rgba(13, 56, 86, 0.38) 100%);
      border-radius: inherit;
  }


  /* Glass light reflection */

  .playlist-music-feature::before {
      content: "";
      position: absolute;
      top: 0;
      left: 8%;
      right: 8%;
      height: 1px;
      background: linear-gradient( 90deg, transparent, rgba(255, 255, 255, 0.55), transparent);
      pointer-events: none;
  }


  /* Subtle glass glow */

  .playlist-music-feature::after {
      content: "";
      position: absolute;
      width: 120px;
      height: 120px;
      top: -70px;
      right: -40px;
      background: rgba(13, 191, 255, 0.18);
      filter: blur(45px);
      border-radius: 50%;
      pointer-events: none;
  }

  .playlist-search-box {
      position: relative;
      width: 100%;
      max-width: 590px;
      margin-bottom: 120px;
      margin-top: 40px;
  }

  .playlist-search-box__icon {
      position: absolute;
      left: 6px;
      top: 50%;
      transform: translateY(-50%);
      width: 24px;
      height: 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      pointer-events: none;
  }

  .playlist-search-box__icon svg {
      width: 28px;
      height: 25px;
      fill: #ffffff;
  }

  .playlist-search-box__input {
      width: 100%;
      height: 46px;
      padding: 0 16px 0 36px;
      box-sizing: border-box;
      font-size: 17px;
      font-family: inherit;
      color: #ffffff;
      background: rgba(0, 71, 108, 0.28);
      border: 1px solid rgba(77, 176, 224, 0.65);
      border-radius: 8px;
      outline: none;
      transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  }

  .playlist-search-box__input::placeholder {
      color: rgba(255, 255, 255, 0.95);
  }

  .playlist-search-box__input:focus {
      border-color: rgba(80, 190, 240, 0.95);
      background: rgba(0, 71, 108, 0.38);
      box-shadow: 0 0 0 2px rgba(13, 191, 255, 0.08), 0 0 14px rgba(13, 191, 255, 0.12);
  }


  /* ---------- 1 · SHELL + SCALE UNIT -------------------------- */

  .rs-shell {
      /* ► Drop the real Figma exports in /images and these light up.
                   Until then a CSS mock-up is shown instead.                */
      --rs-img-hero: url("../images/service-intro-header.png");
      --rs-img-stage: url("../images/stage-performer.jpg");
      --rs-img-stage-cut: url("../images/stage-performer-cutout.png");
      --rs-shot-desktop: url("../images/desktop.png");
      --rs-shot-tablet: url("../images/tablet.png");
      --rs-shot-mobile: url("../images/mobile.png");
      --rs-panel: #012333;
      --rs-panel-line: rgba(255, 255, 255, 0.22);
      --rs-acc-grad: linear-gradient( 116.21deg, #11a3ea 0%, #025c88 40.47%, #002233 80.95%);
      --rs-btn-grad: linear-gradient( 92.42deg, rgba(189, 224, 255, 0.16) 2.47%, rgba(0, 162, 255, 0.16) 74.73%);
      display: block;
      width: 100%;
      max-width: 1512px;
      /* ← page cap requested */
      margin-inline: auto;
      container-type: inline-size;
  }

  .rs-page {
      --u: calc(min(100vw, 1512px) / 1920);
      /* fallback  */
      --u: calc(100cqw / 1920);
      /* preferred */
      position: relative;
      isolation: isolate;
  }

  .rs-shell *,
  .rs-shell *::before,
  .rs-shell *::after {
      box-sizing: border-box;
  }

  .rs-shell :where(h1,
  h2,
  h3,
  p) {
      margin: 0;
  }

  .rs-shell img {
      display: block;
      width: 44%;
      height: 61%;
      top: 14%;
      left: 50%;
  }

  .rs-shell .rs-acc img {
      display: block;
      width: 79%;
      height: 107%;
      top: 17%;
      left: 50%;
  }

  .rs-shell img.rs-play__singer {
      display: block;
      width: 33%;
      height: 29%;
      top: 71%;
      left: 5%;
      z-index: 9999;
  }


  /* ---------- 2 · SHARED PIECES ------------------------------- */


  /* pill button ------------------------------------------------ */

  .rs-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: calc(544 * var(--u));
      min-height: calc(78 * var(--u));
      padding: calc(20 * var(--u)) calc(34 * var(--u));
      background: var(--rs-btn-grad);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: calc(124 * var(--u));
      font-family: "Roboto", system-ui, sans-serif;
      font-weight: 600;
      font-size: calc(26 * var(--u));
      line-height: calc(34 * var(--u));
      text-align: center;
      text-transform: capitalize;
      text-decoration: none;
      -webkit-backdrop-filter: blur(4px);
      backdrop-filter: blur(4px);
      transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
      color: #ffffff !important;
  }

  .rs-btn:hover {
      background: linear-gradient( 92.42deg, rgba(189, 224, 255, 0.3) 2.47%, rgba(0, 162, 255, 0.3) 74.73%);
      border-color: rgba(255, 255, 255, 0.34);
  }

  .rs-btn:active {
      transform: translateY(1px);
  }

  .rs-btn:focus-visible {
      outline: 2px solid #7fd7ff;
      outline-offset: 3px;
  }


  /* cyan blur glow --------------------------------------------- */

  .rs-acc__col.-active,
  .rs-acc__col.-active .rs-acc__media {
      overflow: visible !important;
  }

  .rs-acc__ghost.desktop {
      left: 64%;
  }

  .rs-glow {
      position: absolute;
      z-index: 0;
      pointer-events: none;
      width: 74.7%;
      height: 61.6%;
      left: -24.6%;
      top: 26.6%;
      /* background:#4FCFFF; */
      border-radius: 50%;
      filter: blur(calc(122 * var(--u)));
      opacity: 0.9;
  }

  .rs-glow--intro {
      width: calc(870 * var(--u));
      height: calc(705 * var(--u));
      left: calc(49 * var(--u));
      top: calc(13 * var(--u));
      background: #00a4e8;
      filter: blur(calc(172 * var(--u)));
  }


  /* ---------- 3 · DEVICE MOCK-UPS ----------------------------- */

  .rs-dev {
      position: relative;
  }

  .rs-dev>span {
      position: absolute;
      display: block;
  }


  /* screen + placeholder player UI ------------------------------ */

  .rs-screen {
      position: absolute;
      overflow: hidden;
      background: #03192a;
  }

  .rs-screen__shot {
      position: absolute;
      inset: 0;
      background-image: var(--shot);
      background-size: cover;
      background-position: center top;
      background-repeat: no-repeat;
  }

  .rs-screen--desktop {
      --shot: var(--rs-shot-desktop);
  }

  .rs-screen--tablet {
      --shot: var(--rs-shot-tablet);
  }

  .rs-screen--mobile {
      --shot: var(--rs-shot-mobile);
  }

  .rs-ui {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      gap: 2.2%;
      padding: 3%;
      background: linear-gradient(180deg, #04263c 0%, #02121f 100%);
  }

  .rs-ui__bar {
      flex: none;
      height: 7.5%;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.1);
  }

  .rs-ui__hero {
      flex: none;
      height: 36%;
      border-radius: 6px;
      background: linear-gradient(112deg, #0a3a5e 0%, #1391d6 42%, #7a2ff5 100%);
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  }

  .rs-ui__tiles {
      flex: 1 1 0;
      display: flex;
      gap: 1.8%;
      min-height: 0;
  }

  .rs-ui__tiles--sm {
      flex: 0 0 16%;
  }

  .rs-ui__tiles i {
      flex: 1 1 0;
      border-radius: 4px;
      background: #0d4b74;
  }

  .rs-ui__tiles i:nth-child(1) {
      background: linear-gradient(150deg, #ff5f6d, #ffc371);
  }

  .rs-ui__tiles i:nth-child(2) {
      background: linear-gradient(150deg, #1fa2ff, #12d8fa);
  }

  .rs-ui__tiles i:nth-child(3) {
      background: linear-gradient(150deg, #7028e4, #e5b2ca);
  }

  .rs-ui__tiles i:nth-child(4) {
      background: linear-gradient(150deg, #0ba360, #3cba92);
  }

  .rs-ui__tiles i:nth-child(5) {
      background: linear-gradient(150deg, #f7971e, #ffd200);
  }

  .rs-ui__tiles i:nth-child(6) {
      background: linear-gradient(150deg, #ee0979, #ff6a00);
  }

  .rs-ui__tiles i:nth-child(7) {
      background: linear-gradient(150deg, #2193b0, #6dd5ed);
  }

  .rs-ui__tiles i:nth-child(8) {
      background: linear-gradient(150deg, #834d9b, #d04ed6);
  }


  /* MacBook Pro — geometry taken 1:1 from the Figma device frame */

  .rs-dev--mbp {
      width: 100%;
      aspect-ratio: 968 / 575;
  }

  .rs-mbp__lid {
      left: 9.5%;
      right: 9.5%;
      top: 0;
      bottom: 3.45%;
      background: #3a4245;
      border-radius: 0.9%/1.5%;
      box-shadow: 0 2px 4px rgba(0, 21, 64, 0.05), 0 0 2px rgba(0, 21, 64, 0.14);
  }

  .rs-mbp__rubber {
      left: 9.7%;
      right: 9.7%;
      top: 0.35%;
      bottom: 3.8%;
      background: #262c2d;
      border-radius: 0.7%/1.2%;
  }

  .rs-mbp__border {
      left: 9.9%;
      right: 9.9%;
      top: 0.69%;
      bottom: 4.15%;
      background: #121515;
      border-radius: 0.5%/.9%;
  }

  .rs-mbp__chin {
      left: 9.9%;
      right: 9.9%;
      top: 91.28%;
      bottom: 6.13%;
      background: #262c2d;
  }

  .rs-mbp__cam {
      left: 49.73%;
      right: 49.73%;
      top: 2.94%;
      bottom: 96.11%;
      background: #262c2d;
      border-radius: 50%;
  }

  .rs-mbp__base {
      left: 0;
      right: 0;
      top: 93.87%;
      bottom: 3.45%;
      background: linear-gradient( 90deg, #303135 0%, #535458 2.19%, #4d4e52 3.63%, #333438 5.82%, #35363a 8.65%, #4e4f53 13.58%, #818286 50%, #4e4f53 86.42%, #35363a 91.35%, #333438 94.18%, #4d4e52 96.37%, #535458 97.81%, #303135 100%);
  }

  .rs-mbp__notch {
      left: 42.86%;
      right: 42.86%;
      top: 93.87%;
      bottom: 4.23%;
      background: #4e4f53;
  }

  .rs-mbp__foot {
      left: 0;
      right: 0;
      top: 96.55%;
      bottom: 1.04%;
      background: linear-gradient(180deg, #303135 0%, #08090d 100%);
      border-radius: 0 0 0.6%/6% 0.6%/6%;
  }

  .rs-screen--mbp {
      left: 11.58%;
      right: 11.56%;
      top: 1.4%;
      height: 87.5%;
  }


  /* iPhone ------------------------------------------------------ */

  .rs-dev--phone {
      width: 100%;
      aspect-ratio: 277 / 578;
  }

  .rs-phone__body {
      inset: 0;
      background: linear-gradient(155deg, #4b5457 0%, #20262a 38%, #0d1012 100%);
      border-radius: 12.5%/6%;
      box-shadow: 0 calc(14 * var(--u)) calc(40 * var(--u)) rgba(0, 0, 0, 0.45);
  }

  .rs-screen--phone {
      inset: 2.7% 2.7%;
      border-radius: 10.6%/5.1%;
  }

  .rs-phone__island {
      left: 35%;
      right: 35%;
      top: 3.6%;
      height: 3.1%;
      background: #0b0d0e;
      border-radius: 999px;
      z-index: 3;
  }


  /* iPad Pro (landscape) --------------------------------------- */

  .rs-dev--ipad {
      width: 100%;
      aspect-ratio: 629 / 484;
  }

  .rs-ipad__body {
      inset: 0;
      background: linear-gradient(150deg, #5a6367 0%, #262c2f 42%, #101315 100%);
      border-radius: 3.4%/4.4%;
      box-shadow: 0 calc(16 * var(--u)) calc(44 * var(--u)) rgba(0, 0, 0, 0.42);
  }

  .rs-screen--ipad {
      inset: 3.4% 2.7%;
      border-radius: 1.6%/2.1%;
  }

  .rs-ipad__cam {
      left: 1.15%;
      top: 49%;
      width: 1.1%;
      aspect-ratio: 1;
      background: #0a0c0d;
      border-radius: 50%;
      z-index: 3;
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
  }


  /* iMac -------------------------------------------------------- */

  .rs-dev--imac {
      width: 100%;
      aspect-ratio: 678 / 551;
  }

  .rs-imac__body {
      left: 0;
      right: 0;
      top: 0;
      height: 76%;
      background: linear-gradient(160deg, #f2f4f6 0%, #d7dbdf 55%, #b9bfc4 100%);
      border-radius: 1.8%/2.2%;
      box-shadow: 0 calc(18 * var(--u)) calc(46 * var(--u)) rgba(0, 0, 0, 0.4);
  }

  .rs-screen--imac {
      left: 4.4%;
      right: 4.4%;
      top: 4.5%;
      height: 63.9%;
      border-radius: 0.6%;
  }

  .rs-imac__chin {
      left: 4.4%;
      right: 4.4%;
      top: 68.4%;
      height: 7.6%;
      background: linear-gradient(180deg, #e7eaed, #cfd4d8);
  }

  .rs-imac__neck {
      left: 42%;
      right: 42%;
      top: 76%;
      height: 13.5%;
      background: linear-gradient( 90deg, #a9b0b5 0%, #e6e9ec 28%, #f4f6f7 50%, #cfd4d8 74%, #9aa1a6 100%);
  }

  .rs-imac__foot {
      left: 28%;
      right: 28%;
      top: 89.5%;
      height: 8%;
      background: linear-gradient(180deg, #e9ecef 0%, #b7bdc2 100%);
      border-radius: calc(6 * var(--u)) calc(6 * var(--u)) calc(14 * var(--u)) calc(14 * var(--u));
  }


  /* =============================================================
               SECTION 1 · HERO — MUSIC INTRODUCTION
               ============================================================= */

  .rs-hero {
      position: relative;
      min-height: 0px;
      padding: calc(60 * var(--u)) calc(224 * var(--u));
      background: linear-gradient(269.51deg, #02b4ff 16.18%, #0c4c90 99.63%);
  }

  .rs-hero__grid {
      display: flex;
      align-items: center;
      gap: calc(45 * var(--u));
      height: 100%;
  }

  .rs-hero__media {
      flex: 0 0 calc(338 * var(--u));
      height: calc(427 * var(--u));
      border-radius: calc(34 * var(--u));
      background-color: #0a3f78;
      background-image: var(--rs-img-hero);
      background-size: cover;
      background-position: center;
      box-shadow: 0 calc(20 * var(--u)) calc(50 * var(--u)) rgba(0, 0, 0, 0.28);
  }

  .rs-hero__copy {
      flex: 1 1 auto;
      min-width: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: calc(34 * var(--u));
  }

  .rs-hero__title {
      font-family: "Righteous", cursive;
      font-weight: 400;
      font-size: calc(105 * var(--u));
      line-height: calc(91 * var(--u)) !important;
      text-transform: capitalize;
      color: #fff;
      max-width: calc(937 * var(--u));
  }

  .rs-hero__lead {
      font-family: "Roboto", system-ui, sans-serif;
      font-weight: 500;
      font-size: calc(32 * var(--u));
      line-height: calc(42 * var(--u));
      text-transform: capitalize;
      color: #fff;
  }


  /* =============================================================
               SECTION 2 · COMPUTER HARDWARE OPTIONS
               ============================================================= */

  .rs-intro {
      position: relative;
      min-height: calc(994 * var(--u));
      background: #002233;
      overflow: hidden;
  }

  .rs-intro__bands {
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
  }

  .rs-intro__block {
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 33.54%;
      /* 644 / 1920 */
      background: #00597f;
      border: 1px solid rgba(101, 210, 255, 0.33);
  }

  .rs-intro__rule {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 67.08%;
      /* 1288 / 1920 */
      width: 2px;
      background: rgba(101, 210, 255, 0.12);
  }

  .rs-intro__grid {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: center;
      min-height: calc(994 * var(--u));
      padding: calc(145 * var(--u)) calc(104 * var(--u)) calc(118 * var(--u)) calc(103 * var(--u));
  }

  .rs-intro__media {
      position: relative;
      flex: 0 0 calc(968 * var(--u));
      height: calc(705 * var(--u));
  }

  .rs-intro__media .rs-dev--mbp {
      position: absolute;
      z-index: 1;
      left: 0;
      top: calc(78 * var(--u));
      width: 100%;
  }

  .rs-intro__copy {
      flex: 1 1 auto;
      min-width: 0;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: calc(84 * var(--u));
  }

  .rs-intro__text {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: calc(64 * var(--u));
      width: 100%;
  }

  .rs-intro__title {
      width: 100%;
      font-family: "Roboto", system-ui, sans-serif;
      font-weight: 600;
      font-size: calc(92 * var(--u));
      line-height: calc(102 * var(--u));
      text-align: right;
      color: #fff;
  }

  .rs-intro__body {
      width: calc(571 * var(--u));
      max-width: 100%;
      font-family: "Roboto", system-ui, sans-serif;
      font-weight: 400;
      font-size: calc(26 * var(--u));
      line-height: calc(38 * var(--u));
      text-align: right;
      color: #fff;
  }


  /* =============================================================
               SECTION 3 · DEVICE ACCORDION — one row, four columns
               -------------------------------------------------------------
               Hover / tap / focus a column and it grows SIDEWAYS only — the
               row height never changes — while its art panel slides UP into
               view and the previous one slides UP and out the top.

               Geometry: collapsed columns grow 1, the open one grows --grow,
               so the open share is --grow / (3 + --grow). At --grow: 2.5 that
               is 2.5/5.5 = 45.469% — exactly the Figma's 873px of 1920px,
               which leaves each collapsed column at 349px. --panel derives the
               art-panel width from the same numbers, so retuning --grow alone
               keeps the panel and the open column locked together.
               ============================================================= */

  .rs-acc {
      --slide: 900ms;
      --ease: cubic-bezier(0.76, 0, 0.18, 1);
      --grow: 2.5;
      --basis: 1920;
      --panel: calc(var(--basis) * var(--u) * var(--grow) / (3 + var(--grow)));
      position: relative;
      height: calc(876 * var(--u));
      background: var(--rs-panel);
      overflow: hidden;
  }

  .rs-acc__strip {
      display: flex;
      height: 100%;
  }


  /* ---------- column ---------- */

  .rs-acc__col {
      position: relative;
      flex: 1 1 0%;
      min-width: 0;
      overflow: hidden;
      background: var(--rs-panel);
      border-right: 2px solid var(--rs-panel-line);
      transition: flex-grow var(--slide) var(--ease), border-color var(--slide) var(--ease);
  }

  .rs-acc__col:last-child {
      border-right: 0;
  }

  .rs-acc__col.-active {
      flex-grow: var(--grow);
      border-right-color: rgba(255, 255, 255, 0.22);
  }


  /* ---------- the sliding art panel ----------
               Fixed width = the open column's width, so the artwork never
               squashes while the column animates; it is simply revealed.     */

  .rs-acc__media {
      position: absolute;
      z-index: 1;
      left: 0;
      top: 0;
      width: var(--panel);
      height: 100%;
      background: var(--rs-acc-grad);
      transform: translateY(101%);
      transition: transform var(--slide) var(--ease);
      will-change: transform;
  }

  .rs-acc__media.-in {
      transform: translateY(0);
  }

  .rs-acc__media.-out {
      transform: translateY(-101%);
  }


  /* ---------- label = the full-column hit area ---------- */

  .rs-acc__label {
      position: absolute;
      inset: 0;
      z-index: 3;
      display: flex;
      align-items: flex-end;
      justify-content: flex-start;
      margin: 0;
      border: 0;
      background: none;
      padding: calc(46 * var(--u)) calc(24 * var(--u));
      font-family: "Roboto", system-ui, sans-serif;
      font-weight: 600;
      font-size: calc(32 * var(--u));
      line-height: calc(42 * var(--u));
      color: #fff;
      text-align: left;
      cursor: pointer;
      -webkit-appearance: none;
      appearance: none;
  }

  .rs-acc__label span {
      transition: opacity calc(var(--slide) * 0.45) var(--ease);
  }

  .rs-acc__col.-active .rs-acc__label span {
      opacity: 0;
  }

  .rs-acc__label:focus-visible {
      outline: 2px solid #7fd7ff;
      outline-offset: -5px;
  }


  /* ---------- contents of the art panel ---------- */

  .rs-acc__device {
      position: absolute;
      z-index: 1;
  }

  .rs-acc__ghost {
      position: absolute;
      z-index: 2;
      pointer-events: none;
      white-space: nowrap;
      /* left:-3%;  */
      left: -26%;
      top: 4%;
      font-family: "Roboto", system-ui, sans-serif;
      font-weight: 600;
      font-size: calc(142 * var(--u));
      line-height: calc(127 * var(--u));
      color: rgba(255, 255, 255, 0.12);
      -webkit-text-stroke: 1px rgba(255, 255, 255, 0.62);
  }

  .rs-acc__copy {
      position: absolute;
      z-index: 2;
      right: 6.4%;
      top: 29%;
      width: 43.5%;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: calc(32 * var(--u));
      opacity: 0;
      transform: translateY(calc(30 * var(--u)));
      transition: opacity calc(var(--slide) * 0.5) ease calc(var(--slide) * 0.34), transform calc(var(--slide) * 0.6) var(--ease) calc(var(--slide) * 0.34);
  }

  .rs-acc__media.-in .rs-acc__copy {
      opacity: 1;
      transform: none;
  }

  .rs-acc__title {
      width: 100%;
      font-family: "Roboto", system-ui, sans-serif;
      font-weight: 700;
      font-size: calc(50 * var(--u));
      line-height: calc(50 * var(--u)) !important;
      text-align: right;
      color: #fff;
  }

  .rs-acc__body {
      width: 100%;
      font-family: "Roboto", system-ui, sans-serif;
      font-weight: 400;
      font-size: calc(26 * var(--u));
      line-height: calc(32 * var(--u));
      text-align: right;
      color: #fff;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 10;
      overflow: hidden;
  }

  @media (max-width: 768px) {
      .rs-acc__strip {
          display: block;
          width: 100%;
      }
      .rs-acc__col {
          width: 100% !important;
          overflow: hidden;
      }
      .rs-acc__media {
          position: relative;
          width: 100%;
          overflow: hidden !important;
      }
      .rs-acc__col:not(.-active) .rs-acc__media {
          display: none;
      }
      .rs-acc__col.-active .rs-acc__media {
          /* display: block; */
          overflow: hidden !important;
      }
      .rs-acc__ghost {
          display: block !important;
          opacity: 1 !important;
          z-index: 10 !important;
          font-size: clamp(42px, 11.4vw, 110px) !important;
          left: unset !important;
      }
      .rs-acc__copy {
          display: block !important;
          position: absolute !important;
          top: 110px !important;
          right: 20px !important;
          width: 50% !important;
          z-index: 20 !important;
          opacity: 1 !important;
          color: #fff !important;
      }
      .rs-acc__title,
      .rs-acc__body {
          display: block !important;
          visibility: visible !important;
          opacity: 1 !important;
          color: #fff !important;
      }
      .rs-acc__media img {
          display: block;
          width: 75%;
          max-width: 300px;
          height: auto;
          /* margin: 90px auto 20px; */
      }
      /* .rs-acc__ghost {
                  position: absolute;
                  top: 25px;
                  left: 20px;
                  font-size: 58px;
                  line-height: 1;
                  white-space: nowrap;
                } */
      /* .rs-acc__copy {
                  position: relative !important;
                  top: auto !important;
                  right: auto !important;
                  bottom: auto !important;
                  left: auto !important;

                  width: 100%;
                  padding: 20px 20px 30px;
                  box-sizing: border-box;
                  text-align: center;
                } */
      .rs-acc__title {
          margin: 0 0 12px;
          font-size: 30px;
          line-height: 1.1;
      }
      .rs-acc__body {
          margin: 0;
          font-size: 14px;
          line-height: 1.5;
      }
      .rs-acc__label {
          display: block;
          position: relative;
          z-index: 20;
          width: 100%;
          min-height: 55px;
      }
      .rs-acc__ghost.desktop {
          left: unset;
      }
  }


  /* ---------- no-JS fallback ----------
               The script adds `-js` to .rs-acc before it does anything else, so if it
               never loads the first column simply renders open instead of the row
               showing four blank strips. These selectors stop matching the moment
               `-js` lands, so they can never fight the -in / -out states.          */

  .rs-acc:not(.-js) .rs-acc__col:first-child {
      flex-grow: var(--grow);
      border-right-color: rgba(255, 255, 255, 0.22);
  }

  .rs-acc:not(.-js) .rs-acc__col:first-child .rs-acc__media {
      transform: none;
  }

  .rs-acc:not(.-js) .rs-acc__col:first-child .rs-acc__copy {
      opacity: 1;
      transform: none;
  }

  .rs-acc:not(.-js) .rs-acc__col:first-child .rs-acc__label span {
      opacity: 0;
  }


  /* ---------- per-device placement inside the panel ---------- */

  .rs-acc__col--computer .rs-acc__device {
      width: 87.5%;
      left: -38.8%;
      top: 35%;
  }

  .rs-acc__col--mobile .rs-acc__device {
      width: 31.7%;
      left: -3.2%;
      top: 22.8%;
  }

  .rs-acc__col--tablet .rs-acc__device {
      width: 72%;
      left: -33%;
      top: 34.9%;
  }

  .rs-acc__col--desktop .rs-acc__device {
      width: 77.7%;
      left: -33.6%;
      top: 25.3%;
  }


  /* =============================================================
               SECTION 7 · PLAYBACK MODES
               ============================================================= */

  .rs-play {
      position: relative;
      overflow: hidden;
      background: linear-gradient(180deg, #013749 0%, #00a5dc 100%);
  }

  .rs-play__head {
      position: relative;
      z-index: 1;
      padding-top: 40px;
  }

  .rs-play__title {
      /* font-family:'Antonio',sans-serif; */
      /* font-weight:700;
              font-size:calc(340 * var(--u));
              line-height:1;
              text-align:center; text-transform:uppercase; white-space:nowrap;
              background-image:var(--rs-img-stage),
                               linear-gradient(100deg,#2f6f8f 0%,#57a9cd 30%,#9adcf7 64%,#dff5ff 100%);
              background-size:cover, cover;
              background-position:center 32%, center;
              background-repeat:no-repeat, no-repeat;
              -webkit-background-clip:text; background-clip:text;
              color:transparent; -webkit-text-fill-color:transparent;
              background: url(/default_V2/images/ph1.png) center center / cover no-repeat;
              -webkit-background-clip: text;
              background-size: 103% 100% !important;
              background-repeat: no-repeat !important;
              background-position: center !important; */
      display: block;
      width: 100%;
      margin: 0 auto;
      font-weight: 700;
      font-size: calc(340 * var(--u));
      -webkit-text-stroke: 0.15px #ffffff;
      line-height: 1;
      text-align: center;
      text-transform: uppercase;
      transform: scaleY(1.5);
      white-space: nowrap;
      background: url("/default_V2/images/ph1.png") center 32% / 93% 126% no-repeat;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent;
  }

  .rs-play__sub {
      margin-top: calc(12 * var(--u));
      padding-left: calc(66 * var(--u));
      font-family: "Antonio", sans-serif;
      font-weight: 600;
      font-size: calc(160 * var(--u));
      line-height: 1;
      letter-spacing: -0.04em;
      text-transform: uppercase;
      color: #fff;
  }

  .rs-play__lead {
      width: calc(939 * var(--u));
      max-width: 100%;
      margin: calc(0 * var(--u)) 0 0 calc(78 * var(--u));
      font-family: "Roboto", system-ui, sans-serif;
      font-weight: 400;
      font-size: calc(26 * var(--u));
      line-height: calc(29 * var(--u)) !important;
      color: #fff;
  }

  .rs-play__figure {
      position: absolute;
      z-index: 3;
      pointer-events: none;
      left: 0;
      right: 0;
      top: calc(278 * var(--u));
      height: calc(1344 * var(--u));
      background-image: var(--rs-img-stage-cut);
      background-size: 100% 100%;
      background-repeat: no-repeat;
  }

  .rs-play__bottom {
      position: relative;
      min-height: 388px;
      background: linear-gradient(270deg, #02b4ff 0%, #003b54 100%);
      overflow: hidden;
  }

  .rs-play__singer {
      position: absolute;
      left: 65px;
      bottom: 0;
      width: 285px;
      height: auto;
      z-index: 2;
  }

  .rs-play__caching {
      position: absolute;
      right: 65px;
      top: 85px;
      width: 42%;
      text-align: start;
      color: #fff;
      z-index: 3;
  }

  .rs-play__caching .rs-play__cardtitle {
      margin: 0 0 15px;
      font-size: 34px;
      line-height: 1;
      font-size: calc(78 * var(--u)) !important;
  }

  .rs-play__caching .rs-play__cardbody {
      margin: 0 auto;
      line-height: 1.45;
      font-size: calc(26 * var(--u));
  }

  .rs-play__caching .rs-btn {
      margin-top: 22px;
      background: var(--rs-btn-grad);
      width: 100%;
  }

  .rs-play__band {
      position: relative;
      z-index: 2;
      margin-top: calc(20 * var(--u));
      min-height: 0px;
      padding: calc(40 * var(--u)) calc(82 * var(--u));
      background: linear-gradient(270deg, #02b4ff 0%, #003b54 100%);
  }

  .rs-play__card {
      position: relative;
      z-index: 4;
      width: calc(719 * var(--u));
      max-width: 100%;
      display: flex;
      flex-direction: column;
      gap: calc(64 * var(--u));
  }

  .rs-play__cardtext {
      display: flex;
      flex-direction: column;
      gap: calc(32 * var(--u));
  }

  .rs-play__cardtitle {
      font-family: "Antonio", sans-serif;
      font-weight: 700;
      font-size: calc(78 * var(--u));
      line-height: calc(78 * var(--u));
      color: #fff;
  }

  .rs-play__cardbody {
      font-family: "Roboto", system-ui, sans-serif;
      font-weight: 400;
      font-size: calc(26 * var(--u));
      line-height: calc(29 * var(--u)) !important;
      color: #fff;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 4;
      overflow: hidden;
  }


  /* =============================================================
               RESPONSIVE · ≤1199px  — laptop / tablet / iPad
               Below the design's comfortable width the fixed 1920-grid is
               released and typography switches to fluid clamp() values.
               ============================================================= */

  @media (max-width: 1199px) {
      .rs-page {
          --u: calc(100cqw / 1280);
      }
      /* decorative radii etc. */
      /* --- hero ------------------------------------------------- */
      .rs-hero {
          min-height: 0;
          padding: clamp(44px, 5.4vw, 72px) clamp(28px, 5vw, 64px);
      }
      .rs-hero__grid {
          gap: clamp(24px, 3.4vw, 44px);
      }
      .rs-hero__media {
          flex: 0 0 clamp(230px, 29vw, 400px);
          height: auto;
          aspect-ratio: 440 / 525;
          border-radius: clamp(16px, 2.2vw, 30px);
      }
      .rs-hero__title {
          font-size: clamp(44px, 6.8vw, 90px);
          line-height: 0.86;
          max-width: none;
      }
      .rs-hero__lead {
          font-size: clamp(15px, 1.9vw, 26px);
          line-height: 1.35;
      }
      /* --- computer hardware options ---------------------------- */
      .rs-intro {
          min-height: 0;
      }
      .rs-intro__grid {
          min-height: 0;
          gap: clamp(20px, 3vw, 44px);
          padding: clamp(52px, 6vw, 96px) clamp(28px, 4vw, 56px);
      }
      .rs-intro__media {
          flex: 1 1 52%;
          height: auto;
      }
      .rs-intro__media .rs-dev--mbp {
          position: static;
      }
      .rs-intro__copy {
          flex: 1 1 44%;
          gap: clamp(26px, 3.4vw, 52px);
      }
      .rs-intro__text {
          gap: clamp(18px, 2.4vw, 36px);
      }
      .rs-intro__title {
          font-size: clamp(30px, 4.6vw, 64px);
          line-height: 1.08;
      }
      .rs-intro__body {
          font-size: clamp(13px, 1.6vw, 20px);
          line-height: 1.5;
          width: 100%;
      }
      .rs-glow--intro {
          width: 100%;
          height: 100%;
          left: 0;
          top: 0;
          filter: blur(clamp(60px, 9vw, 120px));
      }
      /* --- accordion -------------------------------------------- */
      .rs-acc {
          --grow: 6;
          /* open share 6/9 = 66.7% — collapsed strips stay slim */
          --basis: 1280;
          height: clamp(500px, 62vw, 700px);
      }
      .rs-acc__label {
          justify-content: center;
          padding: clamp(18px, 2.4vw, 32px) 0;
          font-size: clamp(14px, 1.8vw, 22px);
          line-height: 1;
      }
      .rs-acc__label span {
          writing-mode: vertical-rl;
          transform: rotate(180deg);
      }
      .rs-acc__copy {
          right: 4.5%;
          top: 14%;
          width: 52%;
          gap: clamp(14px, 1.8vw, 26px);
      }
      .rs-acc__title {
          font-size: clamp(26px, 4.2vw, 54px);
          line-height: 1.1;
      }
      .rs-acc__body {
          font-size: clamp(12px, 1.55vw, 19px);
          line-height: 1.45;
          -webkit-line-clamp: 7;
      }
      .rs-acc__ghost {
          left: -2%;
          top: 3%;
          font-size: clamp(42px, 7.4vw, 98px);
          line-height: 1;
      }
      .rs-acc__col--computer .rs-acc__device {
          width: 62%;
          left: -22%;
          top: auto;
          bottom: 7%;
      }
      .rs-acc__col--mobile .rs-acc__device {
          width: 22%;
          left: 3%;
          top: auto;
          bottom: -8%;
      }
      .rs-acc__col--tablet .rs-acc__device {
          width: 54%;
          left: -18%;
          top: auto;
          bottom: 9%;
      }
      .rs-acc__col--desktop .rs-acc__device {
          width: 58%;
          left: -20%;
          top: auto;
          bottom: 6%;
      }
      .rs-glow {
          filter: blur(clamp(60px, 9vw, 120px));
      }
      /* --- playback modes --------------------------------------- */
      .rs-play__head {
          padding-top: clamp(36px, 4.4vw, 60px);
      }
      .rs-play__title {
          font-size: clamp(96px, 17.4vw, 230px);
          line-height: 1;
      }
      .rs-play__sub {
          margin-top: clamp(6px, 0.8vw, 14px);
          padding-left: clamp(28px, 5vw, 80px);
          font-size: clamp(40px, 6.4vw, 86px);
      }
      .rs-play__lead {
          width: min(72%, 760px);
          margin: clamp(22px, 2.8vw, 40px) 0 0 clamp(28px, 5vw, 84px);
          font-size: clamp(15px, 1.9vw, 26px);
          line-height: 1.4;
      }
      .rs-play__band {
          margin-top: clamp(26px, 3vw, 48px);
          min-height: 0;
          padding: clamp(44px, 6vw, 96px) clamp(30px, 6vw, 110px);
      }
      .rs-play__card {
          width: min(62%, 700px);
          gap: clamp(26px, 3.4vw, 52px);
      }
      .rs-play__cardtext {
          gap: clamp(14px, 1.8vw, 28px);
      }
      .rs-play__cardtitle {
          font-size: clamp(32px, 4.8vw, 66px);
          line-height: 1.02;
      }
      .rs-play__cardbody {
          font-size: clamp(13px, 1.6vw, 20px);
          line-height: 1.45;
          -webkit-line-clamp: 5;
      }
      .rs-play__figure {
          left: auto;
          right: 0;
          width: 52%;
          top: clamp(150px, 20vw, 300px);
          height: auto;
          bottom: 0;
          background-size: contain;
          background-position: right bottom;
      }
      /* --- button ----------------------------------------------- */
      .rs-btn {
          min-width: 0;
          min-height: clamp(46px, 5vw, 70px);
          padding: clamp(12px, 1.4vw, 20px) clamp(22px, 2.8vw, 40px);
          border-radius: 999px;
          font-size: clamp(13px, 1.6vw, 22px);
          line-height: 1.3;
      }
  }


  /* =============================================================
               RESPONSIVE · ≤767px  — phones (everything stacks)
               ============================================================= */

  @media (max-width: 767px) {
      .rs-play__singer,
      .rs-play__figure {
          display: none !important;
      }
      .rs-play__caching {
          width: 100%;
          top: unset;
          right: unset;
          left: unset;
      }
      .rs-play__caching .rs-play__cardtitle {
          font-size: clamp(32px, 4.8vw, 66px) !important;
      }
      .rs-play__caching {
          margin-top: 37px;
          padding: 0 29px;
      }
      .rs-play__caching .rs-play__cardbody {
          font-size: clamp(14px, 4vw, 17px) !important;
          margin-top: 15px;
      }
      .rs-play__bottom {
          min-height: 324px;
      }
      /* --- hero ------------------------------------------------- */
      .rs-hero {
          padding: 36px 20px 44px;
      }
      .rs-hero__grid {
          flex-direction: column;
          align-items: stretch;
          gap: 26px;
      }
      .rs-hero__media {
          flex: none;
          width: 100%;
          max-width: 320px;
          margin: 0 auto;
      }
      .rs-hero__copy {
          gap: 16px;
      }
      .rs-hero__title {
          font-size: clamp(38px, 12.4vw, 60px);
          line-height: 0.9;
      }
      .rs-hero__lead {
          font-size: clamp(15px, 4.1vw, 19px);
          line-height: 1.45;
      }
      /* --- computer hardware options ---------------------------- */
      .rs-intro__block {
          width: 100%;
          height: 38%;
          bottom: auto;
      }
      .rs-intro__rule {
          display: none;
      }
      .rs-intro__grid {
          flex-direction: column;
          align-items: stretch;
          gap: 34px;
          padding: 44px 20px 52px;
      }
      .rs-intro__media {
          flex: none;
          width: 100%;
      }
      .rs-intro__copy {
          flex: none;
          align-items: flex-start;
          gap: 28px;
      }
      .rs-intro__text {
          align-items: flex-start;
          gap: 16px;
      }
      .rs-intro__title {
          font-size: clamp(30px, 8.6vw, 44px);
          text-align: left;
      }
      .rs-intro__body {
          font-size: clamp(14px, 4vw, 17px);
          text-align: left;
      }
      /* --- accordion → vertical, still one panel open at a time --- */
      .rs-acc {
          --bar: 62px;
          --open: 520px;
          height: auto;
      }
      .rs-acc__strip {
          flex-direction: column;
          height: auto;
      }
      .rs-acc__col {
          flex: none;
          height: var(--bar);
          border-right: 0;
          border-bottom: 2px solid var(--rs-panel-line);
          transition: height var(--slide) var(--ease), border-color var(--slide) var(--ease);
      }
      .rs-acc__col:last-child {
          border-bottom: 0;
      }
      .rs-acc__col.-active {
          height: var(--open);
          border-bottom-color: rgba(255, 255, 255, 0.22);
      }
      .rs-acc:not(.-js) .rs-acc__col:first-child {
          height: var(--open);
      }
      .rs-acc__media {
          left: 0;
          top: auto;
          bottom: 0;
          width: 100%;
          height: var(--open);
          display: flex;
          flex-direction: column;
          gap: 20px;
          padding: 26px 20px 30px;
      }
      .rs-acc__label {
          align-items: flex-start;
          justify-content: flex-start;
          padding: 19px 20px;
          font-size: 17px;
          line-height: 1.3;
      }
      .rs-acc__label span {
          writing-mode: horizontal-tb;
          transform: none;
      }
      .rs-acc__ghost {
          display: none;
      }
      .rs-acc__device {
          position: static;
          order: 1;
          width: 100% !important;
          margin: 0 auto;
      }
      .rs-acc__col--computer .rs-acc__device,
      .rs-acc__col--tablet .rs-acc__device {
          max-width: 300px;
      }
      .rs-acc__col--desktop .rs-acc__device {
          max-width: 280px;
      }
      .rs-acc__col--mobile .rs-acc__device {
          max-width: 112px;
      }
      .rs-acc__copy {
          position: static;
          order: 2;
          width: 100%;
          align-items: flex-start;
          gap: 12px;
      }
      .rs-acc__title {
          font-size: clamp(28px, 8vw, 40px);
          text-align: left;
          line-height: 1.08;
      }
      .rs-acc__body {
          font-size: clamp(14px, 4vw, 17px);
          text-align: left;
          line-height: 1.5;
          -webkit-line-clamp: 5;
      }
      .rs-glow {
          width: 150%;
          height: 46%;
          left: -25%;
          top: 8%;
          filter: blur(70px);
          opacity: 0.75;
      }
      /* --- playback modes --------------------------------------- */
      .rs-play__head {
          padding-top: 34px;
      }
      .rs-play__title {
          font-size: clamp(52px, 20.5vw, 120px);
          line-height: 1;
      }
      .rs-play__sub {
          padding-left: 20px;
          font-size: clamp(30px, 9.4vw, 52px);
          margin-top: 4px;
      }
      .rs-play__lead {
          width: auto;
          margin: 20px 20px 0;
          font-size: clamp(15px, 4.1vw, 18px);
          line-height: 1.5;
      }
      .rs-play__band {
          margin-top: 26px;
          padding: 34px 20px 44px;
      }
      .rs-play__card {
          width: 100%;
          gap: 26px;
      }
      .rs-play__cardtext {
          gap: 14px;
      }
      .rs-play__cardtitle {
          font-size: clamp(30px, 9vw, 46px);
      }
      .rs-play__cardbody {
          font-size: clamp(14px, 4vw, 17px);
          line-height: 1.5;
          -webkit-line-clamp: 6;
      }
      .rs-play__figure {
          width: 74%;
          right: -6%;
          top: auto;
          height: 44%;
          bottom: 0;
          opacity: 0.55;
      }
      .rs-btn {
          width: 100%;
          min-height: 52px;
          font-size: 15px;
      }
  }


  /* --- very small phones ------------------------------------- */

  @media (max-width: 380px) {
      .rs-hero__title {
          font-size: 40px;
      }
      .rs-play__title {
          font-size: 50px;
      }
      .rs-acc__ghost {
          font-size: 40px;
      }
  }


  /* --- respect reduced-motion: keep the states, drop the travel --- */

  @media (prefers-reduced-motion: reduce) {
      .rs-acc__col,
      .rs-acc__media,
      .rs-acc__copy,
      .rs-acc__label span {
          transition-duration: 1ms !important;
      }
  }


  /* =========================================================
               PURE GLASS FEATURE CARD
               ========================================================= */

  .playlist-music-feature {
      position: relative;
      overflow: hidden;
      min-height: 66px;
      display: flex;
      align-items: center;
      border-radius: 16px;
      /* Almost completely transparent */
      background: rgba(255, 255, 255, 0.025);
      /* Glass blur */
      backdrop-filter: blur(18px) saturate(125%);
      -webkit-backdrop-filter: blur(18px) saturate(125%);
      /* Very light glass edge */
      border: 1px solid rgba(255, 255, 255, 0.18);
      /* Glass depth */
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.04), 0 8px 30px rgba(0, 0, 0, 0.08);
      box-sizing: border-box;
  }


  /* =========================================================
               INNER CONTENT
               ========================================================= */

  .playlist-music-feature__inner,
  .playlist-music-feature--top .playlist-music-feature__inner {
      position: relative;
      z-index: 2;
      width: 100%;
      min-height: 64px;
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 6px 24px;
      border-radius: inherit;
      /* IMPORTANT - remove your existing blue gradient */
      background: transparent;
      box-shadow: none;
      box-sizing: border-box;
  }


  /* =========================================================
               TOP GLASS REFLECTION
               ========================================================= */

  .playlist-music-feature::before {
      content: "";
      position: absolute;
      top: 0;
      left: 6%;
      right: 6%;
      height: 1px;
      background: linear-gradient( 90deg, transparent 0%, rgba(255, 255, 255, 0.15) 15%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0.15) 85%, transparent 100%);
      opacity: 0.75;
      pointer-events: none;
  }


  /* =========================================================
               VERY SUBTLE GLASS SHINE
               ========================================================= */

  .playlist-music-feature::after {
      content: "";
      position: absolute;
      top: -80%;
      left: -30%;
      width: 45%;
      height: 260%;
      background: linear-gradient( 110deg, transparent 0%, rgba(255, 255, 255, 0.015) 30%, rgba(255, 255, 255, 0.11) 48%, rgba(255, 255, 255, 0.025) 60%, transparent 100%);
      transform: rotate(12deg);
      pointer-events: none;
      opacity: 0.65;
  }


  /* =========================================================
               DOT
               ========================================================= */


  /* =========================================================
               TEXT
               ========================================================= */

  .playlist-music-feature__inner p {
      margin: 0;
      color: rgba(255, 255, 255, 0.92);
      font-weight: 500;
  }


  /* =========================================================
               OPTIONAL HOVER GLASS SHINE
               ========================================================= */

  .playlist-music-feature {
      transition: border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
  }

  .playlist-music-feature:hover {
      background: rgba(255, 255, 255, 0.035);
      border-color: rgba(255, 255, 255, 0.28);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 10px 35px rgba(0, 0, 0, 0.1);
  }


  /* ============================================================
               TABLET / IPAD
               Below 1100px
               ============================================================ */

  @media (max-width: 1099px) {
      .music-playlist-station-scroll {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 14px;
          height: 580px;
          padding-left: 8px;
          padding-right: 8px;
      }
      .music-playlist-station-column {
          min-width: 0;
      }
      .music-playlist-station-set {
          gap: 14px;
      }
  }


  /* ============================================================
               IPHONE / MOBILE
               ============================================================ */

  @media (max-width: 767px) {
      .music-playlist-station-scroll {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 10px;
          width: 100%;
          height: 500px;
          padding-left: 6px;
          padding-right: 6px;
          box-sizing: border-box;
      }
      .music-playlist-station-column {
          width: 100%;
          min-width: 0;
          /*
                    Important for iPhone:
                    allow normal page vertical scrolling
                    */
          touch-action: pan-y;
          cursor: default;
      }
      .music-playlist-station-set {
          gap: 10px;
      }
      .music-playlist-station-item {
          width: 100%;
          min-width: 0;
      }
      .music-playlist-station-item img {
          width: 100%;
          height: auto;
          display: block;
      }
  }


  /* ============================================================
               SMALL IPHONE
               iPhone SE / small screens
               ============================================================ */

  @media (max-width: 390px) {
      .music-playlist-station-scroll {
          gap: 8px;
          height: 460px;
          padding-left: 4px;
          padding-right: 4px;
      }
      .music-playlist-station-set {
          gap: 8px;
      }
  }

  .service-intro-section {
      position: relative;
      width: 100%;
      min-height: 780px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      overflow: hidden;
      background: #052b4b;
  }


  /* =========================
                 COMMON CARD
              ========================= */

  .service-intro-card {
      position: relative;
      min-height: 390px;
      overflow: hidden;
  }


  /* =========================
                 TOP LEFT
              ========================= */

  .service-intro-card-top-left {
      background: radial-gradient( circle at 40% 35%, rgba(0, 164, 218, 0.35), transparent 55%), linear-gradient(125deg, #07304f 0%, #006c93 100%);
  }

  .service-intro-product-tag {
      position: absolute;
      /* top: 40px; */
      /* left: -31px; */
      min-width: 225px;
      /* padding: 28px 36px 28px 72px; */
      padding: 16px;
      background: #072e50;
      color: #ffffff;
      font-size: 28px;
      font-weight: 700;
      line-height: 1;
      z-index: 4;
      top: auto !important;
      left: auto !important;
  }

  .service-intro-rbox-image {
      position: absolute;
      top: 125px;
      left: 50%;
      width: 320px;
      height: 190px;
      transform: translateX(-50%);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 2;
  }

  .service-intro-rbox-image img {
      display: block;
      width: 100%;
      height: auto;
      object-fit: contain;
  }


  /* =========================
                 TOP RIGHT
              ========================= */

  .service-intro-card-top-right {
      display: flex;
      align-items: center;
      justify-content: center;
      background: #062c4c;
  }

  .section-head {
      position: absolute;
      width: 100%;
      height: 72px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #073052;
      color: #8ebfd9;
      font-size: 14px;
      font-weight: 600;
      letter-spacing: 4px;
      text-transform: uppercase;
      text-align: center;
      z-index: 20;
  }
  .service-intro-heading {
      margin: 0;
      padding: 40px;
      color: #ffffff;
      font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
      font-size: clamp(34px, calc(3.2 * min(100vw, 1512px) / 100), 55px);
      font-weight: 700;
      line-height: 1.1;
      letter-spacing: -1px;
      text-align: center;
  }


  /* =========================
                 BOTTOM LEFT
              ========================= */

  .service-intro-card-bottom-left {
      display: flex;
      align-items: center;
      justify-content: center;
      background: #062c4c;
  }

  .service-intro-description {
      width: 72%;
      margin: 0;
      color: #ffffff;
      font-size: clamp(17px, calc(1.45 * min(100vw, 1512px) / 100), 20px);
      font-weight: 400;
      line-height: 1.2 !important;
  }

  .service-intro-description a {
      color: #FFF !important;
  }


  /* =========================
                 BOTTOM RIGHT
              ========================= */

  .service-intro-card-bottom-right {
      display: flex;
      align-items: center;
      justify-content: center;
      background: radial-gradient( circle at 60% 35%, rgba(0, 170, 220, 0.25), transparent 60%), linear-gradient(130deg, #08799f, #00668f);
  }

  .service-intro-product-tag {
      left: 0 !important;
      right: auto !important;
      bottom: 0 !important;
      top: auto !important;
  }

  .service-intro-lisa-image {
      position: absolute;
      top: 40px;
      left: 50%;
      width: 100%;
      min-height: 140px;
      transform: translateX(-50%);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 2;
  }

  .service-intro-lisa-image img {
      display: block;
      width: 100%;
      max-height: 272px;
      object-fit: contain;
  }


  /* =========================
                 LISA TITLE
              ========================= */

  .service-intro-lisa-title-box {
      position: absolute;
      right: 0;
      bottom: 25px;
      width: 92%;
      min-height: 66px;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      background: linear-gradient( 90deg, #075b80 0%, #075b80 70%, #0878ad 70%, #0878ad 100%);
      z-index: 3;
  }

  .service-intro-lisa-title {
      width: 100%;
      margin: 0;
      padding: 15px 55px;
      color: #ffffff;
      font-size: clamp(23px, calc(2 * min(100vw, 1512px) / 100), 33px);
      font-weight: 700;
      line-height: 1.2;
      text-align: center;
  }


  /* =========================
                 LARGE CENTER TEXT
              ========================= */

  .service-intro-watermark {
      display: none;
      position: absolute;
      top: 50%;
      left: 50%;
      z-index: 5;
      transform: translate(-50%, -50%);
      color: rgba(255, 255, 255, 0.2);
      font-family: Arial, Helvetica, sans-serif;
      font-size: clamp(65px, calc(9 * min(100vw, 1512px) / 100), 111px);
      font-weight: 700;
      line-height: 1;
      letter-spacing: -6px;
      white-space: nowrap;
      pointer-events: none;
  }


  /* =========================
                 TABLET
              ========================= */

  @media (max-width: 1024px) {
      .service-intro-section {
          min-height: 650px;
      }
      .service-intro-card {
          min-height: 325px;
      }
      .service-intro-product-tag {
          top: 30px;
          min-width: 190px;
          padding: 22px 28px 22px 45px;
          font-size: 24px;
      }
      .service-intro-rbox-image {
          top: 120px;
          width: 260px;
          height: 150px;
      }
      .service-intro-description {
          width: 80%;
          line-height: 1.5;
      }
      .service-intro-lisa-image {
          top: 65px;
          width: 62%;
      }
      .service-intro-lisa-title-box {
          bottom: 35px;
      }
      .service-intro-lisa-title {
          padding: 22px 30px;
      }
      .service-intro-watermark {
          letter-spacing: -4px;
      }
      .music-playlist-station-scroll {
          width: 720px;
      }
  }


  /* =========================
                 MOBILE
              ========================= */

  @media (max-width: 767px) {
      .service-intro-section {
          display: flex;
          flex-direction: column;
          min-height: auto;
      }
      .service-intro-card {
          width: 100%;
          min-height: 330px;
      }
      .service-intro-card-top-left {
          order: 1;
      }
      .service-intro-card-top-right {
          order: 2;
          min-height: 220px;
      }
      .service-intro-card-bottom-left {
          order: 3;
          min-height: 360px;
      }
      .service-intro-card-bottom-right {
          order: 4;
          min-height: 420px;
      }
      .service-intro-product-tag {
          top: 30px;
          min-width: 170px;
          padding: 20px 25px 20px 30px;
          font-size: 22px;
      }
      .service-intro-rbox-image {
          top: 115px;
          width: 240px;
          height: 150px;
      }
      .service-intro-heading {
          padding: 30px 25px;
          font-size: 34px;
      }
      .service-intro-description {
          width: 85%;
          font-size: 17px;
          line-height: 1.55;
      }
      .service-intro-lisa-image {
          top: 75px;
          width: 75%;
      }
      .service-intro-lisa-title-box {
          bottom: 35px;
          width: 94%;
      }
      .service-intro-lisa-title {
          padding: 22px 25px;
          font-size: 24px;
      }
      .service-intro-watermark {
          display: none;
      }
      .music-playlist-station-scroll {
          width: 100%;
          max-width: 100%;
          padding-left: 0px;
          padding-right: 0px;
      }
  }


  /* =========================================================================
           SOFTWARE APP-BASED PLAYERS  -  PHONE AND TABLET        (max-width: 1024px)
           -------------------------------------------------------------------------
           Applies to the .service-intro-* section of streaming_V2.cfm only. Every
           selector already exists above; no new class and no markup change. Sits
           after the existing 1024 and 767 blocks so it is the last word at equal
           specificity, which leaves those blocks, and the .music-playlist rules
           sharing them, exactly as they were.

           DESKTOP IS UNTOUCHED. Every rule is inside max-width: 1024px.

           Layout: one product per full-width band, picture and copy side by side
           with the side flipping between the two bands on tablet, stacking to
           picture over copy on the phone.

           Defects this fixes, all measured:
             - the watermark ran 33 to 62px past each side of the section and was
               cut off by overflow:hidden; at 1024 it read "oftware App-Based Player"
             - it also crossed the paragraphs on the card seam, so the copy sat on
               top of grey letterforms
             - .service-intro-lisa-image overran its card by 12px (top:65 plus
               max-height:272 in a 325px card) and lost the bottom of the phone
             - the two products ran in opposite orders on the phone, one picture
               first and the other copy first
             - the watermark was display:none below 768, so the section lost its
               only title
           ========================================================================= */


  /* =========================================================================
           VARIANT B  -  ALTERNATING BANDS
           One product per full-width band. Tablet puts the picture and the copy side
           by side and flips the side between the two bands, which keeps the diagonal
           rhythm the desktop grid has. Phone drops each band to picture over copy.
           The watermark becomes a thin letter-spaced eyebrow at the top, small enough
           that it never clips and never crosses the copy.
           ========================================================================= */

  @media (max-width: 1024px) {
      .service-intro-section {
          display: -ms-grid;
          display: grid;
          grid-template-columns: 44% 56%;
          grid-template-rows: auto auto;
          min-height: 0;
          padding-top: 64px;
          background: #052b4b;
      }
      /* band 1: picture left, copy right.  band 2: copy left, picture right. */
      .service-intro-card-top-left {
          grid-column: 1;
          grid-row: 1;
      }
      .service-intro-card-top-right {
          grid-column: 2;
          grid-row: 1;
      }
      .service-intro-card-bottom-left {
          grid-column: 1;
          grid-row: 2;
      }
      .service-intro-card-bottom-right {
          grid-column: 2;
          grid-row: 2;
      }
      .service-intro-card {
          min-height: 320px;
          width: auto;
      }
      .service-intro-card-top-right,
      .service-intro-card-bottom-left {
          padding: 34px 32px;
          -webkit-align-items: center;
          align-items: center;
      }
      .service-intro-card-bottom-left {
          background: #052947;
      }
      /* ---- eyebrow --------------------------------------------------------- */
      .service-intro-watermark {
          display: -webkit-flex;
          display: flex;
          top: 0;
          left: 0;
          right: 0;
          width: auto;
          height: 64px;
          padding: 0 24px;
          -webkit-align-items: center;
          align-items: center;
          -webkit-justify-content: center;
          justify-content: center;
          transform: none;
          white-space: normal;
          font-family: Arial, Helvetica, sans-serif;
          font-size: 13px;
          font-weight: 700;
          letter-spacing: 3.4px;
          line-height: 1.3;
          text-align: center;
          text-transform: uppercase;
          color: rgba(140, 205, 240, 0.9);
      }
      /* ---- R-Box picture --------------------------------------------------- */
      .service-intro-product-tag {
          top: auto;
          bottom: 0;
          left: 0;
          min-width: 0;
          padding: 13px 20px;
          font-size: 18px;
          letter-spacing: 0.2px;
          background: rgba(3, 24, 43, 0.86);
          border-radius: 0 12px 0 0;
      }
      .service-intro-rbox-image {
          top: 50%;
          width: 70%;
          height: auto;
          max-height: 178px;
          transform: translate(-50%, -50%);
      }
      .service-intro-rbox-image img {
          max-height: 178px;
      }
      /* ---- RS-PLAY picture ------------------------------------------------- */
      .service-intro-lisa-image {
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          min-height: 0;
          padding: 26px 0 62px;
          box-sizing: border-box;
          transform: none;
      }
      .service-intro-lisa-image img {
          width: auto;
          max-width: 56%;
          height: 100%;
          max-height: none;
      }
      .service-intro-lisa-title-box {
          right: auto;
          left: 0;
          bottom: 0;
          width: auto;
          min-height: 0;
          background: rgba(3, 24, 43, 0.86);
          border-radius: 0 12px 0 0;
      }
      .service-intro-lisa-title {
          width: auto;
          padding: 13px 20px;
          font-size: 18px;
          letter-spacing: 0.2px;
          text-align: left;
      }
      /* ---- copy ------------------------------------------------------------ */
      .service-intro-description {
          width: 100%;
          font-size: 16px;
          line-height: 1.6 !important;
          text-align: left;
      }
      .service-intro-description a {
          text-decoration: underline;
          text-underline-offset: 3px;
      }
  }


  /* ---------------------------------------------------------------- phone --- */

  @media (max-width: 719px) {
      .service-intro-section {
          grid-template-columns: 1fr;
          grid-template-rows: auto auto auto auto;
          padding-top: 58px;
      }
      .service-intro-card-top-left {
          grid-column: 1;
          grid-row: 1;
      }
      .service-intro-card-top-right {
          grid-column: 1;
          grid-row: 2;
      }
      .service-intro-card-bottom-right {
          grid-column: 1;
          grid-row: 3;
      }
      .service-intro-card-bottom-left {
          grid-column: 1;
          grid-row: 4;
      }
      .service-intro-card {
          min-height: 0;
      }
      .service-intro-card-top-left,
      .service-intro-card-bottom-right {
          min-height: 278px;
      }
      .service-intro-card-top-right,
      .service-intro-card-bottom-left {
          padding: 26px 22px 32px;
      }
      .service-intro-watermark {
          height: 58px;
          font-size: 12px;
          letter-spacing: 2.6px;
      }
      .service-intro-rbox-image {
          width: 64%;
          max-height: 156px;
      }
      .service-intro-rbox-image img {
          max-height: 156px;
      }
      .service-intro-lisa-image {
          padding: 22px 0 58px;
      }
      .service-intro-lisa-image img {
          max-width: 42%;
      }
      .service-intro-description {
          font-size: 16px;
      }
  }

  .rs-btn {
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.25);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 8px 24px rgba(0, 0, 0, 0.15);
      color: #fff;
      transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  }

  .rs-btn:hover {
      background: rgba(255, 255, 255, 0.14);
      border-color: rgba(255, 255, 255, 0.4);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 10px 28px rgba(0, 0, 0, 0.2);
  }

  @media (width: 820px) and (height: 1180px) {
      .playlist-music-features {
          width: 780px;
      }
      .music-playlist-hero h1 {
          font-size: 36px;
      }
      .music-playlist-station-text h2 {
          font-size: 50px;
      }
      .music-playlist-station-text p {
          font-size: 20px;
      }
      .playlist-search-box {
          margin-bottom: 30px;
      }
      .music-playlist-business p {
          font-size: 20px;
      }
  }

  @import url("https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;600;700&display=swap");

  /* =====================================================
               RADIO SPARX SECTION ONLY
               No body/html/* styles.
            ===================================================== */

  .rs-features {
      height: 900px;
      position: relative;
      width: 100%;
      max-width: 1512px;
      /*
                   1512 x 820 reference proportion.
                   At 1368px this becomes roughly 741px high.
                */
      aspect-ratio: 1512 / 820;
      margin-inline: auto;
      overflow: hidden;
      isolation: isolate;
      font-family: "Oswald", sans-serif;
      color: #ffffff;
      box-sizing: border-box;
      background: radial-gradient( 87.84% 278.64% at 12.16% 84.23%, #027fca 0%, #001c3a 100%);
  }


  /* =====================================================
               MAIN INTERNAL LAYOUT

               IMPORTANT:
               No position: sticky.
               No 700vh.
            ===================================================== */

  .rs-sticky {
      position: relative;
      width: 100%;
      height: 100%;
      display: grid;
      /*
                   Image area + text area.
                   Right section gets enough room to avoid overlap.
                */
      grid-template-columns: minmax(0, 60%) minmax(0, 40%);
      overflow: hidden;
      box-sizing: border-box;
      background: transparent;
  }


  /* =====================================================
               LEFT SIDE
            ===================================================== */

  .rs-left {
      position: relative;
      width: 100%;
      height: 100%;
      min-width: 0;
      overflow: hidden;
      box-sizing: border-box;
  }


  /* =====================================================
               CIRCLE HOLDER

               Sized RELATIVE TO THE SECTION,
               not the browser viewport.
            ===================================================== */

  .rs-wheel-holder {
      position: absolute;
      /*
                   Circle takes roughly 91% of section height,
                   giving a clean top/bottom gap.
                */
      height: 105%;
      aspect-ratio: 1 / 1;
      width: 110%;
      left: -20.5%;
      top: 60%;
      transform: translateY(-50%);
      box-sizing: border-box;
  }


  /* =====================================================
               MAIN CIRCLE
            ===================================================== */

  .rs-wheel {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
      border-radius: 50%;
      box-sizing: border-box;
      background: #062d43;
      transform-origin: center center;
      border-right: 2px solid rgba(0, 180, 255, 0.92);
      filter: drop-shadow(0 0 6px rgba(0, 174, 255, 0.95)) drop-shadow(0 0 14px rgba(0, 160, 255, 0.75)) drop-shadow(0 0 28px rgba(0, 137, 230, 0.55)) drop-shadow(0 0 45px rgba(0, 110, 205, 0.35));
  }


  /* Outer circle border */

  .rs-wheel::after {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: 50%;
      border: 1.5px solid rgba(196, 231, 251, 0.72);
      pointer-events: none;
      z-index: 100;
  }


  /* =====================================================
               FULL IMAGE LAYERS

               ONE full image at a time.
            ===================================================== */

  .rs-slice {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border-radius: 50%;
      overflow: hidden;
      box-sizing: border-box;
      clip-path: none !important;
      transform: none !important;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      z-index: 1;
      transition: opacity 0.55s ease, visibility 0.55s ease;
  }


  /* Active image */

  .rs-slice.active-image {
      opacity: 1;
      visibility: visible;
      z-index: 10;
  }


  /* =====================================================
               IMAGE
            ===================================================== */

  .rs-slice-image {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      box-sizing: border-box;
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
      transform: scale(1.025) !important;
      filter: brightness(0.94) saturate(1.04) contrast(1.03);
      transition: transform 0.9s cubic-bezier(0.2, 0.75, 0.25, 1), filter 0.45s ease;
  }


  /* Active image animation */

  .rs-slice.active-image .rs-slice-image {
      transform: scale(1.055) !important;
  }


  /*
               Remove all old slice gradients / pie effects.
            */

  .rs-slice::before,
  .rs-slice::after {
      display: none !important;
  }

  #rsFeatures .rs-feature-text>p {
      display: none;
  }


  /* =====================================================
               RIGHT SIDE

               Grid prevents heading / list overlap.
            ===================================================== */

  .rs-right {
      position: relative;
      width: 100%;
      height: 100%;
      min-width: 0;
      display: grid;
      grid-template-rows: auto minmax(0, 1fr);
      row-gap: clamp(20px, 2.4vw, 36px);
      padding: clamp(30px, 4vw, 60px) clamp(24px, 3vw, 44px) clamp(20px, 2.4vw, 36px) clamp(18px, 2vw, 30px);
      overflow: hidden;
      box-sizing: border-box;
  }


  /* =====================================================
               BRAND
            ===================================================== */

  .rs-brand {
      position: relative;
      width: 100%;
      min-width: 0;
      box-sizing: border-box;
      z-index: 20;
  }


  /* RADIO SPARX */

  .rs-brand h1 {
      margin: 0;
      padding: 0;
      width: 100%;
      max-width: 100%;
      font-family: "Antonio", sans-serif;
      font-size: clamp(58px, 6vw, 96px);
      font-weight: 700;
      line-height: 0.9;
      letter-spacing: 0;
      white-space: nowrap;
      background: linear-gradient(180deg, #ffffff 16.75%, #0096f1 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      color: transparent;
  }


  /* Subtitle */

  .rs-brand p {
      margin: 2px;
      padding: 0;
      color: #ffffff;
      font-family: Arial, sans-serif;
      font-size: clamp(18px, 1vw, 18px);
      font-weight: 600;
      line-height: 1.2;
      letter-spacing: 0.38em;
      white-space: nowrap;
  }


  /* =====================================================
               INTERNAL FEATURE SCROLLER

               THIS is now the scroll area.
               The page itself no longer needs 700vh.
            ===================================================== */

  .rs-manifesto-window {
      position: relative;
      width: 100%;
      min-width: 0;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
      overscroll-behavior: contain;
      scrollbar-width: none;
      box-sizing: border-box;
      z-index: 10;
  }

  .rs-manifesto-window::-webkit-scrollbar {
      display: none;
  }


  /*
               No dark gradient/fade box.
            */

  .rs-manifesto-window::before,
  .rs-manifesto-window::after {
      display: none !important;
  }


  /* =====================================================
               FEATURE LIST

               No absolute positioning.
               No JS translateY.
            ===================================================== */

  .rs-manifesto-list {
      position: relative;
      width: 100%;
      left: auto;
      top: auto;
      margin: 0;
      padding: 0;
      transform: none !important;
      box-sizing: border-box;
  }


  /* =====================================================
               FEATURE ITEM
            ===================================================== */

  .rs-feature {
      display: flex !important;
      align-items: flex-start !important;
      width: 100%;
      height: 100%;
      margin: 0% 0;
      /* min-height: clamp(88px, 8vw, 112px); */
      display: grid;
      grid-template-columns: clamp(36px, 3.1vw, 48px) minmax(0, 1fr);
      column-gap: clamp(10px, 1.2vw, 17px);
      align-items: center;
      box-sizing: border-box;
      cursor: pointer;
      color: rgba(170, 208, 230, 1);
      opacity: 0.48;
      transform: scale(0.97);
      transform-origin: left center;
      scroll-snap-align: center;
      transition: opacity 0.3s ease, color 0.3s ease, transform 0.3s ease;
      margin-bottom: 10px;
  }


  /* Active feature */

  .rs-feature.active {
      color: #ffffff;
      opacity: 1;
      transform: scale(1);
  }


  /* =====================================================
               FEATURE NUMBER
            ===================================================== */

  .rs-number {
      /* visibility: hidden; */
      margin: 0;
      padding: 0;
      color: inherit;
      font-family: "Oswald", sans-serif;
      font-size: clamp(20px, 1.55vw, 30px);
      font-weight: 400;
      line-height: 1;
      display: block !important;
      margin: 8px 12px 0 0 !important;
  }


  /* =====================================================
               FEATURE TEXT
            ===================================================== */

  .rs-feature-text {
      display: flex;
      flex-direction: column;
      min-width: 0;
      margin: 0;
      padding: 0;
      box-sizing: border-box;
  }

  .rs-feature-text span {
      margin: 0;
      padding: 0;
      color: inherit;
      font-family: "antonio", sans-serif;
      font-size: clamp(22px, 1.75vw, 32px);
      font-weight: 300;
      line-height: 1;
  }

  .rs-feature-text strong {
      margin: 0;
      padding: 0;
      color: inherit;
      font-family: "Antonio", sans-serif;
      font-size: clamp(25px, 2.15vw, 38px);
      font-weight: 500;
      line-height: 1;
      letter-spacing: -0.3px;
      /* text-transform: uppercase; */
      overflow-wrap: normal;
  }

  .rs-feature:not(.active) .rs-feature-text {
      opacity: 0.66;
  }

  .rs-feature.active .rs-number,
  .rs-feature.active .rs-feature-text span,
  .rs-feature.active .rs-feature-text strong {
      color: #ffffff;
  }


  /* =====================================================
               HOVER
            ===================================================== */

  @media (hover: hover) {
      .rs-feature:not(.active):hover {
          opacity: 0.64;
      }
  }


  /* =====================================================
               1200px
            ===================================================== */

  @media (max-width: 1200px) {
      .rs-sticky {
          grid-template-columns: 48% 52%;
      }
      .rs-wheel-holder {
          height: 86%;
          left: -18%;
      }
      .rs-right {
          padding: 30px 24px 24px 18px;
          row-gap: 20px;
      }
      .rs-brand h1 {
          font-size: clamp(55px, 6.4vw, 82px);
      }
      .rs-brand p {
          font-size: 10px;
          letter-spacing: 0.28em;
      }
  }


  /* =====================================================
               TABLET
            ===================================================== */

  @media (max-width: 900px) {
    .rs-play-service-download__image {
        border-radius: 10px !important;
    }
    .r-box-service-windows__download-image {
        width: 100% !important;
    }
    .r-box-service-windows__links {
        align-items: start !important;
    }
      .rs-features {
          aspect-ratio: auto;
          height: 755px;
      }
      .rs-sticky {
          grid-template-columns: 44% 56%;
      }
      .rs-wheel-holder {
          height: 79%;
          left: -29%;
          top: 50%;
      }
      #rsFeatures .rs-wheel-description {
          max-width: 100%;
          width: 57% !important;
      }
      .rs-wheel {
          width: 100%;
      }
      .rs-brand h1 {
          font-size: clamp(48px, 6.5vw, 65px);
      }
      .rs-feature {
          /* min-height: 86px; */

            min-height: auto;
            padding: 10px 13px;
      }
  }

  @media (min-width: 809px) and (max-width: 821px){
      .rs-feature {
          /* min-height: 100px; */
          min-height: 50px;
          margin-bottom: 0px;
      }
  }

  /* =====================================================
               MOBILE

               Image first, text below.
            ===================================================== */

  @media (max-width: 700px) {
      .rs-wheel {
          display: none;
      }
      #rsFeatures .rs-wheel-description {
          padding: 24px 24px;
          clip-path: inset(0 -40px -40px -40px);
          left: unset !important;
          width: 100% !important;
          bottom: 6px !important;
          padding-left: 60px !important;
          padding-right: 60px !important;
          border-top: none !important;
          box-shadow: 0 4px 6px rgb(255 255 255 / 44%), 0 8px 26px #0896ed, 0 6px 20px rgb(0 183 255 / 65%) !important;
      }
      #rsFeatures .rs-wheel-description-text {
          font-size: clamp(16px, 2.2vw, 15px);
          line-height: 1.2 !important;
      }
      .rs-feature-text {
          display: flex;
          flex-direction: column;
          min-width: 0;
          gap: -5px;
          margin: 0;
          padding: 0;
          box-sizing: border-box;
      }
      .rs-features {
          aspect-ratio: auto;
          /* height: min(760px, 100svh); */
          height: auto;
          min-height: 0px;
      }
      .rs-sticky {
          display: flex;
          flex-direction: column;
          height: auto;
          margin-top: -16px;
      }
      .rs-left {
          width: 100%;
          height: 42%;
          flex-shrink: 0;
      }
      .rs-wheel-holder {
          height: 100%;
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%);
      }
      .rs-wheel-holder {
          aspect-ratio: 1 / 1 !important;
          margin-bottom: -240px !important;
      }
      .rs-right {
          flex: 1;
          width: 100%;
          min-height: 0;
          padding: 8px 18px 14px;
          row-gap: 12px;
          padding-inline: 28px;
          padding-right: 9px;
      }
      .rs-brand {
          text-align: center;
      }
      .rs-brand h1 {
          font-size: clamp(45px, 13vw, 72px);
      }
      .feature-buttons {
          justify-content: center !important;
      }
      .rs-brand p {
          margin-top: 0px;
          font-size: 15px;
          letter-spacing: 0.16em;
          white-space: normal;
      }
      .rs-feature {
          min-height: 38px;
          grid-template-columns: 32px 1fr;
          column-gap: 7px;
      }
      .rs-number {
          font-size: 21px;
          visibility: visible;
      }
      .rs-feature-text span {
          font-size: clamp(19px, 5vw, 25px);
          line-height: 1 !important;
      }
      .rs-feature-text strong {
          font-size: clamp(21px, 5.8vw, 30px);
      }
  }


  /* =====================================================
               SMALL MOBILE
            ===================================================== */

  @media (max-width: 480px) {
      .rs-features {
          min-height: 0px;
      }
      .rs-left {
          /* height: 38%; */
          height: 302px !important;
      }
      #rsFeatures .rs-wheel-description-text {
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 7;
          overflow: hidden;
          display: -webkit-box;
      }
      .rs-right {
          padding-inline: 28px;
          padding-right: 9px;
      }
  }


  /* =====================================================
               REDUCED MOTION
            ===================================================== */

  @media (prefers-reduced-motion: reduce) {
      .rs-slice,
      .rs-slice-image,
      .rs-feature {
          transition: none;
      }
  }


  /* =====================================================
               STATIC SERVICE FEATURES SECTION
            ===================================================== */

  .rsf-static-section {
      position: relative;
      width: 100%;
      max-width: 1512px;
      min-height: 0px;
      margin-inline: auto;
      display: grid;
      grid-template-columns: 40% 60%;
      overflow: hidden;
      box-sizing: border-box;
      /*
                   Background similar to reference:
                   darker beside image, brighter toward right.
                */
      background: linear-gradient( 110deg, #044667 0%, #066795 42%, #0787c4 68%, #079ee6 100%);
  }


  /* =====================================================
               LEFT VISUAL AREA
            ===================================================== */

  .rsf-static-visual {
      position: relative;
      width: 100%;
      min-width: 0;
      min-height: 0px;
      overflow: visible;
      box-sizing: border-box;
      z-index: 2;
  }


  /* =====================================================
               LARGE HALF-OVAL IMAGE

               IMPORTANT:
               This is deliberately larger than the section height
               and shifted outside the left side.

               That creates the exact half-circle / oval appearance.
            ===================================================== */

  .rsf-static-circle {
      position: absolute;
      /*
                   Wide/tall oval rather than a perfect small circle.
                */
      width: 95%;
      height: 110%;
      left: -10%;
      top: -6%;
      overflow: hidden;
      box-sizing: border-box;
      /*
                   Right side has the curved oval shape.
                   Left side continues outside the section.
                */
      border-radius: 0 40% 34% 0 / 0 50% 50% 0;
      background: #02080d;
      /*
                   Thin bright blue edge.
                */
      border-right: 2px solid rgba(0, 180, 255, 0.92);
      /*
                   Blue glow following the curved image edge.
                */
      filter: drop-shadow(9px 0 5px rgba(0, 174, 255, 0.72)) drop-shadow(20px 0 18px rgba(0, 137, 230, 0.42)) drop-shadow(32px 0 38px rgba(0, 110, 205, 0.22));
  }


  /* =====================================================
               IMAGE
            ===================================================== */

  .rsf-static-image {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      /*
                   Replace with your actual image.
                */
      background-image: url("../images/rs-feature-header_new.png");
      background-repeat: no-repeat;
      background-size: cover;
      /*
                   Similar framing to screenshot.
                   Person sits around center/right of image.
                */
      background-position: right right;
      margin-left: 20px;
      box-sizing: border-box;
  }


  /* =====================================================
               SUBTLE DARKENING INSIDE IMAGE

               Helps left-side title remain readable.
            ===================================================== */

  .rsf-static-image::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background: linear-gradient( 180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.06) 58%, rgba(0, 0, 0, 0.52) 100%);
  }


  /* =====================================================
               LEFT IMAGE TITLE
            ===================================================== */

  .rsf-static-image-title {
      display: none !important;
      position: absolute;
      /*
                   Position similar to reference.
                */
      left: 18%;
      bottom: 11%;
      z-index: 10;
      color: #ffffff;
      font-family: "Antonio", sans-serif;
      font-size: clamp(52px, 4.8vw, 78px);
      font-weight: 500;
      line-height: 0.98;
      letter-spacing: -1px;
      text-shadow: 0 4px 15px rgba(0, 0, 0, 0.32);
  }


  /* =====================================================
               RIGHT CONTENT AREA
            ===================================================== */

  .rsf-static-content {
      position: relative;
      width: 100%;
      min-width: 0;
      min-height: 0px;
      display: flex;
      align-items: center;
      box-sizing: border-box;
      /*
                   Enough left gap after curved image.
                */
      padding: 55px clamp(34px, 3.6vw, 62px) 55px clamp(52px, 5vw, 82px);
      z-index: 5;
  }


  /* =====================================================
               CONTENT INNER
            ===================================================== */

  .rsf-static-content-inner {
      position: relative;
      width: 100%;
      max-width: 600px;
      box-sizing: border-box;
  }


  /* =====================================================
               RIGHT HEADING
            ===================================================== */

  .rsf-static-heading {
      margin: 0 0 clamp(25px, 2.4vw, 30px);
      padding: 0;
      color: #ffffff;
      font-family: "Antonio", sans-serif;
      font-size: clamp(78px, 6.7vw, 80px);
      font-weight: 500;
      line-height: 0.94 !important;
      letter-spacing: -2px;
  }


  /* =====================================================
               DESCRIPTION
            ===================================================== */

  .rsf-static-description {
      margin-top: 15px;
      padding: 0;
      max-width: 590px;
      color: rgba(255, 255, 255, 0.97);
      font-family: Roboto, sans-serif;
      font-size: clamp(18px, 1.3vw, 28px);
      font-weight: 400;
      line-height: 1.45;
  }


  /* =====================================================
               CTA BUTTON
            ===================================================== */

  .rsf-static-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 200px;
      min-height: 44px;
      padding: 10px 34px;
      box-sizing: border-box;
      border-radius: 999px;
      text-decoration: none;
      background: #ffffff;
      color: #008bd6 !important;
      font-family: Arial, sans-serif;
      font-size: clamp(16px, 1.2vw, 20px);
      font-weight: 700;
      line-height: 1;
      transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
  }

  .rsf-static-button:hover {
      transform: translateY(-2px);
      background: #f8fcff;
      box-shadow: 0 10px 28px rgba(0, 68, 110, 0.18);
  }


  /* =====================================================
               1200px
            ===================================================== */

  @media (max-width: 1200px) {
      .rsf-static-section {
          grid-template-columns: 53% 47%;
          min-height: 680px;
      }
      .rsf-static-visual,
      .rsf-static-content {
          min-height: 680px;
      }
      /*
                   Keep oval large enough to maintain curve.
                */
      .rsf-static-circle {
          width: 112%;
          height: 110%;
          left: -18%;
          top: -5%;
      }
      .rsf-static-content {
          padding: 45px 34px 45px 40px;
      }
      .rsf-static-heading {
          font-size: clamp(70px, 7vw, 100px);
      }
      .rsf-static-image-title {
          /* left: 13%; */
          font-size: clamp(48px, 5vw, 68px);
      }
      .rsf-static-button {
          min-width: 300px;
      }
  }


  /* =====================================================
               TABLET
            ===================================================== */

  @media (max-width: 900px) {
      .rsf-static-section {
          grid-template-columns: 49% 51%;
          min-height: 610px;
      }
      .rsf-static-visual,
      .rsf-static-content {
          min-height: 610px;
      }
      .rsf-static-circle {
          width: 125%;
          height: 108%;
          left: -34%;
          top: -4%;
          border-radius: 0 53% 53% 0 / 0 50% 50% 0;
      }
      .rsf-static-content {
          padding: 38px 26px 38px 26px;
      }
      .rsf-static-heading {
          font-size: clamp(60px, 8vw, 82px);
      }
      .rsf-static-description {
          font-size: clamp(14px, 1.8vw, 17px);
      }
      .rsf-static-button {
          min-width: 245px;
          min-height: 54px;
      }
      .rsf-static-image-title {
          left: 34%;
          bottom: 12%;
          font-size: clamp(40px, 6vw, 56px);
      }
  }


  /* =====================================================
               MOBILE
            ===================================================== */

  @media (max-width: 700px) {
      .rsf-static-section {
          display: flex;
          flex-direction: column;
          min-height: 0;
      }
      /* -----------------------------------------------
                   TOP IMAGE AREA
                ------------------------------------------------ */
      .rsf-static-visual {
          width: 100%;
          min-height: 430px;
          overflow: hidden;
      }
      /*
                   On mobile the oval becomes a large curved image
                   across the top.
                */
      .rsf-static-circle {
          width: 115%;
          height: 112%;
          left: -8%;
          top: -20%;
          border-radius: 0 0 52% 52% / 0 0 44% 44%;
          border-right: 0;
          border-bottom: 2px solid rgba(0, 180, 255, 0.9);
          filter: drop-shadow(0 8px 5px rgba(0, 174, 255, 0.68)) drop-shadow(0 18px 20px rgba(0, 133, 225, 0.34));
      }
      .rsf-static-image-title {
          /* left: 11%; */
          bottom: 11%;
          font-size: clamp(40px, 11vw, 62px);
      }
      /* -----------------------------------------------
                   CONTENT
                ------------------------------------------------ */
      .rsf-static-content {
          width: 100%;
          min-height: 0;
          padding: 42px 24px 50px;
          text-align: center;
      }
      .rsf-static-content-inner {
          max-width: 560px;
          margin-inline: auto;
      }
      .rsf-static-heading {
          margin-bottom: 23px;
          font-size: clamp(53px, 18vw, 65px);
          line-height: 0.94;
      }
      .rsf-static-description {
          margin-inline: auto;
          margin-bottom: 28px;
          font-size: clamp(14px, 4vw, 17px);
      }
      .rsf-static-button {
          width: 157px;
          min-width: 0;
          min-height: 46px;
          font-size: 16px;
      }
  }


  /* =====================================================
               SMALL MOBILE
            ===================================================== */

  @media (max-width: 480px) {
      .rsf-static-visual {
          min-height: 360px;
      }
      .rsf-static-circle {
          width: 122%;
          height: 112%;
          left: -11%;
          top: -18%;
      }
      .rsf-static-image-title {
          /* left: 12%; */
          bottom: 11%;
          font-size: clamp(36px, 12vw, 52px);
      }
      .rsf-static-content {
          padding: 32px 18px 42px;
      }
      .rsf-static-heading {
          font-size: clamp(53px, 18vw, 65px);
      }
      #rsFeatures .rs-wheel-description {
          left: unset !important;
          width: 100% !important;
          bottom: 6px !important;
      }
  }


  /* =====================================================
               RADIO SPARX PERFORMANCE STATS
               Fully scoped CSS
            ===================================================== */

  .rspr-stats-section {
      position: relative;
      width: 100%;
      max-width: 1512px;
      min-height: 560px;
      margin-inline: auto;
      display: grid;
      grid-template-columns: 54.5% 49.5%;
      overflow: hidden;
      box-sizing: border-box;
      background: #003b5f;
      font-family: Arial, Helvetica, sans-serif;
      color: #ffffff;
  }


  /* =====================================================
               LEFT CONTENT
            ===================================================== */

  .rspr-stats-content {
      position: relative;
      width: 100%;
      min-width: 0;
      padding: clamp(60px, 4.6vw, 20px) clamp(57px, 5.6vw, 75px);
      box-sizing: border-box;
  }


  /* =====================================================
               HEADING
            ===================================================== */

  .rspr-stats-heading {
      margin: 0;
      padding: 0;
      max-width: 600px;
      color: #ffffff;
      font-size: clamp(26px, 2vw, 34px);
      font-weight: 600;
      line-height: 1.22;
      letter-spacing: -0.02em;
  }


  /* =====================================================
               STATS LIST
            ===================================================== */

  .rspr-stats-list {
      margin-top: clamp(90px, 5.4vw, 26px);
      display: flex;
      flex-direction: row;
      /* gap: clamp(100px, 3.8vw, 50px); */
      gap: 10%;
  }


  /* =====================================================
               SINGLE STAT
            ===================================================== */

  .rspr-stats-item {
      position: relative;
  }


  /* =====================================================
               LABEL
            ===================================================== */

  .rspr-stats-label {
      margin-bottom: clamp(0px, 0vw, 0px);
      color: rgba(231, 241, 248, 0.82);
      font-size: clamp(20px, 1.65vw, 28px);
      font-weight: 600;
      line-height: 1 !important;
  }


  /* =====================================================
               NUMBER
            ===================================================== */

  .rspr-stats-number {
      color: #ffffff;
      font-size: clamp(54px, 5vw, 56px);
      font-weight: 600;
      line-height: 0.95;
      letter-spacing: -0.035em;
      font-variant-numeric: tabular-nums;
      /*
                   Allows subtle animation without reflow jitter.
                */
      will-change: transform, opacity, filter;
      transform: translateY(14px);
      opacity: 0;
      filter: blur(5px);
      transition: opacity 0.5s ease, transform 0.65s cubic-bezier(0.22, 0.61, 0.36, 1), filter 0.65s ease;
  }


  /* Number becomes visible once JS starts */

  .rspr-stats-number.rspr-stats-number-ready {
      opacity: 1;
      transform: translateY(0);
      filter: blur(0);
  }


  /* =====================================================
               RIGHT IMAGE AREA
            ===================================================== */

  .rspr-stats-visual {
      position: relative;
      width: 100%;
      height: 100%;
      min-height: 560px;
      overflow: hidden;
      background: #07506b;
  }


  /* =====================================================
               IMAGE
            ===================================================== */

  .rspr-stats-image {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center;
      display: block;
  }


  /* =====================================================
               IMAGE COLOR WASH

               Creates the blue → teal feel in screenshot.
            ===================================================== */

  .rspr-stats-visual::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
      background: linear-gradient( 90deg, rgba(0, 117, 196, 0.35) 0%, rgba(0, 133, 205, 0.14) 42%, rgba(0, 132, 123, 0.2) 100%);
      mix-blend-mode: color;
  }


  /* =====================================================
               VERTICAL STRIP EFFECT

               Gives the image the vertical shutter/glass effect
               shown in your screenshot.
            ===================================================== */

  .rspr-stats-stripes {
      position: absolute;
      inset: 0;
      z-index: 3;
      pointer-events: none;
      background: repeating-linear-gradient( 90deg, rgba(0, 18, 37, 0.32) 0px, rgba(0, 18, 37, 0.32) 2px, rgba(255, 255, 255, 0.05) 3px, rgba(255, 255, 255, 0.05) 5px, transparent 6px, transparent 10px);
      opacity: 0.82;
  }


  /* subtle side shadow */

  .rspr-stats-visual::after {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 45px;
      z-index: 4;
      pointer-events: none;
      background: linear-gradient(90deg, rgba(0, 31, 56, 0.48), transparent);
  }


  /* =====================================================
               1200PX
            ===================================================== */

  @media (max-width: 1200px) {
      .rspr-stats-section {
          grid-template-columns: 48% 52%;
          min-height: 520px;
      }
      .rspr-stats-content {
          padding: 45px 42px;
      }
      .rspr-stats-list {
          margin-top: 48px;
          gap: 38px;
      }
      .rspr-stats-visual {
          min-height: 520px;
      }
  }


  /* =====================================================
               TABLET
            ===================================================== */

  @media (max-width: 900px) {
      .rspr-stats-section {
          grid-template-columns: 46% 54%;
          min-height: 500px;
      }
      .rspr-stats-content {
          padding: 38px 30px;
      }
      .rspr-stats-heading {
          font-size: clamp(22px, 3vw, 28px);
      }
      .rspr-stats-list {
          margin-top: 42px;
          gap: 34px;
      }
      .rspr-stats-label {
          font-size: clamp(17px, 2.4vw, 22px);
      }
      .rspr-stats-number {
          font-size: clamp(46px, 7vw, 64px);
      }
      .rspr-stats-visual {
          min-height: 500px;
      }
  }


  /* =====================================================
               MOBILE
            ===================================================== */

  @media (max-width: 700px) {
      .rspr-stats-section {
          display: flex;
          flex-direction: column;
          min-height: 0;
          background-image: url(https://build2.radiosparx.com/music/default_v2/images/rs-stat_new.jpg);
          background-position: center;
          width: 100%;
          /* aspect-ratio: 431 / 544; */
          aspect-ratio: unset;
          background-size: cover;
          background-position: center;
          background-repeat: no-repeat;
      }
      .rspr-stats-content {
          width: 100%;
          padding: 38px 24px 44px;
      }
      .rspr-stats-heading {
          max-width: 100%;
          font-size: clamp(24px, 7vw, 32px);
      }
      .rspr-stats-list {
          margin-top: 38px;
          gap: 30px;
          flex-direction: column;
          background-position: center;
          background-repeat: no-repeat;
      }
      .rspr-stats-label {
          margin-bottom: 0px;
          font-size: clamp(18px, 5vw, 22px);
          line-height: 1 !important;
      }
      .rspr-stats-number {
          font-size: clamp(48px, 14vw, 50px);
      }
      .rspr-stats-visual {
          width: 100%;
          min-height: 390px;
          display: none;
      }
  }


  /* =====================================================
               SMALL MOBILE
            ===================================================== */

  @media (max-width: 480px) {
      .rspr-stats-content {
          padding: 32px 18px 38px;
      }
      .rspr-stats-visual {
          min-height: 330px;
      }
  }


  /* =====================================================
               REDUCED MOTION
            ===================================================== */

  @media (prefers-reduced-motion: reduce) {
      .rspr-stats-number {
          transition: none;
          opacity: 1;
          transform: none;
          filter: none;
      }
  }

  @import url("https://fonts.googleapis.com/css2?family=Antonio:wght@400;500;600;700&display=swap");

  /* =====================================================
               CERTIFICATE SECTION
            ===================================================== */

  .rs-cert-section {
      position: relative;
      width: 100%;
      max-width: 1512px;
      min-height: 720px;
      margin-inline: auto;
      overflow: hidden;
      box-sizing: border-box;
      color: #ffffff;
      background: radial-gradient( 80% 180% at 86% 55%, rgba(0, 159, 244, 0.95) 0%, rgba(0, 120, 193, 0.82) 31%, rgba(0, 61, 102, 0.72) 58%, rgba(0, 27, 55, 1) 100%);
  }


  /* =====================================================
               INNER LAYOUT
            ===================================================== */

  .rs-cert-inner {
      position: relative;
      width: 100%;
      min-height: 720px;
      display: grid;
      grid-template-columns: 56% 38%;
      box-sizing: border-box;
  }


  /* =====================================================
               LEFT CONTENT
            ===================================================== */

  .rs-cert-content {
      position: relative;
      width: 90%;
      min-width: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 72px 48px 70px clamp(60px, 7.5vw, 120px);
      box-sizing: border-box;
      z-index: 2;
  }


  /* =====================================================
               TOP PILL / BADGE
            ===================================================== */

  .rs-cert-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      align-self: flex-start;
      min-width: 475px;
      min-height: 56px;
      padding: 10px 38px;
      box-sizing: border-box;
      border: 1px solid #009cf1;
      border-radius: 999px;
      color: #ffffff;
      background: rgba(0, 58, 102, 0.18);
      font-family: Arial, Helvetica, sans-serif;
      font-size: clamp(17px, 1.4vw, 19px);
      font-weight: 700;
      line-height: 1.2;
      text-align: center;
  }


  /* =====================================================
               MAIN TITLE
            ===================================================== */

  .rs-cert-title {
      margin: 0px;
      padding: 0;
      display: flex;
      flex-direction: column;
      color: #ffffff;
      font-family: "Antonio", sans-serif;
      font-size: clamp(92px, 8.4vw, 100px);
      font-weight: 500;
      line-height: 0.98;
      letter-spacing: -0.025em;
      text-transform: uppercase;
  }

  .rs-cert-title span {
      display: block;
      line-height: 1 !important;
      margin-top: 20px;
  }


  /* =====================================================
               DESCRIPTION
            ===================================================== */

  .rs-cert-description {
      margin: clamp(20px, 5.5vw, 20px) 0 0;
      padding: 0;
      max-width: 760px;
      color: rgba(255, 255, 255, 0.96);
      font-family: "Roboto";
      font-size: clamp(18px, 1.55vw, 20px);
      font-weight: 400;
      line-height: 1.38;
  }


  /* =====================================================
               RIGHT VISUAL AREA
            ===================================================== */

  .rs-cert-visual {
      position: relative;
      width: 100%;
      min-width: 0;
      min-height: 720px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      box-sizing: border-box;
      padding: 24px 26px 26px 0;
      z-index: 2;
  }


  /* subtle bright area behind certificate */

  .rs-cert-visual::before {
      content: "";
      position: absolute;
      width: 115%;
      height: 130%;
      left: -14%;
      top: -15%;
      pointer-events: none;
      background: radial-gradient( circle at 48% 46%, rgba(0, 169, 255, 0.4) 0%, rgba(0, 143, 224, 0.18) 35%, transparent 70%);
      filter: blur(25px);
      z-index: 0;
  }


  /* =====================================================
               CERTIFICATE IMAGE WRAPPER
            ===================================================== */

  .rs-cert-image-wrap {
      position: relative;
      width: min(100%, 570px);
      height: calc(100% - 20px);
      max-height: 705px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-sizing: border-box;
      z-index: 2;
  }


  /* =====================================================
               CERTIFICATE IMAGE
            ===================================================== */

  .rs-cert-image {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center center;
      box-sizing: border-box;
  }


  /* =====================================================
               BOTTOM BLUE ACCENT
            ===================================================== */

  .rs-cert-section::after {
      content: "";
      position: absolute;
      right: 0;
      bottom: 0;
      width: 42%;
      height: 32px;
      pointer-events: none;
      background: linear-gradient( 90deg, rgba(0, 138, 221, 0), rgba(0, 160, 247, 0.45), rgba(0, 171, 255, 0.12));
      filter: blur(7px);
  }


  /* =====================================================
               LAPTOP
            ===================================================== */

  @media (max-width: 1300px) {


      .radio-blog-card__media{
        flex: 0 0 474px !important;
        padding: 22px 7px 0 12px !important;
        margin-bottom: auto;
        width: 100%;
      }
      .radio-blog-card__body .radio-blog-card__links {
        margin-top: 92.5px !important;
       }
      .radio-blog-card__title{
        font-size: 28px !important;
      }
      .radio-blog-card__more{
        width: 158px !important;
        font-size: 17px !important;
      }

      .radio-view-blog .radio-view-blog__more-arrow{
            width: 15.23px !important;
            height: 15.02px !important;
      }
      .radio-blog-card__links{
        gap: 10px !important;
      }
      .rs-cert-section,
      .rs-cert-inner {
          min-height: 650px;
      }
      .rs-cert-inner {
          grid-template-columns: 58% 42%;
      }
      .rs-cert-content {
          padding: 60px 36px 60px 70px;
      }
      .rs-cert-badge {
          min-width: 410px;
          min-height: 52px;
      }
      .rs-cert-title {
          font-size: clamp(80px, 8.1vw, 125px);
      }
      .rs-cert-description {
          margin-top: 48px;
          font-size: clamp(17px, 1.5vw, 21px);
      }
      .rs-cert-visual {
          min-height: 650px;
      }
  }


  /* =====================================================
               TABLET
            ===================================================== */

  @media (max-width: 1000px) {
      .rs-cert-section,
      .rs-cert-inner {
          min-height: 600px;
      }
      .rs-cert-inner {
          grid-template-columns: 55% 45%;
      }
      .rs-cert-content {
          padding: 48px 28px 48px 40px;
      }
      .rs-cert-badge {
          min-width: 0;
          width: 100%;
          max-width: 390px;
          padding-inline: 24px;
          font-size: 16px;
      }
      .rs-cert-title {
          margin-top: 36px;
          font-size: clamp(68px, 8.5vw, 100px);
      }
      .rs-cert-description {
          margin-top: 40px;
          font-size: clamp(15px, 1.8vw, 18px);
      }
      .rs-cert-visual {
          min-height: 600px;
          padding-right: 18px;
      }
  }


  /* =====================================================
               MOBILE
            ===================================================== */

  @media (max-width: 700px) {
      .rs-cert-section {
          min-height: 0;
      }
      .rs-cert-inner {
          display: flex;
          flex-direction: column;
          min-height: 0;
      }
      .rs-cert-content {
          width: 100%;
          padding: 34px 50px 32px;
          text-align: left;
      }
      .rs-cert-badge {
          max-width: 100%;
          min-height: 48px;
          padding: 10px 18px;
          font-size: 14px;
      }
      .rs-cert-title {
          margin-top: 4px;
          font-size: clamp(60px, 18vw, 65px);
          line-height: 0.97;
      }
      .rs-cert-description {
          margin-top: 4px;
          max-width: 100%;
          font-size: clamp(15px, 4vw, 18px);
          line-height: 1.45;
      }
      .rs-cert-visual {
          width: 100%;
          min-height: 500px;
          padding: 8px 20px 36px;
          justify-content: center;
      }
      .rs-cert-image-wrap {
          width: min(100%, 470px);
          height: 470px;
      }
      .rs-cert-section::after {
          width: 100%;
      }
  }


  /* =====================================================
               SMALL MOBILE
            ===================================================== */

  @media (max-width: 480px) {
      .rs-cert-content {
          padding: 34px 50px 32px;
      }
      .rs-cert-title {
          font-size: clamp(60px, 18vw, 65px);
      }
      .rs-cert-visual {
          min-height: 420px;
          padding-inline: 14px;
      }
      .rs-cert-image-wrap {
          height: 400px;
      }
  }


  /* =====================================================
               NEW DYNAMIC DESCRIPTION BOX
               SAME POSITION AS YOUR OLD ::after BOX
            ===================================================== */

  #rsFeatures .rs-wheel-holder {
      position: relative;
  }

  #rsFeatures .rs-wheel-description {
      position: absolute;
      /* SAME POSITION AS OLD BOX */
      left: 24%;
      bottom: 17%;
      width: min(61%, 621px);
      padding: 24px 24px;
      box-sizing: border-box;
      z-index: 250;
      color: rgba(255, 255, 255, 0.98);
      font-family: "Oswald", sans-serif;
      backdrop-filter: blur(12px) saturate(115%);
      -webkit-backdrop-filter: blur(12px) saturate(115%);
      border: 1px solid rgba(82, 200, 255, 0.95);
      box-shadow: inset 0 0 4px rgba(255, 255, 255, 0.65), 1px 1px 6px rgba(255, 255, 255, 0.44), 8px 8px 26px #0896ed, 0 0 20px rgba(0, 183, 255, 0.65);
      border-radius: 24px;
      text-shadow: 0 2px 7px rgba(0, 0, 0, 0.55);
      pointer-events: none;
      opacity: 1;
      transform: translateY(0);
      max-height: 100%;
      transition: opacity 0.18s ease, transform 0.18s ease;
      overflow-y: auto;
  }


  /* =====================================================
               HEADING
            ===================================================== */

  #rsFeatures .rs-wheel-description-title {
      margin: 0 0 9px 0;
      padding: 0;
      display: block;
      font-family: "Antonio", sans-serif;
      font-style: normal;
      font-weight: 700;
      font-size: clamp(26px, 3.4vw, 26px);
      line-height: 1.15;
      text-transform: capitalize;
      border-bottom: 1px solid white;
      margin-bottom: 13px;
      padding-bottom: 7px;
      color: #ffffff;
  }


  /* =====================================================
               DESCRIPTION
            ===================================================== */

  #rsFeatures .rs-wheel-description-text {
      margin: 0;
      padding: 0;
      font-family: "Roboto", sans-serif;
      font-style: normal;
      font-weight: 400;
      font-size: clamp(18px, 2.2vw, 17px);
      line-height: 1.24 !important;
      text-transform: capitalize;
      color: #ffffff;
  }


  /* =====================================================
               CHANGE ANIMATION
            ===================================================== */

  #rsFeatures .rs-wheel-description.rs-description-changing {
      opacity: 0;
      transform: translateY(5px);
  }


  /* =====================================================
               HIDE DESCRIPTION FROM RIGHT-HAND LIST
            ===================================================== */

  #rsFeatures .rs-feature-text>p {
      display: none;
  }


  /* =========================================================
               SERVICE STREAMING SECTION
               All classes are uniquely prefixed with "service-streaming"
            ========================================================= */

  .service-streaming-section {
      width: 100%;
      min-height: 100vh;
      /* vh is the LARGE viewport height, measured with the browser toolbars
             hidden, so on iPadOS and Android this section was taller than the
             screen. svh is the height that actually fits. Identical to vh on
             desktop; browsers without svh keep the line above. */
      min-height: 100svh;
      background: #00274f;
      padding: 65px 6.4% 56px;
      box-sizing: border-box;
      overflow: hidden;
  }

  .service-streaming-container {
      width: 100%;
      max-width: 1674px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      gap: 34px;
  }

  .service-streaming-visual {
      position: relative;
      width: 100%;
      height: auto;
      aspect-ratio: 1674 / 848;
  }


  /* =========================================================
                 IMAGE TILES
              ========================================================= */

  .service-streaming-tile {
      position: absolute;
      width: calc((100% - 18px) / 4);
      height: calc((100% - 6px) / 2);
      background-image: linear-gradient( rgba(42, 151, 239, 0.18), rgba(42, 151, 239, 0.18)), url("../images/service-streaming-header.png");
      background-repeat: no-repeat;
      border: 1px solid rgba(195, 231, 255, 0.8);
      box-sizing: border-box;
      box-shadow: 1px -2px 6px rgba(255, 255, 255, 0.75), 12px -12px 28px rgba(18, 144, 255, 0.65);
      overflow: hidden;
  }


  /* Top-left */

  .service-streaming-tile-1 {
      left: 0;
      top: 0;
      background-size: 404% 202%;
      background-position: 0% 0%;
  }


  /* Top center */

  .service-streaming-tile-2 {
      left: calc(25% + 1.5px);
      top: 0;
      background-size: 404% 202%;
      background-position: 33.33% 0%;
  }


  /* Top right */

  .service-streaming-tile-3 {
      left: calc(50% + 3px);
      top: 0;
      background-size: 404% 202%;
      background-position: 66.66% 0%;
  }


  /* Bottom second column */

  .service-streaming-tile-4 {
      left: calc(25% + 1.5px);
      bottom: 0;
      background-size: 404% 202%;
      background-position: 33.33% 100%;
  }


  /* Bottom third column */

  .service-streaming-tile-5 {
      left: calc(50% + 3px);
      bottom: 0;
      background-size: 404% 202%;
      background-position: 66.66% 100%;
  }


  /* Bottom-right */

  .service-streaming-tile-6 {
      right: 0;
      bottom: 0;
      background-size: 404% 202%;
      background-position: 100% 100%;
  }


  /* =========================================================
                 MAIN TITLE
              ========================================================= */

  .service-streaming-title {
      position: absolute;
      z-index: 10;
      left: 0;
      bottom: -4px;
      width: 54%;
      margin: 0;
      font-family: "Antonio", "Arial Narrow", Arial, sans-serif;
      font-size: clamp(86px, 11vw, 180px);
      font-weight: 700;
      line-height: 0.86;
      /* reduced gap */
      letter-spacing: -0.035em;
      text-transform: capitalize;
      pointer-events: none;
  }

  .service-streaming-title-line {
      display: block;
      margin: 0;
      color: transparent;
      -webkit-text-stroke: 2px #ffffff;
      paint-order: stroke fill;
  }


  /* STREAMING */

  .service-streaming-title-line-top {
      background: linear-gradient( 90deg, transparent 2%, transparent 48%, /* start white earlier */
      #ffffff 43%, #ffffff 100%);
      -webkit-background-clip: text;
      background-clip: text;
  }


  /* SERVICE */

  .service-streaming-title-line-bottom {
      margin-top: -51px;
      background: linear-gradient( 90deg, transparent 0%, transparent 48%, #ffffff 46%, #ffffff 100%);
      -webkit-background-clip: text;
      background-clip: text;
  }


  /* =========================================================
                 DESCRIPTION
              ========================================================= */

  .service-streaming-content {
      width: 100%;
  }

  .service-streaming-description {
      width: min(100%, 1445px);
      margin: 0;
      font-family: "Roboto", Arial, sans-serif;
      font-style: normal;
      font-weight: 400;
      font-size: 22px;
      line-height: 1.34;
      text-transform: capitalize;
      color: #ffffff;
  }


  /* =========================================================
                 LARGE DESKTOP
              ========================================================= */

  @media (min-width: 1921px) {
      .service-streaming-container {
          max-width: 1674px;
      }
  }


  /* =========================================================
                 LAPTOP
              ========================================================= */

  @media (max-width: 1440px) {
      .service-streaming-section {
          padding: 50px 6%;
      }
      .service-streaming-container {
          gap: 28px;
      }
      .service-streaming-description {
          font-size: 20px;
          line-height: 1.4;
      }
  }


  /* =========================================================
                 TABLET
              ========================================================= */

  @media (max-width: 1024px) {
      .service-streaming-section {
          min-height: auto;
          padding: 45px 5%;
      }
      .service-streaming-title {
          width: 60%;
          font-size: clamp(70px, 11.5vw, 120px);
      }
      .service-streaming-title-line {
          -webkit-text-stroke-width: 1.5px;
      }
      .service-streaming-description {
          font-size: 18px;
      }
  }


  /* =========================================================
                 MOBILE
              ========================================================= */

  @media (max-width: 767px) {
      .service-streaming-section {
          padding: 30px 20px 40px;
      }
      .service-streaming-container {
          gap: 24px;
      }
      .service-streaming-visual {
          aspect-ratio: 1 / 1.05;
      }
      .service-streaming-tile {
          width: calc((100% - 8px) / 3);
          height: calc((100% - 4px) / 2);
      }
      .service-streaming-tile-1 {
          left: 0;
      }
      .service-streaming-tile-2 {
          left: calc(33.333% + 2px);
      }
      .service-streaming-tile-3 {
          left: auto;
          right: 0;
      }
      .service-streaming-tile-4 {
          left: 0;
      }
      .service-streaming-tile-5 {
          left: calc(33.333% + 2px);
      }
      .service-streaming-tile-6 {
          right: 0;
      }
      .service-streaming-title {
          left: 0;
          bottom: 8px;
          width: 92%;
          font-size: clamp(64px, 19vw, 110px);
          line-height: 0.95;
      }
      .service-streaming-title-line {
          -webkit-text-stroke-width: 1px;
          background: linear-gradient( 90deg, transparent 0%, transparent 56%, #ffffff 56%, #ffffff 100%);
          -webkit-background-clip: text;
          background-clip: text;
      }
      .service-streaming-description {
          width: 100%;
          font-size: 16px;
          line-height: 1.55;
          text-transform: none;
      }
  }


  /* =========================================================
                 SMALL MOBILE
              ========================================================= */

  @media (max-width: 480px) {
      .service-streaming-section {
          padding: 24px 16px 34px;
      }
      .service-streaming-title {
          font-size: clamp(58px, 18vw, 82px);
      }
      .service-streaming-description {
          font-size: 15px;
          line-height: 1.55;
      }
  }


  /* =========================================================
               STREAMING HARDWARE SECTION
               Unique prefix: service-streaming-hardware-
            ========================================================= */

  .service-streaming-hardware-section {
      position: relative;
      width: 100%;
      min-height: 970px;
      overflow: hidden;
      background: linear-gradient( 90deg, #0394d1 0%, #0394d1 48%, #06668b 67%, #012939 100%);
  }


  /* =========================================================
                 LEFT BACKGROUND
              ========================================================= */

  .service-streaming-hardware-left-bg {
      position: absolute;
      inset: 0 auto 0 0;
      width: 48.2%;
      height: 100%;
      background: radial-gradient( circle at 82% 80%, rgba(39, 190, 255, 0.9) 0%, rgba(39, 190, 255, 0.38) 23%, transparent 54%), linear-gradient( 165deg, #024c6b 8%, #098ac1 52%, #19bbff 100%);
  }


  /* =========================================================
                 DECORATIVE LETTER
              ========================================================= */

  .service-streaming-hardware-bg-letter {
      position: absolute;
      top: -175px;
      left: 20.5%;
      margin: 0;
      font-family: "Roboto", Arial, sans-serif;
      font-size: clamp(500px, 53vw, 1022px);
      font-weight: 600;
      line-height: 1;
      color: rgba(38, 192, 255, 0.18);
      transform: scaleX(-1);
      user-select: none;
      pointer-events: none;
  }


  /* =========================================================
                 LEFT CONTENT
              ========================================================= */

  .service-streaming-hardware-left-content {
      position: absolute;
      z-index: 4;
      top: 253px;
      left: 2.5%;
      width: 43%;
      max-width: 807px;
  }

  .service-streaming-hardware-main-title {
      margin: 0;
      font-family: "Antonio", "Arial Narrow", Arial, sans-serif;
      font-size: clamp(110px, 9.5vw, 126px);
      font-weight: 700;
      line-height: 1;
      letter-spacing: -0.01em;
      text-transform: uppercase;
      color: #ffffff;
  }

  .service-streaming-hardware-subtitle {
      width: 88%;
      max-width: 704px;
      margin: 24px 0 0;
      font-family: "Roboto", Arial, sans-serif;
      font-size: clamp(20px, 1.45vw, 26px);
      font-weight: 500;
      line-height: 1.15 !important;
      text-transform: capitalize;
      color: #ffffff;
  }


  /* =========================================================
                 PERSON IMAGE
              ========================================================= */

  .service-streaming-hardware-person-wrap {
      position: absolute;
      z-index: 5;
      /* Figma: left 603px / 1920px */
      left: 28.4%;
      /* Figma: top 9px */
      top: 9px;
      bottom: 0;
      /* Do NOT restrict using width */
      width: auto;
      /* Girl occupies almost entire section height */
      height: calc(100% - 9px);
      pointer-events: none;
  }

  .service-streaming-hardware-person {
      display: block;
      /* Let HEIGHT determine the image size */
      width: auto;
      height: 100%;
      max-width: none;
      object-fit: contain;
      object-position: top left;
  }


  /* =========================================================
                 RIGHT CONTENT
              ========================================================= */

  .service-streaming-hardware-right-content {
      position: absolute;
      z-index: 6;
      top: 127px;
      right: 3.8%;
      width: 33.3%;
      max-width: 620px;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 165px;
  }


  /* =========================================================
                 WEBSITE
              ========================================================= */

  .service-streaming-hardware-website-block {
      width: 100%;
  }

  .service-streaming-hardware-right-title {
      margin: 0 0 50px;
      font-family: "Antonio", "Arial Narrow", Arial, sans-serif;
      font-size: clamp(54px, 4.5vw, 71px);
      font-weight: 700;
      line-height: 1 !important;
      letter-spacing: -0.01em;
      text-transform: uppercase;
      text-align: right;
      color: #ffffff;
  }

  .service-streaming-hardware-options {
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 12px;
  }

  .service-streaming-hardware-option {
      width: 100%;
      min-height: 58px;
      box-sizing: border-box;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 14px;
      padding: 14px 22px;
      border-radius: 8px;
      background: rgba(118, 211, 250, 0.14);
      font-family: "Roboto", Arial, sans-serif;
      font-size: clamp(15px, 1.05vw, 20px);
      font-weight: 500;
      line-height: 1.3;
      text-align: right;
      text-transform: capitalize;
      color: #ffffff;
      backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
  }

  .service-streaming-hardware-option span:first-child {
      min-width: 0;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
  }

  .service-streaming-hardware-star {
      flex-shrink: 0;
      font-size: 24px;
      line-height: 1;
      color: #ffffff;
  }


  /* =========================================================
                 SPECIALIZED SOFTWARE
              ========================================================= */

  .service-streaming-hardware-software-block {
      width: 100%;
      display: flex;
      flex-direction: row-reverse;
      align-items: center;
      gap: 20px;
  }

  .service-streaming-hardware-arrow {
      width: 56px;
      height: 56px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-sizing: border-box;
      border: 1px solid rgba(255, 255, 255, 0.55);
      border-radius: 50%;
      background: rgba(0, 44, 63, 0.7);
      box-shadow: 0 4px 18px rgba(9, 182, 255, 0.9), inset 0 0 10px rgba(255, 255, 255, 0.08);
      font-family: Arial, sans-serif;
      font-size: 38px;
      font-weight: 300;
      line-height: 1;
      text-decoration: none;
      color: #ffffff !important;
      transition: transform 0.25s ease, background 0.25s ease;
  }

  .service-streaming-hardware-arrow:hover {
      transform: translateY(-4px);
      background: rgba(9, 182, 255, 0.28);
  }

  .service-streaming-hardware-software-title {
      margin: 0;
      font-family: "Antonio", "Arial Narrow", Arial, sans-serif;
      font-size: clamp(30px, 2.2vw, 42px);
      font-weight: 700;
      line-height: 1.25;
      letter-spacing: -0.01em;
      text-align: right;
      text-transform: uppercase;
      color: #ffffff;
  }


  /* =========================================================
                 1440px
              ========================================================= */

  @media (max-width: 1440px) {
      .service-streaming-hardware-section {
          min-height: 760px;
      }
      .service-streaming-hardware-left-content {
          top: 220px;
      }
      .service-streaming-hardware-right-content {
          top: 95px;
          gap: 115px;
      }
      .service-streaming-hardware-right-title {
          margin-bottom: 36px;
      }
      .service-streaming-hardware-option {
          min-height: 52px;
      }
  }


  /* =========================================================
                 TABLET
              ========================================================= */

  @media (max-width: 1100px) {
      .service-streaming-hardware-section {
          min-height: 760px;
      }
      .service-streaming-hardware-left-bg {
          width: 52%;
      }
      .service-streaming-hardware-left-content {
          left: 4%;
          width: 46%;
      }
      .service-streaming-hardware-main-title {
          font-size: clamp(80px, 11vw, 125px);
      }
      .service-streaming-hardware-person-wrap {
          left: 32%;
          width: 38%;
      }
      .service-streaming-hardware-right-content {
          right: 4%;
          width: 35%;
      }
      .service-streaming-hardware-right-title {
          font-size: 55px;
      }
      .service-streaming-hardware-option {
          padding: 12px 16px;
      }
      .service-streaming-hardware-option span:first-child {
          white-space: normal;
      }
  }


  /* =========================================================
                 MOBILE
              ========================================================= */

  @media (max-width: 767px) {
      .service-streaming-hardware-section {
          min-height: auto;
          display: flex;
          flex-direction: column;
          padding: 60px 20px 50px;
          box-sizing: border-box;
          background: linear-gradient( 160deg, #024c6b 0%, #0394d1 45%, #012939 100%);
      }
      .service-streaming-hardware-left-bg {
          width: 100%;
          height: 55%;
      }
      .service-streaming-hardware-bg-letter {
          top: -70px;
          left: 8%;
          font-size: 500px;
          opacity: 0.45;
      }
      .service-streaming-hardware-left-content {
          position: relative;
          top: auto;
          left: auto;
          width: 100%;
          z-index: 5;
      }
      .service-streaming-hardware-main-title {
          font-size: clamp(70px, 21vw, 120px);
      }
      .service-streaming-hardware-subtitle {
          width: 100%;
          margin-top: 14px;
          font-size: 18px;
          line-height: 1.3;
      }
      .service-streaming-hardware-person-wrap {
          position: relative;
          left: auto;
          bottom: auto;
          width: 100%;
          height: 520px;
          margin-top: 10px;
      }
      .service-streaming-hardware-person {
          object-position: center bottom;
      }
      .service-streaming-hardware-right-content {
          position: relative;
          top: auto;
          right: auto;
          width: 100%;
          max-width: none;
          gap: 60px;
          margin-top: 30px;
      }
      .service-streaming-hardware-right-title {
          margin-bottom: 28px;
          font-size: 55px;
          text-align: left;
      }
      .service-streaming-hardware-option {
          justify-content: space-between;
          font-size: 16px;
          text-align: left;
      }
      .service-streaming-hardware-software-block {
          align-items: flex-start;
      }
      .service-streaming-hardware-software-title {
          text-align: left;
      }
  }


  /* =========================================================
                 SMALL MOBILE
              ========================================================= */

  @media (max-width: 480px) {
      .service-streaming-hardware-section {
          padding: 45px 16px 40px;
      }
      .service-streaming-hardware-main-title {
          font-size: clamp(62px, 20vw, 90px);
      }
      .service-streaming-hardware-person-wrap {
          height: 430px;
      }
      .service-streaming-hardware-right-title {
          font-size: 46px;
      }
      .service-streaming-hardware-option {
          min-height: 56px;
          padding: 12px 14px;
          font-size: 14px;
      }
      .service-streaming-hardware-software-title {
          font-size: 30px;
      }
      .radio-serviceplan-section {
        background-position: 67% 0;
    }
  }


  /* =========================================================
               STREAMING SOFTWARE SECTION
               Figma reference: 1920 × 977
            ========================================================= */

  .service-streaming-software-section {
      position: relative;
      width: 100%;
      aspect-ratio: 1920 / 695;
      min-height: 0;
      overflow: hidden;
      background: #022e4b;
  }


  /* =========================================================
                 SINGER IMAGE
                 Figma: 1086 × 977
              ========================================================= */

  .service-streaming-software-image-wrap {
      position: absolute;
      top: 0;
      left: 0;
      width: 56.56%;
      height: 100%;
      z-index: 1;
  }

  .service-streaming-software-image {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: left center;
  }


  /* =========================================================
                 RIGHT GRID
                 Figma starts at x = 670px
              ========================================================= */

  .service-streaming-software-grid {
      position: absolute;
      top: 0;
      left: 34.895%;
      width: 65.105%;
      height: 100%;
      z-index: 2;
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      grid-template-rows: repeat(4, 1fr);
      gap: 6px;
      pointer-events: none;
      /* filter:
                  drop-shadow(-1px 0 4px rgba(255, 255, 255, 0.9))
                  drop-shadow(-18px 0 44px rgba(3, 155, 255, 0.75)); */
  }


  /* Individual grid cells */

  .service-streaming-software-grid span {
      display: block;
      min-width: 0;
      min-height: 0;
      background: rgba(2, 46, 75, 0.025);
      border: 1px solid rgba(154, 208, 237, 0.26);
      border-radius: 2px;
      box-sizing: border-box;
  }

  .service-streaming-software-grid {
      position: relative;
      overflow: visible !important;
  }


  /* ==================================================
                 BRIGHT BLUE CORE LINE
              ================================================== */

  .service-streaming-software-grid::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: -1px;
      /* Thicker than before */
      width: 3px;
      border-radius: 3px;
      /* Bright cyan center */
      background: linear-gradient( to right, rgba(3, 155, 255, 0.75), rgba(185, 232, 255, 1), rgba(3, 155, 255, 1));
      box-shadow: 0 0 4px rgba(3, 155, 255, 1), 0 0 8px rgba(3, 155, 255, 1), -3px 0 10px rgba(3, 155, 255, 0.95), -8px 0 20px rgba(3, 155, 255, 0.75);
      z-index: 20;
      pointer-events: none;
  }


  /* ==================================================
                 LARGE SOFT FIGMA GLOW
              ================================================== */

  .service-streaming-software-grid::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      /* Glow extends mainly towards left */
      left: -22px;
      width: 25px;
      background: linear-gradient( to right, rgba(3, 155, 255, 0), rgba(3, 155, 255, 0.12), rgba(3, 155, 255, 0.4), rgba(3, 155, 255, 0.75));
      filter: blur(9px);
      opacity: 0.95;
      pointer-events: none;
      z-index: 19;
  }


  /* =========================================================
                 CONTENT
                 Figma:
                 left: 986px
                 top: 81px
                 width: 807px
              ========================================================= */

  .service-streaming-software-content {
      position: absolute;
      z-index: 5;
      top: 16.29%;
      left: 51.35%;
      width: 42.03%;
      max-width: 807px;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: clamp(20px, calc(6.35 * min(100vw, 1512px) / 100), 15px);
      color: #ffffff;
  }


  /* =========================================================
                 TOP CONTENT
              ========================================================= */

  .service-streaming-software-top {
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 26px;
  }

  .service-streaming-software-title {
      width: 100%;
      margin: 0;
      font-family: "Antonio", "Arial Narrow", Arial, sans-serif;
      font-style: normal;
      font-weight: 700;
      font-size: clamp(80px, calc(9.48 * min(100vw, 1512px) / 100), 110px);
      line-height: 1.0 !important;
      letter-spacing: -0.01em;
      text-align: right;
      text-transform: uppercase;
      color: #ffffff;
  }


  /* Intro text */

  .service-streaming-software-intro {
      width: 93%;
      max-width: 751px;
      margin: 0;
      font-family: "Roboto", Arial, sans-serif;
      font-style: normal;
      font-weight: 500;
      font-size: clamp(16px, calc(1.46 * min(100vw, 1512px) / 100), 28px);
      line-height: 1.14;
      text-align: right;
      text-transform: capitalize;
      color: #ffffff;
  }


  /* =========================================================
                 WEBSITE BASED PLAYER
              ========================================================= */

  .service-streaming-software-player {
      width: 93%;
      max-width: 751px;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 30px;
  }

  .service-streaming-software-player-title {
      width: 100%;
      margin: 0;
      font-family: "Antonio", "Arial Narrow", Arial, sans-serif;
      font-style: normal;
      font-weight: 700;
      font-size: clamp(38px, calc(3.54 * min(100vw, 1512px) / 100), 68px);
      line-height: 1;
      letter-spacing: -0.02em;
      text-align: right;
      color: #ffffff;
  }

  .service-streaming-software-player-text {
      width: 100%;
      margin: 0;
      font-family: "Roboto", Arial, sans-serif;
      font-style: normal;
      font-weight: 400;
      font-size: clamp(16px, calc(1.45 * min(100vw, 1512px) / 100), 28px);
      line-height: 1.15;
      text-align: right;
      text-transform: capitalize;
      color: #ffffff;
  }


  /* =========================================================
                 LAPTOP
              ========================================================= */

  @media (max-width: 1440px) {
      .service-streaming-software-content {
          gap: 65px;
      }
      .service-streaming-software-top {
          gap: 18px;
      }
      .service-streaming-software-player {
          gap: 20px;
      }
  }


  /* =========================================================
                 TABLET
              ========================================================= */

  @media (max-width: 1024px) {
      .service-streaming-software-content {
          left: 49%;
          width: 47%;
          gap: 45px;
      }
      .service-streaming-software-title {
          font-size: clamp(68px, 9.4vw, 100px);
      }
      .service-streaming-software-intro {
          font-size: 15px;
      }
      .service-streaming-software-player-title {
          font-size: 38px;
      }
      .service-streaming-software-player-text {
          font-size: 15px;
      }
      .service-streaming-software-grid {
          gap: 4px;
      }
  }


  /* =========================================================
                 MOBILE
              ========================================================= */

  @media (max-width: 767px) {

      .service-streaming-software-section {
          aspect-ratio: auto;
          min-height: 850px;
          display: flex;
          flex-direction: column;
          background: #022e4b;
      }
      .service-streaming-software-image-wrap {
          position: relative;
          width: 100%;
          height: 480px;
      }
      .service-streaming-software-image {
          object-position: center top;
      }
      .service-streaming-software-grid {
          top: 320px;
          left: 0;
          width: 100%;
          height: 530px;
          grid-template-columns: repeat(3, 1fr);
          grid-template-rows: repeat(4, 1fr);
          opacity: 0.5;
      }
      .service-streaming-software-grid span:nth-child(n+13) {
          display: none;
      }
      .service-streaming-software-content {
          position: relative;
          top: auto;
          left: auto;
          width: auto;
          max-width: none;
          margin-top: -100px;
          padding: 0 24px 55px;
          box-sizing: border-box;
          align-items: flex-end;
          gap: 60px;
      }
      .service-streaming-software-title {
          font-size: clamp(74px, 20vw, 130px);
      }
      .service-streaming-software-intro {
          width: 100%;
          font-size: 17px;
          line-height: 1.35;
      }
      .service-streaming-software-player {
          width: 100%;
      }
      .service-streaming-software-player-title {
          font-size: 48px;
      }
      .service-streaming-software-player-text {
          font-size: 17px;
          line-height: 1.35;
      }
  }


  /* =========================================================
               STREAMING HARDWARE CONTENT SWITCH
               ANIMATION ONLY - DOES NOT CHANGE EXISTING LAYOUT
            ========================================================= */

  .service-streaming-hardware-right-title,
  .service-streaming-hardware-software-title {
      will-change: transform;
  }


  /* =========================================================
               BULLET LIST - OUT
            ========================================================= */

  .service-streaming-hardware-options.streaming-options-out {
      animation: streamingOptionsOut 0.3s ease forwards;
  }

  @keyframes streamingOptionsOut {
      from {
          opacity: 1;
          transform: translateY(0);
      }
      to {
          opacity: 0;
          transform: translateY(-12px);
      }
  }


  /* =========================================================
               BULLET LIST - IN
            ========================================================= */

  .service-streaming-hardware-options.streaming-options-in {
      animation: streamingOptionsIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  }

  @keyframes streamingOptionsIn {
      from {
          opacity: 0;
          transform: translateY(14px);
      }
      to {
          opacity: 1;
          transform: translateY(0);
      }
  }


  /* =========================================================
               INDIVIDUAL BULLET ANIMATION
            ========================================================= */

  .service-streaming-hardware-options.streaming-options-in .service-streaming-hardware-option {
      opacity: 0;
      animation: streamingHardwareItemIn 0.42s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  }

  .service-streaming-hardware-options.streaming-options-in .service-streaming-hardware-option:nth-child(1) {
      animation-delay: 0.03s;
  }

  .service-streaming-hardware-options.streaming-options-in .service-streaming-hardware-option:nth-child(2) {
      animation-delay: 0.08s;
  }

  .service-streaming-hardware-options.streaming-options-in .service-streaming-hardware-option:nth-child(3) {
      animation-delay: 0.13s;
  }

  .service-streaming-hardware-options.streaming-options-in .service-streaming-hardware-option:nth-child(4) {
      animation-delay: 0.18s;
  }

  @keyframes streamingHardwareItemIn {
      from {
          opacity: 0;
          transform: translateY(10px);
      }
      to {
          opacity: 1;
          transform: translateY(0);
      }
  }


  /* =========================================================
               ARROW
               IMPORTANT:
               Arrow always remains pointing UP.
            ========================================================= */

  .service-streaming-hardware-arrow {
      transform: none !important;
      transition: none;
  }


  /* Small click animation without rotating */

  .service-streaming-hardware-arrow.streaming-arrow-click {
      animation: streamingArrowClick 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  }

  @keyframes streamingArrowClick {
      0% {
          transform: translateY(0) !important;
      }
      45% {
          transform: translateY(-6px) !important;
      }
      100% {
          transform: translateY(0) !important;
      }
  }


  /* =========================================================
               TEMPORARY MOVING HEADING
            ========================================================= */

  .streaming-hardware-moving-title {
      position: fixed !important;
      margin: 0 !important;
      padding: 0 !important;
      background: transparent !important;
      border: none !important;
      pointer-events: none !important;
      z-index: 99999 !important;
      will-change: transform;
      transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  }


  /* Prevent accidental selection during animation */

  .service-streaming-hardware-right-content.streaming-is-switching {
      user-select: none;
  }


  /* =========================================================
               ACCESSIBILITY
            ========================================================= */

  @media (prefers-reduced-motion: reduce) {
      .service-streaming-hardware-options.streaming-options-out,
      .service-streaming-hardware-options.streaming-options-in,
      .service-streaming-hardware-option,
      .service-streaming-hardware-arrow.streaming-arrow-click,
      .streaming-hardware-moving-title {
          animation: none !important;
          transition-duration: 0.01ms !important;
      }
  }


  /* =========================================================
               GRID
            ========================================================= */

  .service-streaming-software-grid {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      width: 65%;
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      grid-template-rows: repeat(4, 1fr);
      z-index: 2;
      pointer-events: none;
      overflow: visible;
  }


  /* =========================================================
                 FIGMA STYLE DARK GLASS TILES
              ========================================================= */

  .service-streaming-software-grid>span {
      position: relative;
      /*
                  IMPORTANT:
                  Very low-opacity tint.
                  Figma remains dark — it is NOT a blue filled card.
                */
      background: rgba(4, 47, 70, 0.035);
      /*
                  Main glass effect
                */
      -webkit-backdrop-filter: blur(8px) saturate(105%);
      backdrop-filter: blur(8px) saturate(105%);
      /*
                  Thin subtle grid lines
                */
      border-right: 1px solid rgba(137, 206, 235, 0.20);
      border-bottom: 1px solid rgba(137, 206, 235, 0.20);
      /*
                  Tiny inner highlight.
                  Do NOT make this strong.
                */
      box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.018), inset 0 0 18px rgba(0, 89, 130, 0.025);
      overflow: hidden;
  }


  /* =========================================================
                 VERY SUBTLE GLASS REFLECTION
              ========================================================= */

  .service-streaming-software-grid>span::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background: linear-gradient( 135deg, rgba(255, 255, 255, 0.025) 0%, rgba(255, 255, 255, 0.008) 28%, rgba(255, 255, 255, 0) 55%);
  }


  /* =========================================================
                 FIRST COLUMN
                 Image passes through here in Figma,
                 so make the blur slightly stronger.
              ========================================================= */

  .service-streaming-software-grid>span:nth-child(5n+1) {
      background: rgba(2, 43, 65, 0.025);
      -webkit-backdrop-filter: blur(11px) saturate(100%);
      backdrop-filter: blur(11px) saturate(100%);
  }


  /* =========================================================
                 BLUE DIVIDER
              ========================================================= */

  .service-streaming-software-grid::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 2px;
      background: rgba(124, 215, 255, 1);
      box-shadow: 0 0 4px rgba(3, 155, 255, 1), 0 0 7px rgba(3, 155, 255, 0.95), -5px 0 14px rgba(3, 155, 255, 0.75), -13px 0 28px rgba(3, 155, 255, 0.45), -22px 0 42px rgba(3, 155, 255, 0.28);
      z-index: 20;
      pointer-events: none;
  }


  /* =========================================================================
               STREAMING V2  -  MOBILE AND TABLET LAYOUT            (max-width: 1024px)
               -------------------------------------------------------------------------
               Applies to streaming_V2.cfm only. Every selector below already exists in
               the three service-streaming blocks above; no new class is introduced and
               no markup change is required.

                 Hero      variant B   overlap with scrim
                 Hardware  variant C   two tabs
                 Software  variant A   figure and copy

               DESKTOP IS UNTOUCHED. Every rule is inside max-width:1024px, so 1280,
               1366, 1440, 1512, 1920, 2048, 2560, 3440 and 3840 render exactly as
               before, as does the existing max-width:1100px hardware block at 1025
               to 1100px.

               Fixes carried in here, independent of which variant was chosen:
                 - the 3-column tile grid kept the desktop 4-column background slice,
                   squeezing the 1674x848 photograph to about 63% of its true width
                 - margin-top:-51px on the second title line was never reset, so the
                   two words collapsed onto each other on every phone
                 - the hardware column overran its 760px box and lost 62px at 768 to
                   820px wide, taking the list-swap control with it
                 - aspect-ratio:1920/977 cropped 16 to 31px of software copy at the
                   same widths
                 - the software image is a transparent cut-out, so it is contained
                   rather than cropped to a banner ratio
               ========================================================================= */

  @media (max-width: 1024px) {
      .service-streaming-section {
          min-height: auto;
          padding: 44px 28px 48px;
      }
      .service-streaming-container {
          gap: 28px;
      }
      .service-streaming-visual {
          aspect-ratio: auto;
          display: grid;
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 6px;
      }
      .service-streaming-tile {
          position: static;
          inset: auto;
          width: auto;
          height: auto;
          aspect-ratio: 558 / 424;
          background-size: 300% 200%;
      }
      .service-streaming-tile-1 {
          background-position: 0% 0%;
      }
      .service-streaming-tile-2 {
          background-position: 50% 0%;
      }
      .service-streaming-tile-3 {
          background-position: 100% 0%;
      }
      .service-streaming-tile-4 {
          background-position: 0% 100%;
      }
      .service-streaming-tile-5 {
          background-position: 50% 100%;
      }
      .service-streaming-tile-6 {
          background-position: 100% 100%;
      }
      .service-streaming-title-line-bottom {
          margin-top: -0.1em;
      }
      .service-streaming-description {
          width: 100%;
          font-size: 17px;
          line-height: 1.55;
          text-transform: none;
          color: #d8ecff;
      }
  }

  @media (max-width: 767px) {
      .service-streaming-section {
          padding: 32px 20px 40px;
      }
      .service-streaming-container {
          gap: 22px;
      }
      .service-streaming-description {
          font-size: 16px;
      }
  }

  @media (max-width: 390px) {
      .service-streaming-section {
          padding: 26px 16px 34px;
      }
      .service-streaming-description {
          font-size: 15px;
      }
  }

  @media (max-width: 1024px) {
      .service-streaming-visual::after {
          content: "";
          position: absolute;
          inset: 38% 0 0 0;
          z-index: 5;
          pointer-events: none;
          background: linear-gradient(to top, #00274f 6%, rgba(0, 39, 79, 0.94) 26%, rgba(0, 39, 79, 0.55) 58%, rgba(0, 39, 79, 0) 100%);
      }
      .service-streaming-title {
          position: absolute;
          z-index: 10;
          left: 0;
          right: 0;
          bottom: -2px;
          width: 100%;
          font-size: clamp(64px, 15.5vw, 150px);
          line-height: 0.9;
      }
      .service-streaming-title-line {
          -webkit-text-stroke-width: 1.5px;
          background: linear-gradient(90deg, transparent 0%, transparent 34%, #ffffff 34%, #ffffff 100%);
          -webkit-background-clip: text;
          background-clip: text;
      }
      .service-streaming-visual {
          padding-bottom: 4px;
      }
  }

  @media (max-width: 767px) {
      .service-streaming-title {
          font-size: clamp(58px, 17.5vw, 104px);
      }
      .service-streaming-title-line {
          -webkit-text-stroke-width: 1px;
      }
  }

  @media (max-width: 1024px) {
      .service-streaming-hardware-section {
          min-height: auto;
          display: flex;
          flex-direction: column;
          padding: 52px 28px 48px;
          box-sizing: border-box;
          background: linear-gradient(158deg, #024c6b 0%, #0394d1 44%, #045f85 74%, #012939 100%);
      }
      .service-streaming-hardware-left-bg {
          inset: 0;
          width: 100%;
          height: 62%;
          opacity: 0.85;
      }
      .service-streaming-hardware-bg-letter {
          top: -12%;
          left: -6%;
          font-size: clamp(340px, 78vw, 680px);
          opacity: 0.5;
      }
      .service-streaming-hardware-left-content,
      .service-streaming-hardware-person-wrap,
      .service-streaming-hardware-right-content {
          position: relative;
          inset: auto;
          width: 100%;
          max-width: none;
      }
      .service-streaming-hardware-main-title {
          font-size: clamp(76px, 15vw, 150px);
      }
      .service-streaming-hardware-subtitle {
          width: 100%;
          max-width: 46ch;
          margin-top: 16px;
          font-size: 19px;
          line-height: 1.32 !important;
      }
      .service-streaming-hardware-person-wrap {
          height: auto;
          margin-top: 22px;
          pointer-events: none;
      }
      .service-streaming-hardware-person {
          width: 100%;
          height: auto;
          max-height: 480px;
          object-fit: contain;
          object-position: center bottom;
      }
      .service-streaming-hardware-right-content {
          align-items: stretch;
          gap: 34px;
          margin-top: 30px;
      }
      .service-streaming-hardware-right-title {
          margin-bottom: 22px;
          font-size: clamp(38px, 7vw, 66px);
          text-align: left;
      }
      .service-streaming-hardware-option {
          justify-content: space-between;
          min-height: 56px;
          padding: 13px 18px;
          font-size: 16px;
          text-align: left;
      }
      .service-streaming-hardware-option span:first-child {
          white-space: normal;
      }
      .service-streaming-hardware-software-block {
          align-items: flex-start;
      }
      .service-streaming-hardware-software-title {
          font-size: clamp(26px, 4.4vw, 40px);
          text-align: left;
      }
  }

  @media (max-width: 767px) {
      .service-streaming-hardware-main-title {
          font-size: clamp(60px, 17vw, 110px);
      }
      .service-streaming-hardware-section {
          padding: 40px 20px 42px;
      }
      .service-streaming-hardware-subtitle {
          font-size: 17px;
      }
      .service-streaming-hardware-person {
          max-height: 380px;
      }
      .service-streaming-hardware-right-content {
          gap: 28px;
          margin-top: 24px;
      }
      .service-streaming-hardware-option {
          font-size: 15px;
      }
  }

  @media (max-width: 390px) {
      .service-streaming-hardware-section {
          padding: 34px 16px 36px;
      }
      .service-streaming-hardware-option {
          padding: 12px 14px;
          font-size: 14px;
      }
  }

  @media (max-width: 1024px) {
      .service-streaming-hardware-website-block,
      .service-streaming-hardware-software-block {
          display: contents;
      }
      .service-streaming-hardware-right-content {
          display: grid;
          grid-template-columns: 1fr 1fr;
          grid-template-areas: "tab1 tab2" "list list";
          gap: 0;
          margin-top: 26px;
      }
      .service-streaming-hardware-right-title,
      .service-streaming-hardware-software-title {
          margin: 0;
          padding: 14px 10px 13px;
          box-sizing: border-box;
          font-size: clamp(15px, 2.5vw, 21px);
          line-height: 1.2 !important;
          letter-spacing: 0.02em;
          text-align: center;
          text-transform: uppercase;
          border-bottom: 2px solid rgba(160, 222, 255, 0.22);
      }
      .service-streaming-hardware-right-title {
          grid-area: tab1;
          color: #ffffff;
          border-bottom-color: #7cd7ff;
          box-shadow: 0 2px 14px -5px rgba(3, 155, 255, 0.95);
      }
      .service-streaming-hardware-software-title {
          grid-area: tab2;
          color: rgba(226, 244, 255, 0.58);
      }
      .service-streaming-hardware-arrow {
          grid-area: tab2;
          width: 100%;
          height: 100%;
          min-height: 48px;
          padding: 0;
          border: 0;
          border-radius: 0;
          background: transparent;
          box-shadow: none;
          font-size: 0;
          color: transparent !important;
          cursor: pointer;
          z-index: 2;
      }
      .service-streaming-hardware-arrow:hover {
          background: rgba(124, 215, 255, 0.09);
      }
      .service-streaming-hardware-options {
          grid-area: list;
          margin-top: 20px;
      }
      .service-streaming-hardware-person {
          max-height: 420px;
      }
  }

  @media (max-width: 390px) {
      .service-streaming-hardware-right-title,
      .service-streaming-hardware-software-title {
          padding: 12px 6px 11px;
          font-size: 14px;
          letter-spacing: 0;
      }
  }

  @media (max-width: 1024px) {
      .service-streaming-software-section {
          aspect-ratio: auto;
          min-height: 0;
          display: flex;
          flex-direction: column;
      }
      .service-streaming-software-section {
          --sv-media: clamp(300px, 58vw, 560px);
      }
      .service-streaming-software-image-wrap {
          position: relative;
          width: 100%;
          height: var(--sv-media);
          min-height: 0;
          flex: 0 0 auto;
      }
      .service-streaming-software-image {
          position: absolute;
          inset: 0;
          width: 100%;
          height: 100%;
          object-fit: contain;
          object-position: center bottom;
      }
      .service-streaming-software-grid {
          position: absolute;
          top: 0;
          left: 0;
          right: auto;
          bottom: auto;
          width: 100%;
          height: var(--sv-media);
          grid-template-columns: repeat(4, minmax(0, 1fr));
          grid-template-rows: repeat(3, minmax(0, 1fr));
          gap: 0;
      }
      .service-streaming-software-grid>span:nth-child(n+13) {
          display: none;
      }
      .service-streaming-software-grid::before {
          top: auto;
          bottom: 0;
          left: 0;
          right: 0;
          width: auto;
          height: 2px;
          box-shadow: 0 0 4px rgba(3, 155, 255, 1), 0 -4px 14px rgba(3, 155, 255, 0.7), 0 -12px 30px rgba(3, 155, 255, 0.4);
      }
      .service-streaming-software-grid::after {
          display: none;
      }
      .service-streaming-software-content {
          position: relative;
          inset: auto;
          width: 100%;
          max-width: none;
          box-sizing: border-box;
          padding: 34px 28px 46px;
          gap: 32px;
      }
      .service-streaming-software-top {
          gap: 16px;
      }
      .service-streaming-software-title {
          font-size: clamp(68px, 14.5vw, 124px);
      }
      .service-streaming-software-intro,
      .service-streaming-software-player-text {
          width: 100%;
          max-width: 60ch;
          font-size: 17px;
          line-height: 1.45;
      }
      .service-streaming-software-player {
          width: 100%;
          max-width: none;
          gap: 14px;
      }
      .service-streaming-software-player-title {
          font-size: clamp(32px, 5.6vw, 54px);
      }
  }

  @media (max-width: 767px) {
      .service-streaming-software-section {
          --sv-media: clamp(280px, 74vw, 420px);
      }
      .service-streaming-software-title {
          font-size: clamp(58px, 15.5vw, 110px);
      }
      .service-streaming-software-content {
          padding: 28px 20px 40px;
          gap: 28px;
      }
      .service-streaming-software-intro,
      .service-streaming-software-player-text {
          font-size: 16px;
      }
      .service-streaming-software-grid {
          grid-template-columns: repeat(3, minmax(0, 1fr));
      }
      .service-streaming-software-grid>span:nth-child(n+10) {
          display: none;
      }
  }

  @media (max-width: 390px) {
      .service-streaming-software-content {
          /* padding: 24px 16px 34px; */
          padding: 118px 16px 34px;
      }
      .service-streaming-software-intro,
      .service-streaming-software-player-text {
          font-size: 15px;
      }
  }

  @media (max-width: 1024px) {
      .service-streaming-software-content {
          align-items: flex-end;
          text-align: right;
      }
  }

  @media (max-width: 767px) {
      .music-genre-cards .category-title-bar {
          /* height: 58px; */
          /* min-height: 58px; */
          height: 36px;
          min-height: 40px;
          display: flex;
          align-items: center;
          justify-content: center;
          box-sizing: border-box;
      }
      .service-streaming-software-content,
      .service-streaming-software-top,
      .service-streaming-software-player {
          align-items: flex-start;
      }
      .service-streaming-software-title,
      .service-streaming-software-intro,
      .service-streaming-software-player-title,
      .service-streaming-software-player-text {
          text-align: left;
      }
  }

  .rs-manifesto-window {
      position: relative;
      width: 100%;
      min-width: 0;
      min-height: 0;
      height: 100%;
      overflow-x: hidden !important;
      overflow-y: scroll !important;
      overscroll-behavior: contain;
      box-sizing: border-box;
      z-index: 10;
      /* Firefox */
      scrollbar-width: thin !important;
      scrollbar-color: #0aa9ff #00436d;
  }


  /* Chrome / Edge / Safari */

  .rs-manifesto-window::-webkit-scrollbar {
      display: block !important;
      width: 8px !important;
  }


  /* Dark blue vertical track */

  .rs-manifesto-window::-webkit-scrollbar-track {
      background: #00436d !important;
      border-radius: 10px;
  }


  /* Bright blue draggable scrollbar */

  .rs-manifesto-window::-webkit-scrollbar-thumb {
      background: #0aa9ff !important;
      border-radius: 10px !important;
      border: none !important;
  }


  /* Slightly brighter on hover */

  .rs-manifesto-window::-webkit-scrollbar-thumb:hover {
      background: #1db4ff !important;
  }


  /* Remove top/bottom scrollbar arrows */

  .rs-manifesto-window::-webkit-scrollbar-button {
      display: none !important;
      width: 0 !important;
      height: 0 !important;
  }


  /* =========================================================
               CACHING SERVICE SECTION
            ========================================================= */

  .caching-service-section {
      position: relative;
      width: 100%;
      aspect-ratio: 1920 / 978;
      min-height: 600px;
      overflow: hidden;
      isolation: isolate;
      background-image: url("../images/caching-header.png");
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
      background-color: #06499b;
      box-sizing: border-box;
  }


  /* Optional subtle blue layer.
                 Remove this if your image already has the exact blue treatment. */

  .caching-service-section::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient( 90deg, rgba(2, 35, 91, 0.16) 0%, rgba(0, 64, 157, 0.05) 46%, rgba(0, 74, 176, 0.02) 100%);
      pointer-events: none;
      z-index: 0;
  }

  .caching-service-inner {
      position: relative;
      width: 100%;
      height: 100%;
      min-height: inherit;
      z-index: 1;
  }


  /* =========================================================
                 LARGE "SERVICE" TEXT
              ========================================================= */

  .caching-service-display {
      position: absolute;
      top: 3.7%;
      left: 4.15%;
      display: flex;
      align-items: flex-start;
      white-space: nowrap;
      line-height: 1;
      font-family: "Antonio", sans-serif;
      font-size: clamp(145px, 15vw, 222px);
      font-style: normal;
      font-weight: 600;
      letter-spacing: -0.045em;
      text-transform: uppercase;
      user-select: none;
      pointer-events: none;
  }


  /* SER outlined portion */

  .caching-service-display-outline {
      color: transparent;
      -webkit-text-stroke: 2px rgba(255, 255, 255, 0.96);
      text-stroke: 2px rgba(255, 255, 255, 0.96);
  }


  /* VICE solid portion */

  .caching-service-display-solid {
      color: #ffffff;
      /* Pull the two parts together slightly */
      margin-left: -0.03em;
  }


  /* =========================================================
                 BOTTOM-RIGHT CONTENT
              ========================================================= */

  .caching-service-content {
      position: absolute;
      right: 7.2%;
      bottom: 14.2%;
      width: min(1012px, 58vw);
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 22px;
      text-align: right;
  }


  /* Local Caching Service */

  .caching-service-title {
      margin: 0;
      width: 100%;
      font-family: "Antonio", sans-serif;
      font-style: normal;
      font-weight: 600;
      font-size: clamp(38px, 3.55vw, 68px);
      line-height: 1.2;
      letter-spacing: -0.02em;
      text-transform: capitalize;
      color: #ffffff;
  }


  /* Description */

  .caching-service-description {
      margin: 0;
      width: min(685px, 100%);
      font-family: "Roboto", sans-serif;
      font-style: normal;
      font-weight: 500;
      font-size: clamp(16px, 1.15vw, 22px);
      line-height: 1.55;
      text-align: right;
      text-transform: capitalize;
      color: #ffffff;
  }


  /* =========================================================
               CACHING INFO SECTION
               Designed for a page with max-width: 1512px
            ========================================================= */

  .caching-info-section {
      position: relative;
      width: 100%;
      /* max-width: 1512px; */
      /* Original reference = 1920 × 912 */
      aspect-ratio: 1920 / 912;
      margin: 0 auto;
      overflow: hidden;
      isolation: isolate;
      box-sizing: border-box;
      background-color: #003845;
      background-image: url("../images/caching-girrl.png");
      background-repeat: no-repeat;
      /*
                  IMPORTANT:
                  Keeps the complete artwork proportional to the section.
                  This prevents the girl from becoming too large.
                */
      background-size: 100% auto;
      background-position: center top;
  }


  /* =========================================================
                 MAIN INNER WRAPPER
              ========================================================= */

  .caching-info-inner {
      position: relative;
      width: 100%;
      height: 100%;
      box-sizing: border-box;
      z-index: 2;
  }


  /* =========================================================
                 LEFT HEADING
              ========================================================= */

  .caching-info-heading-wrap {
      position: absolute;
      top: 5.2%;
      left: 4.15%;
      z-index: 3;
  }

  .caching-info-heading {
      margin: 0;
      display: flex;
      flex-direction: column;
      font-family: "Antonio", sans-serif;
      font-style: normal;
      font-weight: 600;
      /*
                  Approximately 150px when section is 1512px wide.
                  Matches the proportion of the original 1920 design.
                */
      font-size: clamp(90px, 9.9vw, 116px);
      line-height: 0.89 !important;
      letter-spacing: -0.035em;
      color: #ffffff;
      text-transform: capitalize;
      white-space: nowrap;
  }

  .caching-info-heading span {
      display: block;
      line-height: 1 !important;
  }


  /* =========================================================
                 RIGHT DECORATIVE DARK BLOCK
              ========================================================= */

  .caching-info-section::after {
      content: "";
      position: absolute;
      top: 31.5%;
      right: 0;
      width: 18%;
      height: 41.5%;
      background: rgba(0, 42, 52, 0.78);
      z-index: 1;
      pointer-events: none;
  }


  /* =========================================================
                 OPTIONAL SUBTLE LEFT DARKNESS
              ========================================================= */

  .caching-info-section::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient( 90deg, rgba(0, 30, 38, 0.18) 0%, rgba(0, 30, 38, 0.05) 30%, transparent 58%);
      z-index: 1;
      pointer-events: none;
  }


  /* =========================================================
                 RIGHT CONTENT
              ========================================================= */

  .caching-info-content-wrap {
      position: absolute;
      /*
                  Reference composition:
                  text sits around the right-middle of the section
                */
      top: 45%;
      right: 6%;
      width: 36%;
      padding: 0;
      box-sizing: border-box;
      background: transparent;
      z-index: 3;
  }

  .caching-info-content {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
  }

  .caching-info-description {
      margin: 0;
      width: 100%;
      font-family: "Roboto", sans-serif;
      font-style: normal;
      font-weight: 600;
      font-size: clamp(15px, 1.1vw, 20px);
      line-height: 1.48;
      text-align: center;
      text-transform: capitalize;
      color: #ffffff;
  }


  /* =========================================================
               PEARL SOFTWARE PLAYER
               One-image implementation
               Parent page max-width: 1512px
            ========================================================= */

  .caching-pearl-section {
      position: relative;
      width: 100%;
      /* max-width: 1512px; */
      /*
                  Original design:
                  1920 × 1394
                */
      aspect-ratio: 1920 / 1394;
      margin: 0 auto;
      overflow: hidden;
      isolation: isolate;
      box-sizing: border-box;
      background: #353535;
  }


  /* =========================================================
                 SINGLE IMAGE
              ========================================================= */

  .caching-pearl-image {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      display: block;
      /*
                  Because section uses the exact same aspect ratio
                  as your artwork, the image scales proportionally.
                */
      object-fit: cover;
      object-position: center center;
      z-index: 1;
      pointer-events: none;
      user-select: none;
  }


  /* =========================================================
                 CONTENT WRAPPER
              ========================================================= */

  .caching-pearl-content {
      position: absolute;
      /*
                  Original Figma:
                  left: 822px / 1920px
                  width: 1017px / 1920px
                  bottom approximately 68px
                */
      right: 4.2%;
      bottom: 6.2%;
      width: 53%;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: clamp(20px, 2.2vw, 34px);
      box-sizing: border-box;
      z-index: 5;
  }


  /* =========================================================
                 PEARL SOFTWARE PLAYER TITLE
              ========================================================= */

  .caching-pearl-title {
      margin: 0;
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      font-family: "Antonio", sans-serif;
      font-style: normal;
      font-weight: 700;
      /*
                  Figma = 142px at 1920px
                  Around 112px when container is 1512px.
                */
      font-size: clamp(72px, 7.4vw, 100px);
      line-height: 0.98 !important;
      letter-spacing: -0.025em;
      text-align: right;
      color: #ffffff;
  }

  .caching-pearl-title span {
      display: block;
      line-height: 1 !important;
  }


  /* =========================================================
                 DESCRIPTION AREA
              ========================================================= */

  .caching-pearl-details {
      width: 63%;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 18px;
      text-align: right;
  }


  /* R-Box Pearl Software Player */

  .caching-pearl-subtitle {
      margin: 0;
      width: 100%;
      font-family: "Roboto", sans-serif;
      font-style: normal;
      font-weight: 700;
      font-size: clamp(17px, 1.45vw, 22px);
      line-height: 1.25;
      text-align: right;
      color: #ffffff;
  }


  /* Main paragraph */

  .caching-pearl-description {
      margin: 0;
      width: 100%;
      font-family: "Roboto", sans-serif;
      font-style: normal;
      font-weight: 600;
      font-size: clamp(14px, 1.05vw, 20px);
      line-height: 1.35;
      text-align: right;
      color: #ffffff;
  }


  /* Link */

  .caching-pearl-link {
      color: #00b8f5 !important;
      font-weight: 700;
      text-decoration: underline;
      text-underline-offset: 2px;
  }

  .caching-pearl-link:hover {
      color: #5bd7ff;
  }


  /* =========================================================
               R-BOX PEARL HARDWARE PLAYER
               Optimized for max-width: 1512px
            ========================================================= */

  .caching-hardware-section {
      position: relative;
      width: 100%;
      /* max-width: 1512px; */
      /*
                  Original Figma:
                  1920 × 996
                */
      aspect-ratio: 1920 / 996;
      margin: 0 auto;
      overflow: hidden;
      isolation: isolate;
      background: #013351;
      box-sizing: border-box;
  }


  /* =========================================================
                 LEFT BLUE VISUAL AREA
              ========================================================= */

  .caching-hardware-left-bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 34.12%;
      height: 100%;
      /*
                  If you later want the blurred singer photo,
                  you can add it here:

                  background-image:
                    linear-gradient(
                      rgba(0, 109, 177, 0.88),
                      rgba(0, 109, 177, 0.88)
                    ),
                    url("YOUR-BACKGROUND-IMAGE.jpg");
                */
      background: radial-gradient( circle at 60% 42%, rgba(0, 158, 255, 0.82), rgba(0, 108, 177, 0.86) 46%, rgba(0, 77, 129, 0.96) 100%);
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      z-index: 1;
  }


  /* Subtle blur/softness */

  .caching-hardware-left-bg::after {
      content: "";
      position: absolute;
      inset: -15px;
      background: inherit;
      filter: blur(11px);
      opacity: 0.72;
      pointer-events: none;
  }


  /* =========================================================
                 PRODUCT GLOW
              ========================================================= */

  .caching-hardware-product-glow {
      position: absolute;
      left: 15.5%;
      top: 13%;
      width: 36%;
      aspect-ratio: 1 / 1;
      border-radius: 50%;
      background: rgba(0, 158, 255, 0.68);
      filter: blur(110px);
      transform: rotate(-2deg);
      z-index: 2;
      pointer-events: none;
  }


  /* =========================================================
                 PRODUCT IMAGE
              ========================================================= */

  .caching-hardware-product-image {
      position: absolute;
      /*
                  Based on Figma:
                  left: 266 / 1920
                  width: 777 / 1920
                  top: ~211 / 996
                */
      /* left: 1.85%; */
      top: 3.2%;
      width: 64.47%;
      height: auto;
      display: block;
      object-fit: contain;
      z-index: 3;
      pointer-events: none;
      user-select: none;
  }


  /* =========================================================
                 PRODUCT TITLE
              ========================================================= */

  .caching-hardware-title {
      position: absolute;
      left: 9.2%;
      top: 72.5%;
      margin: 0;
      width: 55%;
      font-family: "Antonio", sans-serif;
      font-style: normal;
      font-weight: 700;
      /*
                  Original = 88px at 1920px
                  About 69px at 1512px
                */
      font-size: clamp(48px, 4.6vw, 70px);
      line-height: 1.1;
      letter-spacing: -0.025em;
      text-transform: capitalize;
      color: #ffffff;
      white-space: nowrap;
      z-index: 4;
  }


  /* =========================================================
                 RIGHT DECORATIVE RECTANGLE
              ========================================================= */

  .caching-hardware-side-block {
      position: absolute;
      top: 31.7%;
      right: 0;
      width: 11.1%;
      height: 41.9%;
      background: #05588a;
      z-index: 1;
  }


  /* =========================================================
                 RIGHT TEXT CONTENT
              ========================================================= */

  .caching-hardware-content {
      position: absolute;
      top: 35.8%;
      right: 3.55%;
      /* width: 27.35%; */
      width: 32.35%;
      z-index: 3;
  }

  .caching-hardware-description {
      margin: 0;
      width: 100%;
      font-family: "Roboto", sans-serif;
      font-style: normal;
      font-weight: 500;
      font-size: clamp(14px, 1.15vw, 20px);
      line-height: 1.45;
      letter-spacing: -0.02em;
      text-align: right;
      text-transform: capitalize;
      color: #ffffff;
  }


  /* ==========================================================================
           STORE & FORWARD  ·  storeAndForward_V2.cfm
           MOBILE / RESPONSIVE PACK  —  VARIANT B : "CINEMATIC POSTER"
           --------------------------------------------------------------------------
           Idea:  keep the full-bleed artwork and keep the overlay — but make the
                  overlay actually work. Each section becomes a tall 10:16 poster
                  with a real bottom-up gradient scrim, and the copy is anchored to
                  the bottom-left. The display type is oversized and bleeds past the
                  left gutter. Closest in feel to the desktop design.

           Scope: only classes that appear in storeAndForward_V2.cfm.
                  Nothing else in style.css is touched.

           Status: DEPLOYED into style.css. The four original responsive groups for
                   these sections were removed at the same time, so this is now the
                   only source of responsive rules for the caching page.
                   This copy is the reference; the live one is inside style.css.
           ========================================================================== */


  /* --------------------------------------------------------------------------
           1. TUNABLES  —  measured against the real artwork, nothing to adjust
           --------------------------------------------------------------------------
           caching-header.png   1920 x 978    opaque photo,  subject sits at 31-91% across
           caching-girrl.png    1514 x 912    cut-out,       subject sits at 18-68% across
           caching-pearl.png    1920 x 1398   opaque photo,  full-frame composition
           caching-rbox.png     1349 x 996    cut-out,       device is only the middle 53%,
                                                             the rest of the PNG is its glow

           --sf-focal / --sf-focal-y are the focal point of each crop. This variant crops
           to a tall poster, so the vertical value matters as much as the horizontal one.
           They only need touching if one of the four PNGs is replaced.
           -------------------------------------------------------------------------- */

  .caching-service-section {
      --sf-focal: 68%;
      --sf-focal-y: 34%;
      --sf-pad: 20px;
      --sf-accent: #00b8f5;
  }

  .caching-info-section {
      --sf-focal: 43%;
      --sf-focal-y: 26%;
      --sf-pad: 20px;
      --sf-accent: #00b8f5;
  }

  .caching-pearl-section {
      --sf-focal: 52%;
      --sf-focal-y: 30%;
      --sf-pad: 20px;
      --sf-accent: #00b8f5;
  }

  .caching-hardware-section {
      --sf-focal: 50%;
      --sf-focal-y: 50%;
      --sf-pad: 20px;
      --sf-accent: #00b8f5;
  }


  /* ==========================================================================
           2a.  ≤1400px — HERO ONLY
           The original stylesheet tuned the hero at ≤1400 while everything else
           started at ≤1200. Reproduced verbatim so the 1201–1400 range renders
           exactly as it did before.
           ========================================================================== */

  @media (max-width: 1400px) {

    .radio-serviceplan-player-main-image-wrap {
        align-items: center !important;
    }
    .radio-serviceplan-player-watermark {
        font-size: 180px !important;
    }
      .caching-service-display {
          top: 5%;
          left: 4%;
          font-size: clamp(130px, 15vw, 220px);
      }
      .clients{
        height: 76%;
      }
      .clients-chips{
        padding-bottom: 86px;
      }
      .caching-service-content {
          right: 6%;
          bottom: 12%;
          width: 58%;
      }
      .caching-service-title {
          font-size: clamp(38px, 3.55vw, 56px);
      }
      .caching-service-description {
          font-size: 18px;
      }
  }


  /* ==========================================================================
           2b.  ≤1200px — SMALL LAPTOP / LARGE TABLET
           ========================================================================== */

  @media (max-width: 1200px) {
      .caching-service-section {
          min-height: 560px;
      }
      .caching-service-display {
          top: 4.4%;
          left: 4%;
          font-size: clamp(104px, 12.6vw, 186px);
          letter-spacing: -0.05em;
      }
      .caching-service-content {
          right: 5.5%;
          bottom: 11%;
          left: auto;
          width: 62%;
          gap: 18px;
          align-items: flex-end;
      }
      .caching-service-title {
          font-size: clamp(34px, 4.1vw, 52px);
      }
      .caching-service-description {
          width: 100%;
          max-width: 560px;
          font-size: 17px;
          line-height: 1.5;
      }
      .caching-info-heading {
          font-size: clamp(74px, 9.5vw, 108px);
          line-height: 0.9 !important;
      }
      .caching-info-content-wrap {
          top: 44%;
          right: 5.5%;
          left: auto;
          bottom: auto;
          width: 40%;
          padding: 0;
      }
      .caching-info-description {
          font-size: 16px;
          line-height: 1.5;
      }
      .caching-info-section::after {
          top: 31.5%;
          right: 0;
          left: auto;
          bottom: auto;
          width: 22%;
          height: 42%;
      }
      .caching-pearl-content {
          right: 4%;
          bottom: 5.5%;
          left: auto;
          width: 56%;
          gap: 22px;
      }
      .caching-pearl-title {
          font-size: clamp(58px, 7.2vw, 88px);
          line-height: 0.98 !important;
      }
      .caching-pearl-details {
          width: 70%;
          gap: 14px;
      }
      .caching-pearl-subtitle {
          font-size: 18px;
      }
      .caching-pearl-description {
          font-size: 14px;
          line-height: 1.4;
      }
      .caching-hardware-product-image {
          /* left: 12%; */
          left: unset;
          top: 4%;
          width: 56%;
      }
      .caching-hardware-product-glow {
          left: 14%;
          top: 12%;
          width: 40%;
      }
      .caching-hardware-title {
          left: 7.5%;
          top: 72%;
          width: 58%;
          font-size: clamp(40px, 5vw, 58px);
          line-height: 1.1;
          white-space: normal;
      }
      .caching-hardware-content {
          top: 35%;
          right: 3.2%;
          left: auto;
          bottom: auto;
          width: 30%;
      }
      .caching-hardware-description {
          font-size: 14px;
          line-height: 1.5;
          text-align: right;
      }
      .caching-hardware-side-block {
          top: 31.7%;
          right: 0;
          left: auto;
          bottom: auto;
          width: 12.5%;
          height: 42%;
      }
  }


  /* ==========================================================================
           3.  ≤900px — THE VARIANT STARTS HERE
           ========================================================================== */

  @media (max-width: 900px) {
    /* ======================= 3.1  HERO /
       "SERVICE" ======================== */
      .caching-service-section {
          aspect-ratio: 10 / 16;
          min-height: 600px;
          max-height: 820px;
          background-size: cover;
          background-position: var(--sf-focal) var(--sf-focal-y);
      }
      /* the existing ::before becomes the scrim */
      .caching-service-section::before {
          background: linear-gradient( 180deg, rgba(2, 25, 66, 0.52) 0%, rgba(2, 25, 66, 0.10) 26%, rgba(2, 25, 66, 0.62) 56%, rgba(1, 18, 48, 0.94) 80%, #011230 100%);
          z-index: 1;
      }
      .caching-service-inner {
          display: flex;
          flex-direction: column;
          justify-content: flex-end;
          height: 100%;
          padding: 0 var(--sf-pad) 44px;
          z-index: 2;
      }
      .caching-service-display {
          position: static;
          inset: auto;
          order: 1;
          align-self: flex-start;
          margin-left: -0.08em;
          /* optical bleed past the gutter */
          margin-bottom: 0.06em;
          font-size: 21vw;
          letter-spacing: -0.06em;
          opacity: 0.94;
      }
      .caching-service-display-outline {
          -webkit-text-stroke-width: 2px;
          text-stroke-width: 2px;
      }
      .caching-service-content {
          position: static;
          inset: auto;
          order: 2;
          width: 100%;
          align-items: flex-start;
          text-align: left;
          gap: 12px;
      }
      .caching-service-title {
          font-size: clamp(32px, 7.6vw, 50px);
          line-height: 1.08;
          letter-spacing: -0.02em;
          text-shadow: 0 2px 18px rgba(0, 12, 38, 0.55);
      }
      .caching-service-description {
          width: 100%;
          max-width: 60ch;
          font-size: 16px;
          line-height: 1.55;
          font-weight: 400;
          text-align: left;
          text-transform: none;
          text-shadow: 0 1px 14px rgba(0, 12, 38, 0.6);
      }
      .caching-service-desktop-break {
          display: none;
      }
      /* ======================= 3.2  CACHING SERVICE INFO ==================== */
      .caching-info-section {
          aspect-ratio: 10 / 16;
          min-height: 600px;
          max-height: 600px;
          background-size: cover;
          background-position: var(--sf-focal) var(--sf-focal-y);
      }
      .caching-info-section::before {
          background: linear-gradient( 180deg, rgba(0, 30, 38, 0.60) 0%, rgba(0, 30, 38, 0.08) 24%, rgba(0, 30, 38, 0.56) 54%, rgba(0, 22, 28, 0.95) 80%, #001218 100%);
          z-index: 1;
      }
      .caching-info-section::after {
          display: none;
      }
      .caching-info-inner {
          /* display: flex; */
          flex-direction: column;
          justify-content: space-between;
          height: 100%;
          padding: 30px var(--sf-pad) 44px;
          z-index: 2;
      }
      .caching-info-inner{
          display: flex;
          flex-direction: column;
      }

      .caching-info-heading-wrap {
          position: static;
          inset: auto;
          order: 1;

          position: relative;
          width: 100%;
          margin-top: auto;
      }
      .caching-info-heading {
          font-size: 14vw;
          line-height: 0.84 !important;
          letter-spacing: -0.045em;
          margin-left: -0.04em;
          white-space: normal;
          text-shadow: 0 2px 22px rgba(0, 16, 22, 0.5);
      }
      .caching-info-heading span {
          line-height: 1 !important;
      }
      .caching-info-content-wrap {
          /* position: static; */
          margin-top: 8%;
          inset: auto;
          order: 2;
          width: 90%;
          padding: 0;


          position: relative;
          width: 100%;
      }
      .caching-info-content {
          display: block;
          width: 100%;
          padding-left: 16px;
          border-left: 3px solid var(--sf-accent);
      }
      .caching-info-description {
          font-size: 16px;
          line-height: 1.6;
          font-weight: 400;
          text-align: left;
          text-transform: none;
          text-shadow: 0 1px 14px rgba(0, 16, 22, 0.6);
      }
      /* ======================= 3.3  PEARL SOFTWARE PLAYER ================== */
      .caching-pearl-section {
          aspect-ratio: 10 / 16;
          min-height: 620px;
          max-height: 860px;
      }
      .caching-pearl-image {
          object-fit: cover;
          object-position: var(--sf-focal) var(--sf-focal-y);
      }
      /* new scrim for a section that had none */
      .caching-pearl-section::after {
          content: "";
          position: absolute;
          inset: 0;
          background: linear-gradient( 180deg, rgba(20, 20, 20, 0.34) 0%, rgba(20, 20, 20, 0.00) 26%, rgba(18, 18, 18, 0.58) 52%, rgba(12, 12, 12, 0.93) 78%, #0b0b0b 100%);
          z-index: 2;
          pointer-events: none;
      }
      .caching-pearl-content {
          left: var(--sf-pad);
          right: var(--sf-pad);
          bottom: 42px;
          top: auto;
          width: auto;
          align-items: flex-start;
          gap: 16px;
      }
      .caching-pearl-title {
          align-items: flex-start;
          text-align: left;
          font-size: 14vw;
          line-height: 0.88 !important;
          letter-spacing: -0.04em;
          margin-left: -0.035em;
          margin-bottom: 39px;
      }
      .caching-pearl-title span {
          line-height: 1 !important;
      }
      .caching-pearl-details {
          width: 100%;
          align-items: flex-start;
          text-align: left;
          gap: 10px;
          padding-left: 16px;
          border-left: 3px solid var(--sf-accent);
      }
      .caching-pearl-subtitle {
          font-size: 17px;
          text-align: left;
      }
      .caching-pearl-description {
          font-size: 14.5px;
          line-height: 1.55;
          font-weight: 400;
          text-align: left;
      }
      /* ======================= 3.4  R-BOX HARDWARE PLAYER ================== */
      .caching-hardware-section {
          aspect-ratio: 10 / 16;
          /* min-height: 640px;
          max-height: 880px; */
          min-height: 585px;
          max-height: 792px;
          display: flex;
          flex-direction: column;
          justify-content: flex-end;
          padding: 0 var(--sf-pad) 44px;
      }
      .caching-hardware-left-bg {
          position: absolute;
          inset: 0;
          width: 100%;
          height: 100%;
          z-index: 1;
      }
      /* the PNG carries its own glow, so the CSS one would double up */
      .caching-hardware-product-glow {
          display: none;
      }
      .caching-hardware-product-image {
          position: absolute;
          /* left: -6%; */
          top: 4%;
          right: auto;
          bottom: auto;
          width: 100%;
          /* the device is only the middle 53% of the file */
          z-index: 3;
      }
      /* the decorative rectangle is recycled as the scrim */
      .caching-hardware-side-block {
          position: absolute;
          left: 0;
          right: 0;
          bottom: 0;
          top: auto;
          width: 100%;
          height: 64%;
          background: linear-gradient( 180deg, rgba(1, 40, 64, 0.00) 0%, rgba(1, 34, 55, 0.62) 34%, rgba(1, 26, 43, 0.94) 66%, #01192a 100%);
          z-index: 4;
          pointer-events: none;
      }
      .caching-hardware-title {
          position: static;
          inset: auto;
          order: 1;
          z-index: 6;
          width: 100%;
          margin: 0;
          font-size: clamp(32px, 9.4vw, 52px);
          line-height: 1.04;
          letter-spacing: -0.03em;
          white-space: normal;
          text-align: left;
          text-shadow: 0 2px 20px rgba(0, 18, 32, 0.55);
      }
      .caching-hardware-content {
          position: static;
          inset: auto;
          order: 2;
          z-index: 6;
          width: 100%;
          margin-top: 16px;
          padding-left: 16px;
          border-left: 3px solid var(--sf-accent);
      }
      .caching-hardware-description {
          font-size: 15px;
          line-height: 1.6;
          font-weight: 400;
          letter-spacing: 0;
          text-align: left;
          text-transform: none;
          text-shadow: 0 1px 14px rgba(0, 18, 32, 0.6);
      }
  }


  /* ==========================================================================
           4.  ≤600px — PHONES
           ========================================================================== */

  @media (max-width: 600px) {

      .artists-actions {
          padding: 0 48px;width: 100%;
          left: unset;
      }
      .artists-actions .btn-white{
          padding: 4px 4px !important;
          width: 100%;
      }
      .caching-service-section,
      .caching-info-section,
      .caching-pearl-section,
      .caching-hardware-section {
          --sf-pad: 18px;
      }
      .caching-service-section {
          aspect-ratio: 9 / 11;
          min-height: 580px;
          max-height: 760px;
      }
      .caching-service-display {
          font-size: 21vw;
      }
      .caching-service-title {
          font-size: clamp(29px, 8.2vw, 42px);
      }
      .caching-service-description {
          font-size: 15px;
      }
      .caching-info-section {
          aspect-ratio: 9 / 16;
          min-height: 580px;
          max-height: 760px;
      }
      .caching-info-heading {
          font-size: 20vw;
      }
      .caching-info-description {
          font-size: 15px;
      }
      .caching-pearl-section {
          aspect-ratio: 9 / 16;
          min-height: 600px;
          max-height: 800px;
      }
      .caching-pearl-title {
          font-size: 16.5vw;
      }
      .caching-pearl-subtitle {
          font-size: 16px;
      }
      .caching-pearl-description {
          font-size: 14px;
      }
      .caching-hardware-section {
          aspect-ratio: 3 / 4;
          min-height: 640px;
          max-height: 780px;
      }
      .caching-hardware-product-image {
          /* left: -8%; */
          left: unset;
          width: 100% !important;
          top: 5%;
      }
      .caching-hardware-title {
          font-size: clamp(29px, 10vw, 46px);
      }
      .caching-hardware-description {
          font-size: 14px;
      }
  }


  /* ==========================================================================
           5.  ≤420px — SMALL PHONES
           ========================================================================== */

  @media (max-width: 420px) {
      .caching-service-section,
      .caching-info-section,
      .caching-pearl-section,
      .caching-hardware-section {
          --sf-pad: 14px;
      }
      .caching-service-section {
          min-height: 560px;
      }
      .caching-service-display {
          font-size: 21vw;
      }
      .caching-service-title {
          font-size: 28px;
      }
      .caching-service-description {
          font-size: 14.5px;
      }
      .caching-info-section {
          /* min-height: 560px; */
          min-height: 471px;
          max-height: 471px;
      }
      .caching-info-heading {
          /* font-size: 21vw; */
          font-size: 19vw;
      }
      .caching-info-description {
          font-size: 14.5px;
      }
      .caching-pearl-section {
          min-height: 580px;
      }
      .caching-pearl-title {
          font-size: 17vw;
      }
      .caching-pearl-description {
          font-size: 13.5px;
      }
      .caching-hardware-section {
          /* min-height: 620px; */
          min-height: 570px;
      }
      .caching-hardware-title {
          font-size: 29px;
      }
      .caching-hardware-description {
          font-size: 13.5px;
      }
  }

  @media (max-width: 700px) {
      .feature-buttons {
          justify-content: center !important;
      }
  }

  @media (min-width: 701px) and (max-width: 1024px) {
      .rsf-static-description {
          font-size: clamp(20px, 1.8vw, 19px);
      }
      .feature-buttons {
          flex-direction: column;
      }
      .rsf-static-button {
          min-width: 0px;
          min-height: 14px;
          width: 200px;
      }
      .rspr-stats-list {
          margin-top: 42px;
          gap: 34px;
          flex-direction: column;
      }
      .rs-left {
          /* margin-bottom: -132px; */
          /* top: 16%; */
          /* padding: 28% 0 0; */
          padding: 37px 15px !important;
          margin-bottom: 0px;
          /* height: 432px; */
          height: auto;
      }
      .rs-wheel-holder {
          height: auto;
          /* height: 400px !important; */

            height: 275px !important;
          left: -29%;
          top: 11%;
      }
      .rs-wheel {
          width: 120%;
          display: none;
      }
      #rsFeatures .rs-wheel-description {
          top: 0;
          /* left: 29%; */
          /* bottom: 29%; */
          left: unset;
          bottom:unset;
          padding: 24px 24px;
          box-shadow: inset 0 0 4px rgb(255 255 255 / 37%), 1px 1px 6px rgb(255 255 255 / 21%), 2px -1px 14px #0896ed, 0 0 0px rgb(0 183 255 / 50%);
          max-width: 100%;
          /* width: 85% !important; */
          width: 100% !important;
      }
      #rsFeatures .rs-wheel-description-title {
          margin: 0 0 9px 0;
          padding: 0;
          display: block;
          font-family: "Antonio", sans-serif;
          font-style: normal;
          font-weight: 700;
          font-size: clamp(34px, 3.4vw, 33px);
          line-height: 1.15;
          text-transform: capitalize;
          border-bottom: 1px solid white;
          margin-bottom: 13px;
          padding-bottom: 7px;
          color: #ffffff;
      }
      .rs-wheel-holder{
          width: 100%;
          left: 0;
          /* top: -17%; */
          top: 0;
          transform: translateY(0%);
      }
      #rsFeatures .rs-wheel-description-text {
          margin: 0;
          padding: 0;
          font-family: "Roboto", sans-serif;
          font-style: normal;
          font-weight: 400;
          font-size: clamp(23px, 2.2vw, 19px);
          line-height: 1.24 !important;
          text-transform: capitalize;
          color: #ffffff;
      }
      .rs-right {
          padding: 30px 24px 24px 18px;
          row-gap: 20px;
          padding-left: 24px;
          padding-right: 10px;
          padding-top: 0px;
      }
      .rs-brand {
          text-align: center;
      }
      .rs-brand h1 {
          font-size: clamp(70px, 6.5vw, 74px);
      }
      .rs-brand p {
          font-size: 19px;
          letter-spacing: 0.28em;
      }
      .rs-number {
          font-size: clamp(29px, 1.55vw, 33px);
      }
      .rs-feature-text span {
          font-size: clamp(34px, 1.75vw, 35px);
      }
      .rs-feature-text strong {
          font-size: clamp(34px, 2.15vw, 38px);
      }
      .rs-cert-content {
          padding: 48px 28px 48px 40px;
      }
      .rs-cert-inner {
          grid-template-columns: 55% 45%;
      }
      .rs-cert-content {
          width: 100%;
          padding: 48px 28px 48px 40px;
      }
      .rs-cert-badge {
          min-width: 0;
          width: 100%;
          max-width: 590px;
          padding-inline: 11px;
          font-size: 18px;
          min-height: 52px;
      }
      .rs-cert-description {
          margin-top: 20px;
          font-size: clamp(19px, 1.8vw, 18px);
      }
      .rs-sticky {
          display: flex;
          flex-direction: column;
      }
  }

  .wesite-hardware-section {
      position: relative;
      width: 100%;
      min-height: 0px;
      background: #002233;
      overflow: hidden;
      box-sizing: border-box;
  }

  .wesite-hardware-section::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 33.5%;
      height: 100%;
      /* the panel is not flat: it lifts from #00597F at the page edge to
                 #006894 against its right border */
      background: linear-gradient( 90deg, #00597F 0%, #006894 100%);
      border-right: 1px solid rgba(101, 210, 255, 0.33);
      box-sizing: border-box;
      z-index: 0;
  }


  /* Soft blue glow behind the laptop. In the reference this bleeds smoothly
             past x=1072px at 1920 wide, which is exactly where the <img> box ends,
             so it cannot be coming from streaming-website.png and has to be its own
             layer. Ellipse and falloff are fitted to the reference:
               alpha 0.25 at r=0.64,  0.13 at 0.74,  0.05 at 0.85,  0 at 1.0
             If streaming-website.png turns out to already carry a glow, delete this
             one rule and nothing else changes. */

  .wesite-hardware-section::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1;
      pointer-events: none;
      background: radial-gradient( ellipse 40% 40% at 30.6% 53%, rgba(0, 180, 255, 0.30) 0%, rgba(0, 180, 255, 0.26) 62%, rgba(0, 180, 255, 0.13) 74%, rgba(0, 180, 255, 0.05) 85%, rgba(0, 180, 255, 0) 100%), linear-gradient( 90deg, rgba(0, 180, 255, 0) 33.5%, rgba(0, 180, 255, 0.15) 34%, rgba(0, 180, 255, 0.07) 44%, rgba(0, 180, 255, 0) 56%);
  }

  .wesite-hardware-lines {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1;
      pointer-events: none;
  }

  .wesite-hardware-lines::before {
      /* the blue panel's own border-right draws this rule at 33.33% now;
                 keeping both produced a doubled line */
      display: none;
      content: "";
      position: absolute;
      top: 0;
      left: 33.33%;
      width: 1px;
      height: 100%;
      background: rgba(101, 210, 255, 0.12);
  }

  .wesite-hardware-lines::after {
      content: "";
      position: absolute;
      top: 0;
      left: 67%;
      width: 1px;
      height: 100%;
      background: rgba(101, 210, 255, 0.12);
  }

  .wesite-hardware-container {
      position: relative;
      z-index: 2;
      width: calc(100% - 80px);
      max-width: 1713px;
      min-height: 0px;
      margin: 0 auto;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center;
      -webkit-justify-content: center;
      justify-content: center;
      box-sizing: border-box;
      padding-top: 80px;
      padding-bottom: 80px;
  }

  .wesite-hardware-visual {
      position: relative;
      width: 56.5%;
      min-width: 0;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center;
      -webkit-justify-content: center;
      justify-content: center;
      box-sizing: border-box;
  }

  .wesite-hardware-image {
      display: block;
      width: 100%;
      max-width: 968px;
      height: auto;
      margin: 0;
      object-fit: contain;
  }

  .wesite-hardware-content {
      width: 43.5%;
      min-width: 0;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
      flex-direction: column;
      -webkit-align-items: flex-end;
      align-items: flex-end;
      -webkit-justify-content: center;
      justify-content: center;
      gap: 84px;
      text-align: right;
      box-sizing: border-box;
  }

  .wesite-hardware-text {
      width: 100%;
      max-width: 745px;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
      flex-direction: column;
      -webkit-align-items: flex-end;
      align-items: flex-end;
      gap: 24px;
  }

  .wesite-hardware-title {
      width: 100%;
      margin: 0;
      padding: 0;
      font-family: "Roboto", Arial, sans-serif;
      font-style: normal;
      font-weight: 600;
      font-size: 60px;
      line-height: 1 !important;
      text-align: right;
      color: #FFFFFF;
  }

  .wesite-hardware-description {
      width: 100%;
      max-width: 571px;
      margin: 0;
      padding: 0;
      font-family: "Roboto", Arial, sans-serif;
      font-style: normal;
      font-weight: 400;
      font-size: 26px;
      line-height: 1.46;
      text-align: right;
      color: #FFFFFF;
  }

  .wesite-hardware-button {
      width: 100%;
      max-width: 544px;
      min-height: 78px;
      padding: 20px 30px;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center;
      -webkit-justify-content: center;
      justify-content: center;
      box-sizing: border-box;
      background: linear-gradient( 92.42deg, rgba(189, 224, 255, 0.16) 2.47%, rgba(0, 162, 255, 0.16) 74.73%);
      border: 1px solid rgba(255, 255, 255, 0.12);
      border-radius: 124px;
      font-family: "Roboto", Arial, sans-serif;
      font-style: normal;
      font-weight: 600;
      font-size: 26px;
      line-height: 1.3;
      text-align: center;
      text-transform: capitalize;
      text-decoration: none;
      color: #FFFFFF !important;
      transition: background 0.25s ease, border-color 0.25s ease;
  }

  .wesite-hardware-button:hover {
      color: #FFFFFF;
      text-decoration: none;
      background: linear-gradient( 92.42deg, rgba(189, 224, 255, 0.24) 2.47%, rgba(0, 162, 255, 0.27) 74.73%);
      border-color: rgba(255, 255, 255, 0.25);
  }


  /* The page shell is capped at 1512px (ngheader_V2 maxWidth), so above the
       cap the band is still 1512px wide and keeps its 1512px layout. These were
       inside @media (max-width: 1600px), which stopped applying at 1601 and
       relaid the same band. */

  .wesite-hardware-container {
      width: calc(100% - 60px);
  }

  .wesite-hardware-title {
      font-size: 72px;
  }

  .wesite-hardware-description {
      font-size: 22px;
  }

  .wesite-hardware-content {
      gap: 60px;
  }

  .wesite-hardware-text {
      gap: 42px;
  }

  .wesite-hardware-button {
      max-width: 480px;
      min-height: 70px;
      font-size: 22px;
  }

  @media (max-width: 1399px) {
      .wesite-hardware-section {
          min-height: 820px;
      }
      .wesite-hardware-container {
          min-height: 820px;
      }
      .wesite-hardware-title {
          font-size: 62px;
      }
      .wesite-hardware-description {
          max-width: 500px;
          font-size: 20px;
      }
      .wesite-hardware-content {
          gap: 48px;
      }
      .wesite-hardware-text {
          gap: 36px;
      }
      .wesite-hardware-button {
          max-width: 440px;
          min-height: 66px;
          font-size: 20px;
      }
  }

  @media (max-width: 1199px) {
      .wesite-hardware-title {
          font-size: 48px;
      }
      .wesite-hardware-description {
          font-size: 18px;
          line-height: 1.5;
      }
      .wesite-hardware-button {
          font-size: 18px;
      }
  }


  /* Desktop height was pinned at 994px while the container kept scaling with
             the viewport, so from 1025 to 1792 the laptop sat in a band of empty space
             and read as small: 46 to 49% of the section height against the reference's
             57%. Height now tracks the container at the reference's own ratio,
             994/1713 = 58.03%, making the whole section a true scale of the 1920
             frame. At 1793 and above the container is capped at 1713px and the
             unchanged 994px base value applies, so 1920 renders exactly as before. */

  @media (min-width: 1025px) {
      .wesite-hardware-section,
      .wesite-hardware-container {
          min-height: calc(58.03 * min(100vw, 1512px) / 100 - 34.8px);
      }
  }


  /* The 1601 to 1792 band that stood here is gone: with the page capped
       at 1512px the container never grows past the cap, so that band would
       only lay the same 1512px block out a second way. */

  @media (max-width: 1040px) {
    .radio-serviceplan-player-watermark {
        font-size: 150px !important;
    }
  }
  @media (max-width: 1024px) {
      .wesite-hardware-section {
          min-height: auto;
          /* padding: 80px 0; */
          padding: 0px 0;
      }
      /* Stacked: the band is pinned to the copy block, not to a share of the
                 section height, so its edge lands in the gap under the image at every
                 width and for any aspect ratio streaming-website.png turns out to
                 have. A percentage cut into the title by 46 to 79px at 360 to 430. */
      .wesite-hardware-section::after {
          display: none;
      }
      .wesite-hardware-content {
          position: relative;
      }
      .wesite-hardware-content::before {
          content: "";
          position: absolute;
          z-index: -1;
          left: 50%;
          -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
          width: 100vw;
          top: -30px;
          bottom: -2000px;
          background: linear-gradient( 90deg, #00597F 0%, #006894 100%);
          border-top: 1px solid rgba(101, 210, 255, 0.33);
          box-sizing: border-box;
          pointer-events: none;
      }
      .wesite-hardware-section::before {
          background: radial-gradient( ellipse 62% 30% at 50% 26%, rgba(0, 180, 255, 0.30) 0%, rgba(0, 180, 255, 0.20) 62%, rgba(0, 180, 255, 0.09) 78%, rgba(0, 180, 255, 0) 100%);
      }
      .wesite-hardware-lines {
          display: none;
      }
      .wesite-hardware-container {
          width: calc(100% - 48px);
          min-height: auto;
          -webkit-flex-direction: column;
          flex-direction: column;
          gap: 60px;
      }
      .wesite-hardware-visual {
          width: 100%;
      }
      .wesite-hardware-image {
          width: 100%;
          max-width: 760px;
      }
      .wesite-hardware-content {
          width: 100%;
          -webkit-align-items: center;
          align-items: center;
          gap: 42px;
          text-align: center;
      }
      .wesite-hardware-text {
          max-width: 720px;
          -webkit-align-items: center;
          align-items: center;
          gap: 28px;
      }
      .wesite-hardware-title {
          text-align: center;
          font-size: 52px;
      }
      .wesite-hardware-description {
          max-width: 680px;
          text-align: center;
          font-size: 19px;
      }
      .wesite-hardware-button {
          max-width: 500px;
      }
  }

  @media (max-width: 767px) {
      .wesite-hardware-section {
          padding: 65px 0;
      }
      .wesite-hardware-content::before {
          top: -22px;
      }
      .wesite-hardware-container {
          width: calc(100% - 32px);
          gap: 45px;
          padding-top: 0px;
          padding-bottom: 0px;
      }
      .wesite-hardware-title {
          font-size: 42px;
          line-height: 1.1;
          text-align: left;
      }
      .wesite-hardware-description {
          font-size: 17px;
          line-height: 1.55;
          text-align: left;
      }
      .wesite-hardware-button {
          max-width: 430px;
          min-height: 62px;
          padding: 15px 24px;
          font-size: 17px;
      }
  }

  @media (max-width: 575px) {
      .wesite-hardware-section {
          padding: 50px 0;
      }
      .wesite-hardware-content::before {
          top: -18px;
      }
      .wesite-hardware-container {
          width: calc(100% - 24px);
          gap: 36px;
      }
      .wesite-hardware-title {
          font-size: 34px;
      }
      .wesite-hardware-description {
          font-size: 15px;
          line-height: 1.55;
      }
      .wesite-hardware-content {
          gap: 32px;
      }
      .wesite-hardware-text {
          gap: 22px;
      }
      .wesite-hardware-button {
          width: 100%;
          min-height: 58px;
          padding: 14px 18px;
          font-size: 15px;
      }
  }


  /* =========================================================================
         TABLET COMPATIBILITY  -  fixes with no visual change
         -------------------------------------------------------------------------
         Four measured defects, none of which alter the design at any width. Every
         one restores what the existing CSS already intends.
         ========================================================================= */


  /* 1 ------------------------------------------------------------------------
         .service-streaming-section is min-height: 100vh. On iPadOS Safari, Chrome
         for Android and Samsung Internet, vh is the LARGE viewport height, measured
         with the browser toolbars hidden. With the toolbars showing, the section is
         taller than the screen, so the hero sits partly below the fold and shifts
         as the toolbars collapse on scroll. svh is the small viewport height, which
         is what fits. On desktop svh and vh are the same value, so nothing changes
         there. Browsers without svh ignore this line and keep the 100vh above.

         Applied as a second declaration inside the original rule, not appended here:
         at the end of the file it would beat the max-width:1024 "min-height: auto"
         overrides and make the hero a full viewport tall on phones again.           */


  /* 2 ------------------------------------------------------------------------
         The list-swap control is declared 56 x 56 but it is a flex item, so it
         shrinks when its row runs out of room: measured 41 x 56 at 1180 and 1194,
         the widths an iPad Air and an iPad Pro 11 report in landscape. That is an
         oval instead of a circle, and it is under the 44px touch target on the one
         control that switches the two hardware lists. flex-shrink restores the
         declared size; it cannot make the control any larger than 56 x 56.

         Below 1025 the control is a grid item, where flex-shrink has no effect.

         Scoped to any-pointer: coarse so a mouse-only desktop sees no change at all.
         The control is squashed there too (48 x 56 at 1920), so dropping the media
         query would restore the circle everywhere, but that is a visible desktop
         change and is left for you to approve.                                      */

  @media (any-pointer: coarse) {
      .service-streaming-hardware-arrow {
          -webkit-flex-shrink: 0;
          flex-shrink: 0;
      }
  }


  /* 3 ------------------------------------------------------------------------
         The inline links in body copy are 16 to 24px tall, well under a fingertip:
         "click here now" measured 114 x 23 and "see this article." 101 x 16.
         Vertical padding on an inline box grows the hit area without touching the
         line box, so no text moves and nothing reflows. any-pointer rather than
         pointer, so a Surface or an iPad with a trackpad attached still gets it.    */

  @media (any-pointer: coarse) {
      .service-intro-description a,
      .wesite-hardware-description a,
      .caching-pearl-link {
          padding-top: 14px;
          padding-bottom: 14px;
      }
  }


  /* 4 ------------------------------------------------------------------------
         The hardware list and the swap control respond to :hover only for their
         lift and tint. Both already work on tap, but on a touch tablet the hover
         state sticks after the tap until something else is touched. Suppressing it
         where there is no hovering pointer is the conventional guard; devices with
         a mouse or trackpad keep the effect.                                        */

  @media (hover: none) {
      .service-streaming-hardware-arrow:hover {
          -webkit-transform: none;
          transform: none;
          background: rgba(0, 44, 63, 0.7);
      }
  }


  /* =========================================================================
         STREAMING SOFTWARE  -  TABLET PORTRAIT               (701px to 1024px)
         -------------------------------------------------------------------------
         Every iPad in portrait. The copy sat in its own block underneath the figure,
         which made the section 813px tall at 768 and 859px at 820. The copy now sits
         over the figure the way it does on desktop, so the section is one band and
         roughly half the height.

         The floor is 701px, which is a breakpoint this stylesheet already uses, and
         it matters: the current iPad mini reports 744 CSS pixels, not 768, so a 768
         floor left the 8.3in mini on the old stacked layout. Real portrait widths:
         iPad mini 6/7 744, iPad 9th gen 810, iPad Air and iPad 10th gen 820,
         iPad Pro 11in 834, iPad Pro 12.9in and Air 13in 1024.

         Phones keep the stacked layout, desktop above 1024 is untouched.
         ========================================================================= */

  @media (min-width: 1020px) and (max-width: 1024.9px) {
      .rs-left {
          padding-top: 5% !important;
          /* margin-top: 5%; */
      }
  }
  @media (min-width: 701px) and (max-width: 1024px) {
      /* the band's height, which is now the whole section's height */
      .service-streaming-software-section {
          --sv-media: clamp(392px, 50vw, 512px);
          position: relative;
      }
      /* the figure keeps the full band and sits to the left, so the right side
             stays clear for the copy, exactly as it does above 1024 */
      .service-streaming-software-image-wrap {
          position: relative;
          width: 100%;
          height: var(--sv-media);
      }
      .service-streaming-software-image {
          position: absolute;
          inset: 0;
          width: 62%;
          height: 100%;
          object-fit: contain;
          object-position: left bottom;
      }
      /* the glass grid moves back to the right of the band, where it frosts the
             edge of the figure and carries the copy, as on desktop */
      .service-streaming-software-grid {
          position: absolute;
          top: 0;
          bottom: 0;
          left: 36%;
          right: 0;
          width: auto;
          height: auto;
          grid-template-columns: repeat(4, minmax(0, 1fr));
          grid-template-rows: repeat(4, minmax(0, 1fr));
          gap: 0;
      }
      .service-streaming-software-grid>span:nth-child(n+13) {
          display: block;
      }
      .service-streaming-software-grid>span:nth-child(n+17) {
          display: none;
      }
      /* the cyan edge goes back to being the vertical seam it is on desktop */
      .service-streaming-software-grid::before {
          top: 0;
          bottom: 0;
          left: 0;
          right: auto;
          width: 2px;
          height: auto;
          box-shadow: 0 0 4px rgba(3, 155, 255, 1), 0 0 7px rgba(3, 155, 255, 0.95), -5px 0 14px rgba(3, 155, 255, 0.55);
      }
      /* out of flow, so the section is exactly one band tall */
      .service-streaming-software-content {
          position: absolute;
          top: 9%;
          left: 38%;
          right: 4.5%;
          bottom: auto;
          width: auto;
          max-width: none;
          padding: 0;
          gap: 20px;
          -webkit-align-items: flex-end;
          align-items: flex-end;
          text-align: right;
          z-index: 5;
      }
      .service-streaming-software-top {
          gap: 14px;
      }
      .service-streaming-software-title {
          font-size: clamp(54px, 8.9vw, 92px);
          line-height: 1.0 !important;
      }
      .service-streaming-software-intro,
      .service-streaming-software-player-text {
          width: 100%;
          max-width: 46ch;
          font-size: clamp(16px, 1.9vw, 18px);
          line-height: 1.38;
      }
  }


  /* =========================================================================
         STREAMING HARDWARE  -  rebuilt
         -------------------------------------------------------------------------
         Replaces the swap-arrow layout. Both lists are shown at once, so the control
         that hid one of them is gone and so is the script that drove it. The figure
         is scaled to the height of the section on the left, and the text block is
         vertically centred beside her.

         All new class names, prefixed .service-streaming-hw2-, so nothing here can
         reach the old .service-streaming-hardware-* rules or any other section.
         ========================================================================= */

  .service-streaming-hw2-section {
      position: relative;
      width: 100%;
      min-height: clamp(430px, calc(38 * min(100vw, 1512px) / 100), 560px);
      padding: clamp(34px, calc(3.6 * min(100vw, 1512px) / 100), 58px) clamp(22px, calc(3.4 * min(100vw, 1512px) / 100), 64px);
      /* the figure is absolutely positioned so it can stand on the section's
             bottom edge, but its width is reserved as a grid column, so the copy can
             never run into it at any viewport width */
      display: -ms-grid;
      display: grid;
      grid-template-columns: clamp(200px, calc(27 * min(100vw, 1512px) / 100), 420px) minmax(0, 1fr);
      column-gap: clamp(18px, calc(2.6 * min(100vw, 1512px) / 100), 56px);
      align-items: center;
      box-sizing: border-box;
      overflow: hidden;
      color: #ffffff;
      font-family: "Roboto", Arial, sans-serif;
      background: linear-gradient( 118deg, #0b4f79 0%, #0a3c64 44%, #012a4a 100%);
  }

  .service-streaming-hw2-section *,
  .service-streaming-hw2-section *::before,
  .service-streaming-hw2-section *::after {
      box-sizing: border-box;
  }


  /* ---- the figure, scaled to the section's height ------------------------- */

  .service-streaming-hw2-figure {
      position: absolute;
      top: 0;
      bottom: 0;
      left: clamp(-30px, calc(-1.6 * min(100vw, 1512px) / 100), 0px);
      width: clamp(200px, calc(27 * min(100vw, 1512px) / 100), 420px);
      margin: 0;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: flex-end;
      align-items: flex-end;
      pointer-events: none;
      filter: drop-shadow(0 20px 46px rgba(0, 14, 28, 0.58));
  }

  .service-streaming-hw2-figure img {
      display: block;
      width: 100%;
      height: 100%;
      max-width: none;
      object-fit: contain;
      object-position: bottom left;
  }



  /* ---- the text block, vertically centred beside her --------------------- */

  .service-streaming-hw2-inner {
      position: relative;
      z-index: 2;
      grid-column: 2;
      width: 100%;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
      flex-direction: column;
      gap: clamp(20px, calc(2.4 * min(100vw, 1512px) / 100), 34px);
  }

  .service-streaming-hw2-eyebrow {
      margin: 0;
      font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
      font-size: 16px;
      font-weight: 500;
      letter-spacing: 0.26em;
      line-height: 1.4;
      text-transform: uppercase;
      color: #FFF;
  }

  .service-streaming-hw2-title {
      margin: 10px 0 0;
      font-family: "Antonio", "Arial Narrow", Arial, sans-serif;
      font-weight: 700;
      font-size: clamp(40px, calc(4.4 * min(100vw, 1512px) / 100), 72px);
      line-height: 0.88;
      letter-spacing: -0.012em;
      text-transform: uppercase;
      color: #ffffff;
  }


  /* ---- the two lists ----------------------------------------------------- */

  .service-streaming-hw2-cols {
      display: -ms-grid;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: clamp(24px, calc(3.4 * min(100vw, 1512px) / 100), 62px);
  }

  .service-streaming-hw2-col-title {
      margin: 0;
      padding-bottom: 12px;
      font-family: "Antonio", "Arial Narrow", Arial, sans-serif;
      font-weight: 700;
      font-size: clamp(20px, calc(1.5 * min(100vw, 1512px) / 100), 27px);
      line-height: 0.88;
      letter-spacing: -0.012em;
      text-transform: uppercase;
      color: #8fddff;
      border-bottom: 1px solid rgba(163, 222, 255, 0.3);
      display: block;
  }

  .service-streaming-hw2-list {
      margin: 0;
      padding: 0;
      list-style: none;
  }

  .service-streaming-hw2-list li {
      display: -ms-grid;
      display: grid;
      grid-template-columns: 38px minmax(0, 1fr);
      gap: 12px;
      align-items: baseline;
      padding: 15px 0;
      border-bottom: 1px solid rgba(163, 222, 255, 0.14);
  }

  .service-streaming-hw2-list li:last-child {
      border-bottom: 0;
  }

  .service-streaming-hw2-num {
      font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
      font-size: 16px;
      letter-spacing: 0.1em;
      color: #FFF;
  }

  .service-streaming-hw2-item {
      font-family: "Antonio", "Arial Narrow", Arial, sans-serif;
      font-weight: 400;
      font-size: clamp(17px, calc(1.42 * min(100vw, 1512px) / 100), 23px);
      line-height: 1.22;
      letter-spacing: 0.005em;
      color: #eaf6ff;
  }


  /* ---- tablet and phone --------------------------------------------------- */

  @media (max-width: 900px) {
      .service-streaming-hw2-section {
          display: flex;
          align-items: stretch;
      }

      .service-streaming-hw2-figure {
          width: 50%;
          margin: 0;
      }

      /* .service-streaming-hw2-figure img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
      } */

      .service-streaming-hw2-section {
          min-height: 0;
          padding: 26px 18px 0;
          grid-template-columns: minmax(0, 1fr);
          column-gap: 0;
          -webkit-align-items: flex-start;
          align-items: flex-start;
      }
      .service-streaming-hw2-figure {
          top: auto;
          left: -8%;
          /* width: clamp(215px, 55vw, 330px); */
          /* height: clamp(230px, 56vw, 360px); */
          /* width: 100%; */
          width: 58%;
          height: 100%;
      }
      .service-streaming-hw2-inner {
          grid-column: 1;
          gap: 18px;
          padding-bottom: clamp(195px, 50vw, 320px);
          padding-bottom: unset;
          width: 50%;
          margin-left: auto;
      }
      .service-streaming-hw2-title {
          font-size: clamp(38px, 10.5vw, 62px);
      }
      .service-streaming-hw2-cols {
          grid-template-columns: 1fr;
          gap: 22px;
      }
      .service-streaming-hw2-item {
          font-size: 17px;
      }
  }

  @media (max-width: 420px) {
      .service-streaming-hw2-list li {
          grid-template-columns: 30px minmax(0, 1fr);
          gap: 10px;
          padding: 13px 0;
      }
      .service-streaming-hw2-item {
          font-size: 16px;
      }

  }


  /* =========================================================================
         STREAMING HERO  -  rebuilt
         -------------------------------------------------------------------------
         Diagonal cyan seam, type on one side, the six-tile graphic on the other at
         about a third of its old size. The tiles keep the page's own construction:
         six quarter-width tiles in a four-column stagger, the same 404% / 202%
         slicing, the same border, blue tint and glow.

         The background is one gradient across the whole section, taken from the
         right-hand side, so the seam is a line of light rather than a colour change.

         All new class names, prefixed .service-streaming-hero2-, so nothing here can
         reach the old .service-streaming-* hero rules or any other section.
         ========================================================================= */

  .service-streaming-hero2-section {
      position: relative;
      width: 100%;
      min-height: clamp(360px, calc(29 * min(100vw, 1512px) / 100), 452px);
      padding: clamp(30px, calc(3.4 * min(100vw, 1512px) / 100), 54px) clamp(22px, calc(3.4 * min(100vw, 1512px) / 100), 62px);
      display: -ms-grid;
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      align-items: center;
      box-sizing: border-box;
      overflow: hidden;
      color: #ffffff;
      font-family: "Roboto", Arial, sans-serif;
      background: linear-gradient( 101deg, #053f69 0%, #00223f 100%);
  }

  .service-streaming-hero2-section *,
  .service-streaming-hero2-section *::before,
  .service-streaming-hero2-section *::after {
      box-sizing: border-box;
  }


  /* ---- the seam ----------------------------------------------------------- */

  .service-streaming-hero2-seam {
      position: absolute;
      inset: 0;
      pointer-events: none;
      background: linear-gradient( 95deg, transparent calc(40% - 1.5px), rgba(127, 220, 255, 0.42) calc(40% - 1.5px), rgba(127, 220, 255, 0.42) calc(40% + 1.5px), transparent calc(40% + 1.5px));
      filter: drop-shadow(0 0 7px rgba(9, 182, 255, 0.4));
  }


  /* ---- the type ----------------------------------------------------------- */

  .service-streaming-hero2-body {
      position: relative;
      z-index: 2;
      max-width: min(552px, 37.5%);
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
      flex-direction: column;
      gap: 15px;
  }

  .service-streaming-hero2-eyebrow {
      margin: 0;
      font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
      font-size: 16px;
      font-weight: 500;
      letter-spacing: 0.26em;
      line-height: 1.4;
      text-transform: uppercase;
      color: #FFF;
  }

  .service-streaming-hero2-title {
      margin: 0;
      font-family: "Antonio", "Arial Narrow", Arial, sans-serif;
      font-weight: 700;
      font-size: clamp(46px, calc(5.7 * min(100vw, 1512px) / 100), 92px);
      line-height: 0.86;
      letter-spacing: -0.012em;
      text-transform: uppercase;
  }

  .service-streaming-hero2-title span {
      display: block;
      line-height: 1 !important;
  }

  .service-streaming-hero2-outline {
      color: transparent;
      -webkit-text-stroke: 1.6px rgba(255, 255, 255, 0.88);
      paint-order: stroke fill;
  }

  .service-streaming-hero2-copy {
      margin: 0;
      font-size: 17.5px;
      line-height: 1.62;
      color: rgba(219, 236, 250, 0.82);
  }

  .service-streaming-hero2-copy-dim {
      color: rgba(219, 236, 250, 0.82);
      display: none;
  }


  /* ---- the tile graphic --------------------------------------------------- */

  .service-streaming-hero2-tiles {
      position: absolute;
      z-index: 2;
      top: 14px;
      bottom: 14px;
      right: clamp(16px, calc(2.2 * min(100vw, 1512px) / 100), 40px);
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: center;
      -webkit-justify-content: flex-end;
      justify-content: flex-end;
      pointer-events: none;
  }

  .service-streaming-hero2-mosaic {
      position: relative;
      height: 100%;
      width: auto;
      aspect-ratio: 1425 / 848;
  }

  .service-streaming-hero2-mosaic i {
      position: absolute;
      width: calc((100% - 18px) / 4);
      height: calc((100% - 6px) / 2);
      background-image: linear-gradient( rgba(42, 151, 239, 0.18), rgba(42, 151, 239, 0.18)), url("../images/service-streaming-header.png");
      background-repeat: no-repeat;
      background-size: 404% 202%;
      border: 1px solid rgba(195, 231, 255, 0.8);
      box-sizing: border-box;
      overflow: hidden;
      box-shadow: 1px -2px 5px rgba(255, 255, 255, 0.7), 8px -8px 20px rgba(18, 144, 255, 0.6);
  }

  .service-streaming-hero2-mosaic i:nth-child(1) {
      left: 0;
      top: 0;
      background-position: 0% 0%;
  }

  .service-streaming-hero2-mosaic i:nth-child(2) {
      left: calc(25% + 1.5px);
      top: 0;
      background-position: 33.33% 0%;
  }

  .service-streaming-hero2-mosaic i:nth-child(3) {
      left: calc(50% + 3px);
      top: 0;
      background-position: 66.66% 0%;
  }

  .service-streaming-hero2-mosaic i:nth-child(4) {
      left: calc(25% + 1.5px);
      bottom: 0;
      background-position: 33.33% 100%;
  }

  .service-streaming-hero2-mosaic i:nth-child(5) {
      left: calc(50% + 3px);
      bottom: 0;
      background-position: 66.66% 100%;
  }

  .service-streaming-hero2-mosaic i:nth-child(6) {
      right: 0;
      bottom: 0;
      background-position: 100% 100%;
  }


  /* Above 1300 the section's height is what limits the graphic and it fills the
         full height. From 901 to 1300 the width runs out first, so it is driven by
         width instead and keeps clear of the copy. */

  @media (min-width: 901px) and (max-width: 1300px) {
      .service-streaming-hero2-tiles {
          width: 52%;
          max-width: 52%;
      }
      .service-streaming-hero2-mosaic {
          height: auto;
          width: 100%;
      }
  }


  /* ---- tablet and phone --------------------------------------------------- */

  @media (max-width: 900px) {
      .service-streaming-hero2-section {
          min-height: 0;
          padding: 26px 18px 30px;
          gap: 22px;
      }
      .service-streaming-hero2-seam {
          background: linear-gradient( 176deg, transparent calc(52% - 1.5px), rgba(127, 220, 255, 0.42) calc(52% - 1.5px), rgba(127, 220, 255, 0.42) calc(52% + 1.5px), transparent calc(52% + 1.5px));
      }
      .service-streaming-hero2-body {
          max-width: none;
      }
      .service-streaming-hero2-title {
          font-size: clamp(40px, 11vw, 70px);
      }
      .service-streaming-hero2-tiles {
          position: relative;
          top: auto;
          bottom: auto;
          right: auto;
          display: block;
      }
      .service-streaming-hero2-mosaic {
          height: auto;
          width: 100%;
      }
  }


  /* ==============================
     R-BOX SERVICE SECTION
     ============================== */

  .r-box-service {
      --r-box-service-image: none;
      position: relative;
      display: grid;
      grid-template-columns: 49% 49.5%;
      width: 100%;
      max-width: 1512px;
      min-height: 421px;
      height: 400px;
      margin: 0 auto;
      overflow: hidden;
      background: linear-gradient( 116.51deg, #034e7f 51.39%, #001c2d 84.54%);
  }


  /* ==============================
     LEFT IMAGE AREA
     ============================== */

  .r-box-service__visual {
      position: relative;
      width: 100%;
      min-height: 421px;
      height: 400px;
      overflow: hidden;
  }


  /* faded duplicate image in background */


  /* main foreground image */

  .r-box-service__visual::after {
      content: "";
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      background-image: linear-gradient( 90deg, rgba(0, 45, 74, 0.12) 0%, rgba(1, 108, 176, 0.18) 83.35%), var(--r-box-service-image);
      background-repeat: no-repeat;
      background-size: auto 100%;
      background-position: left bottom;
  }


  /* ==============================
     RIGHT CONTENT
     ============================== */

  .r-box-service__content {
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      width: 100%;
      max-width: none;
      padding: 2px 0 38px 30px;
  }


  /* ==============================
     HEADING
     ============================== */

  .r-box-service__title-wrap {
      position: relative;
      width: 100%;
      margin-bottom: 37px;
      margin-top: 20px;
  }

  .r-box-service__title {
      position: relative;
      z-index: 2;
      margin: 0;
      font-family: "Antonio", sans-serif;
      font-size: clamp(100px, 10.42vw, 81px);
      font-weight: 700;
      line-height: 0.94 !important;
      letter-spacing: -0.04em;
      color: #ffffff;
  }


  /* Figma-style shadow / offset duplicate */

  .r-box-service__title::before {
      content: "R-Box\A Pearl";
      white-space: pre;
      position: absolute;
      z-index: -1;
      top: 13px;
      left: -10px;
      width: 100%;
      font: inherit;
      line-height: inherit;
      letter-spacing: inherit;
      color: rgba(255, 255, 255, 0.12);
  }

  .r-box-service__title span {
      display: block;
      line-height: 0.95 !important;
  }


  /* ==============================
     DESCRIPTION
     ============================== */

  .r-box-service__description {
      width: 100%;
      max-width: 461px;
      margin: 0;
      font-family: "Roboto", sans-serif;
      font-size: 19px;
      font-weight: 500;
      line-height: 1.29;
      color: #ffffff;
  }


  /* ==============================
     RESPONSIVE
     ============================== */

  @media (max-width: 1200px) {
      .r-box-service {
          min-height: 560px;
          grid-template-columns: 58% 42%;
      }
      .r-box-service__visual {
          min-height: 560px;
      }
      .r-box-service__content {
          max-width: 390px;
          padding-right: 30px;
      }
      .r-box-service__title {
          font-size: clamp(100px, 10vw, 135px);
      }
      .r-box-service__description {
          font-size: 20px;
          line-height: 1.35;
      }
  }

  @media (max-width: 900px) {
      .r-box-service {
          grid-template-columns: 1fr;
          min-height: auto;
      }
      .r-box-service__visual {
          min-height: 520px;
      }
      .r-box-service__visual::after {
          width: 100%;
          background-size: auto 100%;
      }
      .r-box-service__visual::before {
          transform: translateX(40%);
      }
      .r-box-service__content {
          max-width: none;
          padding: 45px 40px 55px;
      }
      .r-box-service__title {
          /* font-size: clamp(90px, 18vw, 140px); */
          font-size: clamp(90px, 18vw, 100px);
      }
      .r-box-service-android__download-image {
        width: 100% !important;
      }
      .r-box-service__description {
          max-width: 600px;
          font-size: 20px;
      }
  }

  @media (max-width: 600px) {
      .service-streaming-hw2-figure {
          height: clamp(230px, 56vw, 360px);
          width: clamp(215px, 55vw, 330px);
          display: none;
      }
      .service-streaming-hw2-inner{
          /* padding-bottom: clamp(195px, 50vw, 320px) !important; */
          width: 100%;
      }
      .r-box-service__visual {
          min-height: 390px;
      }
      .r-box-service__visual::before {
          transform: translateX(32%);
      }
      .r-box-service__content {
          padding: 36px 24px 45px;
      }
      .r-box-service__title-wrap {
          margin-bottom: 25px;
      }
      .r-box-service__title {
          font-size: clamp(78px, 25vw, 110px);
      }
      .r-box-service__title::before {
          top: 8px;
          left: -6px;
      }
      .r-box-service__description {
          font-size: 18px;
          line-height: 1.4;
      }
  }


  /* =========================================
     R-BOX SOFTWARE SECTION
     ========================================= */

     .r-box-software {
      --r-box-software-image: none;

      position: relative;
      display: grid;
      grid-template-columns: 49.1% 50.9%;

      width: 100%;
      max-width: 1512px;
      min-height: 700px;
      height: 700px;
      margin: 0 auto;
      overflow: hidden;

      font-family: "Roboto", sans-serif;

      /* ONE image for the entire section */
      background-image: var(--r-box-software-image);
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
  }
  .r-box-software__image {
      position: relative;
      overflow: hidden;
      background: transparent;
  }

  /* =========================================
     LEFT SIDE
     ========================================= */

     .r-box-software__left {
      position: relative;
      min-height: 827px;
      overflow: hidden;

      /* IMPORTANT */
      background: transparent;
  }




  /* dark blue overlay */

  .r-box-software__left::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient( 90deg, rgba(0, 34, 55, 0.93) 0%, rgba(0, 42, 67, 0.78) 55%, rgba(0, 35, 56, 0.88) 100%);
      pointer-events: none;
  }

  .r-box-software__content {
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      width: 100%;
      max-width: 610px;
      padding: 130px 50px 60px 76px;
  }

  .r-box-software__eyebrow {
      margin: 0 0 -26px;
      font-family: "Antonio", sans-serif;
      font-size: 44px;
      font-weight: 700;
      line-height: 1;
      letter-spacing: 0.01em;
      color: #ffffff;
  }

  .r-box-software__title {
      margin: 0 0 15px;
      font-family: "Antonio", sans-serif;
      font-size: clamp(115px, 10.5vw, 158px);
      font-weight: 700;
      line-height: 0.92;
      letter-spacing: -0.035em;
      color: #ffffff;
  }

  .r-box-software__description {
      width: 100%;
      max-width: 470px;
      margin: 0;
      font-family: "Roboto", sans-serif;
      font-size: 22px;
      font-weight: 600;
      line-height: 1.3;
      color: #ffffff;
  }


  /* =========================================
     RIGHT SIDE
     ========================================= */

  .r-box-software__right {
      display: grid;
      grid-template-rows: 73.5% 11.5%;
      min-height: 627px;
  }




  /* blue image overlay */

  .r-box-software__image::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient( 90deg, rgba(0, 117, 189, 0.56) 0%, rgba(0, 107, 175, 0.52) 50%, rgba(0, 70, 112, 0.5) 100%);
      mix-blend-mode: normal;
  }


  /* =========================================
     DOWNLOAD BAR
     ========================================= */

  .r-box-software__download {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 25px 35px;
      background: linear-gradient( 110deg, #0874b4 0%, #00699f 46%, #003754 100%);
      text-align: center;
  }

  .r-box-software__download span {
      font-family: "Roboto", sans-serif;
      font-size: 35px;
      font-weight: 700;
      line-height: 1.2;
      color: #ffffff;
  }


  /* =========================================
     RESPONSIVE
     ========================================= */

  @media (max-width: 1200px) {
      .r-box-software {
          min-height: 700px;
      }
      .r-box-software__left,
      .r-box-software__right {
          /* min-height: 700px; */
      }
      .r-box-software__content {
          padding: 115px 40px 50px 55px;
      }
      .r-box-software__eyebrow {
          font-size: 36px;
          margin-bottom: 25px;
      }
      .r-box-software__title {
          font-size: clamp(95px, 10vw, 135px);
          margin-bottom: 50px;
      }
      .r-box-software__description {
          max-width: 420px;
          font-size: 19px;
      }
      .r-box-software__download span {
          font-size: 29px;
      }
  }

  @media (max-width: 900px) {
      .r-box-software {
          display: flex;
          flex-direction: column;
          min-height: auto;
      }
      .r-box-software__left {
          min-height: 650px;
      }
      .r-box-software__right {
          min-height: auto;
          grid-template-rows: 520px auto;
      }
      .r-box-software__content {
          max-width: 650px;
          padding: 90px 45px 70px;
      }
      .r-box-software__eyebrow {
          font-size: 38px;
      }
      .r-box-software__title {
          font-size: clamp(100px, 20vw, 145px);
      }
      .r-box-software__description {
          max-width: 550px;
          font-size: 20px;
      }
      .r-box-software__download {
          min-height: 140px;
      }
  }

  @media (max-width: 600px) {
      .r-box-software__left {
          min-height: 580px;
      }
      .r-box-software__content {
          padding: 65px 24px 55px;
      }
      .r-box-software__eyebrow {
          margin-bottom: 24px;
          font-size: 31px;
      }
      .r-box-software__title {
          margin-bottom: 40px;
          font-size: clamp(76px, 22vw, 110px);
      }
      .r-box-software__description {
          font-size: 17px;
          line-height: 1.4;
      }
      .r-box-software__right {
          grid-template-rows: 390px auto;
      }
      .r-box-software__download {
          min-height: 115px;
          padding: 25px 20px;
      }
      .r-box-software__download span {
          font-size: 24px;
      }
  }

  /* =========================================
     R-BOX SERVICE - WINDOWS DOWNLOAD SECTION
     ========================================= */

     .r-box-service-windows {
      --r-box-service-windows-bg: none;
      --r-box-service-windows-download: none;

      position: relative;
      display: grid;
      grid-template-columns: 49.1% 50.9%;

      width: 100%;
      max-width: 1512px;
      min-height: 700px;
      height: 700px;
      margin: 0 auto;
      overflow: hidden;

      font-family: "Roboto", sans-serif;

      /* ONE CONTINUOUS BACKGROUND IMAGE */
      background-image: var(--r-box-service-windows-bg);
      background-repeat: no-repeat;
      background-size: cover;
  }


  /* =========================================
     LEFT IMAGE
     ========================================= */

  .r-box-service-windows__image {
      position: relative;

      width: 100%;
      min-height: 827px;

      overflow: hidden;

      /* IMPORTANT:
         Background image is on parent only */
      background: transparent;
  }


  /* blue overlay */

  .r-box-service-windows__image::after {
      content: "";

      position: absolute;
      inset: 0;

      background: linear-gradient(
          90deg,
          rgba(13, 134, 201, 0.66) 0%,
          rgba(0, 113, 181, 0.54) 52%,
          rgba(0, 62, 101, 0.48) 100%
      );

      pointer-events: none;
  }


  /* =========================================
     RIGHT SIDE
     ========================================= */

  .r-box-service-windows__content {
      position: relative;

      display: flex;
      align-items: center;
      justify-content: center;

      min-height: 827px;

      overflow: hidden;

      /* IMPORTANT:
         Do not cover the parent background */
      background: transparent;
  }


  /* faded / grayscale treatment
     WITHOUT another background image */

  .r-box-service-windows__content::before {
      content: "";

      position: absolute;
      inset: 0;

      /*
         Filters the SAME continuous parent background.
         No second image is loaded here.
      */
      background: rgba(0, 28, 46, 0.15);

      backdrop-filter: grayscale(1) blur(1px);
      -webkit-backdrop-filter: grayscale(1) blur(1px);

      pointer-events: none;
  }


  /* dark gradient overlay */

  .r-box-service-windows__content::after {
      content: "";

      position: absolute;
      inset: 0;

      background: linear-gradient(
          90deg,
          rgba(9, 67, 99, 0.77) 0%,
          rgba(0, 44, 70, 0.86) 48%,
          rgba(0, 24, 39, 0.96) 100%
      );

      pointer-events: none;
  }


  /* =========================================
     RIGHT INNER CONTENT
     ========================================= */

  .r-box-service-windows__inner {
      position: relative;
      z-index: 2;

      display: flex;
      flex-direction: column;
      align-items: center;

      width: 100%;
      max-width: 680px;

      padding: 0px 40px 80px;

      text-align: center;
  }


  /* =========================================
     SMALL TITLE
     ========================================= */

  .r-box-service-windows__small-title {
      margin: 0 0 2px;
      text-align: left;
      font-family: "Roboto", sans-serif;
      font-size: 29px;
      margin-right: auto;
      font-weight: 600;
      line-height: 1.2;
      color: #ffffff;
  }


  /* =========================================
     WINDOWS DOWNLOAD IMAGE
     ========================================= */

  .r-box-service-windows__download-link {
      display: block;

      width: 100%;
      max-width: 400px;

      margin: 0 0 40px;

      text-decoration: none;
      margin-right: auto;
  }


  .r-box-service-windows__download-image {
      display: block;

      /* width: 100%; */
      width: 58%;
      aspect-ratio: 3.4 / 1;

      /* THIS IS THE WINDOWS DOWNLOAD GRAPHIC,
         NOT THE SECTION BACKGROUND */
      background-image: var(--r-box-service-windows-download);
      background-repeat: no-repeat;
      background-size: contain;
  }


  /* =========================================
     WINDOWS INSTALLATION HEADING
     ========================================= */

  .r-box-service-windows__title {
      margin: 0 0 45px;

      font-family: "Roboto", sans-serif;
      font-size: 50px;
      font-weight: 700;
      line-height: 1.1;

      color: #ffffff;
      display: none !important;
  }


  /* =========================================
     LINKS
     ========================================= */

  .r-box-service-windows__links {
      display: flex;
      flex-direction: column;
      align-items: center;

      width: 100%;

      gap: 18px;
      text-align: left;
  }


  .r-box-service-windows__links a {
      max-width: 620px;

      font-family: "Roboto", sans-serif;
      font-size: 25px;
      font-weight: 400;
      line-height: 1.45;

      color: #ffffff !important;

      text-decoration: none !important;
      text-decoration-thickness: 1px;
      text-underline-offset: 3px;

      transition: opacity 0.2s ease;
  }


  .r-box-service-windows__links a:hover {
      opacity: 0.75;
  }


  /* =========================================
     DOWNLOAD BAR
     ========================================= */

  .r-box-service-windows__download {
      position: relative;
      z-index: 2;

      display: flex;
      align-items: center;
      justify-content: center;

      padding: 25px 35px;

      background: linear-gradient(
          110deg,
          #0874b4 0%,
          #00699f 46%,
          #003754 100%
      );

      text-align: center;
  }


  .r-box-service-windows__download span {
      font-family: "Roboto", sans-serif;
      font-size: 35px;
      font-weight: 700;
      line-height: 1.2;

      color: #ffffff;
  }


  /* =========================================
     RESPONSIVE - 1200PX
     ========================================= */

  @media (max-width: 1200px) {

      .r-box-service-windows {
          min-height: 700px;

          /* SAME SINGLE BACKGROUND */
          background-position: center center;
          background-size: cover;
      }


      .r-box-service-windows__image,
      .r-box-service-windows__content {
          min-height: 700px;
      }


      .r-box-service-windows__inner {
          padding: 70px 35px 65px;
      }


      .r-box-service-windows__small-title {
          font-size: 29px;
      }


      .r-box-service-windows__download-link {
          max-width: 540px;
          margin-bottom: 55px;
      }


      .r-box-service-windows__title {
          margin-bottom: 35px;
          font-size: 40px;
      }


      .r-box-service-windows__links a {
          font-size: 21px;
      }


      .r-box-service-windows__download span {
          font-size: 29px;
      }
  }


  /* =========================================
     RESPONSIVE - TABLET
     ========================================= */

  @media (max-width: 900px) {

      .r-box-service-windows {
          display: flex;
          flex-direction: column;

          min-height: auto;

          /*
           Still only ONE background image.
           It now continues vertically because
           the two areas are stacked.
          */
          background-image: var(--r-box-service-windows-bg);
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center center;
      }


      .r-box-service-windows__image {
          min-height: 600px;

          background: transparent;
      }


      .r-box-service-windows__content {
          min-height: 650px;

          background: transparent;
      }


      .r-box-service-windows__inner {
          max-width: 700px;

          padding: 75px 40px 70px;
      }


      .r-box-service-windows__small-title {
          font-size: 30px;
      }


      .r-box-service-windows__download-link {
          max-width: 580px;
      }


      .r-box-service-windows__title {
          font-size: 42px;
      }


      .r-box-service-windows__links a {
          font-size: 21px;
      }
  }


  /* =========================================
     RESPONSIVE - MOBILE
     ========================================= */

  @media (max-width: 600px) {

      .r-box-service-windows {
          /*
           Keep one continuous image
           across the full mobile section
          */
          background-size: cover;
          background-position: center center;
      }


      .r-box-service-windows__image {
          min-height: 420px;

          background: transparent;
      }


      .r-box-service-windows__content {
          min-height: auto;

          background: transparent;
      }


      .r-box-service-windows__inner {
          padding: 55px 22px 60px;
      }


      .r-box-service-windows__small-title {
          margin-bottom: 20px;

          font-size: 24px;
      }


      .r-box-service-windows__download-link {
          margin-bottom: 45px;
      }


      .r-box-service-windows__title {
          margin-bottom: 32px;

          font-size: 32px;
          line-height: 1.15;
      }


      .r-box-service-windows__links {
          gap: 12px;
      }


      .r-box-service-windows__links a {
          font-size: 17px;
          line-height: 1.5;
      }


      .r-box-service-windows__download {
          min-height: 115px;

          padding: 25px 20px;
      }


      .r-box-service-windows__download span {
          font-size: 24px;
      }
  }
  /* =========================================
     R-BOX SERVICE - ANDROID SECTION
     ========================================= */

     .r-box-service-android {
      --r-box-service-android-bg: none;
      --r-box-service-android-download: none;

      position: relative;

      display: grid;
      grid-template-columns: 49.1% 50.9%;

      width: 100%;
      max-width: 1512px;
      min-height: 700px;
      height: 800px;
      margin: 0 auto;
      overflow: hidden;

      font-family: "Roboto", sans-serif;

      /* ONE CONTINUOUS BACKGROUND IMAGE */
      background-image: var(--r-box-service-android-bg);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
  }


  /* =========================================
     LEFT CONTENT
     ========================================= */

  .r-box-service-android__content {
      position: relative;

      display: flex;
      align-items: center;

      min-height: 827px;

      overflow: hidden;

      /* DO NOT load image again */
      background: transparent;
  }


  /* subtle faded layer on left
     without loading another image */

  .r-box-service-android__content::before {
      content: "";

      position: absolute;
      inset: 0;

      background: rgba(0, 28, 46, 0.16);

      backdrop-filter: grayscale(1);
      -webkit-backdrop-filter: grayscale(1);

      pointer-events: none;
  }


  /* dark overlay */

  .r-box-service-android__content::after {
      content: "";

      position: absolute;
      inset: 0;

      background: linear-gradient(
          90deg,
          rgba(0, 40, 67, 0.96) 0%,
          rgba(0, 47, 77, 0.90) 50%,
          rgba(0, 27, 45, 0.97) 100%
      );

      pointer-events: none;
  }


  /* =========================================
     CONTENT INNER
     ========================================= */

  .r-box-service-android__inner {
      position: relative;
      z-index: 2;

      display: flex;
      flex-direction: column;
      align-items: flex-start;

      width: 100%;
      max-width: 680px;

      padding: 120px 55px 85px 58px;
  }


  /* =========================================
     SMALL HEADING
     ========================================= */

  .r-box-service-android__small-title {
      margin: 0 0 2px;

      font-family: "Roboto", sans-serif;
      font-size: 29px;
      font-weight: 600;
      line-height: 1.2;

      color: #ffffff;
  }


  /* =========================================
     GOOGLE PLAY IMAGE
     ========================================= */

  .r-box-service-android__download-link {
      display: block;

      width: 100%;
      max-width: 400px;

      margin: 0 0 40px;

      text-decoration: none;
  }


  .r-box-service-android__download-image {
      display: block;
      width: 100%;
      width: 58%;
      aspect-ratio: 3.35 / 1;
      /* THIS IS ONLY THE PLAY STORE DOWNLOAD GRAPHIC */
      background-image: var(--r-box-service-android-download);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: left center;
  }


  /* =========================================
     MAIN TITLE
     ========================================= */

  .r-box-service-android__title {
      margin: 0 0 48px;

      font-family: "Roboto", sans-serif;
      font-size: 50px;
      font-weight: 700;
      line-height: 1.1;

      color: #ffffff;
      display: none !important;
  }


  /* =========================================
     LINKS
     ========================================= */

  .r-box-service-android__links {
      display: flex;
      flex-direction: column;

      width: 100%;
      max-width: 625px;

      gap: 18px;
      text-align: left;
  }


  .r-box-service-android__links a {
      font-family: "Roboto", sans-serif;
      font-size: 25px;
      font-weight: 400;
      line-height: 1.45;

      color: #ffffff !important;

      text-decoration: none !important;
      text-decoration-thickness: 1px;
      text-underline-offset: 3px;

      transition: opacity 0.2s ease;
  }


  .r-box-service-android__links a:hover {
      opacity: 0.75;
  }


  /* =========================================
     RIGHT IMAGE AREA
     ========================================= */

  .r-box-service-android__image {
      position: relative;

      min-height: 827px;

      overflow: hidden;

      /* IMPORTANT:
         No second background image here */
      background: transparent;
  }


  /* blue overlay */

  .r-box-service-android__image::after {
      content: "";

      position: absolute;
      inset: 0;

      background: linear-gradient(
          90deg,
          rgba(0, 93, 181, 0.48) 0%,
          rgba(0, 92, 213, 0.50) 55%,
          rgba(0, 48, 120, 0.52) 100%
      );

      pointer-events: none;
  }


  /* =========================================
     RESPONSIVE - 1200PX
     ========================================= */

  @media (max-width: 1200px) {

      .r-box-service-android {
          min-height: 700px;

          background-size: cover;
          background-position: center center;
      }


      .r-box-service-android__content,
      .r-box-service-android__image {
          min-height: 700px;
      }


      .r-box-service-android__inner {
          padding: 90px 40px 65px 45px;
      }


      .r-box-service-android__small-title {
          font-size: 29px;
      }


      .r-box-service-android__download-link {
          max-width: 540px;
          margin-bottom: 58px;
      }


      .r-box-service-android__title {
          margin-bottom: 38px;
          font-size: 40px;
      }


      .r-box-service-android__links a {
          font-size: 21px;
      }
  }


  /* =========================================
     TABLET
     ========================================= */

  @media (max-width: 900px) {

      .r-box-service-android {
          display: flex;
          flex-direction: column;

          min-height: auto;

          /* SAME SINGLE BACKGROUND IMAGE */
          background-image: var(--r-box-service-android-bg);
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center center;
      }


      .r-box-service-android__content {
          min-height: 650px;

          background: transparent;
      }


      .r-box-service-android__image {
          min-height: 550px;

          background: transparent;
      }


      .r-box-service-android__inner {
          max-width: 700px;

          padding: 75px 40px 70px;
      }


      .r-box-service-android__small-title {
          font-size: 30px;
      }


      .r-box-service-android__download-link {
          max-width: 580px;
      }


      .r-box-service-android__title {
          font-size: 42px;
      }


      .r-box-service-android__links a {
          font-size: 21px;
      }
  }


  /* =========================================
     MOBILE
     ========================================= */

  @media (max-width: 600px) {

      .r-box-service-android {
          background-size: cover;
          background-position: center center;
      }


      .r-box-service-android__content {
          min-height: auto;

          background: transparent;
      }


      .r-box-service-android__inner {
          padding: 55px 22px 60px;
      }


      .r-box-service-android__small-title {
          margin-bottom: 20px;

          font-size: 24px;
      }


      .r-box-service-android__download-link {
          margin-bottom: 45px;
      }


      .r-box-service-android__title {
          margin-bottom: 32px;

          font-size: 32px;
          line-height: 1.15;
      }


      .r-box-service-android__links {
          gap: 12px;
      }


      .r-box-service-android__links a {
          font-size: 17px;
          line-height: 1.5;
      }


      .r-box-service-android__image {
          min-height: 420px;

          background: transparent;
      }
  }


  /* =========================================
     R-BOX HARDWARE SECTION
     ========================================= */

  .r-box-hardware {
      position: relative;
      width: 100%;
      max-width: 1512px;
      margin: 0 auto;
      overflow: hidden;
      font-family: "Roboto", sans-serif;
      background: linear-gradient( 112deg, #17aae2 0%, #098ac1 39%, #005f8c 66%, #00354f 100%);
      color: #ffffff;
  }


  /* =========================================
     MAIN AREA
     ========================================= */

  .r-box-hardware__main {
      display: grid;
      grid-template-columns: 50.5% 49.5%;
      min-height: 720px;
  }


  /* =========================================
     LEFT PRODUCT AREA
     ========================================= */

  .r-box-hardware__products {
      position: relative;
      min-height: 720px;
      overflow: hidden;
  }

  .r-box-hardware__product-stage {
      position: absolute;
      top: 0;
      left: 0;
      width: 82%;
      height: 100%;
  }


  /* =========================================
     PRODUCT ITEMS
     ========================================= */

  .r-box-hardware__product {
      position: absolute;
      left: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: top 0.65s cubic-bezier(.22, .61, .36, 1), width 0.65s cubic-bezier(.22, .61, .36, 1), height 0.65s cubic-bezier(.22, .61, .36, 1), opacity 0.45s ease, transform 0.65s cubic-bezier(.22, .61, .36, 1);
  }

  .r-box-hardware__product img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
      pointer-events: none;
      filter: drop-shadow( 0 20px 30px rgba(0, 43, 69, 0.14));
  }


  /* inactive top */

  .r-box-hardware__product[data-position="top"] {
      top: 6%;
      width: 185px;
      height: 120px;
      transform: translateX(-50%);
      opacity: 0.56;
  }


  /* ACTIVE */

  .r-box-hardware__product[data-position="center"] {
      top: 25%;
      width: 450px;
      height: 330px;
      transform: translateX(-50%);
      opacity: 1;
      z-index: 5;
  }


  /* inactive bottom */

  .r-box-hardware__product[data-position="bottom"] {
      top: 69%;
      width: 185px;
      height: 120px;
      transform: translateX(-50%);
      opacity: 0.58;
  }


  /* fallback before JS loads */

  .r-box-hardware__product--0 {
      top: 6%;
      width: 185px;
      height: 120px;
      transform: translateX(-50%);
      opacity: 0.56;
  }

  .r-box-hardware__product--1 {
      top: 25%;
      width: 450px;
      height: 330px;
      transform: translateX(-50%);
      opacity: 1;
  }

  .r-box-hardware__product--2 {
      top: 69%;
      width: 185px;
      height: 120px;
      transform: translateX(-50%);
      opacity: 0.58;
  }


  /* =========================================
     VERTICAL HARDWARE TEXT
     ========================================= */

  .r-box-hardware__vertical-text {
      position: absolute;
      top: 52%;
      right: -18px;
      transform: translateY(-50%) rotate(-90deg);
      transform-origin: center;
      font-family: "Antonio", sans-serif;
      font-size: 112px;
      font-weight: 700;
      line-height: 1;
      color: rgba(255, 255, 255, 0.09);
      white-space: nowrap;
      user-select: none;
      pointer-events: none;
  }


  /* =========================================
     RIGHT CONTENT
     ========================================= */

  .r-box-hardware__content {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 90px 70px 80px 25px;
  }

  .r-box-hardware__title {
      margin: 0 0 45px;
  }

  .r-box-hardware__title-small,
  .r-box-hardware__title-large {
      display: block;
      font-family: "Antonio", sans-serif;
      font-weight: 700;
      color: #ffffff;
  }

  .r-box-hardware__title-small {
      margin-bottom: 3px;
      font-size: 60px;
      line-height: 0.95;
      letter-spacing: -0.035em;
  }

  .r-box-hardware__title-large {
      font-size: 126px;
      line-height: 0.88 !important;
      letter-spacing: -0.035em;
  }

  .r-box-hardware__subtitle {
      display: none !important;
      margin: 0 0 38px;
      font-size: 27px;
      font-weight: 700;
      line-height: 1.12;
      color: rgba(255, 255, 255, 0.84);
  }

  .r-box-hardware__description {
      width: 100%;
      max-width: 610px;
      margin: 0;
      font-size: 19px;
      font-weight: 600;
      line-height: 1.4;
      color: #ffffff;
  }


  /* =========================================
     HIGHLIGHTS
     ========================================= */

  .r-box-hardware__highlights {
      display: grid;
      grid-template-columns: 310px 1fr;
      min-height: 321px;
      background: #00557b;
  }

  .r-box-hardware__highlights-title {
      display: flex;
      align-items: center;
      font-size: 39px;
      justify-content: center;
      font-weight: 700;
      flex-direction: column;
      background: #002e45;
      color: #ffffff;
  }


  /* =========================================
     HIGHLIGHTS GRID
     ========================================= */

  .r-box-hardware__highlight-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
      padding: 6px 16px 6px 8px;
  }

  .r-box-hardware__highlight-column {
      display: grid;
      grid-template-rows: repeat(3, 1fr);
      gap: 5px;
  }

  .r-box-hardware__highlight-item {
      display: flex;
      align-items: center;
      min-height: 40px;
      padding: 8px 20px;
      background: rgba(0, 74, 108, 0.48);
      font-size: 18px;
      font-weight: 400;
      line-height: 1.15;
      color: #ffffff;
  }

  .r-box-hardware__highlight-item:hover{
      border: 1px solid #129ada;
      background: #00354e;
      font-weight: 700;
  }


  /* =========================================
     DESKTOP
     ========================================= */

  @media (max-width: 1250px) {
      .r-box-hardware__main,
      .r-box-hardware__products {
          min-height: 650px;
      }
      .r-box-hardware__product[data-position="center"],
      .r-box-hardware__product--1 {
          width: 380px;
          height: 290px;
      }
      .r-box-hardware__title-small {
          font-size: 50px;
      }
      .r-box-hardware__title-large {
          font-size: 104px;
      }
      .r-box-hardware__subtitle {
          font-size: 23px;
      }
      .r-box-hardware__description {
          font-size: 17px;
      }
      .r-box-hardware__vertical-text {
          font-size: 90px;
      }
      .r-box-hardware__highlights {
          grid-template-columns: 260px 1fr;
      }
      .r-box-hardware__highlights-title {
          padding-left: 35px;
          font-size: 36px;
      }
      .r-box-hardware__highlight-item {
          padding: 7px 12px;
          font-size: 15px;
      }
  }


  /* =========================================
     TABLET
     ========================================= */

  @media (max-width: 900px) {
      .r-box-hardware__main {
          grid-template-columns: 1fr;
      }
      .r-box-hardware__products {
          min-height: 680px;
      }
      .r-box-hardware__product-stage {
          width: 100%;
      }
      .r-box-hardware__vertical-text {
          right: -10px;
      }
      .r-box-hardware__content {
          padding: 65px 40px 75px;
      }
      .r-box-hardware__title-small {
          font-size: 47px;
      }
      .r-box-hardware__title-large {
          font-size: 100px;
      }
      .r-box-hardware__highlights {
          grid-template-columns: 1fr;
      }
      .r-box-hardware__highlights-title {
          min-height: 100px;
          padding: 20px 35px;
      }
      .r-box-hardware__highlight-grid {
          grid-template-columns: repeat(2, 1fr);
          padding: 10px;
      }
  }


  /* =========================================
     MOBILE
     ========================================= */

  @media (max-width: 600px) {
      .r-box-hardware__products {
          min-height: 560px;
      }
      .r-box-hardware__product[data-position="top"] {
          width: 135px;
          height: 95px;
      }
      .r-box-hardware__product[data-position="center"] {
          top: 28%;
          width: min(82vw, 360px);
          height: 255px;
      }
      .r-box-hardware__product[data-position="bottom"] {
          top: 74%;
          width: 135px;
          height: 95px;
      }
      .r-box-hardware__vertical-text {
          display: none;
      }
      .r-box-hardware__content {
          padding: 50px 24px 60px;
      }
      .r-box-hardware__title-small {
          font-size: 38px;
      }
      .r-box-hardware__title-large {
          font-size: clamp(64px, 21vw, 92px);
      }
      .r-box-hardware__subtitle {
          margin-bottom: 28px;
          font-size: 21px;
      }
      .r-box-hardware__description {
          font-size: 16px;
      }
      .r-box-hardware__highlight-grid {
          grid-template-columns: 1fr;
      }
      .r-box-hardware__highlights-title {
          min-height: 85px;
          font-size: 34px;
      }
  }
  .rs-play-service {
      position: relative;
      width: 100%;
      min-height: 46vw;
      overflow: hidden;

      background-image: url("../images/rs-play-hero1.png");

      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover;
    }

    .rs-play-service__content {
      position: absolute;
      top: 7.5%;
      left: 5.8%;
      z-index: 2;
      width: 31%;
      max-width: 620px;
      color: #ffffff;
    }

    .rs-play-service__title {
      display: flex;
      flex-direction: column;
      margin: 0;
      font-family: antonio;
      font-size: clamp(110px, 12.4vw, 200px);
      font-weight: 700;
      line-height: 0.91 !important;
      letter-spacing: 1;
      color: #ffffff;
    }

    .rs-play-service__title span {
      display: block;
      white-space: nowrap;
      line-height: 0.9 !important;
    }

    .rs-play-service__description {
      margin: clamp(22px, 3.2vw, 64px) 0 0;
      font-family: Arial, Helvetica, sans-serif;
      font-size: clamp(20px, 1.75vw, 28px);
      font-weight: 500;
      line-height: 1.13 !important;
      letter-spacing: -0.025em;
      color: #ffffff;
    }

    @media (max-width: 1100px) {
      .rs-play-service {
        /* min-height: 62vw; */
        min-height: 30rem;
      }

      .rs-play-service__content {
        top: 11%;
        left: 5%;
        width: 39%;
      }

      .rs-play-service__title {
        font-size: clamp(90px, 13vw, 150px);
      }

      .rs-play-service__description {
        /* font-size: clamp(17px, 2vw, 24px); */
        font-size: clamp(17px, 2vw, 22px);
      }
    }

    @media (max-width: 700px) {
      .about-hero-stage{
          min-height: 24% !important;
      }
      .header-share-icons{
          padding: 9px 4px;
          width: 34px !important;
      }
      .rs-play-service {
        min-height: 120vw;
        background-position: center center;
      }

      .rs-play-service::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
          90deg,
          rgba(0, 0, 0, 0.7) 0%,
          rgba(0, 0, 0, 0.35) 60%,
          rgba(0, 0, 0, 0) 100%
        );
        pointer-events: none;
      }

      .rs-play-service__content {
        top: 10%;
        left: 7%;
        width: 72%;
        max-width: none;
      }

      .rs-play-service__title {
        font-size: clamp(80px, 25vw, 150px);
        line-height: 0.88;
      }

      .rs-play-service__description {
        margin-top: 32px;
        font-size: clamp(17px, 4.5vw, 24px);
        line-height: 1.18;
      }
    }
    .rs-play-service-app {
      position: relative;
      width: 100%;
      min-height: 54.43vw;
      overflow: hidden;

      background:
        radial-gradient(
          circle at 50% 48%,
          #0067c1 0%,
          #005394 38%,
          #00315b 100%
        );
    }


    /* =========================================
       LARGE RS-PLAY BACKGROUND TEXT
    ========================================= */

    .rs-play-service-app__bg-title {
      position: absolute;
      z-index: 1;

      top: -62px;
      left: 0;

      width: 100%;
      margin: 0;

      font-family: "Antonio", Arial, sans-serif;
      font-size: 25.4vw;
      font-weight: 700;
      line-height: 0.95;

      text-align: center;
      letter-spacing: -0.04em;
      text-transform: uppercase;
      white-space: nowrap;

      background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.34) 31.48%,
        rgba(1, 118, 203, 0.34) 86.11%
      );

      -webkit-background-clip: text;
      background-clip: text;

      -webkit-text-fill-color: transparent;
      color: transparent;

      pointer-events: none;
    }


    /* =========================================
       BLUE GLOW BEHIND PHONE
    ========================================= */

    .rs-play-service-app__glow {
      position: absolute;
      z-index: 2;

      width: 40%;
      aspect-ratio: 1.06 / 1;

      left: 50%;
      top: 21%;

      transform: translateX(-50%);

      background: rgba(0, 153, 255, 0.8);
      border-radius: 50%;

      filter: blur(8.9vw);

      pointer-events: none;
    }


    /* =========================================
       CENTER PHONE / DEVICE IMAGE
    ========================================= */

    .rs-play-service-app__device {
      position: absolute;
      z-index: 4;

      width: 42.6%;

      left: 50%;
      top: 25.8%;

      transform: translateX(-50%);
    }

    .rs-play-service-app__device-image {
      display: block;
      width: 100%;
      height: auto;

      object-fit: contain;
    }


    /* =========================================
       INFORMATION CARDS
    ========================================= */

    .rs-play-service-app__card {
      position: absolute;
      z-index: 5;
      box-sizing: border-box;
      display: flex;
      align-items: center;
      padding: 1.25vw;
      background: rgba(2, 148, 255, 0.01);
      border: 1px solid rgba(77, 187, 255, 0.35);
      border-radius: 0.625vw;
      backdrop-filter: blur(3px);
      -webkit-backdrop-filter: blur(3px);
      color: #ffffff;
    }


    /* LEFT CARD */

    .rs-play-service-app__card--left {
      width: 28.55%;
      min-height: 7.45vw;

      left: 2.8%;
      top: 69.5%;
    }


    /* RIGHT CARD */

    .rs-play-service-app__card--right {
      width: 28.55%;
      min-height: 11.72vw;

      right: 2.75%;
      top: 64.7%;
    }


    /* CARD TEXT */

    .rs-play-service-app__card p {
      width: 100%;
      margin: 0;

      font-family: "Roboto", Arial, sans-serif;
      font-style: normal;
      font-weight: 500;

      color: #ffffff;
    }


    /* LEFT TEXT */

    .rs-play-service-app__card--left p {
      font-size: 1.46vw;
      line-height: 1.22;
    }


    /* RIGHT TEXT */

    .rs-play-service-app__card--right p {
      font-size: 1.15vw;
      line-height: 1.36;
    }


    /* =========================================
       LARGE DESKTOP LIMIT
    ========================================= */

    @media (min-width: 1920px) {
      .rs-play-service-app {
        min-height: 995px;
      }

      .rs-play-service-app__bg-title {
        font-size: 422px;
      }

      .rs-play-service-app__glow {
        width: 770px;
        filter: blur(172px);
      }

      .rs-play-service-app__device {
        width: 740px;
      }

      .rs-play-service-app__card {
        padding: 22px;
        border-radius: 12px;
      }

      .rs-play-service-app__card--left {
        width: 468px;
        min-height: 116px;
        left: 54px;
      }

      .rs-play-service-app__card--right {
        width: 483px;
        min-height: 180px;
        right: 42px;
      }

      .rs-play-service-app__card--left p {
        font-size: 21px;
        line-height: 1.2 !important;
      }

      .rs-play-service-app__card--right p {
        font-size: 21px;
        line-height: 1.2 !important;
      }
    }


    /* =========================================
       TABLET
    ========================================= */

    @media (max-width: 1024px) {
      .rs-play-service-app {
        min-height: 72vw;
      }

      .rs-play-service-app__bg-title {
        top: 2%;
        font-size: 24vw;
      }

      .rs-play-service-app__device {
        width: 50%;
        top: 20%;
      }

      .rs-play-service-app__glow {
        width: 47%;
        top: 23%;
      }

      .rs-play-service-app__card--left {
        width: 27%;
        left: 3%;
        top: 57%;
      }

      .rs-play-service-app__card--right {
        width: 29%;
        right: 3%;
        top: 61%;
      }

      .rs-play-service-app__card--left p {
        font-size: 1.7vw;
      }

      .rs-play-service-app__card--right p {
        font-size: 1.45vw;
      }
    }


    /* =========================================
       MOBILE
    ========================================= */

    @media (max-width: 700px) {
      .rs-play-service-app {
        min-height: 190vw;
        padding-bottom: 8vw;
      }

      .rs-play-service-app__bg-title {
        top: 3vw;
        font-size: 25vw;
      }

      .rs-play-service-app__glow {
        width: 80%;
        top: 20%;
        filter: blur(20vw);
      }

      .rs-play-service-app__device {
        width: 88%;
        top: 18%;
      }

      .rs-play-service-app__card {
        left: 6%;
        right: auto;

        width: 88%;

        padding: 5vw;

        border-radius: 3vw;
      }

      .rs-play-service-app__card--left {
        top: 61%;
        min-height: auto;
      }

      .rs-play-service-app__card--right {
        top: 76%;
        min-height: auto;
      }

      .rs-play-service-app__card--left p,
      .rs-play-service-app__card--right p {
        font-size: 4vw;
        line-height: 1.4;
      }
      .rs-play-service-download__card{
          padding: 0px;
          border: none !important;
          background: none !important;
          box-shadow: none !important;
      }
      .rs-play-service-download__image-wrap{
          max-width: 285px !important;
          justify-content: center;
          margin: auto;
          margin-bottom: 0px;
      }
      .rs-play-service-download__title{
          display: none;

      }
      .rs-play-service-download__content {
          width: 100%;
          display: none;
      }
    }
    .rs-play-service-download {
      width: 100%;
      box-sizing: border-box;
      padding: 50px 34px 50px;

      background: linear-gradient(180deg, #067CD6 0%, #034170 100%);

    }


    /* =========================================
       INNER GRID
    ========================================= */

    .rs-play-service-download__inner {
      width: 100%;
      max-width: 1855px;
      margin: 0 auto;

      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 20px;
    }


    /* =========================================
       DOWNLOAD CARD
    ========================================= */

    .rs-play-service-download__card {
      position: relative;

      min-height: 504px;

      padding: 57px 42px 40px;

      box-sizing: border-box;

      border: 1px solid rgba(115, 216, 255, 0.65);
      border-radius: 22px;

      background:
        linear-gradient(
          180deg,
          rgba(14, 137, 215, 0.7) 0%,
          rgba(4, 90, 145, 0.76) 100%
        );

      box-shadow:
        inset -10px -10px 30px rgba(0, 39, 73, 0.12),
        0 12px 35px rgba(0, 40, 75, 0.08);

      overflow: hidden;
    }


    /* =========================================
       CARD TITLE
    ========================================= */

    .rs-play-service-download__title {
      margin: 0 0 24px;

      font-family: "Roboto", Arial, sans-serif;
      font-size: 36px;
      font-weight: 700;
      line-height: 1.15;

      color: #ffffff;
    }


    /* =========================================
       IMAGE AREA
    ========================================= */

    .rs-play-service-download__image-wrap {
      width: 100%;
      height: 158px;

      margin-bottom: 35px;

      display: flex;
      align-items: center;
      justify-content: center;

      border-radius: 24px;

      overflow: hidden;

      /* Remove this after adding your image if not required */
      background: transparent;
    }

    .rs-play-service-download__image {
      display: block;

      width: 100%;
      height: 100%;

      object-fit: contain;

      border-radius: 24px;
    }


    /* =========================================
       BOTTOM CONTENT
    ========================================= */

    .rs-play-service-download__content {
      width: 100%;
    }

    .rs-play-service-download__info-title {
      margin: 0 0 12px;

      font-family: "Roboto", Arial, sans-serif;
      font-size: 22px;
      font-weight: 700;
      line-height: 1.25;

      color: #ffffff;
    }

    .rs-play-service-download__link {
      display: inline-block;

      font-family: "Roboto", Arial, sans-serif;
      font-size: 18px;
      font-weight: 500;
      line-height: 1.3;

      color: #ffffff !important;

      text-decoration: none;

      word-break: break-word;
    }

    .rs-play-service-download__link:hover {
      text-decoration: underline;
    }


    /* =========================================
       LARGE DESKTOP
    ========================================= */

    @media (min-width: 1600px) {
      .rs-play-service-download__card {
        min-height: 429px;
      }
    }


    /* =========================================
       LAPTOP
    ========================================= */

    @media (max-width: 1400px) {
      .rs-play-service-download {
        padding: 55px 28px 70px;
      }

      .rs-play-service-download__card {
        min-height: 430px;
        padding: 42px 28px 30px;
      }

      .rs-play-service-download__title {
        font-size: 32px;
      }

      .rs-play-service-download__image-wrap {
        height: 130px;
        margin-bottom: 28px;
      }

      .rs-play-service-download__info-title {
        font-size: 21px;
      }

      .rs-play-service-download__link {
        font-size: 17px;
      }
    }


    /* =========================================
       TABLET
    ========================================= */

    @media (max-width: 1024px) {
        .music-Section-visible{
            margin-left: -1px !important;
        }
        .radio-serviceplan-player-section {
            padding: 0px 0 !important;
        }
      .rs-play-service-download__inner {
        grid-template-columns: 1fr;
        gap: 24px;
      }

      .rs-play-service-download__card {
        width: 100%;
        min-height: auto;

        padding: 38px;
      }

      .rs-play-service-download__title {
        font-size: 34px;
      }

      .rs-play-service-download__image-wrap {
        max-width: 530px;
        height: auto;
        min-height: 130px;

        justify-content: flex-start;
      }

      .rs-play-service-download__image {
        max-width: 530px;
        height: auto;
      }

      .rs-play-service-download__info-title {
        font-size: 23px;
      }

      .rs-play-service-download__link {
        font-size: 18px;
      }

    }


    /* =========================================
       MOBILE
    ========================================= */

    @media (max-width: 600px) {
      .rs-play-service-download {
        padding: 35px 18px 45px;
      }

      .rs-play-service-download__inner {
        gap: 18px;
      }

      .rs-play-service-download__card {
        padding: 0px;
        border-radius: 16px;
      }

      .rs-play-service-download__title {
        margin-bottom: 20px;
          display: none;
        font-size: 28px;
      }
      .rs-play-service-download__content{
          display: none;
      }

      .rs-play-service-download__image-wrap {
        min-height: 90px;
        margin-bottom: 0px;
      }

      .rs-play-service-download__info-title {
        margin-bottom: 10px;

        font-size: 19px;
      }

      .rs-play-service-download__link {
        font-size: 15px;
        line-height: 1.4;
      }
    }

  /* =========================================================================
     R-BOX PEARL (rbox.cfm) - MOBILE ONLY
     Added by Claude. Everything below is inside @media (max-width: 767px),
     so 768px and above (tablet, laptop, desktop) is completely untouched.
     Scoped to the .r-box-* classes that rbox.cfm uses. No markup changes.
     ========================================================================= */

  @media (max-width: 767px) {

    /* --- 1. Sections carried a hard pixel height that the mobile
             breakpoints never reset, only min-height. Combined with
             overflow:hidden each one clipped its own content:
             hero 462px, software 385px, windows 550px, android 400px.  --- */
    .r-box-service,
    .r-box-software,
    .r-box-service-windows,
    .r-box-service-android {
      height: auto;
      min-height: 0;
    }

    /* the 827px decorative minimums belong to the two-column desktop
       composition and mean nothing once the panels are stacked          */
    .r-box-software__left,
    .r-box-software__right,
    .r-box-service-windows__content,
    .r-box-service-android__content {
      min-height: 0;
    }


    /* --- 2. Grid and flex children could not shrink below their longest
             word, so .r-box-hardware__main sat 507px wide in a 390px
             screen and the page scrolled sideways.                      --- */
    .r-box-hardware__main { grid-template-columns: minmax(0, 1fr); }
    .r-box-hardware__main, .r-box-hardware__products {
        min-height: 614px;
        padding: 28px 0px;
    }
    .r-box-hardware__products,
    .r-box-hardware__content,
    .r-box-software__content,
    .r-box-software__left,
    .r-box-software__right,
    .r-box-service__content,
    .r-box-service-windows__inner,
    .r-box-service-android__inner { min-width: 0; }


    /* --- 3. "SOFTWARE" and "HARDWARE" are single unbreakable words that
             were set larger than the screen. Size them from the space
             that is actually available.                                 --- */
    .r-box-software__title       { font-size: clamp(44px, 9vw, 135px); }
    .r-box-hardware__title-large { font-size: clamp(44px, 8.6vw, 126px); }

    .r-box-service-windows__links a,
    .r-box-service-android__links a,
    .r-box-software__description,
    .r-box-hardware__description,
    .r-box-service__description { overflow-wrap: break-word; }


    /* --- 4. The photograph is set on the SECTION with
             background-size: cover. Once the section stacks and grows
             tall, cover zooms the picture and each panel shows a flat,
             washed-out crop. Give every band its own framed copy.       --- */
    .r-box-software__image {
      background-image: var(--r-box-software-image);
      background-size: cover;
      background-position: center;
    }
    .r-box-service-windows__image {
      background-image: var(--r-box-service-windows-bg);
      background-size: cover;
      background-position: center;
    }
    .r-box-service-android__image {
      background-image: var(--r-box-service-android-bg);
      background-size: cover;
      background-position: center;
    }

    /* the tint was tuned for a tall narrow desktop panel; at band
       proportions it flattens the photograph                            */
    .r-box-software__image::after {
      background: linear-gradient(90deg, rgba(0,117,189,.30) 0%, rgba(0,107,175,.26) 50%, rgba(0,70,112,.30) 100%);
    }
    .r-box-service-windows__image::after {
      background: linear-gradient(90deg, rgba(13,134,201,.34) 0%, rgba(0,113,181,.28) 52%, rgba(0,62,101,.30) 100%);
    }
    .r-box-service-android__image::after {
      background: linear-gradient(90deg, rgba(0,93,181,.28) 0%, rgba(0,92,213,.26) 55%, rgba(0,48,120,.30) 100%);
    }


    /* --- 5. Layout: the same order and proportions as today, with the
             photo bands cut to a deliberate ratio.                      --- */

    /* hero */
    .r-box-service__visual        { min-height: 0; aspect-ratio: 16 / 11; }
    .r-box-service__visual::after { background-size: cover; background-position: center 30%; }
    .r-box-service__content       { padding: 38px 24px 42px; }
    .r-box-service__title-wrap    { margin-top: 0; margin-bottom: 22px; }
    .r-box-service__title         { font-size: clamp(60px, 16vw, 130px); }

    /* software */
    .r-box-software__image         { min-height: 0; aspect-ratio: 16 / 11; }
    .r-box-software__right         { grid-template-rows: auto auto; }
    .r-box-software__content       { padding: 40px 24px 44px; max-width: none; }
    .r-box-software__eyebrow       { margin-bottom: -2px; font-size: 30px; }
    .r-box-software__title         { margin-bottom: 20px; }
    .r-box-software__download      { min-height: 0; padding: 20px; }
    .r-box-software__download span { font-size: 21px; }

    /* windows and android */
    .r-box-service-windows__image,
    .r-box-service-android__image { min-height: 0; aspect-ratio: 16 / 11; }

    .r-box-service-windows__inner,
    .r-box-service-android__inner { padding: 36px 24px 40px; max-width: none; align-items: flex-start; }

    .r-box-service-windows__small-title,
    .r-box-service-android__small-title { margin-bottom: 16px; font-size: 25px; }

    .r-box-service-windows__download-link,
    .r-box-service-android__download-link { max-width: 320px; margin-bottom: 26px; }

    /* hardware */
    .r-box-hardware__products         { min-height: 0; height: 66vw; max-height: 400px; }
    .r-box-hardware__content          {
         /* padding: 38px 24px 42px;  */
         padding: 0px 0px 0px;
    }
    .r-box-hardware__title            { margin-bottom: 22px; }
    .r-box-hardware__title-small      { font-size: 34px; }
    .r-box-hardware__highlights-title { padding: 24px; }


    /* --- 6. Touch targets. The two help links were 51px tall with no
             padding of their own; the User Guide button measured
             98.5 x 27px.                                                --- */
    .r-box-service-windows__links,
    .r-box-service-android__links { gap: 4px; }

    .r-box-service-windows__links a,
    .r-box-service-android__links a { display: block; padding: 12px 0; }

    .r-box-service-windows__download-link,
    .r-box-service-android__download-link { min-height: 48px; }

    .r-box-hardware__highlights-title .user-guide-btn { min-height: 44px; padding: 10px 24px; }

    .r-box-hardware__highlight-item { min-height: 46px; }


    /* --- 7. The three carousel frames and the watermark were sized in px
             against a stage whose height is now fluid, so the bottom
             thumbnail fell outside it.                                  --- */
    .r-box-hardware__product[data-position="top"],
    .r-box-hardware__product--0 { top: 3%;  width: min(34%, 170px); height: 18%; }

    .r-box-hardware__product[data-position="center"],
    .r-box-hardware__product--1 { top: 25%; width: min(84%, 420px); height: 50%; }

    .r-box-hardware__product[data-position="bottom"],
    .r-box-hardware__product--2 { top: 79%; width: min(34%, 170px); height: 18%; }

    .r-box-hardware__vertical-text { font-size: min(9.5vw, 66px); right: -8px; }

    /* the stage owns the vertical swipe; the page keeps the rest */
    .r-box-hardware__product { touch-action: pan-y; }
  }


  /* --- 8. Narrow phones ------------------------------------------------- */
  @media (max-width: 600px) {
    .r-box-service__visual,
    .r-box-software__image,
    .r-box-service-windows__image,
    .r-box-service-android__image { aspect-ratio: 3 / 2; }

    .r-box-service__content,
    .r-box-software__content,
    .r-box-service-windows__inner,
    .r-box-service-android__inner,
    .r-box-hardware__content { padding-left: 20px; padding-right: 20px; }

    .r-box-hardware__highlights-title { padding-left: 20px; padding-right: 20px; }
    .r-box-hardware__highlight-grid   { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }


  /* --- 9. Hover-only opacity sticks after a tap on touch ---------------- */
  @media (max-width: 767px) and (hover: none) {
    .r-box-service-windows__links a:hover,
    .r-box-service-android__links a:hover { opacity: 1; }

    .r-box-service-windows__links a:active,
    .r-box-service-android__links a:active { opacity: 0.6; }
  }

  /* --- 10. Reduced motion on the product carousel ----------------------- */
  @media (max-width: 767px) and (prefers-reduced-motion: reduce) {
    .r-box-hardware__product { transition: none !important; }
  }

  /* ============ end R-Box Pearl mobile block ============================= */


  /* =========================================================================
     R-BOX PEARL (rbox.cfm) - TABLET, PORTRAIT ONLY   [Option 1]
     Added by Claude.

     Layout work is confined to 768-900px, the band where the page already
     stacks to one column but every section still held a hard pixel height
     and clipped its own content.

     Nothing here changes 767px and below (the phone block) or 1200px and
     above (desktop). Verified pixel-identical by full-page screenshot diff
     at 320/375/390/414/600/700/767 and 1200/1280/1366/1440/1512.

     The touch-target group at the end covers 768-1199px and is hit-area
     only: verified pixel-identical at 901/960/1024/1180/1194/1199 too.
     ========================================================================= */

  @media (min-width: 768px) and (max-width: 900px) {

    /* heights released: hero 624px, software 610px, windows 550px,
       android 400px of content were being cut                          */
    .r-box-service,
    .r-box-software,
    .r-box-service-windows,
    .r-box-service-android { height: auto; min-height: 0; }

    .r-box-software__left,
    .r-box-software__right,
    .r-box-service-windows__content,
    .r-box-service-android__content { min-height: 0; }

    /* children must be able to shrink below their longest word */
    .r-box-hardware__main { grid-template-columns: minmax(0, 1fr); }
    .r-box-hardware__products,
    .r-box-hardware__content,
    .r-box-software__content,
    .r-box-software__left,
    .r-box-software__right,
    .r-box-service__content,
    .r-box-service-windows__inner,
    .r-box-service-android__inner { min-width: 0; }

    /* "SOFTWARE" was 781px wide in a 768px window */
    .r-box-software__title       { font-size: clamp(64px, 11.5vw, 135px); }
    .r-box-hardware__title-large { font-size: clamp(64px, 11vw, 126px); }

    .r-box-service-windows__links a,
    .r-box-service-android__links a,
    .r-box-software__description,
    .r-box-hardware__description,
    .r-box-service__description { overflow-wrap: break-word; }

    /* the photograph is on the SECTION with background-size: cover, so a
       tall stacked section zooms each panel into a flat crop            */
    .r-box-software__image {
      background-image: var(--r-box-software-image);
      background-size: cover; background-position: center;
    }
    .r-box-service-windows__image {
      background-image: var(--r-box-service-windows-bg);
      background-size: cover; background-position: center;
    }
    .r-box-service-android__image {
      background-image: var(--r-box-service-android-bg);
      background-size: cover; background-position: center;
    }
    .r-box-software__image::after {
      background: linear-gradient(90deg, rgba(0,117,189,.30) 0%, rgba(0,107,175,.26) 50%, rgba(0,70,112,.30) 100%);
    }
    .r-box-service-windows__image::after {
      background: linear-gradient(90deg, rgba(13,134,201,.34) 0%, rgba(0,113,181,.28) 52%, rgba(0,62,101,.30) 100%);
    }
    .r-box-service-android__image::after {
      background: linear-gradient(90deg, rgba(0,93,181,.28) 0%, rgba(0,92,213,.26) 55%, rgba(0,48,120,.30) 100%);
    }

    /* the photograph is set on the SECTION as well as on its own band, so
       the copy panel showed a ghost of the same picture behind the text.
       Make the copy panel opaque so the photograph appears once, and give
       each band its image's own aspect ratio so the whole frame shows
       instead of a crop.                                                */
    .r-box-software                 { background-image: none; background-color: #002237; }
    .r-box-software__left           { background-color: #002237; }
    .r-box-software__image          { aspect-ratio: 3 / 2; }       /* 4096 x 2732 */

    .r-box-service-windows          { background-image: none; background-color: #001827; }
    .r-box-service-windows__content { background-color: #001827; }
    .r-box-service-windows__image   { aspect-ratio: 3 / 2; }       /* 2867 x 1911 */

    .r-box-service-android          { background-image: none; background-color: #001b2d; }
    .r-box-service-android__content { background-color: #001b2d; }
    .r-box-service-android__image   { aspect-ratio: 16 / 9; }      /* 2688 x 1512 */

    /* photo bands at a deliberate ratio, tablet-sized padding */
    .r-box-service__visual        { min-height: 0; aspect-ratio: 16 / 9; }
    .r-box-service__visual::after { background-size: cover; background-position: center 30%; }
    .r-box-service__content       { padding: 52px 44px 56px; }
    .r-box-service__title-wrap    { margin-top: 0; margin-bottom: 26px; }

    .r-box-software__image         { min-height: 0; }
    .r-box-software__right         { grid-template-rows: auto auto; }
    .r-box-software__content       { padding: 54px 44px 58px; max-width: none; }
    .r-box-software__eyebrow       { margin-bottom: -2px; }
    .r-box-software__title         { margin-bottom: 24px; }
    .r-box-software__download      { min-height: 0; padding: 26px 30px; }

    .r-box-service-windows__image,
    .r-box-service-android__image  { min-height: 0; }
    .r-box-service-windows__inner,
    .r-box-service-android__inner  { padding: 48px 44px 52px; max-width: none; align-items: flex-start; }
    .r-box-service-windows__download-link,
    .r-box-service-android__download-link { max-width: 360px; margin-bottom: 30px; }

    .r-box-service-windows__download-link, .r-box-service-android__download-link{
        padding:22px 77px 0px 0px;
    }

    .r-box-hardware__products         { min-height: 0; height: 58vw; max-height: 520px; }
    .r-box-hardware__content          { padding: 52px 44px 56px; }
    .r-box-hardware__highlights-title { padding: 30px 44px; }
    .r-box-hardware__highlight-grid   { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    /* the carousel frames and watermark are px against a now-fluid stage */
    .r-box-hardware__product[data-position="top"],
    .r-box-hardware__product--0 { top: 4%;  width: min(30%, 200px); height: 17%; }
    .r-box-hardware__product[data-position="center"],
    .r-box-hardware__product--1 { top: 26%; width: min(62%, 460px); height: 48%; }
    .r-box-hardware__product[data-position="bottom"],
    .r-box-hardware__product--2 { top: 78%; width: min(30%, 200px); height: 17%; }
    .r-box-hardware__vertical-text { font-size: min(11vw, 96px); }
  }


  /* =====================================================================
     TOUCH TARGETS across the whole tablet band.
     These are hit-area changes only: nothing visible moves or resizes.
     ===================================================================== */
  @media (min-width: 768px) and (max-width: 1199px) {

    /* the two help links were 61px tall, 18px apart, with no padding of
       their own. Absorb the gap into the links: the text sits exactly
       where it does now, the tappable row is 18px taller.              */
    .r-box-service-windows__links,
    .r-box-service-android__links { gap: 0; margin-top: -9px; margin-bottom: -9px; }

    .r-box-service-windows__links a,
    .r-box-service-android__links a { display: block; padding: 9px 0; }

    /* User Guide measured 98.5 x 27px. Extend the hit area with a
       pseudo-element instead of padding, so the button still looks
       exactly as it does today.                                         */
    .r-box-hardware__highlights-title .user-guide-btn { position: relative; }
    .r-box-hardware__highlights-title .user-guide-btn::after {
      content: "";
      position: absolute;
      left: 0; right: 0; top: 50%;
      height: 44px;
      transform: translateY(-50%);
    }

    /* the store badges are the primary action in their sections */
    .r-box-service-windows__download-link,
    .r-box-service-android__download-link { min-height: 48px; }
  }

  /* hover-only opacity sticks after a tap on a touch tablet */
  @media (min-width: 768px) and (max-width: 1199px) and (hover: none) {
    .r-box-service-windows__links a:hover,
    .r-box-service-android__links a:hover { opacity: 1; }
    .r-box-service-windows__links a:active,
    .r-box-service-android__links a:active { opacity: 0.6; }
  }

  @media (min-width: 768px) and (max-width: 1199px) and (prefers-reduced-motion: reduce) {
    .r-box-hardware__product { transition: none !important; }
  }


  /* =========================================================================
     RS-PLAY (r-play.cfm) - DOWNLOAD SECTION, TABLET ONLY
     Added by Claude.

     On phones this section already drops the card frame, the heading and the
     info text and shows only the store badge. This reproduces exactly that
     treatment between 768 and 1199px, with the three badges laid out in a
     row rather than stacked.

     Scoped to the four .rs-play-service-download__* selectors this section
     uses. Nothing at 767px and below, nothing at 1200px and above, and no
     other section on the page is touched.
     ========================================================================= */

  @media (min-width: 768px) and (max-width: 1199px) {

    /* the three badges sit in a row across the whole tablet band.
       Between 768 and 1024 the existing rule drops this grid to one
       column; a tablet has the width for three.                      */
    .rs-play-service-download__inner {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    /* no frame, no fill, no shadow - same as the phone treatment */
    .rs-play-service-download__card {
      min-height: 0;
      padding: 0;
      border: none;
      background: none;
      box-shadow: none;
      border-radius: 16px;
    }

    /* the heading and the installation-info block are hidden on phones */
    .rs-play-service-download__title,
    .rs-play-service-download__content { display: none; }

    /* badge centred at the same size the phone uses */
    .rs-play-service-download__image-wrap {
      max-width: 285px;
      height: auto;
      min-height: 90px;
      margin: 0 auto;
      justify-content: center;
      margin-bottom: 0;
    }

    .rs-play-service-download__image {
      max-width: 285px;
      height: auto;
    }
  }


@media (max-width: 1023px) {
    .clients-stage {
        max-height: 450px;
    }
    .clients-stage .globe-wrap {
        top:10.3%;
        width: 39.9%;
    }
    .clients-left {
        top:9%;
    }
}
@media (max-width: 768px) {
    .clients-stage {
        max-height: 400px;
    }
    .rs-features {
        height: auto !important;
    }
}
@media (max-width: 580px) {
    .clients-stage {
        max-height: 350px;
    }
    .clients-stage .globe-wrap {
        top:13.3%;
        width: 44.9%;
    }
    .clients-left {
        top: 6.2%;
    }
}
@media (max-width: 480px) {
    .clients-stage {
        max-height: 270px;
    }
    .clients-stage .globe-wrap {
        top:14.3%;
        width: 43.9%;
    }
    .clients-left {
        top: 5.8%;
    }
}
@media (max-width: 425px) {
    .clients-stage {
        max-height: 250px;
    }
    .clients-stage .globe-wrap {
        top:10.3%;
    }
    .clients-left {
        top: 5.2%;
    }
}
@media (max-width: 385px) {
    /* .clients-stage {
        max-height: 230px;
    } */
    .clients-stage .globe-wrap {
        top:10.3%;
        width: 49.9%;
    }
    .clients-left {
        top: 4.6%;
    }
}
@media (max-width: 385px) {
    .clients-stage {
        max-height: 210px;
    }
}
/* =========================================
   RADIO SIGNUP SECTION
========================================= */

.radio-signup-section {
    width: 100%;
    min-height: 779px;
    height: auto;
    position: relative;
    display: grid;
    grid-template-columns: 52% 48%;
    gap: 0;
    padding: 20px 53px;
    box-sizing: border-box;
    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            rgba(0, 20, 55, 0.93) 0%,
            rgba(0, 40, 85, 0.55) 42%,
            rgba(0, 39, 92, 0.25) 65%,
            rgba(0, 39, 92, 0.55) 100%
        ),
        url("../images/signup-radio.jpg");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/* =========================================
   LEFT PANEL
========================================= */

.radio-signup-form-panel {
    width: 100%;
    max-width: 954px;
    /* min-height: 693px; */
    display: flex;
    height: 100%;
    align-items: center;
    background: rgba(8, 168, 248, 0.20);
    box-sizing: border-box;
}

.radio-signup-form-content {
    width: 100%;
    max-width: 858px;
    margin: 0 auto;
    padding: 55px 40px;
    box-sizing: border-box;
}


/* Heading */

.radio-signup-heading-wrap {
    margin-bottom: 52px;
}

.radio-signup-main-title {
    margin: 0 0 18px;
    font-family: "Antonio", sans-serif;
    font-size: clamp(64px, 6.4vw, 85px);
    font-weight: 700;
    line-height: 1.1 !important;
    display: block;
    letter-spacing: -0.04em;
    color: #ffffff;
}

.radio-signup-intro {
    margin: 0;
    font-family: "Roboto", sans-serif;
    font-size: 21px;
    font-weight: 400;
    line-height: 1.18 !important;
    color: #ffffff;
}


/* Form */

.radio-signup-form {
    width: 100%;
}

.radio-signup-fields {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.radio-signup-input-wrap {
    width: 100%;
    min-height: 77px;
    display: flex;
    align-items: center;
    gap: 26px;
    padding: 0 24px;
    box-sizing: border-box;

    background: rgba(255, 255, 255, 0.25);
    border-radius: 12px;
}

.radio-signup-input-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.radio-signup-input-icon svg {
    width: 30px;
    height: 30px;
    fill: none;
    stroke: #ffffff;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.radio-signup-input {
    width: 100%;
    height: 77px;
    border: 0;
    outline: 0;
    padding: 0;
    background: transparent;

    font-family: "Roboto", sans-serif;
    font-size: 22px;
    font-weight: 500;
    color: #ffffff;
}

.radio-signup-input::placeholder {
    color: rgba(255, 255, 255, 0.88);
    opacity: 1;
}

.radio-signup-input:-webkit-autofill,
.radio-signup-input:-webkit-autofill:hover,
.radio-signup-input:-webkit-autofill:focus {
    -webkit-text-fill-color: #ffffff;
    -webkit-box-shadow: 0 0 0 1000px transparent inset;
    transition: background-color 9999s ease-in-out 0s;
}


/* Terms */

.radio-signup-terms {
    margin: 22px 0 80px;
    font-family: "Roboto", sans-serif;
    font-size: 22px;
    line-height: 1 !important;
    font-weight: 400;
    color: #ffffff;
}

.radio-signup-terms a {
    color: #ffffff !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* Continue button */

.radio-signup-button {
    width: 100%;
    min-height: 67px;
    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 12px;
    background: #ffffff;

    font-family: "Roboto", sans-serif;
    font-size: 30px;
    line-height: 1;
    font-weight: 600;
    color: #0a8bca;

    cursor: pointer;
    transition:
        transform 0.2s ease,
        background-color 0.2s ease;
}

.radio-signup-button:hover {
    background: #f1faff;
}

.radio-signup-button:active {
    transform: translateY(1px);
}


/* Long form link */

.radio-signup-long-form {
    display: block;
    margin-top: 30px;

    font-family: "Roboto", sans-serif;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 4px;

    color: #ffffff !important;
}


/* =========================================
   RIGHT BENEFITS
========================================= */

.radio-signup-benefits {
    width: 100%;
    margin-top: 0px;
    height: 100%;
    max-width: 800px;
    margin-left: auto;
    padding: 50px 0 20px 60px;
    box-sizing: border-box;
}

.global-section .radio-signup-section .radio-signup-benefits{
    padding: 0px 0 20px 60px;
}


/* Header */

.radio-signup-benefits-header {
    margin-bottom: 40px;
}

.radio-signup-benefits-title {
    margin: 0 0 18px;
    font-family: "Antonio", sans-serif;
    /* font-size: clamp(60px, 4.6vw, 60px); */
    font-size: clamp(67px, 4.4vw, 84px);
    font-weight: 600;
    line-height: 1.2 !important;
    letter-spacing: -0.02em;
    display: block;
    color: #ffffff;
}

.radio-signup-benefits-intro {
    max-width: 800px;
    margin: 0;

    font-family: "Roboto", sans-serif;
    font-size: 22px;
    line-height: 1.2 !important;
    font-weight: 400;

    color: rgba(255, 255, 255, 0.9);
}


/* Get connected */

.radio-signup-connected {
    margin-bottom: 36px;
    display: none !important;
}

.radio-signup-connected-title {
    margin: 0 0 12px;

    font-family: "Roboto", sans-serif;
    font-size: 40px;
    line-height: 1.2;
    font-weight: 600;

    color: #ffffff;
}

.radio-signup-connected-text {
    margin: 0;

    font-family: "Roboto", sans-serif;
    font-size: 20px;
    line-height: 1.2 !important;
    font-weight: 400;

    color: #ffffff;
}


/* Benefits list */

.radio-signup-benefit-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.radio-signup-benefit-item {
    min-height: 74px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 24px;
    box-sizing: border-box;

    background: #001833;
    border-bottom: 2px solid rgba(141, 208, 253, 0.42);
}

.radio-signup-star {
    flex: 0 0 auto;
    color: #03b3ff;
    font-size: 27px;
    line-height: 1;
}

.radio-signup-benefit-item p {
    margin: 0;

    font-family: "Roboto", sans-serif;
    font-size: 19px;
    line-height: 1.4;
    font-weight: 400;

    color: rgba(255, 255, 255, 0.88);
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1400px) {

    .radio-signup-section {
        padding: 36px;
    }

    .radio-signup-form-content {
        padding: 45px 36px;
    }

    .radio-signup-main-title {
        font-size: 82px;
    }

    .radio-signup-benefits {
        padding-left: 45px;
    }

    .radio-signup-benefits-title {
        font-size: 82px;
    }

    .radio-signup-intro,
    .radio-signup-benefits-intro {
        font-size: 20px;
    }

    .radio-signup-input {
        font-size: 23px;
    }

    .radio-signup-terms,
    .radio-signup-long-form {
        font-size: 20px;
    }

    .radio-signup-benefit-item p {
        font-size: 16px;
    }
}


@media (max-width: 991px) {

    .radio-signup-section {
        grid-template-columns: 1fr;
        gap: 50px;
        padding: 30px 24px;

        background-position: 58% center;
    }

    .radio-signup-form-panel {
        max-width: 100%;
        min-height: auto;
        height:auto;
    }

    .radio-signup-benefits {
        max-width: 100%;
        padding: 20px 0;
        margin-top:0;
    }


    .radio-signup-benefits-header {
        margin-bottom: 45px;
    }
}


@media (max-width: 600px) {

    .radio-signup-section {
        padding: 20px 15px;
    }

    .radio-signup-form-content {
        padding: 35px 22px;
    }

    .radio-signup-main-title {
        font-size: 58px;
        line-height: 100% !important;
    }

    .radio-signup-intro {
        font-size: 17px;
    }

    .radio-signup-heading-wrap {
        margin-bottom: 36px;
    }

    .radio-signup-input-wrap {
        min-height: 66px;
        padding: 0 18px;
        gap: 15px;
    }

    .radio-signup-input {
        height: 66px;
        font-size: 18px;
    }

    .radio-signup-input-icon {
        width: 27px;
        height: 27px;
        flex-basis: 27px;
    }

    .radio-signup-input-icon svg {
        width: 24px;
        height: 24px;
    }

    .radio-signup-terms {
        font-size: 15px;
        margin: 18px 0 28px;
    }

    .radio-signup-button {
        min-height: 60px;
        font-size: 22px;
    }

    .radio-signup-long-form {
        margin-top: 23px;
        font-size: 16px;
    }

    .radio-signup-benefits-title {
        font-size: 50px;
    }

    .radio-signup-benefits-intro {
        font-size: 17px;
    }

    .radio-signup-connected-title {
        font-size: 30px;
    }

    .radio-signup-connected-text {
        font-size: 15px;
    }

    .radio-signup-benefit-item {
        min-height: 64px;
        padding: 14px 16px;
    }

    .radio-signup-benefit-item p {
        font-size: 14px;
    }
}
/* =========================================
   RADIO CONTACT SECTION
========================================= */

.radio-contact-section {
    width: 100%;
    min-height: 552px;
    position: relative;

    display: flex;
    justify-content: center;
    align-items: center;

    padding: 60px 30px;
    box-sizing: border-box;

    background:
        linear-gradient(
            rgba(0, 150, 220, 0.12),
            rgba(0, 150, 220, 0.12)
        ),
        url("../images/radio-signup.png");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    font-family: "Roboto", sans-serif;
}


/* =========================================
   CONTACT CARD
========================================= */

.radio-contact-card {
    width: min(990px, 100%);
    min-height: 330px;

    display: flex;
    flex-direction: column;
    align-items: center;

    padding: 42px 55px 40px;
    box-sizing: border-box;

    background:
        linear-gradient(
            110deg,
            rgba(12, 112, 164, 0.88) 0%,
            rgba(15, 166, 220, 0.92) 47%,
            rgba(19, 111, 158, 0.9) 100%
        );

    border: 1px solid rgba(120, 213, 255, 0.45);
    border-radius: 14px;

    box-shadow:
        inset 0 0 38px rgba(255, 255, 255, 0.03),
        0 10px 30px rgba(0, 49, 78, 0.12);
}


/* =========================================
   TITLE
========================================= */

.radio-contact-title {
    margin: 0;

    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    display: none !important;
    color: #ffffff;
    text-align: center;
}


/* =========================================
   DETAILS
========================================= */

.radio-contact-details {
    width: 100%;
    margin-top: 20px;

    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 18px;
}

.radio-contact-phone,
.radio-contact-email {
    margin: 0;

    font-size: 34px;
    line-height: 1.25;
    font-weight: 400;

    color: #ffffff;
    text-align: center;
}

.radio-contact-phone strong {
    font-weight: 700;
}

.radio-contact-email a {
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none;
}

.radio-contact-email a:hover {
    text-decoration: underline;
}


/* =========================================
   COUNTRY BUTTON
========================================= */

.radio-contact-country-btn {
    width: min(310px, 100%);
    min-height: 57px;

    margin-top: 47px;
    padding: 15px 48px 15px 58px;
    box-sizing: border-box;

    display: flex;
    justify-content: center;
    align-items: center;

    position: relative;

    background: rgba(241, 248, 252, 0.92);
    border-radius: 10px;

    text-decoration: none;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

.radio-contact-country-btn:hover {
    background: #ffffff;
}

.radio-contact-country-btn:active {
    transform: translateY(1px);
}

.radio-contact-country-text {
    font-size: 24px;
    line-height: 1.25;
    font-weight: 700;

    color: #07394d;
    text-align: center;
}


/* Triangle arrow */

.radio-contact-arrow {
    position: absolute;
    right: 50px;
    top: 50%;

    width: 0;
    height: 0;

    transform: translateY(-50%);

    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left: 20px solid #07394d;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1100px) {

    .radio-contact-section {
        min-height: 580px;
    }

    .radio-contact-card {
        width: min(850px, 100%);
        min-height: 390px;
        padding: 36px 45px;
    }

    .radio-contact-title {
        font-size: 30px;
    }

    .radio-contact-details {
        margin-top: 55px;
    }

    .radio-contact-phone,
    .radio-contact-email {
        font-size: 27px;
    }

    .radio-contact-country-btn {
        margin-top: 55px;
    }

    .radio-contact-country-text {
        font-size: 21px;
    }
}


@media (max-width: 768px) {

    .radio-contact-section {
        min-height: auto;
        padding: 50px 20px;
    }

    .radio-contact-card {
        min-height: auto;
        padding: 32px 25px;
    }

    .radio-contact-title {
        font-size: 28px;
    }

    .radio-contact-details {
        margin-top: 42px;
        gap: 14px;
    }

    .radio-contact-phone,
    .radio-contact-email {
        font-size: 22px;
    }

    .radio-contact-country-btn {
        margin-top: 42px;
        min-height: 66px;
        padding: 14px 55px 14px 25px;
    }

    .radio-contact-country-text {
        font-size: 18px;
    }

    .radio-contact-arrow {
        right: 25px;

        border-top-width: 10px;
        border-bottom-width: 10px;
        border-left-width: 17px;
    }
}


@media (max-width: 480px) {

    .radio-contact-section {
        padding: 35px 15px;
    }

    .radio-contact-card {
        padding: 28px 18px;
        border-radius: 10px;
    }

    .radio-contact-title {
        font-size: 25px;
    }

    .radio-contact-details {
        margin-top: 32px;
    }

    .radio-contact-phone,
    .radio-contact-email {
        font-size: 18px;
        line-height: 1.45;
    }

    .radio-contact-country-btn {
        margin-top: 35px;
        min-height: 62px;
        padding: 12px 45px 12px 18px;
    }

    .radio-contact-country-text {
        font-size: 16px;
    }

    .radio-contact-arrow {
        right: 18px;

        border-top-width: 8px;
        border-bottom-width: 8px;
        border-left-width: 14px;
    }
}
.radio-serviceplan-section {
    position: relative;
    width: 100%;
    min-height: 600px;
    height: 600px;

    background-image: url("../images/radio-serviceplan-hero.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    overflow: hidden;
    display: flex;
    align-items: center;

    font-family: "antonio";
}

/* Optional dark layer for better text readability */
.radio-serviceplan-bg-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(9, 59, 83, 0.08) 0%,
        rgba(6, 42, 62, 0.04) 52%,
        rgba(4, 26, 38, 0.13) 100%
    );
    pointer-events: none;
}

.radio-serviceplan-content {
    position: relative;
    z-index: 2;

    width: 100%;
    min-height: 760px;

    padding: 130px 3.4% 55px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}


/* --------------------------------
   SERVICE PLANS HEADING
-------------------------------- */

.radio-serviceplan-top-content {
    max-width: 590px;
    margin-top: 60px;
}

.radio-serviceplan-heading {
    margin: 0 0 15px;

    color: #ffffff;

    font-size: clamp(64px, 6vw, 85px);
    line-height: 0.95;

    font-weight: 700;
    letter-spacing: -4px;

    text-transform: none;
    display: none !important;
}


/* --------------------------------
   PLAN BUTTONS
-------------------------------- */

.radio-serviceplan-tabs {
    /* display: flex; */
    display: none !important;
    align-items: center;
    gap: 10px;

    width: 100%;
    margin-top: 20px;
}

.radio-serviceplan-tab {
    position: relative;

    flex: 1;

    min-width: 150px;
    height: 63px;

    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 16px;

    background: rgba(108, 182, 216, 0.15);

    color: #ffffff;

    font-family: inherit;
    font-size: 30px;
    line-height: 1;
    font-weight: 700;

    text-transform: uppercase;

    cursor: pointer;

    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.radio-serviceplan-tab:hover {
    background: rgba(122, 202, 238, 0.28);
    border-color: rgba(255, 255, 255, 0.9);
    transform: translateY(-2px);
}

.radio-serviceplan-tab-active {
    background: rgba(113, 195, 231, 0.28);
    border-color: rgba(255, 255, 255, 0.8);
}


/* --------------------------------
   LARGE COMPARE TITLE
-------------------------------- */

.radio-serviceplan-main-title {
    /* display: flex; */
    align-items: baseline;

    width: 100%;

    white-space: nowrap;

    font-size: clamp(90px, 10vw, 120px);
    line-height: 0.75 !important;

    font-weight: 800;

    letter-spacing: -8px;

    transform: translateY(-60px);
}


/* Outline "Compare Service" */
.radio-serviceplan-main-title-outline {
    color: transparent;

    -webkit-text-stroke: 2px rgba(255, 255, 255, 0.7);

    text-shadow:
        0 0 1px rgba(255, 255, 255, 0.15);
        line-height: 0.9 !important;
}


/* Solid "Plans" */
.radio-serviceplan-main-title-solid {
    color: #ffffff;

    margin-left: 2px;
}


/* --------------------------------
   RESPONSIVE
-------------------------------- */

@media (max-width: 1200px) {

    .radio-serviceplan-section,
    .radio-serviceplan-content {
        min-height: 650px;
    }

    .radio-serviceplan-content {
        padding-top: 100px;
    }

    .radio-serviceplan-top-content {
        max-width: 520px;
    }

    .radio-serviceplan-tab {
        height: 65px;
        font-size: 25px;
    }

    .radio-serviceplan-main-title {
        letter-spacing: -5px;
    }
}


@media (max-width: 900px) {

    .radio-serviceplan-section {
        min-height: 620px;
        background-position: 58% center;
    }

    .radio-serviceplan-content {
        min-height: 620px;
        padding: 80px 24px 40px;
    }

    .radio-serviceplan-heading {
        letter-spacing: -2px;
    }

    .radio-serviceplan-tabs {
        max-width: 520px;
    }

    .radio-serviceplan-tab {
        min-width: 0;
        height: 58px;
        border-radius: 12px;
        font-size: 21px;
    }

    .radio-serviceplan-main-title {
        flex-wrap: wrap;
        white-space: normal;

        font-size: clamp(72px, 13vw, 120px);
        line-height: 0.8;

        letter-spacing: -4px;
    }

    .radio-serviceplan-main-title-solid {
        margin-left: 12px;
    }
}


@media (max-width: 600px) {

    .radio-serviceplan-section {
        min-height: 570px;
        background-position: 60% center;
    }

    .radio-serviceplan-content {
        min-height: 570px;

        padding:
            70px
            18px
            35px;
    }

    .radio-serviceplan-heading {
        margin-bottom: 18px;

        font-size: 56px;
        line-height: 0.95;
    }

    .radio-serviceplan-tabs {
        gap: 7px;
    }

    .radio-serviceplan-tab {
        height: 52px;

        padding: 0 8px;

        border-radius: 10px;

        font-size: 17px;
    }

    .radio-serviceplan-main-title {
        display: block;

        font-size: 70px;
        line-height: 0.82;

        letter-spacing: -3px;
    }

    .radio-serviceplan-main-title-outline,
    .radio-serviceplan-main-title-solid {
        display: block;
    }

    .radio-serviceplan-main-title-solid {
        margin-left: 0;
        margin-top: 8px;
    }

    .radio-serviceplan-main-title-outline {
        -webkit-text-stroke-width: 1.2px;
    }
}
.radio-serviceplan-pricing-section {
    position: relative;
    width: 100%;
    overflow: hidden;

    padding: 40px 24px 40px;

    background: #003f5b;

    color: #ffffff;

    font-family: Arial, Helvetica, sans-serif;

    isolation: isolate;
}


/* =========================================================
   MAIN BACKGROUND GLOW
   Sits behind heading + pricing cards
========================================================= */

.radio-serviceplan-pricing-section::before {
    content: "";

    position: absolute;

    z-index: -2;

    left: 50%;
    top: 46%;

    transform: translate(-50%, -50%);

    width: 1350px;
    height: 980px;

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse at center,
            rgba(0, 205, 255, 0.72) 0%,
            rgba(0, 183, 240, 0.55) 18%,
            rgba(0, 153, 210, 0.38) 36%,
            rgba(0, 117, 170, 0.23) 54%,
            rgba(0, 82, 121, 0.12) 68%,
            rgba(0, 64, 93, 0.05) 77%,
            transparent 86%
        );

    filter: blur(60px);

    pointer-events: none;
}


/* darker side falloff */
.radio-serviceplan-pricing-section::after {
    content: "";

    position: absolute;

    z-index: -1;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0, 35, 52, 0.46) 0%,
            rgba(0, 49, 70, 0.22) 12%,
            transparent 30%,
            transparent 70%,
            rgba(0, 49, 70, 0.22) 88%,
            rgba(0, 35, 52, 0.46) 100%
        );

    pointer-events: none;
}


/* =========================================================
   INNER WRAPPER
========================================================= */

.radio-serviceplan-pricing-inner {
    position: relative;
    z-index: 2;

    max-width: 1480px;
    margin: 0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.radio-serviceplan-pricing-header {
    position: relative;
    z-index: 2;

    text-align: center;

    margin-bottom: 72px;
}


/* additional concentrated glow behind heading */
.radio-serviceplan-pricing-header::before {
    content: "";

    position: absolute;

    z-index: -1;

    left: 50%;
    top: 10px;

    transform: translateX(-50%);

    width: 650px;
    height: 230px;

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse at center,
            rgba(0, 215, 255, 0.38) 0%,
            rgba(0, 190, 240, 0.24) 35%,
            rgba(0, 155, 210, 0.10) 55%,
            transparent 75%
        );

    filter: blur(38px);

    pointer-events: none;
}


.radio-serviceplan-pricing-title {
    margin: 0 0 16px;

    color: #ffffff;

    font-size: 60px;
    line-height: 1;

    font-weight: 700;
}


.radio-serviceplan-pricing-client-id {
    margin: 0 0 17px;

    color: #ffffff;

    font-size: 18px;
    line-height: 1.4;

    font-weight: 500;
}


.radio-serviceplan-pricing-client-name {
    margin: 0 0 7px;

    color: #ffffff;

    font-size: 18px;
    line-height: 1.4;

    font-weight: 600;
}


.radio-serviceplan-pricing-subtitle {
    margin: 0;

    color: rgba(255, 255, 255, 0.92);

    font-size: 20px;
    line-height: 1.5;

    font-weight: 400;
}


/* =========================================================
   PRICING GRID
========================================================= */

.radio-serviceplan-pricing-grid {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 18px;

    align-items: stretch;
}


/* subtle glow behind cards */
.radio-serviceplan-pricing-grid::before {
    content: "";

    position: absolute;

    z-index: -1;

    left: 50%;
    top: 42%;

    transform: translate(-50%, -50%);

    width: 1050px;
    height: 650px;

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse at center,
            rgba(0, 181, 235, 0.22) 0%,
            rgba(0, 144, 200, 0.14) 40%,
            rgba(0, 104, 155, 0.07) 60%,
            transparent 78%
        );

    filter: blur(48px);

    pointer-events: none;
}


/* =========================================================
   CARD BASE
========================================================= */

.radio-serviceplan-pricing-card {
    position: relative;

    min-width: 0;

    padding:
        38px
        32px
        34px;

    border:
        1px solid
        rgba(55, 182, 230, 0.58);

    border-radius: 24px;

    background:
        linear-gradient(
            180deg,
            rgba(0, 102, 146, 0.76) 0%,
            rgba(0, 78, 112, 0.82) 100%
        );

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.03),
        inset 0 0 35px rgba(0, 170, 225, 0.03),
        0 8px 25px rgba(0, 20, 30, 0.08);

    overflow: hidden;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}


.radio-serviceplan-pricing-card:hover {
    transform: translateY(-4px);

    border-color:
        rgba(43, 207, 255, 0.9);
}


/* =========================================================
   FEATURED / CENTER CARD
========================================================= */

.radio-serviceplan-pricing-card-featured {
    border:
        1.5px solid
        #18caff;

    background:
        linear-gradient(
            180deg,
            rgba(8, 170, 223, 0.98) 0%,
            rgba(0, 124, 172, 0.97) 28%,
            rgba(0, 83, 112, 0.98) 58%,
            rgba(0, 48, 65, 0.99) 100%
        );

    box-shadow:
        0 0 10px rgba(0, 205, 255, 0.30),
        0 0 24px rgba(0, 172, 225, 0.16),
        0 12px 30px rgba(0, 20, 30, 0.14);

    transform: scale(1.015);
}


.radio-serviceplan-pricing-card-featured:hover {
    transform:
        scale(1.015)
        translateY(-4px);
}


/* =========================================================
   CARD HEADER
========================================================= */

.radio-serviceplan-pricing-card-heading-row {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 16px;
}


.radio-serviceplan-pricing-card-title {
    margin: 0 0 22px;

    color: #15c9ff;

    font-size: 26px;
    line-height: 1.2;
    display: block;
    font-weight: 700;
}


.radio-serviceplan-pricing-card-featured
.radio-serviceplan-pricing-card-title {
    color: #ffffff;
}


/* =========================================================
   POPULAR BADGE
========================================================= */

.radio-serviceplan-pricing-popular {
    flex-shrink: 0;

    margin-bottom: 22px;

    padding:
        5px
        15px;

    border:
        1px solid
        rgba(134, 230, 255, 0.55);

    border-radius: 999px;

    background:
        rgba(0, 132, 185, 0.36);

    color: #ffffff;

    font-size: 10px;
    line-height: 1;

    font-weight: 700;
}


/* =========================================================
   PRICE
========================================================= */

.radio-serviceplan-pricing-price-row {
    display: flex;

    align-items: baseline;

    gap: 6px;

    margin-bottom: 7px;
}


.radio-serviceplan-pricing-price {
    color: #ffffff;

    font-size: 43px;
    line-height: 1;

    font-weight: 500;

    letter-spacing: -2px;
}


.radio-serviceplan-pricing-month {
    color: #ffffff;

    font-size: 22px;
    line-height: 1;

    font-weight: 600;
}


.radio-serviceplan-pricing-year {
    margin: 0 0 17px;

    color: #15c9ff;

    font-size: 20px;
    line-height: 1.5;

    font-weight: 500;
}


.radio-serviceplan-pricing-trial {
    margin: 0 0 10px;

    color: #ffffff;

    font-size: 23px;
    line-height: 1.4;

    font-weight: 700;
}


/* =========================================================
   BUTTONS
========================================================= */
.client-bold{
    font-weight: 900;
}
.radio-serviceplan-pricing-button {
    width: 100%;
    height: 56px;

    margin-bottom: 45px;

    border: 0;
    border-radius: 7px;

    background: #0dbcf5;

    color: #ffffff;

    font-family: inherit;

    font-size: 17px;
    line-height: 1;

    font-weight: 700;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


.radio-serviceplan-pricing-button:hover {
    background: #27c9fa;

    transform: translateY(-2px);
}


.radio-serviceplan-pricing-button-featured {
    background: #ffffff;

    color: #06547a;

    box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.08);
}


.radio-serviceplan-pricing-button-featured:hover {
    background: #f3fbff;
}


/* =========================================================
   FEATURES
========================================================= */

.radio-serviceplan-pricing-features {
    display: flex;

    flex-direction: column;

    gap: 16px;

    margin: 0;
    padding: 0;

    list-style: none;
}


.radio-serviceplan-pricing-features li {
    display: flex;

    align-items: flex-start;

    gap: 8px;

    min-width: 0;

    color: #ffffff;

    font-size: 17px;
    line-height: 1.4;

    font-weight: 500;

    white-space: normal;

    overflow: hidden;

    text-overflow: ellipsis;
}


.radio-serviceplan-pricing-check {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 18px;

    width: 18px;
    height: 18px;

    margin-top: 0px;

    border:
        1px solid
        rgba(0, 207, 255, 0.72);

    border-radius: 50%;

    background:
        rgba(0, 181, 235, 0.15);

    color: #19d2ff;

    font-size: 11px;

    font-weight: 700;
}


/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media (max-width: 1100px) {

    .radio-serviceplan-pricing-section {
        padding:
            80px
            20px
            90px;
    }


    .radio-serviceplan-pricing-section::before {
        width: 1100px;
        height: 850px;

        top: 47%;
    }


    .radio-serviceplan-pricing-grid {
        gap: 14px;
    }


    .radio-serviceplan-pricing-card {
        padding:
            30px
            22px;
    }


    .radio-serviceplan-pricing-price {
        font-size: 42px;
    }


    .radio-serviceplan-pricing-month {
        font-size: 19px;
    }

}


/* =========================================================
   RESPONSIVE - STACKED
========================================================= */

@media (max-width: 900px) {

    .radio-serviceplan-pricing-header {
        margin-bottom: 52px;
    }


    .radio-serviceplan-pricing-title {
        font-size: 50px;
    }


    .radio-serviceplan-pricing-grid {
        grid-template-columns: 1fr;

        max-width: 620px;

        margin: 0 auto;

        gap: 24px;
    }


    .radio-serviceplan-pricing-grid::before {
        width: 760px;
        height: 1000px;
    }


    .radio-serviceplan-pricing-card-featured {
        transform: none;
    }


    .radio-serviceplan-pricing-card-featured:hover {
        transform: translateY(-4px);
    }


    .radio-serviceplan-pricing-section::before {
        top: 50%;

        width: 900px;
        height: 1500px;
    }

}


/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media (max-width: 600px) {

    .radio-serviceplan-pricing-section {
        padding:
            65px
            15px
            75px;
    }


    .radio-serviceplan-pricing-section::before {
        width: 700px;
        height: 1450px;

        filter: blur(55px);
    }


    .radio-serviceplan-pricing-header::before {
        width: 420px;
        height: 180px;
    }


    .radio-serviceplan-pricing-title {
        font-size: 42px;
    }


    .radio-serviceplan-pricing-client-id,
    .radio-serviceplan-pricing-client-name {
        font-size: 14px;
    }


    .radio-serviceplan-pricing-subtitle {
        font-size: 12px;
    }


    .radio-serviceplan-pricing-card {
        padding:
            28px
            22px;

        border-radius: 20px;
    }


    .radio-serviceplan-pricing-card-title {
        font-size: 21px;
    }


    .radio-serviceplan-pricing-price {
        font-size: 40px;
    }


    .radio-serviceplan-pricing-month {
        font-size: 18px;
    }


    .radio-serviceplan-pricing-trial {
        margin-bottom: 28px;
    }


    .radio-serviceplan-pricing-button {
        height: 54px;

        margin-bottom: 30px;
    }


    .radio-serviceplan-pricing-features {
        gap: 14px;
    }


    .radio-serviceplan-pricing-features li {
        white-space: normal;

        overflow: visible;

        text-overflow: unset;

        font-size: 11px;
    }

}
.radio-serviceplan-player-section {
    position: relative;

    width: 100%;

    overflow: hidden;

    padding: 0px 0;

    background: #003e58;

    color: #ffffff;

    font-family: Arial, Helvetica, sans-serif;

    isolation: isolate;
}


/* =========================================================
   BACKGROUND GLOW
========================================================= */

.radio-serviceplan-player-glow {
    position: absolute;

    z-index: -1;

    left: 22%;
    top: 50%;

    transform: translate(-50%, -50%);

    width: 1100px;
    height: 950px;

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse at center,
            rgba(0, 203, 255, 0.74) 0%,
            rgba(0, 186, 242, 0.55) 22%,
            rgba(0, 152, 214, 0.38) 42%,
            rgba(0, 103, 153, 0.20) 59%,
            rgba(0, 72, 107, 0.09) 72%,
            transparent 83%
        );

    filter: blur(58px);

    pointer-events: none;
}


/* =========================================================
   MAIN WRAPPER
========================================================= */

.radio-serviceplan-player-wrapper {
    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns:
        1.08fr
        1fr;

    max-width: 1500px;

    margin: 0 auto;

    min-height: 760px;
}


/* =========================================================
   LEFT / GALLERY AREA
========================================================= */

.radio-serviceplan-player-gallery {
    position: relative;

    display: flex;

    flex-direction: column;

    justify-content: center;

    min-width: 0;

    padding:
        60px
        70px
        45px;

    background:
        linear-gradient(
            135deg,
            rgba(0, 105, 151, 0.77) 0%,
            rgba(0, 77, 110, 0.94) 100%
        );

    overflow: hidden;
}


/* faint R-Box text */
.radio-serviceplan-player-watermark {
    position: absolute;

    left: 75px;
    top: -8px;

    color: rgba(255, 255, 255, 0.07);

    font-size: 234px;
    line-height: 1;

    font-weight: 700;

    letter-spacing: -8px;

    user-select: none;

    pointer-events: none;
}


/* =========================================================
   MAIN IMAGE
========================================================= */

.radio-serviceplan-player-main-image-wrap {
    position: relative;
    display: flex;
    /* align-items: center; */
    align-items: end;
    justify-content: center;
    /* flex: 1; */
    min-height: 305px;
    /* margin-top: 71px; */
    margin-top: 125px;
    z-index: 2;
}


.radio-serviceplan-player-main-image {
    display: block;
    width: auto;
    max-width: 78%;
    max-height: 397px;
    object-fit: contain;
    transition:
        opacity 0.22s ease,
        transform 0.28s ease;
}


/* animation when image changes */
.radio-serviceplan-player-main-image.radio-serviceplan-player-image-changing {
    opacity: 0;

    transform: scale(0.97);
}


/* =========================================================
   THUMBNAILS
========================================================= */

.radio-serviceplan-player-thumbnails {
    position: relative;

    z-index: 3;

    display: flex;

    align-items: center;

    gap: 55px;

    margin-top: 30px;

    padding-left: 24px;
}


.radio-serviceplan-player-thumb {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 170px;
    height: 125px;

    padding: 10px;

    border: 1px solid transparent;
    border-radius: 12px;

    background: transparent;

    cursor: pointer;

    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}


.radio-serviceplan-player-thumb img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;

    pointer-events: none;
}


.radio-serviceplan-player-thumb:hover {
    transform: translateY(-3px);
}


.radio-serviceplan-player-thumb-active {
    border-color: #13c9ff;

    background:
        rgba(0, 162, 219, 0.18);

    box-shadow:
        0 0 12px rgba(0, 202, 255, 0.48),
        inset 0 0 14px rgba(0, 193, 255, 0.12);
}


/* =========================================================
   RIGHT CONTENT AREA
========================================================= */

.radio-serviceplan-player-content {
    position: relative;

    display: flex;

    align-items: center;

    min-width: 0;

    padding:
        80px
        85px;

    background:
        linear-gradient(
            130deg,
            #075f88 0%,
            #004b6d 38%,
            #003b54 100%
        );
}


/* =========================================================
   CART ICON TOP RIGHT
========================================================= */

.radio-serviceplan-player-cart-icon {
    position: absolute;

    right: 85px;
    top: 105px;

    display: inline-flex;

    align-items: flex-start;

    color: #ffffff;
}


.radio-serviceplan-player-cart-symbol {
    cursor: pointer;
    font-size: 32px;
    line-height: 1;
}


.radio-serviceplan-player-cart-count {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 26px;
    height: 26px;

    margin:
        -10px
        0
        0
        -4px;

    border:
        1px solid
        #10c7ff;

    border-radius: 50%;

    background:
        rgba(0, 98, 144, 0.9);

    color: #ffffff;

    font-size: 13px;
    line-height: 1;

    font-weight: 700;
}


/* =========================================================
   COPY
========================================================= */

.radio-serviceplan-player-copy {
    width: 100%;

    max-width: 650px;
}


.radio-serviceplan-player-title {
    margin: 0 0 18px;

    color: #ffffff;

    font-size: 48px;
    line-height: 1.1;

    font-weight: 700;

    letter-spacing: -1.4px;
}


.radio-serviceplan-player-subtitle {
    margin: 0 0 0px;

    color: rgba(255, 255, 255, 0.91);

    font-size: 19px;
    line-height: 1.45;

    font-weight: 400;
}


.radio-serviceplan-player-brand {
    margin: 0 0 24px;

    color: #ffffff;

    font-size: 19px;
    line-height: 1.3;

    font-weight: 400;
}


/* =========================================================
   PRICE
========================================================= */

.radio-serviceplan-player-price-row {
    display: flex;

    align-items: baseline;

    flex-wrap: wrap;

    gap: 13px;

    margin-bottom: 15px;
}


.radio-serviceplan-player-price {
    color: #ffffff;

    font-size: 52px;
    line-height: 1;

    font-weight: 500;

    letter-spacing: -1.8px;
}


.radio-serviceplan-player-fee {
    color: #ffffff;

    font-size: 25px;
    line-height: 1;

    font-weight: 500;
}


.radio-serviceplan-player-shipping {
    margin: 0 0 72px;

    color: rgba(255, 255, 255, 0.94);

    font-size: 19px;
    line-height: 1.4;
}


/* =========================================================
   ACTION BUTTONS
========================================================= */

.radio-serviceplan-player-actions {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;

    max-width: 590px;
}


.radio-serviceplan-player-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 12px;

    min-height: 72px;

    padding:
        15px
        26px;

    border: 0;
    border-radius: 8px;

    font-family: inherit;

    font-size: 19px;
    line-height: 1;

    font-weight: 700;

    text-decoration: none;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease;
}


.radio-serviceplan-player-btn:hover {
    transform: translateY(-2px);
}


/* primary */
.radio-serviceplan-player-btn-primary {
    background:
        #10bdf6;

    color: #ffffff !important;
}


.radio-serviceplan-player-btn-primary:hover {
    background:
        #2acbff;

    box-shadow:
        0 8px 20px
        rgba(0, 191, 246, 0.18);
}


/* secondary */
.radio-serviceplan-player-btn-secondary {
    background:
        #ffffff;

    color:
        #075575;
}


.radio-serviceplan-player-btn-secondary:hover {
    background:
        #f4fbff;
}


.radio-serviceplan-player-bag-icon {
    font-size: 22px;
    line-height: 1;
}


/* =========================================================
   RESPONSIVE 1200
========================================================= */

@media (max-width: 1200px) {

    .radio-serviceplan-player-section {
        padding:
            70px
            0;
    }

    .radio-serviceplan-player-main-image-wrap {
        align-items: center;
    }

    .radio-serviceplan-player-wrapper {
        min-height: 680px;
    }

    .radio-serviceplan-player-gallery {
        /* padding:50px 45px 40px; */
        padding: 0 35px;
    }


    .radio-serviceplan-player-content {
        padding: 0px 55px;
    }


    .radio-serviceplan-player-watermark {
        left: 45px;

        font-size: 125px;
    }


    .radio-serviceplan-player-title {
        font-size: 42px;
    }


    .radio-serviceplan-player-price {
        font-size: 46px;
    }


    .radio-serviceplan-player-fee {
        font-size: 21px;
    }


    .radio-serviceplan-player-thumbnails {
        gap: 28px;

        padding-left: 0;
    }


    .radio-serviceplan-player-thumb {
        width: 145px;
        height: 110px;
    }


    .radio-serviceplan-player-cart-icon {
        right: 55px;
        top: 75px;
    }

}


/* =========================================================
   RESPONSIVE 900
========================================================= */

@media (max-width: 900px) {

    .radio-serviceplan-player-section {
        padding:
            50px
            0;
    }


    .radio-serviceplan-player-wrapper {
        grid-template-columns: 1fr;

        max-width: 700px;

        min-height: 0;
    }


    .radio-serviceplan-player-gallery {
        min-height: 620px;

        padding:
            50px
            40px;
    }


    .radio-serviceplan-player-content {
        min-height: 560px;

        padding:
            75px
            50px;
    }


    .radio-serviceplan-player-main-image {
        max-width: 72%;
        max-height: 380px;
    }


    .radio-serviceplan-player-thumbnails {
        justify-content: center;
    }


    .radio-serviceplan-player-cart-icon {
        right: 50px;
        top: 45px;
    }


    .radio-serviceplan-player-glow {
        left: 50%;
        top: 25%;

        width: 900px;
        height: 900px;
    }

}


/* =========================================================
   RESPONSIVE MOBILE
========================================================= */

@media (max-width: 600px) {

    .radio-serviceplan-player-section {
        padding: 0;
    }


    .radio-serviceplan-player-gallery {
        min-height: 500px;

        padding:
            45px
            20px
            30px;
    }


    .radio-serviceplan-player-watermark {
        /* left: 20px; */
        /* top: 40px; */
        left: 75px;
        font-size: 85px !important;

        letter-spacing: -4px;
    }


    .radio-serviceplan-player-main-image-wrap {
        min-height: 320px;
    }


    .radio-serviceplan-player-main-image {
        max-width: 90%;
        max-height: 300px;
    }


    .radio-serviceplan-player-thumbnails {
        gap: 10px;

        margin-top: 20px;
    }


    .radio-serviceplan-player-thumb {
        width: 31%;
        height: 90px;

        padding: 7px;
    }


    .radio-serviceplan-player-content {
        min-height: 0;

        padding:
            85px
            24px
            55px;
    }


    .radio-serviceplan-player-cart-icon {
        right: 25px;
        top: 30px;
    }


    .radio-serviceplan-player-title {
        font-size: 34px;
    }


    .radio-serviceplan-player-subtitle {
        margin-bottom: 35px;

        font-size: 18px;
    }


    .radio-serviceplan-player-brand {
        font-size: 19px;
    }


    .radio-serviceplan-player-price {
        font-size: 42px;
    }


    .radio-serviceplan-player-fee {
        font-size: 18px;
    }


    .radio-serviceplan-player-shipping {
        margin-bottom: 45px;

        font-size: 15px;
    }


    .radio-serviceplan-player-actions {
        grid-template-columns: 1fr;

        gap: 14px;
    }


    .radio-serviceplan-player-btn {
        min-height: 60px;

        font-size: 17px;
    }

}

/* =========================================================================
   SERVICE PLANS (service-plan.cfm) - MOBILE ONLY  [Option A, Faithful Stack]
   Added by Claude, 2026-09-29. Everything below is inside
   @media (max-width: 767px), so 768px and above (tablet, laptop, desktop)
   is completely untouched. Scoped to the .radio-serviceplan-* classes that
   service-plan.cfm uses. No markup changes.
   ========================================================================= */

@media (max-width: 767px) {

  /* --- 1. Hero: the photo put the singer's face behind "Service Plans"
           and the plan buttons, and the section kept a fixed 570-600px
           height whatever the screen. Height now follows the screen
           (capped at 540px), the singer is framed to the right, the
           heading stays top-left and the plan buttons sit at the foot
           with the big title, over the dark dress.                      --- */
  .radio-serviceplan-section {
    height: auto;
    min-height: min(540px, 100vh);
    min-height: min(540px, 100svh);
    align-items: stretch;
    background-position: 55.5% 0;
  }

  .radio-serviceplan-bg-overlay {
    background:
      linear-gradient(90deg, rgba(3, 33, 51, 0.45) 0%, rgba(3, 33, 51, 0) 55%),
      linear-gradient(0deg, rgba(2, 28, 43, 0.85) 0%, rgba(2, 28, 43, 0.35) 30%, rgba(2, 28, 43, 0) 48%);
  }

  .radio-serviceplan-content {
    container-type: inline-size;
    min-height: 0;
    padding: 52px max(18px, env(safe-area-inset-right, 0px)) 28px max(18px, env(safe-area-inset-left, 0px));
    justify-content: flex-start;
  }

  /* the wrapper steps aside so the heading and the buttons can be placed
     separately; keyboard order is unchanged (the buttons are the only
     focusable items in the hero)                                         */
  .radio-serviceplan-top-content {
    display: contents;
  }

  .radio-serviceplan-heading {
    order: 1;
    margin-bottom: 0;
    font-size: clamp(38px, 11.5vw, 60px);
    letter-spacing: -0.03em;
  }

  .radio-serviceplan-tabs {
    order: 3;
    gap: 8px;
    max-width: 440px;
    margin-top: 16px;
  }

  .radio-serviceplan-tab {
    min-width: 0;
    height: 48px;
    padding: 0 6px;
    border-radius: 10px;
    font-size: 17px;
  }



  .radio-serviceplan-main-title {
    order: 2;
    display: flex;
    flex-wrap: nowrap;
    white-space: nowrap;
    margin-top: auto;
    padding-top: 24px;
    font-size: calc((100vw - 36px) / 7.95);
    font-size: calc(100cqi / 7.95);
    letter-spacing: -0.04em;
    transform: none;
  }

  .radio-serviceplan-main-title-outline,
  .radio-serviceplan-main-title-solid {
    display: block;
  }

  .radio-serviceplan-main-title-solid {
    margin: 0 0 0 0.02em;
  }

  .radio-serviceplan-main-title-outline {
    -webkit-text-stroke-width: 1.2px;
  }


  /* --- 3. Plans: same stacked cards, readable type (features were 11px,
           the intro line 12px), calmer spacing.                         --- */
  .radio-serviceplan-pricing-section {
    padding: 56px max(16px, env(safe-area-inset-right, 0px)) 64px max(16px, env(safe-area-inset-left, 0px));
  }

  .radio-serviceplan-pricing-header {
    margin-bottom: 36px;
  }

  .radio-serviceplan-pricing-title {
    margin-bottom: 12px;
    font-size: 42px;
  }

  .radio-serviceplan-pricing-client-id,
  .radio-serviceplan-pricing-client-name {
    font-size: 15px;
  }

  .radio-serviceplan-pricing-subtitle {
    font-size: 15px;
    line-height: 1.5;
  }

  .radio-serviceplan-pricing-grid {
    gap: 18px;
  }

  .radio-serviceplan-pricing-card {
    padding: 26px 20px 24px;
    border-radius: 18px;
  }

  .radio-serviceplan-pricing-card-title {
    margin-bottom: 14px;
    font-size: 22px;
  }

  .radio-serviceplan-pricing-year {
    margin-bottom: 10px;
    font-size: 17px;
  }

  .radio-serviceplan-pricing-trial {
    margin-bottom: 16px;
    font-size: 20px;
  }

  /* retail prices hidden: the price slot holds "Please Call for Pricing"
     (no /month inside it), which at price size filled two lines         */
  .radio-serviceplan-pricing-price:not(:has(.radio-serviceplan-pricing-month)) {
    font-size: 26px;
    line-height: 1.2;
    letter-spacing: 0;
  }

  .radio-serviceplan-pricing-button {
    height: 52px;
    margin-bottom: 22px;
  }

  /* cart disabled: "Contact Us / PHONE / EMAIL" ran straight into the
     feature list                                                         */
  .radio-serviceplan-pricing-card > span {
    font-size: 15px;
    line-height: 1.6;
  }

  .radio-serviceplan-pricing-card > br + .radio-serviceplan-pricing-features {
    margin-top: 20px;
  }

  .radio-serviceplan-pricing-features {
    gap: 12px;
  }
  .radio-serviceplan-pricing-features li {
    display: block;
    position: relative;
    padding-left: 26px;              /* 18px tick + 8px gap, as before */
    font-size: 15px;
    line-height: 1.45;
  }

  .radio-serviceplan-pricing-check {
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 2px;
  }


  /* --- 4. R-Box: same order, less dead space, cart glyph tappable.  --- */
  .radio-serviceplan-player-gallery {
    min-height: 0;
    padding: 40px max(20px, env(safe-area-inset-right, 0px)) 28px max(20px, env(safe-area-inset-left, 0px));
  }

  .radio-serviceplan-player-main-image-wrap {
    min-height: 0;
    padding: 24px 0 8px;
  }

  .radio-serviceplan-player-main-image {
    max-width: 88%;
    max-height: 280px;
  }

  .radio-serviceplan-player-content {
    padding: 64px max(22px, env(safe-area-inset-right, 0px)) 48px max(22px, env(safe-area-inset-left, 0px));
  }

  .radio-serviceplan-player-cart-icon {
    top: 16px;
    right: max(16px, env(safe-area-inset-right, 0px));
  }

  /* the cart glyph was a 32 x 33px tap target; an invisible 7px skirt
     makes it 46 x 47px without moving it                                 */
  .radio-serviceplan-player-cart-symbol {
    position: relative;
  }

  .radio-serviceplan-player-cart-symbol::after {
    content: "";
    position: absolute;
    inset: -7px;
  }

  .radio-serviceplan-player-subtitle {
    margin-bottom: 20px;
    font-size: 17px;
  }

  .radio-serviceplan-player-shipping {
    margin-bottom: 32px;
  }

  .radio-serviceplan-player-actions {
    gap: 12px;
  }

  .radio-serviceplan-player-btn {
    min-height: 56px;
  }


  /* --- 5. Keyboard focus that shows up on the dark blue.           --- */
  .radio-serviceplan-tab:focus-visible,
  .radio-serviceplan-pricing-button:focus-visible,
  .radio-serviceplan-player-thumb:focus-visible,
  .radio-serviceplan-player-btn:focus-visible {
    outline: 3px solid #8fe6ff;
    outline-offset: 3px;
  }
}


/* touch screens: :hover sticks after a tap, so the lift and border
   effects stayed on. A small press on tap instead.                       */
@media (max-width: 767px) and (hover: none) {

  .radio-serviceplan-tab:hover,
  .radio-serviceplan-pricing-card:hover,
  .radio-serviceplan-pricing-button:hover,
  .radio-serviceplan-player-thumb:hover,
  .radio-serviceplan-player-btn:hover {
    transform: none;
  }

  .radio-serviceplan-pricing-card:hover {
    border-color: rgba(55, 182, 230, 0.58);
  }

  .radio-serviceplan-tab:active,
  .radio-serviceplan-pricing-button:active,
  .radio-serviceplan-player-thumb:active,
  .radio-serviceplan-player-btn:active {
    transform: scale(0.97);
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {

  .radio-serviceplan-tab,
  .radio-serviceplan-pricing-card,
  .radio-serviceplan-pricing-button,
  .radio-serviceplan-player-main-image,
  .radio-serviceplan-player-thumb,
  .radio-serviceplan-player-btn {
    transition: none;
  }
}



/* ---- TABLETS, PORTRAIT: 768-900px ------------------------------------ */

@media (min-width: 768px) and (max-width: 900px) {

    .radio-serviceplan-player-main-image-wrap {
        align-items: end !important;
    }
    .radio-serviceplan-player-watermark {
        font-size: 190px !important;
        left: 13% !important;
    }

  .radio-serviceplan-content {
    container-type: inline-size;
  }

  .radio-serviceplan-main-title {
    font-size: calc((100vw - 48px) / 8.1);
    font-size: calc(100cqi / 8.1);
    letter-spacing: -0.04em;
  }

  .radio-serviceplan-main-title-outline,
  .radio-serviceplan-main-title-solid {
    white-space: nowrap;
  }

  .radio-serviceplan-main-title-solid {
    margin-left: 0.02em;
  }

  /* the title is lifted 60px with a transform, which does not move
     anything around it: with enlarged text the wrapped title rose into
     the plan buttons. The same 60px as a margin looks identical at
     normal size and pushes the hero taller instead of overlapping.      */
  .radio-serviceplan-main-title {
    transform: none;
    margin-bottom: 60px;
    padding-top: 0.3em;           /* only takes space once the hero is full */
  }

  /* fixed 600px height under a 620px minimum: same size today, but it
     can now grow instead of clipping when text is enlarged              */
  .radio-serviceplan-section {
    height: auto;
  }
}

/* ---- TABLETS, LANDSCAPE AND SMALL LAPTOPS: 901-1199px ----------------- */

@media (min-width: 901px) and (max-width: 1199.98px) {

  /* same size today (650px minimum), but the hero can now grow instead
     of clipping when text is enlarged, and the big title wraps instead
     of running off the right edge                                        */
  .radio-serviceplan-section {
    height: auto;
  }

  .radio-serviceplan-main-title {
    flex-wrap: wrap;
    transform: none;
    margin-bottom: 60px;          /* the 60px lift, as a margin (see portrait) */
    padding-top: 0.3em;           /* only takes space once the hero is full */
  }

  /* R-Box copy was centred with flexbox, so when it grew (stacked buttons,
     enlarged text) it rose under the cart glyph pinned at the top right.
     Same centring, but the space above can never drop below 3em (48px,
     more if text is enlarged), which keeps the copy under the glyph
     (top 75px + 33px). Identical when the copy has room, as it does
     today at 1169-1199px.                                                */
  .radio-serviceplan-player-content {
    display: grid;
    grid-template-rows: minmax(3em, 1fr) auto minmax(0, 1fr);
  }

  .radio-serviceplan-player-copy {
    grid-row: 2;
  }
}

/* The two R-Box buttons share a column too narrow for them: at 901px
   "Add To Cart" broke over three lines, up to 1168px over two. Stack them
   there at their normal size, as the page already does below 600px.     */
@media (min-width: 901px) and (max-width: 1168.98px) {

  .radio-serviceplan-player-actions {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

}

/* ---- TABLETS: shared fixes ---------------------------------------------- */

@media (min-width: 768px) and (max-width: 1199.98px) {

  /* The feature <li> is a flex row, so in the wholesale view
     "Wholesale: $x + Shipping" became a second column beside the retail
     price. Plain text flow, tick pinned where it was.                   */
  .radio-serviceplan-pricing-features li {
    display: block;
    position: relative;
    padding-left: 26px;              /* 18px tick + 8px gap, as before */
  }

  .radio-serviceplan-pricing-check {
    position: absolute;
    left: 0;
    top: 0;
  }

  /* cart disabled: "Contact Us / PHONE / EMAIL" touched the list       */
  .radio-serviceplan-pricing-card > br + .radio-serviceplan-pricing-features {
    margin-top: 20px;
  }

  /* cart glyph: 32 x 35px tap target. Invisible 7px skirt, glyph unmoved */
  .radio-serviceplan-player-cart-symbol {
    position: relative;
  }

  .radio-serviceplan-player-cart-symbol::after {
    content: "";
    position: absolute;
    inset: -7px;
  }

  /* keyboard focus (external keyboards) visible on the dark blue       */
  .radio-serviceplan-tab:focus-visible,
  .radio-serviceplan-pricing-button:focus-visible,
  .radio-serviceplan-player-thumb:focus-visible,
  .radio-serviceplan-player-btn:focus-visible {
    outline: 3px solid #8fe6ff;
    outline-offset: 3px;
  }
}

/* touch: :hover sticks after a tap, so the lift effects stayed on       */
@media (min-width: 768px) and (max-width: 1199.98px) and (hover: none) {

  .radio-serviceplan-tab:hover,
  .radio-serviceplan-pricing-card:hover,
  .radio-serviceplan-pricing-button:hover,
  .radio-serviceplan-player-thumb:hover,
  .radio-serviceplan-player-btn:hover {
    transform: none;
  }

  .radio-serviceplan-pricing-card:hover {
    border-color: rgba(55, 182, 230, 0.58);
  }

  .radio-serviceplan-tab:active,
  .radio-serviceplan-pricing-button:active,
  .radio-serviceplan-player-thumb:active,
  .radio-serviceplan-player-btn:active {
    transform: scale(0.97);
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {

  .radio-serviceplan-tab,
  .radio-serviceplan-pricing-card,
  .radio-serviceplan-pricing-button,
  .radio-serviceplan-player-main-image,
  .radio-serviceplan-player-thumb,
  .radio-serviceplan-player-btn {
    transition: none;
  }
}

/* ---- LARGE TOUCH TABLETS ON THE DESKTOP LAYOUT: 1200px and up ---------
   iPad Pro 12.9 in landscape (1366), 10-11in Android tablets in landscape
   (1280), Surface in tablet mode. Only devices whose main input is touch
   match these queries, so desktops and laptops with a mouse or trackpad
   see and get exactly what they do today.                                */

@media (min-width: 1200px) and (hover: none) and (pointer: coarse) {

  .radio-serviceplan-player-cart-symbol {
    position: relative;
  }

  .radio-serviceplan-player-cart-symbol::after {
    content: "";
    position: absolute;
    inset: -7px;
  }

  .radio-serviceplan-tab:hover,
  .radio-serviceplan-pricing-card:hover,
  .radio-serviceplan-pricing-button:hover,
  .radio-serviceplan-player-thumb:hover,
  .radio-serviceplan-player-btn:hover {
    transform: none;
  }

  .radio-serviceplan-pricing-card:hover {
    border-color: rgba(55, 182, 230, 0.58);
  }

  .radio-serviceplan-tab:active,
  .radio-serviceplan-pricing-button:active,
  .radio-serviceplan-player-thumb:active,
  .radio-serviceplan-player-btn:active {
    transform: scale(0.97);
  }
}
/* =========================================================
   AUDIOSPARX PARTICIPATION SECTION

   BACKGROUND IMAGE:
   submitmusic-radio-hero.png
   -> ONE continuous background across LEFT + RIGHT

   STRIP IMAGE:
   submitmusic-hero-clear.png
   -> used ONLY inside the three image strips
========================================================= */

.rs-audio-submit {

    --rs-audio-submit-image:
        url("../images/submitmusic-hero-clear.png");

    position: relative;
    isolation: isolate;

    width: 100%;
    max-width: 1512px;

    aspect-ratio: 1512 / 548;

    margin: 0 auto;

    display: grid;

    /* approx. 752px / 760px */
    grid-template-columns: 49.735% 50.265%;

    overflow: hidden;

    /*
       SHARED BACKGROUND

       This image stretches continuously behind
       BOTH the left and right panels.
    */
    background-image:
        url("../images/submitmusic-radio-hero.png");

    background-repeat: no-repeat;

    background-position:
        center center;

    background-size:
        cover;

}



/* =========================================================
   LEFT PANEL
========================================================= */

.rs-audio-submit__left {

    position: relative;

    z-index: 1;

    width: 100%;
    height: 100%;

    overflow: hidden;

    border-top-right-radius: 31px;


    /*
       IMPORTANT:
       These gradients are translucent.

       They sit ABOVE submitmusic-radio-hero.png
       instead of hiding it.
    */

    background:

        radial-gradient(

            ellipse at 57% 58%,

            rgba(0, 208, 255, 0.42) 0%,

            rgba(0, 198, 255, 0.27) 5%,

            rgba(0, 162, 235, 0.15) 12%,

            rgba(0, 112, 191, 0.06) 21%,

            transparent 31%

        ),

        linear-gradient(

            108deg,

            rgba(7, 93, 168, 0.70) 0%,

            rgba(7, 89, 159, 0.64) 34%,

            rgba(6, 75, 135, 0.58) 66%,

            rgba(0, 45, 80, 0.70) 100%

        );

}



/* =========================================================
   LEFT PANEL RIGHT-EDGE DARKENING
========================================================= */

.rs-audio-submit__left::after {

    content: "";

    position: absolute;

    top: 0;
    right: 0;

    width: 18%;
    height: 100%;

    pointer-events: none;

    background:

        linear-gradient(

            90deg,

            transparent 0%,

            rgba(0, 29, 52, 0.05) 35%,

            rgba(0, 25, 45, 0.30) 100%

        );

}



/* =========================================================
   LEFT CONTENT
========================================================= */

.rs-audio-submit__content {

    position: relative;

    z-index: 2;

    box-sizing: border-box;

    width: 100%;
    height: 100%;

    /*
       Figma:
       x ≈ 69px
       y ≈ 173px
    */

    padding-left: 30px;
    padding-top: 100px;

}



/* =========================================================
   TITLE
========================================================= */

.rs-audio-submit__title {

    margin: 0;

    color: #ffffff;

    font-family: "antonio";

    font-size:
        clamp(58px, 5.82vw, 95px);

    font-weight: 700;

    line-height: 1.1 !important;

    letter-spacing: -1.1px;

    text-transform: none;

    display: block;

    margin-left: 52px;

}



/* =========================================================
   DESCRIPTION
========================================================= */

.rs-audio-submit__description {

    max-width: 571px;

    margin-top: 40px;
    margin-left: 52px;

    color: #ffffff;

    font-family: "roboto";

    font-size:
        clamp(17px, 1.52vw, 20px);

    font-weight: 400;

    line-height: 1.53;

}



/* =========================================================
   BUTTON
========================================================= */

.rs-audio-submit__button {

    position: relative;

    box-sizing: border-box;

    width: 240px;

    max-width: 72%;

    height: 54px;

    margin-left: 52px;

    margin-top: 41px;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    border:
        1px solid
        rgba(95, 199, 247, 0.4);

    border-radius: 100px;

    color: #ffffff !important;

    text-decoration: none;

    font-family: "Roboto";

    font-size:
        clamp(21px, 1.78vw, 24px);

    font-weight: 600;

    /*
    background:
        radial-gradient(
            circle at 89% 52%,
            rgba(0, 213, 255, 1) 0%,
            rgba(0, 192, 250, 0.78) 11%,
            rgba(0, 153, 225, 0.43) 23%,
            rgba(0, 121, 206, 0.07) 42%,
            transparent 52%
        ),
        linear-gradient(
            90deg,
            #075ca8 0%,
            #0769b6 63%,
            #087ec7 100%
        );
    */

    /*
    box-shadow:
        inset 0 0 18px
        rgb(24 190 255 / 9%);
    */

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;

}



.rs-audio-submit__button:hover {

    color: #ffffff;

    text-decoration: none;

    transform:
        translateY(-2px);

    border-color:
        rgba(139, 225, 255, 1);

    box-shadow:
        0 7px 20px
        rgba(0, 0, 0, 0.12);

}



/* =========================================================
   RIGHT PANEL
========================================================= */

.rs-audio-submit__right {

    position: relative;

    z-index: 1;

    width: 100%;
    height: 100%;

    overflow: hidden;


    /*
       TRANSLUCENT overlay only.

       submitmusic-radio-hero.png remains visible
       underneath this panel.
    */

    background:

        radial-gradient(

            ellipse at 69% 53%,

            rgba(8, 107, 209, 0.40) 0%,

            rgba(5, 96, 191, 0.32) 21%,

            rgba(4, 79, 157, 0.25) 41%,

            rgba(0, 61, 121, 0.22) 62%,

            rgba(0, 51, 101, 0.18) 78%,

            rgba(0, 48, 94, 0.15) 100%

        );

}



/* =========================================================
   RIGHT PANEL GRAIN / NOISE
========================================================= */

.rs-audio-submit__right::before {

    content: "";

    position: absolute;

    z-index: 2;

    inset: 0;

    pointer-events: none;

    opacity: 0.33;

    background-image:

        radial-gradient(

            circle,

            rgba(0, 6, 20, 0.9) 0.7px,

            transparent 0.9px

        );

    background-size:
        3px 3px;

}



/* =========================================================
   BLUE GLOW BEHIND MODEL / STRIPS
========================================================= */

.rs-audio-submit__right::after {

    content: "";

    position: absolute;

    z-index: 0;

    width: 86%;

    aspect-ratio: 1 / 1;

    top: 17%;

    right: -20%;

    border-radius: 50%;

    pointer-events: none;

    background:

        radial-gradient(

            circle,

            rgba(4, 105, 225, 0.70) 0%,

            rgba(3, 97, 213, 0.58) 37%,

            rgba(2, 83, 181, 0.34) 57%,

            rgba(0, 69, 146, 0) 74%

        );

}



/* =========================================================
   IMAGE STRIPS

   IMPORTANT:
   Only these strips use:
   submitmusic-hero-clear.png
========================================================= */

.rs-audio-submit__strip {

    position: absolute;

    z-index: 3;

    left: 0;

    overflow: hidden;

    background-image:

        linear-gradient(

            90deg,

            rgba(0, 83, 145, 0.09),

            rgba(35, 0, 96, 0.09)

        ),

        var(--rs-audio-submit-image);

    background-repeat:
        no-repeat,
        no-repeat;

    /*
       Right section width at max page width ≈ 760px.

       This keeps the original full clear image
       aligned across the three separate strips.
    */

    background-size:

        100% 100%,

        760px auto;

}



/* =========================================================
   TOP STRIP

   Figma approx:
   top: 136px
   width: 540px
   height: 207px
========================================================= */

.rs-audio-submit__strip--top {

    top: 14.35%;

    width: 71.05%;

    height: 21.84%;

    border-radius:

        0
        105px
        105px
        0;

    background-size:

        100% 100%,

        760px auto;

        background-position: center, -100px top;

}



/* =========================================================
   MIDDLE STRIP

   Figma approx:
   top: 381px
   width: 705px
   height: 207px
========================================================= */

.rs-audio-submit__strip--middle {

    top: 40.19%;

    width: 92.76%;

    height: 21.84%;

    border-radius:

        0
        105px
        105px
        0;

    background-size:

        100% 100%,

        760px auto;

        background-position: center, -90px 50%;

}



/* =========================================================
   BOTTOM STRIP

   Figma approx:
   top: 630px
   width: 577px
   height: 205px
========================================================= */

.rs-audio-submit__strip--bottom {

    top: 66.45%;

    width: 76%;

    height: 21.62%;

    border-radius:

        0
        105px
        105px
        0;

    background-size:

        100% 100%,

        760px auto;

        background-position: center, -90px bottom;

}



/* =========================================================
   TEXTURE AROUND IMAGE EDGES
========================================================= */

.rs-audio-submit__strip::before {

    content: "";

    position: absolute;

    z-index: 2;

    inset: 0;

    pointer-events: none;

    background:

        linear-gradient(

            90deg,

            rgba(0, 83, 148, 0.12),

            transparent 28%,

            rgba(41, 0, 89, 0.06) 78%,

            rgba(0, 57, 121, 0.1)

        );

}



/* =========================================================
   BETWEEN 992px AND 1511px

   Keeps same Figma proportions while section scales down.
========================================================= */

@media (max-width: 1511px) and (min-width: 992px) {

    .rs-audio-submit__button {

        width: 57.98%;

        height:
            clamp(62px, 5.16vw, 78px);

    }


    .rs-audio-submit__strip {

        background-size:

            100% 100%,

            760px auto;

    }


    .rs-audio-submit__strip--top,
    .rs-audio-submit__strip--middle,
    .rs-audio-submit__strip--bottom {

        background-size:

            100% 100%,

            760px auto;

    }

}



/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .rs-audio-submit {

        aspect-ratio: auto;

        display: block;

        /*
           Since mobile/tablet stacks the panels,
           keep the shared background image spanning
           the complete section.
        */

        background-size:
            cover;

        background-position:
            center center;

    }


    .rs-audio-submit__left {

        min-height: 700px;

        border-top-right-radius: 28px;

    }


    .rs-audio-submit__content {

        padding:

            100px
            45px
            80px;

    }


    .rs-audio-submit__title {

        font-size:
            clamp(62px, 9vw, 82px);

        margin-left: 0;

    }


    .rs-audio-submit__description {

        max-width: 680px;

        font-size: 19px;

        margin-top: 45px;

        margin-left: 0;

    }


    .rs-audio-submit__button {

        /* width: 430px; */

        max-width: 100%;

        height: 72px;

        margin-top: 55px;

        margin-left: 0;

    }


    .rs-audio-submit__right {

        height: 700px;

    }


    .rs-audio-submit__strip {

        background-size:

            100% 100%,

            760px auto;

    }

}



/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .rs-audio-submit__left {

        min-height: auto;

    }


    .rs-audio-submit__content {

        padding:

            70px
            24px
            70px;

    }


    .rs-audio-submit__title {

        font-size:
            clamp(52px, 15vw, 70px);

        line-height: 0.98;

        margin-left: 0;

    }


    .rs-audio-submit__description {

        margin-top: 38px;

        margin-left: 0;

        font-size: 17px;

        line-height: 1.55;

    }


    .rs-audio-submit__description br {

        display: none;

    }


    .rs-audio-submit__button {

        width: 100%;

        height: 64px;

        margin-top: 45px;

        margin-left: 0;

        font-size: 21px;

    }


    .rs-audio-submit__right {

        height: 570px;

    }


    .rs-audio-submit__strip--top {

        top: 11%;

        width: 82%;

        height: 23%;

    }


    .rs-audio-submit__strip--middle {

        top: 38.5%;

        width: 100%;

        height: 23%;

    }


    .rs-audio-submit__strip--bottom {

        top: 66%;

        width: 84%;

        height: 23%;

    }


    .rs-audio-submit__strip {

        border-top-right-radius: 80px;

        border-bottom-right-radius: 80px;

        background-size:

            100% 100%,

            540px auto;

    }

}


@media (max-width: 600px) {
    .radio-contact-details {
        gap: 0;
    }
}

@media (max-width: 480px) {
    .global-section .radio-signup-section .radio-signup-benefits {
        padding: 0px 0 20px 20px;
    }
    .radio-serviceplan-section {
        background-position: 65.5% 0;
    }
    .radio-serviceplan-main-title {
        gap: 5px;
    }
}
.radio-page.AI-artist-earn{
    background: url(../images/artist-earn-radio.png) center top no-repeat !important;
    background-size: cover !important;
    padding-right: 40px;
    padding-left: 40px;
}
.radio-page.how-to-part{
    background: url(../images/artist-earn-radio.png) center top no-repeat !important;
    background-size: cover !important;
    padding-right: 40px;
    padding-left: 40px;
}
.aae-item-text a{
    color: #FFF !important;
}
.look-inside{
    background: radial-gradient(50% 50% at 50% 50%, #19ABFF 0%, #00273D 100%);
}
.lookText, .insideText{
    font-family: 'caprise';
    color: #FFF !important;
    line-height: 1 !important;
    margin-left: 20px;
}
.lookText{
    font-size: 70px;
}
.insideText{
    font-size: 35px;
    margin-bottom: 20px;
    display: block;
}
.details-to-consider{
    background: radial-gradient(50% 50% at 50% 50%, #19ABFF 0%, #00273D 100%);

}
.earn-thumbnail.active{
    background: rgba(0, 76, 113, 0.42);
    border: 2.4px solid rgba(176, 229, 255, 1);
    transform: scale(1.05);
    border-color: rgba(176, 229, 255, 1) !important;

    box-shadow:
        6px 6px 12px 0px rgba(164, 237, 255, 0.86),
        -6px -6px 12px 0px rgba(164, 228, 255, 0.82)  !important;
}

.music_station_card {
    position: relative;
}

/* Tooltip Card */
.station-tooltip-card {
    position: absolute;
    left: 0;
    bottom: calc(100% + 10px);
    width:fit-content !important;
    height:fit-content !important;
    /* top: 46px !important; */
    /* width: 65% !important; */
    /* height: 304px !important; */
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    transform: translateY(5px);
    transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        visibility 0.2s ease;
    pointer-events: none;
    z-index: 9999;
}
.station-tooltip-card::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 20px;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #fff;
}

/* Show Tooltip */
/* .music_station_card:hover .station-tooltip-card {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
} */
.station-tooltip-card.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.details {
    container-type: inline-size;
    width: 100%;
    max-width: 1512px;
    margin-top: 30px;
    padding-top: 10px;
    background:
      radial-gradient(ellipse 55% 42% at 52% 44%, #1293e6 0%, rgba(18, 147, 230, 0) 100%),
      #04263b;
    overflow: hidden;
  }

  .details *,
  .details *::before,
  .details *::after {
    box-sizing: border-box;
  }

  .details__canvas {
    position: relative;
    width: 100%;
    height: 2090em;
    font-size: calc(100cqw / 1764); /* 1em = 1 design px */
    color: #fff;
    font-family: "Poppins", sans-serif;
  }

  /* ---------- Title ---------- */
  .details__title {
    position: absolute;
    left: 80em;
    top: 50em;
    margin: 0;
    font-family: "Aboreto", "Forum", serif;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1;
  }
  .details__title span { display: block; }
  .details__title-lg { font-size: 52em; letter-spacing: 0.01em; }
  .details__title-sm { font-size: 32em; margin-top: 0.42em; }

  /* ---------- Photos ---------- */
  .details__photo {
    position: absolute;
    border-radius: 0;
    background-repeat: no-repeat;
  }

  /* Headphones photo, full image box: 995 x 745 at (0, 163) */
  .details__photo--dj-a,
  .details__photo--dj-b {
    background-image: url("../images/headphones.png");
    background-size: 995em 746em;
  }
  .details__photo--dj-a {
    left: 0; top: 163em; width: 640em; height: 517em;
    background-position: 0 0;
    border-top-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .details__photo--dj-b {
    left: 354em; top: 389em; width: 641em; height: 519em;
    background-position: -354em -226em;
    border-top-left-radius: 0;
  }

  /* Stage singer photo, full image box: 1133 x 1121 at (631, 929) */
  .details__photo--stage-a,
  .details__photo--stage-b {
    background-image: url("../images/singer-stage.png");
    background-size: 1133em 1121em;
  }
  .details__photo--stage-a {
    left: 631em; top: 929em; width: 535em; height: 497em;
    background-position: 0 0;
    border-bottom-right-radius: 0;
  }
  .details__photo--stage-b {
    left: 1125em; top: 1276em; width: 639em; height: 774em;
    background-position: -494em -347em;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  /* Small seated singer, with the dark frame that cuts into the big photo */
  .details__thumb {
    position: absolute;
    left: 0; top: 681em;
    width: 354em; height: 227em;
    padding: 14em 16em 0 0;
    background: #06304f;
    border-top-right-radius: 22em;
  }
  .details__thumb img {
    display: block;
    width: 100%; height: 100%;
    object-fit: cover;
    border-radius: 0 20em 20em 0;
  }

  /* Top right singer */
  .details__photo-top {
    position: absolute;
    left: 1317em; top: 40em;
    width: 447em; height: 317em;
    object-fit: cover;
    border-radius: 22em 0 0 22em;
  }

  /* ---------- Cards ---------- */
  .details__card {
    position: absolute;
    display: flex;
    flex-direction: column;
    padding: 26em 40em 0 39em;
    border-radius: 22em;
    overflow: hidden;
  }

  .details__card h3 {
    margin: 0;
    font-family: "castelia";
    font-size: 33em;
    font-weight: 400;
    line-height: 1 !important;
    text-transform: uppercase;
  }

  .details__card p {
    margin: 0;
    font-size: 21em;
    font-weight: 400;
    font-family: 'Poppins';
    line-height: 1.737; /* 33px */
    text-transform: capitalize;
  }

  .details__card a {
    color: inherit !important;
    text-decoration: none;
  }
  .details__card a:hover { text-decoration: underline; }

  /* Revenue-Sharing */
  .details__card--revenue {
    left: 664em; top: 40em; width: 623em; height: 317em;
    padding-right: 70em;
    gap: 35em;
    background: linear-gradient(90deg, #062c6e 0%, #0762b0 50%, #0aa3ea 100%);
  }

  /* 20 Tracks Preferred */
  .details__card--tracks {
    left: 1021em; top: 391em; width: 743em; height: 517em;
    padding-right: 165em;
    gap: 49em;
    border-radius: 22em 0 0 22em;
    background: linear-gradient(90deg, #0c74e4 0%, #0a52c0 50%, #0a2a82 100%);
  }

  /* Perpetual Commitment Required */
  .details__card--commitment {
    left: 0; top: 929em; width: 598em; height: 385em;
    padding-right: 140em;
    gap: 41em;
    border-radius: 0 12em 12em 0;
    background: linear-gradient(160deg, #1b3fd0 0%, #1767e0 50%, #0e9cf2 100%);
  }

  /* Non-Exclusive License */
  .details__card--nonexclusive {
    left: 1192em; top: 929em; width: 572em; height: 327em;
    padding-top: 28em;
    gap: 58em;
    border-radius: 22em 0 0 22em;
    background: linear-gradient(20deg, #2f55f6 0%, #1f72f5 55%, #0aa3f2 100%);
  }
  .details__card--nonexclusive h3,
  .details__card--upload h3 {
    font-size: 33em;
  }

  /* Why A Perpetual License? */
  .details__card--why {
    left: 0; top: 1343em; width: 600em; height: 707em;
    gap: 96em;
    border-radius: 0 22em 22em 0;
    background: linear-gradient(180deg, #052a48 0%, #07588f 50%, #0a94dc 100%);
  }

  /* Upload And Configure Your Tracks */
  .details__card--upload {
    left: 631em; top: 1448em; width: 466em; height: 602em;
    padding: 28em 38em 0 39em;
    gap: 22em;
    background: linear-gradient(180deg, #0a1ea0 0%, #0b45c8 50%, #0b7cf8 100%);
  }
  .details__card--upload p {
    line-height: 1.553; /* 29.5px */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 13;
    line-clamp: 13;
    overflow: hidden;
  }

  .details__more {
    align-self: center;
    width: 34em; height: 34em;
    margin-top: 1em;
    padding: 0;
    border: 0;
    background: none;
    color: #fff;
    font-size: inherit;
    cursor: pointer;
  }
  .details__more svg { display: block; width: 100%; height: 100%; }

  /* ---------- Small screens: stack everything ---------- */
  @media (max-width: 767px) {
    .details__canvas {
      height: auto;
      font-size: 1px;
      display: flex;
      flex-direction: column;
      gap: 16em;
      padding: 32em 16em;
    }
    .details__title,
    .details__card,
    .details__photo,
    .details__photo-top,
    .details__thumb {
      position: static;
      width: auto;
      height: auto;
    }
    .details__title-lg { font-size: 36em; }
    .details__title-sm { font-size: 22em; }

    .details__card,
    .details__photo,
    .details__photo-top,
    .details__thumb img {
      border-radius: 16em;
    }
    .details__card { padding: 24em 20em 28em; gap: 16em; }
    .details__card h3 { font-size: 22em; }
    .details__card p { font-size: 15em; }
    .details__card--upload p { -webkit-line-clamp: unset; line-clamp: unset; }
    .details__more { display: none; }

    .details__photo--dj-b,
    .details__photo--stage-a { display: none; }
    .details__photo--dj-a,
    .details__photo--stage-b {
      height: 280em;
      background-size: cover;
      background-position: center top;
    }
    .details__photo-top { height: 240em; }
    .details__thumb { padding: 0; background: none; }
    .details__thumb img { height: 220em; }
  }
  .details__canvas .li-item {
    margin-top: 12px;
    display: inline-block;
  }

  /* ==========================================================
   LOOK INSIDE section
   Design canvas: 1792 x 2062, four columns (427 / 460 / 477 / 428).
   Inside .look__grid, 1em = 1 design pixel, so the whole
   section scales proportionally with its width.
   ========================================================== */

.look {
    container-type: inline-size;
    width: 100%;
    max-width: 1792px;
    margin: 0 auto;
    overflow: hidden;
    background: radial-gradient(50% 50% at 50% 50%, #19ABFF 0%, #00273D 100%);
  }
  .look__col--1 .li-item {
    background: transparent;
    display: inline-block;
    margin-top: 15px;
  }

  .look *,
  .look *::before,
  .look *::after {
    box-sizing: border-box;
  }

  .look__grid {
    display: flex;
    align-items: flex-start;
    font-size: calc(100cqw / 1792); /* 1em = 1 design px */
    color: #fff;
    font-family: "Poppins", sans-serif;
  }

  .look__col {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
  }
  .look__col--1 { width: 427em; }
  .look__col--2 { width: 461em; }
  .look__col--3 { width: 476em; }
  .look__col--4 { width: 428em; }

  /* ---------- Title ---------- */
  .look__title {
    height: 137em;
    margin: 0;
    padding-left: 20em;
    overflow: hidden;
    background: #1e1e1e;
    font-family: "Aboreto", "Forum", serif;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1;
  }
  .look__title span { display: block; }
  .look__title-lg { font-size: 104em; margin-top: -0.27em; letter-spacing: -0.01em; }
  .look__title-sm { font-size: 44em; margin-top: 0.02em; }

  /* ---------- Images ---------- */
  .look__img {
    display: block;
    width: 100%;
    object-fit: cover;
    object-position: center top;
  }
  .look__img--blonde      { height: 481em; }
  .look__img--violin      { height: 419em; }
  .look__img--teal-singer { height: 313em; }
  .look__img--chair       { height: 249em; object-position: left top; }
  .look__img--red-dress   { height: 468em; }
  .look__img--drummer     { height: 332em; }
  .look__img--leopard     { height: 293em; }
  .look__img--curly       { height: 410em; }
  .look__img--headphones  { height: 634em; }
  .look__img--band        { height: 355em; }

  /* ---------- Cards ---------- */
  .look__card {
    --lines: 20;       /* visible lines of body text before the ellipsis */
    --gap: 26em;       /* space between heading and body text */
    --pad-right: 80em; /* controls where the body text wraps */
    --icon-bottom: 31em;
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    padding: 25em var(--pad-right) 0 40em;
    overflow: hidden;
  }

  .look__card h3 {
    margin: 0;
    font-family: "castelia";
    font-size: 33em;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -0.02em;
    text-transform: uppercase;
  }

  .look__card p {
    margin: 0;
    font-size: 19em;
    font-family: var(--font-poppins);
    font-weight: 400;
    line-height: 1.455; /* 26.2px */
    text-transform: capitalize;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--lines);
    line-clamp: var(--lines);
    overflow: hidden;
  }

  .look__list {
    margin: -1.3em 0 0;
    padding-left: 1.55em;
    font-size: 18em;
    line-height: 1.61; /* 29px */
    text-transform: capitalize;
  }
  .look__list--sm {
    margin-top: -1.6em;
    padding-left: 1.6em;
    font-size: 15em;
    line-height: 1.75; /* 26px */
  }
  .look__list li::marker { font-size: 0.7em; }

  .look__more {
    align-self: center;
    width: 36em; height: 36em;
    margin: auto 0 var(--icon-bottom);
    padding: 0;
    border: 0;
    background: none;
    color: #fff;
    font-size: inherit;
    cursor: pointer;
  }
  /* keep the icon centred on the column, not on the padded text area */
  .look__card .look__more { position: relative; left: calc((var(--pad-right) - 18em) / 2); }
  .look__more svg {
    display: block;
    width: 100%; height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
  }

  /* Expanded state: card grows to fit all of its text, + becomes - */
  .look__card.is-open {
    height: auto;
    --lines: 1000;
  }
  .look__card.is-open .look__more { margin-top: 4em; }
  .look__more-v {
    transform-origin: 16px 16px;
    transition: transform 0.2s ease, opacity 0.2s ease;
  }
  .look__card.is-open .look__more-v {
    transform: rotate(90deg);
    opacity: 0;
  }

  /* Column 1 */
  .look__card--storage {
    height: 578em;
    --lines: 16;
    --pad-right: 80em;
    --icon-bottom: 21em;
    background: linear-gradient(180deg, #082a82 0%, #0a2f8c 100%);
  }
  .look__card--ringtone {
    height: 447em;
    --lines: 8;
    --icon-bottom: 25em;
    background: #0b6dff;
  }
  .look__logo {
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 170em; height: 83em;
    margin-top: -13em;
    background: #fff;
    border-radius: 3em;
    color: #000;
  }
  .look__logo span { font-size: 36em; font-weight: 600; letter-spacing: -0.03em; }
  .look__card--ringtone .look__more { margin-top: 8em; }

  /* Column 2 */
  .look__card--royalties {
    height: 368em;
    --lines: 8;
    --gap: 21em;
    background: #06799c;
  }
  .look__card--control-a {
    height: 363em;
    --lines: 8;
    --gap: 23em;
    background: #2135cf;
  }
  .look__card--websites {
    height: 301em;
    --lines: 3;
    --icon-bottom: 27em;
    background: #083a47;
  }

  /* Column 3 */
  .look__card--money {
    height: 362em;
    --lines: 7;
    --gap: 28em;
    --pad-right: 80em;
    --icon-bottom: 33em;
    background: #0a40a8;
  }
  .look__card--control-b {
    height: 352em;
    --lines: 7;
    --gap: 28em;
    background: #0a0b62;
  }
  .look__card--paid {
    height: 313em;
    --gap: 42em;
    --icon-bottom: 36em;
    background: #06799c;
  }

  /* Column 4 */
  .look__card--traffic {
    height: 363em;
    --lines: 4;
    --gap: 22em;
    --pad-right: 80em;
    background: linear-gradient(180deg, #0a3ea6 0%, #0a52c4 100%);
  }
  .look__card--monitoring {
    height: 303em;
    --gap: 28em;
    --pad-right: 80em;
    background: linear-gradient(180deg, #0c0a78 0%, #070560 100%);
  }
  .look__card--deals {
    height: 407em;
    padding-top: 30em;
    --lines: 6;
    --gap: 22em;
    --pad-right: 80em;
    --icon-bottom: 35em;
    background: #06799c;
  }

  /* ---------- Tablet: two columns ---------- */
  @media (max-width: 1023px) {
    .look__grid { flex-wrap: wrap; font-size: calc(100cqw / 896); }
    .look__col--1, .look__col--3 { width: 436em; }
    .look__col--2, .look__col--4 { width: 460em; }
  }

  /* ---------- Mobile: one column, natural heights ---------- */
  @media (max-width: 599px) {
    .look__grid { display: block; font-size: 1px; }
    .look__col { width: auto; }
    .look__title { height: 110em; }
    .look__title-lg { font-size: 84em; }
    .look__title-sm { font-size: 34em; }
    .look__img { height: auto; max-height: 420em; }
    .look__card {
      height: auto;
      --pad-right: 18em;
      --lines: 100;
      gap: 16em;
      padding-bottom: 28em;
    }
    .look__card h3 { font-size: 20em; }
    .look__card p,
    .look__list { font-size: 15em; }
    .look__list, .look__list--sm { margin-top: -0.6em; }
    .look__logo { margin-top: 0; }
    .look__more { display: none; }
  }


/* ==========================================================================
   AUDIOSPARX PARTICIPATION (submit-audio.cfm) - MOBILE ONLY
   [Option B, Cinematic Poster] + Artists Earn [1, Accordion Drop]
   Added by Claude, 2026-10-06.

   Part 1 copies the Advantages / How to Participate rules from custom.css
   (custom.css itself is unchanged). :where() keeps every copied rule at its
   original weight and limits it to this page.
   Parts 2 to 6 are phone rules: everything is inside
   @media (max-width: 767px), except the small Artists Earn open/close
   structure in part 5, which applies wherever that stack is shown
   (below 992px) because the strips are now <details> elements.
   ========================================================================== */

/* ---------- Part 1: rules copied from custom.css ---------- */
/* from custom.css line 1401 */
.advantageAudioSparx:where(.radio-page) {
  padding-bottom: 80px !important;
}
/* from custom.css line 2064 */
@media (min-width: 1200px) {
  .look-inside:where(.radio-page) .aae-item-title {
    font-size: 1.375rem;
  }
}
/* from custom.css line 2068 */
@media (min-width: 1200px) {
  .look-inside:where(.radio-page) .aae-item-text {
    font-size: 1.125rem;
  }
}
/* from custom.css line 4309 */
.about-artist-earn:where(.radio-page) {
  text-align: center;
  color: #fff;
}
/* from custom.css line 4314 */
:where(.about-artist-earn.radio-page) .aae-title {
  font-size: 1.8rem;
  font-weight: 5000;
}
/* from custom.css line 4318 */
:where(.about-artist-earn.radio-page) .aae-subtitle {
  font-size: 1.37rem;
  line-height: 30px;
}
/* from custom.css line 4322 */
:where(.about-artist-earn.radio-page) .aae-item {
  background: rgba(255, 255, 255, 0.02);
  border: 4px solid rgba(255, 255, 255, 0.24);
  border-radius: 24px;
  padding: 60px 26px;
  gap: 10px;
  height: 100%;
}
/* from custom.css line 4330 */
:where(.about-artist-earn.radio-page) .aae-item-title {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 26px;
}
/* from custom.css line 4335 */
:where(.about-artist-earn.radio-page) .aae-item-text {
  font-size: 1.25rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  line-height: 27px;
}
/* from custom.css line 4345 */
:where(.about-artist-earn.radio-page) .aae-item-text {
  -webkit-line-clamp: 10;
}
/* from custom.css line 4349 */
:where(.about-artist-earn.radio-page) .aae-item.expanded .aae-item-text {
  display: block;
  -webkit-line-clamp: initial;
  overflow: visible;
  text-overflow: initial;
}
/* from custom.css line 4357 */
:where(.about-artist-earn.radio-page) .aae-toggle {
  margin-top: .8rem;
  border: 1px solid #ccc;
  border-radius: 999px;
  width: 32px;
  height: 32px;
  line-height: 30px;
  text-align: center;
  font-weight: 700;
  cursor: pointer;
  background: #fff;
  user-select: none;
  font-size: 1.5rem;
}
/* from custom.css line 4370 */
:where(.about-artist-earn.radio-page) .aae-item-text a {
  font-size: 1.25rem;
  color: #FFF;
}
/* from custom.css line 4378 */
:where(.about-artist-earn.radio-page) .aae-toggle:focus {
  outline: 2px solid #666;
}
/* from custom.css line 8341 */
@media (min-width: 768px) and (max-width: 1024px) {
  :where(.about-artist-earn.radio-page) .aae-title {
    font-size: 1.75rem;
  }
}
/* from custom.css line 8344 */
@media (min-width: 768px) and (max-width: 1024px) {
  :where(.about-artist-earn.radio-page) .aae-subtitle {
    font-size: 1.2rem;
  }
}
/* from custom.css line 8347 */
@media (min-width: 768px) and (max-width: 1024px) {
  :where(.about-artist-earn.radio-page) .aae-item-title {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 26px;
  }
}
/* from custom.css line 8352 */
@media (min-width: 768px) and (max-width: 1024px) {
  :where(.about-artist-earn.radio-page) .aae-item-text {
    font-size: 1.1rem;
    line-height: 22px;
  }
}
/* from custom.css line 8360 */
@media (min-width: 768px) and (max-width: 1024px) {
  :where(.about-artist-earn.radio-page) .aae-title {
    font-weight: 5000;
  }
}
/* from custom.css line 10753 */
@media only screen and (max-width: 768px) {
  :where(.about-artist-earn.radio-page) .aae-title {
    font-size: 1.8rem;
    line-height: 1.3;
  }
}
/* from custom.css line 10761 */
@media only screen and (max-width: 768px) {
  :where(.about-artist-earn.radio-page) .aae-subtitle {
    font-size: 1.17rem;
    line-height: 20px !important;
    margin-top: 10px;
  }
}
/* from custom.css line 10766 */
@media only screen and (max-width: 768px) {
  :where(.about-artist-earn.radio-page) .aae-item-title {
    font-size: 1.5rem;
    line-height: 25px;
  }
}
/* from custom.css line 10770 */
@media only screen and (max-width: 768px) {
  :where(.about-artist-earn.radio-page) .aae-item-text {
    font-size: 1.1rem;
    line-height: 24px;
  }
}
/* from custom.css line 10774 */
@media only screen and (max-width: 768px) {
  :where(.about-artist-earn.radio-page) .aae-item {
    padding: 30px 26px;
  }
}
/* from custom.css line 11972 */
@media only screen and (orientation: portrait) and (min-width: 360px) and (max-width: 362px) {
  :where(.about-artist-earn.radio-page) .aae-item-title {
    font-size: 1.4rem;
  }
}
/* from custom.css line 11975 */
@media only screen and (orientation: portrait) and (min-width: 360px) and (max-width: 362px) {
  :where(.about-artist-earn.radio-page) .aae-item-text,
  :where(.about-artist-earn.radio-page) .aae-subtitle {
    font-size: 1rem;
  }
}
/* from custom.css line 23611 */
@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) {
  :where(.about-artist-earn.radio-page) .aae-item-text {
    font-size: 1.1rem;
    line-height: 22px;
  }
}
/* from custom.css line 23615 */
@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) {
  :where(.about-artist-earn.radio-page) .aae-subtitle {
    font-size: 1.2rem;
  }
}
/* from custom.css line 23618 */
@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) {
  :where(.about-artist-earn.radio-page) .aae-title {
    font-size: 2rem;
    font-weight: 5000;
  }
}
/* from custom.css line 23622 */
@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) {
  :where(.about-artist-earn.radio-page) .aae-item-title {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 26px;
  }
}
/* from custom.css line 25260 */
@media only screen and (device-width: 768px) and (device-height: 1024px) {
  :where(.about-artist-earn.radio-page) .aae-subtitle {
    font-size: 1.2rem;
  }
}
/* from custom.css line 25266 */
@media only screen and (device-width: 768px) and (device-height: 1024px) {
  :where(.about-artist-earn.radio-page) .aae-item-text {
    font-size: 1.1rem;
    line-height: 22px;
  }
}
/* from custom.css line 25270 */
@media only screen and (device-width: 768px) and (device-height: 1024px) {
  :where(.about-artist-earn.radio-page) .aae-item-title {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 26px;
  }
}
/* from custom.css line 25275 */
@media only screen and (device-width: 768px) and (device-height: 1024px) {
  :where(.about-artist-earn.radio-page) .aae-title {
    font-size: 2.5rem;
    font-weight: 5000;
  }
}
/* from custom.css line 31575 */
@media only screen and (min-width: 1400px) and (max-width: 1511px) {
  .cstm-py-1:where(.about-artist-earn.radio-page) {
    padding: 40px 0;
  }
}
/* from custom.css line 34818 */
@media (width: 1366px) {
  .cstm-py-1:where(.about-artist-earn.radio-page) {
    padding: 40px 0;
  }
  .radio-mag .musica-magazine-list .mm-list-grid > .col > a:not(.mm-link) > img.mm-poster-img {
    aspect-ratio: 505 / 736 !important;
  }
}
/* from custom.css line 39148 */
@media screen and (width: 1280px) {
  :where(.about-artist-earn.radio-page) .aar-item-icon img {
    width: 70px !important;
  }
  .rs-play-service-app__bg-title {
    font-size: 16.5vw;
    top: -40px;
  }
}
/* from custom.css line 39560 */
@media screen and (min-width: 1512px) {
  .AI-artist-earn:where(.radio-page) .aae-toggle {
    display: none;
  }
}
/* from custom.css line 39572 */
@media screen and (min-width: 1512px) {
  .advantageAudioSparx:where(.radio-page) .aae-toggle {
    display: none;
  }
}
/* from custom.css line 40025 */
@media screen and (min-width: 1512px) {
  .about-artist-earn:where(.radio-page) {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}
/* from custom.css line 40753 */
@media screen and (min-width: 1512px) {
  .cstm-py-1:where(.about-artist-earn.radio-page) {
    padding: 43px 0;
  }
}
/* from custom.css line 42987 */
@media screen and (width: 1024px) and (height: 768px) {
  :where(.about-artist-earn.radio-page) .aar-item-icon img {
    width: 70px !important;
  }
}
/* from custom.css line 43164 */
@media only screen and (width: 1366px) {
  :where(.about-artist-earn.radio-page) .aae-title {
    font-size: 2rem;
  }
}
/* from custom.css line 43167 */
@media only screen and (width: 1366px) {
  :where(.about-artist-earn.radio-page) .aae-item-text {
    font-size: 1rem;
  }
}
/* from custom.css line 52398 */
@media screen and (max-width: 767px) {
  :where(.about-artist-earn.radio-page) .aae-item-text {
    line-height: 1.25 !important;
  }
}
/* from custom.css line 52526 */
@media screen and (max-width: 767px) {
  .advantageAudioSparx:where(.radio-page) .aae-toggle {
    display: none;
  }
}
/* from custom.css line 52805 */
@media screen and (max-width: 767px) {
  :where(.about-artist-earn.radio-page) .aae-title {
    line-height: 30px !important;
    margin-top: 10px;
  }
}
/* from custom.css line 53054 */
@media screen and (max-width: 767px) {
  :where(.about-artist-earn.radio-page) .aae-item-text {
    font-size: 1.1rem;
    line-height: 21px;
  }
}
/* from custom.css line 53897 */
@media screen and (min-width: 300px) and (max-width: 480px) {
    .submit-music-page .submit-main {
        padding-bottom: 0px;
    }
    .cstm-py-1:where(.about-artist-earn.radio-page) {
        padding: 15px 0;
    }
}
/* from custom.css line 54466 */
@media screen and (min-width: 300px) and (max-width: 480px) {
  :where(.about-artist-earn.radio-page) .aae-item-title,
  :where(.about-artist-earn.radio-page) .aae-item-text {
    line-height: 1.2 !important;
  }
}
/* from custom.css line 54475 */
@media screen and (min-width: 300px) and (max-width: 480px) {
  :where(.about-artist-earn.radio-page) .aae-item-text {
    line-height: 1.5 !important;
  }
}
/* from custom.css line 54830 */
@media screen and (min-width: 481px) and (max-width: 767px) {
  .cstm-py-1:where(.about-artist-earn.radio-page) {
    padding: 15px 0;
  }
}
/* from custom.css line 56859 */
@media screen and (min-width: 1024px) and (max-width: 1511px) {
  .AI-artist-earn:where(.radio-page) .aae-toggle {
    display: none;
  }
}
/* from custom.css line 56937 */
@media screen and (min-width: 1024px) and (max-width: 1511px) {
  .advantageAudioSparx:where(.radio-page) .aae-toggle {
    display: none;
  }
}
/* from custom.css line 57377 */
@media screen and (min-width: 1024px) and (max-width: 1511px) {
  :where(.about-artist-earn.radio-page) .aae-subtitle {
    line-height: 27px !important;
    font-size: 1.37rem !important;
  }
}
/* from custom.css line 57883 */
@media (min-width: 768px) and (max-width: 1024px) {
  .AI-artist-earn:where(.radio-page) .custom-row-768-1024 > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

/* ---------- Part 2: hero, Look Inside, Details ---------- */
/* ---- shared fixes: phones up to 767px ---- */
@media (max-width: 767px) {

  /* Advantages / How to Participate: 40px side padding left ~216px of text at 320 */
  .radio-page.AI-artist-earn,
  .radio-page.how-to-part {
    padding-left: max(8px, env(safe-area-inset-left, 0px));
    padding-right: max(8px, env(safe-area-inset-right, 0px));
  }

  /* ---------- hero ---------- */
  .rs-audio-submit { display: flex; flex-direction: column; }
  .rs-audio-submit__left { min-height: 0; height: auto; }
  .rs-audio-submit__content {
    height: auto;
    padding: 44px max(20px, env(safe-area-inset-right, 0px)) 44px max(20px, env(safe-area-inset-left, 0px));
  }
  .rs-audio-submit__title {
    font-size: clamp(2.75rem, 14.5vw, 4.375rem);
    letter-spacing: -0.5px;
    overflow-wrap: break-word;
  }
  .rs-audio-submit__description {
    max-width: 34em;
    margin-top: 24px;
    font-size: 1.0625rem;
    line-height: 1.55 !important;
  }
  .rs-audio-submit__button {
    width: 100%;
    max-width: 360px;
    height: auto;
    min-height: 56px;
    margin-top: 28px;
    padding: 12px 24px;
    font-size: 1.25rem;
    text-align: center;
  }
  .rs-audio-submit__button:focus-visible,
  .look__more:focus-visible,
  .details__card a:focus-visible {
    outline: 3px solid #8fe6ff;
    outline-offset: 3px;
  }

  /* hero artwork: the desktop three-strip composition, scaled with the screen
     instead of a fixed 570px box with a fixed 540px image */
  .rs-audio-submit__right { height: auto; aspect-ratio: 760 / 548; }
  .rs-audio-submit__strip,
  .rs-audio-submit__strip--top,
  .rs-audio-submit__strip--middle,
  .rs-audio-submit__strip--bottom {
    border-radius: 0 999px 999px 0;
    background-size: 100% 100%, 100vw auto;
  }
  .rs-audio-submit__strip--top    { top: 14.35%; width: 71.05%; height: 21.84%; }
  .rs-audio-submit__strip--middle { top: 40.19%; width: 92.76%; height: 21.84%; }
  .rs-audio-submit__strip--bottom { top: 66.45%; width: 76%;    height: 21.62%; }

  /* ---------- section titles (LOOK INSIDE / DETAILS TO CONSIDER) ---------- */
  .look .lookText, .details .lookText { font-size: clamp(2.75rem, 15vw, 4.375rem); margin-left: 0; }
  .look .insideText, .details .insideText { font-size: clamp(1.375rem, 7.5vw, 2.1875rem); margin-left: 0; margin-bottom: 0; }
  .look__col--1 .li-item,
  .details__canvas .li-item {
    display: block;
    margin: 0;
    padding: 28px max(16px, env(safe-area-inset-right, 0px)) 20px max(16px, env(safe-area-inset-left, 0px));
  }

  /* ---------- Look Inside: natural heights, readable sizes ---------- */
  .look__grid { display: block; font-size: 1px; }
  .look__col, .look__col--1, .look__col--2, .look__col--3, .look__col--4 { width: auto; }
  .look__img,
  .look__img--blonde, .look__img--violin, .look__img--teal-singer, .look__img--chair,
  .look__img--red-dress, .look__img--drummer, .look__img--leopard, .look__img--curly,
  .look__img--headphones, .look__img--band {
    height: auto;
    max-height: none;
    aspect-ratio: 4 / 3;
  }
  .look__card,
  .look__card--storage, .look__card--ringtone, .look__card--royalties, .look__card--control-a,
  .look__card--websites, .look__card--money, .look__card--control-b, .look__card--paid,
  .look__card--traffic, .look__card--monitoring, .look__card--deals {
    height: auto;
    --lines: 100;
    --pad-right: 0px;
    gap: 12px;
    padding: 24px max(16px, env(safe-area-inset-right, 0px)) 28px max(16px, env(safe-area-inset-left, 0px));
  }
  .look__card h3 { font-size: 1.375rem; line-height: 1.25 !important; overflow-wrap: break-word; }
  .look__card p { font-size: 0.9375rem; line-height: 1.6 !important; }
  .look__list, .look__list--sm { margin-top: -4px; padding-left: 1.4em; font-size: 0.9375rem; line-height: 1.7 !important; }
  .look__logo { width: 120px; height: 58px; margin-top: 4px; align-self: flex-start; border-radius: 4px; }
  .look__logo span { font-size: 1.5rem; }
  .look__more { display: none; }

  /* ---------- Details: stacked, readable sizes ---------- */
  .details { margin-top: 0; padding-top: 0; }
  .details__canvas {
    font-size: 1px;
    gap: 16px;
    padding: 0 max(16px, env(safe-area-inset-right, 0px)) 32px max(16px, env(safe-area-inset-left, 0px));
  }
  .details__canvas .li-item { padding-left: 0; padding-right: 0; padding-bottom: 4px; }
  .details__card,
  .details__card--revenue, .details__card--tracks, .details__card--commitment,
  .details__card--nonexclusive, .details__card--why, .details__card--upload {
    padding: 22px 20px 26px;
    gap: 12px;
    border-radius: 16px;
  }
  .details__card h3,
  .details__card--nonexclusive h3,
  .details__card--upload h3 { font-size: 1.375rem; line-height: 1.2 !important; overflow-wrap: break-word; }
  .details__card p { font-size: 0.9375rem; line-height: 1.65 !important; }
  .details__card a { text-decoration: underline; text-underline-offset: 3px; }
}

/* two columns of Look Inside on large phones in landscape / small tablets */
@media (min-width: 600px) and (max-width: 767px) {
  .look__grid { display: flex; flex-wrap: wrap; align-items: stretch; }
  .look__col, .look__col--1, .look__col--2, .look__col--3, .look__col--4 { width: 50%; }
}

/* touch: no stuck hover lift.  reduced motion: no transitions */
@media (max-width: 767px) and (hover: none) {
  .rs-audio-submit__button:hover { transform: none; box-shadow: none; }
  .rs-audio-submit__button:active { transform: scale(0.98); }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .rs-audio-submit__button, .look__more-v { transition: none; }
}

/* ---------- Part 3: Advantages of AudioSparx, How to Participate ---------- */
/* ---- Advantages of AudioSparx + How to Participate: phones up to 767px ---- */
@media (max-width: 767px) {
  .about-artist-earn.radio-page {
    padding-top: 32px;
    padding-bottom: 40px !important;
    text-align: left;
  }
  .about-artist-earn.radio-page > .container {
    max-width: none;
    padding-left: 8px;
    padding-right: 8px;
  }
  .about-artist-earn.radio-page .aae-title {
    margin-top: 0;
    font-size: 1.75rem !important;
    line-height: 1.2 !important;
    overflow-wrap: break-word;
  }
  .about-artist-earn.radio-page .aae-subtitle {
    margin-top: 12px;
    margin-bottom: 28px !important;
    font-size: 1rem;
    line-height: 1.55 !important;
    width: 100%;
  }
  .about-artist-earn.radio-page .fs-2 {
    font-size: 1.375rem !important;
    line-height: 1.25;
  }
  .about-artist-earn.radio-page .row {
    --bs-gutter-y: 14px;
    justify-content: flex-start !important;
  }
  .about-artist-earn.radio-page .aae-item {
    align-items: flex-start !important;
    gap: 8px;
    padding: 22px 18px;
    border-width: 2px;
    border-radius: 18px;
    text-align: left;
  }
  .about-artist-earn.radio-page .aar-item-icon img {
    width: 56px !important;
    height: auto;
  }
  .about-artist-earn.radio-page .aae-item-title {
    font-size: 1.25rem;
    line-height: 1.25 !important;
    overflow-wrap: break-word;
  }
  .about-artist-earn.radio-page .aae-item-text {
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
            line-clamp: unset;
    font-size: 1rem;
    line-height: 1.55 !important;
    overflow-wrap: break-word;
  }
  .about-artist-earn.radio-page .aae-item-text a {
    font-size: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .about-artist-earn.radio-page .aae-item-text a:focus-visible,
  .about-artist-earn.radio-page .aae-toggle:focus-visible {
    outline: 3px solid #8fe6ff;
    outline-offset: 3px;
  }
  .about-artist-earn.radio-page .aae-toggle { display: none; }
}

/* ---------- Part 4: Artists Earn With AudioSparx, blue theme ---------- */
/* ---- Artists Earn With AudioSparx (mobile stack): blue theme, phones up to 767px ---- */
@media (max-width: 767px) {
  .mobile-earn-section.bg-white {
    margin-bottom: 0 !important;
    background:
      radial-gradient(ellipse 90% 60% at 50% 0%, rgba(18, 147, 230, 0.55) 0%, rgba(18, 147, 230, 0) 100%),
      #04263b !important;
  }
  .mobile-earn-section > .container {
    padding: 28px max(16px, env(safe-area-inset-right, 0px)) 20px max(16px, env(safe-area-inset-left, 0px)) !important;
  }
  .mobile-earn-section .mobile-earn-header {
    flex-wrap: wrap;
    gap: 14px 16px;
  }
  .mobile-earn-section .mobile-earn-title-text {
    flex: 1 1 12em;
    min-width: 0;
    color: #fff !important;
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 1.2;
    overflow-wrap: break-word;
  }
  .mobile-earn-section .mobile-earn-header a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
    min-height: 46px;
    padding: 10px 22px;
    border: 1px solid rgba(95, 199, 247, 0.74);
    background: linear-gradient(90deg, #075ca8 0%, #0769b6 63%, #087ec7 100%);
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
  }
  .mobile-earn-section .mobile-earn-header a.btn:focus-visible {
    outline: 3px solid #8fe6ff;
    outline-offset: 3px;
  }
  /* photo keeps its light and shade, takes the section's blue */
  .mobile-earn-section .mobile-earn-item {
    height: 128px;
    margin-bottom: 2px;
    background-color: #0a6fc4;
    background-blend-mode: luminosity;
  }
  .mobile-earn-section .mobile-earn-item:last-child { margin-bottom: 0; }
  .mobile-earn-section .mobile-earn-overlay {
    justify-content: flex-start;
    align-items: flex-end;
    padding: 0 max(16px, env(safe-area-inset-right, 0px)) 18px max(16px, env(safe-area-inset-left, 0px));
    background: linear-gradient(90deg, rgba(3, 30, 56, 0.86) 0%, rgba(6, 80, 150, 0.5) 60%, rgba(10, 150, 230, 0.12) 100%);
  }
  .mobile-earn-section .mobile-earn-item h3 {
    font-family: "castelia", "Poppins", sans-serif;
    font-size: 1.375rem;
    font-weight: 400;
    line-height: 1.2 !important;
    letter-spacing: -0.02em;
    text-align: left;
    text-transform: uppercase;
    overflow-wrap: break-word;
  }
}

/* ---------- Part 5: Artists Earn, tap a strip to open it ---------- */
/* ---- Artists Earn: tap a strip to open it (details/summary markup). Structure for every width the stack shows at ---- */
.mobile-earn-section details.mobile-earn-item { display: block; height: auto; }
.mobile-earn-section details.mobile-earn-item > summary {
  position: relative;
  height: 140px;
  list-style: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.mobile-earn-section details.mobile-earn-item > summary::-webkit-details-marker { display: none; }
.mobile-earn-section details.mobile-earn-item > summary:focus-visible { outline: 3px solid #8fe6ff; outline-offset: -3px; }
.mobile-earn-section details.mobile-earn-item > summary::after {
  content: "";
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 30px;
  height: 30px;
  border: 2px solid #fff;
  border-radius: 50%;
  background:
    linear-gradient(#fff, #fff) center / 12px 2px no-repeat,
    linear-gradient(#fff, #fff) center / 2px 12px no-repeat;
}
.mobile-earn-section details.mobile-earn-item[open] > summary::after {
  background: linear-gradient(#fff, #fff) center / 12px 2px no-repeat;
}
.mobile-earn-section .mobile-earn-desc {
  margin: 0;
  padding: 16px 20px 20px;
  background: rgba(46, 12, 43, 0.86);
  color: #fff;
  font-size: 1rem;
  line-height: 1.55 !important;
}
@media (prefers-reduced-motion: no-preference) {
  .mobile-earn-section details.mobile-earn-item[open] > .mobile-earn-desc { animation: rs-earn-in 0.22s ease-out; }
  @keyframes rs-earn-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 767px) {
  .mobile-earn-section details.mobile-earn-item > summary { height: 128px; padding-right: 60px; }
  .mobile-earn-section .mobile-earn-desc {
    padding: 14px max(16px, env(safe-area-inset-right, 0px)) 20px max(16px, env(safe-area-inset-left, 0px));
  }
}
/* 1 Accordion Drop: the strip stays, a panel opens under it */
@media (max-width: 767px) {
  .mobile-earn-section .mobile-earn-desc { background: linear-gradient(180deg, #073a61 0%, #04263b 100%); }
  .mobile-earn-section details.mobile-earn-item[open] > summary { box-shadow: inset 0 -3px 0 #35b4f5; }
}

/* ---------- Part 6: Cinematic Poster layout ---------- */
/* ===== Option B: Cinematic Poster ===== */
@media (max-width: 767px) {
  /* hero: artwork first and larger, headline rises over its foot */
  .rs-audio-submit__right { order: -1; aspect-ratio: 1 / 0.92; }
  .rs-audio-submit__strip,
  .rs-audio-submit__strip--top,
  .rs-audio-submit__strip--middle,
  .rs-audio-submit__strip--bottom { background-size: 100% 100%, 132vw auto; }
  .rs-audio-submit__strip--top    { top: 7%;  width: 78%;  height: 25%; }
  .rs-audio-submit__strip--middle { top: 36%; width: 100%; height: 25%; border-radius: 0; }
  .rs-audio-submit__strip--bottom { top: 65%; width: 84%;  height: 25%; }
  .rs-audio-submit__left {
    margin-top: -84px;
    z-index: 4;
    border-radius: 0;
    background: linear-gradient(180deg, rgba(2, 30, 56, 0) 0, rgba(2, 30, 56, 0.86) 84px, rgba(2, 30, 56, 0.94) 100%);
  }
  .rs-audio-submit__left::after { display: none; }
  .rs-audio-submit__content { padding-top: 20px; padding-bottom: 48px; }
  .rs-audio-submit__title { font-size: clamp(2.875rem, 14.9vw, 4.75rem); text-shadow: 0 2px 18px rgba(0, 20, 40, 0.55); }

  /* Look Inside: tall photo, its card fades up into it */
  .look__img,
  .look__img--blonde, .look__img--violin, .look__img--teal-singer, .look__img--chair,
  .look__img--red-dress, .look__img--drummer, .look__img--leopard, .look__img--curly,
  .look__img--headphones, .look__img--band { aspect-ratio: 5 / 4; }
  .look__img + .look__card {
    position: relative;
    margin-top: -72px;
    padding-top: 84px;
    -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 72px);
            mask-image: linear-gradient(180deg, transparent 0, #000 72px);
  }
  .look__card h3 { font-size: 1.625rem; }

  /* Details: full-bleed photos, cards overlap them */
  .details__canvas { gap: 0; padding-left: 0; padding-right: 0; }
  .details__canvas .li-item { order: 0; padding: 28px max(16px, env(safe-area-inset-right, 0px)) 20px max(16px, env(safe-area-inset-left, 0px)); }
  .details__photo-top,
  .details__photo--dj-a,
  .details__photo--stage-b,
  .details__thumb img { height: auto; aspect-ratio: 5 / 4; border-radius: 0; }
  .details__thumb { border-radius: 0; }
  .details__card,
  .details__card--revenue, .details__card--tracks, .details__card--commitment,
  .details__card--nonexclusive, .details__card--why, .details__card--upload {
    margin: -56px max(16px, env(safe-area-inset-right, 0px)) 28px max(16px, env(safe-area-inset-left, 0px));
    box-shadow: 0 14px 34px rgba(0, 12, 30, 0.45);
  }
  .details__photo-top          { order: 1; }
  .details__card--revenue      { order: 2; }
  .details__photo--dj-a        { order: 3; }
  .details__card--tracks       { order: 4; }
  .details__thumb              { order: 5; }
  .details__card--commitment   { order: 6; }
  .details__card--nonexclusive { order: 7; margin-top: 0; }
  .details__photo--stage-b     { order: 8; }
  .details__card--why          { order: 9; }
  .details__card--upload       { order: 10; margin-top: 0; margin-bottom: 36px; }
}
/* B: How to Participate reads as numbered steps */
@media (max-width: 767px) {
  .how-to-part.radio-page .row { counter-reset: rs-step; }
  .how-to-part.radio-page .aae-item { position: relative; counter-increment: rs-step; }
  .how-to-part.radio-page .aae-item::before {
    content: counter(rs-step, decimal-leading-zero);
    position: absolute;
    top: 14px;
    right: 18px;
    font-family: "Antonio", "antonio", sans-serif;
    font-size: 2.75rem;
    font-weight: 700;
    line-height: 1;
    color: rgba(143, 230, 255, 0.55);
  }
  .how-to-part.radio-page .aae-item-title { padding-right: 56px; }
  .about-artist-earn.radio-page .aae-item { background: rgba(0, 24, 48, 0.35); border-color: rgba(143, 230, 255, 0.35); }
}
/* ============ end AudioSparx Participation mobile block ============ */


/* ==========================================================================
   AUDIOSPARX PARTICIPATION (submit-audio.cfm) - TABLET ONLY, 768px to 1199px
   [Option 1, Faithful Fix] with the hero from [Option 2, Poster Tablet]
   Added by Claude, 2026-10-06. Every rule is inside a min-width: 768px and
   max-width: 1199.98px (or narrower) query. Phones and 1200px+ are untouched.
   ========================================================================== */

/* ---- shared tablet fixes: 768px to 1199px ---- */

/* hero, landscape tablets (desktop side-by-side layout): the fixed 1512/548 box was
   shorter than its text, so the end of the paragraph and the Contact Us button were cut off */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .rs-audio-submit { aspect-ratio: auto; min-height: calc(100vw * 548 / 1512); }
  .rs-audio-submit__content { height: auto; padding: 36px 24px 40px 30px; }
  .rs-audio-submit__title { margin-left: 22px; font-size: clamp(3.25rem, 5.4vw, 4rem); }
  .rs-audio-submit__description { margin-top: 26px; margin-left: 22px; font-size: 1.0625rem; }
  .rs-audio-submit__description br { display: none; }
  .rs-audio-submit__button { width: 248px; height: 58px; margin-top: 28px; margin-left: 22px; font-size: 1.3125rem; }
  .rs-audio-submit__strip,
  .rs-audio-submit__strip--top,
  .rs-audio-submit__strip--middle,
  .rs-audio-submit__strip--bottom { background-size: 100% 100%, 50.265vw auto; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .rs-audio-submit__button:focus-visible,
  .look__more:focus-visible,
  .details__more:focus-visible,
  .details__card a:focus-visible,
  .about-artist-earn.radio-page .aae-toggle:focus-visible,
  .about-artist-earn.radio-page .aae-item-text a:focus-visible {
    outline: 3px solid #8fe6ff;
    outline-offset: 3px;
  }
  /* bigger tap area, same look */
  .look__card .look__more::after,
  .about-artist-earn.radio-page .aae-toggle::after {
    content: "";
    position: absolute;
    inset: -10px;
  }
  .about-artist-earn.radio-page .aae-toggle { position: relative; }
  .details__card a { text-decoration: underline; text-underline-offset: 3px; }
}
@media (min-width: 768px) and (max-width: 1199.98px) and (hover: none) {
  .rs-audio-submit__button:hover { transform: none; box-shadow: none; }
  .rs-audio-submit__button:active { transform: scale(0.98); }
}
@media (min-width: 768px) and (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
  .rs-audio-submit__button, .look__more-v, .earn-thumbnail, .ways-earn-btn { transition: none; }
}

/* ---- Artists Earn, blue theme: stacked strips (768 to 991px) ---- */
@media (min-width: 768px) and (max-width: 991.98px) {
  .mobile-earn-section.bg-white {
    margin-bottom: 0 !important;
    background:
      radial-gradient(ellipse 90% 60% at 50% 0%, rgba(18, 147, 230, 0.55) 0%, rgba(18, 147, 230, 0) 100%),
      #04263b !important;
  }
  .mobile-earn-section > .container { padding: 32px 24px 22px !important; }
  .mobile-earn-section .mobile-earn-title-text {
    color: #fff !important;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.2;
  }
  .mobile-earn-section .mobile-earn-header a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    min-height: 46px;
    padding: 10px 24px;
    border: 1px solid rgba(95, 199, 247, 0.74);
    background: linear-gradient(90deg, #075ca8 0%, #0769b6 63%, #087ec7 100%);
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
  }
  .mobile-earn-section .mobile-earn-header a.btn:focus-visible { outline: 3px solid #8fe6ff; outline-offset: 3px; }
  .mobile-earn-section .mobile-earn-item {
    margin-bottom: 2px;
    background-color: #0a6fc4;
    background-blend-mode: luminosity;
  }
  .mobile-earn-section .mobile-earn-item:last-child { margin-bottom: 0; }
  .mobile-earn-section details.mobile-earn-item > summary { padding-right: 70px; }
  .mobile-earn-section details.mobile-earn-item > summary::after { right: 24px; bottom: 20px; }
  .mobile-earn-section .mobile-earn-overlay {
    justify-content: flex-start;
    align-items: flex-end;
    padding: 0 24px 22px;
    background: linear-gradient(90deg, rgba(3, 30, 56, 0.86) 0%, rgba(6, 80, 150, 0.5) 60%, rgba(10, 150, 230, 0.12) 100%);
  }
  .mobile-earn-section .mobile-earn-item h3 {
    font-family: "castelia", "Poppins", sans-serif;
    font-size: 1.625rem;
    font-weight: 400;
    line-height: 1.2 !important;
    letter-spacing: -0.02em;
    text-align: left;
    text-transform: uppercase;
  }
  .mobile-earn-section .mobile-earn-desc {
    padding: 16px 24px 22px;
    background: linear-gradient(180deg, #073a61 0%, #04263b 100%);
    font-size: 1.0625rem;
  }
  .mobile-earn-section details.mobile-earn-item[open] > summary { box-shadow: inset 0 -3px 0 #35b4f5; }
}

/* ---- Artists Earn, blue theme: tabbed slider (992 to 1199px) ---- */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .ways-earn-section.radio-page #we-slider-section {
    position: relative;
    background-color: #0a5fae;
    background-blend-mode: luminosity;
  }
  .ways-earn-section.radio-page .we-bg-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(3, 30, 56, 0.86) 0%, rgba(6, 80, 150, 0.55) 55%, rgba(10, 150, 230, 0.2) 100%);
  }
  .ways-earn-section.radio-page .ways-earn-btn {
    border: 1px solid rgba(95, 199, 247, 0.74);
    background: linear-gradient(90deg, #075ca8 0%, #0769b6 63%, #087ec7 100%);
  }
  .ways-earn-section.radio-page .earn-thumbnail { background: #0a4f8f; }
  .ways-earn-section.radio-page .earn-thumbnail img { filter: grayscale(1) brightness(0.6); mix-blend-mode: luminosity; }
  .ways-earn-section.radio-page .earn-thumbnail.active img { filter: grayscale(1) brightness(1); }
}

/* Details collage (where it is shown): its two-line title was a fixed 70px and ran under the first photo */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .details__canvas .lookText { font-size: 70em; }
  .details__canvas .insideText { font-size: 35em; margin-bottom: 0; }
  .details__canvas .li-item { margin-top: 12em; }
}

/* hero, portrait tablets: artwork first, headline rises over its foot (as on phones) */
@media (min-width: 768px) and (max-width: 991.98px) {
  .rs-audio-submit { display: flex; flex-direction: column; }
  .rs-audio-submit__right { order: -1; height: auto; aspect-ratio: 760 / 548; }
  .rs-audio-submit__strip,
  .rs-audio-submit__strip--top,
  .rs-audio-submit__strip--middle,
  .rs-audio-submit__strip--bottom { background-size: 100% 100%, 100vw auto; }
  .rs-audio-submit__left {
    min-height: 0;
    margin-top: -110px;
    z-index: 4;
    border-radius: 0;
    background: linear-gradient(180deg, rgba(2, 30, 56, 0) 0, rgba(2, 30, 56, 0.86) 110px, rgba(2, 30, 56, 0.94) 100%);
  }
  .rs-audio-submit__left::after { display: none; }
  .rs-audio-submit__content { height: auto; padding: 45px 45px 60px; }
  .rs-audio-submit__title { text-shadow: 0 2px 18px rgba(0, 20, 40, 0.55); }
}

/* ---- Look Inside, 768 to 1199px: keep the grid, let cards grow instead of cutting text ---- */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .look__card--storage    { height: auto; min-height: 578em; }
  .look__card--ringtone   { height: auto; min-height: 447em; }
  .look__card--royalties  { height: auto; min-height: 368em; }
  .look__card--control-a  { height: auto; min-height: 363em; }
  .look__card--websites   { height: auto; min-height: 301em; }
  .look__card--money      { height: auto; min-height: 362em; }
  .look__card--control-b  { height: auto; min-height: 352em; }
  .look__card--paid       { height: auto; min-height: 313em; }
  .look__card--traffic    { height: auto; min-height: 363em; }
  .look__card--monitoring { height: auto; min-height: 303em; padding-bottom: 24em; }
  .look__card--deals      { height: auto; min-height: 407em; }
  .look__card h3 { font-size: max(33em, 1.125rem); overflow-wrap: break-word; }
  .look__card p { font-size: max(21em, 0.875rem); }
  .look__list { font-size: max(18em, 0.875rem); }
  .look__list--sm { font-size: max(15em, 0.875rem); }
  .look__logo { flex: none; }
  .look__card .look__more { flex: none; min-width: 24px; min-height: 24px; }
}
@media (min-width: 1024px) and (max-width: 1199.98px) {
  /* four narrow columns: the wide right-hand gaps of the desktop design leave too little room for text */
  .look__card { --pad-right: 14em; }
}

/* Details, 768 to 1099px: the scaled collage put body text at 9 to 13px. Two columns, real text sizes */
@media (min-width: 768px) and (max-width: 1099.98px) {
  .details__canvas {
    height: auto;
    font-size: 1px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 20px;
    padding: 0 24px 40px;
  }
  .details__canvas .li-item { grid-column: 1 / -1; margin-top: 20px; }
  .details__card,
  .details__photo,
  .details__photo-top,
  .details__thumb { position: static; width: auto; height: auto; }
  .details__photo--dj-b,
  .details__photo--stage-a { display: none; }
  .details__photo--dj-a,
  .details__photo--stage-b { min-height: 260px; background-size: cover; background-position: center top; border-radius: 22px; }
  .details__photo-top { width: 100%; height: 100%; min-height: 240px; border-radius: 22px; }
  .details__thumb { padding: 0; background: none; }
  .details__thumb img { height: 100%; min-height: 220px; border-radius: 22px; }
  .details__card { padding: 26px 26px 30px; gap: 14px; border-radius: 22px; }
  .details__card h3 { font-size: 1.5rem; line-height: 1.15 !important; }
  .details__card p { font-size: 1rem; line-height: 1.65 !important; }
  .details__card--upload p { -webkit-line-clamp: unset; line-clamp: unset; }
  .details__more { display: none; }
  .details__photo-top          { order: 1; }
  .details__card--revenue      { order: 2; }
  .details__card--tracks       { order: 3; }
  .details__photo--dj-a        { order: 4; }
  .details__thumb              { order: 5; }
  .details__card--commitment   { order: 6; }
  .details__card--nonexclusive { order: 7; }
  .details__photo--stage-b     { order: 8; }
  .details__card--why          { order: 9; }
  .details__card--upload       { order: 10; }
}

@media (min-width: 768px) and (max-width: 1099.98px) {
  .details__canvas .lookText { font-size: 4.375rem; }
  .details__canvas .insideText { font-size: 2.1875rem; }
}
/* ============ end AudioSparx Participation tablet block ============ */


/* ==========================================================================
   AUDIOSPARX PARTICIPATION (submit-audio.cfm) - PAGE GROUND + DESKTOP
   [Desktop option 2, Aligned 1512]
   Added by Claude, 2026-10-06.

   Part 1 (all widths): the page ground. It styles the .rs-audio-page wrapper
   that submit-audio.cfm now has around its sections. Nothing is set on body.
   Part 2: desktop fixes, 1200px and up, plus the Details text spacing from
   1100px (wherever the Details collage is shown).
   Part 3: Look Inside capped at 1512px on wide screens.
   ========================================================================== */

/* ---------- Part 1: page ground ---------- */
.rs-audio-page {
  display: flow-root;
  background:
    radial-gradient(ellipse 55% 42% at 52% 44%, #1293e6 0%, rgba(18, 147, 230, 0) 100%),
    #04263b;
  /* paint the same dark blue out to both edges of the window when the page column is narrower than the screen */
  box-shadow: 0 0 0 100vmax #04263b;
  clip-path: inset(0 -100vmax);
}

/* ---------- Part 2: desktop fixes ---------- */
@media (min-width: 1200px) {
  /* hero: let the box grow when its text needs more room than the fixed 1512/548 shape gives */
  .rs-audio-submit { aspect-ratio: auto; min-height: min(648px, calc(100vw * 648 / 1512)); }
  .rs-audio-submit__content { height: auto; padding-bottom: 32px; }

  /* Details sat against the left edge on screens wider than 1512px */
  .details { margin-left: auto; margin-right: auto; }

  /* Look Inside: cards grow to fit instead of squeezing the paragraph (cut lines, bullets over text) */
  .look__card--storage    { height: auto; min-height: 578em; }
  .look__card--ringtone   { height: auto; min-height: 447em; }
  .look__card--royalties  { height: auto; min-height: 368em; }
  .look__card--control-a  { height: auto; min-height: 363em; }
  .look__card--websites   { height: auto; min-height: 301em; }
  .look__card--money      { height: auto; min-height: 362em; }
  .look__card--control-b  { height: auto; min-height: 352em; }
  .look__card--paid       { height: auto; min-height: 313em; }
  .look__card--traffic    { height: auto; min-height: 363em; }
  .look__card--monitoring { height: auto; min-height: 303em; padding-bottom: 24em; }
  .look__card--deals      { height: auto; min-height: 407em; }
  .look__card p,
  .look__list,
  .look__logo,
  .look__card .look__more { flex-shrink: 0; }
  .look__list { margin-top: -0.6em; font-size: max(18em, 0.875rem); }
  .look__list--sm { margin-top: -0.7em; font-size: max(15em, 0.8125rem); }
  .look__card .look__more::after { content: ""; position: absolute; inset: -9px; }

  .rs-audio-submit__button:focus-visible,
  .look__more:focus-visible,
  .details__more:focus-visible,
  .details__card a:focus-visible {
    outline: 3px solid #8fe6ff;
    outline-offset: 3px;
  }
}
/* Details collage (1100px and up): one heading-to-text gap and one line spacing for all six cards */
@media (min-width: 1100px) {
  .details__card { gap: 24em; }
  .details__card p { line-height: 1.5 !important; }
  .details__card--upload p { -webkit-line-clamp: 11; line-clamp: 11; }
  /* the two-line title was a fixed 70px and touched the first photo on narrower desktops */
  .details__canvas .lookText { font-size: min(70px, 82em); }
  .details__canvas .insideText { font-size: min(35px, 41em); }
}
@media (min-width: 1200px) and (prefers-reduced-motion: reduce) {
  .rs-audio-submit__button, .look__more-v { transition: none; }
}

/* ---------- Part 3: Look Inside lines up with the hero and Details on wide screens ---------- */
@media (min-width: 1512px) {
  .look { max-width: 1512px; }
}
/* ============ end AudioSparx Participation page ground + desktop block ============ */


/* ==========================================================================
   SUBMIT MUSIC (alliance.cfm) - MOBILE ONLY  [Option B, Cinematic Poster]
   Added by Claude, 2026-10-06. Everything below is inside
   @media (max-width: 767px) and limited to .submit-music-page, the wrapper
   alliance.cfm uses. 768px and up is untouched.
   ========================================================================== */

/* ---------- Part 1: readable sizes, tap targets, no fixed heights ---------- */
@media (max-width: 767px) {
  /* hero */
  .submit-music-page .submit-hero-copy {
    padding-left: max(20px, env(safe-area-inset-left, 0px));
    padding-right: max(20px, env(safe-area-inset-right, 0px));
  }
  .submit-music-page .submit-hero-copy h1 { overflow-wrap: break-word; }
  .submit-music-page .submit-desc,
  .submit-music-page .submit-desc-text { font-size: 0.9375rem; line-height: 1.5 !important; }
  .submit-music-page .submit-show-more {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-top: 4px;
    padding: 8px 14px 8px 0;
    font-size: 1rem;
    text-decoration: underline;
    text-underline-offset: 4px;
    touch-action: manipulation;
  }

  /* What Are We Looking For */
  .submit-music-page .submit-needs {
    padding-left: max(16px, env(safe-area-inset-left, 0px));
    padding-right: max(16px, env(safe-area-inset-right, 0px));
  }
  .submit-music-page .submit-intro h2 { overflow-wrap: break-word; }
  .submit-music-page .submit-intro p { margin-top: 20px; font-size: 0.9375rem; line-height: 1.55 !important; }
  .submit-music-page .submit-needs-grid { gap: 16px; margin-top: 24px; }
  .submit-music-page .submit-need-card { height: auto; }
  .submit-music-page .submit-need-card > div { height: auto; min-height: 150px; padding: 14px 12px; }
  .submit-music-page .submit-need-card h3 { font-size: 1.1875rem; line-height: 1.2 !important; overflow-wrap: break-word; }
  .submit-music-page .submit-need-card p { font-size: 0.875rem; line-height: 1.4 !important; }
  .submit-music-page .submit-need-card img { height: 100%; }

  /* Participation At AudioSparx */
  .submit-music-page .participation-hero-content h2 { overflow-wrap: break-word; }
  .submit-music-page .participation-hero-content p { width: auto; max-width: 100%; font-size: 0.9375rem; line-height: 1.5 !important; }
  .submit-music-page .participation-hero-content { height: auto; }
  .submit-music-page .participation-options { height: auto; gap: 8px; }
  .submit-music-page .participation-option {
    height: auto;
    min-height: 48px;
    padding: 10px 12px;
    font-size: 0.9375rem;
    line-height: 1.35 !important;
    overflow-wrap: anywhere;
  }
  .submit-music-page .participation-arrow { flex: none; }
  .submit-music-page .participation-note { height: auto; padding: 24px 7px 14px; }
  .submit-music-page .participation-note p { height: auto; font-size: 0.9375rem; line-height: 1.6 !important; }
  .submit-music-page .participation-actions { height: auto; gap: 12px; }
  .submit-music-page .participation-btn {
    height: auto;
    min-height: 48px;
    padding: 12px 20px;
    font-size: 1rem;
    touch-action: manipulation;
  }
  .submit-music-page .participation-footer-text { height: auto; font-size: 0.9375rem; line-height: 1.5 !important; }

  .submit-music-page .submit-show-more:focus-visible,
  .submit-music-page .participation-btn:focus-visible {
    outline: 3px solid #8fe6ff;
    outline-offset: 3px;
  }
}
@media (max-width: 767px) and (hover: none) {
  .submit-music-page .participation-btn:hover,
  .submit-music-page .submit-need-card:hover { transform: none; }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .submit-music-page .participation-btn,
  .submit-music-page .submit-need-card,
  .submit-music-page .submit-need-card img { transition: none; }
}

/* ---------- Part 2: Cinematic Poster layout ---------- */
@media (max-width: 767px) {
  /* cards: photo fills the card, text sits over its foot */
  .submit-music-page .submit-need-card { display: block; min-height: 0; }
  .submit-music-page .submit-need-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: center top;
  }
  .submit-music-page .submit-need-card > div {
    width: auto;
    min-height: 240px;
    justify-content: flex-end;
    padding: 72px 16px 16px;
    background: linear-gradient(180deg, rgba(0, 24, 46, 0) 0%, rgba(0, 24, 46, 0.55) 45%, rgba(0, 24, 46, 0.9) 100%);
    margin-bottom: 0px;
  }
  .submit-music-page .submit-need-card h3 { font-size: 1.5rem; }
  .submit-music-page .submit-need-card p { font-size: 0.9375rem; }

  /* Participation: the singer comes back as the section's poster */
  .submit-music-page .participation-hero {
    display: flex;
    flex-direction: column-reverse;
    /* older rules fix this box at 254px, 300px or 420px, or at a 2.55:1 shape. With the photo back in the flow that made the heading spill over the list below */
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
    margin: 0 0 8px;
    padding: 0;
  }
  .submit-music-page .participation-hero-image { display: block; position: static; flex: none; width: auto; height: auto; opacity: 1; }
  .submit-music-page .participation-hero-image img {
    position: static;
    width: 100%;
    height: auto !important; /* an older rule sets 100% with !important */
    max-height: 240px;
    margin-top: 8px;
    object-fit: contain;
    object-position: right bottom;
  }
  .submit-music-page .participation-hero-content { flex: none; width: auto; min-height: 0; padding-top: 18px; padding-bottom: 14px; }
}
@media (min-width: 600px) and (max-width: 767px) {
  .submit-music-page .submit-needs-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
/* ============ end Submit Music (alliance.cfm) mobile block ============ */


/* ==========================================================================
   SUBMIT MUSIC (alliance.cfm) - TABLET ONLY, 768px to 1199px
   [Tablet option 1, Minimal Fix]
   Added by Claude, 2026-10-06. Every rule is inside a min-width: 768px and
   max-width: 1199.98px (or narrower) query and limited to .submit-music-page.
   Phones and 1200px+ are untouched. No layout is moved.
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1199.98px) {
  /* genre cards: 13px descriptions; "Contemporary" ran past its text column on narrow tablets */
  .submit-music-page .submit-need-card h3 { font-size: clamp(19px, 2.5vw, 26px); overflow-wrap: break-word; }
  .submit-music-page .submit-need-card p { font-size: 0.9375rem; }

  /* Show more: 21px-tall link. Same look, larger tap area */
  .submit-music-page .submit-show-more { position: relative; touch-action: manipulation; }
  .submit-music-page .submit-show-more::after { content: ""; position: absolute; inset: -12px -10px; }

  .submit-music-page .submit-show-more:focus-visible,
  .submit-music-page .participation-btn:focus-visible {
    outline: 3px solid #8fe6ff;
    outline-offset: 3px;
  }
  .submit-music-page .participation-option { overflow-wrap: anywhere; }
  .submit-music-page .participation-btn { touch-action: manipulation; }
}
/* opt-in rows were 13px below 1024px */
@media (min-width: 768px) and (max-width: 1023.98px) {
  .submit-music-page .participation-option { font-size: 0.9375rem; }
}
/* at exactly 768px (iPad portrait) the phone rule made this line 11px */
@media (min-width: 768px) and (max-width: 768.98px) {
  .submit-music-page .participation-hero-content p { font-size: 0.9375rem; }
}
@media (min-width: 768px) and (max-width: 1199.98px) and (hover: none) {
  .submit-music-page .participation-btn:hover,
  .submit-music-page .submit-need-card:hover { transform: none; }
}
@media (min-width: 768px) and (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
  .submit-music-page .participation-btn,
  .submit-music-page .submit-need-card,
  .submit-music-page .submit-need-card img { transition: none; }
}
/* Show more had nothing to open between 769 and 1023px (the paragraph is shown in full there) */
@media (min-width: 769px) and (max-width: 1023.98px) {
  .submit-music-page .submit-show-more { display: none; }
}
/* ============ end Submit Music (alliance.cfm) tablet block ============ */


/* ==========================================================================
   SUBMIT MUSIC (alliance.cfm) - DESKTOP, 1200px and up
   [Desktop option 3, Held at 1512]
   Added by Claude, 2026-10-06. Every rule is inside a min-width: 1200px
   (or wider) query and limited to .submit-music-page. Phones and tablets
   are untouched.
   Part 1: small fixes from 1200px.
   Part 2: wider than 1512px the page keeps its 1512px composition, centred.
   ========================================================================== */

/* ---------- Part 1: fixes ---------- */
@media (min-width: 1200px) {
  /* Show more: 21px-tall link. Same look, larger click and tap area */
  .submit-music-page .submit-show-more { position: relative; }
  .submit-music-page .submit-show-more::after { content: ""; position: absolute; inset: -12px -10px; }
  .submit-music-page .submit-show-more:focus-visible,
  .submit-music-page .participation-btn:focus-visible {
    outline: 3px solid #8fe6ff;
    outline-offset: 3px;
  }
}
/* "Contemporary Brit Pop" ran past its text column on the narrowest desktop windows */
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .submit-music-page .submit-need-card h3 { font-size: min(24px, 1.72vw); }
}
@media (min-width: 1500px) and (max-width: 1579.98px) {
  .submit-music-page .submit-need-card h3 { font-size: min(28px, 1.78vw); }
}
@media (min-width: 1200px) and (prefers-reduced-motion: reduce) {
  .submit-music-page .participation-btn,
  .submit-music-page .submit-need-card,
  .submit-music-page .submit-need-card img { transition: none; }
}

/* ---------- Part 2: held at 1512px ---------- */
/* wider than 1512px: keep the 1512px composition, centred. Section backgrounds still run edge to edge */
@media (min-width: 1513px) {
  .submit-music-page .submit-hero-art { left: calc(50% - 659px); }
  .submit-music-page .submit-hero-copy { right: calc(50% - 683px); width: 729px; }
  .submit-music-page .submit-hero-copy h1 { font-size: 72.576px; line-height: 1; }
  .submit-music-page .submit-desc,
  .submit-music-page .submit-desc-text { font-size: 17.539px; }
  .submit-music-page .submit-needs { padding-left: max(32px, calc((100% - 1448px) / 2)); padding-right: max(32px, calc((100% - 1448px) / 2)); }
  .submit-music-page .submit-intro h2 { font-size: 36.288px; }
  .submit-music-page .submit-intro p { font-size: 20.563px; }
  .submit-music-page .submit-need-card h3 { font-size: 26.9px; }
  .submit-music-page .participation-container { max-width: 1480px; }
}
/* ============ end Submit Music (alliance.cfm) desktop block ============ */


/* ==========================================================================
   SUBMIT MUSIC (alliance.cfm) - VENDOR PARTICIPATION OPTIONS  (all widths)
   Added by Claude, 2026-10-06. The two-option section that replaces
   "Participation At AudioSparx" on the RadioSparx site, plus the closing
   "Welcome" band. Every rule is limited to .submit-music-page and to the new
   .vendor-* classes, so no other page or section is affected.
   Sizes follow the 1920px design, scaled to the page's 1512px column.
   ========================================================================== */

/* ---------- section ground and panel ---------- */
.submit-music-page .vendor-options {
  position: relative;
  padding: clamp(12px, 2.6vw, 39px) clamp(8px, 2.34vw, 36px);
  background:
    linear-gradient(180deg, rgba(0, 58, 91, 0.64) 0%, rgba(0, 138, 188, 0.64) 100%),
    #00466e url("../images/bg-audiosparx-radiosparx.png") center / cover no-repeat;
  color: #fff;
  font-family: "Roboto", "roboto", sans-serif;
}
.submit-music-page .vendor-options *,
.submit-music-page .vendor-welcome * { box-sizing: border-box; }

.submit-music-page .vendor-options__panel {
  display: flex;
  flex-direction: column;
  gap: clamp(36px, 3.33vw, 50px);
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(24px, 3.33vw, 50px) clamp(14px, 2.19vw, 33px);
  border: 1px solid rgba(50, 190, 240, 0.38);
  border-radius: clamp(12px, 1.25vw, 19px);
  background: rgba(0, 153, 255, 0.1);
}

/* ---------- heading and intro note ---------- */
.submit-music-page .vendor-options__head h2 {
  margin: 0;
  padding: 0 0 clamp(14px, 1.35vw, 20px);
  border-bottom: 3px solid rgba(20, 169, 255, 0.44);
  color: #fff;
  font-family: inherit;
  font-size: clamp(1.75rem, 3.23vw, 48.8px);
  font-weight: 600;
  line-height: 1.18 !important;
  text-transform: capitalize;
  overflow-wrap: break-word;
}
.submit-music-page .vendor-options__head p {
  margin: clamp(20px, 2.81vw, 42px) 0 0;
  color: #fff;
  font-family: inherit;
  font-size: clamp(1rem, 1.25vw, 18.9px);
  font-weight: 500;
  line-height: 1.4 !important;
  text-transform: capitalize;
}

/* ---------- one option ---------- */
.submit-music-page .vendor-option { display: flex; flex-direction: column; min-width: 0; }
.submit-music-page .vendor-option__row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 43.75%) minmax(0, 1fr);
  align-items: center;
}

/* poster: gradient block, cut-out photo, title */
.submit-music-page .vendor-option__poster {
  position: relative;
  aspect-ratio: 763 / 535;
  display: flex;
  align-items: center;
  background: linear-gradient(270deg, #0081c7 0%, #003f61 100%);
}
.submit-music-page .vendor-option__poster img {
  position: absolute;
  bottom: 0;
  left: 42.8%;
  width: 106.2%;
  max-width: none;
  height: auto;
  pointer-events: none;
}
.submit-music-page .vendor-option__poster h3 {
  position: relative;
  z-index: 1;
  margin: 0;
  width: 103%;
  flex: none;
  padding: 0 0 0 12.4%;
  color: #fff;
  font-family: inherit;
  font-size: clamp(1.75rem, 3.75vw, 56.7px);
  font-weight: 300;
  line-height: 1.11 !important;
  text-transform: capitalize;
  text-shadow: 0 2px 14px rgba(0, 30, 50, 0.45);
}
.submit-music-page .vendor-option__poster h3 > * { display: block; }
.submit-music-page .vendor-option__poster h3 strong { font-weight: 600; }
.submit-music-page .vendor-option__poster h3 em { font-style: italic; font-weight: 300; }

/* text column */
.submit-music-page .vendor-option__body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: clamp(20px, 2.4vw, 36px);
  min-width: 0;
}
.submit-music-page .vendor-option__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 59.8%;
  min-width: 0;
}
.submit-music-page .vendor-option__text,
.submit-music-page .vendor-option__text p {
  margin: 0;
  color: #fff;
  font-family: inherit;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.3 !important;
  text-align: right;
  text-transform: capitalize;
}
.submit-music-page .vendor-option__text p + p { margin-top: 1.46em; }
.submit-music-page .vendor-option__text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 9;
          line-clamp: 9;
  overflow: hidden;
}
.submit-music-page .vendor-option__copy.is-open .vendor-option__text {
  display: block;
  -webkit-line-clamp: unset;
          line-clamp: unset;
  overflow: visible;
}
.submit-music-page .vendor-option__more {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 2px 0 -8px;
  padding: 8px 0;
  border: 0;
  background: none;
  color: #fff;
  font: inherit;
  font-size: clamp(0.9375rem, 1.15vw, 17px);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
  touch-action: manipulation;
}
.submit-music-page .vendor-option__more[hidden] { display: none; }

/* the two site links */
.submit-music-page .vendor-option__sites {
  display: none !important;
  justify-content: flex-end;
  gap: clamp(12px, 1.67vw, 25px);
  width: 79.6%;
}
.submit-music-page .vendor-option__sites a {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: clamp(48px, 4.48vw, 68px);
  padding: 10px 14px;
  border: 2px solid rgba(197, 232, 255, 0.34);
  border-radius: clamp(8px, 0.63vw, 10px);
  background: rgba(4, 127, 249, 0.08);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
  color: #fff;
  font-family: inherit;
  font-size: clamp(0.9375rem, 1.25vw, 18.9px);
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
}

/* option 2: mirror image of option 1 */
.submit-music-page .vendor-option--rs .vendor-option__row { grid-template-columns: minmax(0, 1fr) minmax(0, 47.8%); }
.submit-music-page .vendor-option--rs .vendor-option__poster {
  order: 2;
  aspect-ratio: 747 / 535;
  justify-content: flex-end;
  background: linear-gradient(270deg, #003f61 0%, #0081c7 100%);
}
.submit-music-page .vendor-option--rs .vendor-option__poster img { left: -24.3%; width: 75.3%; }
.submit-music-page .vendor-option--rs .vendor-option__poster h3 { width: 100%; padding: 0 10% 0 7.3%; text-align: right; }
.submit-music-page .vendor-option--rs .vendor-option__body { align-items: flex-start; }
.submit-music-page .vendor-option--rs .vendor-option__copy { align-items: flex-start; width: 80%; }
.submit-music-page .vendor-option--rs .vendor-option__text,
.submit-music-page .vendor-option--rs .vendor-option__text p { text-align: left; }
.submit-music-page .vendor-option--rs .vendor-option__text { -webkit-line-clamp: 14; line-clamp: 12; }

/* ---------- buttons and notes ---------- */
.submit-music-page .vendor-option__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(12px, 1.25vw, 19px);
  margin-top: 30px;
}
.submit-music-page .vendor-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(260px, 23.33vw, 353px);
  max-width: 100%;
  min-height: clamp(50px, 4.17vw, 63px);
  padding: 10px 20px;
  border: 2px solid transparent;
  border-radius: 2px;
  font-family: "Roboto", "roboto", sans-serif;
  font-size: clamp(1rem, 1.354vw, 20.5px);
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  text-transform: capitalize;
  touch-action: manipulation;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.submit-music-page .vendor-btn--outline {
  border-color: rgba(54, 180, 255, 0.64);
  background: rgba(27, 186, 255, 0.12);
  -webkit-backdrop-filter: blur(11px);
          backdrop-filter: blur(11px);
  color: #fff;
}
.submit-music-page .vendor-btn--light { background: #fff; color: #015999; }
.submit-music-page .vendor-option__note {
  margin: clamp(16px, 1.46vw, 22px) 0 0;
  color: #fff;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5 !important;
  text-align: center;
  text-transform: capitalize;
  margin-bottom: 20px;
}

@media (hover: hover) {
  .submit-music-page .vendor-btn--outline:hover { border-color: rgba(139, 225, 255, 1); background: rgba(27, 186, 255, 0.22); color: #fff; }
  .submit-music-page .vendor-btn--light:hover { background: #e6f4ff; color: #015999; }
  .submit-music-page .vendor-option__sites a:hover { border-color: rgba(197, 232, 255, 0.7); color: #fff; }
}
.submit-music-page .vendor-btn:active { transform: scale(0.98); }
.submit-music-page .vendor-btn:focus-visible,
.submit-music-page .vendor-option__sites a:focus-visible,
.submit-music-page .vendor-option__more:focus-visible {
  outline: 3px solid #8fe6ff;
  outline-offset: 3px;
}

/* ---------- closing band ---------- */
.submit-music-page .vendor-welcome {
  padding: clamp(28px, 2.19vw, 33px) clamp(16px, 3.33vw, 50px);
  background: linear-gradient(90deg, #003859 0%, #008cbf 100%);
  color: #fff;
  font-family: "Roboto", "roboto", sans-serif;
}
.submit-music-page .vendor-welcome__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(18px, 1.46vw, 22px);
  max-width: 1412px;
  margin: 0 auto;
}
.submit-music-page .vendor-welcome h2 {
  margin: 0;
  padding: clamp(8px, 0.94vw, 14px) 0;
  color: #fff;
  font-family: inherit;
  font-size: clamp(1.375rem, 2.19vw, 33px);
  font-weight: 600;
  line-height: 1.2 !important;
  text-align: center;
  text-transform: capitalize;
  text-wrap: balance;
}
.submit-music-page .vendor-btn--welcome { width: clamp(240px, 20.83vw, 315px); color: #003859; font-weight: 500; }
.submit-music-page .vendor-welcome__note {
  width: 100%;
  max-width: 1314px;
  margin: 0;
  padding: clamp(14px, 1.15vw, 17px) clamp(14px, 1.25vw, 19px);
  padding-top: 5px;
  border-radius: 10px;
  color: #fff;
  font-family: inherit;
  font-size: clamp(0.875rem, 1.04vw, 1rem);
  font-weight: 400;
  line-height: 1.45 !important;
  text-align: center;
  text-transform: capitalize;
}

/* ---------- tablets and narrow windows: poster above its text ---------- */
@media (max-width: 991.98px) {
  .submit-music-page .vendor-option__row,
  .submit-music-page .vendor-option--rs .vendor-option__row { display: flex; flex-direction: column; align-items: stretch; gap: 24px; }
  .submit-music-page .vendor-option__poster,
  .submit-music-page .vendor-option--rs .vendor-option__poster { order: 0; aspect-ratio: auto; min-height: clamp(220px, 40vw, 360px); overflow: hidden; }
  .submit-music-page .vendor-option__poster img { left: auto; right: -2%; width: auto; height: 94%; }
  .submit-music-page .vendor-option--rs .vendor-option__poster img { left: -1%; right: auto; width: auto; height: 94%; }
  .submit-music-page .vendor-option__poster h3 { width: 62%; padding: 20px 0 20px clamp(16px, 5vw, 44px); font-size: clamp(1.625rem, 5.6vw, 3rem); }
  .submit-music-page .vendor-option--rs .vendor-option__poster h3 { width: 62%; padding: 20px clamp(16px, 5vw, 44px) 20px 0; }
  .submit-music-page .vendor-option__body,
  .submit-music-page .vendor-option--rs .vendor-option__body { align-items: stretch; gap: 20px; }
  .submit-music-page .vendor-option__copy,
  .submit-music-page .vendor-option--rs .vendor-option__copy { align-items: flex-start; width: auto; }
  .submit-music-page .vendor-option__text,
  .submit-music-page .vendor-option__text p { font-size: 1.0625rem; line-height: 1.55 !important; text-align: left; }
  .submit-music-page .vendor-option__text,
  .submit-music-page .vendor-option--rs .vendor-option__text { -webkit-line-clamp: 7; line-clamp: 7; }
  .submit-music-page .vendor-option__sites { justify-content: flex-start; width: auto; }
  .submit-music-page .vendor-option__actions { margin-top: 28px; }
  .submit-music-page .vendor-btn { width: min(100%, 340px); }
}

/* ---------- phones ---------- */
@media (max-width: 599.98px) {
  .submit-music-page .vendor-options { padding-left: max(8px, env(safe-area-inset-left, 0px)); padding-right: max(8px, env(safe-area-inset-right, 0px)); }
  .submit-music-page .vendor-option__poster,
  .submit-music-page .vendor-option--rs .vendor-option__poster { min-height: 0; flex-direction: column; align-items: stretch; justify-content: flex-start; }
  .submit-music-page .vendor-option__poster img,
  .submit-music-page .vendor-option--rs .vendor-option__poster img {
    position: static;
    order: 2;
    align-self: flex-end;
    width: 88%;
    height: auto;
    margin-top: -6%;
  }
  .submit-music-page .vendor-option--rs .vendor-option__poster img { align-self: flex-start; width: 74%; }
  .submit-music-page .vendor-option__poster h3,
  .submit-music-page .vendor-option--rs .vendor-option__poster h3 { width: auto; padding: 22px 18px 0; font-size: clamp(1.625rem, 8.4vw, 2.25rem); }
  .submit-music-page .vendor-option__text,
  .submit-music-page .vendor-option__text p { font-size: 1rem; }
  .submit-music-page .vendor-option__sites { flex-direction: column; }
  .submit-music-page .vendor-option__sites a { flex: none; min-height: 48px; }
  .submit-music-page .vendor-option__actions { flex-direction: column; align-items: stretch; }
  .submit-music-page .vendor-btn,
  .submit-music-page .vendor-btn--welcome { width: 100%; min-height: 50px; }
  .submit-music-page .vendor-welcome { padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
}

@media (prefers-reduced-motion: reduce) {
  .submit-music-page .vendor-btn { transition: none; }
  .submit-music-page .vendor-btn:active { transform: none; }
}
/* ============ end Vendor Participation Options block ============ */
/* =====================================================================
   RADIOSPARX MUSIC BLOG : SECTIONS (hero + Filter By Genres / blogs)
   Every rule is scoped to .radio-blog* classes, no body/html/global tags,
   so this block can be appended to the shared stylesheet safely.
   Fonts used: Antonio (400, 600) and Roboto (400, 500, 600).
   Design reference: 1512px frame.
   ===================================================================== */

   .radio-blog,
   .radio-blog *,
   .radio-blog *::before,
   .radio-blog *::after {
       box-sizing: border-box;
   }

   .radio-blog {
       width: 100%;
       overflow-x: hidden;
       font-family: 'Roboto', Arial, sans-serif;
       -webkit-font-smoothing: antialiased;
       -moz-osx-font-smoothing: grayscale;
   }

   .radio-blog h1,
   .radio-blog h2,
   .radio-blog h3,
   .radio-blog p,
   .radio-blog ul {
       margin: 0;
       padding: 0;
   }

   .radio-blog ul {
       list-style: none;
   }

   .radio-blog a,
   .radio-blog a:hover,
   .radio-blog a:focus {
       text-decoration: none;
   }

   .radio-blog__sprite {
       position: absolute;
       width: 0;
       height: 0;
       overflow: hidden;
   }

   .radio-blog .radio-blog-icon-fill {
       fill: #005695;
   }

   /* ---------------------------------------------------------------------
      SECTION 1 : MUSIC BLOG HERO
      --------------------------------------------------------------------- */

   .radio-blog-hero {
       position: relative;
       height: 500px;
       overflow: hidden;
       background: linear-gradient(90deg, #065f9e 0%, #02365b 100%);
   }

   .radio-blog-hero__inner {
       position: relative;
       z-index: 2;
       max-width: 1512px;
       height: 100%;
       margin: 0 auto;
       padding: 94px 0 0 104px;
   }

   .radio-blog-hero__content {
       width: min(652px, calc(50vw - 20px));
       max-width: 100%;
   }

   .radio-blog-hero__title {
       font-family: 'Antonio',  sans-serif;
       font-size: 120px;
       font-weight: 500;
       line-height: 1 !important;
       letter-spacing: -5px;
       color: #ffffff;
       text-transform: none;
   }

   .radio-blog-hero__lead {
    margin-top: 32px !important;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.3 !important;
    letter-spacing: -0.15px;
    color: #ffffff;
   }

   .radio-blog-hero__text {
       margin-top: 7px !important;
       font-size: 24px;
       font-weight: 400;
       line-height: 31.5px;
       letter-spacing: -0.15px;
       color: #ffffff;
       display: -webkit-box;
       -webkit-box-orient: vertical;
       -webkit-line-clamp: 3;
       line-clamp: 3;
       overflow: hidden;
   }

   .radio-blog-hero__buttons {
       display: flex;
       gap: 34px;
       margin-top: 32px;
   }

   .radio-blog-hero__btn {
       display: inline-flex;
       align-items: center;
       justify-content: center;
       width: 200px;
       height: 55px;
       border-radius: 8px;
       font-family: 'Roboto', Arial, sans-serif;
       font-size: 20px;
       font-weight: 600;
       line-height: 1;
       letter-spacing: 0;
       transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
   }

   .radio-blog-hero__btn--glass {
       color: #ffffff !important;
       background: linear-gradient(90deg, #006aa8 0%, #04558a 100%);
       border: 1px solid rgba(127, 211, 255, 0.6);
   }

   .radio-blog-hero__btn--glass:hover,
   .radio-blog-hero__btn--glass:focus-visible {
       color: #ffffff;
       background: linear-gradient(90deg, #0279c0 0%, #05609c 100%);
   }

   .radio-blog-hero__btn--white {
       color: #003c5b !important;
       background: #ffffff;
       border: 1px solid #ffffff;
   }

   .radio-blog-hero__btn--white:hover,
   .radio-blog-hero__btn--white:focus-visible {
       color: #003c5b;
       background: #e6f6ff;
   }

   .radio-blog-hero__img {
       position: absolute;
       z-index: 1;
       right: min(0px, calc(50% - 756px));
       bottom: 0;
       height: 100%;
       width: auto;
       max-width: none;
       display: block;
       pointer-events: none;
   }

   /* ---------------------------------------------------------------------
      SECTION 2 : FILTER BY GENRES + BLOG CARDS
      --------------------------------------------------------------------- */

   .radio-blog-list {
       background: #013e68;
   }

   .radio-blog-list__inner {
       max-width: 1512px;
       margin: 0 auto;
       padding: 67px 64.5px 42px 64.5px;
   }

   .radio-blog-list__head {
       display: flex;
       align-items: flex-start;
       justify-content: space-between;
       gap: 24px;
       padding: 0 10.5px 0 15.5px;
       margin-bottom: 30px;
   }

   .radio-blog-list__title {
       font-family: 'Antonio', 'Arial Narrow', sans-serif;
       font-size: 58px;
       font-weight: 600;
       line-height: 58px;
       letter-spacing: -1px;
       color: #ffffff;
   }

   .radio-blog-list__filter {
       position: relative;
       flex: 0 0 318px;
       width: 318px;
       margin-top: 6px;
   }

   .radio-blog-list__select {
       display: block;
       width: 100%;
       height: 44px;
       margin: 0;
       padding: 0 44px 3px 17px;
       border: 1.5px solid #2bc2f3;
       border-radius: 8px;
       background: #fbfeff;
       font-family: 'Roboto', Arial, sans-serif;
       font-size: 16px;
       font-weight: 400;
       letter-spacing: 0.25px;
       color: #15374b;
       cursor: pointer;
       -webkit-appearance: none;
       -moz-appearance: none;
       appearance: none;
       box-shadow: none;
       outline: none;
   }

   .radio-blog-list__select:focus-visible {
       box-shadow: 0 0 0 3px rgba(43, 194, 243, 0.45);
   }

   .radio-blog-list__chevron {
       position: absolute;
       top: 50%;
       right: 20px;
       width: 13.78px;
       height: 8.9px;
       margin-top: -4.45px;
       fill: #1d3d50;
       pointer-events: none;
   }

   /* ----- Card ----- */

   .radio-blog-card {
       display: flex;
       align-items: flex-start;
       justify-content: space-between;
       min-height: 545px;
       padding: 42.5px 30px 42.8px 80px;
       border-radius: 32px;
       background: linear-gradient(90deg, #002e52 0%, #00bbff 100%);
       box-shadow: 1px 2px 4px rgba(150, 190, 215, 0.22);
   }

   .radio-blog-card + .radio-blog-card {
       margin-top: 25px;
   }

   .radio-blog-card--reverse {
       flex-direction: row-reverse;
       padding: 42.5px 74px 42.8px 80px;
       background: linear-gradient(270deg, #002e52 0%, #00bbff 100%);
   }

   .radio-blog-card__body {
       flex: 0 1 696px;
       min-width: 0;
       margin-right: 40px;
       padding-top: 20px;
   }

   .radio-blog-card--reverse .radio-blog-card__body {
       margin-right: 0;
       margin-left: 40px;
   }

   .radio-blog-card__title {
       font-family: 'Antonio', 'Arial Narrow', sans-serif;
       font-size: 40px;
       font-weight: 400;
       line-height: 51px;
       letter-spacing: 0.5px;
       color: #ffffff;
       overflow-wrap: anywhere;
   }

   .radio-blog-card__text {
       margin-top: 30.5px !important;
       font-size: 18px;
       font-weight: 400;
       line-height: 25.3px;
       letter-spacing: 0.45px;
       color: #ffffff;
       display: -webkit-box;
       -webkit-box-orient: vertical;
       -webkit-line-clamp: 4;
       line-clamp: 4;
       overflow: hidden;
   }

   .radio-blog-card__date {
       margin-top: 19px !important;
       font-size: 16px;
       font-weight: 500;
       line-height: 18px;
       letter-spacing: 0.25px;
       color: #ffffff;
   }

   .radio-blog-card__links {
       display: flex;
       align-items: center;
       gap: 24px;
       margin-top: 139.5px !important;
   }

   .radio-blog-card__link {
       display: flex;
       align-items: center;
       justify-content: center;
       width: 36px;
       height: 36px;
       color: #ffffff;
       border-radius: 6px;
       transition: opacity 0.2s ease, transform 0.2s ease;
   }

   .radio-blog-card__link:hover,
   .radio-blog-card__link:focus-visible {
       color: #ffffff;
       opacity: 0.8;
   }

   .radio-blog-card__icon {
       display: block;
       flex: none;
       fill: currentColor;
   }

   .radio-blog-card__icon--disc     { width: 35.18px; height: 33.06px; }
   .radio-blog-card__icon--artist   { width: 33.06px; height: 27.98px; }
   .radio-blog-card__icon--playlist { width: 32px;    height: 25.01px; }
   .radio-blog-card__icon--library  { width: 32.85px; height: 33.06px; }

   .radio-blog-card__more {
       display: inline-flex;
       align-items: center;
       justify-content: center;
       gap: 15px;
       width: 240px;
       height: 52px;
       margin-top: 0px;
       padding-left: 2px;
       border-radius: 6px;
       background: #ffffff;
       box-shadow: 0 2px 4px rgba(0, 20, 40, 0.18);
       font-family: 'Roboto', Arial, sans-serif;
       font-size: 22px;
       font-weight: 400;
       line-height: 1;
       color: #00305c;
       transition: background-color 0.2s ease;
   }

   .radio-blog-card__more:hover,
   .radio-blog-card__more:focus-visible {
       color: #00305c;
       background: #e6f6ff;
   }

   .radio-blog-card__more-icon {
       width: 18.23px;
       height: 18.02px;
       fill: currentColor;
       flex: none;
   }

   /* ----- Card media (photo + actions) ----- */

   .radio-blog-card__media {
       flex: 0 0 570px;
       width: 700px;
       height: 460px;
       padding: 0 7px 0 12px;
       border-radius: 32px;
       background: rgba(0, 143, 255, 0.13);
   }

   .radio-blog-card--reverse .radio-blog-card__media {
       padding: 0 12px 0 6.5px;
   }

   .radio-blog-card__img {
       display: block;
       width: 700px;
       max-width: 100%;
       height: 398px;
       object-fit: cover;
       border-radius: 28px 28px 22px 22px;
       box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.25);
   }

   .radio-blog-card__actions {
       display: flex;
       align-items: center;
       height: 44px;
       margin-top: 18.5px;
       padding-left: 55px;
   }

   .radio-blog-card--reverse .radio-blog-card__actions {
       padding-left: 56px;
   }

   .radio-blog-card__likes {
       display: inline-flex;
       align-items: center;
       gap: 6px;
       margin-right: 56.5px;
       font-size: 20px;
       font-weight: 400;
       line-height: 1;
       letter-spacing: 0.5px;
       color: #ffffff;
       white-space: nowrap;
   }

   .radio-blog-card--reverse .radio-blog-card__likes {
       order: 2;
       margin-right: 0;
       margin-left: 60px;
   }

   .radio-blog-card__heart {
       width: 25.22px;
       height: 22.25px;
       fill: currentColor;
       flex: none;
   }

   .radio-blog-card__round {
       display: inline-flex;
       align-items: center;
       justify-content: center;
       flex: none;
       width: 44px;
       height: 44px;
       margin: 0;
       padding: 0;
       border: 0;
       border-radius: 50%;
       background: radial-gradient(circle at 32% 24%, #5cdcf8 0%, #2a9be6 30%, #1673d6 58%, #0b4db6 84%, #083b9c 100%);
       color: #ffffff;
       cursor: pointer;
       transition: filter 0.2s ease, transform 0.2s ease;
   }

   .radio-blog-card__round + .radio-blog-card__round {
       margin-left: 19px;
   }

   .radio-blog-card__round:hover,
   .radio-blog-card__round:focus-visible {
       filter: brightness(1.12);
   }

   .radio-blog-card__round svg {
       display: block;
       fill: currentColor;
   }

   .radio-blog-card__round--play svg  { width: 14.62px; height: 19.71px; margin-left: 3px; }
   .radio-blog-card__round--share svg { width: 16.11px; height: 17.8px; }
   .radio-blog-card__round--edit svg  { width: 20.98px; height: 20.98px; }

   .radio-blog-hero__btn:focus-visible,
   .radio-blog-card__link:focus-visible,
   .radio-blog-card__more:focus-visible,
   .radio-blog-card__round:focus-visible {
       outline: 2px solid #ffffff;
       outline-offset: 3px;
   }

   /* ---------------------------------------------------------------------
      RESPONSIVE
      1512px and up : the 1512 composition stays centred, backgrounds and the
                      hero photo run to the screen edges.
      1200 - 1511   : same layout, hero photo slides right, text column narrows.
      Below 1200    : tablet and mobile fallbacks.
      --------------------------------------------------------------------- */

   /* ----- Tablet landscape / small laptop : 1024 - 1199 ----- */
   @media (max-width: 1199px) {
       .radio-blog-hero {
           height: 600px;
       }

       .radio-blog-hero__inner {
           padding: 112px 0 0 56px;
       }

       .radio-blog-hero__content {
           width: min(560px, calc(52vw - 40px));
       }

       .radio-blog-hero__title {
           font-size: 120px;
           line-height: 120px;
           letter-spacing: -4px;
       }

       .radio-blog-hero__lead {
           margin-top: 52px !important;
           font-size: 22px;
           line-height: 29px;
       }

       .radio-blog-hero__text {
           font-size: 22px;
           line-height: 29px;
       }

       .radio-blog-hero__buttons {
           margin-top: 44px;
           gap: 24px;
       }

       .radio-blog-hero__btn {
           width: 200px;
           height: 52px;
           font-size: 19px;
       }

       .radio-blog-hero__img {
           right: -80px;
       }

       .radio-blog-list__inner {
           padding: 56px 32px 40px;
       }

       .radio-blog-list__head {
           align-items: center;
           padding: 0 8px;
           margin-bottom: 48px;
       }

       .radio-blog-list__filter {
           margin-top: 0;
       }

       .radio-blog-card,
       .radio-blog-card--reverse {
           padding: 40px;
       }

       .radio-blog-card__body {
           flex: 1 1 auto;
           margin-right: 32px;
           padding-top: 24px;
       }

       .radio-blog-card--reverse .radio-blog-card__body {
           margin-left: 32px;
           margin-top: 30px;
       }

       .radio-blog-card__title {
           font-size: 46px;
           line-height: 50px;
       }

       .radio-blog-card__links {
           gap: 28px;
       }
   }

   /* ----- Tablet portrait : 768 - 1023 ----- */
   @media (max-width: 1023px) {
       .radio-blog-hero {
           height: auto;
       }

       .radio-blog-hero__inner {
           height: auto;
           padding: 72px 40px 0;
       }

       .radio-blog-hero__content {
           width: 100%;
           max-width: 640px;
       }

       .radio-blog-hero__title {
           font-size: 104px;
           line-height: 104px;
           letter-spacing: -3.5px;
       }

       .radio-blog-hero__text {
           -webkit-line-clamp: 4;
           line-clamp: 4;
       }

       .radio-blog-hero__img {
           position: relative;
           right: auto;
           bottom: auto;
           height: auto;
           width: min(100%, 560px);
           margin: 40px 0 0 auto;
       }

       .radio-blog-card,
       .radio-blog-card--reverse {
           flex-direction: column-reverse;
           align-items: stretch;
           padding: 32px;
       }

       .radio-blog-card__body,
       .radio-blog-card--reverse .radio-blog-card__body {
           flex: none;
           margin: 32px 0 0;
           padding-top: 0;
       }

       .radio-blog-card__media,
       .radio-blog-card--reverse .radio-blog-card__media {
           flex: none;
           width: 100%;
           max-width: 560px;
           height: auto;
           margin: 0 auto;
           padding: 12px 12px 14px;
           border-radius: 28px;
       }

       .radio-blog-card__img {
           width: 100%;
           height: auto;
           aspect-ratio: 410 / 398;
           border-radius: 22px;
       }

       .radio-blog-card__actions,
       .radio-blog-card--reverse .radio-blog-card__actions {
           justify-content: center;
           margin-top: 16px;
           padding-left: 0;
       }

       .radio-blog-card__likes,
       .radio-blog-card--reverse .radio-blog-card__likes {
           order: 0;
           margin: 0 auto 0 8px;
       }

       .radio-blog-card__round:last-child {
           margin-right: 8px;
       }
   }

   /* ----- Mobile : up to 767 ----- */
   @media (max-width: 767px) {
       .radio-blog-hero__inner {
           padding: 48px 20px 0;
       }

       .radio-blog-hero__title {
           font-size: 76px;
           line-height: 78px;
           letter-spacing: -2.5px;
       }

       .radio-blog-hero__lead {
           margin-top: 28px !important;
           font-size: 19px;
           line-height: 26px;
       }

       .radio-blog-hero__text {
           margin-top: 6px !important;
           font-size: 17px;
           line-height: 25px;
           letter-spacing: 0;
       }

       .radio-blog-hero__buttons {
           flex-wrap: wrap;
           gap: 14px;
           margin-top: 32px;
       }

       .radio-blog-hero__btn {
           flex: 1 1 140px;
           width: auto;
           height: 50px;
           font-size: 17px;
       }

       .radio-blog-hero__img {
           width: min(100%, 420px);
           margin-top: 32px;
       }

       .radio-blog-list__inner {
           padding: 40px 16px 32px;
       }

       .radio-blog-list__head {
           flex-direction: column;
           align-items: stretch;
           gap: 18px;
           padding: 0;
           margin-bottom: 28px;
       }

       .radio-blog-list__title {
           font-size: 46px;
           line-height: 50px;
       }

       .radio-blog-list__filter {
           flex: none;
           width: 100%;
       }

       .radio-blog-card,
       .radio-blog-card--reverse {
           padding: 14px 14px 26px;
           border-radius: 26px;
       }

       .radio-blog-card + .radio-blog-card {
           margin-top: 20px;
       }

       .radio-blog-card__media,
       .radio-blog-card--reverse .radio-blog-card__media {
           padding: 8px 8px 12px;
           border-radius: 22px;
       }

       .radio-blog-card__img {
           border-radius: 18px;
       }

       .radio-blog-card__body,
       .radio-blog-card--reverse .radio-blog-card__body {
           margin-top: 22px;
           padding: 0 6px;
       }

       .radio-blog-card__title {
           font-size: 38px;
           line-height: 42px;
       }

       .radio-blog-card__text {
           margin-top: 14px !important;
           font-size: 16px;
           line-height: 24px;
           letter-spacing: 0.2px;
       }

       .radio-blog-card__date {
           margin-top: 14px !important;
       }

       .radio-blog-card__links {
           gap: 18px;
           margin-top: 18px !important;
       }

       .radio-blog-card__link {
           width: 44px;
           height: 44px;
       }

       .radio-blog-card__more {
           width: 100%;
           max-width: 280px;
           margin-top: 22px;
       }

       .radio-blog-card__round + .radio-blog-card__round {
           margin-left: 12px;
       }

       .radio-blog-card__likes,
       .radio-blog-card--reverse .radio-blog-card__likes {
           margin-left: 4px;
           font-size: 18px;
       }

       .radio-blog-card__round:last-child {
           margin-right: 4px;
       }
   }

   @media (prefers-reduced-motion: reduce) {
       .radio-blog-hero__btn,
       .radio-blog-card__link,
       .radio-blog-card__more,
       .radio-blog-card__round {
           transition: none;
       }
   }

    @media screen and (width: 1512px) {
        .radio-signup-form-panel {
            height: 780px;
        }.radio-signup-benefits {
            margin-top: 5px;
        }
    }

    /* =====================================================================
   BLOG PAGER (display_paging.cfm) : RadioSparx Music Blog theme
   Hook: <div class="pagehopperWrapper radio_new_paging" ...>
   ===================================================================== */

.radio_new_paging.pagehopperWrapper,
.radio_new_paging .pagehopperWrapper {
    padding: 8px 20px 64px;
    background: #013e68;
    text-align: center;
    font-family: 'Roboto', Arial, sans-serif;
}

.radio_new_paging .text-nowrap {
    display: inline-flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 100%;
    padding-right: 0 !important;
    vertical-align: middle;
}

/* "PAGE 3" label */
.radio_new_paging .lmfont12 {
    display: inline-flex !important;
    align-items: center;
    height: 44px;
    margin-right: 8px;
    padding: 0 14px 0 20px;
    border: 1px solid rgba(43, 194, 243, 0.35);
    border-radius: 22px;
    background: rgba(0, 143, 255, 0.13);
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.12em;
    color: #ffffff;
    white-space: nowrap;
}

.radio_new_paging .phDesktopMode {
    line-height: 0;
}

/* Page numbers and arrows */
.radio_new_paging .pagehopper,
.radio_new_paging a.pagehopper:link,
.radio_new_paging a.pagehopper:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 44px;
    min-width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(43, 194, 243, 0.55);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
    color: #ffffff;
    text-align: center;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.radio_new_paging a.pagehopper:hover,
.radio_new_paging a.pagehopper:focus-visible {
    border-color: transparent;
    background: radial-gradient(circle at 32% 24%, #5cdcf8 0%, #2a9be6 30%, #1673d6 58%, #0b4db6 84%, #083b9c 100%);
    box-shadow: 0 4px 12px rgba(0, 20, 60, 0.35);
    color: #ffffff;
    text-decoration: none;
}

.radio_new_paging a.pagehopper:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 3px;
}

.radio_new_paging .pagehopper:active {
    transform: scale(0.94);
}

/* Arrows: glossy round buttons with drawn chevrons (original characters stay in the HTML) */
.radio_new_paging .text-nowrap > a.pagehopper {
    position: relative;
    border-color: transparent;
    background: radial-gradient(circle at 32% 24%, #5cdcf8 0%, #2a9be6 30%, #1673d6 58%, #0b4db6 84%, #083b9c 100%);
    font-size: 0;
    color: #ffffff;
}

.radio_new_paging .text-nowrap > a.pagehopper:hover,
.radio_new_paging .text-nowrap > a.pagehopper:focus-visible {
    filter: brightness(1.12);
}

.radio_new_paging .text-nowrap > a.pagehopper::before {
    content: "";
    display: block;
    width: 22px;
    height: 22px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.4 7.4 14 6l-6 6 6 6 1.4-1.4L10.8 12z'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.4 7.4 14 6l-6 6 6 6 1.4-1.4L10.8 12z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* First page and last page arrows get a double chevron */
.radio_new_paging .lmfont12 + a.pagehopper::before,
.radio_new_paging .text-nowrap > a.pagehopper:last-child::before {
    width: 24px;
    height: 24px;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.4 7.4 17 6l-6 6 6 6 1.4-1.4L13.8 12z'/%3E%3Cpath d='M12.4 7.4 11 6l-6 6 6 6 1.4-1.4L7.8 12z'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.4 7.4 17 6l-6 6 6 6 1.4-1.4L13.8 12z'/%3E%3Cpath d='M12.4 7.4 11 6l-6 6 6 6 1.4-1.4L7.8 12z'/%3E%3C/svg%3E");
}

/* Arrows after the page numbers point right (next and last page) */
.radio_new_paging .phDesktopMode ~ a.pagehopper::before {
    transform: scaleX(-1);
}

/* Phones (the .cfm already hides the page numbers below 551px) */
@media screen and (max-width: 550px) {
    .radio_new_paging.pagehopperWrapper,
    .radio_new_paging .pagehopperWrapper {
        padding: 4px 16px 44px;
    }

    .radio_new_paging .text-nowrap {
        gap: 8px;
    }

    .radio_new_paging .lmfont12 {
        margin: 0 4px;
        padding: 0 14px 0 16px;
    }

    /* "PAGE n" sits between the back and forward arrows */
    .radio_new_paging .lmfont12 + a.pagehopper,
    .radio_new_paging .lmfont12 + a.pagehopper + a.pagehopper {
        order: -1;
    }
}

@media screen and (max-width: 360px) {
    .radio_new_paging .text-nowrap {
        gap: 6px;
    }

    .radio_new_paging .pagehopper,
    .radio_new_paging a.pagehopper:link,
    .radio_new_paging a.pagehopper:visited {
        width: 40px;
        min-width: 40px;
        height: 40px;
    }

    .radio_new_paging .lmfont12 {
        height: 40px;
        margin: 0 2px;
        padding: 0 10px 0 12px;
        font-size: 13px;
        letter-spacing: 0.08em;
    }
}

@media (prefers-reduced-motion: reduce) {
    .radio_new_paging .pagehopper {
        transition: none;
    }
}

/* =====================================================================
   BLOG POST CARD (view.cfm) : Music Blog theme
   Builds on the .radio-blog-card rules of the MUSIC BLOG block above.
   Every rule here is limited to .radio-view-blog (one blog post), so
   nothing else on the site changes.
   ===================================================================== */

/* Navy behind the list of posts: add class "radio-view-blog-list" to the div that holds them */
.radio-view-blog-list {
    background-color: #013e68;
}

.radio-view-blog,
.radio-view-blog *,
.radio-view-blog *::before,
.radio-view-blog *::after {
    box-sizing: border-box;
}

.radio-blog-card.radio-view-blog {
    width: 100%;
    max-width: 1383px;
    margin: 0 auto 25px;
    font-family: 'Roboto', Arial, sans-serif;
    line-height: normal;
    text-align: left;
    color: #ffffff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.radio-blog-card.radio-view-blog + .radio-blog-card.radio-view-blog {
    margin-top: 0;
}

.radio-view-blog h3,
.radio-view-blog .radio-view-blog__title,
.radio-view-blog .radio-view-blog__date,
.radio-view-blog .radio-view-blog__links,
.radio-view-blog .radio-view-blog__links li {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* ----- Heading: "By author" (design), title underneath ----- */

.radio-view-blog .radio-view-blog__author {
    color: #ffffff;
}

.radio-view-blog .radio-view-blog__author--title {
    font-size: 40px;
    line-height: 1.15;
}

.radio-view-blog .radio-view-blog__title {
    margin-top: 16px;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0.2px;
    color: #fff;
    overflow-wrap: anywhere;
}

/* ----- Description: 4 lines, then Read more ----- */

.radio-view-blog .radio-view-blog__title + .radio-view-blog__desc {
    display: none !important;
    margin-top: 18px !important;
}

.radio-view-blog .radio-view-blog__desc {
    overflow-wrap: anywhere;
}

.radio-view-blog .radio-view-blog__desc *:not(a) {
    color: inherit !important;
    background-color: transparent !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

.radio-view-blog .radio-view-blog__desc p {
    margin: 0 0 10px;
}

.radio-view-blog .radio-view-blog__desc a,
.radio-view-blog .radio-view-blog__extra a {
    color: #7fdcff;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.radio-view-blog .radio-view-blog__desc a:hover,
.radio-view-blog .radio-view-blog__extra a:hover {
    color: #ffffff;
}

.radio-view-blog .radio-view-blog__desc img,
.radio-view-blog .radio-view-blog__extra img {
    max-width: 100%;
    height: auto;
}

.radio-view-blog .radio-view-blog__desc.is-open,
.radio-view-blog.radio-view-blog--full .radio-view-blog__desc {
    display: block;
    -webkit-line-clamp: unset;
    line-clamp: none;
    overflow: visible;
}

.radio-view-blog .radio-view-blog__readmore {
    /* display: inline-flex; */
    display: none !important;
    align-items: center;
    gap: 8px;
    margin: 10px 0 0;
    padding: 4px 0;
    border: 0;
    background: none;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.3px;
    color: #7fdcff;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.radio-view-blog .radio-view-blog__readmore::after {
    content: "";
    width: 7px;
    height: 7px;
    margin-top: -4px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s ease, margin 0.2s ease;
}

.radio-view-blog .radio-view-blog__readmore[aria-expanded="true"]::after {
    margin-top: 3px;
    transform: rotate(-135deg);
}

.radio-view-blog .radio-view-blog__readmore:hover,
.radio-view-blog .radio-view-blog__readmore:focus-visible {
    color: #ffffff;
}

/* ----- Icon buttons (track, artist, station, external, similar, video) ----- */

.radio-view-blog .radio-view-blog__links {
    flex-wrap: wrap;
    row-gap: 16px;
    gap: 18px;
}

.radio-view-blog .radio-view-blog__icon {
    display: block;
    flex: none;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.radio-view-blog .radio-view-blog__icon--track    { width: 35.18px; height: 33.06px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 166 156'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M62.9 4.4C48.1 7.5 35.9 14.1 25 25C-19.2 68.8 6.6 143.1 68.8 150.9C82.4 152.6 105.1 148.3 110.9 142.9C113.9 140.1 113.7 135.5 110.5 133.4C107.6 131.5 105.2 131.8 96.5 135.1C89.1 137.9 72.5 138.9 64.1 137C42.2 132.3 23.6 114.3 18 92.4C12.8 72 18.8 49.5 33.5 34.8C55.9 12.2 89 10 114.8 29.5C122.7 35.4 125.8 36.2 129 33C132.3 29.7 131.5 27 125.2 21.2C118.8 15.2 105.1 8 95.5 5.4C87.1 3.2 71 2.7 62.9 4.4M138.1 32.6L135 35.2 135 62.2L135 89.2 132.8 88.5C131.5 88.1 128.2 87.6 125.4 87.3C105.7 85.3 93.9 108 106.8 123.1C115.9 133.7 131.1 133.7 140.2 123.1C145.6 116.7 146 113.8 146 76.6C146 58.1 146.2 43 146.5 43C146.8 43 149.2 44.4 151.8 46C159 50.4 164 49.4 164 43.6C164 40.8 162.5 39.4 153.4 34.1C145.2 29.3 142.3 29 138.1 32.6M67.4 47.4C54.3 51.6 46.1 63 46 77.1C46 85.8 48.2 91.9 53.6 97.9C68.2 114.1 93.6 111.4 104.5 92.6C113.3 77.4 106.3 55.9 90.1 48.7C84.4 46.2 73.1 45.5 67.4 47.4M69 58.6C61.3 61.9 57 68.7 57 77.5C57 86.6 60.6 92.1 69 95.9C84.3 102.9 100.4 89.4 96.8 72.7C94.3 60.8 80.3 53.7 69 58.6M73.2 73.2C71.4 75 71.8 79.5 74 81.5C78.2 85.3 84.2 80.1 81.6 74.9C80.3 72.2 75.3 71.1 73.2 73.2M32.8 86.1C28.9 88.3 32.9 99.9 40.6 108.8C45.5 114.6 47.5 115.5 50.6 113.5C54.2 111.2 53.7 107.7 49 102.7C46.9 100.3 44 96 42.7 93.2C38.9 85 37 83.6 32.8 86.1M59.9 114.2C55.1 118.1 57.9 122.5 66.3 124.2C71.7 125.3 72.2 125.3 74.2 123.3C76.1 121.4 76.2 120.7 75.2 118.5C73.4 114.5 63.1 111.6 59.9 114.2'/%3E%3C/svg%3E"); }
.radio-view-blog .radio-view-blog__icon--artist   { width: 33.06px; height: 27.98px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 156 132'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M48.3 2.9C18.5 13.2 23.7 57.5 55.1 59.8C73.9 61.1 87.2 48.7 87.1 29.9C87 10.4 67-3.6 48.3 2.9M129 10.1C123.2 12.4 123 13.1 123 42.1L123 68.8 119.2 67.4C104.9 62.3 89.9 73 89.9 88.4C89.9 106.6 110.7 116.8 125.2 105.7C133.5 99.3 133.5 99.3 133.8 58.2L134.1 21.9 140.6 25.6C146.8 29 147.2 29.1 149.5 27.6C154 24.7 152.9 20.6 146.8 16.6C136.4 10 132.7 8.7 129 10.1M51 14.1C41.9 17.7 37.7 29.3 41.9 38.6C48.2 52.5 68.6 51.4 74.5 36.8C80 22.9 65.1 8.5 51 14.1M48.3 65.1C26.7 68.7 8.1 86.7 3.5 108.5C1.3 119.1 1.5 124.3 4.4 127.7L6.8 130.5 57.8 130.5C106.5 130.5 108.9 130.4 110.9 128.6C113.4 126.3 113.6 122.3 111.4 119.2L109.9 117 63.3 117L16.7 117 17.4 112.9C18.5 105.9 23.5 96.4 28.9 91C39.8 80.1 55 76.5 70.4 81C79.3 83.7 82.5 83.2 85 78.7C90 69.7 68.5 61.7 48.3 65.1'/%3E%3C/svg%3E"); }
.radio-view-blog .radio-view-blog__icon--station  { width: 32px;    height: 25.01px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 151 118'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M121.3 8.4L118.5 10.8 118.2 39.9C118 55.9 117.8 69 117.6 69C117.4 69 115.6 68.3 113.7 67.5C101.5 62.4 85.2 70.8 82 83.9C76.5 107.1 104.5 123.8 121.4 107.4C128.7 100.3 128.4 101.9 129 57.8L129.5 18.1 135 21.5C141.3 25.5 144 25.8 146.5 23C149.6 19.5 147.6 16.4 138.7 10.9C129.6 5.2 125.7 4.7 121.3 8.4M4.6 9.1C1.7 11.4 1.3 14.5 3.6 17.8L5.1 20 49.5 20L93.9 20 95.4 17.8C97.6 14.6 97.4 11.7 94.7 9.2C92.4 7 92.1 7 49.8 7C8.3 7 7.2 7 4.6 9.1M4 39C1.4 41.6 1.4 45.4 4 48C5.9 49.9 7.3 50 49.5 50C91.7 50 93.1 49.9 95 48C97.6 45.4 97.6 41.6 95 39C93.1 37.1 91.7 37 49.5 37C7.3 37 5.9 37.1 4 39M3.6 69.2C1.4 72.4 1.6 74.7 4.5 77.5L6.9 80 38.5 80L70.1 80 72.6 77.5C74.6 75.5 75 74.3 74.5 72.2C73.3 67 73.1 67 37.9 67C5.2 67 5.1 67 3.6 69.2M4.6 98.1C1.5 100.5 1.2 103.8 3.9 107.1L5.8 109.5 38.4 109.5C73.8 109.5 73.1 109.6 74.5 103.8C75 101.7 74.6 100.5 72.6 98.5L70.1 96 38.7 96C8.4 96 7.2 96.1 4.6 98.1'/%3E%3C/svg%3E"); }
.radio-view-blog .radio-view-blog__icon--similar  { width: 32.85px; height: 33.06px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 155 156'%3E%3Cpath fill='%23005695' fill-rule='evenodd' d='M14.2 31L12 31.9 12 86L12 140.1 14.6 141C16.1 141.6 37.8 142 69.3 142C115 142 121.8 141.8 123.8 140.4L126 138.9 126 86.1C126 38.2 125.8 33.1 124.3 31.9C122.4 30.2 18.2 29.4 14.2 31M74.4 41.8C70.3 45.1 70 47.1 70 69.9L70 91.9 67 90.8C61.4 88.9 51.6 90.2 46.8 93.6C37 100.5 34.1 115 40.7 124.3C51.4 139.6 73.4 137.3 80.5 120.3C81.7 117.4 82 110.6 82 84.9L82 53 88.4 56.2C95.3 59.6 97 59.5 99.5 55.6C102.3 51.4 100.7 49.4 90.9 44.5C81.4 39.7 77.7 39.1 74.4 41.8'/%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M28.1 4.8C23.5 7.1 20.8 11 20.1 16.2C19.5 20.4 19.4 20.5 15 21C9.6 21.7 7.1 23.2 4.2 27.4C2 30.6 2 30.7 2 85.9C2 147.6 1.7 144.8 9 149.3C12.5 151.5 13 151.5 65.5 151.8C101.6 152 120.1 151.8 123.6 151C130.9 149.4 136 143.5 136 136.4C136 134.4 136.5 134 139.1 134C143.5 134 148.7 131.3 151.3 127.6L153.5 124.5 153.8 70.1C154.1 16.7 154 15.7 152 11.4C150.4 8.3 148.7 6.6 145.6 5.1C141.5 3.1 139.9 3 86.4 3C36.1 3 31.2 3.1 28.1 4.8M30 14.9C29.5 16 29 17.8 29 18.9C29 21 29.2 21 77.4 21L125.7 21 129.1 23.3C136.1 27.9 136 27.2 136 78.8C136 122.4 136.1 125 137.8 125C138.8 125 140.6 124.3 141.8 123.4L144 121.9 144 68.6C144 28.6 143.7 15.1 142.8 14.2C141.9 13.3 128 13 86.3 13C32.7 13 31 13.1 30 14.9M12.6 32.2C11.2 34.2 11 41 11 86.6C11 135.8 11.1 138.8 12.8 140.3C14.5 141.8 19.8 142 68.4 142C103.5 142 122.8 141.6 124.1 141C125.9 140 126 138.3 126 86C126 33.7 125.9 32 124.1 31C122.8 30.4 103.4 30 68.1 30L14.1 30 12.6 32.2M76.4 41C71.3 43.1 71 44.8 71 69.3L71 92.2 68.8 91.5C58.5 88.3 49.4 90.5 43.1 97.6C24.6 118.6 54.6 147.1 74.8 127.7C81.6 121.2 81.5 121.9 81.8 85.8C82 67.7 82.3 53 82.6 53C82.9 53 85.3 54.1 88 55.5C96 59.6 100.5 58.3 99.8 52.3C99.6 50 98.2 48.8 92 45.3C83.8 40.7 79.7 39.5 76.4 41'/%3E%3C/svg%3E"); }
.radio-view-blog .radio-view-blog__icon--external { width: 30px;    height: 30px;    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M19 19H5V5h7V3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z'/%3E%3C/svg%3E"); }
.radio-view-blog .radio-view-blog__icon--video    { width: 34px;    height: 34px;    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M15 8v8H5V8h10m1-2H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11l-4 4V7c0-.55-.45-1-1-1z'/%3E%3C/svg%3E"); }

.radio-view-blog .radio-view-blog__sr {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ----- "View more" (readmore field) ----- */

.radio-view-blog .radio-view-blog__viewmore-wrap {
    margin-top: 22px;
}

.radio-view-blog a.radio-view-blog__viewmore {
    font-size: 16px;
    font-weight: 500;
    color: #7fdcff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.radio-view-blog a.radio-view-blog__viewmore:hover {
    color: #ffffff;
}

.radio-view-blog .radio-view-blog__extra {
    font-size: 17px;
    line-height: 1.6;
    color: #ffffff;
    overflow-wrap: anywhere;
}

.radio-view-blog .radio-view-blog__extra *:not(a) {
    color: inherit !important;
    background-color: transparent !important;
}

/* ----- Learn More (the old "see full article" arrow, now the whole button) ----- */

.radio-view-blog .radio-view-blog__more {
    position: relative;
    cursor: pointer;
    user-select: none;
}

.radio-view-blog .radio-view-blog__more-arrow {
    display: block;
    flex: none;
    width: 18.23px;
    height: 18.02px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 86 85'%3E%3Cpath fill='%2300305c' fill-rule='evenodd' d='M41.8 6.1C37.5 8.5 39.5 12 52.7 25.2L65.5 38 37.2 38C7.5 38 5 38.3 5 42.3C5 46.9 5.7 47 36.4 47L65.5 47 52.7 59.8C39.8 72.7 38 75.6 41.2 78.8C44 81.6 46.7 79.7 63.7 62.8C77.2 49.4 81 45 81 43C81 41 77.1 36.5 63.2 22.7C53.4 13 45 5 44.4 5C43.9 5 42.7 5.5 41.8 6.1'/%3E%3C/svg%3E") center / contain no-repeat;
    transition: transform 0.2s ease;
}

.radio-view-blog .radio-view-blog__more:hover .radio-view-blog__more-arrow {
    transform: translateX(3px);
}

.radio-view-blog .radio-view-blog__more:hover {
    background: #e6f6ff;
}

.radio-view-blog .radio-view-blog__more:focus-within {
    outline: 2px solid #ffffff;
    outline-offset: 3px;
}

.radio-view-blog .radio-view-blog__hit {
    position: absolute;
    inset: 0;
    z-index: 2;
    overflow: hidden;
    border-radius: inherit;
    opacity: 0;
}

.radio-view-blog .radio-view-blog__hit a,
.radio-view-blog .radio-view-blog__hit img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* ----- Photo column ----- */

.radio-view-blog .radio-view-blog__media {
    height: auto;
}

.radio-view-blog .radio-view-blog__img {
    background-color: rgba(0, 30, 60, 0.35);
}

.radio-view-blog .radio-view-blog__actions {
    gap: 19px;
    padding-left: 0;
}

.radio-view-blog .radio-view-blog__actions > * {
    margin: 0;
}

/* No photo: the buttons sit at the bottom of the text side */
.radio-view-blog.radio-view-blog--noimg .radio-view-blog__media {
    flex: 0 0 auto;
    width: auto;
    align-self: flex-end;
    padding: 0;
    background: transparent;
}

.radio-view-blog.radio-view-blog--noimg .radio-view-blog__actions {
    margin-top: 0;
}

/* Play (lspeakerplay26 / lspeakerstop26 link from the player module) */
.radio-view-blog .radio-view-blog__play {
    position: relative;
}

.radio-view-blog .radio-view-blog__play > a {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

.radio-view-blog .radio-view-blog__play > a img {
    filter: brightness(0) invert(1);
}

.radio-view-blog .radio-view-blog__play a.lspeakerplay26,
.radio-view-blog .radio-view-blog__play a.lspeakerplay26:hover {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 69 93'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M7.2 6.6L5 8.1 5 46.1C5 70.4 5.4 84.8 6 86.1C8.4 90.4 11.6 88.6 38 68.7C52.1 58.1 63.7 48.7 63.8 47.7C64 46.7 63.4 45 62.4 43.9C60 41.3 11.5 5 10.4 5C9.9 5 8.4 5.7 7.2 6.6'/%3E%3C/svg%3E") 56% 50% / 14.62px 19.71px no-repeat;
}
.lspeakerplay {
    display: inline-block;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 69 93'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M7.2 6.6L5 8.1 5 46.1C5 70.4 5.4 84.8 6 86.1C8.4 90.4 11.6 88.6 38 68.7C52.1 58.1 63.7 48.7 63.8 47.7C64 46.7 63.4 45 62.4 43.9C60 41.3 11.5 5 10.4 5C9.9 5 8.4 5.7 7.2 6.6'/%3E%3C/svg%3E") 56% 50% / 14.62px 19.71px no-repeat !important;
    width: 44px;
    height: 44px;
    cursor: pointer;
}

.radio-view-blog .radio-view-blog__play a.lspeakerstop26,
.radio-view-blog .radio-view-blog__play a.lspeakerstop26:hover {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect fill='%23fff' x='5' y='5' width='14' height='14' rx='2.5'/%3E%3C/svg%3E") center / 22px 22px no-repeat;
}

/* Share: round button that opens the share popup (bar.cfm with layout="radio") */
.radio-view-blog .radio-view-blog__share {
    position: relative;
    display: inline-flex;
}

.radio-view-blog .radio-view-blog__share-btn::before {
    content: "";
    width: 16.11px;
    height: 17.8px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 76 84'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M54.4 6.9C51.4 8.7 49 13.3 49 17.1C49 18.4 45.2 21.2 36.3 26.4C24.1 33.6 23.5 33.8 20.9 32.4C16.1 30 12.2 30.6 8.4 34.4C-0.5 43.3 9.6 57.3 20.8 51.6C23.4 50.3 24.1 50.6 36.7 57.9C49.3 65.1 50 65.7 50 68.7C50 72.6 54 77.6 57.9 78.5C64 79.8 71 74.2 71 68C71 60 60.4 54.4 54.3 59.2C52.9 60.3 52.3 60 37.8 51.3C28 45.5 27 44.6 27 42C27 39.3 28.1 38.4 39.7 31.6C51.9 24.4 52.5 24.2 55.1 25.6C59.9 28 63.8 27.4 67.6 23.6C76.9 14.3 65.6 0.1 54.4 6.9'/%3E%3C/svg%3E") center / contain no-repeat;
}

.radio-view-blog .radio-view-blog__share.is-open .radio-view-blog__share-btn {
    box-shadow: 0 0 0 3px rgba(127, 220, 255, 0.45);
}

.radio-view-blog .radio-view-blog__share-panel {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 16px);
    z-index: 30;
    width: max-content;
    max-width: min(360px, calc(100vw - 32px));
    padding: 16px 18px 18px;
    border: 1px solid rgba(127, 220, 255, 0.35);
    border-radius: 20px;
    background: linear-gradient(160deg, #0b5288 0%, #063a62 55%, #04263b 100%);
    box-shadow: 0 20px 44px rgba(0, 10, 30, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.1);
    color: #ffffff;
    text-align: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 8px) scale(0);
    transform-origin: 50% 100%;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
}

/* little pointer under the popup */
.radio-view-blog .radio-view-blog__share-panel::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -8px;
    width: 14px;
    height: 14px;
    margin-left: -7px;
    border-right: 1px solid rgba(127, 220, 255, 0.35);
    border-bottom: 1px solid rgba(127, 220, 255, 0.35);
    background: #04283f;
    transform: rotate(45deg);
}

/* invisible bridge so the popup stays open while the mouse moves up to it */
.radio-view-blog .radio-view-blog__share-panel::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -18px;
    height: 18px;
}

.radio-view-blog .radio-view-blog__share.is-open .radio-view-blog__share-panel {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0) scale(1);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s;
}

@media (hover: hover) {
    .radio-view-blog .radio-view-blog__share:hover .radio-view-blog__share-panel {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translate(-50%, 0) scale(1);
        transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s;
    }
}

/* Popup content */
.radio-view-blog .radio-share {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.radio-view-blog .radio-share__label {
    margin: 0;
    padding: 0;
    font-family: 'Antonio', 'Arial Narrow', sans-serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.06em;
    color: #ffffff;
    text-transform: uppercase;
    white-space: nowrap;
}

.radio-view-blog .radio-share__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
}

.radio-view-blog .radio-share__btn {
    position: relative;
    display: inline-flex;
    flex: none;
    width: 37px;
    height: 37px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(127, 220, 255, 0.4);
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.07);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 18px 18px;
    color: #ffffff;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.radio-view-blog .radio-share__btn:hover,
.radio-view-blog .radio-share__btn:focus-visible {
    border-color: transparent;
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0, 10, 30, 0.4);
    text-decoration: none;
}

.radio-view-blog .radio-share__btn:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 2px;
}

.radio-view-blog .radio-share__btn--facebook { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M13.5 21v-7.5h2.6l.4-3h-3V8.6c0-.9.25-1.5 1.5-1.5h1.6V4.4c-.3 0-1.2-.1-2.3-.1-2.3 0-3.9 1.4-3.9 4v2.2H7.8v3h2.6V21z'/%3E%3C/svg%3E"); background-size: 20px 20px; }
.radio-view-blog .radio-share__btn--x        { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E"); background-size: 16px 16px; }
.radio-view-blog .radio-share__btn--linkedin { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M4.98 3.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zM3 9.5h4V21H3zM9.5 9.5h3.8v1.6h.05c.53-1 1.83-2.05 3.77-2.05 4.03 0 4.78 2.65 4.78 6.1V21h-4v-5.1c0-1.22-.02-2.79-1.7-2.79-1.7 0-1.96 1.33-1.96 2.7V21h-4z'/%3E%3C/svg%3E"); background-size: 17px 17px; }
.radio-view-blog .radio-share__btn--whatsapp { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='1.8' stroke-linejoin='round' d='M12 3.2a8.8 8.8 0 0 0-7.6 13.2L3.2 20.8l4.5-1.2A8.8 8.8 0 1 0 12 3.2z'/%3E%3Cpath fill='%23fff' d='M9.1 7.6c-.2-.5-.4-.5-.6-.5h-.5c-.2 0-.5.1-.7.3-.3.3-.9.9-.9 2.2s.9 2.5 1 2.7c.1.2 1.8 2.9 4.5 3.9 2.2.9 2.7.7 3.2.7.5-.1 1.5-.6 1.7-1.2.2-.6.2-1.1.2-1.2-.1-.1-.2-.2-.5-.3l-1.7-.8c-.2-.1-.4-.1-.6.1l-.8 1c-.1.2-.3.2-.5.1-.3-.1-1.1-.4-2-1.3-.8-.7-1.3-1.5-1.4-1.8-.1-.3 0-.4.1-.5l.4-.4c.1-.2.2-.3.3-.5.1-.2 0-.3 0-.4l-.8-1.9z'/%3E%3C/svg%3E"); background-size: 21px 21px; }
.radio-view-blog .radio-share__btn--email    { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V8l8 5 8-5v10zm-8-7L4 6h16l-8 5z'/%3E%3C/svg%3E"); }
.radio-view-blog .radio-share__btn--copy     { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z'/%3E%3C/svg%3E"); background-size: 20px 20px; }

.radio-view-blog .radio-share__btn--facebook:hover, .radio-view-blog .radio-share__btn--facebook:focus-visible { background-color: #1877f2; }
.radio-view-blog .radio-share__btn--x:hover,        .radio-view-blog .radio-share__btn--x:focus-visible        { background-color: #000000; }
.radio-view-blog .radio-share__btn--linkedin:hover, .radio-view-blog .radio-share__btn--linkedin:focus-visible { background-color: #0a66c2; }
.radio-view-blog .radio-share__btn--whatsapp:hover, .radio-view-blog .radio-share__btn--whatsapp:focus-visible { background-color: #25d366; }
.radio-view-blog .radio-share__btn--email:hover,    .radio-view-blog .radio-share__btn--email:focus-visible,
.radio-view-blog .radio-share__btn--copy:hover,     .radio-view-blog .radio-share__btn--copy:focus-visible     { background-color: #1a8fe0; }

/* Copy link: green tick and a "Copied" bubble for 2 seconds */
.radio-view-blog .radio-share__btn--copy.is-copied {
    border-color: transparent;
    background-color: #19a463;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
}

.radio-view-blog .radio-share__btn--copy.is-copied::after {
    content: "Copied";
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    padding: 4px 8px;
    border-radius: 6px;
    background: #ffffff;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
    color: #00305c;
    white-space: nowrap;
    transform: translateX(-50%);
}

@media (max-width: 360px) {
    .radio-view-blog .radio-view-blog__share-panel {
        padding: 14px 12px 16px;
    }

    .radio-view-blog .radio-share__row {
        gap: 8px;
    }

    .radio-view-blog .radio-share__btn {
        width: 36px;
        height: 36px;
    }
}

/* Staff edit: pencil drawn here, the module's own link covers the circle */
.radio-view-blog .radio-view-blog__edit {
    position: relative;
}

.radio-view-blog .radio-view-blog__edit::before {
    content: "";
    width: 20.98px;
    height: 20.98px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 99 99'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M70.4 10.2L64.9 15.5 74.3 24.8L83.6 34.1 88.8 28.6C91.7 25.6 94 22.6 94 21.9C94 20.2 78.7 5 77.1 5C76.4 5 73.4 7.4 70.4 10.2M32.2 48.3L5 75.5 5 84.8L5 94 14.3 94L23.5 94 50.8 66.7L78 39.5 68.7 30.2L59.5 21 32.2 48.3'/%3E%3C/svg%3E") center / contain no-repeat;
}

.radio-view-blog .radio-view-blog__edit > :not(script):not(style) {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    border-radius: 50%;
    overflow: hidden;
    opacity: 0;
}

.radio-view-blog .radio-view-blog__edit a,
.radio-view-blog .radio-view-blog__edit img {
    display: block;
    width: 100%;
    height: 100%;
}

/* Keyboard focus */
.radio-view-blog .radio-view-blog__play:focus-within,
.radio-view-blog .radio-view-blog__edit:focus-within,
.radio-view-blog .radio-view-blog__readmore:focus-visible,
.radio-view-blog a.radio-view-blog__viewmore:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 3px;
}

/* ----- Smaller screens ----- */

@media (max-width: 1199px) {
    .radio-view-blog .radio-view-blog__author--title {
        font-size: 34px;
    }
}

@media (max-width: 1023px) {
    /* photo on top, text below: darken towards the text so it stays readable */
    .radio-blog-card.radio-view-blog,
    .radio-blog-card.radio-view-blog.radio-blog-card--reverse {
        max-width: 760px;
        min-height: 0;
        background: linear-gradient(180deg, #00b4f7 0%, #00609c 48%, #002e52 100%);
    }

    .radio-blog-card.radio-view-blog--noimg {
        flex-direction: column;
    }

    .radio-view-blog.radio-view-blog--noimg .radio-view-blog__body {
        margin-top: 0;
    }

    .radio-view-blog.radio-view-blog--noimg .radio-view-blog__media {
        align-self: flex-start;
        margin: 24px 0 0;
    }
}

@media (max-width: 767px) {
    .radio-blog-card.radio-view-blog {
        margin-bottom: 20px;
    }

    .radio-view-blog .radio-view-blog__author--title {
        font-size: 28px;
    }

    .radio-view-blog .radio-view-blog__title {
        margin-top: 12px;
        font-size: 15px;
    }

    .radio-view-blog .radio-view-blog__title + .radio-view-blog__desc {
        margin-top: 14px !important;
    }

    .radio-view-blog .radio-view-blog__links {
        gap: 18px;
    }

    .radio-view-blog .radio-view-blog__more {
        width: 100%;
        max-width: 280px;
    }

    .radio-view-blog .radio-view-blog__actions {
        gap: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .radio-view-blog .radio-view-blog__readmore::after,
    .radio-view-blog .radio-view-blog__more-arrow,
    .radio-view-blog .radio-view-blog__share-panel,
    .radio-view-blog .radio-share__btn {
        transition: none;
    }
}
/* ============ end BLOG POST CARD (view.cfm) ============ */

/* =====================================================================
   MUSIC BLOG LIST (list.cfm) : PHONES, "Compact Feed" (picked 2026-10-07)
   Hero with a small photo beside the title, slim post cards with 3-line
   excerpts, icons + Learn More on one row, share sheet from the bottom,
   themed pager. Phones only (max-width 767px): tablet and desktop are
   untouched. Every rule sits under .radio-blog / .radio-blog-list, which
   only list.cfm has, so other pages and detail.cfm do not change.
   ===================================================================== */
/* ---------- shared phone fixes (every option) ---------- */
@media (max-width: 767px) {

    /* Stop sideways scroll without turning .radio-blog into a scroll box
       (overflow-x:hidden makes overflow-y compute to auto). Old browsers keep "hidden". */
    .radio-blog {
        overflow-x: hidden;
        overflow-x: clip;
    }

    /* Respect notches / rounded corners in landscape */
    .radio-blog .radio-blog-hero__inner {
        padding-left: max(20px, env(safe-area-inset-left, 0px));
        padding-right: max(20px, env(safe-area-inset-right, 0px));
    }

    .radio-blog .radio-blog-list__inner {
        padding-left: max(16px, env(safe-area-inset-left, 0px));
        padding-right: max(16px, env(safe-area-inset-right, 0px));
    }

    /* "Music Blog" stays on one line down to 320px */
    .radio-blog .radio-blog-hero__title {
        font-size: clamp(56px, 19vw, 76px);
        line-height: 1.02;
    }

    /* Hero copy: show the whole sentence (it was cut at "Hot Pic...") */
    .radio-blog .radio-blog-hero__text {
        display: block;
        -webkit-line-clamp: unset;
        line-clamp: none;
        overflow: visible;
    }

    .radio-blog .radio-blog-hero__btn {
        min-height: 48px;
    }

    /* Blog photos carry the station name inside the picture: show the whole photo */
    .radio-blog-list .radio-view-blog .radio-view-blog__img {
        width: 100%;
        height: auto;
        aspect-ratio: auto;
        max-height: min(115vw, 560px);
        object-fit: cover;
    }

    /* Read more: 44px touch target */
    .radio-blog-list .radio-view-blog .radio-view-blog__readmore {
        min-height: 44px;
        margin-top: 2px;
    }

    /* Share popup: 44px buttons in a 3 x 2 grid, never wider than the screen */
    .radio-blog-list .radio-view-blog .radio-share__row {
        display: grid;
        grid-template-columns: repeat(3, 44px);
        gap: 12px 14px;
        justify-content: center;
    }

    .radio-blog-list .radio-view-blog .radio-share__btn {
        width: 44px;
        height: 44px;
    }

    /* ----- Pager: display_paging_V3 has no "radio_new_paging" class, so it was
       showing the old grey 30 x 20 boxes with dark text on navy. Hook on the section instead. ----- */
    .radio-blog-list .pagehopperWrapper {
        padding: 4px 0 28px;
        text-align: center;
        font-family: 'Roboto', Arial, sans-serif;
    }

    .radio-blog-list .pagehopperWrapper .text-nowrap {
        display: inline-flex !important;   /* beats the inline display:inline-block */
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 8px;
        max-width: 100%;
        padding-right: 0 !important;       /* beats the inline padding-right:30px that pushed it off centre */
        vertical-align: middle;
    }

    .radio-blog-list .pagehopperWrapper .lmfont12 {
        display: inline-flex !important;   /* beats the inline display:inline */
        align-items: center;
        height: 44px;
        margin: 0;
        padding: 0 10px 0 14px;
        border: 1px solid rgba(43, 194, 243, 0.35);
        border-radius: 22px;
        background: rgba(0, 143, 255, 0.13);
        font-family: 'Roboto', Arial, sans-serif;
        font-size: 13px;
        font-weight: 500;
        line-height: 1;
        letter-spacing: 0.08em;
        color: #ffffff;
        white-space: nowrap;
    }

    .radio-blog-list .pagehopperWrapper .phDesktopMode {
        line-height: 0;
    }

    .radio-blog-list .pagehopperWrapper a.pagehopper,
    .radio-blog-list .pagehopperWrapper a.pagehopper:link,
    .radio-blog-list .pagehopperWrapper a.pagehopper:visited {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 44px;
        min-width: 44px;
        height: 44px;
        margin: 0;
        padding: 0;
        border: 1px solid rgba(43, 194, 243, 0.55);
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.04);
        font-family: 'Roboto', Arial, sans-serif;
        font-size: 16px;
        font-weight: 500;
        line-height: 1;
        color: #ffffff;
        text-align: center;
        text-decoration: none;
    }

    .radio-blog-list .pagehopperWrapper a.pagehopper:hover,
    .radio-blog-list .pagehopperWrapper a.pagehopper:focus-visible {
        border-color: transparent;
        background: radial-gradient(circle at 32% 24%, #5cdcf8 0%, #2a9be6 30%, #1673d6 58%, #0b4db6 84%, #083b9c 100%);
        color: #ffffff;
    }

    .radio-blog-list .pagehopperWrapper a.pagehopper:focus-visible {
        outline: 2px solid #ffffff;
        outline-offset: 3px;
    }

    /* arrows: glossy circles with drawn chevrons (the characters stay in the HTML for screen readers) */
    .radio-blog-list .pagehopperWrapper .text-nowrap > a.pagehopper,
    .radio-blog-list .pagehopperWrapper .text-nowrap > a.pagehopper:link,
    .radio-blog-list .pagehopperWrapper .text-nowrap > a.pagehopper:visited {
        border-color: transparent;
        background: radial-gradient(circle at 32% 24%, #5cdcf8 0%, #2a9be6 30%, #1673d6 58%, #0b4db6 84%, #083b9c 100%);
        font-size: 0;
    }

    .radio-blog-list .pagehopperWrapper .text-nowrap > a.pagehopper::before {
        content: "";
        display: block;
        width: 22px;
        height: 22px;
        background-color: #ffffff;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.4 7.4 14 6l-6 6 6 6 1.4-1.4L10.8 12z'/%3E%3C/svg%3E") center / contain no-repeat;
                mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.4 7.4 14 6l-6 6 6 6 1.4-1.4L10.8 12z'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    .radio-blog-list .pagehopperWrapper .lmfont12 + a.pagehopper::before,
    .radio-blog-list .pagehopperWrapper .text-nowrap > a.pagehopper:last-child::before {
        width: 24px;
        height: 24px;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.4 7.4 17 6l-6 6 6 6 1.4-1.4L13.8 12z'/%3E%3Cpath d='M12.4 7.4 11 6l-6 6 6 6 1.4-1.4L7.8 12z'/%3E%3C/svg%3E");
                mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.4 7.4 17 6l-6 6 6 6 1.4-1.4L13.8 12z'/%3E%3Cpath d='M12.4 7.4 11 6l-6 6 6 6 1.4-1.4L7.8 12z'/%3E%3C/svg%3E");
    }

    .radio-blog-list .pagehopperWrapper .phDesktopMode ~ a.pagehopper::before {
        transform: scaleX(-1);
    }

    /* back arrows sit before "PAGE n", forward arrows after it */
    .radio-blog-list .pagehopperWrapper .lmfont12 + a.pagehopper,
    .radio-blog-list .pagehopperWrapper .lmfont12 + a.pagehopper + a.pagehopper {
        order: -1;
    }
}

/* 551-767px: the page numbers show too, so they shrink a little to keep the pager on one line */
@media (min-width: 551px) and (max-width: 767px) {
    .radio-blog-list .pagehopperWrapper .text-nowrap {
        gap: 5px;
    }

    .radio-blog-list .pagehopperWrapper .phDesktopMode a.pagehopper,
    .radio-blog-list .pagehopperWrapper .phDesktopMode a.pagehopper:link,
    .radio-blog-list .pagehopperWrapper .phDesktopMode a.pagehopper:visited {
        width: 40px;
        min-width: 40px;
        height: 40px;
    }
}

/* very narrow phones: tighter pager so "PAGE 12" and four arrows fit on one line */
@media (max-width: 360px) {
    .radio-blog-list .pagehopperWrapper .text-nowrap {
        gap: 6px;
    }

    .radio-blog-list .pagehopperWrapper .lmfont12 {
        padding: 0 8px 0 11px;
        letter-spacing: 0.04em;
    }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
    .radio-blog-list .pagehopperWrapper a.pagehopper,
    .radio-blog-list .radio-view-blog .radio-view-blog__share-panel {
        transition: none;
    }
}

@media (max-width: 767px) {

    /* ----- Hero: title + photo side by side ----- */
    .radio-blog-card__links {
        gap: 5px !important;
    }
    .radio-blog .radio-blog-hero {
        /* display: grid; */
        grid-template-columns: minmax(0, 1fr) min(40%, 230px);
        grid-template-areas:
            "title img"
            "lead  img"
            "text  text"
            "btns  btns";
        grid-template-rows: auto 1fr auto auto;
        align-items: start;
        column-gap: 6px;
        height: auto;
        padding: 26px max(18px, env(safe-area-inset-right, 0px)) 28px max(18px, env(safe-area-inset-left, 0px));
    }

    .radio-blog .radio-blog-hero__inner,
    .radio-blog .radio-blog-hero__content {
        display: contents;
    }

    .radio-blog .radio-blog-hero__title {
        grid-area: title;
        align-self: start;
        font-size: clamp(54px, 17vw, 76px);
        line-height: 0.95;
        letter-spacing: -0.03em;
    }

    .radio-blog .radio-blog-hero__img {
        grid-area: img;
        position: relative;
        right: auto;
        bottom: auto;
        align-self: end;
        width: calc(100% + max(18px, env(safe-area-inset-right, 0px)));
        max-width: none;
        height: auto;
        margin: 0;
        justify-self: start;
        -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 80%, transparent 100%);
                mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 80%, transparent 100%);
    }

    .radio-blog .radio-blog-hero__lead {
        grid-area: lead;
        margin-top: 12px !important;
        font-size: 16px;
        font-weight: 500;
        line-height: 1.3 !important;
        letter-spacing: 0;
    }

    .radio-blog .radio-blog-hero__text {
        grid-area: text;
        margin-top: 14px !important;
        font-size: 15px;
        line-height: 22px;
        color: rgba(255, 255, 255, 0.9);
    }

    .radio-blog .radio-blog-hero__buttons {
        grid-area: btns;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-top: 18px;
    }

    .radio-blog .radio-blog-hero__btn {
        width: auto;
        height: 46px;
        min-height: 46px;
        font-size: 16px;
    }

    /* ----- Filter head ----- */
    .radio-blog .radio-blog-list__inner {
        padding-top: 26px;
    }

    .radio-blog .radio-blog-list__head {
        gap: 12px;
        margin-bottom: 18px;
    }

    .radio-blog .radio-blog-list__title {
        font-size: 34px;
        line-height: 1.05;
    }

    /* ----- Card: slim, photo on top with controls on it ----- */
    .radio-blog-list .radio-blog-card.radio-view-blog,
    .radio-blog-list .radio-blog-card.radio-view-blog.radio-blog-card--reverse {
        margin-bottom: 14px;
        padding: 0;
        border-radius: 20px;
        background: linear-gradient(180deg, #035a92 0%, #013c66 55%, #002e52 100%);
        box-shadow: 0 10px 24px rgba(0, 10, 30, 0.3), inset 0 0 0 1px rgba(127, 220, 255, 0.14);
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__media {
        position: relative;
        max-width: none;
        padding: 0;
        border-radius: 20px 20px 0 0;
        background: rgba(0, 30, 60, 0.35);
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__img {
        max-height: min(62vw, 340px);
        border-radius: 20px 20px 0 0;
        box-shadow: none;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__actions {
        position: absolute;
        right: 10px;
        bottom: 10px;
        height: auto;
        margin: 0;
        gap: 8px;
    }

    .radio-blog-list .radio-view-blog .radio-blog-card__round {
        box-shadow: 0 6px 14px rgba(0, 0, 0, 0.45);
    }

    /* body as a wrapping row so small pieces can share a line */
    .radio-blog-list .radio-view-blog .radio-view-blog__body {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        column-gap: 10px;
        margin-top: 0;
        padding: 14px 16px 16px;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__body > * {
        flex: 0 0 100%;
        min-width: 0;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__author {
        font-size: 30px;
        line-height: 1.05;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__title {
        margin-top: 6px;
        font-size: 13px;
        line-height: 1.4;
        color: #7fdcff;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__desc {
        margin-top: 10px !important;
        font-size: 15px;
        line-height: 22px;
        -webkit-line-clamp: 3;
        line-clamp: 3;
    }

    /* Read more and the date share one line */
    .radio-blog-list .radio-view-blog .radio-view-blog__readmore {
        flex: 0 0 auto;
        font-size: 15px;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__date {
        flex: 1 1 auto;
        margin-top: 2px !important;
        font-size: 13px;
        font-weight: 400;
        text-align: right;
        color: rgba(255, 255, 255, 0.72);
    }

    /* no Read more (short post, or hidden by radioBlogInitDesc): date goes back under the text */
    .radio-blog-list .radio-view-blog .radio-view-blog__desc + .radio-view-blog__date,
    .radio-blog-list .radio-view-blog .radio-view-blog__readmore[style*="none"] ~ .radio-view-blog__date {
        flex-basis: 100%;
        margin-top: 10px !important;
        text-align: left;
    }

    /* icons and Learn More on one row (Learn More drops below when there is no room) */
    .radio-blog-list .radio-view-blog .radio-view-blog__links {
        flex: 0 1 auto;
        flex-wrap: nowrap;
        gap: 2px;
        margin-top: 10px !important;
        row-gap: 0;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__link {
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__link:active {
        background: rgba(255, 255, 255, 0.12);
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__links .radio-view-blog__icon {
        transform: scale(0.82);
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__more {
        flex: 1 0 128px;
        gap: 10px;
        width: auto;
        max-width: none;
        height: 44px;
        margin-top: 10px;
        font-size: 17px;
        border-radius: 22px;
        padding: 18px;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__more-arrow {
        width: 15px;
        height: 15px;
    }

    /* icons + Learn More always start their own row, under Read more and the date */
    .radio-blog-list .radio-view-blog .radio-view-blog__body::after {
        content: "";
        order: 1;
        flex: 0 0 100%;
        height: 0;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__links,
    .radio-blog-list .radio-view-blog .radio-view-blog__more,
    .radio-blog-list .radio-view-blog .radio-view-blog__viewmore-wrap,
    .radio-blog-list .radio-view-blog .radio-view-blog__extra {
        order: 2;
    }

    /* ----- Share: bottom sheet ----- */
    .radio-blog-list .radio-view-blog .radio-view-blog__share-panel {
        position: fixed;
        top: auto;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1000;
        width: auto;
        max-width: none;
        padding: 12px max(20px, env(safe-area-inset-right, 0px)) max(22px, env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px));
        border-width: 1px 0 0;
        border-radius: 22px 22px 0 0;
        box-shadow: 0 -16px 40px rgba(0, 10, 30, 0.55);
        transform: translateY(105%);
        transform-origin: 50% 100%;
        transition: transform 0.22s ease, opacity 0.22s ease, visibility 0s linear 0.22s;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__share.is-open .radio-view-blog__share-panel {
        transform: none;
        transition: transform 0.22s ease, opacity 0.22s ease, visibility 0s;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__share-panel::before,
    .radio-blog-list .radio-view-blog .radio-view-blog__share-panel::after {
        display: none;
    }

    /* grab handle */
    .radio-blog-list .radio-view-blog .radio-share::before {
        content: "";
        display: block;
        width: 40px;
        height: 4px;
        margin: 0 auto 4px;
        border-radius: 2px;
        background: rgba(255, 255, 255, 0.35);
    }

    .radio-blog-list .radio-view-blog .radio-share__row {
        grid-template-columns: repeat(6, 44px);
        justify-content: space-between;
        gap: 0;
        width: 100%;
        max-width: 420px;
    }

    .radio-blog-list .radio-view-blog .radio-share {
        gap: 12px;
    }

    /* no photo: controls go back into the flow */
    .radio-blog-list .radio-view-blog.radio-view-blog--noimg .radio-view-blog__media {
        padding: 0 16px 16px;
        background: transparent;
    }

    .radio-blog-list .radio-view-blog.radio-view-blog--noimg .radio-view-blog__actions {
        position: relative;
        right: auto;
        bottom: auto;
    }
}

/* Mouse users on a narrow window: the sheet opens on click only, not on hover */
@media (max-width: 767px) and (hover: hover) {
    .radio-blog-list .radio-view-blog .radio-view-blog__share:not(.is-open):hover .radio-view-blog__share-panel {
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: translateY(105%);
    }
}
/* ============ end MUSIC BLOG LIST (list.cfm) : PHONES ============ */

/* =====================================================================
   MUSIC BLOG LIST (list.cfm) : TABLETS, "Compact Grid" (picked 2026-10-07)
   768-1199px only (767.02px so fractional widths are covered); phones
   (max-width 767px) and desktop (1200px and up) are untouched.
   Every tablet: themed round pager, full hero sentence, 44px invisible
   tap areas, hero grows with zoom, whole blog photos.
   Portrait tablets (768-1023): phone "Compact Feed" hero and cards,
   two posts per row, share popup above the play/share buttons.
   Landscape tablets (1024-1199): today's side-by-side cards, whole photos.
   Every rule sits under .radio-blog / .radio-blog-list (list.cfm only).
   ===================================================================== */
/* ---------- shared tablet fixes (every option), 768-1199px ----------
   767.02px instead of 768px so fractional widths (767.5px on some Android tablets) are not left out;
   phones (max-width 767px) and desktop (1200px and up) are not touched. */
@media (min-width: 767.02px) and (max-width: 1199px) {

    /* Keep the hero photo's intentional bleed clipped without making .radio-blog a scroll box */
    .radio-blog {
        overflow-x: hidden;
        overflow-x: clip;
    }

    /* Hero copy: show the whole sentence (landscape tablets cut it at "Dropdown Below And...") */
    .radio-blog .radio-blog-hero__text {
        display: block;
        -webkit-line-clamp: unset;
        line-clamp: none;
        overflow: visible;
    }

    /* Invisible 44px tap areas; nothing moves or changes colour */
    .radio-blog-list .radio-view-blog .radio-view-blog__link {
        position: relative;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__link::before {
        content: "";
        position: absolute;
        inset: -4px;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__readmore {
        position: relative;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__readmore::before {
        content: "";
        position: absolute;
        top: -8px;
        right: -6px;
        bottom: -8px;
        left: -6px;
    }

    /* ----- Pager: display_paging_V3 has no "radio_new_paging" class, so tablets showed the old
       grey 40 x 24 boxes with dark "PAGE n" on navy. Same round pager as the theme, hooked on the section. ----- */
    .radio-blog-list .pagehopperWrapper {
        padding: 0 0 32px;
        text-align: center;
        font-family: 'Roboto', Arial, sans-serif;
    }

    .radio-blog-list .pagehopperWrapper .text-nowrap {
        display: inline-flex !important;   /* beats the inline display:inline-block */
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 8px;
        max-width: 100%;
        padding-right: 0 !important;       /* beats the inline padding-right:30px that pushed it off centre */
        vertical-align: middle;
    }

    .radio-blog-list .pagehopperWrapper .lmfont12 {
        display: inline-flex !important;   /* beats the inline display:inline */
        align-items: center;
        height: 44px;
        margin: 0;
        padding: 0 10px 0 14px;
        border: 1px solid rgba(43, 194, 243, 0.35);
        border-radius: 22px;
        background: rgba(0, 143, 255, 0.13);
        font-family: 'Roboto', Arial, sans-serif;
        font-size: 13px;
        font-weight: 500;
        line-height: 1;
        letter-spacing: 0.08em;
        color: #ffffff;
        white-space: nowrap;
    }

    .radio-blog-list .pagehopperWrapper .phDesktopMode {
        line-height: 0;
    }

    .radio-blog-list .pagehopperWrapper a.pagehopper,
    .radio-blog-list .pagehopperWrapper a.pagehopper:link,
    .radio-blog-list .pagehopperWrapper a.pagehopper:visited {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 44px;
        min-width: 44px;
        height: 44px;
        margin: 0;
        padding: 0;
        border: 1px solid rgba(43, 194, 243, 0.55);
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.04);
        font-family: 'Roboto', Arial, sans-serif;
        font-size: 16px;
        font-weight: 500;
        line-height: 1;
        color: #ffffff;
        text-align: center;
        text-decoration: none;
    }

    .radio-blog-list .pagehopperWrapper a.pagehopper:hover,
    .radio-blog-list .pagehopperWrapper a.pagehopper:focus-visible {
        border-color: transparent;
        background: radial-gradient(circle at 32% 24%, #5cdcf8 0%, #2a9be6 30%, #1673d6 58%, #0b4db6 84%, #083b9c 100%);
        color: #ffffff;
    }

    .radio-blog-list .pagehopperWrapper a.pagehopper:focus-visible {
        outline: 2px solid #ffffff;
        outline-offset: 3px;
    }

    /* arrows: glossy circles with drawn chevrons (the characters stay in the HTML for screen readers) */
    .radio-blog-list .pagehopperWrapper .text-nowrap > a.pagehopper,
    .radio-blog-list .pagehopperWrapper .text-nowrap > a.pagehopper:link,
    .radio-blog-list .pagehopperWrapper .text-nowrap > a.pagehopper:visited {
        border-color: transparent;
        background: radial-gradient(circle at 32% 24%, #5cdcf8 0%, #2a9be6 30%, #1673d6 58%, #0b4db6 84%, #083b9c 100%);
        font-size: 0;
    }

    .radio-blog-list .pagehopperWrapper .text-nowrap > a.pagehopper::before {
        content: "";
        display: block;
        width: 22px;
        height: 22px;
        background-color: #ffffff;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.4 7.4 14 6l-6 6 6 6 1.4-1.4L10.8 12z'/%3E%3C/svg%3E") center / contain no-repeat;
                mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.4 7.4 14 6l-6 6 6 6 1.4-1.4L10.8 12z'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    .radio-blog-list .pagehopperWrapper .lmfont12 + a.pagehopper::before,
    .radio-blog-list .pagehopperWrapper .text-nowrap > a.pagehopper:last-child::before {
        width: 24px;
        height: 24px;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.4 7.4 17 6l-6 6 6 6 1.4-1.4L13.8 12z'/%3E%3Cpath d='M12.4 7.4 11 6l-6 6 6 6 1.4-1.4L7.8 12z'/%3E%3C/svg%3E");
                mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.4 7.4 17 6l-6 6 6 6 1.4-1.4L13.8 12z'/%3E%3Cpath d='M12.4 7.4 11 6l-6 6 6 6 1.4-1.4L7.8 12z'/%3E%3C/svg%3E");
    }

    .radio-blog-list .pagehopperWrapper .phDesktopMode ~ a.pagehopper::before {
        transform: scaleX(-1);
    }

    /* back arrows sit before "PAGE n", forward arrows after it */
    .radio-blog-list .pagehopperWrapper .lmfont12 + a.pagehopper,
    .radio-blog-list .pagehopperWrapper .lmfont12 + a.pagehopper + a.pagehopper {
        order: -1;
    }
}

/* Landscape tablets (1024-1199): the hero keeps its 600px look but can grow with
   browser zoom or larger text instead of clipping the buttons */
@media (min-width: 1023.02px) and (max-width: 1199px) {
    .radio-blog .radio-blog-hero {
        height: auto;
        min-height: 600px;
    }
}

@media (min-width: 767.02px) and (max-width: 1199px) and (prefers-reduced-motion: reduce) {
    .radio-blog-list .pagehopperWrapper a.pagehopper {
        transition: none;
    }
}

@media (min-width: 767.02px) and (max-width: 1199px) {
    .radio-blog-list .radio-view-blog .radio-view-blog__img {
        height: auto;
        aspect-ratio: auto;
        max-height: 560px;
        object-fit: cover;
    }
}

@media (min-width: 1023.02px) and (max-width: 1199px) {
    .radio-blog-list .radio-view-blog:not(.radio-view-blog--noimg) .radio-view-blog__media {
        align-self: center;
        margin-top: 30px;
    }
}

@media (min-width: 767.02px) and (max-width: 1023px) {

    /* ----- Hero: title + photo side by side ----- */
    .radio-blog .radio-blog-hero {
        display: grid;
        grid-template-columns: minmax(0, 1fr) min(40%, 230px);
        grid-template-areas:
            "title img"
            "lead  img"
            "text  text"
            "btns  btns";
        grid-template-rows: auto 1fr auto auto;
        align-items: start;
        column-gap: 6px;
        height: auto;
        padding: 26px max(18px, env(safe-area-inset-right, 0px)) 28px max(18px, env(safe-area-inset-left, 0px));
    }

    .radio-blog .radio-blog-hero__inner,
    .radio-blog .radio-blog-hero__content {
        display: contents;
    }

    .radio-blog .radio-blog-hero__title {
        grid-area: title;
        align-self: start;
        font-size: clamp(54px, 17vw, 76px);
        line-height: 0.95;
        letter-spacing: -0.03em;
    }

    .radio-blog .radio-blog-hero__img {
        grid-area: img;
        position: relative;
        right: auto;
        bottom: auto;
        align-self: end;
        width: calc(100% + max(18px, env(safe-area-inset-right, 0px)));
        max-width: none;
        height: auto;
        margin: 0;
        justify-self: start;
        -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 80%, transparent 100%);
                mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 80%, transparent 100%);
    }

    .radio-blog .radio-blog-hero__lead {
        grid-area: lead;
        margin-top: 12px !important;
        font-size: 16px;
        font-weight: 500;
        line-height: 1.3 !important;
        letter-spacing: 0;
    }

    .radio-blog .radio-blog-hero__text {
        grid-area: text;
        margin-top: 14px !important;
        font-size: 15px;
        line-height: 22px;
        color: rgba(255, 255, 255, 0.9);
    }

    .radio-blog .radio-blog-hero__buttons {
        grid-area: btns;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-top: 18px;
    }

    .radio-blog .radio-blog-hero__btn {
        width: auto;
        height: 46px;
        min-height: 46px;
        font-size: 16px;
    }

    /* ----- Filter head ----- */
    .radio-blog .radio-blog-list__inner {
        padding-top: 26px;
    }

    .radio-blog .radio-blog-list__head {
        gap: 12px;
        margin-bottom: 18px;
    }

    .radio-blog .radio-blog-list__title {
        font-size: 34px;
        line-height: 1.05;
    }

    /* ----- Card: slim, photo on top with controls on it ----- */
    .radio-blog-list .radio-blog-card.radio-view-blog,
    .radio-blog-list .radio-blog-card.radio-view-blog.radio-blog-card--reverse {
        margin-bottom: 14px;
        padding: 0;
        border-radius: 20px;
        background: linear-gradient(180deg, #035a92 0%, #013c66 55%, #002e52 100%);
        box-shadow: 0 10px 24px rgba(0, 10, 30, 0.3), inset 0 0 0 1px rgba(127, 220, 255, 0.14);
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__media {
        position: relative;
        max-width: none;
        padding: 0;
        border-radius: 20px 20px 0 0;
        background: rgba(0, 30, 60, 0.35);
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__img {
        max-height: min(62vw, 340px);
        border-radius: 20px 20px 0 0;
        box-shadow: none;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__actions {
        position: absolute;
        right: 10px;
        bottom: 10px;
        height: auto;
        margin: 0;
        gap: 8px;
    }

    .radio-blog-list .radio-view-blog .radio-blog-card__round {
        box-shadow: 0 6px 14px rgba(0, 0, 0, 0.45);
    }

    /* body as a wrapping row so small pieces can share a line */
    .radio-blog-list .radio-view-blog .radio-view-blog__body {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        column-gap: 10px;
        margin-top: 0;
        padding: 14px 16px 16px;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__body > * {
        flex: 0 0 100%;
        min-width: 0;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__author {
        font-size: 30px;
        line-height: 1.05;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__title {
        margin-top: 6px;
        font-size: 13px;
        line-height: 1.4;
        color: #7fdcff;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__desc {
        margin-top: 10px !important;
        font-size: 15px;
        line-height: 22px;
        -webkit-line-clamp: 3;
        line-clamp: 3;
    }

    /* Read more and the date share one line */
    .radio-blog-list .radio-view-blog .radio-view-blog__readmore {
        flex: 0 0 auto;
        font-size: 15px;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__date {
        flex: 1 1 auto;
        margin-top: 2px !important;
        font-size: 13px;
        font-weight: 400;
        text-align: right;
        color: rgba(255, 255, 255, 0.72);
    }

    /* no Read more (short post, or hidden by radioBlogInitDesc): date goes back under the text */
    .radio-blog-list .radio-view-blog .radio-view-blog__desc + .radio-view-blog__date,
    .radio-blog-list .radio-view-blog .radio-view-blog__readmore[style*="none"] ~ .radio-view-blog__date {
        flex-basis: 100%;
        margin-top: 10px !important;
        text-align: left;
    }

    /* icons and Learn More on one row (Learn More drops below when there is no room) */
    .radio-blog-list .radio-view-blog .radio-view-blog__links {
        flex: 0 1 auto;
        flex-wrap: nowrap;
        gap: 2px;
        margin-top: 10px !important;
        row-gap: 0;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__link {
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__link:active {
        background: rgba(255, 255, 255, 0.12);
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__links .radio-view-blog__icon {
        transform: scale(0.82);
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__more {
        flex: 1 0 128px;
        gap: 10px;
        width: auto;
        max-width: none;
        height: 44px;
        margin-top: 10px;
        font-size: 17px;
        border-radius: 22px;
        padding: 18px;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__more-arrow {
        width: 15px;
        height: 15px;
    }

    /* icons + Learn More always start their own row, under Read more and the date */
    .radio-blog-list .radio-view-blog .radio-view-blog__body::after {
        content: "";
        order: 1;
        flex: 0 0 100%;
        height: 0;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__links,
    .radio-blog-list .radio-view-blog .radio-view-blog__more,
    .radio-blog-list .radio-view-blog .radio-view-blog__viewmore-wrap,
    .radio-blog-list .radio-view-blog .radio-view-blog__extra {
        order: 2;
    }

    /* no photo: controls go back into the flow */
    .radio-blog-list .radio-view-blog.radio-view-blog--noimg .radio-view-blog__media {
        padding: 0 16px 16px;
        background: transparent;
    }

    .radio-blog-list .radio-view-blog.radio-view-blog--noimg .radio-view-blog__actions {
        position: relative;
        right: auto;
        bottom: auto;
    }
}

@media (min-width: 767.02px) and (max-width: 1023px) {
    .radio-blog .radio-blog-hero {
        grid-template-columns: minmax(0, 1fr) min(38%, 300px);
        grid-template-areas:
            "title img"
            "lead  img"
            "text  img"
            "btns  img";
        grid-template-rows: auto auto auto 1fr;
        column-gap: 24px;
        padding: 44px max(32px, env(safe-area-inset-right, 0px)) 40px max(32px, env(safe-area-inset-left, 0px));
    }

    .radio-blog .radio-blog-hero__title {
        font-size: clamp(76px, 11vw, 104px);
    }

    .radio-blog .radio-blog-hero__lead {
        font-size: 19px;
    }

    .radio-blog .radio-blog-hero__text {
        max-width: 640px;
        font-size: 17px;
        line-height: 26px;
    }

    .radio-blog .radio-blog-hero__buttons {
        max-width: 460px;
    }

    .radio-blog .radio-blog-hero__img {
        width: calc(100% + max(32px, env(safe-area-inset-right, 0px)));
    }

    .radio-blog .radio-blog-list__title {
        font-size: 46px;
    }

    /* two posts per row */
    .radio-blog-list .flex-container {
        /* display: grid; */
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
        align-items: start;
        margin-bottom: 28px;
    }

    .radio-blog-card__media{
        flex: 0 0 0px !important;
    }
    .radio-blog-list .radio-blog-card.radio-view-blog,
    .radio-blog-list .radio-blog-card.radio-view-blog.radio-blog-card--reverse {
        width: auto;
        max-width: none;
        margin: 0;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__img {
        max-height: 300px;
    }

    /* share popup: anchored to the card photo so it stays inside the column */
    .radio-blog-list .radio-view-blog .radio-view-blog__share {
        position: static;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__share-panel {
        left: auto;
        right: -4px;
        bottom: calc(100% + 14px);
        transform: translateY(8px) scale(0.92);
        transform-origin: 100% 100%;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__share.is-open .radio-view-blog__share-panel {
        transform: none;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__share-panel::after {
        left: auto;
        right: 18px;
        margin-left: 0;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__share:not(:last-child) .radio-view-blog__share-panel::after {
        right: 70px;
    }

    .radio-blog-list .radio-view-blog .radio-share__row {
        display: grid;
        grid-template-columns: repeat(3, 44px);
        gap: 12px 14px;
        justify-content: center;
    }

    .radio-blog-list .radio-view-blog .radio-share__btn {
        width: 44px;
        height: 44px;
    }
}

@media (min-width: 767.02px) and (max-width: 1023px) and (hover: hover) {
    .radio-blog-list .radio-view-blog .radio-view-blog__share:hover .radio-view-blog__share-panel {
        transform: none;
    }
}
/* ============ end MUSIC BLOG LIST (list.cfm) : TABLETS ============ */

/* =====================================================================
   MUSIC BLOG LIST (list.cfm) : DESKTOP, "Held at 1512" (picked 2026-10-07)
   1200px and up only (1199.02px so fractional widths are covered); phones
   and tablets (up to 1199px) are untouched.
   Every desktop: themed round pager, invisible 44px tap areas for touch
   laptops, hero can grow with text-only zoom, overflow-x clip.
   Wider than 1512: the hero photo stays at the right edge of the 1512
   frame and its dark edge carries on to the screen edge (no seam).
   Every rule sits under .radio-blog / .radio-blog-list (list.cfm only).
   ===================================================================== */
/* ---------- shared desktop fixes (every option), 1200px and up ----------
   1199.02px so fractional widths between the tablet and desktop ranges are covered;
   phones and tablets (up to 1199px) are not touched. */
@media (min-width: 1199.02px) {

    /* Keep the hero photo's intentional bleed clipped without making .radio-blog a scroll box */
    .radio-blog {
        overflow-x: hidden;
        overflow-x: clip;
    }

    /* The hero keeps its 500px look but can grow (text-only zoom, minimum font size)
       instead of clipping the buttons */
    .radio-blog .radio-blog-hero {
        height: auto;
        min-height: 600px;
    }

    /* Invisible 44px tap areas for touch laptops; nothing moves or changes colour */
    .radio-blog-list .radio-view-blog .radio-view-blog__link {
        position: relative;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__link::before {
        content: "";
        position: absolute;
        inset: -4px;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__readmore {
        position: relative;
    }

    .radio-blog-list .radio-view-blog .radio-view-blog__readmore::before {
        content: "";
        position: absolute;
        top: -8px;
        right: -6px;
        bottom: -8px;
        left: -6px;
    }

    /* ----- Pager: display_paging_V3 has no "radio_new_paging" class, so desktop showed the old
       grey 40 x 24 boxes with dark "PAGE n" on navy. Same round pager as the theme, hooked on the section. ----- */
    .radio-blog-list .pagehopperWrapper {
        padding: 0 0 36px;
        text-align: center;
        font-family: 'Roboto', Arial, sans-serif;
    }

    .radio-blog-list .pagehopperWrapper .text-nowrap {
        display: inline-flex !important;   /* beats the inline display:inline-block */
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 14px;
        max-width: 100%;
        padding-right: 0 !important;       /* beats the inline padding-right:30px that pushed it off centre */
        vertical-align: middle;
    }

    .radio-blog-list .pagehopperWrapper .lmfont12 {
        display: inline-flex !important;   /* beats the inline display:inline */
        align-items: center;
        height: 44px;
        margin: 0;
        padding: 0 13px 0 18px;
        border: 1px solid rgba(43, 194, 243, 0.35);
        border-radius: 22px;
        background: rgba(0, 143, 255, 0.13);
        font-family: 'Roboto', Arial, sans-serif;
        font-size: 13px;
        font-weight: 500;
        line-height: 1;
        letter-spacing: 0.08em;
        color: #ffffff;
        white-space: nowrap;
    }

    .radio-blog-list .pagehopperWrapper .phDesktopMode {
        line-height: 0;
    }

    .radio-blog-list .pagehopperWrapper a.pagehopper,
    .radio-blog-list .pagehopperWrapper a.pagehopper:link,
    .radio-blog-list .pagehopperWrapper a.pagehopper:visited {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 44px;
        min-width: 44px;
        height: 44px;
        margin: 0;
        padding: 0;
        border: 1px solid rgba(43, 194, 243, 0.55);
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.04);
        font-family: 'Roboto', Arial, sans-serif;
        font-size: 16px;
        font-weight: 500;
        line-height: 1;
        color: #ffffff;
        text-align: center;
        text-decoration: none;
    }

    .radio-blog-list .pagehopperWrapper a.pagehopper:hover,
    .radio-blog-list .pagehopperWrapper a.pagehopper:focus-visible {
        border-color: transparent;
        background: radial-gradient(circle at 32% 24%, #5cdcf8 0%, #2a9be6 30%, #1673d6 58%, #0b4db6 84%, #083b9c 100%);
        color: #ffffff;
    }

    .radio-blog-list .pagehopperWrapper a.pagehopper:focus-visible {
        outline: 2px solid #ffffff;
        outline-offset: 3px;
    }

    /* arrows: glossy circles with drawn chevrons (the characters stay in the HTML for screen readers) */
    .radio-blog-list .pagehopperWrapper .text-nowrap > a.pagehopper,
    .radio-blog-list .pagehopperWrapper .text-nowrap > a.pagehopper:link,
    .radio-blog-list .pagehopperWrapper .text-nowrap > a.pagehopper:visited {
        border-color: transparent;
        background: radial-gradient(circle at 32% 24%, #5cdcf8 0%, #2a9be6 30%, #1673d6 58%, #0b4db6 84%, #083b9c 100%);
        font-size: 0;
    }

    .radio-blog-list .pagehopperWrapper .text-nowrap > a.pagehopper::before {
        content: "";
        display: block;
        width: 22px;
        height: 22px;
        background-color: #ffffff;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.4 7.4 14 6l-6 6 6 6 1.4-1.4L10.8 12z'/%3E%3C/svg%3E") center / contain no-repeat;
                mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.4 7.4 14 6l-6 6 6 6 1.4-1.4L10.8 12z'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    .radio-blog-list .pagehopperWrapper .lmfont12 + a.pagehopper::before,
    .radio-blog-list .pagehopperWrapper .text-nowrap > a.pagehopper:last-child::before {
        width: 24px;
        height: 24px;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.4 7.4 17 6l-6 6 6 6 1.4-1.4L13.8 12z'/%3E%3Cpath d='M12.4 7.4 11 6l-6 6 6 6 1.4-1.4L7.8 12z'/%3E%3C/svg%3E");
                mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.4 7.4 17 6l-6 6 6 6 1.4-1.4L13.8 12z'/%3E%3Cpath d='M12.4 7.4 11 6l-6 6 6 6 1.4-1.4L7.8 12z'/%3E%3C/svg%3E");
    }

    .radio-blog-list .pagehopperWrapper .phDesktopMode ~ a.pagehopper::before {
        transform: scaleX(-1);
    }

    /* back arrows sit before "PAGE n", forward arrows after it */
    .radio-blog-list .pagehopperWrapper .lmfont12 + a.pagehopper,
    .radio-blog-list .pagehopperWrapper .lmfont12 + a.pagehopper + a.pagehopper {
        order: -1;
    }
}

@media (min-width: 1199.02px) and (prefers-reduced-motion: reduce) {
    .radio-blog-list .pagehopperWrapper a.pagehopper {
        transition: none;
    }
}

/* Screens wider than 1512: the hero photo stays at the right edge of the 1512 frame,
   next to the text, instead of drifting to the edge of the monitor */
@media (min-width: 1512px) {
    .radio-blog .radio-blog-hero__img {
        right: calc(50% - 756px);
    }

    /* the photo's dark right edge carries on to the screen edge, so there is no seam */
    .radio-blog .radio-blog-hero {
        background:
            linear-gradient(90deg, rgba(1, 36, 60, 0) calc(50% + 756px), #01243c calc(50% + 756px)),
            linear-gradient(90deg, #065f9e 0%, #02365b 100%);
    }
}
/* ============ end MUSIC BLOG LIST (list.cfm) : DESKTOP ============ */
.vendor-option-list{
    margin: 0;
    color: #fff;
    font-family: inherit;
    font-size: clamp(1rem, 1.354vw, 20.5px);
    font-weight: 600;
    line-height: 1.3 !important;
    text-transform: capitalize;
    margin-top: 15px;
}
#we-slider-section .container{
    max-width: 1512px !important;
}
.we-image-mask{
    margin-right: 30px;
}
.ways-earn-text-content{
    width: 60%;
}
.aae-title{
    font-size: 3rem !important;
    font-weight: 600;
    margin-bottom: 10px;
}
.aae-subtitle{
    width: 80%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
.b2b{
    font-weight: 600;
}
.aar-item-icon{
    margin-bottom: 20px;
}
.aae-item-text{
    width: 85%;
    font-size: 1.1rem !important;
}
.b2c{
    font-weight: 600;
    margin-top: 70px;
}
.look-inside .aae-item-title {
    font-size: 1.5rem !important;
    font-weight: 600;
}
.details__canvas *{
    border-radius: 0 !important;
}
.radio-view-blog:nth-child(odd) .radio-view-blog__actions {
    justify-content:flex-start  ;
}

.radio-view-blog:nth-child(even) .radio-view-blog__actions {
    justify-content:  flex-end;
}

.ways-earn-thumbnails{
    padding-bottom: 20px;
}

/* =====================================================================
   BLOG ARTICLE PAGE (view_V1.cfm) : Figma "RadioSparx / version 2 / Blue / blog2"
   Added 2026-10-12. Every rule is scoped to .radio-blog-post*, no body/html/global
   selectors, so it is safe in the shared stylesheet.
   Fonts: Playfair Display (400, 600) and Roboto (500, 700), linked by view_V1.cfm.

   Sizes are the Figma px multiplied by --rbp-u:
     - 1px when the page is 1608px wide or more (content held at the 1512px page width),
     - shrinks with the page down to 1200px, so the layout keeps the Figma proportions,
     - below 1200px the tablet and phone rules at the end take over with fixed sizes.
   ===================================================================== */

.radio-blog-post {
    --rbp-u: clamp(0.5px, calc((100vw - 96px) / 1512), 1px);
    position: relative;
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: #012640;
    color: #ffffff;
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
    text-align: left;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    container-type: inline-size;
}

/* measure the article itself rather than the window where supported */
@supports (width: 1cqw) {
    .radio-blog-post {
        --rbp-u: clamp(0.5px, calc((100cqw - 96px) / 1512), 1px);
    }
}

.radio-blog-post *,
.radio-blog-post *::before,
.radio-blog-post *::after {
    box-sizing: border-box;
}

.radio-blog-post h1,
.radio-blog-post h2,
.radio-blog-post p,
.radio-blog-post ul,
.radio-blog-post li {
    margin: 0;
    padding: 0;
}

.radio-blog-post ul {
    list-style: none;
}

/* ---------------------------------------------------------------------
   HERO : blog photo + title
   --------------------------------------------------------------------- */

.radio-blog-post .radio-blog-post__hero {
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: calc(1040 * var(--rbp-u));
    overflow: hidden;
    background: linear-gradient(270deg, #00527f 0%, #050b10 100%);
}

.radio-blog-post .radio-blog-post__hero-media {
    position: absolute;
    inset: 0;
    z-index: -1;
}

.radio-blog-post .radio-blog-post__hero-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(270deg, rgba(0, 121, 191, 0.66) 0%, rgba(0, 0, 0, 0.5808) 100%);
}

.radio-blog-post .radio-blog-post__hero-img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
}

.radio-blog-post .radio-blog-post__hero-inner {
    width: 100%;
    padding: calc(160 * var(--rbp-u)) 48px calc(68 * var(--rbp-u));
    text-align: center;
}

.radio-blog-post .radio-blog-post__title {
    display: block;
    max-width: calc(1320 * var(--rbp-u));
    margin: 0 auto;
    color: #ffffff;
    font-weight: 400;
    text-align: center;
    overflow-wrap: break-word;
}

.radio-blog-post .radio-blog-post__title-main {
    display: block;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: calc(112 * var(--rbp-u));
    font-weight: 700;
    line-height: calc(116 * var(--rbp-u)) !important;
    letter-spacing: 0;
    text-transform: capitalize;
}

.radio-blog-post .radio-blog-post__title-by {
    display: block;
    margin-top: calc(-7 * var(--rbp-u));
    font-family: 'Playfair Display', Georgia, serif;
    font-size: calc(60 * var(--rbp-u));
    font-weight: 400;
    line-height: calc(116 * var(--rbp-u)) !important;
    letter-spacing: calc(-4.5 * var(--rbp-u));
}

/* longer titles step down so they stay on two or three lines */
.radio-blog-post .radio-blog-post__title--long .radio-blog-post__title-main {
    font-size: calc(88 * var(--rbp-u));
    line-height: calc(94 * var(--rbp-u)) !important;
}

.radio-blog-post .radio-blog-post__title--longer .radio-blog-post__title-main {
    font-size: calc(64 * var(--rbp-u));
    line-height: calc(72 * var(--rbp-u)) !important;
}

.radio-blog-post .radio-blog-post__meta {
    display: flex;
    flex-direction: column;
    gap: calc(18 * var(--rbp-u));
    width: max-content;
    min-width: calc(461 * var(--rbp-u));
    max-width: 100%;
    margin: calc(31 * var(--rbp-u)) auto 0;
    text-align: center;
}

.radio-blog-post .radio-blog-post__meta-item {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: calc(32 * var(--rbp-u));
    font-weight: 400;
    line-height: calc(42 * var(--rbp-u)) !important;
    color: #ffffff;
}

.radio-blog-post .radio-blog-post__meta-label {
    font-family: 'Roboto', Arial, sans-serif;
    font-weight: 500;
    line-height: 1 !important; /* keeps the line at 42px with the mixed fonts */
}

.radio-blog-post .radio-blog-post__meta-value {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 400;
}

/* ---------------------------------------------------------------------
   ARTICLE : byline + intro, numbered sections
   --------------------------------------------------------------------- */

.radio-blog-post .radio-blog-post__body {
    padding: calc(65 * var(--rbp-u)) 48px calc(97 * var(--rbp-u));
    background: #012640;
}

.radio-blog-post .radio-blog-post__inner {
    width: 100%;
    max-width: calc(1508 * var(--rbp-u));
    margin: 0 auto;
}

.radio-blog-post .radio-blog-post__intro-row {
    display: grid;
    grid-template-columns: calc(202 * var(--rbp-u)) minmax(0, calc(1253 * var(--rbp-u)));
    column-gap: calc(28 * var(--rbp-u));
    align-items: start;
}

.radio-blog-post .radio-blog-post__byline {
    min-width: 0;
}

.radio-blog-post .radio-blog-post__avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(72 * var(--rbp-u));
    height: calc(72 * var(--rbp-u));
    margin-left: calc(1 * var(--rbp-u));
    overflow: hidden;
    border: 1px solid rgba(0, 154, 255, 0.44);
    border-radius: 50%;
    background: radial-gradient(circle at 30% 25%, #2fc0ff 0%, #0a86d4 45%, #04406d 100%);
    font-family: 'Playfair Display', Georgia, serif;
    font-size: calc(26 * var(--rbp-u));
    font-weight: 600;
    line-height: 1 !important;
    letter-spacing: 0.02em;
    color: #ffffff;
}

.radio-blog-post .radio-blog-post__avatar img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}

.radio-blog-post .radio-blog-post__author {
    margin-top: calc(6 * var(--rbp-u));
    font-size: calc(22 * var(--rbp-u));
    font-weight: 400;
    line-height: calc(32 * var(--rbp-u)) !important;
    color: #ffffff;
    text-transform: capitalize;
}

.radio-blog-post .radio-blog-post__date {
    margin-top: calc(4 * var(--rbp-u));
    font-size: calc(14 * var(--rbp-u));
    font-weight: 400;
    line-height: calc(22 * var(--rbp-u)) !important;
    color: #ffffff;
}

.radio-blog-post .radio-blog-post__avatar + .radio-blog-post__date {
    margin-top: calc(10 * var(--rbp-u));
}

/* intro: large text, lower case with a capital first letter (as in the Figma) */
.radio-blog-post .radio-blog-post__intro {
    min-width: 0;
    font-size: calc(37 * var(--rbp-u));
    font-weight: 600;
    line-height: calc(44 * var(--rbp-u)) !important;
    color: #ffffff;
    text-align: justify;
    text-transform: lowercase;
    overflow-wrap: break-word;
}

.radio-blog-post .radio-blog-post__intro::first-letter {
    text-transform: uppercase;
}

/* numbered sections: number in the left rail, text column beside it */
.radio-blog-post .radio-blog-post__section {
    display: grid;
    grid-template-columns: calc(230 * var(--rbp-u)) minmax(0, 1fr);
    align-items: start;
    margin-top: calc(128 * var(--rbp-u));
}

.radio-blog-post .radio-blog-post__intro-row + .radio-blog-post__section {
    margin-top: calc(149 * var(--rbp-u));
}

.radio-blog-post .radio-blog-post__num {
    display: block;
    padding-left: calc(119 * var(--rbp-u));
    font-family: 'Playfair Display', Georgia, serif;
    font-size: calc(64 * var(--rbp-u));
    font-weight: 600;
    line-height: calc(34 * var(--rbp-u)) !important;
    letter-spacing: -0.04em;
    font-variant-numeric: oldstyle-nums;
    color: #ffffff;
    white-space: nowrap;
}

.radio-blog-post .radio-blog-post__section-body {
    min-width: 0;
}
.radio-blog-post .radio-blog-post__para::first-letter {
    text-transform: uppercase;
}

.radio-blog-post .radio-blog-post__heading {
    margin-bottom: calc(55 * var(--rbp-u));
    padding-left: calc(11.5 * var(--rbp-u));
    font-family: 'Playfair Display', Georgia, serif;
    font-size: calc(64 * var(--rbp-u));
    font-weight: 600;
    line-height: calc(48 * var(--rbp-u)) !important;
    color: #ffffff;
    text-transform: capitalize;
}

.radio-blog-post .radio-blog-post__para {
    padding-left: calc(11.5 * var(--rbp-u));
    font-size: calc(37 * var(--rbp-u));
    font-weight: 600;
    line-height: calc(44 * var(--rbp-u)) !important;
    color: #ffffff;
    text-align: justify;
    text-transform: lowercase;
    overflow-wrap: break-word;
}

.radio-blog-post .radio-blog-post__para + .radio-blog-post__para {
    margin-top: calc(42 * var(--rbp-u));
}

/* a paragraph ending in ":" that introduces the next one */
.radio-blog-post .radio-blog-post__para--lead {
    padding-left: 0;
    text-align: left;
}

.radio-blog-post .radio-blog-post__para--lead + .radio-blog-post__para {
    margin-top: calc(49 * var(--rbp-u));
}

.radio-blog-post .radio-blog-post__para img,
.radio-blog-post .radio-blog-post__para iframe,
.radio-blog-post .radio-blog-post__para video {
    max-width: 100%;
}

/* links inside the text */
.radio-blog-post .radio-blog-post__intro a,
.radio-blog-post .radio-blog-post__para a,
.radio-blog-post .radio-blog-post__heading a {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(255, 255, 255, 0.45);
    text-underline-offset: 0.16em;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.radio-blog-post .radio-blog-post__intro a:hover,
.radio-blog-post .radio-blog-post__para a:hover,
.radio-blog-post .radio-blog-post__heading a:hover,
.radio-blog-post .radio-blog-post__intro a:focus-visible,
.radio-blog-post .radio-blog-post__para a:focus-visible {
    color: #24bdff;
    text-decoration-color: #24bdff;
}

/* readmore field: "View more" and the extra sections */
.radio-blog-post .radio-blog-post__viewmore-wrap {
    margin-top: calc(64 * var(--rbp-u));
    padding-left: calc(241.5 * var(--rbp-u));
}

.radio-blog-post a.radio-blog-post__viewmore {
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    color: #24bdff;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.radio-blog-post a.radio-blog-post__viewmore:hover,
.radio-blog-post a.radio-blog-post__viewmore:focus-visible {
    color: #ffffff;
}

/* ---------------------------------------------------------------------
   ACTIONS : play, track / artist / station buttons, share, staff edit
   --------------------------------------------------------------------- */

.radio-blog-post .radio-blog-post__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-top: calc(104 * var(--rbp-u));
    padding-left: calc(241.5 * var(--rbp-u));
}

.radio-blog-post .radio-blog-post__btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 48px;
    margin: 0;
    padding: 0 18px 0 22px;
    border: 1px solid #95d8ff;
    border-radius: 28px;
    background: #0aaaee;
    font-family: 'Poppins', Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: #ffffff !important;
    text-decoration: none !important;
    text-transform: capitalize;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.radio-blog-post .radio-blog-post__btn::after {
    content: "";
    flex: none;
    width: 16px;
    height: 16px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.radio-blog-post .radio-blog-post__btn--external::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E");
}

.radio-blog-post .radio-blog-post__btn:hover,
.radio-blog-post .radio-blog-post__btn:focus-visible,
.radio-blog-post .radio-blog-post__btn--article:focus-within {
    background-color: #0896d4;
    box-shadow: 0 8px 18px rgba(0, 10, 30, 0.35);
    transform: translateY(-1px);
}

.radio-blog-post .radio-blog-post__btn:focus-visible,
.radio-blog-post .radio-blog-post__btn--article:focus-within {
    outline: 2px solid #ffffff;
    outline-offset: 3px;
}

/* See Full Article: the interface.next module's link is stretched, invisible, over the button */
.radio-blog-post .radio-blog-post__hit {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    border-radius: 28px;
    opacity: 0;
}

.radio-blog-post .radio-blog-post__hit a,
.radio-blog-post .radio-blog-post__hit img {
    display: block;
    width: 100%;
    height: 100%;
}

/* round buttons (play, share, edit) */
.radio-blog-post .radio-blog-post__round {
    position: relative;
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 1px solid #95d8ff;
    border-radius: 50%;
    background: #0aaaee;
    color: #ffffff;
    cursor: pointer;
    transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.radio-blog-post .radio-blog-post__round:hover,
.radio-blog-post .radio-blog-post__round:focus-visible,
.radio-blog-post .radio-blog-post__round:focus-within {
    background-color: #0896d4;
    box-shadow: 0 8px 18px rgba(0, 10, 30, 0.35);
}

.radio-blog-post .radio-blog-post__round:focus-visible,
.radio-blog-post .radio-blog-post__play:focus-within,
.radio-blog-post .radio-blog-post__edit:focus-within {
    outline: 2px solid #ffffff;
    outline-offset: 3px;
}

/* Play: the player module's lspeakerplay26 / lspeakerstop26 link fills the circle */
.radio-blog-post .radio-blog-post__play > a {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

.radio-blog-post .radio-blog-post__play > a img {
    filter: brightness(0) invert(1);
}

.radio-blog-post .radio-blog-post__play a.lspeakerplay26,
.radio-blog-post .radio-blog-post__play a.lspeakerplay26:hover {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 69 93'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M7.2 6.6L5 8.1 5 46.1C5 70.4 5.4 84.8 6 86.1C8.4 90.4 11.6 88.6 38 68.7C52.1 58.1 63.7 48.7 63.8 47.7C64 46.7 63.4 45 62.4 43.9C60 41.3 11.5 5 10.4 5C9.9 5 8.4 5.7 7.2 6.6'/%3E%3C/svg%3E") 56% 50% / 14.62px 19.71px no-repeat;
}

.radio-blog-post .radio-blog-post__play a.lspeakerstop26,
.radio-blog-post .radio-blog-post__play a.lspeakerstop26:hover {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect fill='%23fff' x='5' y='5' width='14' height='14' rx='2.5'/%3E%3C/svg%3E") center / 22px 22px no-repeat;
}

/* Share: round button that opens the share popup (bar.cfm with layout="radio") */
.radio-blog-post .radio-blog-post__share {
    position: relative;
    display: inline-flex;
}

.radio-blog-post .radio-blog-post__share-btn::before {
    content: "";
    width: 18px;
    height: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 76 84'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M54.4 6.9C51.4 8.7 49 13.3 49 17.1C49 18.4 45.2 21.2 36.3 26.4C24.1 33.6 23.5 33.8 20.9 32.4C16.1 30 12.2 30.6 8.4 34.4C-0.5 43.3 9.6 57.3 20.8 51.6C23.4 50.3 24.1 50.6 36.7 57.9C49.3 65.1 50 65.7 50 68.7C50 72.6 54 77.6 57.9 78.5C64 79.8 71 74.2 71 68C71 60 60.4 54.4 54.3 59.2C52.9 60.3 52.3 60 37.8 51.3C28 45.5 27 44.6 27 42C27 39.3 28.1 38.4 39.7 31.6C51.9 24.4 52.5 24.2 55.1 25.6C59.9 28 63.8 27.4 67.6 23.6C76.9 14.3 65.6 0.1 54.4 6.9'/%3E%3C/svg%3E") center / contain no-repeat;
}

.radio-blog-post .radio-blog-post__share.is-open .radio-blog-post__share-btn {
    box-shadow: 0 0 0 3px rgba(127, 220, 255, 0.45);
}

.radio-blog-post .radio-blog-post__share-panel {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 16px);
    z-index: 30;
    width: max-content;
    max-width: min(360px, calc(100vw - 32px));
    padding: 16px 18px 18px;
    border: 1px solid rgba(127, 220, 255, 0.35);
    border-radius: 20px;
    background: linear-gradient(160deg, #0b5288 0%, #063a62 55%, #04263b 100%);
    box-shadow: 0 20px 44px rgba(0, 10, 30, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.1);
    color: #ffffff;
    text-align: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 8px) scale(0);
    transform-origin: 50% 100%;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
}

/* pointer under the popup */
.radio-blog-post__share-panel:first-child {
    gap: 5px;
}
.radio-blog-post .radio-blog-post__share-panel::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -8px;
    width: 14px;
    height: 14px;
    margin-left: -7px;
    border-right: 1px solid rgba(127, 220, 255, 0.35);
    border-bottom: 1px solid rgba(127, 220, 255, 0.35);
    background: #04283f;
    transform: rotate(45deg);
}

/* invisible bridge so the popup stays open while the mouse moves up to it */
.radio-blog-post .radio-blog-post__share-panel::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -18px;
    height: 18px;
}

.radio-blog-post .radio-blog-post__share.is-open .radio-blog-post__share-panel {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0) scale(1);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s;
}

@media (hover: hover) {
    .radio-blog-post .radio-blog-post__share:hover .radio-blog-post__share-panel {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translate(-50%, 0) scale(1);
        transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s;
    }
}

/* popup content (bar.cfm, layout="radio") */
.radio-blog-post .radio-share {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.radio-blog-post .radio-share__label {
    margin: 0;
    padding: 0;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1 !important;
    letter-spacing: 0.06em;
    color: #ffffff;
    text-transform: uppercase;
    white-space: nowrap;
}

.radio-blog-post .radio-share__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
}

.radio-blog-post .radio-share__btn {
    position: relative;
    display: inline-flex;
    flex: none;
    width: 37px;
    height: 37px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(127, 220, 255, 0.4);
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.07);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 18px 18px;
    color: #ffffff;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.radio-blog-post .radio-share__btn:hover,
.radio-blog-post .radio-share__btn:focus-visible {
    border-color: transparent;
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0, 10, 30, 0.4);
    text-decoration: none;
}

.radio-blog-post .radio-share__btn:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 2px;
}

.radio-blog-post .radio-share__btn--facebook { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M13.5 21v-7.5h2.6l.4-3h-3V8.6c0-.9.25-1.5 1.5-1.5h1.6V4.4c-.3 0-1.2-.1-2.3-.1-2.3 0-3.9 1.4-3.9 4v2.2H7.8v3h2.6V21z'/%3E%3C/svg%3E"); background-size: 20px 20px; }
.radio-blog-post .radio-share__btn--x        { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E"); background-size: 16px 16px; }
.radio-blog-post .radio-share__btn--linkedin { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M4.98 3.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zM3 9.5h4V21H3zM9.5 9.5h3.8v1.6h.05c.53-1 1.83-2.05 3.77-2.05 4.03 0 4.78 2.65 4.78 6.1V21h-4v-5.1c0-1.22-.02-2.79-1.7-2.79-1.7 0-1.96 1.33-1.96 2.7V21h-4z'/%3E%3C/svg%3E"); background-size: 17px 17px; }
.radio-blog-post .radio-share__btn--whatsapp { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='1.8' stroke-linejoin='round' d='M12 3.2a8.8 8.8 0 0 0-7.6 13.2L3.2 20.8l4.5-1.2A8.8 8.8 0 1 0 12 3.2z'/%3E%3Cpath fill='%23fff' d='M9.1 7.6c-.2-.5-.4-.5-.6-.5h-.5c-.2 0-.5.1-.7.3-.3.3-.9.9-.9 2.2s.9 2.5 1 2.7c.1.2 1.8 2.9 4.5 3.9 2.2.9 2.7.7 3.2.7.5-.1 1.5-.6 1.7-1.2.2-.6.2-1.1.2-1.2-.1-.1-.2-.2-.5-.3l-1.7-.8c-.2-.1-.4-.1-.6.1l-.8 1c-.1.2-.3.2-.5.1-.3-.1-1.1-.4-2-1.3-.8-.7-1.3-1.5-1.4-1.8-.1-.3 0-.4.1-.5l.4-.4c.1-.2.2-.3.3-.5.1-.2 0-.3 0-.4l-.8-1.9z'/%3E%3C/svg%3E"); background-size: 21px 21px; }
.radio-blog-post .radio-share__btn--email    { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V8l8 5 8-5v10zm-8-7L4 6h16l-8 5z'/%3E%3C/svg%3E"); }
.radio-blog-post .radio-share__btn--copy     { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z'/%3E%3C/svg%3E"); background-size: 20px 20px; }

.radio-blog-post .radio-share__btn--facebook:hover, .radio-blog-post .radio-share__btn--facebook:focus-visible { background-color: #1877f2; }
.radio-blog-post .radio-share__btn--x:hover,        .radio-blog-post .radio-share__btn--x:focus-visible        { background-color: #000000; }
.radio-blog-post .radio-share__btn--linkedin:hover, .radio-blog-post .radio-share__btn--linkedin:focus-visible { background-color: #0a66c2; }
.radio-blog-post .radio-share__btn--whatsapp:hover, .radio-blog-post .radio-share__btn--whatsapp:focus-visible { background-color: #25d366; }
.radio-blog-post .radio-share__btn--email:hover,    .radio-blog-post .radio-share__btn--email:focus-visible,
.radio-blog-post .radio-share__btn--copy:hover,     .radio-blog-post .radio-share__btn--copy:focus-visible     { background-color: #1a8fe0; }

/* copy link: green tick and a "Copied" bubble for 2 seconds */
.radio-blog-post .radio-share__btn--copy.is-copied {
    border-color: transparent;
    background-color: #19a463;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
}

.radio-blog-post .radio-share__btn--copy.is-copied::after {
    content: "Copied";
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    padding: 4px 8px;
    border-radius: 6px;
    background: #ffffff;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
    color: #00305c;
    white-space: nowrap;
    transform: translateX(-50%);
}

/* Staff edit: pencil drawn here, the module's own link covers the circle */
.radio-blog-post .radio-blog-post__edit::before {
    content: "";
    width: 21px;
    height: 21px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 99 99'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M70.4 10.2L64.9 15.5 74.3 24.8L83.6 34.1 88.8 28.6C91.7 25.6 94 22.6 94 21.9C94 20.2 78.7 5 77.1 5C76.4 5 73.4 7.4 70.4 10.2M32.2 48.3L5 75.5 5 84.8L5 94 14.3 94L23.5 94 50.8 66.7L78 39.5 68.7 30.2L59.5 21 32.2 48.3'/%3E%3C/svg%3E") center / contain no-repeat;
}

.radio-blog-post .radio-blog-post__edit > :not(script):not(style) {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    overflow: hidden;
    border-radius: 50%;
    opacity: 0;
}

.radio-blog-post .radio-blog-post__edit a,
.radio-blog-post .radio-blog-post__edit img {
    display: block;
    width: 100%;
    height: 100%;
}

/* ---------------------------------------------------------------------
   TABLETS (768 - 1199px): fixed sizes, byline above the intro
   --------------------------------------------------------------------- */

@media (max-width: 1199.98px) {
    .radio-blog-post .radio-blog-post__hero {
        min-height: 640px;
    }

    .radio-blog-post .radio-blog-post__hero-inner {
        padding: 140px 40px 60px;
    }

    .radio-blog-post .radio-blog-post__title {
        max-width: 940px;
    }

    .radio-blog-post .radio-blog-post__title-main,
    .radio-blog-post .radio-blog-post__title--long .radio-blog-post__title-main {
        font-size: 72px;
        line-height: 76px !important;
    }

    .radio-blog-post .radio-blog-post__title--longer .radio-blog-post__title-main {
        font-size: 52px;
        line-height: 58px !important;
    }

    .radio-blog-post .radio-blog-post__title-by {
        margin-top: -2px;
        font-size: 72px;
        line-height: 78px !important;
        letter-spacing: -3px;
    }

    .radio-blog-post .radio-blog-post__meta {
        gap: 8px;
        min-width: 300px;
        margin-top: 28px;
    }

    .radio-blog-post .radio-blog-post__meta-item {
        font-size: 24px;
        line-height: 32px !important;
    }

    .radio-blog-post .radio-blog-post__body {
        padding: 56px 40px 72px;
    }

    .radio-blog-post .radio-blog-post__inner {
        max-width: 960px;
    }

    .radio-blog-post .radio-blog-post__intro-row {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 28px;
    }

    .radio-blog-post .radio-blog-post__byline {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        column-gap: 14px;
        align-items: center;
    }

    .radio-blog-post .radio-blog-post__avatar {
        grid-row: 1 / span 2;
        width: 56px;
        height: 56px;
        margin: 0;
        font-size: 20px;
    }

    .radio-blog-post .radio-blog-post__author,
    .radio-blog-post .radio-blog-post__date,
    .radio-blog-post .radio-blog-post__avatar + .radio-blog-post__date {
        grid-column: 2;
        margin: 0;
    }

    .radio-blog-post .radio-blog-post__author {
        align-self: end;
        font-size: 20px;
        line-height: 28px !important;
    }

    .radio-blog-post .radio-blog-post__date {
        align-self: start;
        font-size: 14px;
        line-height: 20px !important;
    }

    .radio-blog-post .radio-blog-post__intro {
        font-size: 28px;
        line-height: 38px !important;
    }

    .radio-blog-post .radio-blog-post__section {
        grid-template-columns: 96px minmax(0, 1fr);
        margin-top: 64px;
    }

    .radio-blog-post .radio-blog-post__intro-row + .radio-blog-post__section {
        margin-top: 56px;
    }

    .radio-blog-post .radio-blog-post__num {
        padding-left: 0;
        font-size: 64px;
        line-height: 28px !important;
    }

    .radio-blog-post .radio-blog-post__heading {
        margin-bottom: 24px;
        padding-left: 0;
        font-size: 40px;
        line-height: 44px !important;
    }

    .radio-blog-post .radio-blog-post__para {
        padding-left: 0;
        font-size: 22px;
        line-height: 32px !important;
    }

    .radio-blog-post .radio-blog-post__para + .radio-blog-post__para {
        margin-top: 32px;
    }

    .radio-blog-post .radio-blog-post__para--lead + .radio-blog-post__para {
        margin-top: 32px;
    }

    .radio-blog-post .radio-blog-post__viewmore-wrap,
    .radio-blog-post .radio-blog-post__actions {
        padding-left: 96px;
    }

    .radio-blog-post .radio-blog-post__viewmore-wrap {
        margin-top: 48px;
    }

    .radio-blog-post .radio-blog-post__actions {
        margin-top: 64px;
    }
}

/* ---------------------------------------------------------------------
   PHONES (up to 767px): left-aligned text, small number rail
   --------------------------------------------------------------------- */

@media (max-width: 767.98px) {
    .radio-blog-post .radio-blog-post__hero {
        min-height: 520px;
    }

    .radio-blog-post .radio-blog-post__hero-inner {
        padding: 120px 20px 40px;
    }

    .radio-blog-post .radio-blog-post__title-main,
    .radio-blog-post .radio-blog-post__title--long .radio-blog-post__title-main {
        font-size: 40px;
        line-height: 44px !important;
    }

    .radio-blog-post .radio-blog-post__title--longer .radio-blog-post__title-main {
        font-size: 32px;
        line-height: 38px !important;
    }

    .radio-blog-post .radio-blog-post__title-by {
        margin-top: 2px;
        font-size: 38px;
        line-height: 44px !important;
        letter-spacing: -1.5px;
    }

    .radio-blog-post .radio-blog-post__meta {
        gap: 4px;
        min-width: 0;
        margin-top: 20px;
    }

    .radio-blog-post .radio-blog-post__meta-item {
        font-size: 18px;
        line-height: 26px !important;
    }

    .radio-blog-post .radio-blog-post__body {
        padding: 36px 20px 56px;
    }

    .radio-blog-post .radio-blog-post__intro-row {
        row-gap: 22px;
    }

    .radio-blog-post .radio-blog-post__avatar {
        width: 48px;
        height: 48px;
        font-size: 18px;
    }

    .radio-blog-post .radio-blog-post__author {
        font-size: 18px;
        line-height: 26px !important;
        /* margin-top: 12px; */
    }

    .radio-blog-post .radio-blog-post__date {
        font-size: 13px;
        line-height: 18px !important;
    }

    .radio-blog-post .radio-blog-post__intro {
        font-size: 22px;
        line-height: 31px !important;
        text-align: left;
    }

    .radio-blog-post .radio-blog-post__section {
        grid-template-columns: 58px minmax(0, 1fr);
        margin-top: 44px;
    }

    .radio-blog-post .radio-blog-post__intro-row + .radio-blog-post__section {
        margin-top: 40px;
    }

    .radio-blog-post .radio-blog-post__num {
        font-size: 42px;
        line-height: 22px !important;
    }

    .radio-blog-post .radio-blog-post__heading {
        margin-bottom: 16px;
        font-size: 28px;
        line-height: 32px !important;
    }

    .radio-blog-post .radio-blog-post__para {
        font-size: 18px;
        line-height: 28px !important;
        text-align: left;
    }

    .radio-blog-post .radio-blog-post__para + .radio-blog-post__para,
    .radio-blog-post .radio-blog-post__para--lead + .radio-blog-post__para {
        margin-top: 20px;
    }

    .radio-blog-post .radio-blog-post__viewmore-wrap,
    .radio-blog-post .radio-blog-post__actions {
        padding-left: 0;
    }

    .radio-blog-post .radio-blog-post__viewmore-wrap {
        margin-top: 36px;
    }

    .radio-blog-post .radio-blog-post__actions {
        gap: 12px;
        margin-top: 48px;
    }

    .radio-blog-post .radio-blog-post__btn {
        height: 44px;
        padding: 0 16px 0 18px;
        font-size: 15px;
    }

    .radio-blog-post .radio-blog-post__round {
        width: 44px;
        height: 44px;
    }

    /* share popup opens to the left so it stays on screen */
    .radio-blog-post .radio-blog-post__share-panel,
    .radio-blog-post .radio-blog-post__share.is-open .radio-blog-post__share-panel {
        left: auto;
        right: -6px;
        transform: none;
        transform-origin: 100% 100%;
    }

    .radio-blog-post .radio-blog-post__share-panel::after {
        left: auto;
        right: 21px;
        margin-left: 0;
    }
}

@media (max-width: 767.98px) and (hover: hover) {
    .radio-blog-post .radio-blog-post__share:hover .radio-blog-post__share-panel {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .radio-blog-post .radio-blog-post__btn,
    .radio-blog-post .radio-blog-post__round,
    .radio-blog-post .radio-blog-post__share-panel,
    .radio-blog-post .radio-share__btn,
    .radio-blog-post .radio-blog-post__intro a,
    .radio-blog-post .radio-blog-post__para a {
        transition: none;
    }
}
/* ============ end BLOG ARTICLE PAGE (view_V1.cfm) ============ */

/* =====================================================================
   BLOG ARTICLE PAGE (view_V1.cfm) : DESKTOP, "Tablet-Matched" (Option 2, picked 2026-10-13)
   Everything at 69% of the Figma: title 77px, intro 26px, body text 22px (the same as the
   tablet layout, so nothing jumps at 1200px), numbers 60px, article about 1037px wide.
   Desktop and large screens only (1200px and up). Phones and tablets are untouched.
   Must stay after the BLOG ARTICLE PAGE block above (it overrides it).

   Also in this block:
   - Font sizes stay the same from 1200px up instead of growing with the window
     (they only shrink where the article would not fit, near 1200px).
   - Author name and date never drop below 15px / 13px (the date was 11px at 1280),
     and the byline / number rail is at least 160px so the byline does not break up.
   - The hero keeps the Figma photo framing (1920 x 1040) at every width, so the
     station artwork in the photo is not cut off; from 1921px up the photo is held
     at 1920px wide and its edges fade into the overlay colours instead of being
     blown up and cropped (it was 3.6x and cropped at 3440px).
   ===================================================================== */

@media (min-width: 1200px) {
    .radio-blog-post {
        --rbp-u: min(0.6875px, calc((100vw - 96px) / 1512));
    }

    .radio-blog-post .radio-blog-post__hero {
        min-height: min(54.1667vw, 1040px);
    }

    .radio-blog-post .radio-blog-post__author {
        font-size: max(20px, calc(22 * var(--rbp-u)));
        line-height: max(22px, calc(32 * var(--rbp-u))) !important;
    }

    .radio-blog-post .radio-blog-post__date {
        font-size: max(13px, calc(14 * var(--rbp-u)));
        line-height: max(18px, calc(22 * var(--rbp-u))) !important;
        white-space: nowrap;
    }

    /* left rail (byline / numbers) never narrower than 160px so the byline does not break up */
    .radio-blog-post .radio-blog-post__inner {
        --rbp-rail: max(160px, calc(230 * var(--rbp-u)));
    }

    .radio-blog-post .radio-blog-post__intro-row {
        grid-template-columns: calc(var(--rbp-rail) - 28 * var(--rbp-u)) minmax(0, calc(1253 * var(--rbp-u)));
    }

    .radio-blog-post .radio-blog-post__section {
        grid-template-columns: var(--rbp-rail) minmax(0, 1fr);
    }

    .radio-blog-post .radio-blog-post__num {
        padding-left: calc(var(--rbp-rail) - 111 * var(--rbp-u));
    }

    .radio-blog-post .radio-blog-post__viewmore-wrap,
    .radio-blog-post .radio-blog-post__actions {
        padding-left: calc(var(--rbp-rail) + 11.5 * var(--rbp-u));
    }
}

/* measure the article itself rather than the window where supported */
@supports (width: 1cqw) {
    @media (min-width: 1200px) {
        .radio-blog-post {
            --rbp-u: min(0.6875px, calc((100cqw - 96px) / 1512));
        }

        .radio-blog-post .radio-blog-post__hero {
            min-height: min(54.1667cqw, 1040px);
        }
    }
}

/* wider than the Figma frame: hold the photo at 1920px and fade its edges */
@container (min-width: 1921px) {
    .radio-blog-post .radio-blog-post__hero {
        background: linear-gradient(90deg, #010202 0%, #010202 calc(50% - 960px), #00507e calc(50% + 960px), #00507e 100%);
    }

    .radio-blog-post .radio-blog-post__hero-media {
        left: 50%;
        right: auto;
        width: 1920px;
        margin-left: -960px;
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 160px, #000 calc(100% - 160px), transparent 100%);
                mask-image: linear-gradient(90deg, transparent 0, #000 160px, #000 calc(100% - 160px), transparent 100%);
    }
}
/* ============ end BLOG ARTICLE PAGE (view_V1.cfm) : DESKTOP ============ */

/* =====================================================================
   BLOG ARTICLE PAGE (view_V1.cfm) : SECTION MARKER "Timeline Dot" (picked 2026-10-13)
   A glowing cyan dot replaces the section numbers (01, 02 ...) on phones, tablets and desktop.
   CSS only: the numbers stay in the markup (they are aria-hidden) and are hidden here.
   Must stay after the BLOG ARTICLE PAGE and DESKTOP blocks above.
   ===================================================================== */

.radio-blog-post .radio-blog-post__num {
    font-size: 0 !important;
    line-height: 0 !important;
    letter-spacing: 0;
    color: transparent;
}

.radio-blog-post .radio-blog-post__num::before {
    content: "";
    display: block;
    width: 20.4px;
    height: 20.4px;
    margin-top: 3.8px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='12.5' fill='none' stroke='%2324bdff' stroke-opacity='.35' stroke-width='2'/%3E%3Ccircle cx='14' cy='14' r='7' fill='%2324bdff'/%3E%3Ccircle cx='12' cy='11.8' r='2.2' fill='%23fff' fill-opacity='.7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.radio-blog-post .radio-blog-post__section:has(.radio-blog-post__heading) .radio-blog-post__num::before {
    margin-top: 5.8px;
}

/* phones: symbol sits next to the text */
@media (max-width: 767.98px) {
    .radio-blog-post .radio-blog-post__num {
        padding-left: 21.6px;
    }
}

/* tablets */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .radio-blog-post .radio-blog-post__num {
        padding-left: 46.8px;
    }

    .radio-blog-post .radio-blog-post__num::before {
        width: 25.2px;
        height: 25.2px;
        margin-top: 3.4px;
    }

    .radio-blog-post .radio-blog-post__section:has(.radio-blog-post__heading) .radio-blog-post__num::before {
        margin-top: 9.4px;
    }
}

/* desktop and large screens */
@media (min-width: 1200px) {
    .radio-blog-post .radio-blog-post__num {
        padding-left: calc(var(--rbp-rail, 160px) - 54px);
    }

    .radio-blog-post .radio-blog-post__num::before {
        width: 28px;
        height: 28px;
        margin-top: calc(22 * var(--rbp-u) - 14px);
    }

    .radio-blog-post .radio-blog-post__section:has(.radio-blog-post__heading) .radio-blog-post__num::before {
        margin-top: calc(24 * var(--rbp-u) - 14px);
    }
}

/* ============ end BLOG ARTICLE PAGE (view_V1.cfm) : SECTION MARKER ============ */

/* =====================================================================
   BLOG ARTICLE PAGE (view_V1.cfm) : PHONES, "Full-Width Reader" (Option B, picked 2026-10-13)
   Phones only (up to 767px), plus the short-landscape hero fix for phones held sideways.
   - Share popup opens above the button row and stays on screen; share icons are 44px.
   - Phones held sideways (max-height 500px, landscape, up to 1199px wide): hero about 300px
     so the title, genre, station and date fit on the first screen.
   - Hero unchanged in portrait. The section dots hang in the left margin so the text uses
     the full width (about 340px of text on a 390px phone instead of 292px).
   Must stay after the BLOG ARTICLE PAGE, DESKTOP and SECTION MARKER blocks above.
   ===================================================================== */

/* ---------------------------------------------------------------------
   Share popup and touch targets
   --------------------------------------------------------------------- */
@media (max-width: 767.98px) {
    /* Share popup: was anchored to the share button and ran off the left edge
       (Facebook unreachable at 320-414px). Now it opens above the whole button row. */
    .radio-blog-post .radio-blog-post__actions {
        position: relative;
    }

    .radio-blog-post .radio-blog-post__share {
        position: static;
    }

    .radio-blog-post .radio-blog-post__share-panel,
    .radio-blog-post .radio-blog-post__share.is-open .radio-blog-post__share-panel {
        left: 0;
        right: 0;
        bottom: calc(100% + 12px);
        width: auto;
        max-width: none;
        transform: none;
        transform-origin: 50% 100%;
    }

    .radio-blog-post .radio-blog-post__share-panel::after {
        display: none;
    }

    /* share icons were 37px: 44px touch targets */
    .radio-blog-post .radio-share__row {
        gap: 8px;
    }

    .radio-blog-post .radio-share__btn {
        width: 44px;
        height: 44px;
    }
}

/* Phones turned sideways (short screens, also when 768px+ wide): the hero was
   520-640px tall in a 360-430px screen, so the title started below the fold.
   Now about 300px, so the title, genre, station and date fit on the first screen. */
@media (max-width: 1199.98px) and (max-height: 500px) and (orientation: landscape) {
    .radio-blog-post .radio-blog-post__hero {
        min-height: 300px;
    }

    .radio-blog-post .radio-blog-post__hero-inner {
        padding-top: 24px;
        padding-bottom: 24px;
    }

    .radio-blog-post .radio-blog-post__title-main,
    .radio-blog-post .radio-blog-post__title--long .radio-blog-post__title-main {
        font-size: 40px;
        line-height: 44px !important;
    }

    .radio-blog-post .radio-blog-post__title--longer .radio-blog-post__title-main {
        font-size: 32px;
        line-height: 38px !important;
    }

    .radio-blog-post .radio-blog-post__title-by {
        margin-top: 2px;
        font-size: 36px;
        line-height: 42px !important;
        letter-spacing: -1.5px;
    }

    .radio-blog-post .radio-blog-post__meta {
        gap: 2px;
        min-width: 0;
        margin-top: 14px;
    }

    .radio-blog-post .radio-blog-post__meta-item {
        font-size: 17px;
        line-height: 24px !important;
    }
}

/* ---------------------------------------------------------------------
   Full-Width Reader
   --------------------------------------------------------------------- */
@media (max-width: 767.98px) {
    /* full-width text: the dot hangs in the left margin instead of a 58px rail */
    .radio-blog-post .radio-blog-post__body {
        padding-left: 30px;
        padding-right: 20px;
    }

    .radio-blog-post .radio-blog-post__section {
        display: block;
        position: relative;
        margin-top: 36px;
    }

    .radio-blog-post .radio-blog-post__intro-row + .radio-blog-post__section {
        margin-top: 34px;
    }

    .radio-blog-post .radio-blog-post__num {
        position: absolute;
        top: 0;
        left: -21px;
        padding: 0;
    }

    .radio-blog-post .radio-blog-post__num::before,
    .radio-blog-post .radio-blog-post__section:has(.radio-blog-post__heading) .radio-blog-post__num::before {
        width: 13px;
        height: 13px;
        margin-top: 7.5px;
    }

    .radio-blog-post .radio-blog-post__section:has(.radio-blog-post__heading) .radio-blog-post__num::before {
        margin-top: 9.5px;
    }

    .radio-blog-post .radio-blog-post__para + .radio-blog-post__para,
    .radio-blog-post .radio-blog-post__para--lead + .radio-blog-post__para {
        margin-top: 16px;
    }

    .radio-blog-post .radio-blog-post__actions {
        margin-top: 40px;
    }
}
/* ============ end BLOG ARTICLE PAGE (view_V1.cfm) : PHONES ============ */

/* =====================================================================
   BLOG ARTICLE PAGE (view_V1.cfm) : TABLETS, "Whole Photo" (Option T4, picked 2026-10-13)
   Tablets 768 - 1199px. Phones (up to 767px, also split-screen tablet windows) and
   desktop (1200px and up) look exactly as before.
   - Share icons: invisible 44px tap area on touch screens 768px and up (they still look 37px;
     this also covers iPad Pro / Galaxy Tab held sideways, which use the desktop layout).
     Mouse-only screens: no change.
   - Short landscape tablets (501 - 760px tall): the photo area fits the screen (440 - 640px),
     so the title, genre, station and date are visible without scrolling.
   - Intro and paragraphs left-aligned on tablets (justified text left wide word gaps).
   - "By ..." line 56px instead of 72px on tablets, so the name stays on one line.
   - Portrait tablets: the whole blog photo shows at the top of the photo area (the same
     framing as desktop) and fades into the hero colour, instead of being cropped.
   Must stay after the BLOG ARTICLE PAGE, DESKTOP, SECTION MARKER and PHONES blocks above.
   ===================================================================== */

/* ---------------------------------------------------------------------
   Touch screens 768px and up (tablets, also iPad Pro / Galaxy Tab in landscape):
   share icons stay 37px but get an invisible 44px tap area. Mouse-only screens: no change.
   --------------------------------------------------------------------- */
@media (min-width: 768px) and (any-pointer: coarse) {
    .radio-blog-post .radio-share__btn::before {
        content: "";
        position: absolute;
        top: -4.5px;
        right: -4.5px;
        bottom: -4.5px;
        left: -4.5px;
        border-radius: 50%;
    }
}

/* ---------------------------------------------------------------------
   Short landscape tablets (501 - 760px tall, e.g. 1024 x 600, iPad landscape with the
   Safari bars): the 640px hero was taller than the screen, so the genre, station and
   date sat below the fold. The hero now fits the screen (440 - 640px).
   --------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1199.98px) and (orientation: landscape) and (min-height: 500.02px) and (max-height: 760px) {
    .radio-blog-post .radio-blog-post__hero {
        min-height: clamp(440px, calc(100vh - 120px), 640px);
        min-height: clamp(440px, calc(100svh - 120px), 640px);
    }

    .radio-blog-post .radio-blog-post__hero-inner {
        padding-top: 88px;
    }
}

/* ---------------------------------------------------------------------
   Tablets (768 - 1199px): easier reading
   - Intro and paragraphs left-aligned: justified text left big gaps between words
     in the 28px intro and the narrower portrait columns.
   - "By ..." line 56px instead of 72px, so the name stays on one line on portrait
     tablets and the title keeps the desktop / phone balance (main line larger).
   Not on phones held sideways (500px tall or less), which keep their own layout.
   --------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1199.98px) and (min-height: 500.02px) {
    .radio-blog-post .radio-blog-post__intro,
    .radio-blog-post .radio-blog-post__para {
        text-align: left;
    }

    .radio-blog-post .radio-blog-post__title-by {
        margin-top: 2px;
        font-size: 56px;
        line-height: 62px !important;
        letter-spacing: -2px;
    }
}

/* ---------------------------------------------------------------------
   Portrait tablets: the whole blog photo is shown (the same framing as desktop)
   at the top of the hero and fades into the hero colour, instead of being cropped
   to a tall shape (the artwork at the photo's edges was cut off).
   --------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1199.98px) and (orientation: portrait) {
    .radio-blog-post .radio-blog-post__hero-media {
        bottom: auto;
        height: 54.1667vw;
        -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 70%, transparent 100%);
                mask-image: linear-gradient(180deg, #000 0%, #000 70%, transparent 100%);
    }
}

@supports (width: 1cqw) {
    @media (min-width: 768px) and (max-width: 1199.98px) and (orientation: portrait) {
        .radio-blog-post .radio-blog-post__hero-media {
            height: 54.1667cqw;
        }
    }
}

/* ============ end BLOG ARTICLE PAGE (view_V1.cfm) : TABLETS ============ */


/* =====================================================================
   MUSICA MAGAZINE (mag_list_V3.cfm) : DESKTOP, RadioSparx theme
   Figma "Magazine" frame (1920 wide), picked 2026-10-13: Option 1
   "Figma Exact" held at 1512 (sizes are Figma px x --u, where
   --u = min(100vw, 1512px) / 1920, so nothing grows past 1512).
   Desktop only (1200px and up); phones and tablets untouched.
   Every rule sits under .radio-mag, the wrapper mag_list_V3.cfm puts
   round the hero (new_subtitles) and the list section, so AudioSparx
   (same classes, same custom.css) is not touched. custom.css loads
   after style.css, so rules carry .radio-mag + the section class to
   win, and !important only where custom.css or Bootstrap utilities
   use it. Also resets three production custom.css rules found on the
   live page: .musica-magazine-carousel { top: -80px }, an inline
   .hs-hero-title and a narrow .mm-title.
   Tuned after review on the live page: smaller search row, Join Today
   button and play / edit circles, tighter spacing, smaller column
   offset, white share icons. The hero carousel is moved by the copy
   of the AudioSparx carousel script in mag_list_V3.cfm; the room
   round the larger middle cover comes from transforms so that script
   keeps the cover centred.
   Fonts: Antonio 500 (style.css @import), Roboto, Poppins.
   ===================================================================== */

@media (min-width: 1200px) {

    /* ---------- hero (new_subtitles output) ---------- */
    .radio-mag section.musica-magazine-hero {
        position: relative;
        margin: 0 calc(50% - 50vw) !important;
        padding: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        overflow: hidden;
        background: linear-gradient(90deg, #012535 0%, #06a7eb 48%, #06a5e7 50%, #012535 100%) !important;
    }

    .radio-mag section.musica-magazine-hero::before,
    .radio-mag section.musica-magazine-hero::after {
        display: none !important;
    }

    .radio-mag .musica-magazine-hero > .container-fluid {
        padding: 0 !important;
        max-width: none;
    }

    .radio-mag .musica-magazine-hero .hs-hero-inner {
        margin: 0 !important;
        padding: calc(64 * var(--u)) 24px 0 !important;
        border-radius: 0 !important;
        background: none !important;
        min-height: 0 !important;
    }

    .radio-mag .musica-magazine-hero .hs-hero-title {
        display: block !important;
        margin: 0 !important;
        font-family: 'Antonio', 'Arial Narrow', Arial, sans-serif !important;
        font-weight: 500 !important;
        font-size: calc(98 * var(--u)) !important;
        line-height: 1.1 !important;
        letter-spacing: 0 !important;
        color: #fff !important;
        text-transform: capitalize;
    }

    .radio-mag .musica-magazine-hero .hs-hero-text {
        margin: calc(18 * var(--u)) auto 0 !important;
        padding: 0 !important;
        max-width: none;
        font-family: 'Roboto', Arial, sans-serif !important;
        font-weight: 400 !important;
        font-size: calc(28 * var(--u)) !important;
        line-height: 1.3 !important;
        color: #fff !important;
        text-transform: capitalize;
    }

    .radio-mag .musica-magazine-hero .hs-hero-ctas {
        margin: calc(36 * var(--u)) 0 0 !important;
    }

    .radio-mag .musica-magazine-hero .hs-hero-ctas .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: calc(236 * var(--u));
        height: calc(64 * var(--u));
        min-width: 0;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 999px !important;
        font-family: 'Poppins', Arial, sans-serif !important;
        font-weight: 400 !important;
        font-size: calc(23 * var(--u)) !important;
        line-height: 1 !important;
        color: #fff !important;
        text-decoration: none;
        background: linear-gradient(90deg, #17a2dd 0%, #0aa2e1 45%, #0588c0 100%) !important;
        box-shadow:
            inset calc(4 * var(--u)) calc(3 * var(--u)) calc(7 * var(--u)) rgba(255, 255, 255, .32),
            inset calc(-4 * var(--u)) calc(-4 * var(--u)) calc(9 * var(--u)) rgba(0, 52, 92, .32),
            0 calc(8 * var(--u)) calc(18 * var(--u)) rgba(0, 42, 76, .28) !important;
        transition: filter .2s ease, transform .2s ease;
    }

    .radio-mag .musica-magazine-hero .hs-hero-ctas .btn:hover {
        filter: brightness(1.08);
        transform: translateY(-1px);
    }

    .radio-mag .musica-magazine-hero .hs-hero-ctas .btn:focus-visible {
        outline: 3px solid #fff;
        outline-offset: 4px;
    }

    /* cover carousel: 5 across, middle cover larger, white frame */
    .radio-mag .musica-magazine-carousel {
        --mm-car-shift: calc(37.5 * var(--u));
        position: relative;
        top: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        margin: calc(84 * var(--u)) 0 0 !important;
        padding: 0 0 calc(72 * var(--u)) !important;
        width: 100%;
        overflow: hidden;
        perspective: none !important;
    }

    .radio-mag .musica-magazine-carousel .as-carousel-wrapper {
        margin: 0 !important;
        width: 100%;
        overflow: hidden;
    }

    .radio-mag .musica-magazine-carousel .as-carousel-row {
        align-items: center !important;
        gap: calc(12 * var(--u)) !important;
        padding: calc(60 * var(--u)) 0 !important;
        overflow: visible !important;
        translate: calc(-1 * var(--mm-car-shift)) 0;
    }

    .radio-mag .musica-magazine-carousel .as-carousel-item {
        flex: 0 0 calc(358 * var(--u)) !important;
        width: calc(358 * var(--u)) !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        transform: none !important;
        transition: transform .5s cubic-bezier(.25, .8, .25, 1) !important;
        z-index: 1;
    }

    /* Room for the larger middle cover comes from transforms, not margins, so the
       covers' layout positions never change and the carousel script (which centres
       the active cover from offsetLeft) stays exactly centred after every slide.
       The row's own translate takes back the shift. */
    .radio-mag .musica-magazine-carousel .as-carousel-item.active {
        transform: translateX(var(--mm-car-shift)) scale(1.21) !important;
        z-index: 3;
    }

    .radio-mag .musica-magazine-carousel .as-carousel-item.active ~ .as-carousel-item {
        transform: translateX(calc(2 * var(--mm-car-shift))) !important;
    }

    /* set by the carousel script while it jumps between a clone and the real cover */
    .radio-mag .musica-magazine-carousel .as-carousel-row.mm-car-jump .as-carousel-item {
        transition: none !important;
    }

    .radio-mag .musica-magazine-carousel .as-carousel-item img {
        display: block;
        width: 100% !important;
        height: calc(504 * var(--u)) !important;
        object-fit: cover;
        box-sizing: border-box;
        pointer-events: none;
        -webkit-user-drag: none;
        user-select: none;
        border: calc(6 * var(--u)) solid #fff !important;
        border-radius: calc(24 * var(--u)) !important;
        background: #fff !important;
        box-shadow: 0 calc(12 * var(--u)) calc(30 * var(--u)) rgba(0, 24, 44, .28);
    }

    /* ---------- list section: ground, search row, intro ---------- */
    .radio-mag section.musica-magazine-list {
        position: relative;
        isolation: isolate;
        margin-top: 0 !important;
        padding: calc(56 * var(--u)) 0 calc(110 * var(--u)) !important;
        color: #fff;
        background: transparent !important;
    }

    .radio-mag section.musica-magazine-list::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: calc(50% - 50vw);
        right: calc(50% - 50vw);
        z-index: -1;
        background: linear-gradient(180deg, #001621 0%, #05a4e6 100%);
        pointer-events: none;
    }

    .radio-mag .musica-magazine-list > .container-fluid {
        margin-top: 0 !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .radio-mag .musica-magazine-list .mm-search > .row {
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
        justify-content: center;
        width: var(--mm-row);
        max-width: none;
        margin: 0 0 0 calc(50% - var(--mm-row) / 2) !important;
        --bs-gutter-x: 0;
    }

    .radio-mag .musica-magazine-list .mm-search > .row > div {
        margin: 0 !important;
        padding: 0 !important;
        /* width: auto; */
        max-width: none;
    }

    .radio-mag .musica-magazine-list .mm-search > .row > div:first-child {
        flex: 1 1 auto;
    }

    .radio-mag .musica-magazine-list .mm-search > .row > .custom-width-searchMag {
        flex: 0 0 auto;
    }

    .radio-mag .musica-magazine-list .mm-search-bx {
        position: relative;
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
        height: calc(72 * var(--u));
        margin: 0 !important;
        border: calc(2 * var(--u)) solid #2189ab;
        border-radius: calc(16 * var(--u));
        background: #001b26;
        overflow: hidden;
        box-shadow: 0 0 calc(18 * var(--u)) rgba(0, 0, 0, .25);
    }

    /* search icon + divider (Figma); not in the markup, drawn here */
    .radio-mag .musica-magazine-list .mm-search-bx::before {
        content: "";
        flex: 0 0 calc(84 * var(--u));
        background:
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14'/%3E%3C/svg%3E") no-repeat calc(34 * var(--u)) 50% / calc(32 * var(--u)) calc(32 * var(--u)),
            linear-gradient(#2189ab, #2189ab) no-repeat 100% 50% / calc(2 * var(--u)) calc(48 * var(--u));
    }

    .radio-mag .musica-magazine-list .mm-search-bx .mm-search-input {
        flex: 1 1 auto;
        width: 1%;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 calc(20 * var(--u)) 0 calc(28 * var(--u)) !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        font-family: 'Poppins', Arial, sans-serif !important;
        font-weight: 400 !important;
        font-size: calc(22 * var(--u)) !important;
        line-height: 1.2 !important;
        color: #fff !important;
    }

    .radio-mag .musica-magazine-list .mm-search-bx .mm-search-input::placeholder {
        color: #fff !important;
        opacity: 1;
        text-transform: capitalize;
    }

    .radio-mag .musica-magazine-list .mm-search-bx:focus-within {
        border-color: #45b6fc;
        box-shadow: 0 0 0 calc(3 * var(--u)) rgba(69, 182, 252, .35);
    }

    .radio-mag .musica-magazine-list .mm-search-bx .mm-search-btn {
        flex: 0 0 calc(96 * var(--u));
        display: flex !important;
        align-items: center !important;
        justify-content: center;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #45b6fc !important;
        box-shadow: none !important;
        color: #fff !important;
        font-size: calc(34 * var(--u)) !important;
        line-height: 1 !important;
    }

    .radio-mag .musica-magazine-list .mm-search-bx .mm-search-btn:hover {
        background: #5ec1ff !important;
    }

    .radio-mag .musica-magazine-list .mm-search-bx .mm-search-btn .bi::before {
        font-weight: 700 !important;
    }

    .radio-mag .musica-magazine-list .custom-width-searchMag > .d-flex {
        height: 100%;
        align-items: stretch !important;
    }

    .radio-mag .musica-magazine-list .mm-search-month,
    .radio-mag .musica-magazine-list .mm-search-year {
        height: calc(72 * var(--u)) !important;
        border: 0;
        border-radius: calc(16 * var(--u)) !important;
        background: linear-gradient(90deg, #3687c9 0%, #44b3fa 100%) !important;
        box-shadow:
            inset calc(2 * var(--u)) 0 0 rgba(255, 255, 255, .12),
            0 0 calc(14 * var(--u)) rgba(69, 170, 250, .3) !important;
        color: #fff !important;
    }

    .radio-mag .musica-magazine-list .mm-search-month {
        flex: 0 0 calc(290 * var(--u)) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: calc(22 * var(--u));
        margin: 0 calc(24 * var(--u)) !important;
        padding: 0 calc(20 * var(--u)) !important;
    }

    .radio-mag .musica-magazine-list .mm-search-year {
        flex: 0 0 calc(190 * var(--u)) !important;
        display: flex;
        padding: 0 !important;
    }

    .radio-mag .musica-magazine-list .mm-search-month .btn,
    .radio-mag .musica-magazine-list .mm-search-year .btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 100% !important;
        min-height: 0;
        margin: 0 !important;
        padding: 0 calc(6 * var(--u)) !important;
        border: 0 !important;
        border-radius: 0;
        background: transparent !important;
        box-shadow: none !important;
        font-family: 'Poppins', Arial, sans-serif !important;
        font-weight: 400 !important;
        font-size: calc(22 * var(--u)) !important;
        line-height: 1 !important;
        color: #fff !important;
    }

    .radio-mag .musica-magazine-list .mm-search-month .monthPrev,
    .radio-mag .musica-magazine-list .mm-search-month .monthNext {
        font-size: calc(30 * var(--u)) !important;
    }

    .radio-mag .musica-magazine-list .mm-search-month .dropdown {
        display: flex;
        height: 100%;
    }

    .radio-mag .musica-magazine-list .mm-search-month .mm-selected-month {
        min-width: calc(76 * var(--u));
    }

    .radio-mag .musica-magazine-list .mm-search-year .dropdown,
    .radio-mag .musica-magazine-list .mm-search-year .dropdown > .btn {
        width: 100%;
        height: 100%;
    }

    .radio-mag .musica-magazine-list .mm-search-month .btn:hover,
    .radio-mag .musica-magazine-list .mm-search-year .btn:hover {
        color: #d9f2ff !important;
    }

    .radio-mag .musica-magazine-list .mm-search-month .btn:focus-visible,
    .radio-mag .musica-magazine-list .mm-search-year .btn:focus-visible,
    .radio-mag .musica-magazine-list .mm-search-bx .mm-search-btn:focus-visible {
        outline: 2px solid #fff;
        outline-offset: -4px;
    }

    .radio-mag .musica-magazine-list .mm-search-dropdown .dropdown-toggle::after {
        display: none !important;
    }

    /* open month / year list */
    .radio-mag .musica-magazine-list .mm-search-dropdown .dropdown-menu {
        top: calc(100% + 14px) !important;
        right: 0 !important;
        left: auto !important;
        bottom: auto !important;
        inset: calc(100% + 14px) 0 auto auto !important;
        transform: none !important;
        width: 280px;
        max-height: 420px;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid rgba(69, 182, 252, .45) !important;
        border-radius: 16px !important;
        background: #04263b !important;
        box-shadow: 0 18px 40px rgba(0, 0, 0, .45) !important;
        overflow: hidden auto;
        z-index: 20;
    }

    .radio-mag .musica-magazine-list .mm-search-month .dropdown-menu {
        right: 50% !important;
        inset: calc(100% + 14px) auto auto 50% !important;
        transform: translateX(-50%) !important;
    }

    .radio-mag .musica-magazine-list .mm-search-dropdown .dropdown-menu-header {
        padding: 14px 22px !important;
        border-bottom: 1px solid rgba(255, 255, 255, .12);
        background: linear-gradient(90deg, #3687c9 0%, #44b3fa 100%) !important;
        font: 500 16px/1.2 'Poppins', Arial, sans-serif !important;
        color: #fff !important;
        text-align: left !important;
    }

    .radio-mag .musica-magazine-list .mm-search-dropdown .dropdown-menu-body ul {
        margin: 0;
        padding: 6px 0;
        list-style: none;
    }

    .radio-mag .musica-magazine-list .mm-search-dropdown .dropdown-item {
        padding: 10px 22px !important;
        background: transparent !important;
        font: 400 16px/1.3 'Poppins', Arial, sans-serif !important;
        color: #e6f4fc !important;
    }

    .radio-mag .musica-magazine-list .mm-search-dropdown .dropdown-item:hover,
    .radio-mag .musica-magazine-list .mm-search-dropdown .dropdown-item:focus {
        background: rgba(10, 170, 238, .22) !important;
        color: #fff !important;
    }

    .radio-mag .musica-magazine-list .mm-title {
        width: auto !important;
        max-width: none !important;
        margin: calc(56 * var(--u)) 0 0 !important;
        padding: 0 !important;
        font-family: 'Roboto', Arial, sans-serif !important;
        font-weight: 400 !important;
        font-size: calc(28 * var(--u)) !important;
        line-height: 1.45 !important;
        letter-spacing: .02em;
        color: #fff !important;
        text-align: center !important;
        text-transform: capitalize;
    }

    /* ---------- magazine grid (magList_V3 / mag_view_V3) ---------- */
    .radio-mag .musica-magazine-list #magContainer {
        height: auto !important;
    }

    .radio-mag .musica-magazine-list .mm-list-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: calc(51 * var(--u));
        row-gap: var(--mm-row-gap);
        align-items: start;
        width: var(--mm-grid);
        max-width: none;
        margin: 0 0 0 calc(50% - var(--mm-grid) / 2) !important;
        padding: calc(64 * var(--u)) 0 var(--mm-lift) !important;
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
    }

    .radio-mag .musica-magazine-list .mm-list-grid > .col {
        position: relative;
        flex: none;
        width: auto !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* middle column raised (Figma): the left and right columns sit lower by
       --mm-lift; the grid's bottom padding keeps room for the last row */
    .radio-mag .musica-magazine-list .mm-list-grid > .col:nth-child(3n + 1),
    .radio-mag .musica-magazine-list .mm-list-grid > .col:nth-child(3n) {
        transform: translateY(var(--mm-lift));
    }

    /* while the search / month / year filter hides issues (jQuery .hide() writes
       style="display: none"), the counting above no longer matches what is on
       screen, so the issues after a hidden one drop the offset and line up */
    .radio-mag .musica-magazine-list .mm-list-grid > .col[style*="display: none"] ~ .col {
        transform: none;
    }

    .radio-mag .musica-magazine-list .mm-list-grid > .col > a:not(.mm-link) {
        display: block;
        position: relative;
        z-index: 0;
        border: calc(6 * var(--u)) solid #baeaff;
        border-radius: calc(28 * var(--u));
        background: var(--mm-card-ground, #0b3a52);
        overflow: hidden;
    }

    .radio-mag .musica-magazine-list .mm-list-grid > .col > a:not(.mm-link) > img.mm-poster-img {
        display: block;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 519 / 736;
        object-fit: cover;
        margin: 0;
        border: 0 !important;
        border-radius: calc(22 * var(--u)) !important;
        box-shadow: none !important;
    }

    .radio-mag .musica-magazine-list .mm-list-grid > .col > a:not(.mm-link):focus-visible {
        outline: 3px solid #fff;
        outline-offset: 3px;
    }

    /* share button + menu, themed */
    .radio-mag .musica-magazine-list .mm-list-grid .mm_share_box.mm-poster-share-box {
        top: calc(22 * var(--u)) !important;
        right: calc(22 * var(--u)) !important;
        z-index: 4;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm_share_btn {
        width: calc(52 * var(--u));
        height: calc(52 * var(--u));
        min-width: 36px;
        min-height: 36px;
        border-radius: 50%;
        background: rgba(1, 37, 53, .72);
        box-shadow: 0 0 0 calc(2 * var(--u)) rgba(186, 234, 255, .65);
        -webkit-backdrop-filter: blur(4px);
        backdrop-filter: blur(4px);
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm_share_btn .mm_share_icon {
        width: 55%;
        height: 55%;
        filter: brightness(0) invert(1);
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm_share_menu {
        top: calc(100% + 10px) !important;
        right: 0 !important;
        transform: none !important;
        padding: 8px !important;
        border: 1px solid rgba(69, 182, 252, .45);
        border-radius: 999px !important;
        background: #04263b !important;
        box-shadow: 0 14px 30px rgba(0, 0, 0, .45) !important;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm_share_link {
        width: 40px;
        height: 40px;
        min-width: 40px;
        background: rgba(10, 170, 238, .22) !important;
    }

    /* the server's share icons are dark purple, unreadable on the navy menu: show them white */
    .radio-mag .musica-magazine-list .mm-list-grid .mm_share_link img,
    .radio-mag .musica-magazine-list .mm-list-grid .mm_share_link .mm_share_icon {
        width: 18px !important;
        height: 18px !important;
        object-fit: contain;
        filter: brightness(0) invert(1);
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm_share_link:hover {
        background: rgba(10, 170, 238, .4) !important;
    }

    /* play + staff edit: white circles with blue icons (Figma). The server
       images stay as the click targets, made transparent. */
    .radio-mag .musica-magazine-list .mm-list-grid .mm-bottom-buttons {
        position: absolute;
        z-index: 3;
        display: flex;
        width: auto;
        margin: 0;
        padding: 0;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm-icons {
        position: relative;
        flex: none;
        width: var(--mm-btn);
        height: var(--mm-btn);
        border-radius: 50%;
        background: #fff no-repeat 50% 50% / 46% 46%;
        box-shadow: 0 calc(6 * var(--u)) calc(16 * var(--u)) rgba(0, 40, 70, .25);
        transition: transform .2s ease, box-shadow .2s ease;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm-icons:first-child {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231f8ff0' d='M8 5.14v13.72a1 1 0 0 0 1.52.85l10.6-6.86a1 1 0 0 0 0-1.7L9.52 4.29A1 1 0 0 0 8 5.14z'/%3E%3C/svg%3E");
        background-position: 56% 50%;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm-icons + .mm-icons {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231f8ff0' d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z'/%3E%3C/svg%3E");
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm-icons > * {
        position: absolute;
        inset: 0;
        display: block;
        border-radius: 50%;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm-icons img {
        width: 100% !important;
        height: 100% !important;
        opacity: 0;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm-icons:hover {
        transform: scale(1.06);
        box-shadow: 0 0 0 calc(4 * var(--u)) rgba(255, 255, 255, .35), 0 calc(8 * var(--u)) calc(20 * var(--u)) rgba(0, 40, 70, .3);
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm-icons a:focus-visible {
        outline: 3px solid #fff;
        outline-offset: 3px;
    }

    /* text box: issue title, number, date (d-none in the markup) */
    .radio-mag .musica-magazine-list .mm-list-grid .mm-link {
        text-decoration: none;
        color: inherit;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm-list-grid-text-bx {
        height: auto !important;
        border: 0;
        background: none;
        color: #fff;
        font-family: 'Roboto', Arial, sans-serif;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm-list-grid-text-bx h4 {
        margin: 0;
        font-family: 'Roboto', Arial, sans-serif !important;
        font-weight: 700;
        color: #fff;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
        overflow-wrap: anywhere;
        text-wrap: balance;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm-list-grid-text-bx h4 ~ div {
        color: #fff;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm-list-grid-text-bx .d-flex {
        display: none !important;
    }
}


/* ---------- Figma Exact: dimmed covers, blue issue card on hover ----------
   Covers dimmed as in the Figma. Hover (or keyboard focus) turns the cover into
   the blue issue card (title, issue, date, play, staff edit, share), as the Figma
   "Italian Heart" card. Touch screens at desktop size: full-colour covers with
   play and share always showing. */
@media (min-width: 1200px) {
    .radio-mag {
        --u: calc(min(100vw, 1512px) / 1920);
        --mm-row: calc(1699 * var(--u));
        --mm-grid: calc(1699 * var(--u));
        --mm-row-gap: calc(54 * var(--u));
        --mm-lift: calc(190 * var(--u));
        --mm-btn: calc(64 * var(--u));
        --mm-card-ground: transparent;
    }

    .radio-mag .musica-magazine-list .mm-list-grid > .col > a:not(.mm-link) > img.mm-poster-img {
        opacity: .58;
        transition: opacity .25s ease;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm-list-grid-text-bx {
        position: absolute;
        inset: 0;
        z-index: 2;
        display: flex !important;
        flex-direction: column;
        align-items: center !important;
        justify-content: center !important;
        padding: calc(60 * var(--u)) calc(44 * var(--u)) calc(220 * var(--u)) !important;
        border: calc(6 * var(--u)) solid #18b1fd !important;
        border-radius: calc(28 * var(--u));
        background: #0089cf !important;
        text-align: center;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .25s ease, visibility .25s;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm-list-grid-text-bx h4 {
        font-size: calc(44 * var(--u)) !important;
        line-height: 1.18 !important;
        -webkit-line-clamp: 5;
        line-clamp: 5;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm-list-grid-text-bx h4 ~ div {
        font: 500 calc(32 * var(--u))/1.4 'Roboto', Arial, sans-serif;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm-list-grid-text-bx h4 + div {
        margin-top: calc(26 * var(--u));
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm-bottom-buttons {
        left: 0;
        right: 0;
        bottom: calc(120 * var(--u));
        justify-content: center;
        gap: calc(16 * var(--u));
        opacity: 0;
        visibility: hidden;
        transition: opacity .25s ease, visibility .25s;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm_share_box.mm-poster-share-box {
        opacity: 0;
        visibility: hidden;
        transition: opacity .25s ease, visibility .25s;
    }

    .radio-mag .musica-magazine-list .mm-list-grid > .col:hover .mm-list-grid-text-bx,
    .radio-mag .musica-magazine-list .mm-list-grid > .col:focus-within .mm-list-grid-text-bx,
    .radio-mag .musica-magazine-list .mm-list-grid > .col:hover .mm-bottom-buttons,
    .radio-mag .musica-magazine-list .mm-list-grid > .col:focus-within .mm-bottom-buttons,
    .radio-mag .musica-magazine-list .mm-list-grid > .col:hover .mm_share_box.mm-poster-share-box,
    .radio-mag .musica-magazine-list .mm-list-grid > .col:focus-within .mm_share_box.mm-poster-share-box {
        opacity: 1;
        visibility: visible;
    }
}

/* touch screens at desktop size: no hover, so full-colour covers with play + share showing */
@media (min-width: 1200px) and (hover: none) {
    .radio-mag .musica-magazine-list .mm-list-grid > .col > a:not(.mm-link) > img.mm-poster-img { opacity: 1; }
    .radio-mag .musica-magazine-list .mm-list-grid .mm-list-grid-text-bx { display: none !important; }
    .radio-mag .musica-magazine-list .mm-list-grid .mm-bottom-buttons { left: auto; right: calc(28 * var(--u)); bottom: calc(28 * var(--u)); --mm-btn: calc(56 * var(--u)); gap: calc(12 * var(--u)); opacity: 1; visibility: visible; }
    .radio-mag .musica-magazine-list .mm-list-grid .mm_share_box.mm-poster-share-box { opacity: 1; visibility: visible; }
}

/* ============ end MUSICA MAGAZINE (mag_list_V3.cfm) : DESKTOP ============ */


/* =====================================================================
   MUSICA MAGAZINE (mag_list_V3.cfm) : PHONES AND TABLETS (below 1200px)
   Cinematic Poster layout, RadioSparx theme.
   Carries the RadioSparx desktop theme down and fixes what broke on
   touch screens. Same scope as the desktop block (.radio-mag), so
   AudioSparx and the desktop layout (1200px and up) are untouched.
   Font sizes in rem so larger text settings scale them; side padding
   follows the safe area on phones held sideways.
   ===================================================================== */

@media (max-width: 1199.98px) {

    .radio-mag {
        --m-pad-l: max(16px, env(safe-area-inset-left));
        --m-pad-r: max(16px, env(safe-area-inset-right));
        --m-frame: #baeaff;
        --m-blue: #0089cf;
        --m-blue-edge: #18b1fd;
        --m-field: #001b26;
        --m-field-edge: #2189ab;
        --m-arrow: #45b6fc;
        --m-pill: linear-gradient(90deg, #3687c9 0%, #44b3fa 100%);
        --m-menu: #04263b;
    }

    /* ---------- hero ---------- */
    .radio-mag section.musica-magazine-hero {
        position: relative;
        margin: 0 calc(50% - 50vw) !important;
        padding: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        overflow: hidden;
        background: linear-gradient(90deg, #012535 0%, #06a7eb 48%, #06a5e7 50%, #012535 100%) !important;
    }

    .radio-mag section.musica-magazine-hero::before,
    .radio-mag section.musica-magazine-hero::after {
        display: none !important;
    }

    .radio-mag section.musica-magazine-hero > .container-fluid {
        padding: 0 !important;
        max-width: none;
    }

    .radio-mag section.musica-magazine-hero .hs-hero-inner {
        margin: 0 !important;
        padding: clamp(28px, 6vw, 56px) var(--m-pad-r) 0 var(--m-pad-l) !important;
        border-radius: 0 !important;
        background: none !important;
        min-height: 0 !important;
    }

    .radio-mag section.musica-magazine-hero .hs-hero-inner .hs-hero-title {
        display: block !important;
        margin: 0 !important;
        font-family: 'Antonio', 'Arial Narrow', Arial, sans-serif !important;
        font-weight: 500 !important;
        font-size: clamp(2.125rem, 1.4rem + 4.2vw, 4rem) !important;
        line-height: 1.08 !important;
        letter-spacing: 0 !important;
        color: #fff !important;
        text-transform: capitalize;
        text-wrap: balance;
        overflow-wrap: break-word;
    }

    .radio-mag section.musica-magazine-hero .hs-hero-inner .hs-hero-text {
        margin: 12px auto 0 !important;
        padding: 0 !important;
        max-width: 40rem;
        font-family: 'Roboto', Arial, sans-serif !important;
        font-weight: 400 !important;
        font-size: clamp(0.9375rem, 0.85rem + 0.5vw, 1.125rem) !important;
        line-height: 1.5 !important;

        text-align: center;
        color: #fff !important;
        text-transform: capitalize;
        text-wrap: balance;
    }

    .radio-mag section.musica-magazine-hero .hs-hero-inner .hs-hero-ctas {
        margin: 20px 0 0 !important;
    }

    .radio-mag section.musica-magazine-hero .hs-hero-inner .hs-hero-ctas .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        min-width: 160px;
        padding: 0 28px !important;
        border: 0 !important;
        border-radius: 999px !important;
        font-family: 'Poppins', Arial, sans-serif !important;
        font-weight: 400 !important;
        font-size: 1rem !important;
        line-height: 1.2 !important;
        color: #fff !important;
        text-decoration: none;
        background: linear-gradient(90deg, #17a2dd 0%, #0aa2e1 45%, #0588c0 100%) !important;
        box-shadow:
            inset 3px 2px 6px rgba(255, 255, 255, .32),
            inset -3px -3px 7px rgba(0, 52, 92, .32),
            0 6px 14px rgba(0, 42, 76, .28) !important;
    }



    .radio-mag section.musica-magazine-hero .hs-hero-inner .hs-hero-ctas .btn:focus-visible {
        outline: 3px solid #fff;
        outline-offset: 3px;
    }

    /* cover carousel: run by radioMagCarousel(); spacing round the larger
       middle cover comes from transforms so the script keeps it centred */
    .radio-mag section.musica-magazine-hero .musica-magazine-carousel {
        --car-w: 56vw;
        --car-gap: 10px;
        --car-scale: 1.12;
        --car-shift: calc((var(--car-scale) - 1) * var(--car-w) / 2);
        position: relative;
        top: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        margin: clamp(24px, 5vw, 44px) 0 0 !important;
        padding: 0 0 clamp(28px, 6vw, 48px) !important;
        width: 100%;
        overflow: hidden;
        perspective: none !important;
    }

    .radio-mag section.musica-magazine-hero .musica-magazine-carousel .as-carousel-wrapper {
        margin: 0 !important;
        width: 100%;
        overflow: hidden;
    }

    .radio-mag section.musica-magazine-hero .musica-magazine-carousel .as-carousel-row {
        align-items: center !important;
        gap: var(--car-gap) !important;
        padding: calc(var(--car-w) * 1.408 * (var(--car-scale) - 1) / 2 + 4px) 0 !important;
        overflow: visible !important;
        translate: calc(-1 * var(--car-shift)) 0;
        touch-action: pan-y;
    }

    .radio-mag section.musica-magazine-hero .musica-magazine-carousel .as-carousel-item {
        flex: 0 0 var(--car-w) !important;
        width: var(--car-w) !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        transform: none !important;
        transition: transform .5s cubic-bezier(.25, .8, .25, 1) !important;
        z-index: 1;
    }

    .radio-mag section.musica-magazine-hero .musica-magazine-carousel .as-carousel-item.active {
        transform: translateX(var(--car-shift)) scale(var(--car-scale)) !important;
        z-index: 3;
    }

    .radio-mag section.musica-magazine-hero .musica-magazine-carousel .as-carousel-item.active ~ .as-carousel-item {
        transform: translateX(calc(2 * var(--car-shift))) !important;
    }

    .radio-mag section.musica-magazine-hero .musica-magazine-carousel .as-carousel-row.mm-car-jump .as-carousel-item {
        transition: none !important;
    }

    .radio-mag section.musica-magazine-hero .musica-magazine-carousel .as-carousel-item img {
        display: block;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 358 / 504;
        object-fit: cover;
        box-sizing: border-box;
        pointer-events: none;
        -webkit-user-drag: none;
        user-select: none;
        border: 4px solid #fff !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-shadow: 0 8px 20px rgba(0, 24, 44, .28);
    }

    /* ---------- list section ---------- */
    .radio-mag section.musica-magazine-list {
        position: relative;
        isolation: isolate;
        margin-top: 0 !important;
        padding: 28px 0 48px !important;
        color: #fff;
        background: transparent !important;
    }

    .radio-mag section.musica-magazine-list::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: calc(50% - 50vw);
        right: calc(50% - 50vw);
        z-index: -1;
        background: linear-gradient(180deg, #001621 0%, #05a4e6 100%);
        pointer-events: none;
    }

    .radio-mag section.musica-magazine-list > .container-fluid {
        margin-top: 0 !important;
        padding-left: var(--m-pad-l) !important;
        padding-right: var(--m-pad-r) !important;
    }

    /* search row: field on its own line, Month and Year under it (phones) */
    .radio-mag section.musica-magazine-list .mm-search > .row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        width: auto;
        max-width: none;
        margin: 0 !important;
        --bs-gutter-x: 0;
    }

    .radio-mag section.musica-magazine-list .mm-search > .row > div {
        width: auto;
        max-width: none;
        min-width: 0;
        margin: 0 !important;
        padding: 0 !important;
    }

    .radio-mag section.musica-magazine-list .mm-search-bx {
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
        height: 48px;
        margin: 0 !important;
        border: 2px solid var(--m-field-edge);
        border-radius: 12px;
        background: var(--m-field);
        overflow: hidden;
    }

    .radio-mag section.musica-magazine-list .mm-search-bx::before {
        content: "";
        flex: 0 0 46px;
        background:
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14'/%3E%3C/svg%3E") no-repeat 14px 50% / 22px 22px,
            linear-gradient(var(--m-field-edge), var(--m-field-edge)) no-repeat 100% 50% / 2px 26px;
    }

    .radio-mag section.musica-magazine-list .mm-search-bx .mm-search-input {
        flex: 1 1 auto;
        width: 1%;
        min-width: 0;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 10px 0 12px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        font-family: 'Poppins', Arial, sans-serif !important;
        font-weight: 400 !important;
        font-size: max(16px, 1rem) !important;
        line-height: 1.2 !important;
        color: #fff !important;
    }

    .radio-mag section.musica-magazine-list .mm-search-bx .mm-search-input::placeholder {
        color: rgba(255, 255, 255, .85) !important;
        opacity: 1;
        text-transform: capitalize;
    }

    .radio-mag section.musica-magazine-list .mm-search-bx:focus-within {
        border-color: var(--m-arrow);
        box-shadow: 0 0 0 3px rgba(69, 182, 252, .35);
    }

    .radio-mag section.musica-magazine-list .mm-search-bx .mm-search-btn {
        flex: 0 0 52px;
        display: flex !important;
        align-items: center !important;
        justify-content: center;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: var(--m-arrow) !important;
        box-shadow: none !important;
        color: #fff !important;
        font-size: 1.5rem !important;
        line-height: 1 !important;
    }

    .radio-mag section.musica-magazine-list .custom-width-searchMag > .d-flex {
        display: flex !important;
        align-items: stretch !important;
        gap: 10px;
    }

    .radio-mag section.musica-magazine-list .mm-search-month,
    .radio-mag section.musica-magazine-list .mm-search-year {
        position: relative;
        height: 48px !important;
        margin: 0 !important;
        border: 0;
        border-radius: 12px !important;
        background: var(--m-pill) !important;
        box-shadow: 0 0 12px rgba(69, 170, 250, .28) !important;
        color: #fff !important;
    }

    .radio-mag section.musica-magazine-list .mm-search-month {
        flex: 1 1 auto !important;
        min-width: 0;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 2px !important;
    }

    .radio-mag section.musica-magazine-list .mm-search-year {
        flex: 0 0 112px !important;
        display: flex;
        padding: 0 !important;
    }

    .radio-mag section.musica-magazine-list .mm-search-month .btn,
    .radio-mag section.musica-magazine-list .mm-search-year .btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 44px;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 8px !important;
        border: 0 !important;
        border-radius: 10px;
        background: transparent !important;
        box-shadow: none !important;
        font-family: 'Poppins', Arial, sans-serif !important;
        font-weight: 400 !important;
        font-size: 1rem !important;
        line-height: 1 !important;
        color: #fff !important;
    }

    .radio-mag section.musica-magazine-list .mm-search-month .monthPrev,
    .radio-mag section.musica-magazine-list .mm-search-month .monthNext {
        flex: 0 0 48px;
        font-size: 1.375rem !important;
    }

    /* the month and year lists hang from the pill, not from the small button, so they stay on screen */
    .radio-mag section.musica-magazine-list .mm-search-month .dropdown,
    .radio-mag section.musica-magazine-list .mm-search-year .dropdown {
        position: static !important;
        display: flex;
        flex: 1 1 auto;
        height: 100%;
    }

    .radio-mag section.musica-magazine-list .mm-search-year .dropdown > .btn,
    .radio-mag section.musica-magazine-list .mm-search-month .dropdown > .btn {
        flex: 1 1 auto;
    }

    .radio-mag section.musica-magazine-list .mm-search-dropdown .dropdown-toggle::after {
        display: none !important;
    }

    .radio-mag section.musica-magazine-list .mm-search-month .btn:focus-visible,
    .radio-mag section.musica-magazine-list .mm-search-year .btn:focus-visible,
    .radio-mag section.musica-magazine-list .mm-search-bx .mm-search-btn:focus-visible {
        outline: 2px solid #fff;
        outline-offset: -4px;
    }

    .radio-mag section.musica-magazine-list .mm-search-dropdown .dropdown-menu {
        inset: calc(100% + 8px) 0 auto auto !important;
        top: calc(100% + 8px) !important;
        right: 0 !important;
        left: auto !important;
        bottom: auto !important;
        transform: none !important;
        width: min(260px, calc(100vw - 32px)) !important;
        max-height: min(60vh, 22rem);
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid rgba(69, 182, 252, .45) !important;
        border-radius: 14px !important;
        background: var(--m-menu) !important;
        box-shadow: 0 16px 32px rgba(0, 0, 0, .45) !important;
        overflow: hidden auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        z-index: 30;
    }

    .radio-mag section.musica-magazine-list .mm-search-month .dropdown-menu {
        inset: calc(100% + 8px) auto auto 0 !important;
        left: 0 !important;
        right: auto !important;
        width: 100% !important;
    }

    .radio-mag section.musica-magazine-list .mm-search-dropdown .dropdown-menu-header {
        padding: 12px 18px !important;
        border-bottom: 1px solid rgba(255, 255, 255, .12);
        background: var(--m-pill) !important;
        font: 500 1rem/1.3 'Poppins', Arial, sans-serif !important;
        color: #fff !important;
        text-align: left !important;
    }

    .radio-mag section.musica-magazine-list .mm-search-dropdown .dropdown-menu-body ul {
        margin: 0;
        padding: 4px 0;
        list-style: none;
    }

    .radio-mag section.musica-magazine-list .mm-search-dropdown .dropdown-item {
        display: flex;
        align-items: center;
        min-height: 44px;
        padding: 8px 18px !important;
        background: transparent !important;
        font: 400 1rem/1.3 'Poppins', Arial, sans-serif !important;
        color: #e6f4fc !important;
        white-space: normal;
    }

    .radio-mag section.musica-magazine-list .mm-search-dropdown .dropdown-item:hover,
    .radio-mag section.musica-magazine-list .mm-search-dropdown .dropdown-item:focus {
        background: rgba(10, 170, 238, .22) !important;
        color: #fff !important;
    }

    .radio-mag section.musica-magazine-list .mm-title {
        width: auto !important;
        max-width: 40rem !important;
        margin: 24px 0 0 !important;
        padding: 0 !important;
        font-family: 'Roboto', Arial, sans-serif !important;
        font-weight: 400 !important;
        font-size: clamp(0.9375rem, 0.85rem + 0.5vw, 1.125rem) !important;
        line-height: 1.5 !important;
        letter-spacing: .01em;
        color: #fff !important;
        text-align: left !important;
        text-transform: capitalize;
    }

    /* ---------- issue grid: common card parts ---------- */
    .radio-mag section.musica-magazine-list #magContainer {
        height: auto !important;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid {
        display: grid !important;
        align-items: start;
        width: auto;
        max-width: none;
        margin: 24px 0 0 !important;
        padding: 0 !important;
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid > .col {
        position: relative;
        flex: none;
        width: auto !important;
        min-width: 0;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid > .col > a:not(.mm-link) {
        display: block;
        position: relative;
        border: 4px solid var(--m-frame);
        border-radius: 16px;
        background: #0b3a52;
        overflow: hidden;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid > .col > a:not(.mm-link) > img.mm-poster-img {
        display: block;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 519 / 736;
        object-fit: cover;
        margin: 0;
        border: 0 !important;
        border-radius: 12px !important;
        box-shadow: none !important;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid > .col > a:not(.mm-link):focus-visible {
        outline: 3px solid #fff;
        outline-offset: 3px;
    }

    /* share: 44px tap area, white icons on navy */
    /* no stacking layer of its own, so an open share list rises above the next issues' buttons */
    .radio-mag section.musica-magazine-list .mm-list-grid .mm_share_box.mm-poster-share-box {
        top: 8px !important;
        right: 8px !important;
        z-index: auto;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm_share_btn {
        position: relative;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: rgba(1, 37, 53, .75);
        box-shadow: 0 0 0 2px rgba(186, 234, 255, .7);
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm_share_btn::before {
        content: "";
        position: absolute;
        inset: -4px;
        border-radius: 50%;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm_share_btn .mm_share_icon {
        width: 20px;
        height: 20px;
        filter: brightness(0) invert(1);
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm_share_menu {
        top: calc(100% + 8px) !important;
        right: 0 !important;
        left: auto !important;
        transform: none !important;
        padding: 6px !important;
        border: 1px solid rgba(69, 182, 252, .45);
        border-radius: 999px !important;
        background: var(--m-menu) !important;
        box-shadow: 0 12px 26px rgba(0, 0, 0, .45) !important;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm_share_menu.mm_share_active {
        gap: 4px !important;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm_share_link {
        width: 44px;
        height: 44px;
        min-width: 44px;
        background: rgba(10, 170, 238, .22) !important;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm_share_link img,
    .radio-mag section.musica-magazine-list .mm-list-grid .mm_share_link .mm_share_icon {
        width: 18px !important;
        height: 18px !important;
        object-fit: contain;
        filter: brightness(0) invert(1);
    }

    /* play (+ staff edit): the empty button strip used to sit over the cover and swallow taps */
    .radio-mag section.musica-magazine-list .mm-list-grid .mm-bottom-buttons {
        position: absolute;
        left: auto !important;
        right: 12px !important;
        bottom: 12px !important;
        z-index: 3;
        display: flex;
        gap: 8px;
        width: auto !important;
        margin: 0;
        padding: 0;
        pointer-events: none;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-icons {
        position: relative;
        flex: none;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: #fff no-repeat 50% 50% / 46% 46%;
        box-shadow: 0 4px 12px rgba(0, 40, 70, .3);
        pointer-events: auto;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-icons:first-child {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231f8ff0' d='M8 5.14v13.72a1 1 0 0 0 1.52.85l10.6-6.86a1 1 0 0 0 0-1.7L9.52 4.29A1 1 0 0 0 8 5.14z'/%3E%3C/svg%3E");
        background-position: 56% 50%;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-icons + .mm-icons {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231f8ff0' d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z'/%3E%3C/svg%3E");
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-icons > * {
        position: absolute;
        inset: 0;
        display: block;
        border-radius: 50%;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-icons img {
        width: 100% !important;
        height: 100% !important;
        opacity: 0;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-icons a:focus-visible {
        outline: 3px solid #fff;
        outline-offset: 2px;
    }

    /* issue title / number / date box: hidden unless an option shows it */
    .radio-mag section.musica-magazine-list .mm-list-grid .mm-link {
        display: block;
        text-decoration: none;
        color: inherit;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-list-grid-text-bx,
    .radio-mag section.musica-magazine-list .mm-list-grid .mm-list-grid-text-bx * {
        white-space: normal !important;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-list-grid-text-bx {
        height: auto !important;
        border: 0;
        color: #fff;
        font-family: 'Roboto', Arial, sans-serif;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-list-grid-text-bx h4 {
        margin: 0;
        font-family: 'Roboto', Arial, sans-serif !important;
        font-weight: 600;
        color: #fff;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
        overflow-wrap: anywhere;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-list-grid-text-bx .d-flex {
        display: none !important;
    }
}

/* tablets: search field, Month and Year on one line */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .radio-mag section.musica-magazine-list .mm-search > .row {
        /* grid-template-columns: minmax(0, 1fr) auto; */
        gap: 12px;
    }

    .radio-mag section.musica-magazine-list .mm-search-month {
        flex: 0 0 220px !important;
    }

    .radio-mag section.musica-magazine-list .mm-search-year {
        flex: 0 0 120px !important;
    }

    .radio-mag section.musica-magazine-list .mm-search-month .dropdown-menu {
        width: 100% !important;
    }

    .radio-mag section.musica-magazine-hero .musica-magazine-carousel {
        --car-w: 27vw;
        --car-gap: 12px;
        --car-scale: 1.16;
    }
}

/* ---------- Cinematic Poster layout ----------
   Poster hero: big left-aligned title over the gradient, larger covers in the
   carousel. Issues 2 a row on phones, 3 on tablets with the side columns
   lowered (the middle one stands higher, like desktop), each with a slim blue
   caption (issue number and date, then the title) that is always showing, so
   touch users see what each issue is. */
@media (max-width: 1199.98px) {
    .radio-mag section.musica-magazine-hero .hs-hero-inner {
        text-align: left !important;
    }

    .radio-mag section.musica-magazine-hero .hs-hero-inner .hs-hero-title {
        font-size: clamp(2.5rem, 1.5rem + 5.2vw, 3.5rem) !important;
        line-height: 1.02 !important;
        text-align: center;
        text-wrap: balance;
    }

    /* .radio-mag section.musica-magazine-hero .hs-hero-inner .hs-hero-text {
        margin-left: 0 !important;
        margin-right: 0 !important;
    } */

    .radio-mag section.musica-magazine-hero .hs-hero-inner .hs-hero-ctas {
        justify-content: center !important;
    }

    .radio-mag section.musica-magazine-hero .musica-magazine-carousel {
        --car-w: 62vw;
        --car-scale: 1.1;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px 12px;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid > .col {
        display: flex;
        flex-direction: column;
        border: 4px solid var(--m-frame);
        border-radius: 16px;
        background: var(--m-blue);
    }

    .radio-mag section.musica-magazine-list .mm-list-grid > .col > a:not(.mm-link) {
        border: 0;
        border-radius: 12px 12px 0 0;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid > .col > a:not(.mm-link) > img.mm-poster-img {
        border-radius: 0 !important;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-list-grid-text-bx {
        display: flex !important;
        flex-direction: column;
        align-items: stretch !important;
        justify-content: flex-start !important;
        padding: 10px 12px 12px !important;
        border: 0 !important;
        border-top: 3px solid var(--m-blue-edge) !important;
        border-radius: 0 0 12px 12px;
        background: var(--m-blue) !important;
        text-align: left !important;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-list-grid-text-bx > div {
        display: flex;
        flex-direction: column;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-list-grid-text-bx h4 {
        order: 2;
        margin-top: 4px;
        font-size: .875rem !important;
        line-height: 1.3 !important;
        min-height: 2.6em;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-list-grid-text-bx h4 ~ div {
        order: 1;
        font: 500 .75rem/1.4 'Roboto', Arial, sans-serif;
        letter-spacing: .02em;
        text-transform: uppercase;
        color: #d6f1ff;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-list-grid-text-bx h4 + div + div {
        order: 1;
        text-transform: none;
        letter-spacing: 0;
        font-weight: 400;
    }

    /* play sits on the cover's corner, just above the caption */
    .radio-mag section.musica-magazine-list .mm-list-grid .mm-bottom-buttons {
        top: auto;
        bottom: auto !important;
        right: 10px !important;
        margin-top: -54px;
        margin-bottom: 54px;
        position: relative;
        align-self: flex-end;
        order: 0;
        height: 0;
        overflow: visible;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid > .col > a:not(.mm-link) { order: -2; }
    .radio-mag section.musica-magazine-list .mm-list-grid > .col > .mm-link { order: 1; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .radio-mag section.musica-magazine-list .mm-list-grid {
        --m-lift: 8vw;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px 18px;
        padding-bottom: var(--m-lift) !important;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid > .col:nth-child(3n + 1),
    .radio-mag section.musica-magazine-list .mm-list-grid > .col:nth-child(3n) {
        transform: translateY(var(--m-lift));
    }

    .radio-mag section.musica-magazine-list .mm-list-grid > .col[style*="display: none"] ~ .col {
        transform: none;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-list-grid-text-bx h4 {
        font-size: 1rem !important;
    }

    .radio-mag section.musica-magazine-list .mm-list-grid .mm-list-grid-text-bx h4 ~ div {
        font-size: .8125rem;
    }

    .radio-mag section.musica-magazine-hero .musica-magazine-carousel {
        --car-w: 30vw;
        --car-scale: 1.14;
    }
}

/* ---------- dates, list stacking, phones held sideways, reduced motion ---------- */
@media (max-width: 1199.98px) {
    /* issue date: when it has to wrap, break at the space ("Thursday" / "2025-07-31"), not after a hyphen */
    .radio-mag section.musica-magazine-list .mm-list-grid .mm-list-grid-text-bx h4 ~ div {
        text-wrap: balance;
    }

    /* open Month and Year lists sit above the issue covers and their buttons */
    .radio-mag section.musica-magazine-list .mm-search {
        z-index: 10;
    }
}

/* phones held sideways: hero sized by the screen height so the search row is one swipe away */
@media (max-width: 1199.98px) and (orientation: landscape) and (max-height: 500px) {
    .radio-mag section.musica-magazine-hero .hs-hero-inner {
        padding-top: 20px !important;
    }

    .radio-mag section.musica-magazine-hero .hs-hero-inner .hs-hero-title {
        font-size: 2.25rem !important;
    }

    .radio-mag section.musica-magazine-hero .musica-magazine-carousel {
        --car-w: min(24vw, 34vh);
        --car-scale: 1.1;
        margin-top: 16px !important;
        padding-bottom: 20px !important;
    }

    @supports (height: 1svh) {
        .radio-mag section.musica-magazine-hero .musica-magazine-carousel {
            --car-w: min(24vw, 34svh);
        }
    }
}

@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
    .radio-mag section.musica-magazine-hero .musica-magazine-carousel .as-carousel-item {
        transition: none !important;
    }
}

/* ============ end MUSICA MAGAZINE (mag_list_V3.cfm) : PHONES AND TABLETS ============ */


/* =====================================================================
   MUSICA MAGAZINE (mag_list_V3.cfm) : TABLETS, Height-Aware Hero
   Tablet pass on top of the desktop and phone/tablet blocks above.
   - touch screens 1200px and wider: 44px tap areas that do not change
     how the controls look;
   - Month and Year lists sized for the browser bars;
   - carousel covers sized by the space the window has: capped at 300px
     wide in 484 to 767px windows (split screen, 7-inch tablets,
     foldables) and by the screen height on tablets held sideways.
   Phones, upright tablets and mouse desktops are unchanged.
   ===================================================================== */

/* touch screens at desktop size (iPad Pro landscape, Android tablets landscape,
   Surface in tablet mode, touch laptops): tap areas grow to 44px without
   changing how the controls look */
@media (min-width: 1200px) and (any-pointer: coarse) {
    .radio-mag .musica-magazine-hero .hs-hero-ctas .btn,
    .radio-mag .musica-magazine-list .mm-search-month .monthPrev,
    .radio-mag .musica-magazine-list .mm-search-month .monthNext,
    .radio-mag .musica-magazine-list .mm-list-grid .mm_share_btn,
    .radio-mag .musica-magazine-list .mm-list-grid .mm_share_link {
        position: relative;
    }

    .radio-mag .musica-magazine-hero .hs-hero-ctas .btn::before,
    .radio-mag .musica-magazine-list .mm-search-month .monthPrev::before,
    .radio-mag .musica-magazine-list .mm-search-month .monthNext::before,
    .radio-mag .musica-magazine-list .mm-list-grid .mm-icons > a::before,
    .radio-mag .musica-magazine-list .mm-list-grid .mm_share_btn::before,
    .radio-mag .musica-magazine-list .mm-list-grid .mm_share_link::before {
        content: "";
        position: absolute;
        border-radius: inherit;
    }

    /* Join Today: taller tap area */
    .radio-mag .musica-magazine-hero .hs-hero-ctas .btn::before {
        left: 0;
        right: 0;
        top: min(0px, calc(50% - 22px));
        bottom: min(0px, calc(50% - 22px));
    }

    /* Month back / next arrows: wider tap area, 6px past the pill's edge and the
       rest into the empty pill beside them, stopping short of the month button */
    .radio-mag .musica-magazine-list .mm-search-month .monthPrev::before {
        top: 0;
        bottom: 0;
        left: -6px;
        right: min(0px, calc(100% - 38px));
    }

    .radio-mag .musica-magazine-list .mm-search-month .monthNext::before {
        top: 0;
        bottom: 0;
        right: -6px;
        left: min(0px, calc(100% - 38px));
    }

    /* play, staff edit and share: round tap areas of at least 44px */
    .radio-mag .musica-magazine-list .mm-list-grid .mm-icons > a::before,
    .radio-mag .musica-magazine-list .mm-list-grid .mm_share_btn::before {
        inset: min(-2px, calc(50% - 22px));
        border-radius: 50%;
    }

    .radio-mag .musica-magazine-list .mm-list-grid .mm_share_link::before {
        inset: -2px;
        border-radius: 50%;
    }

    .radio-mag .musica-magazine-list .mm-search-dropdown .dropdown-item {
        min-height: 44px;
        display: flex;
        align-items: center;
    }
}

/* Month and Year lists: size by the screen height that is left when the browser
   bars are showing, so the end of a list is never hidden under them */
@supports (height: 1svh) {
    @media (max-width: 1199.98px) {
        .radio-mag section.musica-magazine-list .mm-search-dropdown .dropdown-menu {
            max-height: min(60svh, 22rem);
        }
    }
}

/* ---------- carousel sized by the space the window really has ---------- */

/* windows 484 to 767px wide (iPad split screen, 7-inch tablets, foldables):
   the cover stops growing at 300px wide. Phones are narrower than 484px, so
   they are unchanged */
@media (max-width: 1199.98px) {
    .radio-mag section.musica-magazine-hero .musica-magazine-carousel {
        --car-w: min(62vw, 300px);
    }
}

/* tablets 768px and wider: the cover is also capped by the window height, so
   iPads and Android tablets held sideways (and short Stage Manager windows)
   keep the search row close to the first screen. Upright tablets are unchanged */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .radio-mag section.musica-magazine-hero .musica-magazine-carousel {
        --car-w: min(30vw, 28vh);
    }

    @supports (height: 1svh) {
        .radio-mag section.musica-magazine-hero .musica-magazine-carousel {
            --car-w: min(30vw, 28svh);
        }
    }
}

/* phones held sideways keep their own size (same rule as in the phone block) */
@media (max-width: 1199.98px) and (orientation: landscape) and (max-height: 500px) {
    .radio-mag section.musica-magazine-hero .musica-magazine-carousel {
        --car-w: min(24vw, 34vh);
    }

    @supports (height: 1svh) {
        .radio-mag section.musica-magazine-hero .musica-magazine-carousel {
            --car-w: min(24vw, 34svh);
        }
    }
}

/* ============ end MUSICA MAGAZINE (mag_list_V3.cfm) : TABLETS ============ */

@media only screen and (max-width: 768px) {
    :where(.about-artist-earn.radio-page) .aae-item {
      padding: 30px 26px;
    }
    .radio-blog-post .radio-blog-post__intro {
      font-size: 24px;
    }
    .radio-blog-post .radio-blog-post__num {
        padding-left: 15px;
    }
    .radio-blog-post .radio-blog-post__section {
        grid-template-columns: 50px minmax(0, 1fr);
        margin-right: 45px;
    }
}

/* ==========================================================================
   RESTAURANTS & DINING (dining.cfm)
   [Option 1, Figma scaled to 1512]
   Added by Claude, 2026-10-19. Every rule is limited to .dining-page.
   Desktop, 900px and up: the Figma 1920 frame scaled to the 1512px page
   (x0.7875). Sizes are written as calc(N * var(--u)) where N is the size at
   1512px, so narrower desktop windows keep the same proportions
   (never below 70%).
   Under 900px: photo on top, heading and playlists below.
   2026-10-19 update: hero gets the Figma blue gradient in CSS (the hero
   photo is the plain original) and is shorter, with the title on one line.
   2026-10-19 mobile update [Mobile option 2, Title on the photo]:
   phones and upright tablets put the section heading on the photo;
   upright tablets show playlists in 2 columns; phones held sideways and
   other short screens get a compact side-by-side layout; hero capped to
   the screen height; notch padding; no sticky hover on touch screens.
   Support baseline: iOS/iPadOS Safari 15+, Chrome, Edge, Samsung Internet
   and Firefox from about the last two years. Older browsers keep a
   working layout (svh, cqw and aspect-ratio have fallbacks).
   2026-10-19 tablet update [Tablet option 1, Fixes only]: the phone/tablet
   layout under 900px no longer depends on orientation, so Split View,
   Stage Manager, Samsung DeX windows and unfolded foldables get the same
   "title on the photo" layout as an upright iPad and update live when
   resized. The side-by-side layout for short screens now comes after it
   and resets it. Full-screen tablets, phones and desktop look unchanged.
   Fonts: Anton (headings) and Roboto (text), loaded in dining.cfm.
   Playlist rows wrap the radiosparx.play.launch.link module output:
     <a class="tfont11 alink"><img class="buttonMid">Name</a><br>
   The legacy .alink rules use !important colours, so the overrides below
   need !important too.
   ========================================================================== */

.dining-page,
.dining-page *,
.dining-page *::before,
.dining-page *::after {
  box-sizing: border-box;
}

.dining-page {
  container-type: inline-size;
  --u: clamp(0.7px, 100cqw / 1512, 1px);
  width: 100%;
  max-width: 1512px;
  margin: 0 auto;
  background: #012D40;
  color: #ffffff;
  font-family: 'Roboto', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@supports not (width: 1cqw) {
  .dining-page { --u: clamp(0.7px, 100vw / 1512, 1px); }
}

/* ---------- Hero ---------- */
.dining-page .dining-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: calc(535 * var(--u));
  min-height: min(calc(535 * var(--u)), 75vh);
  min-height: min(calc(535 * var(--u)), 75svh);
  padding: calc(48 * var(--u)) calc(63 * var(--u));
  /* Figma: blue on the left fading to clear on the right, over the photo */
  background:
    linear-gradient(270deg, rgba(0, 9, 17, 0) 0%, #004379 100%),
    #024379 url("../images/dining-hero.jpg") center / cover no-repeat;
}
.dining-page .dining-hero__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--u));
  max-width: calc(600 * var(--u));
}
.dining-page .dining-hero__title {
  margin: 0;
  padding: 0;
  font-family: 'Anton', 'Antonio', 'Arial Narrow', sans-serif;
  font-weight: 400;
  font-size: calc(98 * var(--u));
  line-height: 1.1 !important;
  letter-spacing: -0.02em;
  text-transform: capitalize;
  color: #ffffff;
}
.dining-page .dining-hero__text {
  margin: 0;
  padding: 0;
  font-family: 'Roboto', Arial, sans-serif;
  font-weight: 500;
  max-width: calc(660 * var(--u));
  font-size: calc(25 * var(--u));
  line-height: calc(30 * var(--u));
  text-transform: capitalize;
  color: #ffffff;
}

/* ---------- Sections: photo + playlists, alternating sides ---------- */
.dining-page .dining-sec {
  display: grid;
  grid-template-columns: 51.5% minmax(0, 1fr);
  min-height: calc(745 * var(--u));
  background: radial-gradient(47.57% 47.57% at 50% 52.43%, #0375A6 0%, #012D40 100%);
}
.dining-page .dining-sec--reverse {
  grid-template-columns: minmax(0, 1fr) 51.5%;
}
.dining-page .dining-sec--reverse .dining-sec__media {
  order: 2;
}
.dining-page .dining-sec__media {
  position: relative;
  min-height: 100%;
  overflow: hidden;
}
.dining-page .dining-sec__media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  border: 0;
  object-fit: cover;
  object-position: center;
}
.dining-page .dining-sec__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: calc(21 * var(--u)) calc(63 * var(--u)) calc(56 * var(--u)) calc(43 * var(--u));
}
.dining-page .dining-sec--reverse .dining-sec__body {
  padding: calc(56 * var(--u)) calc(43 * var(--u)) calc(56 * var(--u)) calc(63 * var(--u));
}
.dining-page .dining-sec__content {
  display: flex;
  flex-direction: column;
  gap: calc(30 * var(--u));
  width: 100%;
  max-width: calc(627 * var(--u));
}
.dining-page .dining-sec__head {
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--u));
}
.dining-page .dining-sec__title {
  margin: 0;
  padding: 0;
  font-family: 'Anton', 'Antonio', 'Arial Narrow', sans-serif;
  font-weight: 400;
  font-size: calc(50 * var(--u));
  line-height: calc(44 * var(--u));
  text-wrap: balance;
  overflow-wrap: break-word;
  color: #ffffff;
}
.dining-page .dining-sec__desc {
  margin: 0;
  padding: 0;
  font-family: 'Roboto', Arial, sans-serif;
  font-weight: 400;
  font-size: calc(20 * var(--u));
  line-height: calc(27 * var(--u));
  text-transform: capitalize;
  color: rgba(255, 255, 255, 0.92);
}

/* ---------- Playlist cards ---------- */
.dining-page .dining-list {
  display: flex;
  flex-direction: column;
  gap: calc(16 * var(--u));
  margin: 0;
  padding: 0;
  list-style: none;
}
.dining-page .dining-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: calc(12 * var(--u));
  height: 60px;
  min-height: calc(60 * var(--u));
  margin: 0;
  padding: calc(12 * var(--u)) calc(20 * var(--u)) calc(12 * var(--u)) calc(12 * var(--u));
  list-style: none;
  border: 1px solid rgba(149, 216, 255, 0.26);
  border-radius: calc(14 * var(--u));
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0) 60%),
    rgba(0, 140, 232, 0.02);
  box-shadow: 0 2px 14px rgba(0, 38, 54, 0.32);
  transition: background-color .2s ease, border-color .2s ease;
}
@media (hover: hover) {
  .dining-page .dining-card:hover {
    background-color: rgba(0, 140, 232, 0.14);
    border-color: rgba(149, 216, 255, 0.55);
  }
  .dining-page .dining-card:hover a.alink::before {
    background-color: #0AAAEE;
  }
}
.dining-page .dining-card:focus-within {
  border-color: rgba(149, 216, 255, 0.55);
}
.dining-page .dining-card:focus-within a.alink::before {
  background-color: #0AAAEE;
}
.dining-page .dining-card br {
  display: none;
}
/* the module's link: play circle + playlist name; it covers the whole card */
.dining-page .dining-card a.alink {
  position: static;
  display: flex;
  align-items: center;
  gap: calc(20 * var(--u));
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  font-family: 'Roboto', Arial, sans-serif;
  font-weight: 500;
  font-size: calc(22 * var(--u));
  line-height: 1.3;
  text-transform: capitalize;
  overflow-wrap: break-word;
  overflow-wrap: anywhere;
  color: #ffffff !important;
  text-decoration: none !important;
}
.dining-page .dining-card a.alink:link,
.dining-page .dining-card a.alink:visited,
.dining-page .dining-card a.alink:hover,
.dining-page .dining-card a.alink:active,
.dining-page .dining-card a.alink:focus {
  color: #ffffff !important;
  text-decoration: none !important;
}
.dining-page .dining-card a.alink img.buttonMid {
  display: none !important;
}
.dining-page .dining-card a.alink::before {
  content: "";
  flex: none;
  width: calc(43 * var(--u));
  height: calc(43 * var(--u));
  border-radius: 50%;
  background: rgba(0, 140, 232, 0.24) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M7 4.8v14.4c0 .9 1 1.5 1.8 1l11.3-7.2c.7-.5.7-1.5 0-2L8.8 3.8C8 3.3 7 3.9 7 4.8z'/%3E%3C/svg%3E") 56% 50% / 38% no-repeat;
  transition: background-color .2s ease;
}
.dining-page .dining-card a.alink::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: calc(14 * var(--u));
}
.dining-page .dining-card a.alink:focus-visible {
  outline: none;
}
.dining-page .dining-card a.alink:focus-visible::after {
  outline: 2px solid #95D8FF;
  outline-offset: 2px;
}
/* three-dot icon from the Figma; decorative, a click on it plays the playlist like the rest of the card */
.dining-page .dining-card__more {
  flex: none;
  width: calc(32 * var(--u));
  height: calc(32 * var(--u));
  pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 22'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='3' cy='3' r='2.5'/%3E%3Ccircle cx='3' cy='11' r='2.5'/%3E%3Ccircle cx='3' cy='19' r='2.5'/%3E%3C/g%3E%3C/svg%3E") center / calc(6 * var(--u)) calc(22 * var(--u)) no-repeat;
}

/* ---------- Under 900px: photo on top, content below ---------- */
@media (max-width: 899.98px) {
  .dining-page { --u: 0.8px; }

  .dining-page .dining-hero {
    align-items: flex-end;
    min-height: 380px;
    padding: 48px 24px 40px;
    background-position: 30% center;
  }
  .dining-page .dining-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(1, 45, 64, 0.1) 0%, rgba(1, 45, 64, 0.72) 100%);
  }
  .dining-page .dining-hero__inner { max-width: 400px; gap: 16px; }
  .dining-page .dining-hero__title { font-size: clamp(75px, 9vw, 94px); line-height: 1.06; }
  .dining-page .dining-hero__text { font-size: 18px; line-height: 26px; }

  .dining-page .dining-sec,
  .dining-page .dining-sec--reverse {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }
  .dining-page .dining-sec--reverse .dining-sec__media { order: 0; }
  .dining-page .dining-sec__media {
    min-height: 0;
    aspect-ratio: 16 / 10;
    max-height: 460px;
  }
  .dining-page .dining-sec__body,
  .dining-page .dining-sec--reverse .dining-sec__body {
    padding: 36px 24px 48px;
  }
  .dining-page .dining-sec__content { max-width: 640px; margin: 0 auto; gap: 24px; }
  .dining-page .dining-sec__head { gap: 12px; }
  .dining-page .dining-sec__title { font-size: 60px; line-height: 1.1 !important; }
  .dining-page .dining-sec__desc { font-size: 17px; line-height: 25px; }

  .dining-page .dining-list { gap: 12px; }
  .dining-page .dining-card {
    gap: 10px;
    min-height: 50px;
    height: 50px;
    padding: 8px 14px 8px 8px;
    border-radius: 12px;
  }
  .dining-page .dining-card a.alink { gap: 14px; font-size: 17px; }
  .dining-page .dining-card a.alink::before { width: 38px; height: 38px; }
  .dining-page .dining-card a.alink::after { border-radius: 12px; }
  .dining-page .dining-card__more { width: 28px; height: 28px; background-size: 5px 19px; }
}

/* phones */
@media (max-width: 480px) {
  .dining-page .dining-hero { min-height: 330px; padding: 40px 16px 32px; }
  .dining-page .dining-hero__title { font-size: 42px; }
  .dining-page .dining-hero__text { font-size: 16px; line-height: 24px; }
  .dining-page .dining-sec__body,
  .dining-page .dining-sec--reverse .dining-sec__body { padding: 28px 16px 40px; }
  .dining-page .dining-sec__title { font-size: 44px; line-height: 32px; }
  .dining-page .dining-sec__desc { font-size: 16px; line-height: 24px; }
  .dining-page .dining-card a.alink { font-size: 16px; }
  .dining-page .dining-card a.alink::before { width: 34px; height: 34px; }
}

/* ---------- Mobile and tablet: fixes shared by every option ---------- */
.dining-page {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.dining-page .dining-card { -webkit-tap-highlight-color: transparent; }
.dining-page .dining-card:active { background-color: rgba(0, 140, 232, 0.14); }

@media (max-width: 899.98px) {
  .dining-page .dining-hero {
    min-height: 380px;
    min-height: min(380px, 56svh);
    padding-left: max(24px, env(safe-area-inset-left, 0px));
    padding-right: max(24px, env(safe-area-inset-right, 0px));
  }
  .dining-page .dining-sec__body,
  .dining-page .dining-sec--reverse .dining-sec__body {
    padding-left: max(24px, env(safe-area-inset-left, 0px));
    padding-right: max(24px, env(safe-area-inset-right, 0px));
  }
  /* aspect-ratio + max-height made the photo narrower than the screen (gap on the right at 740-899px) */
  .dining-page .dining-sec__media { width: 100%; }
}
@media (max-width: 480px) {
  .dining-page .dining-hero__title { font-size: clamp(26px, 12vw, 42px); }
  .dining-page .dining-hero {
    min-height: 330px;
    min-height: min(330px, 52svh);
    padding-left: max(16px, env(safe-area-inset-left, 0px));
    padding-right: max(16px, env(safe-area-inset-right, 0px));
  }
  .dining-page .dining-sec__body,
  .dining-page .dining-sec--reverse .dining-sec__body {
    padding-left: max(16px, env(safe-area-inset-left, 0px));
    padding-right: max(16px, env(safe-area-inset-right, 0px));
  }
}

/* Under 360px wide (small phones, zoomed in, split screen): room for the playlist name */
@media (max-width: 359.98px) {
  .dining-page .dining-card { padding-right: 10px; }
  .dining-page .dining-card__more { display: none; }
  .dining-page .dining-card a.alink::before { width: 38px; height: 38px; }
  .dining-page .dining-sec__title { font-size: 21px; line-height: 27px; }
}

/* ---------- Option 2: Title on the photo ---------- */
@media (max-width: 899.98px) {
  .dining-page .dining-sec,
  .dining-page .dining-sec--reverse { grid-template-areas: "media" "list"; }
  .dining-page .dining-sec__body,
  .dining-page .dining-sec__content { display: contents; }
  .dining-page .dining-sec__media { grid-area: media; align-self: stretch; aspect-ratio: 4 / 3; max-height: 62svh; }
  .dining-page .dining-sec__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(1, 45, 64, 0) 8%, rgba(1, 45, 64, 0.62) 46%, rgba(1, 45, 64, 0.96) 100%);
  }
  .dining-page .dining-sec__head {
    grid-area: media;
    align-self: end;
    position: relative;
    z-index: 1;
    gap: 8px;
    padding: 0 max(24px, env(safe-area-inset-right, 0px)) 22px max(24px, env(safe-area-inset-left, 0px));
  }
  .dining-page .dining-sec__title { text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35); }
  .dining-page .dining-sec__desc { color: #ffffff; }
  .dining-page .dining-list {
    grid-area: list;
    padding: 22px max(24px, env(safe-area-inset-right, 0px)) 40px max(24px, env(safe-area-inset-left, 0px));
  }
}
@media (max-width: 480px) {
  .dining-page .dining-sec__head { padding: 0 max(16px, env(safe-area-inset-right, 0px)) 18px max(16px, env(safe-area-inset-left, 0px)); }
  .dining-page .dining-sec__desc { font-size: 15px; line-height: 22px; }
  .dining-page .dining-list { padding: 18px max(16px, env(safe-area-inset-right, 0px)) 36px max(16px, env(safe-area-inset-left, 0px)); }
}
@media (min-width: 640px) and (max-width: 899.98px) {
  .dining-page .dining-sec__media { aspect-ratio: 16 / 9; max-height: 460px; }
  .dining-page .dining-sec__head { padding-left: 32px; padding-right: 32px; padding-bottom: 28px; width:60%}
  .dining-page .dining-list {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
    padding: 24px 32px 44px;
  }
}

/* Phones held sideways and other short screens 560-1199px wide:
   compact hero, photo and playlists side by side */
@media (orientation: landscape) and (max-height: 500px) and (min-width: 560px) and (max-width: 1199.98px) {
  .dining-page .dining-hero {
    align-items: center;
    min-height: 0;
    padding: 28px max(32px, env(safe-area-inset-right, 0px)) 28px max(32px, env(safe-area-inset-left, 0px));
  }
  .dining-page .dining-hero__inner { gap: 10px; max-width: 620px; }
  .dining-page .dining-hero__title { font-size: 44px; line-height: 1.05; }
  .dining-page .dining-hero__text { max-width: 560px; font-size: 16px; line-height: 23px; }

  .dining-page .dining-sec { grid-template-columns: 40% minmax(0, 1fr); min-height: 0; }
  .dining-page .dining-sec--reverse { grid-template-columns: minmax(0, 1fr) 40%; }
  .dining-page .dining-sec--reverse .dining-sec__media { order: 2; }
  .dining-page .dining-sec__media { aspect-ratio: auto; max-height: none; min-height: 100%; }
  .dining-page .dining-sec__body {
    padding: 28px max(28px, env(safe-area-inset-right, 0px)) 32px 28px;
  }
  .dining-page .dining-sec--reverse .dining-sec__body {
    padding: 28px 28px 32px max(28px, env(safe-area-inset-left, 0px));
  }
  .dining-page .dining-sec__content { max-width: none; margin: 0; gap: 18px; }
  .dining-page .dining-sec__head { gap: 8px; }
  .dining-page .dining-sec__title { font-size: 24px; line-height: 30px; }
  .dining-page .dining-sec__desc { font-size: 15px; line-height: 22px; }
  .dining-page .dining-list { gap: 10px; }
  .dining-page .dining-card { gap: 10px; min-height: 56px; padding: 6px 12px 6px 6px; border-radius: 12px; }
  .dining-page .dining-card a.alink { gap: 12px; font-size: 16px; }
  .dining-page .dining-card a.alink::before { width: 42px; height: 42px; }
  .dining-page .dining-card a.alink::after { border-radius: 12px; }
  .dining-page .dining-card__more { width: 28px; height: 28px; background-size: 5px 19px; }
  /* undo the "title on the photo" arrangement for this layout */
  .dining-page .dining-sec,
  .dining-page .dining-sec--reverse { grid-template-areas: none; }
  .dining-page .dining-sec__body,
  .dining-page .dining-sec__content { display: flex; }
  .dining-page .dining-sec__media { grid-area: auto; align-self: auto; }
  .dining-page .dining-sec__media::after { content: none; }
  .dining-page .dining-sec__head { grid-area: auto; align-self: auto; position: static; z-index: auto; padding: 0; }
  .dining-page .dining-sec__title { text-shadow: none; }
  .dining-page .dining-sec__desc { color: rgba(255, 255, 255, 0.92); }
  .dining-page .dining-list { grid-area: auto; display: flex; padding: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .dining-page .dining-card,
  .dining-page .dining-card a.alink::before { transition: none; }
}
/* ============ end RESTAURANTS & DINING (dining.cfm) block ============ */

/* ==========================================================================
   RESTAURANTS & DINING (dining.cfm) : ALIGNMENT FIXES
   Added by Claude, 2026-10-21. Alignment only; sizes, fonts and colours are
   unchanged. Must stay after the RESTAURANTS & DINING (dining.cfm) block.
   - Playlist buttons keep their height (60px desktop, 50px under 900px,
     56px on phones held sideways) but grow instead of letting a long name
     spill out with larger text settings. Contents stay centred as before.
   - Desktop: the photo-left sections (Fine Dining, Ethnic Cuisine, Wine
     Bars) get the same 56 space above their text as below it, like the
     photo-right sections, so the text sits in the middle again.
   - Phones and tablets: the section heading on the photo keeps a gap from
     the top of the photo (48px, 36px on phones) instead of running into
     its top edge; the photo grows a little only where it had no room.
   ========================================================================== */
.dining-page .dining-card {
  height: auto;
  min-height: 60px;
  padding-top: 0;
  padding-bottom: 0;
}
@media (max-width: 899.98px) {
  .dining-page .dining-card { min-height: 50px; }
}
@media (orientation: landscape) and (max-height: 500px) and (min-width: 560px) and (max-width: 899.98px) {
  .dining-page .dining-card { min-height: 56px; }
}
@media (min-width: 900px) and (orientation: portrait), (min-width: 900px) and (min-height: 500.02px), (min-width: 1200px) {
  .dining-page .dining-sec:not(.dining-sec--reverse) .dining-sec__body {
    padding-top: calc(56 * var(--u));
  }
}
@media (max-width: 899.98px) and (orientation: portrait), (max-width: 899.98px) and (min-height: 500.02px), (max-width: 559.98px) {
  .dining-page .dining-sec__head { padding-top: 48px; }
}
@media (max-width: 480px) {
  .dining-page .dining-sec__head { padding-top: 36px; }
}
/* ============ end RESTAURANTS & DINING (dining.cfm) : ALIGNMENT FIXES block ============ */

@media (min-width: 809px) and (max-width: 820.98px) {
    .rs-left {
        height: 800px !important;
    }
    .rs-wheel-holder {
        height: 360px !important;
    }
}

/* ==========================================================================
   RETAIL & FASHION (retail.cfm)
   [Option 2, Medium Type, held at 1512]
   Added by Claude, 2026-10-21. Every rule is limited to .retail-page.
   Desktop, 1200px and up: the Figma "Retail And Fashion" 1920 frame laid out
   at the 1512px page, with every text size about 80% of the Figma. Sizes are
   written as calc(N * var(--u)) where N is the size at 1512px, so narrower
   desktop windows keep the same proportions (never below 70%). The sizes
   that differ from the Figma are the --rt-* tokens on .retail-page.
   Section layouts: A = label | photo | card (Fashion),
   B = card | framed photo | vertical label (Lear Jets, Kids),
   C = label over photo | card (Franchises, High Tech),
   D = card | full-height photo with label (Luxury).
   Under 1200px: a basic stacked layout (photo, then card) until the
   tablet and phone passes.
   Fonts: Arima Madurai (headings, labels) and Roboto (text), loaded in
   retail.cfm. Images: retail-hero.jpg here (../images/), section photos
   from default_v2/images in retail.cfm.
   Playlist rows wrap the radiosparx.play.launch.link module output:
     <a class="tfont11 alink"><img class="buttonMid">Name</a><br>
   The legacy .alink rules use !important colours, so the overrides below
   need !important too. custom.css has body * { line-height: 1.3 !important },
   so every line-height here is !important as well.
   Small text never goes below 15px (17px hero intro) on 1200-1366px screens.
   2026-10-21 update: every section now has its own Figma background image
   and effect (measured from the Figma export):
     Fashion: grey "frosted glass" store photo (retail-fashion-bg.jpg, the
       texture is baked into the file) + rgba(0,134,190,.54); left 514px
       #21556B with the Figma grain.
     Lear Jets / Kids: the section photo blurred 26px + 42% black.
     Franchises / High Tech: the photo across the whole section, deep blue
       over everything except the photo window, #004562 band behind the
       label, Figma grain on the blue.
     Luxury: the photo across the whole section (its Figma colour look is
       baked into retail-luxury.jpg); left panel shows it again under the
       #003E58 to rgba(0,134,190,.64) gradient.
   Grain: retail-noise.png (seamless, #0086BE at 25%, half the pixels).
   ========================================================================== */

.retail-page,
.retail-page *,
.retail-page *::before,
.retail-page *::after {
  box-sizing: border-box;
}

.retail-page {
  container-type: inline-size;
  --u: clamp(0.7px, 100cqw / 1512, 1px);

  /* sizes at 1512px (Option 2, Medium Type) */
  --rt-hero-h: 699;
  --rt-hero-title: 72;
  --rt-hero-title-lh: 84;
  --rt-hero-text: 21;
  --rt-hero-text-lh: 29;
  --rt-tag: 58;
  --rt-tag-lh: 50;
  --rt-card-w: 620;
  --rt-card-pad: 30;
  --rt-card-radius: 28;
  --rt-title: 40;
  --rt-title-lh: 47;
  --rt-desc: 17;
  --rt-desc-lh: 25;
  --rt-head-gap: 14;
  --rt-body-gap: 24;
  --rt-row-h: 70;
  --rt-row-gap: 8;
  --rt-row-pad: 10;
  --rt-row-radius: 12;
  --rt-play: 50;
  --rt-play-gap: 16;
  --rt-name: 18;
  --rt-more: 22;
  --rt-more-inset: 42;
  --rt-sec-min: 700;
  --rt-photo-d: 711;

  width: 100%;
  max-width: 1512px;
  margin: 0 auto;
  background: #012D40;
  color: #ffffff;
  font-family: 'Roboto', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@supports not (width: 1cqw) {
  .retail-page { --u: clamp(0.7px, 100vw / 1512, 1px); }
}

/* ---------- Hero ---------- */
/* the photo is plain; the Figma blue gradient is added here */
.retail-page .retail-hero {
  position: relative;
  height: calc(var(--rt-hero-h) * var(--u));
  background:
    linear-gradient(270deg, rgba(0, 84, 140, 0.34) 0%, rgba(0, 23, 38, 0.34) 100%),
    #0b2633 url("../images/retail-hero.jpg") center / cover no-repeat;
}
.retail-page .retail-hero__panel {
  position: absolute;
  top: calc(350 * var(--u));
  left: 50%;
  transform: translateX(-50%);
  width: calc(846 * var(--u));
  min-height: calc(298 * var(--u));
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(6 * var(--u));
  padding: calc(33 * var(--u));
  text-align: center;
  /* border: 1px solid rgba(255, 255, 255, 0.36); */
  border-radius: calc(19 * var(--u));
  background: rgba(255, 255, 255, 0.06);
  -webkit-backdrop-filter: blur(calc(8 * var(--u)));
  /* backdrop-filter: blur(calc(8 * var(--u))); */
}
.retail-page .retail-hero__title {
  margin: 0;
  padding: 0;
  font-family: 'Arima Madurai', 'Arima', Georgia, serif;
  font-weight: 800;
  font-size: calc(var(--rt-hero-title) * var(--u));
  line-height: calc(var(--rt-hero-title-lh) * var(--u)) !important;
  text-transform: capitalize;
  text-wrap: balance;
  color: #ffffff;
}
.retail-page .retail-hero__text {
  margin: 0;
  padding: 0;
  font-family: 'Roboto', Arial, sans-serif;
  font-weight: 500;
  font-size: max(17px, calc(var(--rt-hero-text) * var(--u)));
  line-height: max(24px, calc(var(--rt-hero-text-lh) * var(--u))) !important;
  text-transform: capitalize;
  text-wrap: pretty;
  color: #ffffff;
}

/* ---------- Sections: shared ---------- */
.retail-page .retail-sec {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto;
  min-height: calc(var(--rt-sec-min) * var(--u));
}
/* the section background photo (each layout adds its own effect) */
.retail-page .retail-sec__bg {
  position: absolute;
  z-index: -3;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}
.retail-page .retail-sec::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
}
/* Figma grain on the blue areas */
.retail-page .retail-sec--a::after,
.retail-page .retail-sec--c::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: url("../images/retail-noise.png") 0 0 / calc(157.5 * var(--u)) repeat;
}

.retail-page .retail-sec__media {
  position: relative;
  grid-row: 1;
  min-height: 0;
  margin: 0;
  overflow: hidden;
}
.retail-page .retail-sec__media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  border: 0;
  object-fit: cover;
  object-position: center;
}

/* big decorative word (Fashion, LEAR JETS ...) with its dash-and-line rule */
.retail-page .retail-sec__tag {
  position: relative;
  z-index: 1;
  grid-row: 1;
  display: flex;
  margin: 0;
  padding: 0;
  pointer-events: none;
  user-select: none;
}
.retail-page .retail-sec__tag-text {
  font-family: 'Arima Madurai', 'Arima', Georgia, serif;
  font-weight: 700;
  font-size: calc(var(--rt-tag) * var(--u));
  line-height: calc(var(--rt-tag-lh) * var(--u)) !important;
  letter-spacing: 0.32em;
  white-space: nowrap;
  color: #ffffff;
}
.retail-page .retail-sec__tag-rule {
  flex: none;
  display: block;
}

/* glass card */
.retail-page .retail-sec__card {
  position: relative;
  z-index: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  gap: calc(var(--rt-body-gap) * var(--u));
  width: 100%;
  min-width: 0;
  padding: calc(var(--rt-card-pad) * var(--u));
  /* border: 1px solid rgba(255, 255, 255, 0.18); */
  border-radius: calc(var(--rt-card-radius) * var(--u));
  /* background: */
    /* linear-gradient(155deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.03) 55%), */
    /* rgba(0, 99, 161, 0.08); */
  -webkit-backdrop-filter: blur(calc(12 * var(--u)));
  /* backdrop-filter: blur(calc(12 * var(--u))); */
  /* box-shadow: calc(-6 * var(--u)) calc(9 * var(--u)) calc(25 * var(--u)) rgba(0, 0, 0, 0.44); */
}
.retail-page .retail-sec__head {
  display: flex;
  flex-direction: column;
  gap: calc(var(--rt-head-gap) * var(--u));
}
.retail-page .retail-sec__title {
  margin: 0;
  padding: 0;
  font-family: 'Arima Madurai', 'Arima', Georgia, serif;
  font-weight: 900;
  font-size: calc(var(--rt-title) * var(--u));
  line-height: calc(var(--rt-title-lh) * var(--u)) !important;
  text-wrap: balance;
  overflow-wrap: break-word;
  color: #ffffff;
}
.retail-page .retail-sec__desc {
  margin: 0;
  padding: 0;
  font-family: 'Roboto', Arial, sans-serif;
  font-weight: 400;
  font-size: max(15px, calc(var(--rt-desc) * var(--u)));
  line-height: max(22px, calc(var(--rt-desc-lh) * var(--u))) !important;
  text-transform: capitalize;
  color: rgba(255, 255, 255, 0.92);
}

/* ---------- Playlist rows ---------- */
.retail-page .retail-list {
  display: flex;
  flex-direction: column;
  gap: calc(var(--rt-row-gap) * var(--u));
  margin: 0;
  padding: 0;
  list-style: none;
}
.retail-page .retail-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: calc(12 * var(--u));
  min-height: 58px;
  height: 58px;
  margin: 0;
  margin: 0;
  padding: calc(var(--rt-row-pad) * var(--u)) calc(var(--rt-more-inset) * var(--u)) calc(var(--rt-row-pad) * var(--u)) calc(var(--rt-row-pad) * var(--u));
  list-style: none;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: calc(var(--rt-row-radius) * var(--u));
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0) 60%),
    rgba(0, 140, 232, 0.02);
  box-shadow: 0 calc(2 * var(--u)) calc(11 * var(--u)) rgba(0, 38, 54, 0.32);
  transition: background-color .2s ease, border-color .2s ease;
  background-color: rgba(0, 140, 232, 0.16) !important;
  border-color: rgba(149, 216, 255, 0.55) !important;
}
@media (hover: hover) {
  .retail-page .retail-card:hover {
    background-color: rgba(0, 140, 232, 0.16);
    border-color: rgba(149, 216, 255, 0.55);
  }
  .retail-page .retail-card:hover a.alink::before {
    background-color: #0AAAEE;
  }
}
.retail-page .retail-card:focus-within {
  border-color: rgba(149, 216, 255, 0.55);
}
.retail-page .retail-card br {
  display: none;
}
.retail-page .retail-card a.alink {
  position: static;
  display: flex;
  align-items: center;
  gap: calc(var(--rt-play-gap) * var(--u));
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  font-family: 'Roboto', Arial, sans-serif;
  font-weight: 500;
  font-size: max(15px, calc(var(--rt-name) * var(--u)));
  line-height: 1.3 !important;
  text-transform: capitalize;
  overflow-wrap: anywhere;
  color: #ffffff !important;
  text-decoration: none !important;
}
.retail-page .retail-card a.alink:link,
.retail-page .retail-card a.alink:visited,
.retail-page .retail-card a.alink:hover,
.retail-page .retail-card a.alink:active,
.retail-page .retail-card a.alink:focus {
  color: #ffffff !important;
  text-decoration: none !important;
}
.retail-page .retail-card a.alink img.buttonMid {
  display: none !important;
}
.retail-page .retail-card a.alink::before {
  content: "";
  flex: none;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  background: #008CE8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M7 4.8v14.4c0 .9 1 1.5 1.8 1l11.3-7.2c.7-.5.7-1.5 0-2L8.8 3.8C8 3.3 7 3.9 7 4.8z'/%3E%3C/svg%3E") 58% 50% / 40% no-repeat;
  transition: background-color .2s ease;
}
/* the whole row is the link */
.retail-page .retail-card a.alink::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: calc(var(--rt-row-radius) * var(--u));
}
.retail-page .retail-card a.alink:focus-visible {
  outline: none;
}
.retail-page .retail-card a.alink:focus-visible::after {
  outline: 2px solid #95D8FF;
  outline-offset: 2px;
}
/* three-dot icon from the Figma; decorative */
.retail-page .retail-card__more {
    display: none !important;
  position: absolute;
  top: 50%;
  right: calc((var(--rt-more-inset) - var(--rt-more)) / 2 * var(--u));
  width: calc(var(--rt-more) * var(--u));
  height: calc(var(--rt-more) * var(--u));
  transform: translateY(-50%);
  pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 22'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='3' cy='3' r='2.5'/%3E%3Ccircle cx='3' cy='11' r='2.5'/%3E%3Ccircle cx='3' cy='19' r='2.5'/%3E%3C/g%3E%3C/svg%3E") center / auto 70% no-repeat;
}

/* ---------- Pattern A: label | photo | card (Fashion) ---------- */
.retail-page .retail-sec--a {
  grid-template-columns:
    calc(62 * var(--u)) calc(77 * var(--u)) calc(101 * var(--u)) calc(276 * var(--u))
    minmax(0, 1fr) calc(var(--rt-card-w) * var(--u)) calc(35 * var(--u));
  align-items: center;
  padding-block: calc(33 * var(--u));
}
.retail-page .retail-sec--a::before {
  background: linear-gradient(90deg, #21556B 0, #21556B calc(514 * var(--u)), rgba(0, 134, 190, 0.54) calc(514 * var(--u)));
}
.retail-page .retail-sec--a::after {
  right: auto;
  width: calc(514 * var(--u));
}
.retail-page .retail-sec--a .retail-sec__tag {
  grid-column: 3;
  justify-self: center;
  align-items: flex-end;
  gap: calc(40 * var(--u));
}
.retail-page .retail-sec--a .retail-sec__tag-text {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
.retail-page .retail-sec--a .retail-sec__tag-rule {
  width: calc(2 * var(--u));
  height: calc(96 * var(--u));
  background:
    linear-gradient(#ffffff, #ffffff) top / 100% calc(7 * var(--u)) no-repeat,
    linear-gradient(#ffffff, #ffffff) bottom / 100% calc(70 * var(--u)) no-repeat;
}
.retail-page .retail-sec--a .retail-sec__media {
  grid-column: 4;
  align-self: stretch;
}
.retail-page .retail-sec--a .retail-sec__card {
  grid-column: 6;
  /* background: */
    /* linear-gradient(155deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.03) 55%), */
    /* rgba(0, 99, 161, 0.08); */
  /* box-shadow: calc(-6.3 * var(--u)) calc(9.45 * var(--u)) calc(25.2 * var(--u)) rgba(0, 0, 0, 0.44); */
}

/* ---------- Pattern B: card | framed photo | vertical label (Lear Jets) ---------- */
.retail-page .retail-sec--b {
  grid-template-columns:
    calc(57 * var(--u)) calc(var(--rt-card-w) * var(--u)) minmax(0, 1fr) calc(158 * var(--u));
  align-items: center;
  padding-block: calc(33 * var(--u));
  background-color: #1D1C1C;
}
/* Figma: the photo blurred 33px (26px at 1512) under 42% black; the blur fades
   into the dark section colour at the edges, as it does in the Figma */
.retail-page .retail-sec--b .retail-sec__bg {
  filter: blur(calc(26 * var(--u)));
}
.retail-page .retail-sec--b::before {
  background: rgba(0, 0, 0, 0.42);
}
.retail-page .retail-sec--b .retail-sec__card {
  grid-column: 2;
  border-color: rgba(255, 255, 255, 0.22);
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.03) 55%),
    rgba(0, 117, 190, 0.12);
  box-shadow: calc(-6.3 * var(--u)) calc(7.9 * var(--u)) calc(25.2 * var(--u)) rgba(0, 0, 0, 0.32);
}
/* framed photo: tucks 17px under the card, as in the Figma */
.retail-page .retail-sec--b .retail-sec__media {
  grid-column: 3;
  align-self: stretch;
  margin-block: calc(52 * var(--u));
  margin-left: calc(-17 * var(--u));
  border: calc(3 * var(--u)) solid #ffffff;
  box-shadow: calc(4.7 * var(--u)) calc(6.3 * var(--u)) calc(18.9 * var(--u)) rgba(2, 44, 61, 0.25);
}
.retail-page .retail-sec--jets .retail-sec__media img {
  object-position: 64% 50%;
}
.retail-page .retail-sec--b .retail-sec__tag {
  grid-column: 4;
  align-self: start;
  justify-self: start;
  margin: calc(38 * var(--u)) 0 0 calc(18 * var(--u));
  align-items: flex-start;
  gap: calc(21 * var(--u));
}
.retail-page .retail-sec--b .retail-sec__tag-text {
  writing-mode: vertical-rl;
  text-transform: uppercase;
}
.retail-page .retail-sec--b .retail-sec__tag-rule {
  order: -1;
  width: calc(2 * var(--u));
  height: calc(96 * var(--u));
  background:
    linear-gradient(#ffffff, #ffffff) top / 100% calc(70 * var(--u)) no-repeat,
    linear-gradient(#ffffff, #ffffff) bottom / 100% calc(7 * var(--u)) no-repeat;
}

/* ---------- Pattern C: label over photo | card (Franchises) ---------- */
.retail-page .retail-sec--c {
  grid-template-columns:
    calc(581 * var(--u)) minmax(0, 1fr) calc(var(--rt-card-w) * var(--u)) calc(32 * var(--u));
  grid-template-rows: calc(153 * var(--u)) auto;
}
/* the photo runs under the whole section; it shows clear only in the
   photo window, deep blue (measured from the Figma) everywhere else */
.retail-page .retail-sec--c::before {
  background:
    linear-gradient(#004562, #004562) left top / calc(581 * var(--u)) 100% no-repeat,
    linear-gradient(90deg, rgba(10, 88, 122, 0.79) 0%, rgba(11, 100, 139, 0.79) 100%) right top / calc(100% - 581 * var(--u)) 100% no-repeat;
}
.retail-page .retail-sec--c .retail-sec__tag {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(18 * var(--u));
  padding: calc(35 * var(--u)) 0 0 calc(57 * var(--u));
}
.retail-page .retail-sec--c .retail-sec__tag-text {
  margin-inline-end: -0.32em;
}
.retail-page .retail-sec--c .retail-sec__tag-rule {
  width: calc(96 * var(--u));
  height: calc(2 * var(--u));
  background:
    linear-gradient(#ffffff, #ffffff) left / calc(70 * var(--u)) 100% no-repeat,
    linear-gradient(#ffffff, #ffffff) right / calc(7 * var(--u)) 100% no-repeat;
}
.retail-page .retail-sec--c .retail-sec__media {
  grid-column: 1;
  grid-row: 2;
  align-self: stretch;
  box-shadow: calc(-9.45 * var(--u)) calc(9.45 * var(--u)) calc(17.3 * var(--u)) rgba(0, 0, 0, 0.25);
}
/* same size and place as the section background, so the photo lines up */
.retail-page .retail-sec--c .retail-sec__media img {
  top: calc(-153 * var(--u));
  right: auto;
  bottom: auto;
  left: 0;
  width: calc(1512 * var(--u));
  height: calc(100% + 153 * var(--u));
}
.retail-page .retail-sec--c .retail-sec__card {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center;
  margin-block: calc(57 * var(--u));
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.03) 55%),
    rgba(255, 255, 255, 0.08);
  box-shadow: calc(-6.3 * var(--u)) calc(9.45 * var(--u)) calc(25.2 * var(--u)) rgba(0, 0, 0, 0.32);
}

/* ---------- Pattern D: card | full-height photo with label (Luxury) ---------- */
.retail-page .retail-sec--d {
  grid-template-columns:
    calc(67 * var(--u)) calc(var(--rt-card-w) * var(--u)) minmax(0, 1fr) calc(var(--rt-photo-d) * var(--u));
}
/* left panel: the photo again under the Figma blue gradient */
.retail-page .retail-sec--d .retail-sec__bg {
  width: calc(100% - var(--rt-photo-d) * var(--u));
}
.retail-page .retail-sec--d::before {
  right: auto;
  width: calc(100% - var(--rt-photo-d) * var(--u));
  background: linear-gradient(90deg, #003E58 0%, rgba(0, 134, 190, 0.64) 100%);
}
.retail-page .retail-sec--d .retail-sec__media {
  grid-column: 4;
  align-self: stretch;
}
/* photo sized to the whole section, right-aligned, like the Figma */
.retail-page .retail-sec--d .retail-sec__media img {
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
  width: calc(1512 * var(--u));
  height: 100%;
}
.retail-page .retail-sec--d .retail-sec__card {
  grid-column: 2;
  align-self: center;
  margin-block: calc(74 * var(--u));
}
.retail-page .retail-sec--d .retail-sec__tag {
  grid-column: 4;
  align-self: start;
  justify-self: end;
  flex-direction: column;
  align-items: flex-end;
  gap: calc(18 * var(--u));
  margin: calc(68 * var(--u)) calc(28 * var(--u)) 0 0;
}
.retail-page .retail-sec--d .retail-sec__tag-text {
  margin-inline-end: -0.24em;
  font-weight: 800;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  text-shadow: 0 calc(2 * var(--u)) calc(14 * var(--u)) rgba(80, 40, 10, 0.28);
}
.retail-page .retail-sec--d .retail-sec__tag-rule {
  width: calc(96 * var(--u));
  height: calc(2 * var(--u));
  background:
    linear-gradient(#ffffff, #ffffff) left / calc(7 * var(--u)) 100% no-repeat,
    linear-gradient(#ffffff, #ffffff) right / calc(70 * var(--u)) 100% no-repeat;
}

/* ---------- Under 1200px: basic stacked layout (tags, photo, card) ---------- */
@media (max-width: 1199.98px) {
  .retail-page { --u: 0.9px; }

  .retail-page .retail-hero {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: auto;
    min-height: 460px;
    padding: 72px max(24px, env(safe-area-inset-right, 0px)) 40px max(24px, env(safe-area-inset-left, 0px));
    background-position: center, 35% center;
  }
  .retail-page .retail-hero__panel {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: 100%;
    max-width: 760px;
    min-height: 0;
    gap: 10px;
    padding: 28px 24px;
    border-radius: 16px;
    background: rgba(1, 45, 64, 0.38);
  }
  .retail-page .retail-hero__title { font-size: clamp(36px, 7vw, 60px); line-height: 1.14 !important; }
  .retail-page .retail-hero__text { font-size: 18px; line-height: 26px !important; }

  /* one centred column, at most 760px wide */
  .retail-page .retail-sec {
    grid-template-columns:
      minmax(max(24px, env(safe-area-inset-left, 0px)), 1fr)
      minmax(0, 760px)
      minmax(max(24px, env(safe-area-inset-right, 0px)), 1fr);
    grid-template-rows: none;
    grid-template-areas: ". tag ." ". media ." ". card .";
    align-items: stretch;
    min-height: 0;
    padding: 0 0 40px;
  }
  .retail-page .retail-sec--a::before { background: linear-gradient(180deg, #21556B 0%, rgba(33, 85, 107, 0.75) 30%, rgba(0, 134, 190, 0.54) 100%); }
  .retail-page .retail-sec--a::after { width: auto; right: 0; }
  .retail-page .retail-sec--c::before { background: linear-gradient(180deg, #004562 0%, rgba(10, 88, 122, 0.85) 100%); }
  .retail-page .retail-sec--d .retail-sec__bg { width: 100%; }
  .retail-page .retail-sec--d::before { width: auto; right: 0; background: linear-gradient(180deg, #003E58 0%, rgba(0, 134, 190, 0.64) 100%); }

  .retail-page .retail-sec .retail-sec__tag {
    grid-area: tag;
    align-self: start;
    justify-self: start;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    padding: 28px 0 18px;
  }
  .retail-page .retail-sec .retail-sec__tag-text {
    writing-mode: horizontal-tb;
    transform: none;
    margin-inline-end: -0.32em;
    font-size: 40px;
    line-height: 44px !important;
    text-shadow: none;
  }
  .retail-page .retail-sec .retail-sec__tag-rule {
    order: 0;
    width: 96px;
    height: 2px;
    background:
      linear-gradient(#ffffff, #ffffff) left / 70px 100% no-repeat,
      linear-gradient(#ffffff, #ffffff) right / 7px 100% no-repeat;
  }
  .retail-page .retail-sec .retail-sec__media {
    grid-area: media;
    align-self: auto;
    justify-self: stretch;
    width: auto;
    margin: 0;
    aspect-ratio: 16 / 9;
    border: 0;
  }
  .retail-page .retail-sec--b .retail-sec__media { margin-left: 0; border: 3px solid #ffffff; }
  .retail-page .retail-sec--c .retail-sec__media img,
  .retail-page .retail-sec--d .retail-sec__media img {
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    width: 100%;
    height: 100%;
  }
  /* the Fashion photo is a tall portrait: keep the faces in the wide crop */
  .retail-page .retail-sec--fashion .retail-sec__media img { object-position: 50% 22%; }
  .retail-page .retail-sec .retail-sec__card {
    grid-area: card;
    align-self: auto;
    justify-self: stretch;
    width: auto;
    margin: 24px 0 0;
  }
}

/* phones */
@media (max-width: 599.98px) {
  .retail-page { --u: 0.84px; }
  .retail-page .retail-hero {
    min-height: 380px;
    padding: 56px max(16px, env(safe-area-inset-right, 0px)) 28px max(16px, env(safe-area-inset-left, 0px));
  }
  .retail-page .retail-hero__panel { padding: 22px 18px; }
  .retail-page .retail-hero__text { font-size: 16px; line-height: 24px !important; }
  .retail-page .retail-sec {
    grid-template-columns:
      minmax(max(16px, env(safe-area-inset-left, 0px)), 1fr)
      minmax(0, 760px)
      minmax(max(16px, env(safe-area-inset-right, 0px)), 1fr);
  }
  .retail-page .retail-sec .retail-sec__tag { padding: 24px 0 14px; }
  .retail-page .retail-sec .retail-sec__tag-text { font-size: 32px; line-height: 36px !important; }
  .retail-page .retail-sec .retail-sec__media { aspect-ratio: 4 / 3; }
  .retail-page .retail-sec .retail-sec__card { margin-top: 18px; padding: 22px 16px; }
  .retail-page .retail-card a.alink { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .retail-page .retail-card,
  .retail-page .retail-card a.alink::before { transition: none; }
}
/* ============ end RETAIL & FASHION (retail.cfm) block ============ */

/* ==========================================================================
   RETAIL & FASHION (retail.cfm) : DESKTOP
   [Desktop option 1, Compact Hero]
   Added by Claude, 2026-10-21. 1200px and up only (the exact opposite of the
   max-width: 1199.98px fallback in the block above), so phones and tablets
   are unchanged. Must stay after the RETAIL & FASHION (retail.cfm) block.
   - Hero 540px at 1512 (was 699), scaling with the page like the rest of
     the block; the glass panel keeps its size and sits 48px from the bottom.
   - Minimum height instead of a fixed height, panel in normal flow: enlarged
     text (browser text zoom, minimum font size) makes the hero taller
     instead of pushing the panel into the Fashion section.
   - Wider than 1512px the page stays held at 1512px, centred (unchanged).
   ========================================================================== */
@media not all and (max-width: 1199.98px) {
  .retail-page { --rt-hero-h: 540; }
  .retail-page .retail-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    height: auto;
    min-height: calc(var(--rt-hero-h) * var(--u));
    padding: calc(64 * var(--u)) calc(57 * var(--u)) calc(48 * var(--u));
  }
  .retail-page .retail-hero__panel {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    max-width: 100%;
  }
}

/* Franchises, Gaming, Lear Jets and Kids (desktop): the Luxury treatment.
   Added by Claude, 2026-10-21. 1200px and up only. Images unchanged.
   - The playlists side gets the Luxury blue gradient over the section photo,
     dark at the outer edge and see-through next to the photo: on the right
     for Franchises and Gaming (photo on the left), on the left for Lear Jets
     and Kids (photo on the right, laid out like Luxury).
   - No glass box behind the title and playlists, no grain.
   - The photo runs the full height of the section and the big label sits on
     the photo, with a soft dark glow so it stays readable on bright photos.
   - One photo per section: the photo behind the gradient and the photo
     beside the playlists are the same picture in the same place, so it reads
     as one continuous image (Luxury too). Lear Jets and Kids: the picture is
     moved right so the woman and the jet (and the middle of the Kids photo)
     sit in the photo area; it fades in from the dark blue on the left. */
@media not all and (max-width: 1199.98px) {
  /* photo on the left, playlists on the right (Franchises, Gaming) */
  .retail-page .retail-sec--franchise::before,
  .retail-page .retail-sec--tech::before {
    background:
      linear-gradient(#004562, #004562) left top / calc(581 * var(--u)) 100% no-repeat,
      linear-gradient(270deg, #003E58 0%, rgba(0, 134, 190, 0.64) 100%) right top / calc(81% - 581 * var(--u)) 100% no-repeat;
  }
  .retail-page .retail-sec--franchise::after,
  .retail-page .retail-sec--tech::after {
    display: none;
  }
  .retail-page .retail-sec--franchise .retail-sec__media,
  .retail-page .retail-sec--tech .retail-sec__media {
    grid-row: 1 / span 2;
  }
  .retail-page .retail-sec--franchise .retail-sec__media img,
  .retail-page .retail-sec--tech .retail-sec__media img {
    top: 0;
    height: 100%;
  }

  /* Luxury: one continuous photo (the background photo now lines up with
     the photo on the right instead of repeating it) */
  .retail-page .retail-sec--luxury .retail-sec__bg {
    left: auto;
    right: 0;
    width: calc(1512 * var(--u));
  }

  /* playlists on the left, photo on the right, like Luxury (Lear Jets, Kids) */
  .retail-page .retail-sec--jets,
  .retail-page .retail-sec--kids {
    grid-template-columns:
      calc(67 * var(--u)) calc(var(--rt-card-w) * var(--u)) minmax(0, 1fr) calc(var(--rt-photo-d) * var(--u));
    padding-block: 0;
    background-color: #003E58;
    /* one picture box for both photo layers, measured from the right edge */
    --rt-img-w: 1205;
    --rt-img-r: -132;
  }
  .retail-page .retail-sec--kids {
    --rt-img-r: -247;
  }
  .retail-page .retail-sec--jets .retail-sec__bg,
  .retail-page .retail-sec--kids .retail-sec__bg {
    left: auto;
    right: calc(var(--rt-img-r) * var(--u));
    width: calc(var(--rt-img-w) * var(--u));
    filter: none;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 calc(200 * var(--u)));
    mask-image: linear-gradient(90deg, transparent 0, #000 calc(200 * var(--u)));
  }
  .retail-page .retail-sec--jets::before,
  .retail-page .retail-sec--kids::before {
    right: auto;
    width: calc(100% - var(--rt-photo-d) * var(--u));
    background: linear-gradient(90deg, #003E58 0%, rgba(0, 134, 190, 0.64) 100%);
  }
  .retail-page .retail-sec--jets .retail-sec__card,
  .retail-page .retail-sec--kids .retail-sec__card {
    grid-column: 2;
    align-self: center;
    margin-block: calc(74 * var(--u));
  }
  .retail-page .retail-sec--jets .retail-sec__media,
  .retail-page .retail-sec--kids .retail-sec__media {
    grid-column: 4;
    align-self: stretch;
    margin: 0;
    border: 0;
    box-shadow: none;
  }
  .retail-page .retail-sec--jets .retail-sec__media img,
  .retail-page .retail-sec--kids .retail-sec__media img {
    top: 0;
    right: calc(var(--rt-img-r) * var(--u));
    bottom: auto;
    left: auto;
    width: calc(var(--rt-img-w) * var(--u));
    height: 100%;
    object-position: center;
  }
  .retail-page .retail-sec--jets .retail-sec__tag,
  .retail-page .retail-sec--kids .retail-sec__tag {
    grid-column: 4;
    align-self: start;
    justify-self: end;
    flex-direction: column;
    align-items: flex-end;
    gap: calc(18 * var(--u));
    margin: calc(68 * var(--u)) calc(28 * var(--u)) 0 0;
  }
  .retail-page .retail-sec--jets .retail-sec__tag-text,
  .retail-page .retail-sec--kids .retail-sec__tag-text {
    writing-mode: horizontal-tb;
    margin-inline-end: -0.24em;
    font-weight: 800;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    text-shadow: 0 calc(2 * var(--u)) calc(14 * var(--u)) rgba(80, 40, 10, 0.28);
  }
  .retail-page .retail-sec--jets .retail-sec__tag-rule,
  .retail-page .retail-sec--kids .retail-sec__tag-rule {
    order: 0;
    width: calc(96 * var(--u));
    height: calc(2 * var(--u));
    background:
      linear-gradient(#ffffff, #ffffff) left / calc(7 * var(--u)) 100% no-repeat,
      linear-gradient(#ffffff, #ffffff) right / calc(70 * var(--u)) 100% no-repeat;
  }

  /* all four: label readable on the photo, no glass box */
  .retail-page .retail-sec--franchise .retail-sec__tag,
  .retail-page .retail-sec--tech .retail-sec__tag,
  .retail-page .retail-sec--jets .retail-sec__tag,
  .retail-page .retail-sec--kids .retail-sec__tag {
    filter:
      drop-shadow(0 1px 2px rgba(0, 20, 30, 0.6))
      drop-shadow(0 0 calc(10 * var(--u)) rgba(0, 20, 30, 0.55))
      drop-shadow(0 0 calc(24 * var(--u)) rgba(0, 20, 30, 0.45));
  }
  .retail-page .retail-sec--franchise .retail-sec__card,
  .retail-page .retail-sec--tech .retail-sec__card,
  .retail-page .retail-sec--jets .retail-sec__card,
  .retail-page .retail-sec--kids .retail-sec__card {
    background: none;
    box-shadow: none;
  }
}
/* ============ end RETAIL & FASHION (retail.cfm) : DESKTOP block ============ */

/* ==========================================================================
   RETAIL & FASHION (retail.cfm) : MOBILE AND TABLET
   [Mobile option A, Faithful Stack]
   Added by Claude, 2026-10-21. Under 1200px only, so desktop (1200px and up)
   is unchanged. Must stay after the RETAIL & FASHION (retail.cfm) block and
   the RETAIL & FASHION (retail.cfm) : DESKTOP block.
   - Phones and tablets: no automatic text inflation on rotate (iOS), no grey
     tap flash, a pressed state on playlist rows, section labels wrap with
     larger text settings, hero capped to about two thirds of the screen.
   - Portrait tablets and tall screens 600px and up: playlists in two columns.
   - Landscape tablets 960 to 1199px: column up to 920px wide.
   - Phones held sideways and other short screens (500px tall or less):
     compact hero, photo beside the label and playlists, two playlist
     columns from 800px wide. Side gutters respect the notch (safe area).
   ========================================================================== */
/* ---------- Phones and tablets (under 1200px): fixes in every option ---------- */
@media (max-width: 1199.98px) {
  /* no automatic text inflation on rotate (iOS), no grey tap flash, a pressed state on touch */
  .retail-page {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  .retail-page .retail-card {
    -webkit-tap-highlight-color: transparent;
  }
  .retail-page .retail-card:active {
    background-color: rgba(0, 140, 232, 0.16);
    border-color: rgba(149, 216, 255, 0.55);
  }
  /* the big labels wrap instead of running off the screen with larger text settings */
  .retail-page .retail-sec .retail-sec__tag {
    justify-self: stretch;
    max-width: 100%;
  }
  .retail-page .retail-sec .retail-sec__tag-text {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: break-word;
  }
  /* hero never taller than most of the screen */
  .retail-page .retail-hero {
    min-height: min(460px, 70vh);
    min-height: min(460px, 70svh);
  }
}
@media (max-width: 599.98px) {
  .retail-page .retail-hero {
    min-height: min(380px, 62vh);
    min-height: min(380px, 62svh);
  }
}
/* landscape tablets: a wider column so the sides are not empty */
@media (min-width: 960px) and (max-width: 1199.98px) {
  .retail-page .retail-sec {
    grid-template-columns:
      minmax(max(24px, env(safe-area-inset-left, 0px)), 1fr)
      minmax(0, 920px)
      minmax(max(24px, env(safe-area-inset-right, 0px)), 1fr);
  }
}

/* Option A: Faithful Stack. Label, photo, card as now; playlists in two columns on tablets */
@media (min-width: 600px) and (max-width: 1199.98px) and (orientation: portrait), (min-width: 600px) and (max-width: 1199.98px) and (min-height: 500.02px) {
  .retail-page .retail-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 10px;
  }
}

/* ---------- Phones held sideways and other short screens: photo beside the playlists ---------- */
@media (max-width: 1199.98px) and (orientation: landscape) and (max-height: 500px) {
  .retail-page {
    --rt-row-h: 60;
    --rt-play: 46;
    --rt-title: 32;
    --rt-title-lh: 38;
  }
  .retail-page .retail-hero {
    align-items: center;
    min-height: 0;
    padding: 24px max(32px, env(safe-area-inset-right, 0px)) 24px max(32px, env(safe-area-inset-left, 0px));
  }
  .retail-page .retail-hero__panel {
    max-width: 640px;
    gap: 8px;
    padding: 18px 24px;
  }
  .retail-page .retail-hero__title { font-size: 40px; line-height: 1.1 !important; }
  .retail-page .retail-hero__text { font-size: 15px; line-height: 22px !important; }
  .retail-page .retail-sec {
    grid-template-columns:
      max(24px, env(safe-area-inset-left, 0px)) minmax(0, 2fr) 24px minmax(0, 3fr) max(24px, env(safe-area-inset-right, 0px));
    grid-template-rows: auto 1fr;
    grid-template-areas: ". media . tag ." ". media . card .";
    padding: 24px 0;
  }
  .retail-page .retail-sec .retail-sec__tag { padding: 0 0 12px; gap: 10px; }
  .retail-page .retail-sec .retail-sec__tag-text { font-size: 28px; line-height: 32px !important; }
  .retail-page .retail-sec .retail-sec__media {
    align-self: stretch;
    aspect-ratio: auto;
    min-height: 220px;
  }
  .retail-page .retail-sec .retail-sec__card { margin: 0; padding: 18px; gap: 16px; }
  .retail-page .retail-sec--fashion .retail-sec__media img { object-position: 50% 30%; }
}
@media (min-width: 800px) and (max-width: 1199.98px) and (orientation: landscape) and (max-height: 500px) {
  .retail-page .retail-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 10px;
  }
}
/* ============ end RETAIL & FASHION (retail.cfm) : MOBILE AND TABLET block ============ */

/* ==========================================================================
   RETAIL & FASHION (retail.cfm) : MOBILE AND TABLET FIXES
   Added by Claude, 2026-10-21. Under 1200px only, so desktop is unchanged.
   Must stay after the RETAIL & FASHION (retail.cfm) MOBILE AND TABLET block.
   - Playlist rows grow with their text (at least 58px) instead of letting
     long names spill out, and the space kept for the hidden three-dot icon
     is given back to the name.
   - Same look as desktop: no glass box behind the title and playlists.
   - One photo per section (Lear Jets, Franchises, Luxury, Gaming, Kids): the
     photo is shown once; behind the label, title and playlists is the
     Luxury blue gradient (no second blurred or tinted copy of the photo, no
     grain, no white frame). Fashion keeps its own Figma background.
   - Phones: the Franchises title keeps "Big-Box" on one line.
   ========================================================================== */
@media (max-width: 1199.98px) {
  .retail-page .retail-card {
    height: auto;
    min-height: 58px;
    padding-right: calc(var(--rt-row-pad) * var(--u));
  }
  .retail-page .retail-sec .retail-sec__card {
    background: none;
    box-shadow: none;
  }
  .retail-page .retail-sec--jets,
  .retail-page .retail-sec--franchise,
  .retail-page .retail-sec--luxury,
  .retail-page .retail-sec--tech,
  .retail-page .retail-sec--kids {
    background-color: #003E58;
  }
  .retail-page .retail-sec--jets .retail-sec__bg,
  .retail-page .retail-sec--franchise .retail-sec__bg,
  .retail-page .retail-sec--luxury .retail-sec__bg,
  .retail-page .retail-sec--tech .retail-sec__bg,
  .retail-page .retail-sec--kids .retail-sec__bg {
    display: none;
  }
  .retail-page .retail-sec--jets::before,
  .retail-page .retail-sec--franchise::before,
  .retail-page .retail-sec--luxury::before,
  .retail-page .retail-sec--tech::before,
  .retail-page .retail-sec--kids::before {
    inset: 0;
    width: auto;
    background: linear-gradient(180deg, #003E58 0%, rgba(0, 134, 190, 0.64) 100%);
  }
  .retail-page .retail-sec--franchise::after,
  .retail-page .retail-sec--tech::after {
    display: none;
  }
  .retail-page .retail-sec--jets .retail-sec__media,
  .retail-page .retail-sec--kids .retail-sec__media {
    border: 0;
    box-shadow: none;
  }
}
@media (max-width: 599.98px) {
  .retail-page .retail-sec--franchise .retail-sec__title {
    text-wrap: pretty;
  }
}
/* ============ end RETAIL & FASHION (retail.cfm) : MOBILE AND TABLET FIXES block ============ */
#masterEncapsDivId:has(.rs-v1-page),
#masterEncapsDivId:has(#subtitlesDivID),
#masterEncapsDivId:has(.menuOptDisplayClass) {
    background: url(/module/images/art/graydient.jpg) 0 0 / 100% 100% no-repeat;
    border-style: solid;
    border-color: #fff;
    border-width: 0 1px;
}

/* Same width as after a refresh (1626px) on large screens */
@media (min-width: 1512px) {
    #masterEncapsDivId:has(.rs-v1-page),
    #masterEncapsDivId:has(#subtitlesDivID),
    #masterEncapsDivId:has(.menuOptDisplayClass) {
        max-width: 1626px !important;
    }
}
#masterEncapsDivId:has(#ticketTabs) {
    background-color: #f8f9fa;
    display: flow-root;
}