:root{--nex-placeholder-color:rgba(0,0,0,.4)}
body[data-public-theme="dark"]{--nex-placeholder-color:#94a3b8}
  .nex-public {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow-x: clip;
  }
  .nex-public.bg-light {
    background: #f8f9fa;
    color: #1e293b;
  }
  .nex-theme-dark {
    background: #0f172a;
    color: #f1f5f9;
  }
  .nex-public.public-content-titles-uppercase .latest-bento-title,
  .nex-public.public-content-titles-uppercase .library-title,
  .nex-public.public-content-titles-uppercase .public-article-title,
  .nex-public.public-content-titles-uppercase .public-article-related-item-title,
  .nex-public.public-content-titles-uppercase .display-5.fw-bold.mb-2,
  .nex-public.public-content-titles-uppercase .display-5.fw-bold.mb-3,
  .nex-public.public-content-titles-uppercase .media-title,
  .nex-public.public-content-titles-uppercase .media-briefing-top-item__title,
  .nex-public.public-content-titles-uppercase .media-glance-value,
  .nex-public.public-content-titles-uppercase .watch-title-row,
  .nex-public.public-content-titles-uppercase .watch-next-type,
  .nex-public.public-content-titles-uppercase .gallery-next-type,
  .nex-public.public-content-titles-uppercase .program-title,
  .nex-public.public-content-titles-uppercase .program-kicker,
  .nex-public.public-content-titles-uppercase .program-section-title,
  .nex-public.public-content-titles-uppercase .program-card-title,
  .nex-public.public-content-titles-uppercase .program-group-title,
  .nex-public.public-content-titles-uppercase .public-article-sequence-link.is-previous,
  .nex-public.public-content-titles-uppercase .public-article-sequence-link.is-next {
    text-transform: uppercase !important;
  }
  #mainContent {
    flex: 1 0 auto;
    width: 100%;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
  }
  .nex-public ::placeholder {
    color: var(--nex-placeholder-color, rgba(0, 0, 0, 0.4)) !important;
    opacity: 0.6;
  }
  .nex-public :-ms-input-placeholder {
    color: var(--nex-placeholder-color, rgba(0, 0, 0, 0.4)) !important;
  }
  .nex-public ::-ms-input-placeholder {
    color: var(--nex-placeholder-color, rgba(0, 0, 0, 0.4)) !important;
  }
  body.a11y-focus :focus,
  body.a11y-focus :focus-visible {
    outline: 3px solid #f59e0b !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.22) !important;
  }
  .public-footer {
    --public-footer-navy: #030a16;
    --public-footer-blue: #2f78df;
    --public-footer-gold: #d6b553;
    --public-footer-gold-soft: #f1d98d;
    position: relative !important;
    isolation: isolate !important;
    color: rgba(238, 244, 252, .82) !important;
    border-top: 1px solid rgba(214, 181, 83, .35) !important;
    background:
      linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px),
      radial-gradient(circle at 92% 10%, rgba(33, 100, 188, .24), transparent 30%),
      var(--public-footer-navy) !important;
    background-size: 72px 100%, auto, auto !important;
    overflow: hidden;
  }
  .public-footer > .container {
    max-width: 1480px;
  }
  .public-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    width: auto;
    height: auto;
    background: url('/assets/images/pdrm-footer-bg.webp') center 38% / cover no-repeat;
    opacity: .2;
    filter: grayscale(.28) saturate(.82) contrast(1.08);
    transform: scale(1.012);
    transform-origin: 50% 45%;
    transition: opacity .75s ease, filter .75s ease, transform 1.35s cubic-bezier(.2, .72, .2, 1);
    pointer-events: none;
  }
  .public-footer::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
      linear-gradient(90deg, var(--public-footer-gold), var(--public-footer-blue), transparent 78%) top left / min(220px, 34vw) 3px no-repeat,
      linear-gradient(100deg, rgba(2, 7, 18, .94) 0%, rgba(4, 18, 38, .86) 45%, rgba(4, 19, 42, .7) 100%),
      radial-gradient(circle at 84% 26%, rgba(35, 106, 197, .2), transparent 34%);
    opacity: 1;
    transition: opacity .75s ease;
    pointer-events: none;
  }
  .public-footer:hover::before {
    opacity: .34;
    filter: grayscale(.08) saturate(1.02) contrast(1.1);
    transform: scale(1.035);
  }
  .public-footer:hover::after { opacity: .9; }
  .public-footer > * { position: relative; z-index: 2; }
  .public-footer-title {
    color: var(--public-footer-gold-soft, #f1d98d) !important;
    font-size: .7rem !important;
    letter-spacing: .13em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 10px;
  }
  .public-footer-links-col + .public-footer-links-col {
    margin-left: -10px;
  }
  .public-footer-link {
    position: relative;
    display: block;
    color: rgba(238, 244, 252, .82) !important;
    text-decoration: none;
    margin-bottom: 6px;
    padding: 7px 12px;
    border-left: 1px solid transparent;
    border-radius: 2px !important;
    transition: color 0.18s ease, transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
  }
  .public-footer-link:hover,
  .public-footer-link:focus-visible {
    color: #fff !important;
    border-left-color: var(--public-footer-gold, #d6b553);
    background: linear-gradient(90deg, rgba(214, 181, 83, .1), rgba(54, 125, 218, .05), transparent) !important;
    transform: translateX(4px);
  }
  .public-footer-link.is-active {
    color: #fff !important;
    font-weight: 700;
    border-left-color: var(--public-footer-gold, #d6b553);
    background: linear-gradient(90deg, rgba(214, 181, 83, .18), rgba(54, 125, 218, .08), transparent) !important;
    transform: translateX(2px);
  }
  .public-footer-link.muted { color: rgba(238, 244, 252, .72) !important; }
  .public-footer-link.muted.is-active { color: #fff !important; }
  .public-footer-card {
    position: relative;
    overflow: hidden;
    border-radius: 2px !important;
    border: 1px solid rgba(163, 195, 232, .18) !important;
    padding: 14px;
    background: linear-gradient(135deg, rgba(255, 255, 255, .085), rgba(21, 71, 132, .045)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05) !important;
    transition: transform .24s ease, border-color .24s ease, background-color .24s ease, box-shadow .24s ease;
  }
  .public-footer-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 2px;
    background: linear-gradient(180deg, var(--public-footer-gold, #d6b553), var(--public-footer-blue, #2f78df));
    opacity: .32;
    transition: opacity .24s ease, width .24s ease;
    pointer-events: none;
  }
  .public-footer-card:hover {
    transform: translateY(-3px);
    border-color: rgba(214, 181, 83, .42) !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, .12), rgba(25, 87, 163, .075)) !important;
    box-shadow: 0 18px 34px rgba(0, 5, 16, .2), inset 0 1px 0 rgba(255, 255, 255, .08) !important;
  }
  .public-footer-card:hover::before {
    width: 3px;
    opacity: .9;
  }
  .public-footer-chip {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 10px; border-radius: 2px !important;
    background: rgba(255, 255, 255, .12);
    color: #fff; font-size: 12px;
    transition: transform .22s ease, border-color .22s ease, background-color .22s ease;
  }
  .public-footer-chip-link {
    text-decoration: none;
    transition: background 0.18s ease, transform 0.18s ease;
  }
  .public-footer-chip-link:hover,
  .public-footer-chip-link:focus-visible {
    background: rgba(255, 255, 255, .2);
    color: #fff;
    transform: translateY(-1px);
    outline: none;
  }
  .public-footer-chip-link.is-active {
    background: linear-gradient(180deg, rgba(214, 181, 83, .28), rgba(255, 255, 255, .12)) !important;
    border-color: rgba(214, 181, 83, .4) !important;
    color: #fff;
    transform: translateY(-1px);
  }
  .public-footer-social a {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border-radius: 2px !important;
    background: rgba(255, 255, 255, .12);
    color: #fff; text-decoration: none; margin-right: 6px;
    transition: transform .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
  }
  .public-footer-social a:hover,
  .public-footer-social a:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(214, 181, 83, .48);
    background: rgba(38, 104, 190, .28) !important;
    box-shadow: 0 10px 22px rgba(0, 5, 16, .24);
  }
  .public-footer-side-by-side {
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 12px;
    align-items: start;
  }
  .public-footer-card-compact {
    padding: 10px;
  }
  .public-visitor-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
  .public-visitor-grid.compact {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .public-visitor-item {
    border-radius: 2px !important;
    border: 1px solid rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .08);
    padding: 10px 12px;
    transition: transform .22s ease, border-color .22s ease, background-color .22s ease;
  }
  .public-visitor-item:hover {
    transform: translateX(3px);
    border-color: rgba(214, 181, 83, .35);
    background: rgba(255, 255, 255, .11);
  }
  .public-visitor-item .label {
    font-size: 12px;
    color: rgba(238, 244, 252, .84);
    margin-bottom: 4px;
    font-weight: 600;
  }
  .public-visitor-item .value {
    font-size: 18px;
    line-height: 1.1;
    color: #fff;
    font-weight: 800;
    letter-spacing: .2px;
  }
  /* ==========================================================================
     PDRM Modern Royal Glassmorphism Browser Geo Prompt (#publicBrowserGeoPrompt)
     ========================================================================== */
  .public-browser-geo-prompt {
    position: fixed;
    right: max(18px, env(safe-area-inset-right, 0px));
    bottom: max(92px, calc(env(safe-area-inset-bottom, 0px) + 92px));
    z-index: 1085;
    width: min(390px, calc(100vw - 28px));
    opacity: 0;
    transform: translateY(20px) scale(0.97);
    transition: opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1), transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
  }
  .public-browser-geo-prompt.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
  }
  .public-browser-geo-card {
    position: relative;
    border-radius: 18px;
    padding: 15px 16px;
    border: 1px solid rgba(214, 181, 83, 0.28);
    background:
      radial-gradient(circle at top right, rgba(18, 63, 132, 0.38), transparent 50%),
      radial-gradient(circle at bottom left, rgba(214, 181, 83, 0.12), transparent 42%),
      linear-gradient(145deg, rgba(8, 22, 42, 0.96), rgba(3, 10, 22, 0.98));
    color: #fff;
    box-shadow:
      0 24px 56px rgba(0, 7, 18, 0.55),
      0 0 0 1px rgba(255, 255, 255, 0.05),
      inset 0 1px 0 rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(20px) saturate(1.3);
    -webkit-backdrop-filter: blur(20px) saturate(1.3);
    overflow: hidden;
  }
  .public-browser-geo-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(214, 181, 83, 0.75), rgba(56, 189, 248, 0.8), transparent);
    pointer-events: none;
  }
  .public-browser-geo-header {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    position: relative;
    margin-bottom: 10px;
  }
  .public-browser-geo-icon-wrap {
    position: relative;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
  }
  .public-browser-geo-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(18, 63, 132, 0.55), rgba(214, 181, 83, 0.18));
    border: 1px solid rgba(214, 181, 83, 0.35);
    color: #f1d98d;
    font-size: 1.15rem;
    box-shadow: 0 8px 18px rgba(18, 63, 132, 0.25);
    position: relative;
    z-index: 2;
  }
  .public-browser-geo-pulse {
    position: absolute;
    inset: -3px;
    border-radius: 16px;
    background: rgba(214, 181, 83, 0.25);
    z-index: 1;
    animation: pdrmGeoPulse 2.4s cubic-bezier(0.24, 0, 0.38, 1) infinite;
    pointer-events: none;
  }
  @keyframes pdrmGeoPulse {
    0% { transform: scale(0.95); opacity: 0.8; }
    50% { transform: scale(1.15); opacity: 0; }
    100% { transform: scale(0.95); opacity: 0; }
  }
  .public-browser-geo-meta {
    flex: 1 1 auto;
    min-width: 0;
    padding-right: 20px;
  }
  .public-browser-geo-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #f1d98d;
    margin-bottom: 2px;
  }
  .public-browser-geo-close {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    border: none;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.7);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    cursor: pointer;
    transition: background .18s ease, color .18s ease, transform .18s ease;
  }
  .public-browser-geo-close:hover {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    transform: scale(1.08);
  }
  .public-browser-geo-title {
    font-weight: 750;
    font-size: 0.94rem;
    letter-spacing: -0.01em;
    line-height: 1.25;
    margin: 0;
    color: #ffffff;
  }
  .public-browser-geo-body {
    margin-bottom: 11px;
  }
  .public-browser-geo-desc {
    font-size: 0.85rem;
    line-height: 1.45;
    color: rgba(226, 232, 240, 0.9);
    margin-bottom: 5px;
  }
  .public-browser-geo-trust-note {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.72rem;
    color: rgba(241, 217, 141, 0.82);
    font-weight: 600;
  }
  .public-browser-geo-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: nowrap;
  }
  .public-browser-geo-actions .btn {
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    min-height: 40px;
    padding: 7px 14px;
    letter-spacing: 0.01em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
  }
  .public-browser-geo-actions .public-browser-geo-allow,
  .public-browser-geo-actions .public-browser-push-allow {
    background: linear-gradient(135deg, #d6b553 0%, #c49e3b 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    color: #030a16 !important;
    box-shadow: 0 6px 18px rgba(214, 181, 83, 0.35);
    flex: 1 1 auto;
    white-space: nowrap;
  }
  .public-browser-geo-actions .public-browser-geo-allow:hover,
  .public-browser-geo-actions .public-browser-push-allow:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(214, 181, 83, 0.48);
    background: linear-gradient(135deg, #e4c66c 0%, #d6b553 100%) !important;
  }
  .public-browser-geo-actions .public-browser-geo-dismiss,
  .public-browser-geo-actions .public-browser-push-dismiss {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    color: #e2e8f0 !important;
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .public-browser-geo-actions .public-browser-geo-dismiss:hover,
  .public-browser-geo-actions .public-browser-push-dismiss:hover {
    background: rgba(255, 255, 255, 0.16) !important;
    color: #fff !important;
  }
  .public-browser-geo-status {
    margin-top: 10px;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    display: flex;
    align-items: center;
    gap: 6px;
  }
  .public-browser-geo-status[data-tone="success"] {
    background: rgba(34, 197, 94, 0.15);
    border: 1px solid rgba(34, 197, 94, 0.3);
    color: #86efac;
  }
  .public-browser-geo-status[data-tone="muted"] {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.78);
  }
  .public-footer-bottom {
    border-top:1px solid rgba(255,255,255,0.12);
    background: rgba(0,0,0,0.1);
  }
  .public-footer-bottom .container {
    row-gap: 10px;
  }
  .public-footer-bottom .public-footer-social {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 0 !important;
  }
  .public-footer-bottom .public-footer-social a {
    margin-right: 0;
  }
  @media (max-width: 768px) {
    html {
      scroll-behavior: auto !important;
    }
    #mainContent > section,
    #mainContent > article,
    #mainContent > .container,
    #mainContent > .container-fluid,
    #mainContent > [class*="page"],
    #mainContent > [class*="section"],
    #mainContent > [class*="showcase"],
    #mainContent > [class*="content"] {
      contain: layout paint style;
    }
    @supports (content-visibility: auto) {
      #mainContent > section,
      #mainContent > article,
      #mainContent > .container,
      #mainContent > .container-fluid,
      #mainContent > [class*="page"],
      #mainContent > [class*="section"],
      #mainContent > [class*="showcase"],
      #mainContent > [class*="content"] {
        content-visibility: auto;
        contain-intrinsic-size: auto 720px;
      }
    }
    body.is-public-mobile-scrolling .nex-public *,
    body.is-public-mobile-scrolling .nex-public *::before,
    body.is-public-mobile-scrolling .nex-public *::after {
      animation-play-state: paused !important;
      transition-duration: 0s !important;
      transition-delay: 0s !important;
      scroll-behavior: auto !important;
    }
    body.is-public-mobile-scrolling .nex-public [style*="transform"] {
      will-change: auto !important;
    }
    .public-footer > .container {
      padding-top: 2.25rem !important;
      padding-bottom: 2rem !important;
    }
    .public-footer-card,
    .public-footer-card-compact,
    .public-footer-link.is-active,
    .public-footer-chip-link.is-active,
    .public-browser-geo-card {
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      box-shadow: 0 8px 20px rgba(0,0,0,0.18);
    }
    .public-footer-link,
    .public-footer-chip-link {
      transition: color .14s ease, background-color .14s ease, border-color .14s ease;
      transform: none !important;
    }
    .public-footer-links-col + .public-footer-links-col {
      margin-left: 0;
    }
    .public-footer-card,
    .public-footer-card-compact {
      border-radius: 16px;
      padding: 12px;
    }
    .public-footer-side-by-side {
      grid-template-columns: 1fr;
      gap: 14px;
    }
    .public-footer-social {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .public-footer-social a {
      margin-right: 0;
    }
    .public-visitor-grid {
      grid-template-columns: 1fr;
    }
    .public-footer-bottom .container {
      flex-direction: column;
      align-items: stretch;
      justify-content: flex-start;
    }
    .public-footer-bottom .container > :first-child {
      width: 100%;
    }
    .public-footer-bottom .public-footer-social {
      width: 100%;
      gap: 8px 10px !important;
      justify-content: flex-start;
    }
  }
  @media (max-width: 575.98px) {
    .public-footer > .container {
      padding-top: 2rem !important;
      padding-bottom: 1.75rem !important;
    }
    .public-footer-title {
      margin-bottom: 8px;
      font-size: 0.96rem;
    }
    .public-footer-link {
      margin-bottom: 4px;
      padding: 8px 10px;
      border-radius: 12px;
      font-size: 0.92rem;
    }
    .public-footer-chip {
      width: 100%;
      justify-content: flex-start;
      padding: 8px 11px;
      font-size: 0.76rem;
      line-height: 1.35;
    }
    .public-footer-chip-link {
      width: auto;
      max-width: 100%;
    }
    .public-footer-social a {
      width: 38px;
      height: 38px;
      border-radius: 11px;
    }
    .public-visitor-item {
      padding: 11px 12px;
    }
    .public-visitor-item .value {
      font-size: 1rem;
    }
    .public-footer-bottom {
      padding-bottom: max(env(safe-area-inset-bottom, 0px), 0px);
    }
    .public-footer-bottom .container {
      padding-top: 0.9rem !important;
      padding-bottom: 0.9rem !important;
      row-gap: 8px;
    }
    .public-footer-bottom .public-footer-social {
      gap: 8px !important;
    }
    .public-browser-geo-prompt {
      right: 12px;
      left: 12px;
      bottom: max(76px, calc(env(safe-area-inset-bottom, 0px) + 76px));
      width: auto;
      max-width: calc(100vw - 24px);
    }
    .public-browser-geo-card {
      border-radius: 20px;
      padding: 14px 14px 14px;
    }
    .public-browser-geo-icon-wrap {
      flex: 0 0 38px;
      width: 38px;
      height: 38px;
    }
    .public-browser-geo-icon {
      width: 38px;
      height: 38px;
      font-size: 1rem;
      border-radius: 11px;
    }
    .public-browser-geo-title {
      font-size: 0.92rem;
    }
    .public-browser-geo-desc {
      font-size: 0.8rem;
    }
    .public-browser-geo-actions {
      flex-direction: row;
      gap: 8px;
    }
    .public-browser-geo-actions .btn {
      width: auto;
      min-height: 40px;
    }
    .public-browser-geo-actions .public-browser-geo-allow {
      flex: 1 1 auto;
    }
    .public-browser-geo-actions .public-browser-geo-dismiss {
      flex: 0 0 auto;
    }
  }
  @media (max-width: 359.98px) {
    .public-browser-geo-actions {
      flex-direction: column;
    }
    .public-browser-geo-actions .btn {
      width: 100%;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .public-trust-strip {
      transition: none;
    }
    .public-browser-geo-prompt {
      transition: none;
    }
  }
