/**
 * Platinum Surface 2.9.6 — Public Article Composition
 *
 * Surface-owned Article presentation for BVI Platinum News. ps-article-* is
 * the canonical composition contract. vipn-* selectors remain as staged
 * compatibility aliases for reader engagement, comments, gallery and event
 * theme parity until those public behaviors complete their Relay migration.
 * No Bootstrap or Homepage stylesheet dependency is required.
 */
:root{
  --vipn-bg:#06101d;--vipn-bg-2:#081829;--vipn-bg-3:#0d2033;
  --vipn-surface:rgba(16,31,47,.86);--vipn-surface-solid:#101f2f;--vipn-surface-2:rgba(22,39,58,.88);
  --vipn-border:rgba(172,202,231,.16);--vipn-border-strong:rgba(172,202,231,.28);
  --vipn-text:#f7fbff;--vipn-text-soft:#d8e5f3;--vipn-muted:#94a8bd;--vipn-muted-2:#688098;
  --vipn-accent:#336699;--vipn-accent-2:#4f86b8;--vipn-accent-text:#fff;--vipn-blue:#3d93d7;--vipn-red:#e94747;
  --vipn-shadow:0 22px 65px rgba(0,0,0,.34);--vipn-shadow-soft:0 14px 32px rgba(0,0,0,.22);
  --vipn-topbar-bg:rgba(8,24,41,.92);--vipn-accent-border:rgba(51,102,153,.55);--vipn-accent-soft:rgba(51,102,153,.08);
  --vipn-hero-bg:linear-gradient(135deg,rgba(16,31,47,.94),rgba(8,24,41,.92));
  --vipn-card-bg:linear-gradient(180deg,rgba(16,31,47,.86),rgba(13,32,51,.78));--vipn-side-bg:linear-gradient(180deg,rgba(16,31,47,.86),rgba(13,32,51,.86));
  --vipn-footer-bg:#071421;--vipn-radius-xl:24px;--vipn-radius-lg:18px;--vipn-radius-md:14px;--vipn-container:1240px;
  --vipn-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html[data-ps-theme="light"],html[data-ps-resolved-theme="light"],html[data-theme="light"]{
  --vipn-bg:#f3f7fb;--vipn-bg-2:#eaf1f8;--vipn-bg-3:#fff;--vipn-surface:rgba(255,255,255,.90);--vipn-surface-solid:#fff;--vipn-surface-2:rgba(247,250,253,.94);
  --vipn-border:rgba(15,35,55,.12);--vipn-border-strong:rgba(15,35,55,.20);--vipn-text:#0d1b2a;--vipn-text-soft:#1f344a;--vipn-muted:#596f84;--vipn-muted-2:#70859a;
  --vipn-shadow:0 20px 60px rgba(18,40,68,.13);--vipn-shadow-soft:0 12px 28px rgba(18,40,68,.10);--vipn-topbar-bg:rgba(234,241,248,.92);
  --vipn-accent-border:rgba(51,102,153,.46);--vipn-accent-soft:rgba(51,102,153,.12);--vipn-hero-bg:linear-gradient(135deg,rgba(255,255,255,.96),rgba(234,241,248,.94));
  --vipn-card-bg:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.88));--vipn-side-bg:linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,250,253,.92));--vipn-footer-bg:#eaf1f8;
}
body:is(.ps-article-body-page,.vipn-article-body-page){font-family:var(--vipn-font);color:var(--vipn-text);min-height:100vh;line-height:1.5}

body:is(.ps-article-body-page,.vipn-article-body-page) {
  background:
    radial-gradient(circle at 12% 10%, rgba(44, 126, 201, .18), transparent 34rem),
    radial-gradient(circle at 88% 18%, rgba(51, 102, 153, .08), transparent 30rem),
    linear-gradient(145deg, var(--vipn-bg), var(--vipn-bg-2) 54%, var(--vipn-bg));
}

body:is(.ps-article-body-page,.vipn-article-body-page) .vipn-main {
  padding-top: 28px;
}

:is(.ps-article-page,.vipn-article-page) {
  padding-bottom: 72px;
}

:is(.ps-article-layout,.vipn-article-layout) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 28px;
  align-items: start;
}

:is(.ps-article-column,.vipn-article-column) {
  display: grid;
  gap: 24px;
  min-width: 0;
}

:is(.ps-article-story,.vipn-article-story) {
  display: grid;
  gap: 24px;
  min-width: 0;
}

:is(.ps-article-hero,.vipn-article-hero),
:is(.ps-article-content,.vipn-article-content),
:is(.ps-article-related,.vipn-related-section),
:is(.ps-article-comments,.vipn-comments-card),
:is(.ps-article-side-card,.vipn-article-side-card) {
  border: 1px solid var(--vipn-border);
  background: var(--vipn-card-bg);
  box-shadow: var(--vipn-shadow-soft);
}

:is(.ps-article-hero,.vipn-article-hero) {
  display: grid;
  grid-template-columns: minmax(300px, 43%) minmax(0, 1fr);
  overflow: hidden;
  border-radius: var(--vipn-radius-xl);
}

:is(.ps-article-image-wrap,.vipn-article-image-wrap) {
  min-height: 430px;
  background: var(--vipn-surface-2);
}

:is(.ps-article-image-wrap,.vipn-article-image-wrap) img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
}

:is(.ps-article-intro,.vipn-article-intro) {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  padding: clamp(28px, 4vw, 52px);
}

.vipn-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--vipn-muted);
  font-size: .78rem;
  font-weight: 800;
}

.vipn-breadcrumbs a {
  color: inherit;
  text-decoration: none;
}

.vipn-breadcrumbs a:hover {
  color: var(--vipn-accent);
}

:is(.ps-article-kickers,.vipn-article-kickers) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.vipn-kicker-soft {
  background: rgba(80, 113, 145, .12);
  border-color: var(--vipn-border);
  color: var(--vipn-text-soft);
}

:is(.ps-article-intro,.vipn-article-intro) h1 {
  margin: 0;
  color: var(--vipn-text);
  font-size: clamp(2.35rem, 4.4vw, 4.55rem);
  line-height: .96;
  letter-spacing: -.06em;
  font-weight: 900;
  max-width: 12.5em;
}

:is(.ps-article-subhead,.vipn-article-subhead) {
  margin: 0;
  max-width: 68ch;
  color: var(--vipn-text-soft);
  font-size: clamp(1rem, 1.25vw, 1.16rem);
  line-height: 1.58;
  font-weight: 650;
}

:is(.ps-article-meta,.vipn-article-meta) {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  color: var(--vipn-muted);
  font-size: .88rem;
  font-weight: 850;
}

:is(.ps-article-share,.vipn-article-share) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 4px;
  color: var(--vipn-muted);
  font-size: .82rem;
  font-weight: 800;
}

:is(.ps-article-share,.vipn-article-share) a,
:is(.ps-article-share,.vipn-article-share) button {
  display: inline-grid;
  place-items: center;
  height: 38px;
  border: 1px solid var(--vipn-border);
  border-radius: 999px;
  background: var(--vipn-surface-solid);
  color: var(--vipn-text);
  text-decoration: none;
  font-size: .82rem;
  font-weight: 900;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

:is(.ps-article-share,.vipn-article-share) a {
  width: 38px;
}

:is(.ps-article-share,.vipn-article-share) button {
  width: auto;
  padding: 0 13px;
  cursor: pointer;
}

:is(.ps-article-share,.vipn-article-share) a:hover,
:is(.ps-article-share,.vipn-article-share) button:hover {
  transform: translateY(-2px);
  border-color: var(--vipn-accent-border);
  box-shadow: 0 12px 26px rgba(18, 40, 68, .12);
}

:is(.ps-article-content,.vipn-article-content) {
  border-radius: var(--vipn-radius-xl);
  padding: clamp(28px, 4.5vw, 58px);
}

:is(.ps-article-deck,.vipn-article-deck) {
  margin: 0 0 26px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--vipn-border);
  color: var(--vipn-text);
  font-size: clamp(1.15rem, 1.9vw, 1.48rem);
  line-height: 1.52;
  font-weight: 800;
  letter-spacing: -.025em;
}

:is(.ps-article-copy,.vipn-article-copy) {
  color: var(--vipn-text);
  font-size: clamp(1.03rem, 1.08vw, 1.14rem);
  line-height: 1.84;
}

:is(.ps-article-copy,.vipn-article-copy) p {
  margin: 0 0 1.25rem;
}

:is(.ps-article-copy,.vipn-article-copy) a {
  color: var(--vipn-blue);
  font-weight: 800;
  text-underline-offset: 3px;
}

:is(.ps-article-copy,.vipn-article-copy) img {
  max-width: 100%;
  height: auto;
  border-radius: var(--vipn-radius-lg);
}

:is(.ps-article-copy,.vipn-article-copy) blockquote {
  margin: 30px 0;
  padding: 20px 24px;
  border-left: 4px solid var(--vipn-accent);
  border-radius: 0 var(--vipn-radius-md) var(--vipn-radius-md) 0;
  background: var(--vipn-accent-soft);
  font-weight: 750;
}

:is(.ps-article-sidebar,.vipn-article-sidebar) {
  position: sticky;
  top: 104px;
  min-width: 0;
}

:is(.ps-article-side-stack,.vipn-article-side-stack) {
  display: grid;
  gap: 18px;
}

:is(.ps-article-side-card,.vipn-article-side-card) {
  border-radius: var(--vipn-radius-xl);
  padding: 20px;
  overflow: hidden;
}

:is(.ps-article-ad-frame,.vipn-article-ad-frame) {
  display: grid;
  place-items: center;
  min-height: 250px;
  border: 1px solid var(--vipn-border);
  border-radius: var(--vipn-radius-lg);
  background: var(--vipn-surface-solid);
  overflow: hidden;
}

:is(.ps-article-ad-frame,.vipn-article-ad-frame) .ad-slot,
:is(.ps-article-ad-frame,.vipn-article-ad-frame) img,
:is(.ps-article-ad-frame,.vipn-article-ad-frame) iframe {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 14px;
}

:is(.ps-article-side-title,.vipn-article-side-title) {
  margin-bottom: 14px;
  color: var(--vipn-text);
  font-size: .92rem;
  font-weight: 900;
  letter-spacing: -.02em;
  text-transform: uppercase;
}

:is(.ps-article-trending-list,.vipn-article-trending-list) {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: articleTrending;
}

:is(.ps-article-trending-list,.vipn-article-trending-list) li {
  counter-increment: articleTrending;
}

:is(.ps-article-trending-list,.vipn-article-trending-list) li + li {
  border-top: 1px solid var(--vipn-border);
}

:is(.ps-article-trending-list,.vipn-article-trending-list) a {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  padding: 14px 0;
  color: var(--vipn-text);
  text-decoration: none;
}

:is(.ps-article-trending-list,.vipn-article-trending-list) a:before {
  content: counter(articleTrending);
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--vipn-accent);
  color: var(--vipn-accent-text);
  font-size: .74rem;
  font-weight: 900;
}

:is(.ps-article-trending-list,.vipn-article-trending-list) strong {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: .92rem;
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: -.015em;
}

:is(.ps-article-trending-list,.vipn-article-trending-list) small {
  display: block;
  margin-top: 5px;
  color: var(--vipn-muted);
  font-size: .78rem;
  font-weight: 750;
}

:is(.ps-article-trending-list,.vipn-article-trending-list) a:hover strong {
  color: var(--vipn-accent);
}

.vipn-empty-trending {
  color: var(--vipn-muted);
  font-size: .9rem;
  line-height: 1.45;
}

.vipn-newsletter-card p {
  color: var(--vipn-muted);
  margin: 0 0 14px;
}

.vipn-newsletter-form {
  display: grid;
  gap: 10px;
}

.vipn-newsletter-form input {
  width: 100%;
  height: 44px;
  border: 1px solid var(--vipn-border);
  border-radius: 999px;
  background: var(--vipn-surface-solid);
  color: var(--vipn-text);
  padding: 0 14px;
}

.vipn-newsletter-form button {
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: var(--vipn-accent);
  color: var(--vipn-accent-text);
  font-weight: 900;
}

:is(.ps-article-related,.vipn-related-section),
:is(.ps-article-comments,.vipn-comments-card) {
  border-radius: var(--vipn-radius-xl);
  padding: 24px;
}

:is(.ps-article-related__head,.vipn-related-head) {
  margin-bottom: 18px;
}

:is(.ps-article-related__grid,.vipn-related-grid) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

:is(.ps-article-related__card,.vipn-related-card) {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 118px;
  padding: 10px;
  border: 1px solid var(--vipn-border);
  border-radius: var(--vipn-radius-lg);
  background: var(--vipn-surface);
  color: var(--vipn-text);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

:is(.ps-article-related__card,.vipn-related-card):hover {
  transform: translateY(-2px);
  border-color: var(--vipn-accent-border);
  box-shadow: var(--vipn-shadow-soft);
}

:is(.ps-article-related__thumb,.vipn-related-thumb) {
  width: 112px;
  height: 88px;
  overflow: hidden;
  border-radius: 14px;
  background: var(--vipn-surface-2);
}

:is(.ps-article-related__thumb,.vipn-related-thumb) img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vipn-mini-label {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 7px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(61, 147, 215, .14);
  color: var(--vipn-text-soft);
  font-size: .64rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

:is(.ps-article-related__copy,.vipn-related-copy) h3 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0 0 6px;
  color: var(--vipn-text);
  font-size: .98rem;
  line-height: 1.18;
  font-weight: 900;
  letter-spacing: -.025em;
}

:is(.ps-article-related__copy,.vipn-related-copy) time {
  color: var(--vipn-muted);
  font-size: .78rem;
  font-weight: 800;
}

:is(.ps-article-comments,.vipn-comments-card) h2 {
  margin: 0 0 8px;
  color: var(--vipn-text);
  font-size: 1.35rem;
  font-weight: 900;
}

:is(.ps-article-comments,.vipn-comments-card) p {
  margin: 0;
  color: var(--vipn-muted);
}

.vipn-copy-toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1100;
  padding: 12px 16px;
  border-radius: 999px;
  background: #0d1b2a;
  color: #fff;
  font-weight: 850;
  box-shadow: 0 14px 36px rgba(0, 0, 0, .24);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .18s ease, transform .18s ease;
}

.vipn-copy-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1180px) {
  :is(.ps-article-layout,.vipn-article-layout) {
    grid-template-columns: minmax(0, 1fr) 330px;
  }

  :is(.ps-article-intro,.vipn-article-intro) h1 {
    font-size: clamp(2.25rem, 4.6vw, 3.7rem);
  }
}

@media (max-width: 991.98px) {
  :is(.ps-article-layout,.vipn-article-layout) {
    grid-template-columns: 1fr;
  }

  :is(.ps-article-sidebar,.vipn-article-sidebar) {
    position: static;
  }

  :is(.ps-article-side-stack,.vipn-article-side-stack) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  body:is(.ps-article-body-page,.vipn-article-body-page) .vipn-main {
    padding-top: 16px;
  }

  :is(.ps-article-page,.vipn-article-page) {
    padding-bottom: 46px;
  }

  :is(.ps-article-hero,.vipn-article-hero) {
    grid-template-columns: 1fr;
    border-radius: 20px;
  }

  :is(.ps-article-image-wrap,.vipn-article-image-wrap),
  :is(.ps-article-image-wrap,.vipn-article-image-wrap) img {
    min-height: 270px;
  }

  :is(.ps-article-intro,.vipn-article-intro),
  :is(.ps-article-content,.vipn-article-content),
  :is(.ps-article-related,.vipn-related-section),
  :is(.ps-article-comments,.vipn-comments-card),
  :is(.ps-article-side-card,.vipn-article-side-card) {
    padding: 22px;
  }

  :is(.ps-article-intro,.vipn-article-intro) h1 {
    font-size: clamp(2.1rem, 10vw, 3rem);
    line-height: 1;
  }

  :is(.ps-article-related__grid,.vipn-related-grid),
  :is(.ps-article-side-stack,.vipn-article-side-stack) {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  :is(.ps-article-image-wrap,.vipn-article-image-wrap),
  :is(.ps-article-image-wrap,.vipn-article-image-wrap) img {
    min-height: 230px;
  }

  :is(.ps-article-related__card,.vipn-related-card) {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  :is(.ps-article-related__thumb,.vipn-related-thumb) {
    width: 92px;
    height: 76px;
  }
}


/* v3.5.1 article cleanup pass
   - closer homepage visual match
   - calmer headline sizing
   - cleaner sidebar/trending list
   - improved related-story cards
*/
body:is(.ps-article-body-page,.vipn-article-body-page) .vipn-main {
  padding-top: 36px;
}

:is(.ps-article-layout,.vipn-article-layout) {
  grid-template-columns: minmax(0, 790px) minmax(300px, 360px);
  justify-content: center;
  gap: 28px;
}

:is(.ps-article-column,.vipn-article-column) {
  gap: 26px;
}

:is(.ps-article-hero,.vipn-article-hero),
:is(.ps-article-content,.vipn-article-content),
:is(.ps-article-related,.vipn-related-section),
:is(.ps-article-comments,.vipn-comments-card),
:is(.ps-article-side-card,.vipn-article-side-card) {
  border-color: var(--vipn-border);
  background: var(--vipn-card-bg);
  box-shadow: var(--vipn-shadow-soft);
}

[data-theme="light"] :is(.ps-article-hero,.vipn-article-hero),
[data-theme="light"] :is(.ps-article-content,.vipn-article-content),
[data-theme="light"] :is(.ps-article-related,.vipn-related-section),
[data-theme="light"] :is(.ps-article-comments,.vipn-comments-card),
[data-theme="light"] :is(.ps-article-side-card,.vipn-article-side-card) {
  background: rgba(255,255,255,.94);
  border-color: rgba(15, 35, 55, .10);
}

:is(.ps-article-hero,.vipn-article-hero) {
  grid-template-columns: minmax(270px, 44%) minmax(0, 1fr);
  min-height: 0;
}

:is(.ps-article-image-wrap,.vipn-article-image-wrap),
:is(.ps-article-image-wrap,.vipn-article-image-wrap) img {
  min-height: 500px;
}

:is(.ps-article-intro,.vipn-article-intro) {
  justify-content: center;
  gap: 14px;
  padding: clamp(28px, 3.3vw, 44px);
}

:is(.ps-article-intro,.vipn-article-intro) h1 {
  max-width: 11.5em;
  font-size: clamp(2.05rem, 3.05vw, 3.45rem);
  line-height: 1.02;
  letter-spacing: -.052em;
}

:is(.ps-article-subhead,.vipn-article-subhead) {
  font-size: clamp(.98rem, 1.05vw, 1.08rem);
  line-height: 1.55;
  font-weight: 680;
}

:is(.ps-article-meta,.vipn-article-meta) {
  font-size: .82rem;
}

:is(.ps-article-share,.vipn-article-share) a,
:is(.ps-article-share,.vipn-article-share) button {
  height: 34px;
  min-width: 34px;
  font-size: .76rem;
}

:is(.ps-article-content,.vipn-article-content) {
  padding: clamp(34px, 4vw, 52px);
}

:is(.ps-article-deck,.vipn-article-deck) {
  margin-bottom: 26px;
  padding-bottom: 24px;
  font-size: clamp(1.08rem, 1.45vw, 1.34rem);
  line-height: 1.56;
  font-weight: 850;
}

:is(.ps-article-copy,.vipn-article-copy) {
  max-width: 70ch;
  color: var(--vipn-text-soft);
  font-size: clamp(1rem, 1.02vw, 1.075rem);
  line-height: 1.82;
}

:is(.ps-article-copy,.vipn-article-copy) p {
  margin-bottom: 1.18rem;
}

:is(.ps-article-copy,.vipn-article-copy) p:last-child {
  margin-bottom: 0;
}

:is(.ps-article-sidebar,.vipn-article-sidebar) {
  top: 102px;
}

:is(.ps-article-side-card,.vipn-article-side-card) {
  padding: 18px;
}

:is(.ps-article-ad-frame,.vipn-article-ad-frame) {
  min-height: 250px;
  background: var(--vipn-surface-solid);
}

:is(.ps-article-ad-frame,.vipn-article-ad-frame) img {
  width: min(100%, 300px);
}

:is(.ps-article-trending-list,.vipn-article-trending-list) a {
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 12px;
  padding: 13px 0;
  align-items: start;
}

:is(.ps-article-trending-list,.vipn-article-trending-list) a:before {
  width: 24px;
  height: 24px;
  margin-top: 1px;
}

:is(.ps-article-trending-list,.vipn-article-trending-list) strong {
  -webkit-line-clamp: 2;
  font-size: .86rem;
  line-height: 1.28;
  letter-spacing: -.018em;
}

:is(.ps-article-trending-list,.vipn-article-trending-list) small {
  display: inline-block;
  margin-top: 5px;
  font-size: .72rem;
  line-height: 1.2;
  white-space: nowrap;
}

:is(.ps-article-related,.vipn-related-section) {
  padding: 24px;
}

:is(.ps-article-related__grid,.vipn-related-grid) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

:is(.ps-article-related__card,.vipn-related-card) {
  grid-template-columns: 104px minmax(0, 1fr);
  min-height: 104px;
  padding: 9px;
  gap: 12px;
}

:is(.ps-article-related__thumb,.vipn-related-thumb) {
  width: 104px;
  height: 80px;
}

:is(.ps-article-related__copy,.vipn-related-copy) h3 {
  -webkit-line-clamp: 2;
  font-size: .88rem;
  line-height: 1.22;
}

.vipn-mini-label {
  margin-bottom: 6px;
  padding: 3px 7px;
  font-size: .58rem;
}

:is(.ps-article-comments,.vipn-comments-card) {
  padding: 24px;
}

:is(.ps-article-comments,.vipn-comments-card) h2 {
  font-size: 1.12rem;
}

@media (min-width: 1280px) {
  :is(.ps-article-layout,.vipn-article-layout) {
    grid-template-columns: minmax(0, 820px) minmax(300px, 360px);
  }
}

@media (max-width: 1180px) {
  :is(.ps-article-layout,.vipn-article-layout) {
    grid-template-columns: minmax(0, 1fr) 330px;
  }

  :is(.ps-article-intro,.vipn-article-intro) h1 {
    font-size: clamp(2rem, 3.45vw, 3.05rem);
  }

  :is(.ps-article-image-wrap,.vipn-article-image-wrap),
  :is(.ps-article-image-wrap,.vipn-article-image-wrap) img {
    min-height: 460px;
  }
}

@media (max-width: 991.98px) {
  :is(.ps-article-layout,.vipn-article-layout) {
    grid-template-columns: 1fr;
  }

  :is(.ps-article-sidebar,.vipn-article-sidebar) {
    position: static;
  }

  :is(.ps-article-side-stack,.vipn-article-side-stack) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  body:is(.ps-article-body-page,.vipn-article-body-page) .vipn-main {
    padding-top: 18px;
  }

  :is(.ps-article-hero,.vipn-article-hero) {
    grid-template-columns: 1fr;
  }

  :is(.ps-article-image-wrap,.vipn-article-image-wrap),
  :is(.ps-article-image-wrap,.vipn-article-image-wrap) img {
    min-height: 280px;
  }

  :is(.ps-article-intro,.vipn-article-intro) h1 {
    font-size: clamp(2.05rem, 9vw, 3rem);
  }

  :is(.ps-article-side-stack,.vipn-article-side-stack),
  :is(.ps-article-related__grid,.vipn-related-grid) {
    grid-template-columns: 1fr;
  }
}


/* v3.5.1 article/sidebar polish
   - article Trending Now uses the same visual system as homepage
   - sidebar ad frame uses the same 300x250 shell as homepage
   - hero image now includes a full-photo action
*/
:is(.ps-article-image-wrap,.vipn-article-image-wrap) {
  position: relative;
}

:is(.ps-article-image-wrap,.vipn-article-image-wrap) img {
  object-position: center center;
}

.vipn-view-photo {
  position: absolute;
  left: 18px;
  bottom: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(255,255,255,.46);
  border-radius: 999px;
  background: rgba(8, 24, 41, .76);
  color: #fff;
  text-decoration: none;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: -.01em;
  backdrop-filter: blur(10px);
  box-shadow: 0 12px 24px rgba(0,0,0,.22);
}

.vipn-view-photo:hover {
  color: #08111d;
  background: var(--vipn-accent);
  border-color: var(--vipn-accent);
}

:is(.ps-article-side-stack,.vipn-article-side-stack) {
  display: grid;
  gap: 22px;
}

:is(.ps-article-side-card,.vipn-article-side-card) {
  padding: 18px;
  border-radius: var(--vipn-radius-lg);
  background: var(--vipn-side-bg);
}

:is(.ps-article-ad-frame,.vipn-article-ad-frame) {
  min-height: 0;
}

:is(.ps-article-trending-card,.vipn-article-trending-card) .vipn-panel-title {
  margin-bottom: 12px;
}

:is(.ps-article-trending-card,.vipn-article-trending-card) .vipn-trending-item:first-child {
  padding-top: 2px;
}

:is(.ps-article-trending-card,.vipn-article-trending-card) .vipn-full-btn {
  margin-top: 12px;
}

@media (max-width: 991.98px) {
  :is(.ps-article-side-stack,.vipn-article-side-stack) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  :is(.ps-article-side-stack,.vipn-article-side-stack) {
    grid-template-columns: 1fr;
  }
  .vipn-view-photo {
    left: 14px;
    bottom: 14px;
  }
}


/* v3.5.1 production article cleanup */
:is(.ps-article-layout,.vipn-article-layout) {
  grid-template-columns: minmax(0, 820px) minmax(300px, 360px);
  gap: 30px;
}

:is(.ps-article-intro,.vipn-article-intro) h1 {
  font-size: clamp(2rem, 2.65vw, 3.15rem);
  line-height: 1.04;
  letter-spacing: -.048em;
}

:is(.ps-article-image-wrap,.vipn-article-image-wrap),
:is(.ps-article-image-wrap,.vipn-article-image-wrap) img {
  min-height: 470px;
}

:is(.ps-article-content,.vipn-article-content) {
  padding: clamp(34px, 4vw, 56px);
}

:is(.ps-article-copy,.vipn-article-copy) {
  max-width: 72ch;
  font-size: clamp(1.01rem, 1.02vw, 1.08rem);
  line-height: 1.86;
}

:is(.ps-article-trending-card,.vipn-article-trending-card) .vipn-trending-list {
  margin-top: 0;
}

:is(.ps-article-trending-card,.vipn-article-trending-card) .vipn-trending-item {
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 12px;
  padding: 14px 0;
}

:is(.ps-article-trending-card,.vipn-article-trending-card) .vipn-trending-item strong {
  font-size: .88rem;
  line-height: 1.28;
}

.vipn-photo-lightbox[hidden] { display: none !important; }
.vipn-photo-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  padding: clamp(18px, 4vw, 42px);
  background: rgba(6, 15, 28, .86);
  backdrop-filter: blur(14px);
}

.vipn-lightbox-open { overflow: hidden; }

.vipn-photo-lightbox-figure {
  width: min(100%, 1180px);
  max-height: 88vh;
  margin: 0;
  display: grid;
  gap: 12px;
}

.vipn-photo-lightbox-figure img {
  display: block;
  width: 100%;
  max-height: 82vh;
  object-fit: contain;
  border-radius: 22px;
  background: #071426;
  box-shadow: 0 28px 80px rgba(0,0,0,.38);
}

.vipn-photo-lightbox-figure figcaption {
  color: #fff;
  font-weight: 800;
  text-align: center;
  text-shadow: 0 1px 12px rgba(0,0,0,.45);
}

.vipn-photo-lightbox-close {
  position: fixed;
  top: 18px;
  right: 18px;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-size: 1.7rem;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 991.98px) {
  :is(.ps-article-layout,.vipn-article-layout) { grid-template-columns: 1fr; }
  :is(.ps-article-image-wrap,.vipn-article-image-wrap),
  :is(.ps-article-image-wrap,.vipn-article-image-wrap) img { min-height: 340px; }
}

@media (max-width: 767.98px) {
  :is(.ps-article-intro,.vipn-article-intro) h1 { font-size: clamp(2rem, 8.6vw, 2.8rem); }
  :is(.ps-article-image-wrap,.vipn-article-image-wrap),
  :is(.ps-article-image-wrap,.vipn-article-image-wrap) img { min-height: 280px; }
}

/* v3.5.1 article page final polish */
:is(.ps-article-sidebar,.vipn-article-sidebar) .vipn-side-card {
  border-radius: var(--vipn-radius-xl);
}

:is(.ps-article-sidebar,.vipn-article-sidebar) .vipn-trending-list {
  gap: 0;
}

:is(.ps-article-sidebar,.vipn-article-sidebar) .vipn-trending-item {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px 0;
  border-top: 1px solid var(--vipn-border);
}

:is(.ps-article-sidebar,.vipn-article-sidebar) .vipn-trending-item:first-child {
  border-top: 0;
  padding-top: 0;
}

:is(.ps-article-sidebar,.vipn-article-sidebar) .vipn-trending-item strong {
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.vipn-view-photo {
  backdrop-filter: blur(12px);
}

/* v3.5.1 secure article comments */
:is(.ps-article-comments,.vipn-comments-card) {
  display: grid;
  gap: 22px;
}

:is(.ps-article-comments__head,.vipn-comments-head) {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--vipn-border);
}

.vipn-comments-count {
  display: inline-flex;
  align-items: center;
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--vipn-accent-soft);
  color: var(--vipn-text);
  font-size: .78rem;
  font-weight: 900;
  white-space: nowrap;
}

.vipn-comment-alert {
  padding: 13px 15px;
  border-radius: 16px;
  border: 1px solid var(--vipn-border);
  font-weight: 800;
  line-height: 1.45;
}

.vipn-comment-alert-success {
  background: rgba(34, 197, 94, .12);
  color: var(--vipn-text);
  border-color: rgba(34, 197, 94, .28);
}

.vipn-comment-alert-error {
  background: rgba(239, 68, 68, .10);
  color: var(--vipn-text);
  border-color: rgba(239, 68, 68, .26);
}

.vipn-comment-form-card {
  padding: clamp(18px, 3vw, 26px);
  border: 1px solid var(--vipn-border);
  border-radius: var(--vipn-radius-lg);
  background: var(--vipn-surface);
}

.vipn-comment-form-card h3 {
  margin: 0 0 6px;
  color: var(--vipn-text);
  font-size: 1.18rem;
  font-weight: 950;
  letter-spacing: -.025em;
}

.vipn-comment-form-card p {
  margin: 0 0 18px;
  color: var(--vipn-muted);
  font-size: .95rem;
  line-height: 1.5;
}

.vipn-comment-form {
  display: grid;
  gap: 14px;
}

.vipn-comment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.vipn-comment-form label {
  display: grid;
  gap: 7px;
  margin: 0;
}

.vipn-comment-form label span {
  color: var(--vipn-text);
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: -.01em;
}

.vipn-comment-form label small {
  color: var(--vipn-muted);
  font-weight: 750;
}

.vipn-comment-form input,
.vipn-comment-form textarea {
  width: 100%;
  border: 1px solid var(--vipn-border);
  border-radius: 16px;
  background: var(--vipn-surface-solid);
  color: var(--vipn-text);
  font: inherit;
  font-size: .96rem;
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.vipn-comment-form input {
  height: 46px;
  padding: 0 14px;
}

.vipn-comment-form textarea {
  min-height: 136px;
  padding: 13px 14px;
  resize: vertical;
  line-height: 1.55;
}

.vipn-comment-form input:focus,
.vipn-comment-form textarea:focus {
  border-color: var(--vipn-accent-border);
  box-shadow: 0 0 0 4px rgba(247, 201, 72, .14);
}

.vipn-comment-form-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.vipn-comment-form-foot span {
  color: var(--vipn-muted);
  font-size: .78rem;
  font-weight: 800;
}

.vipn-comment-form-foot button {
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  padding: 0 20px;
  background: var(--vipn-accent);
  color: var(--vipn-accent-text);
  font-weight: 950;
  box-shadow: 0 14px 30px rgba(247, 201, 72, .20);
  cursor: pointer;
}

.vipn-comment-form-foot button:hover {
  transform: translateY(-1px);
}

.vipn-comment-hp {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.vipn-comment-list {
  display: grid;
  gap: 14px;
}

.vipn-comment-item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 13px;
  padding: 16px;
  border: 1px solid var(--vipn-border);
  border-radius: var(--vipn-radius-lg);
  background: var(--vipn-surface-solid);
}

.vipn-comment-avatar {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: var(--vipn-accent-soft);
  color: var(--vipn-text);
  font-size: 1.05rem;
  font-weight: 950;
}

.vipn-comment-body header {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
  align-items: baseline;
  margin-bottom: 7px;
}

.vipn-comment-body strong {
  color: var(--vipn-text);
  font-weight: 950;
}

.vipn-comment-body time {
  color: var(--vipn-muted);
  font-size: .78rem;
  font-weight: 780;
}

.vipn-comment-body p {
  margin: 0;
  color: var(--vipn-text-soft);
  line-height: 1.62;
}

.vipn-comments-empty {
  display: grid;
  gap: 4px;
  padding: 18px;
  border: 1px dashed var(--vipn-border);
  border-radius: var(--vipn-radius-lg);
  color: var(--vipn-muted);
  background: var(--vipn-surface);
}

.vipn-comments-empty strong {
  color: var(--vipn-text);
}

@media (max-width: 640px) {
  :is(.ps-article-comments__head,.vipn-comments-head),
  .vipn-comment-form-foot {
    align-items: stretch;
    flex-direction: column;
  }
  .vipn-comment-grid {
    grid-template-columns: 1fr;
  }
  .vipn-comment-form-foot button {
    width: 100%;
  }
}


/* v3.9.18 comment validation UX: preserve entries and show field-level errors */
.vipn-comment-form input.is-invalid,
.vipn-comment-form textarea.is-invalid {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .12) !important;
}
.vipn-comment-field-error {
  display: block;
  min-height: 1.1rem;
  margin-top: .35rem;
  color: #b42318;
  font-size: .82rem;
  font-weight: 700;
}
.vipn-comment-alert[hidden] { display: none !important; }
.vipn-comment-form-foot button:disabled {
  cursor: not-allowed;
  opacity: .72;
}


/* v3.9.22 rich article body formatting */
:is(.ps-article-copy,.vipn-article-copy) h2,
:is(.ps-article-copy,.vipn-article-copy) h3,
:is(.ps-article-copy,.vipn-article-copy) h4 {
  color: var(--vipn-text);
  font-weight: 900;
  line-height: 1.2;
  margin: 2rem 0 1rem;
  letter-spacing: -.025em;
}
:is(.ps-article-copy,.vipn-article-copy) h2 { font-size: clamp(1.45rem, 2.2vw, 2rem); }
:is(.ps-article-copy,.vipn-article-copy) h3 { font-size: clamp(1.25rem, 1.8vw, 1.65rem); }
:is(.ps-article-copy,.vipn-article-copy) h4 { font-size: 1.12rem; }
:is(.ps-article-copy,.vipn-article-copy) ul,
:is(.ps-article-copy,.vipn-article-copy) ol {
  margin: 0 0 1.35rem 1.35rem;
  padding-left: 1.1rem;
}
:is(.ps-article-copy,.vipn-article-copy) li { margin-bottom: .45rem; }
:is(.ps-article-copy,.vipn-article-copy) figure {
  margin: 2rem 0;
}
:is(.ps-article-copy,.vipn-article-copy) figure img {
  display: block;
  width: 100%;
  height: auto;
}
:is(.ps-article-copy,.vipn-article-copy) figcaption {
  margin-top: .65rem;
  color: var(--vipn-text-muted);
  font-size: .9rem;
  line-height: 1.45;
}
:is(.ps-article-copy,.vipn-article-copy) table {
  width: 100%;
  margin: 1.5rem 0;
  border-collapse: collapse;
  font-size: .95rem;
}
:is(.ps-article-copy,.vipn-article-copy) th,
:is(.ps-article-copy,.vipn-article-copy) td {
  border: 1px solid var(--vipn-border);
  padding: .7rem .85rem;
  vertical-align: top;
}
:is(.ps-article-copy,.vipn-article-copy) th {
  background: var(--vipn-surface-soft);
  color: var(--vipn-text);
  font-weight: 850;
}
:is(.ps-article-copy,.vipn-article-copy) hr {
  border: 0;
  border-top: 1px solid var(--vipn-border);
  margin: 2rem 0;
}

/* v3.9.67: public byline, photo captions, and credits */
:is(.ps-article-byline,.vipn-article-byline){
  color: var(--vipn-text);
  font-weight: 900;
}
:is(.ps-article-byline,.vipn-article-byline):after{
  content:"";
  width: 5px;
  height: 5px;
  display:inline-block;
  margin-left: 12px;
  border-radius: 50%;
  background: var(--vipn-accent);
  vertical-align: middle;
  opacity: .65;
}
.vipn-photo-meta{
  position:absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(8, 20, 38, .72);
  color:#fff;
  box-shadow: 0 18px 34px rgba(2,6,23,.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.vipn-photo-caption{
  font-weight: 750;
  line-height: 1.35;
  font-size: .92rem;
}
.vipn-photo-credit{
  margin-top: 3px;
  font-size: .72rem;
  line-height: 1.2;
  color: rgba(255,255,255,.78);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 850;
}
@media (max-width: 767.98px){
  .vipn-photo-meta{
    position: static;
    margin: 0;
    border-radius: 0;
    background: rgba(15,23,42,.92);
  }
  :is(.ps-article-byline,.vipn-article-byline):after{display:none;}
}
:is(.ps-article-image-wrap,.vipn-article-image-wrap){position:relative;}


/* v3.9.75 article ad alignment
   - match article page top banner shell to homepage
   - remove extra inner frame border in the article sidebar ad card */
:is(.ps-article-page-leaderboard,.vipn-article-page-leaderboard) {
  padding: clamp(12px, 2vw, 22px) 0 clamp(16px, 2.4vw, 28px);
}

:is(.ps-article-page-leaderboard,.vipn-article-page-leaderboard) .vipn-ad-frame {
  width: min(100%, 1040px) !important;
  max-width: 1040px !important;
  min-height: 128px;
  margin: 0 auto;
}

:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) {
  padding-bottom: 16px;
}

:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .vipn-side-card-label {
  margin-bottom: 12px;
}

:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .vipn-side-ad,
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) :is(.ps-article-ad-frame,.vipn-article-ad-frame) {
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  min-height: 250px;
  max-width: 300px;
  aspect-ratio: auto;
}

:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .vipn-ad-slot,
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .ad-slot,
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .vipn-ad-slot-inner,
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .ad-slot-inner,
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .vipn-platinum-ad,
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .platinum-ad-render,
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .platinum-ad-render > a {
  width: 300px !important;
  max-width: 100% !important;
  min-height: 250px !important;
  margin: 0 auto !important;
}

:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .platinum-ad-render img,
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) iframe {
  max-width: 300px !important;
  max-height: 250px !important;
  border-radius: 12px;
}

@media (max-width: 767.98px) {
  :is(.ps-article-page-leaderboard,.vipn-article-page-leaderboard) .vipn-ad-frame {
    width: 100% !important;
    min-height: 112px;
  }
}


/* v3.9.89: support 300x300 article sidebar ads */
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .vipn-side-ad,
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) :is(.ps-article-ad-frame,.vipn-article-ad-frame) {
  min-height: 300px !important;
  max-width: 300px !important;
}
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .vipn-ad-slot,
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .ad-slot,
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .vipn-ad-slot-inner,
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .ad-slot-inner,
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .vipn-platinum-ad,
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .platinum-ad-render,
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .platinum-ad-render > a {
  width: 300px !important;
  max-width: 100% !important;
  min-height: 300px !important;
  height: 300px !important;
}
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) .platinum-ad-render img,
:is(.ps-article-sidebar,.vipn-article-sidebar) :is(.ps-article-ad-card,.vipn-article-ad-card) iframe {
  max-width: 300px !important;
  max-height: 300px !important;
}

/* v4.5.11 article photo action regression fix
   Keep the full-photo action visible when captions or photo credits are present.
   Credits/captions remain at the bottom; the action sits above them in the top corner. */
:is(.ps-article-image-wrap,.vipn-article-image-wrap) .vipn-view-photo {
  top: 16px;
  right: 16px;
  bottom: auto;
  left: auto;
  z-index: 8;
}

:is(.ps-article-image-wrap,.vipn-article-image-wrap) .vipn-photo-meta {
  z-index: 5;
  pointer-events: none;
}

@media (max-width: 767.98px) {
  :is(.ps-article-image-wrap,.vipn-article-image-wrap) .vipn-view-photo {
    top: 12px;
    right: 12px;
    bottom: auto;
    left: auto;
  }
  :is(.ps-article-image-wrap,.vipn-article-image-wrap) .vipn-photo-meta {
    pointer-events: auto;
  }
}

/* v5.8.5 Comment Growth & Article Engagement */
.vipn-comment-jump-pill {
  min-height: 30px;
  padding: 0 12px !important;
  width: auto !important;
  border-radius: 999px !important;
  background: var(--vipn-accent-soft) !important;
  color: var(--vipn-text) !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.vipn-discussion-card {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 16px;
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid rgba(51, 102, 153, .18);
  border-radius: var(--vipn-radius-xl);
  background:
    radial-gradient(circle at 92% 8%, rgba(247, 201, 72, .22), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(239,246,255,.94));
  box-shadow: var(--vipn-shadow-soft);
}

.vipn-discussion-icon {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: var(--vipn-accent-soft);
  color: var(--vipn-text);
  font-size: 1.35rem;
  font-weight: 950;
}

.vipn-discussion-card h2 {
  margin: 0 0 8px;
  color: var(--vipn-text);
  font-size: clamp(1.35rem, 2.3vw, 1.85rem);
  font-weight: 950;
  letter-spacing: -.035em;
}

.vipn-discussion-card p:not(.vipn-side-card-label) {
  margin: 0;
  color: var(--vipn-text-soft);
  font-size: 1.02rem;
  font-weight: 750;
  line-height: 1.55;
}

.vipn-discussion-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-top: 16px;
}

.vipn-discussion-btn,
.vipn-comments-empty a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border-radius: 999px;
  padding: 0 18px;
  background: var(--vipn-accent);
  color: var(--vipn-accent-text) !important;
  font-weight: 950;
  text-decoration: none;
  box-shadow: 0 14px 26px rgba(51, 102, 153, .16);
}

.vipn-discussion-actions span {
  color: var(--vipn-muted);
  font-size: .86rem;
  font-weight: 850;
}

.vipn-comments-prompt {
  margin: 6px 0 0 !important;
  color: var(--vipn-muted) !important;
  max-width: 620px;
}

.vipn-comment-replying {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  padding: 11px 13px;
  border: 1px solid rgba(51,102,153,.18);
  border-radius: 16px;
  background: rgba(51,102,153,.08);
  color: var(--vipn-text);
  font-size: .9rem;
  font-weight: 850;
}

.vipn-comment-replying[hidden],
.vipn-comment-email-panel[hidden] {
  display: none !important;
}

.vipn-comment-replying button,
.vipn-comment-reply-btn {
  border: 1px solid var(--vipn-border);
  border-radius: 999px;
  background: var(--vipn-surface);
  color: var(--vipn-text);
  font-size: .78rem;
  font-weight: 900;
  padding: 7px 12px;
  cursor: pointer;
}

.vipn-comment-notify-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--vipn-border);
  border-radius: var(--vipn-radius-lg);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.92));
}

.vipn-comment-notify-head {
  display: grid;
  gap: 2px;
}

.vipn-comment-notify-head strong {
  color: var(--vipn-text);
  font-size: .92rem;
  font-weight: 950;
}

.vipn-comment-notify-head span {
  color: var(--vipn-muted);
  font-size: .82rem;
  font-weight: 750;
}

.vipn-comment-check {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: flex-start;
  gap: 9px !important;
  color: var(--vipn-text-soft);
  font-size: .9rem;
  font-weight: 800;
}

.vipn-comment-check input {
  width: 18px !important;
  height: 18px !important;
  margin-top: 2px;
  flex: 0 0 auto;
  padding: 0 !important;
}

.vipn-comment-email-panel {
  margin-top: 2px;
}

.vipn-comment-replies {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding-left: 4px;
  border-left: 3px solid rgba(51, 102, 153, .16);
}

.vipn-comment-item-reply {
  margin-left: 10px;
  background: rgba(248, 250, 252, .9);
  box-shadow: none;
}

.vipn-most-discussed-card .vipn-most-discussed-list {
  display: grid;
  gap: 10px;
}

.vipn-most-discussed-item {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding-top: 10px;
  border-top: 1px solid var(--vipn-border);
  color: var(--vipn-text);
  text-decoration: none;
}

.vipn-most-discussed-item:first-child { border-top: 0; padding-top: 0; }
.vipn-most-discussed-item span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--vipn-accent-soft);
  font-size: .78rem;
  font-weight: 950;
}
.vipn-most-discussed-item strong {
  display: block;
  color: var(--vipn-text);
  font-size: .9rem;
  line-height: 1.25;
}
.vipn-most-discussed-item small {
  display: block;
  margin-top: 3px;
  color: var(--vipn-muted);
  font-size: .74rem;
  font-weight: 850;
}

@media (max-width: 640px) {
  .vipn-discussion-card { grid-template-columns: 1fr; }
  .vipn-discussion-icon { width: 48px; height: 48px; }
  .vipn-comment-item { grid-template-columns: 34px minmax(0, 1fr); }
  .vipn-comment-avatar { width: 34px; height: 34px; }
}

/* v5.8.5.1 Comment Controls Hotfix */
.vipn-comment-form-card-closed{
  background:linear-gradient(135deg,rgba(226,232,240,.78),rgba(255,255,255,.96));
  border-style:dashed;
}
.vipn-comment-form-card-closed h3{margin-bottom:.35rem;}
.vipn-comment-form-card-closed p{margin-bottom:0;color:#64748b;font-weight:700;}

/* v5.8.6.3: Article in-story ad spacing polish
   The in-article ad is intentionally the first element in the story body card,
   so keep it close to the top of the card and let the story copy breathe below it. */
:is(.ps-article-content,.vipn-article-content) {
  padding-top: clamp(22px, 2.4vw, 32px) !important;
}

:is(.ps-article-content,.vipn-article-content) :is(.ps-article-inline-ad,.vipn-article-inline-ad) {
  margin: 0 auto clamp(22px, 2.8vw, 34px) !important;
}

:is(.ps-article-content,.vipn-article-content) :is(.ps-article-inline-ad,.vipn-article-inline-ad) + :is(.ps-article-copy,.vipn-article-copy) {
  margin-top: 0 !important;
}

@media (max-width: 767.98px) {
  :is(.ps-article-content,.vipn-article-content) {
    padding-top: 20px !important;
  }
  :is(.ps-article-content,.vipn-article-content) :is(.ps-article-inline-ad,.vipn-article-inline-ad) {
    margin-bottom: 22px !important;
  }
}

/* v5.8.6.31 final article page polish */
body:is(.ps-article-body-page,.vipn-article-body-page) .vipn-main {
  padding-top: clamp(22px, 3vw, 34px);
}
.vipn-container:is(.ps-article-layout,.vipn-article-layout) {
  width: min(1500px, calc(100% - 48px));
  max-width: 1500px;
}
:is(.ps-article-layout,.vipn-article-layout) {
  grid-template-columns: minmax(0, 1fr) minmax(330px, 365px);
  gap: clamp(24px, 3vw, 36px);
}
:is(.ps-article-column,.vipn-article-column) {
  max-width: 980px;
}
:is(.ps-article-hero,.vipn-article-hero) {
  border-radius: 30px;
}
:is(.ps-article-intro,.vipn-article-intro) h1 {
  font-size: clamp(2.45rem, 4.1vw, 4.8rem);
  line-height: .97;
  max-width: 13.4em;
}
:is(.ps-article-subhead,.vipn-article-subhead) {
  max-width: 62ch;
  font-size: clamp(1.06rem, 1.16vw, 1.22rem);
}
.vipn-comment-jump-pill {
  min-width: auto !important;
  padding-inline: 14px !important;
}
:is(.ps-article-content,.vipn-article-content) {
  padding: clamp(30px, 4vw, 54px) clamp(36px, 5vw, 68px) !important;
}
:is(.ps-article-copy,.vipn-article-copy) {
  font-size: clamp(1.08rem, 1.05vw, 1.18rem);
  line-height: 1.9;
  letter-spacing: -.005em;
}
:is(.ps-article-copy,.vipn-article-copy) p {
  margin-bottom: 1.45rem;
}
:is(.ps-article-attached-gallery,.vipn-article-attached-gallery) {
  border: 1px solid var(--vipn-border);
  border-radius: 30px;
  background: var(--vipn-card-bg);
  box-shadow: var(--vipn-shadow-soft);
  padding: clamp(18px, 2.5vw, 28px);
  overflow: hidden;
}
:is(.ps-article-gallery-head,.vipn-article-gallery-head) {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
:is(.ps-article-gallery-head,.vipn-article-gallery-head) h2 {
  margin: .25rem 0 0;
  color: var(--vipn-text);
  font-size: clamp(1.65rem, 3vw, 2.4rem);
  line-height: 1.02;
  letter-spacing: -.055em;
  font-weight: 950;
}
:is(.ps-article-gallery-head,.vipn-article-gallery-head) p {
  margin: .45rem 0 0;
  color: var(--vipn-muted);
  font-weight: 750;
}
.vipn-gallery-count {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 8px 14px;
  background: var(--vipn-accent-soft);
  color: var(--vipn-text);
  font-size: .82rem;
  font-weight: 950;
}
.vipn-gallery-masonry--article {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.vipn-gallery-masonry--article .vipn-gallery-photo {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  padding: 0;
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  background: #e7eef7;
  box-shadow: 0 14px 28px rgba(15, 23, 42, .08);
  cursor: pointer;
}
.vipn-gallery-masonry--article .vipn-gallery-photo::after {
  content: 'View photo';
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 3;
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(12, 23, 40, .76);
  color: #fff;
  font-size: .72rem;
  font-weight: 950;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity .18s ease, transform .18s ease;
  backdrop-filter: blur(10px);
}
.vipn-gallery-masonry--article .vipn-gallery-photo:hover::after,
.vipn-gallery-masonry--article .vipn-gallery-photo:focus-visible::after {
  opacity: 1;
  transform: translateY(0);
}
.vipn-gallery-masonry--article .vipn-gallery-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease;
}
.vipn-gallery-masonry--article .vipn-gallery-photo:hover img,
.vipn-gallery-masonry--article .vipn-gallery-photo:focus-visible img {
  transform: scale(1.035);
}
.vipn-gallery-masonry--article .vipn-gallery-photo[hidden] {
  display: none !important;
}
.vipn-gallery-masonry--article .vipn-gallery-photo span {
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 8px;
  z-index: 2;
  border-radius: 12px;
  padding: 6px 8px;
  background: rgba(12, 23, 40, .72);
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.25;
  backdrop-filter: blur(8px);
}
.vipn-gallery-expand-row {
  display: flex;
  justify-content: center;
  margin-top: 18px;
}
.vipn-gallery-expand-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border: 1px solid var(--vipn-accent-border);
  border-radius: 999px;
  padding: 0 20px;
  background: var(--vipn-accent);
  color: var(--vipn-accent-text);
  font-weight: 950;
  box-shadow: 0 14px 28px rgba(51,102,153,.16);
  cursor: pointer;
}
.vipn-discussion-card {
  align-items: center;
  padding: clamp(18px, 2.6vw, 24px);
}
.vipn-discussion-card h2 {
  margin-bottom: 4px;
}
:is(.ps-article-comments,.vipn-comments-card) {
  border-radius: 30px;
}
.vipn-comment-form-card {
  border-radius: 22px;
}
.vipn-comments-empty {
  border-radius: 20px;
}
:is(.ps-article-sidebar,.vipn-article-sidebar) {
  top: 92px;
}
:is(.ps-article-side-stack,.vipn-article-side-stack) {
  gap: 20px;
}
:is(.ps-article-side-card,.vipn-article-side-card) {
  border-radius: 24px;
}
.vipn-most-discussed-item strong,
.vipn-trending-item strong {
  letter-spacing: -.01em;
}
@media (min-width: 1300px) {
  :is(.ps-article-page-leaderboard,.vipn-article-page-leaderboard) {
    margin-bottom: 24px;
  }
}
@media (max-width: 1199.98px) {
  .vipn-container:is(.ps-article-layout,.vipn-article-layout) {
    width: min(100% - 32px, 1040px);
  }
  :is(.ps-article-column,.vipn-article-column) {
    max-width: none;
  }
  .vipn-gallery-masonry--article {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767.98px) {
  .vipn-container:is(.ps-article-layout,.vipn-article-layout) {
    width: min(100% - 20px, 720px);
  }
  :is(.ps-article-content,.vipn-article-content) {
    padding: 24px !important;
  }
  :is(.ps-article-gallery-head,.vipn-article-gallery-head) {
    align-items: flex-start;
    flex-direction: column;
  }
  .vipn-gallery-masonry--article {
    grid-template-columns: 1fr;
  }
}

/* v5.8.6.33 article width restore + BVI Platinum copyright note */
.vipn-container:is(.ps-article-layout,.vipn-article-layout) {
  width: min(var(--vipn-container), calc(100% - 42px)) !important;
  max-width: var(--vipn-container) !important;
}
:is(.ps-article-layout,.vipn-article-layout) {
  grid-template-columns: minmax(0, 1fr) 380px !important;
  gap: 28px !important;
}
:is(.ps-article-column,.vipn-article-column) {
  max-width: none !important;
}
:is(.ps-article-copyright-note,.vipn-article-copyright-note) {
  margin-top: clamp(22px, 3vw, 34px);
  padding: 14px 16px;
  border: 1px solid rgba(51,102,153,.16);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(248,250,252,.92), rgba(255,255,255,.95));
  color: var(--vipn-muted);
  font-size: .86rem;
  line-height: 1.5;
  font-weight: 750;
}
@media (max-width: 1199.98px) {
  .vipn-container:is(.ps-article-layout,.vipn-article-layout) {
    width: min(var(--vipn-container), calc(100% - 32px)) !important;
    max-width: var(--vipn-container) !important;
  }
  :is(.ps-article-layout,.vipn-article-layout) {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 767.98px) {
  .vipn-container:is(.ps-article-layout,.vipn-article-layout) {
    width: min(100% - 20px, var(--vipn-container)) !important;
  }
}

/* v5.8.6.34 collapsed inline comment form */
.vipn-comment-compose-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
  padding: 16px;
  border: 1px solid rgba(51,102,153,.16);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(239,246,255,.92), rgba(255,255,255,.98));
}
.vipn-comment-compose-cta[hidden],
.vipn-comment-form-card[hidden] {
  display: none !important;
}
.vipn-comment-compose-cta strong,
.vipn-comment-compose-cta span {
  display: block;
}
.vipn-comment-compose-cta strong {
  color: var(--vipn-text);
  font-size: 1.02rem;
  font-weight: 950;
  letter-spacing: -.015em;
}
.vipn-comment-compose-cta span {
  margin-top: 3px;
  color: var(--vipn-muted);
  font-size: .9rem;
  font-weight: 750;
  line-height: 1.4;
}
.vipn-comment-compose-cta button,
.vipn-comments-empty button {
  flex: 0 0 auto;
  min-height: 42px;
  border: 0;
  border-radius: 999px;
  padding: 0 18px;
  background: var(--vipn-accent);
  color: var(--vipn-accent-text);
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 14px 26px rgba(51, 102, 153, .16);
}
.vipn-comments-empty button {
  margin-top: 10px;
}
.vipn-comment-form-card {
  animation: vipnCommentFormIn .22s ease both;
}
@keyframes vipnCommentFormIn {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 640px) {
  .vipn-comment-compose-cta {
    align-items: stretch;
    flex-direction: column;
  }
  .vipn-comment-compose-cta button {
    width: 100%;
  }
}

/* v5.8.6.36 newsletter honeypot */
.vipn-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}
.vipn-panel-title-stack{align-items:flex-start!important;flex-direction:column;gap:2px!important;}
.vipn-panel-title-stack small{color:#64748b;font-weight:700;line-height:1.35;}
:is(.ps-article-sidebar,.vipn-article-sidebar) .vipn-trending-item small{display:block;margin-top:3px;color:#64748b;font-size:11px;font-weight:750;}

/* v5.8.6.37 Trending Now cleanup: no public view counts. */
:is(.ps-article-sidebar,.vipn-article-sidebar) .vipn-panel-title-stack{gap:4px!important;margin-bottom:8px;}
:is(.ps-article-sidebar,.vipn-article-sidebar) .vipn-panel-title-stack h3{margin:0;line-height:1.1;}
:is(.ps-article-sidebar,.vipn-article-sidebar) .vipn-panel-title-stack small{display:block;font-size:.86rem;color:#64748b;font-weight:800;line-height:1.3;}
:is(.ps-article-sidebar,.vipn-article-sidebar) .vipn-trending-item{grid-template-columns:34px minmax(0,1fr);gap:13px;align-items:center;padding:13px 0;}
:is(.ps-article-sidebar,.vipn-article-sidebar) .vipn-trending-item strong{display:block;line-height:1.28;font-size:.96rem;letter-spacing:-.015em;}
:is(.ps-article-sidebar,.vipn-article-sidebar) .vipn-trending-item small{display:none!important;}

/* v5.8.6.83 Hot Topic article spacing */
:is(.ps-article-kickers,.vipn-article-kickers) .vipn-hot-topic-badge{margin-left:0;}
:is(.ps-article-related__copy,.vipn-related-copy) .vipn-hot-topic-mini{margin:.28rem 0 .1rem;}

/* v5.8.6.91 — Audience engagement */
.vipn-reaction-panel{
  margin:1.35rem 0 1.6rem;
  padding:1.25rem;
  border:1px solid rgba(15,23,42,.08);
  border-radius:28px;
  background:linear-gradient(135deg,#ffffff 0%,#f6f9fd 100%);
  box-shadow:0 18px 44px rgba(15,23,42,.08);
}
.vipn-reaction-panel__copy{margin-bottom:1rem;}
.vipn-reaction-panel__copy h2{
  margin:.45rem 0 .35rem;
  color:#0f172a;
  font-size:clamp(1.45rem,2.4vw,2.05rem);
  line-height:1;
  letter-spacing:-.045em;
}
.vipn-reaction-panel__copy p{
  margin:0;
  max-width:580px;
  color:#64748b;
  font-weight:700;
}
.vipn-reaction-panel__buttons{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.75rem;
}
.vipn-reaction-btn{
  display:flex;
  align-items:center;
  gap:.65rem;
  min-height:64px;
  padding:.75rem .85rem;
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  background:#fff;
  color:#0f172a;
  text-align:left;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.vipn-reaction-btn:hover,
.vipn-reaction-btn.is-selected{
  transform:translateY(-2px);
  border-color:rgba(7,95,170,.24);
  box-shadow:0 18px 38px rgba(7,95,170,.12);
}
.vipn-reaction-btn:disabled{opacity:.72;cursor:wait;}
.vipn-reaction-btn__icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:999px;
  background:#eef6ff;
  font-size:1.1rem;
}
.vipn-reaction-btn strong{
  flex:1;
  font-size:.9rem;
  line-height:1.05;
}
.vipn-reaction-btn em{
  min-width:34px;
  padding:.32rem .48rem;
  border-radius:999px;
  background:#f1f5f9;
  color:#334155;
  font-size:.78rem;
  font-style:normal;
  font-weight:950;
  text-align:center;
}
.vipn-reaction-panel__message{
  min-height:1.2rem;
  margin-top:.8rem;
  color:#075985;
  font-size:.88rem;
  font-weight:800;
}
@media(max-width:820px){
  .vipn-reaction-panel__buttons{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:520px){
  .vipn-reaction-panel{padding:1rem;border-radius:22px;}
  .vipn-reaction-panel__buttons{grid-template-columns:1fr;}
}

/* v5.8.6.92 — Full audience engagement phase */
.vipn-reader-signals{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.95rem;}
.vipn-reader-signals span{display:inline-flex;align-items:center;min-height:32px;padding:.42rem .68rem;border-radius:999px;background:#fff;border:1px solid rgba(15,23,42,.08);color:#334155;font-size:.78rem;font-weight:900;box-shadow:0 8px 18px rgba(15,23,42,.05);}
.vipn-quick-poll,:is(.ps-article-newsletter-cta,.vipn-article-newsletter-cta),.vipn-next-paths{margin:1.35rem 0;padding:1.25rem;border:1px solid rgba(15,23,42,.08);border-radius:28px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.07);}
.vipn-quick-poll__head h2,:is(.ps-article-newsletter-cta,.vipn-article-newsletter-cta) h2,.vipn-next-paths h2{margin:.45rem 0 .35rem;color:#0f172a;font-size:clamp(1.35rem,2.2vw,1.9rem);letter-spacing:-.04em;line-height:1.05;}
.vipn-quick-poll__head p,:is(.ps-article-newsletter-cta,.vipn-article-newsletter-cta) p{margin:0;color:#64748b;font-weight:700;}
.vipn-quick-poll__options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem;}
.vipn-quick-poll__options button{padding:.85rem;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#f8fafc;color:#0f172a;text-align:left;box-shadow:0 8px 18px rgba(15,23,42,.04);}
.vipn-quick-poll__options button:hover{background:#eef6ff;border-color:rgba(7,95,170,.18);}
.vipn-quick-poll__options strong{display:block;margin-bottom:.35rem;font-size:.92rem;}
.vipn-quick-poll__options span{display:block;color:#64748b;font-size:.78rem;font-weight:800;}
.vipn-quick-poll__message{min-height:1.2rem;margin-top:.8rem;color:#075985;font-weight:800;}
:is(.ps-article-newsletter-cta,.vipn-article-newsletter-cta){display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:1rem;align-items:center;background:linear-gradient(135deg,#082a55 0%,#075faa 100%);color:#fff;}
:is(.ps-article-newsletter-cta,.vipn-article-newsletter-cta) h2,:is(.ps-article-newsletter-cta,.vipn-article-newsletter-cta) p{color:#fff;}
:is(.ps-article-newsletter-cta,.vipn-article-newsletter-cta) .vipn-kicker{background:rgba(255,255,255,.13);color:#fff;}
:is(.ps-article-newsletter-cta,.vipn-article-newsletter-cta) form{display:flex;gap:.55rem;align-items:center;}
:is(.ps-article-newsletter-cta,.vipn-article-newsletter-cta) input[type=email]{min-width:0;flex:1;height:46px;border:0;border-radius:999px;padding:0 .95rem;font-weight:800;}
:is(.ps-article-newsletter-cta,.vipn-article-newsletter-cta) button{height:46px;border:0;border-radius:999px;padding:0 1rem;background:#f4c247;color:#082a55;font-weight:950;white-space:nowrap;}
.vipn-hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;}
.vipn-next-paths__links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1rem;}
.vipn-next-paths__links a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem;border-radius:999px;background:#f8fafc;border:1px solid rgba(15,23,42,.08);color:#0f172a;text-decoration:none;font-weight:950;}
.vipn-next-paths__links a:hover{background:#eef6ff;color:#075faa;}
.vipn-comment-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.65rem;}
.vipn-comment-like-btn{border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:999px;padding:.38rem .62rem;color:#334155;font-size:.8rem;font-weight:900;box-shadow:0 8px 18px rgba(15,23,42,.05);}
.vipn-comment-like-btn:hover,.vipn-comment-like-btn.is-selected{background:#eef6ff;color:#075faa;border-color:rgba(7,95,170,.2);}
@media(max-width:820px){.vipn-quick-poll__options,.vipn-next-paths__links{grid-template-columns:1fr 1fr}:is(.ps-article-newsletter-cta,.vipn-article-newsletter-cta){grid-template-columns:1fr}:is(.ps-article-newsletter-cta,.vipn-article-newsletter-cta) form{flex-direction:column;align-items:stretch}:is(.ps-article-newsletter-cta,.vipn-article-newsletter-cta) button{width:100%;}}
@media(max-width:520px){.vipn-quick-poll__options,.vipn-next-paths__links{grid-template-columns:1fr}.vipn-reader-signals span{width:100%;}}

/* v5.8.6.93 — Article engagement production polish */
.vipn-reaction-panel,
.vipn-quick-poll,
.vipn-next-paths{
  margin:1rem 0;
  padding:1rem;
  border-radius:22px;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
}
.vipn-reaction-panel{
  display:grid;
  grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);
  gap:1rem;
  align-items:center;
}
.vipn-reaction-panel__copy{margin:0;}
.vipn-reaction-panel__copy h2,
.vipn-quick-poll__head h2,
.vipn-next-paths h2{
  font-size:clamp(1.1rem,1.65vw,1.45rem);
  margin:.28rem 0 .2rem;
  letter-spacing:-.03em;
}
.vipn-reaction-panel__copy p,
.vipn-quick-poll__head p{font-size:.88rem;line-height:1.35;}
.vipn-reaction-panel__buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;}
.vipn-reaction-btn{min-height:48px;padding:.55rem .62rem;border-radius:16px;box-shadow:none;}
.vipn-reaction-btn__icon{width:30px;height:30px;flex-basis:30px;font-size:.95rem;}
.vipn-reaction-btn strong{font-size:.78rem;}
.vipn-reaction-btn em{min-width:28px;font-size:.72rem;padding:.24rem .4rem;}
.vipn-reaction-panel__message{grid-column:1 / -1;margin-top:-.3rem;font-size:.8rem;}
.vipn-quick-poll{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:1rem;align-items:center;}
.vipn-quick-poll__options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;}
.vipn-quick-poll__options button{padding:.62rem;border-radius:15px;box-shadow:none;}
.vipn-quick-poll__options strong{font-size:.82rem;margin-bottom:.2rem;}
.vipn-quick-poll__options span{font-size:.72rem;}
.vipn-quick-poll__message{grid-column:1 / -1;margin-top:-.3rem;font-size:.8rem;}
.vipn-next-paths{padding:.95rem;}
.vipn-next-paths__links{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-top:.7rem;}
.vipn-next-paths__links a{min-height:42px;padding:.58rem .7rem;font-size:.82rem;box-shadow:none;}
.vipn-reader-signals{margin-top:.7rem;}
.vipn-reader-signals span{min-height:28px;padding:.35rem .58rem;font-size:.72rem;box-shadow:none;}
.vipn-comment-like-btn{box-shadow:none;}
@media(max-width:920px){
  .vipn-reaction-panel,.vipn-quick-poll{grid-template-columns:1fr;}
  .vipn-reaction-panel__buttons{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
  .vipn-reaction-panel__buttons,.vipn-quick-poll__options,.vipn-next-paths__links{grid-template-columns:1fr;}
}

/* v5.8.6.94 — Article engagement final polish */
.vipn-engagement-panel{
  margin:1rem 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.8rem;
}
.vipn-engagement-panel__block{
  padding:.95rem;
  border:1px solid rgba(15,23,42,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,23,42,.06);
}
.vipn-engagement-panel__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.65rem;
  margin-bottom:.72rem;
}
.vipn-engagement-panel__head h2{
  margin:0;
  color:#0f172a;
  font-size:1.05rem;
  letter-spacing:-.025em;
}
.vipn-engagement-panel .vipn-kicker{
  padding:.25rem .55rem;
  font-size:.62rem;
  letter-spacing:.09em;
}
.vipn-engagement-panel .vipn-reaction-panel__buttons{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.42rem;
}
.vipn-engagement-panel .vipn-reaction-btn{
  min-height:42px;
  padding:.42rem .48rem;
  border-radius:14px;
  box-shadow:none;
  gap:.42rem;
}
.vipn-engagement-panel .vipn-reaction-btn__icon{
  width:26px;
  height:26px;
  flex-basis:26px;
  font-size:.85rem;
}
.vipn-engagement-panel .vipn-reaction-btn strong{
  font-size:.72rem;
  line-height:1;
}
.vipn-engagement-panel .vipn-reaction-btn em{
  min-width:24px;
  padding:.18rem .34rem;
  font-size:.68rem;
}
.vipn-engagement-panel .vipn-quick-poll__options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.42rem;
  margin:0;
}
.vipn-engagement-panel .vipn-quick-poll__options button{
  padding:.5rem;
  border-radius:14px;
  box-shadow:none;
}
.vipn-engagement-panel .vipn-quick-poll__options strong{
  font-size:.72rem;
  line-height:1.05;
}
.vipn-engagement-panel .vipn-quick-poll__options span{
  margin-top:.2rem;
  font-size:.66rem;
}
.vipn-engagement-panel .vipn-reaction-panel__message,
.vipn-engagement-panel .vipn-quick-poll__message{
  min-height:1rem;
  margin:.45rem 0 0;
  color:#075985;
  font-size:.72rem;
  font-weight:800;
}
.vipn-discussion-card{display:none!important;}
.vipn-next-paths{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1rem;
  align-items:center;
}
.vipn-next-paths h2{font-size:1.05rem;margin:.25rem 0 0;white-space:nowrap;}
.vipn-next-paths__links{margin:0;}
@media(max-width:980px){
  .vipn-engagement-panel{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .vipn-engagement-panel .vipn-reaction-panel__buttons,
  .vipn-engagement-panel .vipn-quick-poll__options{grid-template-columns:1fr 1fr;}
  .vipn-next-paths{grid-template-columns:1fr;}
}

/* v5.8.6.95 — Live article page safety cleanup */
.vipn-engagement-panel,
.vipn-reaction-panel,
.vipn-quick-poll,
.vipn-next-paths,
.vipn-reader-signals{
  display:none!important;
}
:is(.ps-article-story,.vipn-article-story) + .vipn-discussion-card{
  display:none!important;
}

/* v5.8.6.96 — Article engagement production fix */
.vipn-audience-engagement{
  display:block!important;
  margin:1.15rem 0 1.35rem;
  padding:1rem;
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 36px rgba(15,23,42,.07);
}
.vipn-audience-engagement__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.9rem;
}
.vipn-audience-engagement__head h2{
  margin:.32rem 0 0;
  color:#0f172a;
  font-size:clamp(1.15rem,1.8vw,1.55rem);
  line-height:1.05;
  letter-spacing:-.035em;
}
.vipn-audience-engagement .vipn-kicker{
  padding:.3rem .62rem;
  font-size:.62rem;
  letter-spacing:.1em;
}
.vipn-audience-engagement__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.85rem;
  align-items:stretch;
}
.vipn-audience-card{
  min-width:0;
  padding:.85rem;
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  background:#f8fafc;
}
.vipn-audience-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.7rem;
}
.vipn-audience-card__head strong{
  display:block;
  color:#0f172a;
  font-size:.95rem;
  line-height:1.1;
}
.vipn-audience-card__head span{
  color:#64748b;
  font-size:.74rem;
  font-weight:800;
  white-space:nowrap;
}
.vipn-audience-reactions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.48rem;
}
.vipn-audience-reaction{
  display:grid;
  grid-template-columns:1fr;
  justify-items:center;
  gap:.28rem;
  min-height:74px;
  padding:.52rem .42rem;
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  background:#fff;
  color:#0f172a;
  box-shadow:none;
  text-align:center;
  transition:transform .14s ease, border-color .14s ease, background .14s ease;
}
.vipn-audience-reaction:hover,
.vipn-audience-reaction.is-selected{
  transform:translateY(-1px);
  background:#eef6ff;
  border-color:rgba(7,95,170,.22);
}
.vipn-audience-reaction__icon{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:999px;
  background:#eef6ff;
  font-size:.95rem;
}
.vipn-audience-reaction__label{
  min-height:1.7em;
  color:#0f172a;
  font-size:.68rem;
  font-weight:950;
  line-height:.95;
}
.vipn-audience-reaction em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:25px;
  min-height:22px;
  padding:.15rem .35rem;
  border-radius:999px;
  background:#f1f5f9;
  color:#334155;
  font-size:.68rem;
  font-style:normal;
  font-weight:950;
}
.vipn-audience-poll{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.48rem;
}
.vipn-audience-poll__option{
  min-height:74px;
  padding:.58rem;
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  background:#fff;
  color:#0f172a;
  text-align:left;
  box-shadow:none;
  transition:transform .14s ease, border-color .14s ease, background .14s ease;
}
.vipn-audience-poll__option:hover{
  transform:translateY(-1px);
  background:#eef6ff;
  border-color:rgba(7,95,170,.22);
}
.vipn-audience-poll__option strong{
  display:block;
  color:#0f172a;
  font-size:.75rem;
  line-height:1.05;
  min-height:2.1em;
}
.vipn-audience-poll__option span{
  display:block;
  margin-top:.32rem;
  color:#64748b;
  font-size:.68rem;
  font-weight:850;
}
.vipn-audience-message{
  min-height:1rem;
  margin-top:.55rem;
  color:#075985;
  font-size:.72rem;
  font-weight:850;
}
@media(max-width:980px){
  .vipn-audience-engagement__grid{grid-template-columns:1fr;}
}
@media(max-width:620px){
  .vipn-audience-engagement{padding:.85rem;border-radius:20px;}
  .vipn-audience-reactions{grid-template-columns:repeat(2,minmax(0,1fr));}
  .vipn-audience-poll{grid-template-columns:1fr;}
  .vipn-audience-card__head{display:block;}
  .vipn-audience-card__head span{display:block;margin-top:.22rem;white-space:normal;}
}

/* v5.8.6.97 — Reader feedback polished module */
.vipn-reader-feedback{
  display:block!important;
  margin:1.15rem 0 1.35rem;
  padding:1rem;
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 16px 40px rgba(15,23,42,.07);
}
.vipn-reader-feedback__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.85rem;
  margin-bottom:.85rem;
}
.vipn-reader-feedback__head h2{
  margin:.28rem 0 0;
  color:#0f172a;
  font-size:clamp(1.15rem,1.7vw,1.5rem);
  line-height:1;
  letter-spacing:-.035em;
}
.vipn-reader-feedback__head a{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:.5rem .78rem;
  border-radius:999px;
  background:#075faa;
  color:#fff;
  text-decoration:none;
  font-size:.78rem;
  font-weight:950;
  white-space:nowrap;
}
.vipn-reader-feedback__row{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:.75rem;
  align-items:center;
  padding:.82rem 0;
  border-top:1px solid rgba(15,23,42,.07);
}
.vipn-reader-feedback__label{
  color:#64748b;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.vipn-reader-reactions{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  min-width:0;
}
.vipn-reader-reaction{
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  min-height:38px;
  padding:.42rem .52rem;
  border:1px solid rgba(15,23,42,.08);
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  box-shadow:0 7px 16px rgba(15,23,42,.05);
  transition:transform .14s ease,border-color .14s ease,background .14s ease;
}
.vipn-reader-reaction:hover,
.vipn-reader-reaction.is-selected{
  transform:translateY(-1px);
  background:#eef6ff;
  border-color:rgba(7,95,170,.25);
}
.vipn-reader-reaction span:first-child{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#eef6ff;
  font-size:.82rem;
}
.vipn-reader-reaction strong{
  font-size:.76rem;
  line-height:1;
  font-weight:950;
}
.vipn-reader-reaction em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  padding:0 .34rem;
  border-radius:999px;
  background:#f1f5f9;
  color:#334155;
  font-size:.68rem;
  font-style:normal;
  font-weight:950;
}
.vipn-reader-poll{min-width:0;}
.vipn-reader-poll__question{
  margin-bottom:.5rem;
  color:#0f172a;
  font-size:.9rem;
  font-weight:950;
}
.vipn-reader-poll__options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.5rem;
}
.vipn-reader-poll__option{
  padding:.58rem;
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  background:#fff;
  color:#0f172a;
  text-align:left;
  box-shadow:none;
}
.vipn-reader-poll__option:hover{background:#eef6ff;border-color:rgba(7,95,170,.22);}
.vipn-reader-poll__text{display:block;}
.vipn-reader-poll__text strong{display:block;font-size:.76rem;line-height:1.05;}
.vipn-reader-poll__text em{display:block;margin-top:.22rem;color:#64748b;font-size:.68rem;font-style:normal;font-weight:850;}
.vipn-reader-poll__bar{
  display:block;
  height:5px;
  margin-top:.48rem;
  border-radius:999px;
  background:#e2e8f0;
  overflow:hidden;
}
.vipn-reader-poll__bar i{display:block;height:100%;border-radius:999px;background:#075faa;}
.vipn-reader-feedback__message{
  grid-column:2;
  min-height:.9rem;
  margin-top:-.35rem;
  color:#075985;
  font-size:.72rem;
  font-weight:850;
}
@media(max-width:760px){
  .vipn-reader-feedback__row{grid-template-columns:1fr;gap:.45rem;}
  .vipn-reader-feedback__message{grid-column:1;}
  .vipn-reader-poll__options{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .vipn-reader-feedback__head{display:block;}
  .vipn-reader-feedback__head a{margin-top:.7rem;}
  .vipn-reader-reaction{width:100%;justify-content:space-between;}
}

/* v5.8.6.98 — Article share button fix */
:is(.ps-article-share,.vipn-article-share) a.vipn-share-text,
:is(.ps-article-share,.vipn-article-share) a.vipn-share-whatsapp{
  width:auto!important;
  min-width:max-content!important;
  padding:0 14px!important;
  white-space:nowrap!important;
}
:is(.ps-article-share,.vipn-article-share) a.vipn-share-whatsapp{
  color:#075e54;
  border-color:rgba(7,94,84,.18);
}
:is(.ps-article-share,.vipn-article-share) a.vipn-share-whatsapp:hover{
  background:#e9fbf3;
  color:#075e54;
}

/* v5.8.6.123 — Site-wide quick poll card in article sidebar */
.vipn-side-poll-card .vipn-reader-feedback__row{display:block;margin-top:.65rem;}
.vipn-side-poll-card .vipn-reader-poll__options{grid-template-columns:1fr;gap:.52rem;}
.vipn-side-poll-card .vipn-reader-poll__option{width:100%;}
.vipn-side-poll-card .vipn-reader-feedback__message{min-height:.95rem;margin-top:.55rem;color:#075985;font-size:.72rem;font-weight:850;}
.vipn-side-poll-card .vipn-reader-poll__bar i{transition:width .22s ease;}


/* Surface 2.9.6 — Article production alignment
   Canonical centered grid and calmer customer-facing proportions. */
.ps-public-container:is(.ps-article-layout,.vipn-article-layout),
.vipn-container:is(.ps-article-layout,.vipn-article-layout){
  width:min(var(--ps-public-container,1240px),calc(100% - 42px))!important;
  max-width:var(--ps-public-container,1240px)!important;
  margin-inline:auto!important;
}
:is(.ps-article-layout,.vipn-article-layout){
  grid-template-columns:minmax(0,1fr) minmax(320px,350px)!important;
  gap:28px!important;
  align-items:start;
}
:is(.ps-article-column,.vipn-article-column){
  min-width:0!important;
  max-width:none!important;
}
:is(.ps-article-hero,.vipn-article-hero){
  grid-template-columns:minmax(300px,42%) minmax(0,1fr)!important;
  border-radius:24px!important;
}
:is(.ps-article-image-wrap,.vipn-article-image-wrap),
:is(.ps-article-image-wrap,.vipn-article-image-wrap) img{
  min-height:420px!important;
}
:is(.ps-article-intro,.vipn-article-intro){
  padding:clamp(28px,3.25vw,46px)!important;
}
:is(.ps-article-intro,.vipn-article-intro) h1{
  max-width:14em!important;
  font-size:clamp(2.05rem,3vw,3.65rem)!important;
  line-height:1.01!important;
  letter-spacing:-.052em!important;
}
:is(.ps-article-content,.vipn-article-content){
  padding:clamp(28px,3.4vw,48px) clamp(30px,4vw,56px)!important;
}
:is(.ps-article-sidebar,.vipn-article-sidebar){
  top:calc(var(--ps-public-header-height,76px) + 16px)!important;
}
:is(.ps-article-page-leaderboard,.vipn-article-page-leaderboard) > .ps-public-container,
:is(.ps-article-page-leaderboard,.vipn-article-page-leaderboard) > .vipn-container{
  width:min(var(--ps-public-container,1240px),calc(100% - 42px));
  margin-inline:auto;
}
:is(.ps-article-page-leaderboard,.vipn-article-page-leaderboard) .vipn-ad-frame{
  width:min(100%,1040px)!important;
  margin-inline:auto!important;
}
@media(max-width:1080px) and (min-width:941px){
  :is(.ps-article-layout,.vipn-article-layout){grid-template-columns:minmax(0,1fr) 300px!important;gap:22px!important}
  :is(.ps-article-hero,.vipn-article-hero){grid-template-columns:minmax(260px,40%) minmax(0,1fr)!important}
  :is(.ps-article-intro,.vipn-article-intro) h1{font-size:clamp(2rem,3.4vw,3rem)!important}
}
@media(max-width:940px){
  .ps-public-container:is(.ps-article-layout,.vipn-article-layout),
  .vipn-container:is(.ps-article-layout,.vipn-article-layout){
    width:min(var(--ps-public-container,1240px),calc(100% - 28px))!important;
  }
  :is(.ps-article-layout,.vipn-article-layout){grid-template-columns:1fr!important}
  :is(.ps-article-sidebar,.vipn-article-sidebar){position:static!important}
  :is(.ps-article-side-stack,.vipn-article-side-stack){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  :is(.ps-article-hero,.vipn-article-hero){grid-template-columns:1fr!important}
  :is(.ps-article-image-wrap,.vipn-article-image-wrap),
  :is(.ps-article-image-wrap,.vipn-article-image-wrap) img{min-height:260px!important;max-height:420px}
  :is(.ps-article-side-stack,.vipn-article-side-stack){grid-template-columns:1fr}
  :is(.ps-article-content,.vipn-article-content){padding:24px!important}
}
@media(max-width:480px){
  .ps-public-container:is(.ps-article-layout,.vipn-article-layout),
  .vipn-container:is(.ps-article-layout,.vipn-article-layout),
  :is(.ps-article-page-leaderboard,.vipn-article-page-leaderboard) > .ps-public-container,
  :is(.ps-article-page-leaderboard,.vipn-article-page-leaderboard) > .vipn-container{
    width:calc(100% - 20px)!important;
  }
  :is(.ps-article-intro,.vipn-article-intro){padding:22px!important}
  :is(.ps-article-intro,.vipn-article-intro) h1{font-size:clamp(1.9rem,9vw,2.55rem)!important}
}
