/* All rules are scoped to the new section. No global resets. */
.vn-now {
  --vn-cream: #f6f1e6;
  --vn-ink: #111111;
  --vn-green: #38573d;
  --vn-muted: #65635c;
  --vn-gutter: var(--page-gutter, clamp(20px, 3.5vw, 76px));
  --vn-card-width: clamp(400px, 52vw, 560px);
  --vn-gap: clamp(16px, 2vw, 24px);
  color: var(--vn-ink);
  background: var(--vn-cream);
  font-family: Inter, Arial, sans-serif;
  padding-block: clamp(32px, 3.5vw, 48px) 18px;
  border-bottom: 1px solid rgba(17, 17, 17, .16);
}
.vn-now *, .vn-now *::before, .vn-now *::after { box-sizing: border-box; }
.vn-now [hidden] { display: none !important; }
.vn-now__header {
  display: flex;
  align-items: center;
  margin-inline: var(--vn-gutter);
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(17, 17, 17, .16);
}
.vn-now__heading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .055em;
  line-height: 1.3;
  text-transform: uppercase;
  white-space: nowrap;
}
.vn-now__heading::before { content: ""; flex: 0 0 28px; height: 1px; background: currentColor; }
.vn-now__arrow {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(17, 17, 17, .2);
  border-radius: 50%;
  background: transparent;
  color: var(--vn-ink);
  cursor: pointer;
  transition: background 180ms ease, border-color 180ms ease;
}
.vn-now__arrow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.vn-now__arrow:disabled { color: #96948c; border-color: rgba(17,17,17,.1); cursor: default; }
.vn-now__track {
  display: flex;
  align-items: stretch;
  gap: var(--vn-gap);
  width: 100%;
  margin: 0;
  padding: 22px max(var(--vn-gutter), calc((100% - var(--vn-card-width)) / 2)) 30px;
  list-style: none;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--vn-gutter);
  scrollbar-width: none;
  touch-action: pan-x pan-y pinch-zoom;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
}
.vn-now__track::-webkit-scrollbar { display: none; }
.vn-now__track[data-dragging="true"] { scroll-snap-type: none; scroll-behavior: auto; cursor: grabbing; user-select: none; }
.vn-now__track[data-dragging="true"] * { cursor: grabbing !important; user-select: none; }
.vn-now__slide {
  display: flex;
  flex: 0 0 var(--vn-card-width);
  min-width: 0;
  scroll-snap-align: center;
  scroll-snap-stop: always;
}
.vn-now__card {
  --vn-surface: var(--vn-cream);
  --vn-card-text: var(--vn-ink);
  --vn-card-muted: #5f5c54;
  --vn-glass-wash: rgba(255,255,255,.12);
  --vn-control-bg: rgba(255,255,255,.3);
  --vn-control-hover: rgba(255,255,255,.46);
  --vn-control-border: rgba(17,17,17,.16);
  --vn-asset-opacity: .2;
  --vn-asset-opacity-active: .28;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  min-height: 328px;
  padding: 22px 24px;
  color: var(--vn-card-text);
  border: 1px solid rgba(255, 255, 255, .92);
  border-radius: 28px;
  background: var(--vn-surface);
  box-shadow:
    0 22px 44px rgba(17,17,17,.18),
    0 7px 16px rgba(17,17,17,.12);
  opacity: var(--vn-opacity, .78);
  filter: grayscale(var(--vn-gray, .12)) saturate(var(--vn-saturation, .9));
  transform: scale(calc(var(--vn-scale, .925) * var(--vn-hover-scale, 1)));
  transform-origin: center;
  transition: border-color 180ms ease, box-shadow 220ms ease, opacity 200ms ease, filter 200ms ease, transform 220ms cubic-bezier(.23,1,.32,1);
  will-change: transform, opacity, filter;
}
.vn-now__card::before, .vn-now__card::after { content:none; }
.vn-now__card[data-active="true"] {
  border-color: rgba(255,255,255,.98);
  box-shadow:
    0 30px 58px rgba(17,17,17,.24),
    0 10px 22px rgba(17,17,17,.15);
}
.vn-now__card--theme-ink {
  --vn-surface: #111111;
  --vn-card-text: #f6f1e6;
  --vn-card-muted: rgba(246,241,230,.76);
  --vn-glass-wash: rgba(255,255,255,.08);
  --vn-control-bg: rgba(246,241,230,.1);
  --vn-control-hover: rgba(246,241,230,.18);
  --vn-control-border: rgba(246,241,230,.24);
}
.vn-now__card--theme-green {
  --vn-surface: #38573d;
  --vn-card-text: #f6f1e6;
  --vn-card-muted: rgba(246,241,230,.78);
  --vn-glass-wash: rgba(255,255,255,.1);
  --vn-control-bg: rgba(246,241,230,.1);
  --vn-control-hover: rgba(246,241,230,.18);
  --vn-control-border: rgba(246,241,230,.25);
}
.vn-now__card--has-image {
  --vn-surface: var(--vn-ink);
  --vn-card-text: var(--vn-cream);
  --vn-card-muted: rgba(246,241,230,.78);
  --vn-glass-wash: rgba(246,241,230,.08);
  --vn-control-bg: rgba(246,241,230,.1);
  --vn-control-hover: rgba(246,241,230,.18);
  --vn-control-border: rgba(246,241,230,.24);
  border-color: rgba(246,241,230,.82);
}
.vn-now__card--has-image[data-active="true"] { border-color: rgba(246,241,230,.96); }
.vn-now__card:not([data-active="true"]) { cursor: pointer; }
.vn-now__category {
  position: relative;
  z-index: 3;
  margin: 0;
  color: var(--vn-card-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  line-height: 1.4;
}
.vn-now__title { margin: 0; font-size: 38px; font-weight: 600; letter-spacing: -.055em; line-height: 1.01; text-wrap: balance; overflow-wrap: anywhere; }
.vn-now__copy { max-width: 42ch; margin: 0; color: var(--vn-card-muted); font-size: 15px; line-height: 1.46; overflow-wrap: anywhere; }
.vn-now__body { position: relative; z-index: 3; display: grid; align-content: start; gap: 10px; min-width: 0; margin-block: auto; padding-block: 4px; }
.vn-now__medium {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 104px;
  height: 104px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 16px;
  background: rgba(229,232,222,.78);
  color: var(--vn-green);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 5px 13px rgba(17,17,17,.07);
}
.vn-now__medium img, .vn-now__medium video { display: block; width: 100%; height: 100%; object-fit: cover; }
.vn-now__card .vn-now__medium.vn-now__medium--background {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  border-radius: inherit;
  background: none;
  box-shadow: none;
}
.vn-now__medium--background img {
  opacity: var(--vn-asset-opacity);
  filter: saturate(.78) contrast(.96);
  transform: scale(1.035);
  transition: opacity 200ms ease, filter 200ms ease, transform 260ms cubic-bezier(.23,1,.32,1);
}
.vn-now__card[data-active="true"] .vn-now__medium--background img { opacity: var(--vn-asset-opacity-active); filter: saturate(.88) contrast(1); }
.vn-now__placeholder { display: grid; justify-items: center; gap: 10px; font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.vn-now__placeholder svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1; }
.vn-now__card--media { gap: 12px; }
.vn-now__card--media .vn-now__medium { margin-top: -2px; }
.vn-now__card--media .vn-now__title { font-size: 37px; }
.vn-now__card--announcement .vn-now__category { color: var(--vn-card-muted); }
.vn-now__card--announcement .vn-now__body { gap: 10px; }
.vn-now__card--announcement .vn-now__title { max-width: 14ch; font-size: 41px; }
.vn-now__card--announcement .vn-now__copy { max-width: 36ch; color: var(--vn-card-muted); }
.vn-now__card--update .vn-now__medium { width: 82px; height: 82px; flex-basis: 82px; margin-top: 2px; border-radius: 18px; }
.vn-now__card--update .vn-now__placeholder { font-size: 12px; gap: 5px; }
.vn-now__card--update .vn-now__body { gap: 12px; }
.vn-now__action { position: relative; z-index: 3; display: flex; align-items: center; gap: 12px; min-height: 3.4rem; }
.vn-now__action:empty { display: none; }
.vn-now__cta {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: .75rem;
  min-height: 3.4rem;
  padding: .95rem 1.5rem;
  border: 1px solid var(--vn-control-border);
  border-radius: 999px;
  color: var(--vn-card-text);
  background: var(--vn-control-bg);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.64), 0 3px 8px rgba(17,17,17,.05);
  backdrop-filter: blur(12px) saturate(125%);
  -webkit-backdrop-filter: blur(12px) saturate(125%);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .045em;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.vn-now__cta-arrow { font-size: 1.2em; font-weight: 400; line-height: 1; transition: transform 180ms ease; }
/* An unavailable CTA is readable text, not a pretend link or button. */
.vn-now__cta--unavailable { cursor: default; color: var(--vn-card-muted); }
.vn-now__pending { color: var(--vn-card-muted); font-size: 12px; line-height: 1.4; }
.vn-now__card--announcement .vn-now__cta { color: var(--vn-card-text); border-color: var(--vn-control-border); background: var(--vn-control-bg); }
.vn-now__card--announcement .vn-now__cta--unavailable,
.vn-now__card--announcement .vn-now__pending { color: var(--vn-card-muted); }
.vn-now__navigation {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  min-height: 44px;
  margin: 26px 0 10px;
}
.vn-now__pagination { display: flex; justify-content: center; align-items: center; gap: 0; }
.vn-now__dot { display: grid; place-items: center; width: 34px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: none; cursor: pointer; }
.vn-now__dot::before { content: ""; width: 6px; height: 6px; border-radius: 999px; background: rgba(17,17,17,.24); transition: width 180ms ease, background 180ms ease; }
.vn-now__dot[aria-current="true"]::before { width: 18px; background: var(--vn-green); }
.vn-now :focus-visible { outline: 2px solid var(--vn-green); outline-offset: 4px; }
.vn-now__track:focus-visible { outline-offset: -5px; }
.vn-now__card--theme-ink :focus-visible,
.vn-now__card--theme-green :focus-visible,
.vn-now__card--has-image :focus-visible { outline-color: var(--vn-cream); }
.vn-now__card:focus-within { border-color: var(--vn-green); }
.vn-now__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.vn-now__fallback { margin: 24px var(--vn-gutter); color: var(--vn-muted); font-size: 14px; }
@media (hover: hover) and (pointer: fine) {
  .vn-now__arrow:not(:disabled):hover { border-color: var(--vn-green); background: rgba(56,87,61,.06); }
  .vn-now__card:hover {
    border-color: rgba(255,255,255,.12);
    box-shadow:
      0 50px 88px rgba(17,17,17,.25),
      0 20px 34px rgba(17,17,17,.16),
      0 6px 9px rgba(17,17,17,.12),
      -9px -9px 26px rgba(255,255,255,.52),
      inset 0 3px 2px rgba(255,255,255,1),
      inset 0 -7px 9px rgba(17,17,17,.18),
      inset 4px 0 4px rgba(255,255,255,.7),
      inset -4px 0 5px rgba(17,17,17,.12),
      inset 0 0 0 1px rgba(255,255,255,.06);
  }
  .vn-now__slide:hover .vn-now__card { --vn-hover-scale: 1.025; }
  .vn-now__cta[href]:hover { border-color: currentColor; background: var(--vn-control-hover); transform: translateY(-1px); }
  .vn-now__cta[href]:hover .vn-now__cta-arrow { transform: translateX(3px); }
  .vn-now__dot:hover::before { background: var(--vn-green); }
}
@media (max-width: 600px) {
  .vn-now { --vn-card-width: calc(83vw - 12px); --vn-gap: 12px; padding-top: 26px; padding-bottom: 18px; }
  .vn-now__header { gap: 12px; padding-bottom: 10px; }
  .vn-now__heading { gap: 9px; font-size: 11px; }
  .vn-now__heading::before { flex-basis: 20px; }
  .vn-now__card { min-height: 316px; padding: 20px; border-radius: 26px; }
  .vn-now__title,
  .vn-now__card--media .vn-now__title { font-size: 32px; }
  .vn-now__card--announcement .vn-now__title { font-size: 34px; }
  .vn-now__copy { max-width: 34ch; font-size: 14px; }
}
@media (max-width: 359px) {
  .vn-now__card { padding: 18px; gap: 12px; }
  .vn-now__card--media .vn-now__title { font-size: 29px; }
}
@media (prefers-reduced-motion: reduce) {
  .vn-now *, .vn-now *::before { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
