/* VitaAvanza route bundle source: /scrollbar.css */
:root {
  color-scheme: light;
  scrollbar-color: #E8520A #F3EFE8;
  scrollbar-width: thin;
}

::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: #F3EFE8;
}

::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #C4B89A;
}

::-webkit-scrollbar-thumb:hover {
  background: #E8520A;
}


/* VitaAvanza route bundle source: /cursor.css */
:root {
  --va-cursor-orange: rgba(232, 82, 10, 0.90);
  --va-cursor-orange-soft: rgba(232, 82, 10, 0.50);
  --va-cursor-violet: rgba(91, 33, 182, 0.82);
  --va-cursor-violet-soft: rgba(91, 33, 182, 0.45);
}

@media (hover: hover) and (pointer: fine) {
  html.va-custom-cursor.va-cursor-active body,
  html.va-custom-cursor.va-cursor-active body * {
    cursor: none !important;
  }

  html.va-custom-cursor.va-cursor-active input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  html.va-custom-cursor.va-cursor-active textarea,
  html.va-custom-cursor.va-cursor-active select,
  html.va-custom-cursor.va-cursor-active option,
  html.va-custom-cursor.va-cursor-active [contenteditable="true"] {
    cursor: text !important;
  }
}

.va-cursor,
.va-cursor-dot {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0;
  z-index: 2147483647;
  isolation: isolate;
  transform: translate3d(-100px, -100px, 0);
  transition:
    transform 85ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity 180ms ease,
    width 220ms cubic-bezier(0.16, 1, 0.3, 1),
    height 220ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 220ms ease,
    box-shadow 220ms ease,
    background 220ms ease,
    filter 220ms ease;
  will-change: transform, opacity, width, height;
}

.va-cursor-dot {
  transition-duration: 35ms, 180ms, 220ms, 220ms, 220ms, 220ms, 220ms, 220ms;
}

.va-cursor {
  width: 34px;
  height: 34px;
  border: 1.5px solid var(--va-cursor-orange-soft);
  border-radius: 999px;
  background:
    radial-gradient(circle at center, rgba(255, 255, 255, 0.65), transparent 40%),
    linear-gradient(135deg, rgba(232, 82, 10, 0.14), rgba(91, 33, 182, 0.10));
  box-shadow:
    0 0 0 1px rgba(28, 25, 23, 0.06),
    0 0 28px rgba(232, 82, 10, 0.22),
    0 0 16px rgba(91, 33, 182, 0.14),
    inset 0 0 18px rgba(232, 82, 10, 0.06);
}

.va-cursor::before,
.va-cursor::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
}

.va-cursor::before {
  inset: -16px;
  background: radial-gradient(circle, rgba(232, 82, 10, 0.12) 0%, rgba(91, 33, 182, 0.06) 42%, transparent 72%);
  filter: blur(12px);
  opacity: 0.88;
}

.va-cursor::after {
  inset: 5px;
  border: 1px solid rgba(28, 25, 23, 0.05);
}

.va-cursor-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #E8520A;
  box-shadow:
    0 0 0 1px rgba(232, 82, 10, 0.4),
    0 0 16px rgba(232, 82, 10, 0.50),
    0 0 8px rgba(91, 33, 182, 0.30);
}

html.va-cursor-visible .va-cursor,
html.va-cursor-visible .va-cursor-dot {
  opacity: 1;
}

html.va-cursor-hover .va-cursor {
  width: 46px;
  height: 46px;
  border-color: var(--va-cursor-violet-soft);
  background: linear-gradient(135deg, rgba(232, 82, 10, 0.10), rgba(91, 33, 182, 0.08));
  box-shadow:
    0 0 32px rgba(232, 82, 10, 0.18),
    0 0 20px rgba(91, 33, 182, 0.14),
    inset 0 0 22px rgba(232, 82, 10, 0.05);
}

html.va-cursor-hover .va-cursor-dot {
  width: 10px;
  height: 10px;
  background: linear-gradient(135deg, #E8520A, #5B21B6);
  box-shadow:
    0 0 20px rgba(232, 82, 10, 0.45),
    0 0 12px rgba(91, 33, 182, 0.28);
}

html.va-cursor-press .va-cursor {
  width: 24px;
  height: 24px;
}

html.va-cursor-press .va-cursor-dot {
  width: 5px;
  height: 5px;
}

html.va-cursor-native .va-cursor,
html.va-cursor-native .va-cursor-dot {
  opacity: 0 !important;
}


/* VitaAvanza route bundle source: /cookie-banner.css */
.va-cookie-banner {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 10000;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

.va-cookie-banner__panel {
  position: relative;
  width: min(100%, 72rem);
  pointer-events: auto;
  border: 1px solid rgba(28, 25, 23, 0.10);
  border-radius: 28px;
  padding: 1rem 1rem 1.1rem;
  background: #FFFFFF;
  box-shadow: 0 22px 60px rgba(28, 25, 23, 0.10), 0 0 30px rgba(91, 33, 182, 0.06);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  color: #1C1917;
  transition: opacity 220ms ease, transform 220ms ease;
}

.va-cookie-banner__panel.is-leaving {
  opacity: 0;
  transform: translateY(1rem) scale(0.98);
}

.va-cookie-banner__inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.va-cookie-banner__copy {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.va-cookie-banner__eyebrow {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #5B21B6;
}

.va-cookie-banner__title {
  font-size: 1rem;
  font-weight: 700;
  color: #1C1917;
}

.va-cookie-banner__body {
  font-size: 0.92rem;
  line-height: 1.65;
  color: #44403C;
  max-width: 58rem;
}

.va-cookie-banner__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.va-cookie-banner__button,
.va-cookie-banner__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.85rem;
  padding: 0 1.1rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.va-cookie-banner__button:hover,
.va-cookie-banner__link:hover {
  transform: translateY(-1px);
}

.va-cookie-banner__button--ghost {
  border: 1px solid rgba(28, 25, 23, 0.12);
  background: rgba(28, 25, 23, 0.04);
  color: #44403C;
}

.va-cookie-banner__button--primary {
  border: 1px solid rgba(232, 82, 10, 0.18);
  background: linear-gradient(135deg, #E8520A, #5B21B6);
  color: #ffffff;
  box-shadow: 0 0 24px rgba(232, 82, 10, 0.20);
}

.va-cookie-banner__link {
  color: #44403C;
}

body[data-cookie-theme="mitra"] .va-cookie-banner__panel {
  overflow: hidden;
  border-color: rgba(139, 92, 246, 0.24);
  border-radius: 22px;
  background: rgba(7, 5, 16, 0.94);
  box-shadow: 0 24px 60px rgba(2, 1, 8, 0.6), 0 0 42px rgba(139, 92, 246, 0.12);
}

body[data-cookie-theme="mitra"] .va-cookie-banner__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.16) 50%),
    linear-gradient(90deg, rgba(139, 92, 246, 0.03), rgba(45, 212, 191, 0.02), rgba(139, 92, 246, 0.03));
  background-size: 100% 2px, 3px 100%;
  opacity: 0.35;
}

body[data-cookie-theme="mitra"] .va-cookie-banner__eyebrow,
body[data-cookie-theme="mitra"] .va-cookie-banner__title,
body[data-cookie-theme="mitra"] .va-cookie-banner__button,
body[data-cookie-theme="mitra"] .va-cookie-banner__link {
  font-family: "Space Grotesk", "Manrope", sans-serif;
}

body[data-cookie-theme="mitra"] .va-cookie-banner__eyebrow {
  color: rgba(196, 181, 253, 0.92);
}

body[data-cookie-theme="mitra"] .va-cookie-banner__button--ghost {
  border-color: rgba(139, 92, 246, 0.2);
  background: rgba(139, 92, 246, 0.08);
}

body[data-cookie-theme="mitra"] .va-cookie-banner__button--primary {
  border-color: rgba(94, 234, 212, 0.24);
  box-shadow: 0 0 24px rgba(45, 212, 191, 0.18);
}

@media (min-width: 768px) {
  .va-cookie-banner__inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }

  .va-cookie-banner__actions {
    justify-content: flex-end;
    flex-shrink: 0;
  }
}


/* VitaAvanza route bundle source: /page-transition.css */
@media (prefers-reduced-motion: no-preference) {

  @view-transition {
    navigation: auto;
  }

  ::view-transition-old(root) {
    animation: va-vt-out 0.18s cubic-bezier(0.4, 0, 1, 1) forwards;
    transform-origin: center top;
  }

  ::view-transition-new(root) {
    animation: va-vt-in 0.30s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    transform-origin: center top;
  }

  @keyframes va-vt-out {
    to {
      opacity: 0;
      transform: translateY(-10px) scale(0.984);
    }
  }

  @keyframes va-vt-in {
    from {
      opacity: 0;
      transform: translateY(18px) scale(0.992);
    }
  }

  html {
    background: #FAF8F5;
  }

  body {
    animation: va-page-enter 0.32s cubic-bezier(0.22, 1, 0.36, 1) both;
    transform-origin: center top;
    transition:
      opacity 0.18s cubic-bezier(0.4, 0, 1, 1),
      transform 0.20s cubic-bezier(0.4, 0, 1, 1);
  }

  @keyframes va-page-enter {
    from {
      opacity: 0;
      transform: translateY(18px) scale(0.992);
    }
  }

  body.va-page-leaving {
    opacity: 0;
    transform: translateY(-10px) scale(0.984);
    pointer-events: none;
  }
}


/* VitaAvanza route bundle source: /mobile-optimize.css */
/* ==========================================================================
   VitaAvanza — Mobile Optimization Layer
   Production-grade mobile fixes applied globally across all pages.
   ========================================================================== */

/* ── Base resets ── */
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
img, video, iframe {
  max-width: 100%;
  height: auto;
}

/* ── iOS safe area support ── */
@supports (padding: env(safe-area-inset-bottom)) {
  .va-nav-drawer {
    padding-bottom: env(safe-area-inset-bottom);
  }
  #site-nav {
    padding-top: env(safe-area-inset-top);
  }
}

/* ── Touch targets — minimum 44x44px ── */
@media (max-width: 767px) {
  /* Ensure all interactive pill/tag elements have adequate tap height */
  a[class*="rounded-full"],
  button[class*="rounded-full"] {
    min-height: 2.75rem;
  }
}

/* ── Typography floor — ensure readability ── */
@media (max-width: 767px) {
  /* Hero headings scale */
  h1[class*="text-[3"],
  h1[class*="text-[4"],
  h1[class*="text-[5"],
  h1[class*="text-[6"],
  h1[class*="text-[7"] {
    font-size: clamp(2rem, 8vw, 4.5rem) !important;
    line-height: 1.05 !important;
  }

  /* Section headings */
  h2[class*="text-4xl"],
  h2[class*="text-5xl"],
  h3[class*="text-4xl"],
  h3[class*="text-5xl"],
  h3[class*="text-6xl"] {
    font-size: clamp(1.75rem, 7vw, 3rem) !important;
    line-height: 1.1 !important;
  }

  /* Body text minimum */
  p, li, span:not([class*="text-["]):not([class*="tracking-"]) {
    font-size: max(var(--tw-font-size, inherit), 0.875rem);
  }
}

/* ── Layout collapse — grids to single column ── */
@media (max-width: 767px) {
  /* Force multi-column grids to single column */
  .grid[class*="sm:grid-cols-2"][class*="lg:grid-cols-3"],
  .grid[class*="sm:grid-cols-2"][class*="lg:grid-cols-4"],
  .grid[class*="sm:grid-cols-2"][class*="xl:grid-cols-4"] {
    grid-template-columns: 1fr !important;
  }

  /* Stats row — 2x2 on small phones */
  .grid[class*="sm:grid-cols-2"]:not([class*="lg:grid-cols-3"]):not([class*="lg:grid-cols-4"]):not([class*="xl:grid-cols-4"]) {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Side-by-side hero/feature layouts stack */
  .grid[class*="lg:grid-cols-2"],
  .grid[class*="lg:grid-cols-["] {
    grid-template-columns: 1fr !important;
  }

  /* Recognition strip wraps naturally */
  section[class*="py-5"] > div[class*="flex-wrap"] {
    gap: 0.5rem;
    justify-content: center;
  }

  /* Full-width CTAs on small phones */
  a[class*="px-8"][class*="py-4"],
  a[class*="magnetic-btn"] {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
}

/* ── Small phone specific (< 480px) ── */
@media (max-width: 479px) {
  /* CTA buttons full width */
  .flex[class*="sm:flex-row"] {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .flex[class*="sm:flex-row"] > a,
  .flex[class*="sm:flex-row"] > button {
    width: 100%;
  }

  /* Reduce side padding */
  .max-w-7xl {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  /* Glass panels need adequate padding */
  .glass-panel {
    padding: 1.25rem !important;
  }

  /* Founder card image smaller on tiny screens */
  .founder-card .w-44 {
    width: 9rem !important;
    height: 9rem !important;
  }
}

/* ── Table responsiveness ── */
@media (max-width: 767px) {
  table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* ── Touch devices — persistent hover states ── */
@media (hover: none) {
  .glass-panel {
    transform: none !important;
  }

  .va-site-nav-link::before,
  .va-site-nav-link::after {
    display: none;
  }
}

/* ── Performance — reduce motion ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── Canvas touch interaction ── */
canvas {
  touch-action: pan-y;
}

/* ── Prevent iOS zoom on form focus ── */
@media (max-width: 767px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="search"],
  input[type="password"],
  input[type="number"],
  textarea,
  select {
    font-size: 16px !important;
  }
}

/* ── Cookie banner mobile constraints ── */
@media (max-width: 767px) {
  [data-cookie-banner],
  .cookie-banner {
    max-height: 40vh;
    overflow-y: auto;
  }
}

/* ── Footer mobile stacking ── */
@media (max-width: 767px) {
  .va-footer-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ── Hero mobile padding reduction ── */
@media (max-width: 767px) {
  header[class*="pt-40"],
  header[class*="pt-44"] {
    padding-top: 7rem !important;
    padding-bottom: 2rem !important;
  }

  header[class*="min-h-[90vh]"],
  header[class*="min-h-screen"] {
    min-height: 80vh !important;
  }
}

/* ── Models page stats grid — 2x2 on mobile ── */
@media (max-width: 767px) {
  .model-stats[class*="grid-cols-4"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1rem !important;
  }

  .model-stats[class*="grid-cols-3"],
  div[class*="grid-cols-3"][class*="mt-8"]:not([class*="md:"]):not([class*="lg:"]) {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ── Model cards — stack on mobile ── */
@media (max-width: 767px) {
  .grid.grid-cols-1.lg\:grid-cols-2[class*="gap-6"] {
    gap: 2rem !important;
  }
}

/* ── Pricing cards equal height on mobile ── */
@media (max-width: 767px) {
  .grid.grid-cols-1.lg\:grid-cols-3 {
    gap: 1.5rem !important;
  }
}

/* ── DVI dimension cards ── */
@media (max-width: 479px) {
  .grid.grid-cols-1.md\:grid-cols-2[class*="gap-5"] {
    gap: 1rem !important;
  }
}

/* ── Team grid — single column on mobile ── */
@media (max-width: 767px) {
  .grid[class*="md:grid-cols-2"][class*="lg:grid-cols-3"] {
    grid-template-columns: 1fr !important;
  }
}

/* ── Nav bar overflow prevention ── */
@media (max-width: 767px) {
  nav .grid-cols-\[minmax\(0\,1fr\)_auto_minmax\(0\,1fr\)\] {
    gap: 0.25rem !important;
  }

  nav .whitespace-nowrap {
    font-size: 12px !important;
    padding: 0.4rem 0.75rem !important;
  }
}

/* ── Recognition strip scroll on small screens ── */
@media (max-width: 479px) {
  section[class*="py-5"] > div[class*="flex-wrap"] {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 0.5rem;
  }

  section[class*="py-5"] > div[class*="flex-wrap"] > a,
  section[class*="py-5"] > div[class*="flex-wrap"] > span {
    flex-shrink: 0;
    scroll-snap-align: start;
  }
}

/* ── Contact form mobile padding ── */
@media (max-width: 767px) {
  form[class*="glass-panel"] {
    padding: 1.5rem !important;
  }
}

/* ── About page timeline vertical on mobile ── */
@media (max-width: 767px) {
  .grid[class*="lg:grid-cols-[1fr_1.05fr]"],
  .grid[class*="lg:grid-cols-[1.2fr_1fr]"] {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
}

/* ── Spec bars full width on mobile ── */
@media (max-width: 767px) {
  .spec-bar {
    width: 100% !important;
  }
}

/* ── Organizations stats grid ── */
@media (max-width: 479px) {
  .grid[class*="grid-cols-2"][class*="lg:grid-cols-4"] {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
  }
}

/* ── Prevent horizontal scroll from absolute elements ── */
@media (max-width: 767px) {
  .orb1, .orb2, .orb3 {
    display: none !important;
  }
}

/* ── Landscape phone optimization ── */
@media (max-height: 500px) and (orientation: landscape) {
  header[class*="min-h-[90vh]"],
  header[class*="min-h-screen"] {
    min-height: auto !important;
    padding-top: 5rem !important;
    padding-bottom: 2rem !important;
  }
}

/* ── Print: hide non-essential elements ── */
@media print {
  #site-nav, canvas, .va-nav-drawer, .va-nav-overlay {
    display: none !important;
  }
}


/* VitaAvanza route bundle source: /vita-design-system.css */
:root {
  --va-canvas-primary: #faf8f5;
  --va-canvas-secondary: #f3efe8;
  --va-surface-deep: #ebe4d8;
  --va-surface-system: rgba(255, 255, 255, 0.78);
  --va-surface-intelligence: rgba(250, 248, 245, 0.72);

  --va-ink-primary: #1c1917;
  --va-text-secondary: #57534e;
  --va-text-muted: #78716c;

  --va-violet: #5b21b6;
  --va-violet-deep: #4c1d95;
  --va-violet-light: #6d44d1;
  --va-intelligence: #c12be3;
  --va-intelligence-text: #a21caf;
  --va-action: #e8520a;
  --va-action-text: #c2410c;
  --va-governed: #0891b2;
  --va-governed-text: #0e7490;
  --va-success: #059669;
  --va-success-text: #047857;

  --va-border-subtle: rgba(28, 25, 23, 0.12);
  --va-border-soft: rgba(28, 25, 23, 0.08);
  --va-border-control: #8f877f;
  --va-border-intelligence: rgba(91, 33, 182, 0.18);
  --va-border-governed: rgba(8, 145, 178, 0.22);

  --va-radius-control: 8px;
  --va-radius-small: 12px;
  --va-radius-surface: 16px;
  --va-radius-panel: 20px;
  --va-radius-editorial: 28px;
  --va-radius-pill: 9999px;

  --va-shadow-floating: 0 12px 40px rgba(28, 25, 23, 0.07);

  --va-glass-air-fill:
    linear-gradient(145deg, rgba(255, 255, 255, 0.48), rgba(255, 252, 249, 0.26));
  --va-glass-air-border: rgba(255, 255, 255, 0.70);
  --va-glass-air-filter: blur(22px) saturate(132%);
  --va-glass-air-highlight:
    inset 0 1px 0 rgba(255, 255, 255, 0.94),
    inset 1px 0 0 rgba(255, 255, 255, 0.42),
    inset -1px 0 0 rgba(91, 33, 182, 0.025);
  --va-glass-air-shadow: 0 14px 42px rgba(45, 24, 68, 0.055);

  --va-glass-system-fill:
    linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(250, 247, 243, 0.58) 52%, rgba(244, 239, 233, 0.52));
  --va-glass-system-border: rgba(255, 255, 255, 0.78);
  --va-glass-system-filter: blur(24px) saturate(126%);
  --va-glass-system-highlight:
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    inset 1px 0 0 rgba(255, 255, 255, 0.44),
    inset -1px 0 0 rgba(91, 33, 182, 0.028),
    0 0 0 1px rgba(91, 33, 182, 0.045);
  --va-glass-system-shadow: 0 28px 78px rgba(45, 24, 68, 0.085), 0 6px 18px rgba(45, 24, 68, 0.035);

  --va-glass-intelligence-fill:
    linear-gradient(142deg, rgba(255, 255, 255, 0.80), rgba(250, 247, 245, 0.54) 48%, rgba(247, 241, 249, 0.54));
  --va-glass-intelligence-border: rgba(255, 255, 255, 0.80);
  --va-glass-intelligence-filter: blur(26px) saturate(134%);
  --va-glass-intelligence-highlight:
    inset 0 1px 0 rgba(255, 255, 255, 0.97),
    inset 1px 0 0 rgba(255, 255, 255, 0.42),
    inset -1px 0 0 rgba(193, 43, 227, 0.035),
    0 0 0 1px rgba(91, 33, 182, 0.065);
  --va-glass-intelligence-shadow: 0 30px 82px rgba(45, 24, 68, 0.09), 0 7px 20px rgba(91, 33, 182, 0.035);

  --va-glass-private-fill:
    linear-gradient(145deg, rgba(255, 255, 255, 0.76), rgba(235, 228, 216, 0.60));
  --va-glass-private-filter: blur(34px) saturate(112%);
  --va-glass-governed-fill:
    linear-gradient(138deg, rgba(255, 255, 255, 0.84), rgba(250, 248, 245, 0.66));
  --va-glass-governed-filter: blur(22px) saturate(126%);

  --va-glass-violet-light: rgba(91, 33, 182, 0.12);
  --va-glass-magenta-light: rgba(193, 43, 227, 0.10);
  --va-glass-cyan-light: rgba(8, 145, 178, 0.10);
  --va-glass-specular: rgba(255, 255, 255, 0.72);

  --va-font-editorial: "Instrument Serif", Georgia, serif;
  --va-font-interface: "Manrope", Arial, sans-serif;
  --va-font-system: "JetBrains Mono", ui-monospace, monospace;

  --va-content-width: 86rem;
  --va-copy-width: 43rem;
  --va-ease-standard: cubic-bezier(0.22, 1, 0.36, 1);
}

body[data-va-page="home"] {
  margin: 0;
  background: var(--va-canvas-primary);
  color: var(--va-ink-primary);
  font-family: var(--va-font-interface);
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body[data-va-page="home"] *,
body[data-va-page="home"] *::before,
body[data-va-page="home"] *::after {
  box-sizing: border-box;
}

.ci-home :where(h1, h2, h3, p, ul, ol, dl, dd, blockquote, figure) {
  margin: 0;
}

.ci-home :where(ul, ol) {
  padding: 0;
}

.ci-home :where(a) {
  color: inherit;
}

.va-canvas {
  background: var(--va-canvas-primary);
}

.va-eyebrow,
.va-system-label {
  display: inline-flex;
  align-items: center;
  gap: 0.62rem;
  color: var(--va-violet);
  font-family: var(--va-font-system);
  font-size: 0.69rem;
  font-weight: 600;
  letter-spacing: 0.19em;
  line-height: 1.4;
  text-transform: uppercase;
}

.va-system-label {
  color: var(--va-text-muted);
  font-size: 0.64rem;
  letter-spacing: 0.16em;
}

.va-eyebrow::before,
.va-state::before {
  width: 0.42rem;
  height: 0.42rem;
  flex: 0 0 auto;
  border-radius: var(--va-radius-pill);
  background: currentColor;
  content: "";
}

.va-surface,
.va-glass {
  position: relative;
  border: 1px solid var(--va-border-subtle);
  border-radius: var(--va-radius-surface);
  isolation: isolate;
  contain: paint;
}

.va-glass--air {
  overflow: hidden;
  border-color: var(--va-glass-air-border);
  background: var(--va-glass-air-fill);
  box-shadow: var(--va-glass-air-highlight), var(--va-glass-air-shadow);
  -webkit-backdrop-filter: var(--va-glass-air-filter);
  backdrop-filter: var(--va-glass-air-filter);
}

.va-surface--system,
.va-glass--system {
  --va-glass-fill: var(--va-glass-system-fill);
  --va-glass-border: var(--va-glass-system-border);
  --va-glass-filter: var(--va-glass-system-filter);
  --va-glass-highlight: var(--va-glass-system-highlight);
  --va-glass-shadow: var(--va-glass-system-shadow);
  overflow: hidden;
  border-color: rgba(255, 255, 255, 0.74);
  background: var(--va-glass-fill);
  box-shadow: var(--va-glass-highlight), var(--va-glass-shadow);
  -webkit-backdrop-filter: var(--va-glass-filter);
  backdrop-filter: var(--va-glass-filter);
}

.va-surface--system.va-surface--large {
  border-radius: var(--va-radius-panel);
}

.va-surface--floating {
  box-shadow: var(--va-glass-highlight, inset 0 1px 0 rgba(255, 255, 255, 0.78)),
    var(--va-glass-shadow, var(--va-shadow-floating));
}

.va-surface--intelligence,
.va-glass--intelligence {
  --va-glass-fill: var(--va-glass-intelligence-fill);
  --va-glass-border: var(--va-glass-intelligence-border);
  --va-glass-filter: var(--va-glass-intelligence-filter);
  --va-glass-highlight: var(--va-glass-intelligence-highlight);
  --va-glass-shadow: var(--va-glass-intelligence-shadow);
  overflow: hidden;
  border-color: rgba(255, 255, 255, 0.76);
  border-radius: var(--va-radius-panel);
  background: var(--va-glass-fill);
  box-shadow: var(--va-glass-highlight), var(--va-glass-shadow);
  -webkit-backdrop-filter: var(--va-glass-filter);
  backdrop-filter: var(--va-glass-filter);
}

.va-surface--system::after,
.va-surface--intelligence::after,
.va-glass--system::after,
.va-glass--intelligence::after,
.va-glass--air::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(
      circle 11rem at var(--glass-x, 14%) var(--glass-y, 4%),
      var(--va-glass-specular),
      rgba(255, 255, 255, 0.18) 28%,
      transparent 64%
    ),
    linear-gradient(122deg, rgba(255, 255, 255, 0.34), transparent 20%, transparent 72%, rgba(91, 33, 182, 0.035));
  content: "";
  opacity: 0.16;
  pointer-events: none;
  transition: opacity 240ms ease;
}

.is-specular-active.va-surface--system::after,
.is-specular-active.va-surface--intelligence::after,
[data-glass-specular].is-specular-active::after {
  opacity: clamp(0.08, var(--glass-specular-opacity, 0.18), 0.20);
}

.va-surface--system > *,
.va-surface--intelligence > *,
.va-glass--system > *,
.va-glass--intelligence > *,
.va-glass--air > * {
  position: relative;
  z-index: 1;
}

.va-surface--system::before,
.va-glass--system::before {
  position: absolute;
  z-index: 0;
  height: 1px;
  left: 1rem;
  right: 28%;
  top: 0;
  border-radius: var(--va-radius-pill);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.98) 18%, rgba(255, 255, 255, 0.46), transparent);
  content: "";
  opacity: 0.88;
  pointer-events: none;
}

.va-surface--intelligence::before,
.va-glass--intelligence::before {
  position: absolute;
  z-index: 0;
  inset: -34%;
  background:
    radial-gradient(circle at 82% 18%, rgba(193, 43, 227, 0.15), transparent 26%),
    radial-gradient(circle at 12% 76%, rgba(91, 33, 182, 0.13), transparent 34%);
  filter: blur(28px);
  opacity: 0.48;
  content: "";
  pointer-events: none;
  transform: scale(0.98);
  transition: opacity 700ms var(--va-ease-standard), transform 900ms var(--va-ease-standard);
}

.va-surface--intelligence.is-clear::before,
.va-surface--intelligence.is-visible::before {
  opacity: 0.72;
  transform: scale(1.015);
}

.va-state {
  display: inline-flex;
  align-items: center;
  gap: 0.48rem;
  color: var(--va-text-secondary);
  font-family: var(--va-font-system);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.va-state--context {
  color: var(--va-violet);
}

.va-state--intelligence {
  color: var(--va-intelligence-text);
}

.va-state--action {
  color: var(--va-action-text);
}

.va-state--governed {
  color: var(--va-governed-text);
}

.va-state--success {
  color: var(--va-success-text);
}

.va-button {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  border: 1px solid transparent;
  border-radius: var(--va-radius-pill);
  padding: 0.78rem 1.35rem;
  font-family: var(--va-font-interface);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition:
    transform 180ms var(--va-ease-standard),
    border-color 180ms ease,
    background-color 180ms ease,
    color 180ms ease;
}

.va-button:hover {
  transform: translateY(-1px);
}

.va-button:active {
  transform: translateY(0);
}

.va-button--primary {
  border-color: rgba(232, 82, 10, 0.28);
  background: var(--va-action-text);
  color: #fff;
}

.va-button--primary:hover {
  background: #9a3412;
}

.va-button--secondary {
  border-color: var(--va-glass-air-border);
  background: var(--va-glass-air-fill);
  box-shadow: var(--va-glass-air-highlight), 0 8px 28px rgba(45, 24, 68, 0.045);
  color: var(--va-ink-primary);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  backdrop-filter: blur(18px) saturate(130%);
}

.va-button--secondary:hover {
  border-color: var(--va-violet);
  background: rgba(255, 255, 255, 0.82);
}

.va-button--quiet {
  min-height: 2.55rem;
  border-color: rgba(143, 135, 127, 0.58);
  border-radius: var(--va-radius-control);
  background: rgba(255, 255, 255, 0.56);
  padding: 0.62rem 0.86rem;
  color: var(--va-text-secondary);
  font-size: 0.78rem;
}

.va-button--quiet:hover {
  border-color: var(--va-violet);
  color: var(--va-ink-primary);
}

body[data-va-page="home"] :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--va-governed-text);
  outline-offset: 4px;
}

@media (max-width: 767px) {
  .va-surface--system,
  .va-glass--system {
    --va-glass-filter: blur(18px) saturate(122%);
  }

  .va-surface--intelligence,
  .va-glass--intelligence {
    --va-glass-filter: blur(20px) saturate(128%);
  }

  .va-glass--air {
    -webkit-backdrop-filter: blur(16px) saturate(122%);
    backdrop-filter: blur(16px) saturate(122%);
  }

  .va-button {
    width: 100%;
    min-height: 3.1rem;
  }

  .va-button--quiet {
    width: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .va-button,
  .va-surface--system::after,
  .va-surface--intelligence::before,
  .va-surface--intelligence::after,
  .va-glass::before,
  .va-glass::after {
    transition: none;
  }

  .va-surface--intelligence::before,
  .va-glass--intelligence::before {
    opacity: 0.52;
    transform: none;
  }

  .va-button:hover,
  .va-button:active {
    transform: none;
  }
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .va-glass--air,
  .va-button--secondary {
    background: rgba(255, 255, 255, 0.88);
  }

  .va-surface--system,
  .va-glass--system,
  .va-surface--intelligence,
  .va-glass--intelligence {
    background: rgba(252, 250, 247, 0.94);
  }
}


/* VitaAvanza route bundle source: /product-vita.css */
:root {
  --pv-paper: #faf8f5;
  --pv-paper-deep: #f2eee8;
  --pv-app-canvas: #f2f6f4;
  --pv-app-canvas-cool: #eef3f5;
  --pv-app-card: #ffffff;
  --pv-app-soft: #f1f6f3;
  --pv-ink: #1c1917;
  --pv-muted: #6f6a66;
  --pv-faint: #716c68;
  --pv-line: rgba(28, 25, 23, 0.1);
  --pv-orange: #c83b00;
  --pv-orange-soft: #fff0e8;
  --pv-violet: #6325c7;
  --pv-violet-soft: #f1eaff;
  --pv-magenta: #a321bc;
  --pv-cyan: #007d82;
  --pv-cyan-soft: #e7fafa;
  --pv-green: #087a3e;
  --pv-green-soft: #e9fbf1;
  --pv-yellow: #7a6300;
  --pv-yellow-soft: #fff8dc;
  --pv-app-radius: 12px;
  --pv-stage-shadow: 0 34px 90px rgba(51, 39, 61, 0.11), 0 8px 24px rgba(51, 39, 61, 0.055);
}

body[data-va-page="product"] {
  margin: 0;
  overflow-x: clip;
  background: var(--pv-paper);
  color: var(--pv-ink);
  font-family: var(--va-font-interface);
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body[data-va-page="product"] *,
body[data-va-page="product"] *::before,
body[data-va-page="product"] *::after {
  box-sizing: border-box;
}

.pv-page :where(h1, h2, h3, h4, p, ul, ol, dl, dd, blockquote, figure) {
  margin: 0;
}

.pv-page :where(ul, ol) {
  padding: 0;
}

.pv-page :where(a) {
  color: inherit;
}

.pv-page button {
  color: inherit;
  font: inherit;
}

.ci-skip-link {
  position: fixed;
  z-index: 1000;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.7rem 1rem;
  border-radius: 8px;
  background: var(--pv-ink);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-140%);
}

.ci-skip-link:focus {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

body[data-va-page="product"] :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--pv-violet);
  outline-offset: 4px;
}

body[data-va-page="product"] .pv-proof-rail:focus-visible {
  outline: 3px solid var(--pv-violet);
  outline-offset: 4px;
}

body[data-va-page="product"] .va-button--primary {
  color: #fff;
}

body[data-va-page="product"] .va-eyebrow,
body[data-va-page="product"] .va-system-label {
  font-size: 0.7rem;
}

body[data-va-page="product"] [data-nav-shine]::before,
body[data-va-page="product"] .va-trust-kicker::before,
body[data-va-page="product"] .va-trust-marquee-track,
body[data-va-page="product"] .va-trust-card::after,
body[data-va-page="product"] .va-trust-pill .dot,
body[data-va-page="product"] .va-bottom-status::before {
  animation: none !important;
}

.pv-shell {
  width: min(calc(100% - 3rem), 90rem);
  margin-inline: auto;
}

.pv-ambient {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.pv-ambient::before,
.pv-ambient::after {
  position: absolute;
  border-radius: 50%;
  content: "";
  filter: blur(90px);
  opacity: 0.48;
}

.pv-ambient--hero::before {
  width: 48rem;
  height: 38rem;
  top: -18rem;
  right: -14rem;
  background: rgba(193, 43, 227, 0.12);
}

.pv-ambient--hero::after {
  width: 42rem;
  height: 34rem;
  bottom: -17rem;
  left: -12rem;
  background: rgba(232, 82, 10, 0.11);
}

.pv-js [data-pv-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity 720ms var(--va-ease-standard) var(--pv-delay, 0ms),
    transform 820ms var(--va-ease-standard) var(--pv-delay, 0ms);
}

.pv-js [data-pv-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Hero */
.pv-hero {
  position: relative;
  min-height: 0;
  padding: calc(var(--va-site-nav-clearance, 6.25rem) + var(--va-hero-gap-product, 3.25rem)) 0 var(--va-hero-bottom-product, 6rem);
  overflow: hidden;
  border-bottom: 1px solid var(--pv-line);
}

.pv-hero__layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(20rem, 0.74fr) minmax(40rem, 1.35fr);
  align-items: start;
  gap: clamp(2.5rem, 5vw, 5.5rem);
}

.pv-hero__copy {
  max-width: 37rem;
}

.pv-hero h1,
.pv-intro h2,
.pv-journey__heading h2,
.pv-editorial h2,
.pv-call__copy h2,
.pv-context__copy h2,
.pv-environment h2,
.pv-boundary h2,
.pv-institution__intro h2,
.pv-proof h2,
.pv-closing h2 {
  font-family: var(--va-font-editorial);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.94;
}

.pv-hero h1 {
  margin-top: 1.4rem;
  font-size: clamp(4.15rem, 6.8vw, 7.3rem);
}

.pv-page em {
  color: var(--pv-violet);
  font-weight: 400;
}

.pv-hero__lede {
  max-width: 34rem;
  margin-top: 2rem;
  color: var(--pv-muted);
  font-size: clamp(1.05rem, 1.25vw, 1.24rem);
  line-height: 1.72;
}

.pv-hero__proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.6rem;
}

.pv-hero__proof span,
.pv-chapter-proof span {
  display: inline-flex;
  align-items: center;
  gap: 0.48rem;
  padding: 0.55rem 0.72rem;
  border: 1px solid rgba(91, 33, 182, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.58);
  color: var(--pv-violet);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pv-hero__proof span::before,
.pv-chapter-proof span::before {
  width: 0.36rem;
  height: 0.36rem;
  border-radius: 50%;
  background: currentColor;
  content: "";
}

.pv-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2.2rem;
}

.pv-hero-console figcaption,
.pv-stage-caption {
  margin-top: 0.75rem;
  color: var(--pv-faint);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}

.pv-product-frame {
  position: relative;
  padding: 0.7rem;
  border-radius: 25px;
  box-shadow: var(--pv-stage-shadow);
}

.pv-product-frame::before {
  position: absolute;
  z-index: 2;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle 20rem at var(--glass-x, 18%) var(--glass-y, 5%), rgba(255, 255, 255, 0.75), transparent 62%);
  content: "";
  opacity: var(--glass-specular-opacity, 0.12);
  pointer-events: none;
}

/* Faithful Vita application shell */
.pv-app {
  position: relative;
  display: grid;
  grid-template-columns: 10.4rem minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(28, 25, 23, 0.08);
  border-radius: 17px;
  background: linear-gradient(135deg, var(--pv-app-canvas) 0%, #f6f4f5 48%, #eef6f3 100%);
  color: #23211f;
  font-family: var(--va-font-interface);
}

.pv-app--hero {
  min-height: 35rem;
}

.pv-app-nav {
  position: relative;
  z-index: 2;
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 1.15rem 0.8rem 0.85rem;
  border-right: 1px solid rgba(28, 25, 23, 0.08);
  background: rgba(255, 255, 255, 0.93);
}

.pv-app-brand {
  display: flex;
  align-items: center;
  gap: 0.58rem;
  min-width: 0;
  padding: 0 0.45rem 1.1rem;
}

.pv-app-brand img {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
}

.pv-app-brand span,
.pv-app-profile div {
  display: grid;
  min-width: 0;
  line-height: 1.2;
}

.pv-app-brand strong {
  font-size: 0.82rem;
}

.pv-app-brand small,
.pv-app-profile small {
  overflow: hidden;
  color: var(--pv-faint);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pv-app-nav ul {
  display: grid;
  gap: 0.24rem;
  list-style: none;
}

.pv-app-nav li,
.pv-app-nav li a {
  display: flex;
  align-items: center;
  gap: 0.52rem;
  min-width: 0;
}

.pv-app-nav li {
  border: 1px solid transparent;
  border-radius: 8px;
  color: #6b6764;
  font-size: 0.7rem;
  font-weight: 500;
}

.pv-app-nav li a {
  width: 100%;
  padding: 0.55rem 0.58rem;
  text-decoration: none;
}

.pv-app--hero .pv-app-nav li {
  padding: 0.55rem 0.58rem;
}

.pv-app-nav li i {
  width: 0.62rem;
  height: 0.62rem;
  flex: 0 0 auto;
  border: 1.5px solid currentColor;
  border-radius: 35% 65% 55% 45%;
}

.pv-app-nav li.is-active {
  border-color: rgba(237, 75, 8, 0.24);
  background: var(--pv-orange-soft);
  color: var(--pv-orange);
}

.pv-app-profile {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  margin-top: auto;
  padding: 0.68rem 0.55rem;
  border-radius: 9px;
  background: var(--pv-app-soft);
}

.pv-app-profile > span {
  display: grid;
  width: 1.65rem;
  height: 1.65rem;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(237, 75, 8, 0.15);
  border-radius: 50%;
  background: #fff;
  color: var(--pv-orange);
  font-size: 0.7rem;
}

.pv-app-profile strong {
  font-size: 0.7rem;
}

.pv-app-profile small {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.pv-app-brand small {
  overflow: visible;
  line-height: 1.2;
  text-overflow: clip;
  white-space: normal;
}

.pv-app-main {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding: 1.25rem;
}

.pv-app-home-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(10.5rem, 0.78fr);
  gap: 0.85rem;
}

.pv-ui-card {
  min-width: 0;
  border: 1px solid rgba(28, 25, 23, 0.09);
  border-radius: var(--pv-app-radius);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 2px 8px rgba(28, 25, 23, 0.035);
}

.pv-ui-card--welcome {
  display: flex;
  min-height: 17.2rem;
  flex-direction: column;
  padding: 1.25rem;
}

.pv-ui-badges,
.pv-chapter-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.pv-ui-badges span,
.pv-status,
.pv-ui-kicker,
.pv-opportunity-grid article > span,
.pv-inbox-row > span {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border-radius: 999px;
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  font-weight: 650;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.pv-ui-badges span {
  padding: 0.28rem 0.5rem;
}

.is-orange {
  background: var(--pv-orange-soft);
  color: var(--pv-orange);
}

.is-green {
  background: var(--pv-green-soft);
  color: var(--pv-green);
}

.is-cyan {
  background: var(--pv-cyan-soft);
  color: var(--pv-cyan);
}

.is-violet,
.is-magenta {
  background: var(--pv-violet-soft);
  color: var(--pv-violet);
}

.is-yellow {
  background: var(--pv-yellow-soft);
  color: #a77700;
}

.pv-ui-card--welcome h2 {
  margin-top: 1.05rem;
  font-size: clamp(1.45rem, 2.4vw, 2.25rem);
  line-height: 1.05;
}

.pv-ui-card--welcome > p {
  max-width: 30rem;
  margin-top: 0.68rem;
  color: var(--pv-muted);
  font-size: 0.72rem;
}

.pv-ui-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.55rem;
  margin-top: auto;
}

.pv-ui-facts div {
  padding: 0.72rem;
  border: 1px solid rgba(28, 25, 23, 0.05);
  border-radius: 8px;
  background: var(--pv-app-soft);
}

.pv-ui-facts dt,
.pv-ui-facts dd,
.pv-today-summary small,
.pv-document-stats small {
  font-size: 0.7rem;
}

.pv-ui-facts dt,
.pv-today-summary small,
.pv-document-stats small,
.pv-memory dt,
.pv-path-layout dt {
  color: var(--pv-faint);
  font-family: var(--va-font-system);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pv-ui-facts dd {
  margin-top: 0.28rem;
  font-weight: 650;
}

.pv-ui-card--snapshot {
  padding: 1.05rem;
}

.pv-ui-card__title {
  display: flex;
  align-items: center;
  gap: 0.48rem;
  min-width: 0;
}

.pv-ui-card__title strong {
  min-width: 0;
  font-size: 0.78rem;
}

.pv-ui-card__title > b,
.pv-ui-card__title > small {
  margin-left: auto;
  color: var(--pv-green);
  font-size: 0.7rem;
}

.pv-ui-icon {
  display: grid;
  width: 1.4rem;
  height: 1.4rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 7px;
  background: var(--pv-cyan-soft);
  color: var(--pv-cyan);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  font-weight: 700;
}

.pv-dvi-mini,
.pv-dvi-ring {
  position: relative;
  display: grid;
  border-radius: 50%;
  background: conic-gradient(var(--pv-orange) 0 76%, #ececeb 76% 100%);
  place-items: center;
}

.pv-dvi-mini {
  width: 6.2rem;
  height: 6.2rem;
  margin: 1rem auto;
}

.pv-dvi-mini::before,
.pv-dvi-ring::before {
  position: absolute;
  border-radius: 50%;
  background: #fff;
  content: "";
}

.pv-dvi-mini::before {
  inset: 0.6rem;
}

.pv-dvi-mini span,
.pv-dvi-ring span {
  position: relative;
  z-index: 1;
  display: grid;
  color: var(--pv-ink);
  font-size: 1.35rem;
  font-weight: 750;
  line-height: 1;
  text-align: center;
}

.pv-dvi-mini small,
.pv-dvi-ring small {
  margin-top: 0.25rem;
  color: var(--pv-faint);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.pv-mini-bars {
  display: grid;
  gap: 0.4rem;
}

.pv-mini-bars i,
.pv-progress,
.pv-dvi-dimensions i {
  position: relative;
  display: block;
  height: 0.36rem;
  overflow: hidden;
  border-radius: 99px;
  background: #e8e8e7;
}

.pv-mini-bars i::before,
.pv-progress i,
.pv-dvi-dimensions i b {
  display: block;
  width: var(--value);
  height: 100%;
  border-radius: inherit;
  background: var(--tone);
  content: "";
}

.pv-ui-card--inbox {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  padding: 1rem;
}

.pv-ui-card--inbox > .pv-ui-card__title {
  grid-column: 1 / -1;
}

.pv-inbox-row {
  display: grid;
  min-width: 0;
  gap: 0.45rem;
  padding: 0.75rem;
  border: 1px solid rgba(28, 25, 23, 0.05);
  border-radius: 8px;
  background: var(--pv-app-soft);
}

.pv-inbox-row > span {
  padding: 0.25rem 0.42rem;
}

.pv-inbox-row strong {
  font-size: 0.7rem;
  line-height: 1.35;
}

.pv-inbox-row small {
  margin-top: auto;
  color: var(--pv-orange);
  font-size: 0.7rem;
}

.pv-app-bottom {
  display: none;
}

/* Product chapter introduction */
.pv-intro {
  padding: clamp(6rem, 10vw, 10rem) 0;
  background: var(--pv-paper);
}

.pv-intro__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.7fr);
  align-items: end;
  gap: 2rem 5rem;
}

.pv-intro h2,
.pv-journey__heading h2,
.pv-editorial h2,
.pv-call__copy h2,
.pv-context__copy h2,
.pv-environment h2,
.pv-boundary h2,
.pv-institution__intro h2,
.pv-proof h2,
.pv-closing h2 {
  margin-top: 1rem;
  font-size: clamp(3.5rem, 6vw, 6rem);
}

.pv-intro__inner > p:not(.va-eyebrow) {
  max-width: 31rem;
  color: var(--pv-muted);
  font-size: 1.06rem;
  line-height: 1.75;
}

.pv-local-nav {
  grid-column: 1 / -1;
  display: flex;
  gap: 0.48rem;
  margin-top: 2.4rem;
  overflow-x: auto;
  scrollbar-width: thin;
}

.pv-local-nav a {
  flex: 0 0 auto;
  padding: 0.62rem 0.82rem;
  border: 1px solid var(--pv-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.66);
  color: var(--pv-muted);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  letter-spacing: 0.07em;
  text-decoration: none;
  text-transform: uppercase;
}

.pv-local-nav a:hover {
  border-color: rgba(91, 33, 182, 0.25);
  color: var(--pv-violet);
}

/* Persistent product stage */
.pv-journey {
  padding: clamp(5rem, 8vw, 8rem) 0 clamp(7rem, 12vw, 12rem);
  border-block: 1px solid var(--pv-line);
  background:
    radial-gradient(circle 44rem at 5% 28%, rgba(232, 82, 10, 0.055), transparent 68%),
    radial-gradient(circle 54rem at 92% 60%, rgba(91, 33, 182, 0.065), transparent 70%),
    var(--pv-paper-deep);
}

.pv-journey__heading {
  max-width: 55rem;
  margin-bottom: clamp(4rem, 7vw, 7rem);
}

.pv-journey__layout {
  display: grid;
  grid-template-columns: minmax(39rem, 1.58fr) minmax(20rem, 0.72fr);
  align-items: start;
  gap: clamp(3rem, 5vw, 5rem);
}

.pv-stage-column {
  align-self: stretch;
}

.pv-stage-sticky {
  position: sticky;
  top: 5.5rem;
}

.pv-stage-meta {
  display: flex;
  justify-content: space-between;
  margin: 0 0.5rem 0.75rem;
  color: var(--pv-violet);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.pv-product-frame--stage {
  padding: 0.62rem;
  border-radius: 22px;
}

.pv-app--stage {
  min-height: 36.5rem;
}

.pv-app-main--views {
  display: grid;
  min-height: 36.5rem;
  padding: 0;
}

.pv-app-view {
  min-width: 0;
  min-height: 100%;
  padding: 1.15rem;
}

.pv-app-view[hidden] {
  display: none;
}

.pv-view-head,
.pv-lumen-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--pv-line);
}

.pv-view-head > div {
  display: grid;
  gap: 0.45rem;
}

.pv-view-head h3 {
  font-size: 1.15rem;
  line-height: 1.15;
}

.pv-ui-kicker {
  padding: 0.3rem 0.5rem;
}

.pv-status {
  flex: 0 0 auto;
  padding: 0.4rem 0.58rem;
  border: 1px solid rgba(28, 25, 23, 0.08);
  background: rgba(255, 255, 255, 0.78);
  color: var(--pv-muted);
}

.pv-today-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.55rem;
  margin-top: 0.85rem;
}

.pv-today-summary > div {
  display: grid;
  gap: 0.25rem;
  padding: 0.68rem;
  border: 1px solid rgba(28, 25, 23, 0.06);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
}

.pv-today-summary strong {
  font-size: 0.7rem;
}

.pv-view-grid {
  display: grid;
  gap: 0.7rem;
  margin-top: 0.75rem;
}

.pv-view-grid--today {
  grid-template-columns: 1.2fr 0.8fr;
}

.pv-view-grid--today .pv-ui-card {
  padding: 0.82rem;
}

.pv-action-list {
  display: grid;
  gap: 0;
  margin-top: 0.65rem;
  list-style: none;
}

.pv-action-list li {
  display: grid;
  gap: 0.15rem;
  padding: 0.62rem 0;
  border-top: 1px solid var(--pv-line);
}

.pv-action-list span,
.pv-action-list strong {
  font-size: 0.7rem;
}

.pv-action-list span {
  color: var(--pv-orange);
  font-family: var(--va-font-system);
  text-transform: uppercase;
}

.pv-dvi-inline {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr;
}

.pv-dvi-inline .pv-dvi-mini {
  width: 5.2rem;
  height: 5.2rem;
  margin: 0.75rem auto;
}

.pv-dvi-inline dl,
.pv-dvi-card dl {
  display: grid;
  gap: 0.35rem;
}

.pv-dvi-inline dl div,
.pv-dvi-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  padding-top: 0.35rem;
  border-top: 1px solid var(--pv-line);
  font-size: 0.7rem;
}

.pv-view-grid--situation {
  grid-template-columns: 0.7fr 1.5fr;
}

.pv-situation-profile,
.pv-situation-reading {
  padding: 0.85rem;
}

.pv-situation-profile > small {
  color: var(--pv-faint);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.pv-situation-profile h4,
.pv-situation-reading h4 {
  margin-top: 0.45rem;
  font-size: 0.8rem;
  line-height: 1.35;
}

.pv-situation-profile dl {
  display: grid;
  gap: 0.4rem;
  margin-top: 0.75rem;
}

.pv-situation-profile dl div {
  display: grid;
  gap: 0.15rem;
  padding: 0.55rem;
  border-radius: 7px;
  background: var(--pv-app-soft);
  font-size: 0.7rem;
}

.pv-situation-profile dt {
  color: var(--pv-faint);
  font-family: var(--va-font-system);
  text-transform: uppercase;
}

.pv-situation-columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.pv-situation-columns div {
  padding: 0.6rem;
  border-radius: 7px;
  background: var(--pv-app-soft);
}

.pv-situation-columns small,
.pv-status-ledger > span,
.pv-status-ledger div small {
  color: var(--pv-faint);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.pv-situation-columns p {
  margin-top: 0.3rem;
  font-size: 0.7rem;
  line-height: 1.5;
}

.pv-status-ledger {
  display: grid;
  grid-template-columns: 0.8fr repeat(3, 1fr);
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.7rem;
  padding: 0.7rem;
  border: 1px solid rgba(28, 25, 23, 0.08);
  border-radius: 9px;
  background: #fff;
}

.pv-status-ledger div {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0.1rem 0.35rem;
}

.pv-status-ledger div strong {
  font-size: 0.7rem;
}

.pv-status-ledger i {
  grid-row: 1 / 3;
  grid-column: 2;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
}

.pv-lumen-head {
  align-items: center;
}

.pv-lumen-identity,
.pv-lumen-head > div:last-child {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.pv-lumen-identity > div {
  display: grid;
  line-height: 1.2;
}

.pv-lumen-identity strong {
  font-size: 0.88rem;
}

.pv-lumen-identity small {
  color: var(--pv-faint);
  font-size: 0.7rem;
}

.pv-lumen-mark {
  display: inline-grid;
  place-items: center;
  color: var(--pv-orange);
  font-size: 1.65rem;
  line-height: 1;
  text-shadow: -3px 2px 0 rgba(91, 33, 182, 0.36), 3px 2px 0 rgba(5, 150, 105, 0.25);
}

.pv-lumen-head > div:last-child span {
  padding: 0.4rem 0.58rem;
  border: 1px solid var(--pv-line);
  border-radius: 7px;
  background: #fff;
  color: var(--pv-muted);
  font-size: 0.7rem;
}

.pv-lumen-head > div:last-child span.is-active {
  border-color: rgba(237, 75, 8, 0.25);
  background: var(--pv-orange-soft);
  color: var(--pv-orange);
}

.pv-lumen-chat {
  display: grid;
  gap: 0.65rem;
  margin-top: 0.8rem;
}

.pv-chat-user {
  max-width: 78%;
  justify-self: end;
  padding: 0.7rem;
  border-radius: 10px 10px 3px 10px;
  background: #262321;
  color: #fff;
  font-size: 0.7rem;
  line-height: 1.5;
}

.pv-chat-lumen {
  display: grid;
  gap: 0.55rem;
  padding: 0.75rem;
  border: 1px solid rgba(193, 43, 227, 0.16);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.94);
}

.pv-chat-sections {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.42rem;
}

.pv-chat-sections section {
  padding: 0.52rem;
  border-radius: 7px;
  background: #faf7fb;
}

.pv-chat-sections small {
  color: var(--pv-magenta);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
}

.pv-chat-sections p {
  margin-top: 0.28rem;
  font-size: 0.7rem;
  line-height: 1.5;
}

.pv-chat-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.pv-chat-actions .pv-preview-action,
.pv-document-drop .pv-preview-action {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(237, 75, 8, 0.24);
  border-radius: 7px;
  background: var(--pv-orange-soft);
  color: var(--pv-orange);
  cursor: default;
  font-size: 0.7rem;
  font-weight: 650;
}

.pv-chat-actions .pv-preview-action {
  padding: 0.42rem 0.55rem;
}

.pv-lumen-composer {
  display: grid;
  gap: 0.3rem;
  margin-top: 0.65rem;
}

.pv-lumen-composer > span {
  color: var(--pv-faint);
  font-size: 0.7rem;
}

.pv-lumen-composer > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.58rem 0.68rem;
  border: 1px solid var(--pv-line);
  border-radius: 8px;
  background: #fff;
  color: var(--pv-faint);
  font-size: 0.7rem;
}

.pv-lumen-composer b {
  display: grid;
  width: 1.25rem;
  height: 1.25rem;
  place-items: center;
  border-radius: 50%;
  background: var(--pv-orange);
  color: #fff;
}

.pv-document-drop {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-top: 0.8rem;
  padding: 0.8rem;
  border: 1px dashed rgba(237, 75, 8, 0.34);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.9);
}

.pv-document-drop > div {
  display: grid;
  min-width: 0;
  gap: 0.18rem;
}

.pv-document-drop strong {
  font-size: 0.7rem;
}

.pv-document-drop small {
  color: var(--pv-muted);
  font-size: 0.7rem;
}

.pv-document-drop .pv-preview-action {
  flex: 0 0 auto;
  margin-left: auto;
  padding: 0.5rem 0.6rem;
  background: var(--pv-orange);
  color: #fff;
}

.pv-document-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
  margin-top: 0.65rem;
}

.pv-document-stats div {
  display: grid;
  gap: 0.15rem;
  padding: 0.55rem;
  border: 1px solid var(--pv-line);
  border-radius: 7px;
  background: #fff;
}

.pv-document-stats strong {
  font-size: 1rem;
}

.pv-document-list {
  display: grid;
  grid-template-columns: 0.7fr repeat(3, 1fr);
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.65rem;
  padding: 0.65rem;
  border: 1px solid var(--pv-line);
  border-radius: 8px;
  background: #fff;
}

.pv-document-list > span {
  font-size: 0.7rem;
  font-weight: 700;
}

.pv-document-list div {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.12rem 0.35rem;
}

.pv-document-list i {
  grid-row: 1 / 3;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
}

.pv-document-list strong,
.pv-document-list small {
  font-size: 0.7rem;
}

.pv-document-list small {
  color: var(--pv-faint);
}

.pv-path-layout {
  display: grid;
  grid-template-columns: 0.72fr 1.4fr;
  gap: 0.75rem;
  margin-top: 0.8rem;
}

.pv-path-layout > .pv-path-summary {
  padding: 0.75rem;
  border: 1px solid var(--pv-line);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.92);
}

.pv-path-layout > .pv-path-summary > small {
  color: var(--pv-orange);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.pv-path-layout > .pv-path-summary > strong {
  display: block;
  margin-top: 0.55rem;
  font-size: 0.73rem;
  line-height: 1.4;
}

.pv-progress {
  margin-top: 0.75rem;
}

.pv-progress i {
  --tone: var(--pv-green);
}

.pv-path-layout dl {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.3rem;
  margin-top: 0.75rem;
}

.pv-path-layout dl div {
  display: grid;
  padding: 0.4rem;
  border-radius: 6px;
  background: var(--pv-app-soft);
  text-align: center;
}

.pv-path-layout dt,
.pv-path-layout dd {
  font-size: 0.7rem;
}

.pv-path-layout ol {
  display: grid;
  gap: 0.45rem;
  list-style: none;
}

.pv-path-layout li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.55rem;
  padding: 0.58rem;
  border: 1px solid var(--pv-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
}

.pv-path-layout li > span {
  width: 0.82rem;
  height: 0.82rem;
  border: 2px solid #d8d7d5;
  border-radius: 50%;
}

.pv-path-layout li.is-done > span {
  border-color: var(--pv-green);
  background: var(--pv-green);
}

.pv-path-layout li.is-current {
  border-color: rgba(237, 75, 8, 0.32);
}

.pv-path-layout li.is-current > span {
  border-color: var(--pv-orange);
  background: var(--pv-orange);
}

.pv-path-layout li > div {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
}

.pv-path-layout li strong,
.pv-path-layout li small {
  font-size: 0.7rem;
}

.pv-path-layout li small {
  color: var(--pv-faint);
}

.pv-dvi-layout {
  display: grid;
  grid-template-columns: 0.78fr 1.4fr;
  gap: 0.7rem;
  margin-top: 0.8rem;
}

.pv-dvi-card,
.pv-dvi-dimensions {
  padding: 0.75rem;
}

.pv-dvi-ring {
  width: 8rem;
  height: 8rem;
  margin: 0 auto 0.75rem;
}

.pv-dvi-ring::before {
  inset: 0.75rem;
}

.pv-dvi-ring span {
  font-size: 1.75rem;
}

.pv-dvi-dimensions {
  display: grid;
  align-content: center;
  gap: 0.65rem;
}

.pv-dvi-dimensions > div {
  display: grid;
  grid-template-columns: 4rem 1fr auto;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.7rem;
}

.pv-dvi-dimensions > p {
  margin-top: 0.25rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--pv-line);
  color: var(--pv-orange);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pv-priority-strip {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.6rem;
  margin-top: 0.65rem;
  padding: 0.62rem 0.75rem;
  border: 1px solid rgba(237, 75, 8, 0.17);
  border-radius: 8px;
  background: var(--pv-orange-soft);
}

.pv-priority-strip span {
  color: var(--pv-orange);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.pv-priority-strip strong {
  font-size: 0.7rem;
}

.pv-discover-filters {
  display: flex;
  gap: 0.35rem;
  margin-top: 0.75rem;
  overflow: hidden;
}

.pv-discover-filters span {
  flex: 0 0 auto;
  padding: 0.34rem 0.5rem;
  border: 1px solid var(--pv-line);
  border-radius: 999px;
  background: #fff;
  color: var(--pv-muted);
  font-size: 0.7rem;
}

.pv-discover-filters span.is-active {
  border-color: var(--pv-orange);
  background: var(--pv-orange);
  color: #fff;
}

.pv-opportunity-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.55rem;
  margin-top: 0.65rem;
}

.pv-opportunity-grid article {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.35rem;
  padding: 0.7rem;
  border: 1px solid var(--pv-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
}

.pv-opportunity-grid article > span {
  padding: 0.25rem 0.4rem;
}

.pv-opportunity-grid small {
  align-self: center;
  color: var(--pv-faint);
  font-size: 0.7rem;
  text-align: right;
}

.pv-opportunity-grid h4,
.pv-opportunity-grid p {
  grid-column: 1 / -1;
}

.pv-opportunity-grid h4 {
  font-size: 0.7rem;
}

.pv-opportunity-grid p {
  color: var(--pv-muted);
  font-size: 0.7rem;
  line-height: 1.45;
}

.pv-chapters {
  min-width: 0;
}

.pv-chapter {
  position: relative;
  display: flex;
  min-height: 76vh;
  flex-direction: column;
  justify-content: center;
  padding: clamp(4rem, 10vh, 8rem) 0;
  border-bottom: 1px solid var(--pv-line);
  scroll-margin-top: 6rem;
}

.pv-chapter:first-child {
  padding-top: 2rem;
}

.pv-chapter:last-child {
  border-bottom: 0;
}

.pv-chapter__number {
  position: absolute;
  top: 1.5rem;
  right: 0;
  color: rgba(91, 33, 182, 0.12);
  font-family: var(--va-font-editorial);
  font-size: 5.5rem;
  line-height: 1;
}

.pv-chapter h3 {
  max-width: 27rem;
  margin-top: 1rem;
  font-family: var(--va-font-editorial);
  font-size: clamp(2.8rem, 4.2vw, 4.55rem);
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 0.98;
}

.pv-chapter > p:not(.va-eyebrow) {
  max-width: 27rem;
  margin-top: 1.5rem;
  color: var(--pv-muted);
  line-height: 1.75;
}

.pv-chapter blockquote {
  margin-top: 1.5rem;
  padding-left: 1rem;
  border-left: 2px solid var(--pv-orange);
  color: var(--pv-ink);
  font-family: var(--va-font-editorial);
  font-size: 1.35rem;
  font-style: italic;
  line-height: 1.35;
}

.pv-chapter-proof {
  margin-top: 1.4rem;
}

.pv-chapter-proof span:last-child {
  color: var(--pv-magenta);
}

.pv-principle {
  width: fit-content;
  margin-top: 1.25rem;
  padding: 0.55rem 0.7rem;
  border-left: 2px solid var(--pv-orange);
  background: rgba(255, 255, 255, 0.52);
  color: var(--pv-orange);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pv-text-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 0.45rem;
  margin-top: 1.2rem;
  color: var(--pv-violet);
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
}

.pv-text-link:hover span {
  transform: translateX(3px);
}

.pv-text-link span {
  transition: transform 180ms ease;
}

.pv-chapter-preview {
  display: none;
}

/* Call chapter */
.pv-call {
  position: relative;
  padding: clamp(7rem, 12vw, 12rem) 0;
  overflow: hidden;
  background: var(--pv-paper);
}

.pv-call__layout {
  display: grid;
  grid-template-columns: minmax(20rem, 0.75fr) minmax(31rem, 1.25fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 8rem);
}

.pv-call__copy > p:not(.va-eyebrow, .pv-call__language) {
  margin-top: 1.8rem;
  color: var(--pv-muted);
  font-size: 1.1rem;
}

.pv-call__language {
  width: fit-content;
  margin-top: 1rem;
  padding: 0.5rem 0.7rem;
  border-radius: 999px;
  background: var(--pv-violet-soft);
  color: var(--pv-violet);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pv-call-stage {
  display: grid;
  min-height: 38rem;
  grid-template-rows: auto 1fr auto auto;
  padding: 1.5rem;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.88), rgba(255, 249, 244, 0.76));
}

.pv-call-stage__top {
  display: flex;
  justify-content: space-between;
  color: var(--pv-muted);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
}

.pv-call-stage__top span:last-child {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.pv-call-stage__top span:last-child::before {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: #d8d5d2;
  content: "";
}

.pv-call-stage__center {
  display: grid;
  align-self: center;
  justify-items: center;
}

.pv-call-stage__center .pv-lumen-mark {
  width: 10rem;
  height: 10rem;
  border: 2rem solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 22px 65px rgba(232, 82, 10, 0.14);
  font-size: 3.5rem;
}

.pv-call-stage__center strong {
  margin-top: 1.7rem;
  font-size: 2.1rem;
}

.pv-call-stage__center small {
  margin-top: 0.45rem;
  color: var(--pv-muted);
}

.pv-call-control {
  display: grid;
  width: 3.8rem;
  height: 3.8rem;
  margin: 0 auto;
  place-items: center;
  border-radius: 50%;
  background: var(--pv-orange);
  box-shadow: 0 12px 32px rgba(232, 82, 10, 0.24);
  color: #fff;
  font-size: 1.4rem;
}

.pv-call-stage > p {
  margin-top: 1rem;
  color: var(--pv-faint);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  text-align: center;
  text-transform: uppercase;
}

/* Conversation to work */
.pv-work {
  padding: clamp(7rem, 11vw, 11rem) 0;
  border-block: 1px solid var(--pv-line);
  background: var(--pv-paper-deep);
}

.pv-editorial {
  max-width: 55rem;
}

.pv-editorial > p:not(.va-eyebrow) {
  max-width: 37rem;
  margin-top: 1.5rem;
  color: var(--pv-muted);
  font-size: 1.05rem;
}

.pv-workflow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
  gap: 1rem;
  margin-top: 4rem;
  padding: 1.25rem;
}

.pv-workflow__conversation,
.pv-workflow__outputs {
  padding: 1.25rem;
  border: 1px solid var(--pv-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.86);
}

.pv-workflow blockquote {
  margin-top: 1rem;
  padding: 1rem;
  border-radius: 10px 10px 3px 10px;
  background: #262321;
  color: #fff;
  font-size: 0.88rem;
  line-height: 1.55;
}

.pv-workflow__conversation > p {
  margin-top: 1rem;
  color: var(--pv-muted);
  font-size: 0.82rem;
  line-height: 1.65;
}

.pv-workflow__verbs {
  display: grid;
  align-content: center;
  gap: 0.6rem;
}

.pv-workflow__verbs span {
  position: relative;
  padding: 0.45rem 0.65rem;
  border: 1px solid rgba(232, 82, 10, 0.2);
  border-radius: 999px;
  background: #fff;
  color: var(--pv-orange);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  text-align: center;
  text-transform: uppercase;
}

.pv-workflow__verbs::before,
.pv-workflow__verbs::after {
  color: var(--pv-orange);
  content: "\2192";
  text-align: center;
}

.pv-workflow__outputs ul {
  display: grid;
  gap: 0;
  margin-top: 0.8rem;
  list-style: none;
}

.pv-workflow__outputs li {
  padding: 0.52rem 0;
  border-top: 1px solid var(--pv-line);
  font-size: 0.75rem;
  font-weight: 650;
}

.pv-workflow__outputs > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.8rem;
}

.pv-workflow__outputs > div span {
  padding: 0.45rem 0.55rem;
  border-radius: 7px;
  background: var(--pv-orange-soft);
  color: var(--pv-orange);
  font-size: 0.7rem;
  font-weight: 650;
}

.pv-workflow__principle {
  grid-column: 1 / -1;
  padding-top: 1rem;
  border-top: 1px solid var(--pv-line);
  color: var(--pv-violet);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}

/* Profile and memory */
.pv-context {
  padding: clamp(7rem, 11vw, 11rem) 0;
}

.pv-context__layout {
  display: grid;
  grid-template-columns: minmax(19rem, 0.7fr) minmax(35rem, 1.3fr);
  align-items: center;
  gap: clamp(3rem, 7vw, 7rem);
}

.pv-context__copy > p:not(.va-eyebrow) {
  margin-top: 1.5rem;
  color: var(--pv-muted);
  line-height: 1.75;
}

.pv-context__note {
  padding-left: 1rem;
  border-left: 2px solid var(--pv-violet);
  font-size: 0.78rem;
}

.pv-memory {
  display: grid;
  grid-template-columns: 1.6fr 0.78fr;
  gap: 1rem;
  padding: 1.25rem;
  background: linear-gradient(135deg, #fff 0%, #f4faf9 52%, #fff3ec 100%);
}

.pv-memory__head {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--pv-line);
}

.pv-memory__head > div {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.pv-memory__head > div > div {
  display: grid;
}

.pv-memory__head small {
  color: var(--pv-orange);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.pv-memory__head strong {
  font-size: 1.25rem;
}

.pv-memory__head > span {
  padding: 0.4rem 0.55rem;
  border-radius: 999px;
  background: var(--pv-orange-soft);
  color: var(--pv-orange);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
}

.pv-memory__facts {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.55rem;
}

.pv-memory__facts div {
  padding: 0.72rem;
  border: 1px solid var(--pv-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
}

.pv-memory dt,
.pv-memory dd {
  font-size: 0.7rem;
}

.pv-memory dd {
  margin-top: 0.25rem;
  font-weight: 650;
}

.pv-memory__correction {
  padding: 1rem;
  border: 1px solid var(--pv-line);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.92);
}

.pv-memory__correction small {
  color: var(--pv-green);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.pv-memory__correction p {
  margin-top: 0.7rem;
  font-size: 0.78rem;
}

.pv-memory__correction span {
  display: block;
  min-height: 7rem;
  margin-top: 0.8rem;
  padding: 0.75rem;
  border: 1px solid var(--pv-line);
  border-radius: 8px;
  background: var(--pv-app-soft);
  color: var(--pv-faint);
  font-size: 0.7rem;
}

/* Vita environment */
.pv-environment {
  padding: clamp(7rem, 11vw, 11rem) 0;
  border-block: 1px solid var(--pv-line);
  background: var(--pv-paper-deep);
}

.pv-editorial--wide {
  max-width: 68rem;
}

.pv-environment-rail {
  display: grid;
  grid-template-columns: 0.9fr 1.2fr 0.9fr;
  align-items: stretch;
  gap: 0.8rem;
  margin-top: 4rem;
}

.pv-environment-rail > div {
  display: flex;
  min-height: 13rem;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 1.1rem;
  border: 1px solid var(--pv-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.75);
}

.pv-environment-rail__context {
  flex-direction: column;
}

.pv-environment-rail__context span,
.pv-environment-rail__work span {
  padding: 0.5rem 0.65rem;
  border-radius: 999px;
  background: var(--pv-violet-soft);
  color: var(--pv-violet);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.pv-environment-rail__context i {
  color: var(--pv-orange);
  font-style: normal;
}

.pv-environment-rail__lumen {
  flex-direction: column;
  border-color: rgba(193, 43, 227, 0.16) !important;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(250, 241, 252, 0.72)) !important;
  text-align: center;
}

.pv-environment-rail__lumen .pv-lumen-mark {
  font-size: 2.4rem;
}

.pv-environment-rail__lumen strong {
  font-family: var(--va-font-editorial);
  font-size: 1.7rem;
  font-weight: 400;
}

.pv-environment-rail__lumen small {
  color: var(--pv-muted);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.pv-environment-rail__work {
  flex-wrap: wrap;
  align-content: center;
}

.pv-environment-rail__work span:nth-child(1) {
  color: var(--pv-orange);
  background: var(--pv-orange-soft);
}

.pv-environment-rail__work span:nth-child(3) {
  color: #008c92;
  background: var(--pv-cyan-soft);
}

.pv-aisc-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--pv-line);
}

.pv-aisc-note p {
  max-width: 50rem;
  color: var(--pv-muted);
  font-size: 0.84rem;
}

.pv-aisc-note .pv-text-link {
  flex: 0 0 auto;
  margin: 0;
}

/* Human boundary */
.pv-boundary {
  padding: clamp(7rem, 11vw, 11rem) 0;
}

.pv-boundary__layout {
  display: grid;
  grid-template-columns: minmax(28rem, 1.1fr) minmax(24rem, 0.9fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 8rem);
}

.pv-boundary__layout > div:first-child > p:not(.va-eyebrow) {
  max-width: 42rem;
  margin-top: 1.5rem;
  color: var(--pv-muted);
}

.pv-boundary__layout > div:first-child > strong {
  display: block;
  margin-top: 1.4rem;
  font-family: var(--va-font-editorial);
  font-size: 1.35rem;
  font-style: italic;
  font-weight: 400;
}

.pv-boundary-state {
  display: grid;
  gap: 0.85rem;
  padding: 1.25rem;
  border: 1px solid var(--pv-line);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: var(--va-shadow-floating);
}

.pv-boundary-state span {
  padding: 1rem;
  border: 1px solid currentColor;
  border-radius: 10px;
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-align: center;
  text-transform: uppercase;
}

.pv-boundary-state i {
  color: var(--pv-muted);
  font-style: normal;
  text-align: center;
}

/* Institution */
.pv-institution {
  padding: clamp(7rem, 11vw, 11rem) 0;
  border-block: 1px solid var(--pv-line);
  background:
    radial-gradient(circle 45rem at 95% 40%, rgba(8, 145, 178, 0.08), transparent 68%),
    var(--pv-paper-deep);
}

.pv-institution__intro {
  max-width: 72rem;
}

.pv-institution__intro > p:not(.va-eyebrow) {
  max-width: 49rem;
  margin-top: 1.5rem;
  color: var(--pv-muted);
  font-size: 1rem;
  line-height: 1.75;
}

.pv-institution__layout {
  display: grid;
  grid-template-columns: minmax(42rem, 1.5fr) minmax(18rem, 0.5fr);
  align-items: center;
  gap: 2rem;
  margin-top: 4rem;
}

.pv-institution-console {
  display: grid;
  grid-template-columns: 9.5rem minmax(0, 1fr);
  min-height: 31rem;
  overflow: hidden;
  background: #f4f8f6;
}

.pv-institution-console > .pv-institution-nav {
  padding: 1rem 0.7rem;
  border-right: 1px solid var(--pv-line);
  background: #fff;
}

.pv-institution-console .pv-institution-nav ul {
  display: grid;
  gap: 0.35rem;
  list-style: none;
}

.pv-institution-console .pv-institution-nav li {
  padding: 0.55rem 0.65rem;
  border-radius: 7px;
  color: var(--pv-muted);
  font-size: 0.7rem;
}

.pv-institution-console .pv-institution-nav li.is-active {
  background: var(--pv-violet-soft);
  color: var(--pv-violet);
}

.pv-institution-console > .pv-institution-main {
  min-width: 0;
  padding: 1.2rem;
}

.pv-institution-console header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.pv-institution-console header > div {
  display: grid;
}

.pv-institution-console header small {
  color: var(--pv-faint);
  font-size: 0.7rem;
}

.pv-institution-console header strong {
  font-size: 1.25rem;
}

.pv-institution-console header > span {
  padding: 0.35rem 0.5rem;
  border-radius: 999px;
  background: var(--pv-cyan-soft);
  color: #007e84;
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.pv-institution-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.6rem;
  margin-top: 1rem;
}

.pv-institution-metrics div {
  display: grid;
  gap: 0.3rem;
  padding: 0.75rem;
  border: 1px solid var(--pv-line);
  border-radius: 8px;
  background: #fff;
}

.pv-institution-metrics small {
  color: var(--pv-faint);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.pv-institution-metrics strong {
  color: var(--pv-cyan);
  font-size: 0.73rem;
}

.pv-institution-console section {
  margin-top: 1rem;
  padding: 1.1rem;
  border: 1px solid rgba(91, 33, 182, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.9);
}

.pv-institution-console section h3 {
  margin-top: 0.7rem;
  font-family: var(--va-font-editorial);
  font-size: 1.55rem;
  font-weight: 400;
}

.pv-institution-console section p {
  margin-top: 0.55rem;
  color: var(--pv-muted);
  font-size: 0.7rem;
  line-height: 1.6;
}

.pv-institution-flow {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.8rem;
}

.pv-institution-flow span {
  padding: 0.4rem 0.5rem;
  border-radius: 7px;
  background: var(--pv-cyan-soft);
  color: #007e84;
  font-family: var(--va-font-system);
  font-size: 0.7rem;
}

.pv-institution-flow i {
  color: var(--pv-cyan);
  font-style: normal;
}

.pv-institution__copy {
  padding: 1.25rem;
  border-left: 1px solid var(--pv-line);
}

.pv-institution__copy > p {
  font-family: var(--va-font-editorial);
  font-size: 1.45rem;
  line-height: 1.35;
}

.pv-institution__copy ul {
  display: grid;
  gap: 0.65rem;
  margin-top: 1.5rem;
  list-style: none;
}

.pv-institution__copy li {
  padding-top: 0.65rem;
  border-top: 1px solid var(--pv-line);
  color: var(--pv-muted);
  font-size: 0.76rem;
}

.pv-institution__copy .va-button {
  margin-top: 1.7rem;
}

/* Product proof and close */
.pv-proof {
  padding: clamp(7rem, 11vw, 11rem) 0;
}

.pv-proof-rail {
  display: flex;
  gap: 0.65rem;
  margin-top: 3rem;
  overflow-x: auto;
  padding-bottom: 0.75rem;
  scrollbar-width: thin;
}

.pv-proof-rail span {
  flex: 0 0 auto;
  padding: 0.8rem 1rem;
  border: 1px solid var(--pv-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.75);
  color: var(--pv-muted);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pv-proof-rail span:nth-child(2),
.pv-proof-rail span:nth-child(3) {
  border-color: rgba(193, 43, 227, 0.18);
  color: var(--pv-magenta);
}

.pv-proof-rail span:nth-child(4) {
  border-color: rgba(91, 33, 182, 0.18);
  color: var(--pv-violet);
}

.pv-closing {
  position: relative;
  min-height: 82svh;
  overflow: hidden;
  padding: clamp(8rem, 13vw, 13rem) 0;
  border-top: 1px solid var(--pv-line);
}

.pv-ambient--closing::before {
  width: 52rem;
  height: 44rem;
  right: -12rem;
  bottom: -22rem;
  background: rgba(232, 82, 10, 0.15);
}

.pv-ambient--closing::after {
  width: 48rem;
  height: 44rem;
  top: -20rem;
  left: -16rem;
  background: rgba(91, 33, 182, 0.12);
}

.pv-closing__inner {
  position: relative;
  z-index: 1;
  max-width: 64rem;
  text-align: center;
}

.pv-closing__inner .va-eyebrow {
  justify-content: center;
}

.pv-closing__inner > p:not(.va-eyebrow, .pv-closing__rail) {
  max-width: 45rem;
  margin: 1.6rem auto 0;
  color: var(--pv-muted);
  font-size: 1.08rem;
}

.pv-closing__inner > strong {
  display: block;
  margin-top: 1rem;
  color: var(--pv-violet);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pv-closing .pv-actions {
  justify-content: center;
}

.pv-closing__rail {
  margin-top: 3rem;
  color: var(--pv-faint);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Tablet: stacked product moments, not a shrunken sticky stage */
@media (max-width: 74rem) {
  .pv-hero__layout {
    grid-template-columns: 1fr;
  }

  .pv-hero__copy {
    max-width: 52rem;
  }

  .pv-hero-console {
    width: min(100%, 60rem);
    margin-inline: auto;
  }

  .pv-journey__layout {
    grid-template-columns: 1fr;
  }

  .pv-stage-column {
    display: none;
  }

  .pv-chapter {
    min-height: 0;
    padding: 5rem 0;
  }

  .pv-chapter:first-child {
    padding-top: 0;
  }

  .pv-chapter h3,
  .pv-chapter > p:not(.va-eyebrow) {
    max-width: 48rem;
  }

  .pv-chapter-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 2rem;
    padding: 1rem;
    border: 1px solid var(--pv-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 10px 30px rgba(45, 24, 68, 0.045);
  }

  .pv-chapter-preview > span:first-child {
    width: 100%;
    color: var(--pv-violet);
    font-family: var(--va-font-system);
    font-size: 0.7rem;
    text-transform: uppercase;
  }

  .pv-chapter-preview > strong,
  .pv-chapter-preview--discover span,
  .pv-chapter-preview--documents > div {
    flex: 1 1 12rem;
    padding: 0.75rem;
    border-radius: 9px;
    background: var(--pv-app-soft);
    font-size: 0.72rem;
  }

  .pv-chapter-preview--situation dl,
  .pv-chapter-preview--dvi dl {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.6rem;
  }

  .pv-chapter-preview--dvi dl {
    grid-template-columns: repeat(2, 1fr);
  }

  .pv-chapter-preview dl div {
    padding: 0.75rem;
    border-radius: 9px;
    background: var(--pv-app-soft);
  }

  .pv-chapter-preview dt {
    color: var(--pv-faint);
    font-family: var(--va-font-system);
    font-size: 0.7rem;
    text-transform: uppercase;
  }

  .pv-chapter-preview dd {
    margin-top: 0.25rem;
    font-size: 0.7rem;
    font-weight: 700;
  }

  .pv-chapter-preview--lumen {
    align-items: center;
    border-color: rgba(193, 43, 227, 0.15);
  }

  .pv-chapter-preview--lumen > span:first-child {
    width: auto;
    font-size: 1.7rem;
  }

  .pv-chapter-preview--lumen p {
    flex: 1 1 15rem;
    padding: 0.75rem;
    border-radius: 9px;
    background: #262321;
    color: #fff;
    font-size: 0.72rem;
  }

  .pv-chapter-preview--lumen strong {
    background: #faf5fb;
    color: var(--pv-magenta);
  }

  .pv-chapter-preview--documents > div {
    display: grid;
  }

  .pv-chapter-preview--documents small {
    color: var(--pv-faint);
    font-size: 0.7rem;
  }

  .pv-chapter-preview--path ol {
    display: grid;
    width: 100%;
    gap: 0.4rem;
    list-style: none;
  }

  .pv-chapter-preview--path li {
    padding: 0.65rem;
    border-left: 3px solid #d8d5d2;
    background: var(--pv-app-soft);
    font-size: 0.72rem;
  }

  .pv-chapter-preview--path li.is-done {
    border-color: var(--pv-green);
  }

  .pv-chapter-preview--path li.is-current {
    border-color: var(--pv-orange);
  }

  .pv-chapter-preview--dvi {
    align-items: center;
  }

  .pv-chapter-preview--dvi .pv-dvi-mini {
    margin: 0;
  }

  .pv-chapter-preview--dvi dl {
    flex: 1 1 20rem;
    width: auto;
  }

  .pv-chapter-preview--discover span {
    width: auto !important;
    color: var(--pv-cyan) !important;
    font-family: var(--va-font-interface) !important;
    font-size: 0.72rem !important;
    text-transform: none !important;
  }

  .pv-institution__layout {
    grid-template-columns: 1fr;
  }

  .pv-institution__copy {
    border-top: 1px solid var(--pv-line);
    border-left: 0;
  }
}

@media (max-width: 62rem) {
  .pv-shell {
    width: min(calc(100% - 2rem), 90rem);
  }

  .pv-intro__inner,
  .pv-call__layout,
  .pv-context__layout,
  .pv-boundary__layout {
    grid-template-columns: 1fr;
  }

  .pv-call-stage {
    min-height: 32rem;
  }

  .pv-workflow {
    grid-template-columns: 1fr;
  }

  .pv-workflow__verbs {
    grid-template-columns: repeat(3, 1fr);
  }

  .pv-workflow__verbs::before,
  .pv-workflow__verbs::after {
    display: none;
  }

  .pv-workflow__principle {
    grid-column: 1;
  }

  .pv-environment-rail {
    grid-template-columns: 1fr;
  }

  .pv-environment-rail > div {
    min-height: 10rem;
  }

  .pv-environment-rail__context {
    flex-direction: row;
  }

  .pv-aisc-note {
    align-items: flex-start;
    flex-direction: column;
  }

  .pv-institution-console {
    grid-template-columns: 8rem minmax(0, 1fr);
  }
}

@media (max-width: 46rem) {
  .pv-shell {
    width: min(calc(100% - 1.5rem), 90rem);
  }

  .pv-hero {
    min-height: 0;
    padding-top: calc(var(--va-site-nav-clearance, 4.75rem) + var(--va-hero-gap-product, 2.25rem));
  }

  .pv-hero h1 {
    font-size: clamp(3.35rem, 16.5vw, 4.8rem);
  }

  .pv-intro h2,
  .pv-journey__heading h2,
  .pv-editorial h2,
  .pv-call__copy h2,
  .pv-context__copy h2,
  .pv-environment h2,
  .pv-boundary h2,
  .pv-institution__intro h2,
  .pv-proof h2,
  .pv-closing h2 {
    font-size: clamp(3rem, 14vw, 4.2rem);
  }

  .pv-hero__proof {
    align-items: flex-start;
    flex-direction: column;
  }

  .pv-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .pv-actions .va-button {
    width: 100%;
  }

  .pv-product-frame {
    padding: 0.45rem;
    border-radius: 18px;
  }

  .pv-app--hero {
    display: block;
    min-height: 42rem;
    padding-bottom: 3.7rem;
  }

  .pv-app--hero .pv-app-nav {
    display: none;
  }

  .pv-app-main {
    padding: 0.8rem;
  }

  .pv-app-home-grid {
    grid-template-columns: 1fr;
  }

  .pv-ui-card--welcome {
    min-height: 17rem;
  }

  .pv-ui-card--welcome h2 {
    font-size: 1.8rem;
  }

  .pv-ui-card--snapshot {
    min-height: 16rem;
  }

  .pv-ui-card--inbox {
    display: none;
  }

  .pv-app-bottom {
    position: absolute;
    z-index: 5;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    padding: 0.65rem 0.35rem;
    border-top: 1px solid var(--pv-line);
    background: rgba(255, 255, 255, 0.95);
  }

  .pv-app-bottom span {
    color: var(--pv-faint);
    font-size: 0.7rem;
    text-align: center;
  }

  .pv-app-bottom span.is-active {
    color: var(--pv-orange);
    font-weight: 700;
  }

  .pv-intro {
    padding-block: 6rem;
  }

  .pv-local-nav {
    margin-right: -0.75rem;
    margin-left: -0.75rem;
    padding-inline: 0.75rem;
  }

  .pv-journey__heading {
    margin-bottom: 3.5rem;
  }

  .pv-chapter {
    padding-block: 4rem;
  }

  .pv-chapter__number {
    top: 2rem;
    font-size: 4.5rem;
  }

  .pv-chapter h3 {
    font-size: clamp(2.85rem, 13vw, 4rem);
  }

  .pv-chapter-preview--situation dl,
  .pv-chapter-preview--dvi dl {
    grid-template-columns: 1fr;
  }

  .pv-call-stage {
    min-height: 28rem;
    padding: 1rem;
  }

  .pv-call-stage__center .pv-lumen-mark {
    width: 8rem;
    height: 8rem;
  }

  .pv-workflow {
    padding: 0.7rem;
  }

  .pv-workflow__verbs {
    grid-template-columns: 1fr;
  }

  .pv-memory {
    grid-template-columns: 1fr;
    padding: 0.8rem;
  }

  .pv-memory__head {
    grid-column: 1;
    align-items: flex-start;
    flex-direction: column;
  }

  .pv-memory__facts {
    grid-template-columns: 1fr 1fr;
  }

  .pv-environment-rail__context {
    flex-direction: column;
  }

  .pv-boundary-state {
    padding: 0.8rem;
  }

  .pv-institution-console {
    display: block;
    min-height: 0;
  }

  .pv-institution-console > .pv-institution-nav {
    padding: 0.7rem;
    border-right: 0;
    border-bottom: 1px solid var(--pv-line);
  }

  .pv-institution-console > .pv-institution-nav .pv-app-brand {
    padding-bottom: 0.7rem;
  }

  .pv-institution-console .pv-institution-nav ul {
    display: flex;
    overflow-x: auto;
  }

  .pv-institution-console .pv-institution-nav li {
    flex: 0 0 auto;
  }

  .pv-institution-console > .pv-institution-main {
    padding: 0.8rem;
  }

  .pv-institution-metrics {
    grid-template-columns: 1fr;
  }

  .pv-institution-flow {
    align-items: stretch;
    flex-direction: column;
  }

  .pv-institution-flow i {
    transform: rotate(90deg);
    text-align: center;
  }

  .pv-proof-rail {
    margin-right: -0.75rem;
    margin-left: -0.75rem;
    padding-inline: 0.75rem;
  }

  .pv-closing__rail {
    line-height: 2;
  }
}

@media (max-width: 23rem) {
  .pv-memory__facts,
  .pv-ui-facts {
    grid-template-columns: 1fr;
  }

  .pv-app--hero {
    min-height: 50rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  [data-pv-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .pv-text-link span,
  .pv-product-frame::before {
    transition: none;
  }

  body[data-va-page="product"] .va-trust-kicker::before,
  body[data-va-page="product"] .va-trust-marquee-track,
  body[data-va-page="product"] .va-trust-card,
  body[data-va-page="product"] .va-trust-card::after,
  body[data-va-page="product"] .va-trust-pill .dot,
  body[data-va-page="product"] .va-bottom-status::before,
  body[data-va-page="product"] .va-newsletter-wrap,
  body[data-va-page="product"] [data-nav-shine]::before {
    animation: none !important;
  }
}

@media (forced-colors: active) {
  .pv-dvi-mini,
  .pv-dvi-ring,
  .pv-progress i,
  .pv-dvi-dimensions i b,
  .pv-mini-bars i::before {
    border: 1px solid CanvasText;
    background: Canvas;
  }
}


/* VitaAvanza route bundle source: /helsinki-mission.css */
/* ════════════════════════════════════════════════════════════════
   Helsinki Mission — page layer

   The Helsinki page has no design language of its own. The hero, the
   editorial headings, the eyebrows, the buttons, the ambient light,
   the closing panel and the reveal transition all come from
   vita-design-system.css and product-vita.css, exactly as /product/
   and /research/ consume them.

   This file only adds the three surfaces that exist nowhere else on
   the site: the Trento → Helsinki route rail, the mission fact strip
   and the support-item grid. Every value below resolves to a --pv-*
   or --va-* token so the page cannot drift from the main site.
   ════════════════════════════════════════════════════════════════ */

/* ─── 01 · Base ───
   Mirrors the base block product-vita.css applies to its own page
   attribute; .pv-page carries the shared element resets from there. */
body[data-va-page="helsinki"] {
  /* Section rhythm. One shared opening step, then three closing levels,
     so the page reads as a paced document rather than a stack of equal
     blocks — the same scale Research uses, at this page's shorter length.
     A: editorial argument (why Helsinki, the story)
     B: reference blocks (mission details)
     C: the quiet closing band (alternative support) */
  --hm-space-open: clamp(2.25rem, 3vw, 3rem);
  --hm-space-a: clamp(4.25rem, 6vw, 6rem);
  --hm-space-b: clamp(3.5rem, 5vw, 5rem);
  --hm-space-c: clamp(2.75rem, 4vw, 4rem);

  /* This hero carries copy and a single route rail, with nothing beside
     it needing vertical room, so it asks the shared hero formula for a
     shorter opening rather than inventing its own padding. The height then
     comes from the viewport, not from this padding — see .pv-hero below. */
  --va-hero-gap-product: clamp(1.5rem, 2vw, 2rem);
  --va-hero-bottom-product: clamp(2.75rem, 4vw, 4rem);

  margin: 0;
  overflow-x: clip;
  background: var(--pv-paper);
  color: var(--pv-ink);
  font-family: var(--va-font-interface);
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body[data-va-page="helsinki"] *,
body[data-va-page="helsinki"] *::before,
body[data-va-page="helsinki"] *::after {
  box-sizing: border-box;
}

body[data-va-page="helsinki"] :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--pv-violet);
  outline-offset: 4px;
}

body[data-va-page="helsinki"] .va-button--primary {
  color: #fff;
}

body[data-va-page="helsinki"] .va-eyebrow,
body[data-va-page="helsinki"] .va-system-label {
  font-size: 0.7rem;
}

/* ─── 02 · Section rhythm ───
   Every section opens on a boundary the reader has just crossed — a rule
   or a change of paper — so it does not also need a wide band of empty
   paper above its first line. .hm-section carries the pacing level;
   .hm-section--deep is only a background treatment, so the two compose. */
.hm-section {
  position: relative;
  padding-top: var(--hm-space-open);
  padding-bottom: var(--hm-space-a);
}

.hm-section--b { padding-bottom: var(--hm-space-b); }
.hm-section--c { padding-bottom: var(--hm-space-c); }

.hm-section--deep {
  border-block: 1px solid var(--pv-line);
  background:
    radial-gradient(circle 44rem at 8% 22%, rgba(91, 33, 182, 0.055), transparent 68%),
    radial-gradient(circle 54rem at 92% 64%, rgba(232, 82, 10, 0.05), transparent 70%),
    var(--pv-paper-deep);
}

/* ─── 02b · Hero height ───
   Sized on its padding alone, this hero stopped short of the fold and left a
   strip of the next section's darker paper showing below it with its first
   line still off-screen — 127px at 1440x900 and 246px at 1920x1080, read as
   a gap under the hero rather than as the start of the next block.

   So the opening holds the first screen the way /research/ does: the hero
   fills the viewport and its copy is centred in what the header leaves, so
   the remaining air is balanced above and below the column instead of
   collecting beneath the buttons. svh, not vh, so a mobile browser
   collapsing its address bar cannot overshoot the screen; min-height, so
   copy that outgrows the viewport still sets the height. */
body[data-va-page="helsinki"] .pv-hero {
  display: grid;
  min-height: 100svh;
  align-content: center;
}

/* The closing panel is the site's shared component, sized on /product/ for a
   page that ends on a full-bleed statement. This page ends on one line, one
   button and a short partnership note, so 82svh of forced height collected
   the same empty bands above and below the column that Research had to shed.
   Paced as a closing beat instead: a firm close, not a second hero. */
body[data-va-page="helsinki"] .pv-closing {
  min-height: 0;
  padding-top: var(--hm-space-open);
  padding-bottom: clamp(3.5rem, 5.5vw, 5.5rem);
}

/* ─── 02c · Hero layout ───
   The editorial column keeps its place and its measure; the contribution
   widget takes the air to its right that the composition was leaving empty.
   Below the desktop breakpoint the widget drops under the copy, so the
   reading order — headline, context, route, CTAs, then the widget — is the
   same one the markup declares and screen readers follow. */
.hm-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2.5rem, 4vw, 3.5rem);
  align-items: center;
}

@media (min-width: 1024px) {
  .hm-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 23rem);
    gap: clamp(2.5rem, 5vw, 5rem);
  }
}

.hm-hero__panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  width: 100%;
  max-width: 23rem;
}

.hm-hero__panel[hidden] { display: none; }

/* The widget arrives as a fixed-width vendor iframe. It is given the panel's
   width and the site's own radius and shadow so it reads as part of the page
   rather than as a pasted-in badge; the frame is clipped, never restyled. */
.hm-embed {
  overflow: hidden;
  border: 1px solid var(--pv-line);
  border-radius: var(--va-radius-panel);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 18px 44px -28px rgba(26, 22, 20, 0.28);
}

.hm-embed iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  border: 0;
}

/* The narrow-width position: centred in the closing panel under the primary
   CTA, at the same measure it has in the hero. */
.hm-embed--support {
  max-width: 23rem;
  margin: clamp(1.75rem, 3vw, 2.25rem) auto 0;
}

/* ─── 03 · Route rail ───
   The one Trento → Helsinki visual on the page. It is a hairline and two
   labelled nodes in the site's system typeface — no map, no animation, so
   it stays legible at every width and costs nothing on mobile. */
.hm-route {
  display: flex;
  align-items: center;
  gap: clamp(0.75rem, 1.6vw, 1.4rem);
  max-width: 34rem;
  margin-top: 2.4rem;
}

.hm-route__node {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 0.28rem;
}

.hm-route__city {
  color: var(--pv-ink);
  font-family: var(--va-font-system);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.hm-route__node--end .hm-route__city {
  color: var(--pv-violet);
}

.hm-route__country {
  color: var(--pv-faint);
  font-size: 0.74rem;
  letter-spacing: 0.02em;
}

/* The rail is a gradient rule that fades in from the origin and ends on a
   solid node dot, which reads as direction without an arrowhead. */
.hm-route__line {
  position: relative;
  min-width: 2.5rem;
  height: 1px;
  flex: 1 1 auto;
  margin-bottom: 1.1rem;
  background: linear-gradient(90deg, var(--pv-line), rgba(99, 37, 199, 0.42));
}

.hm-route__line::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.34rem;
  height: 0.34rem;
  border-radius: 50%;
  background: var(--pv-violet);
  content: "";
  transform: translate(0, -50%);
}

/* ─── 04 · Mission facts ───
   Four fixed, verifiable facts about the mission in one glass panel,
   using the shared system surface rather than a bespoke card. */
.hm-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.5vw, 2.25rem);
  margin-top: 2.5rem;
  padding: clamp(1.6rem, 2.6vw, 2.25rem);
}

.hm-fact {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.hm-fact dt {
  color: var(--pv-faint);
  font-family: var(--va-font-system);
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.hm-fact dd {
  color: var(--pv-ink);
  font-size: clamp(1rem, 1.15vw, 1.1rem);
  font-weight: 600;
  letter-spacing: -0.005em;
  line-height: 1.35;
}

/* ─── 05 · Support items ───
   What contributions go toward. Deliberately unpriced: no amount, no
   item total, no progress — each card states a purpose and nothing more. */
.hm-support {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 0.9rem;
  margin-top: 1.1rem;
  list-style: none;
}

.hm-item {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding: clamp(1.4rem, 2vw, 1.75rem);
  border: 1px solid var(--pv-line);
  border-radius: var(--va-radius-panel);
  background: rgba(255, 255, 255, 0.62);
}

.hm-item__index {
  color: var(--pv-violet);
  font-family: var(--va-font-system);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.hm-item h3 {
  font-family: var(--va-font-system);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hm-item p {
  color: var(--pv-muted);
  font-size: 0.95rem;
  line-height: 1.65;
}

/* ─── 06 · Partnership note ───
   Companies and organizations are routed away from the public
   contribution flow and into the existing contact route. */
.hm-note {
  max-width: 34rem;
  margin: clamp(2.5rem, 4vw, 3.5rem) auto 0;
  padding-top: clamp(1.5rem, 2.5vw, 2rem);
  border-top: 1px solid var(--pv-line);
  text-align: center;
}

.hm-note h3 {
  color: var(--pv-ink);
  font-size: 1rem;
  font-weight: 700;
}

.hm-note p {
  margin-top: 0.6rem;
  color: var(--pv-muted);
  font-size: 0.95rem;
  line-height: 1.7;
}

.hm-note .pv-text-link {
  margin-inline: auto;
}

/* ─── 07 · Alternative support ───
   The quiet band that closes the page below the main CTA. */
.hm-alt {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(1.25rem, 3vw, 2.5rem);
}

.hm-alt__copy {
  max-width: 34rem;
}

.hm-alt__copy h2 {
  font-family: var(--va-font-editorial);
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.02;
}

.hm-alt__copy p {
  margin-top: 0.9rem;
  color: var(--pv-muted);
  font-size: 1rem;
  line-height: 1.7;
}

.hm-alt__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* ─── 08 · Responsive ───
   The site's dominant breakpoint pair, so this page reflows at exactly
   the same widths as every other VitaAvanza page. */
@media (max-width: 1023px) {
  .hm-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .hm-facts {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
  }

  .hm-route {
    gap: 0.75rem;
  }

  .hm-route__line {
    min-width: 1.5rem;
  }

  .hm-alt {
    align-items: stretch;
  }

  .hm-alt__actions {
    width: 100%;
  }
}


/* VitaAvanza route bundle source: /site-shell/site-shell.css */
:root {
  --va-shell-paper: #faf8f5;
  --va-shell-paper-soft: #f3efe8;
  --va-shell-paper-deep: #ebe4d8;
  --va-shell-ink: #1c1917;
  --va-shell-ink-secondary: #57534e;
  --va-shell-ink-muted: #78716c;
  --va-shell-violet: #5b21b6;
  --va-shell-violet-deep: #4c1d95;
  --va-shell-magenta: #c12be3;
  --va-shell-orange: #e8520a;
  --va-shell-orange-deep: #c2410c;
  --va-shell-cyan: #0891b2;
  --va-shell-green: #059669;
  --va-shell-serif: "Instrument Serif", Georgia, serif;
  --va-shell-sans: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --va-shell-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  --va-shell-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --va-shell-width: 87.5rem;
  --va-shell-page-accent: var(--va-shell-violet);
  --va-shell-page-accent-soft: rgba(91, 33, 182, 0.075);
  /* Shared first-screen calibration. Page styles compose one clearance value
     with the appropriate hero gap instead of recreating sticky-nav offsets. */
  --va-site-nav-clearance: clamp(5.75rem, 7vw, 6.5rem);
  --va-hero-gap-compact: clamp(2.25rem, 3vw, 3rem);
  --va-hero-gap-standard: clamp(3rem, 4vw, 4rem);
  --va-hero-gap-editorial: clamp(3.5rem, 4.5vw, 4.75rem);
  --va-hero-gap-product: clamp(2.75rem, 3.5vw, 3.75rem);
  --va-hero-gap-split: clamp(2.75rem, 3.5vw, 3.75rem);
  --va-hero-gap-utility: clamp(2.25rem, 2.75vw, 3rem);
  --va-hero-bottom-compact: clamp(4.5rem, 6vw, 6rem);
  --va-hero-bottom-standard: clamp(5rem, 7vw, 7rem);
  --va-hero-bottom-editorial: clamp(5.5rem, 8vw, 8rem);
  --va-hero-bottom-product: clamp(5rem, 7vw, 7rem);
  --va-hero-bottom-split: clamp(5rem, 7vw, 7rem);
  --va-hero-bottom-utility: clamp(4rem, 5vw, 5.5rem);
}

@media (max-width: 47.9375rem) {
  :root {
    --va-site-nav-clearance: 4.75rem;
    --va-hero-gap-compact: 2rem;
    --va-hero-gap-standard: 2.5rem;
    --va-hero-gap-editorial: 2.75rem;
    --va-hero-gap-product: 2.25rem;
    --va-hero-gap-split: 2.25rem;
    --va-hero-gap-utility: 2rem;
    --va-hero-bottom-compact: 4rem;
    --va-hero-bottom-standard: 4.5rem;
    --va-hero-bottom-editorial: 4.75rem;
    --va-hero-bottom-product: 4.5rem;
    --va-hero-bottom-split: 4.5rem;
    --va-hero-bottom-utility: 4rem;
  }
}

body[data-va-accent="cyan"] {
  --va-shell-page-accent: var(--va-shell-cyan);
  --va-shell-page-accent-soft: rgba(8, 145, 178, 0.075);
}

body[data-va-accent="magenta"] {
  --va-shell-page-accent: var(--va-shell-magenta);
  --va-shell-page-accent-soft: rgba(193, 43, 227, 0.075);
}

body[data-va-accent="orange"] {
  --va-shell-page-accent: var(--va-shell-orange);
  --va-shell-page-accent-soft: rgba(232, 82, 10, 0.075);
}

body[data-va-accent="green"] {
  --va-shell-page-accent: var(--va-shell-green);
  --va-shell-page-accent-soft: rgba(5, 150, 105, 0.075);
}

.va-shell-header,
.va-shell-header *,
.va-shell-mobile,
.va-shell-mobile *,
.va-shell-backdrop,
.va-shell-newsletter,
.va-shell-newsletter *,
.va-shell-ecosystem,
.va-shell-ecosystem *,
.va-shell-footer,
.va-shell-footer *,
.va-shell-nojs,
.va-shell-nojs * {
  box-sizing: border-box;
}

html {
  scroll-padding-top: 7rem;
  overflow-x: clip;
}

body.va-shell-menu-open {
  overflow: hidden !important;
}

body[data-va-shell-version="2"] {
  animation-fill-mode: backwards !important;
  overflow-x: clip;
}

html body[data-va-shell-version="2"] > .va-cookie-banner {
  position: fixed !important;
  right: 1rem !important;
  left: 1rem !important;
  width: calc(100vw - 2rem) !important;
  max-width: calc(100vw - 2rem) !important;
}

/* Legacy visual layers assign position: relative to every direct body child.
   Keep the canonical shell overlays out of document flow on those routes. */
body[data-va-shell-version="2"] > .va-shell-backdrop,
body[data-va-shell-version="2"] > .va-shell-mobile {
  position: fixed !important;
}

.va-shell-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.va-shell-skip {
  position: fixed !important;
  z-index: 100000 !important;
  top: 0.75rem !important;
  left: 0.75rem !important;
  padding: 0.78rem 1rem !important;
  border-radius: 0.75rem !important;
  background: var(--va-shell-paper) !important;
  color: var(--va-shell-violet-deep) !important;
  font: 600 0.8rem/1 var(--va-shell-sans) !important;
  box-shadow: 0 12px 34px rgba(48, 27, 76, 0.16) !important;
  transform: translateY(-170%) !important;
  transition: transform 180ms var(--va-shell-ease) !important;
}

.va-shell-skip:focus {
  transform: translateY(0) !important;
}

.va-shell-header a:focus-visible,
.va-shell-header button:focus-visible,
.va-shell-mobile a:focus-visible,
.va-shell-mobile button:focus-visible,
.va-shell-mobile summary:focus-visible,
.va-shell-newsletter a:focus-visible,
.va-shell-newsletter button:focus-visible,
.va-shell-newsletter input:focus-visible,
.va-shell-ecosystem a:focus-visible,
.va-shell-footer a:focus-visible,
.va-shell-footer button:focus-visible,
.va-shell-nojs a:focus-visible,
.va-shell-nojs summary:focus-visible {
  outline: 3px solid rgba(8, 145, 178, 0.82) !important;
  outline-offset: 4px !important;
}

/* Three-zone desktop navigation: 1fr / auto / 1fr. */
.va-shell-header {
  position: fixed;
  z-index: 9000;
  top: 1.25rem;
  left: 50%;
  width: min(calc(100% - 4rem), var(--va-shell-width));
  color: var(--va-shell-ink);
  font-family: var(--va-shell-sans);
  transform: translateX(-50%);
  isolation: isolate;
}

body > .va-shell-header[data-va-shell-header] {
  position: fixed !important;
  z-index: 9000 !important;
  min-height: 0 !important;
  padding-block: 0 !important;
  background: transparent !important;
}

.va-shell-header__frame {
  position: relative;
  display: grid;
  min-height: 4.5rem;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 0.65rem 0.5rem 0.8rem;
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 1.4rem;
  background:
    linear-gradient(148deg, rgba(255, 255, 255, 0.58), rgba(255, 252, 249, 0.34)),
    linear-gradient(90deg, rgba(255, 255, 255, 0.9), rgba(91, 33, 182, 0.045) 56%, rgba(232, 82, 10, 0.035));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.98),
    inset 1px 0 0 rgba(255, 255, 255, 0.55),
    0 15px 46px rgba(48, 27, 76, 0.075),
    0 6px 20px rgba(232, 82, 10, 0.035);
  -webkit-backdrop-filter: blur(22px) saturate(128%);
  backdrop-filter: blur(22px) saturate(128%);
  transition: background 240ms var(--va-shell-ease), box-shadow 240ms var(--va-shell-ease), backdrop-filter 240ms var(--va-shell-ease);
}

.va-shell-header__frame::before {
  position: absolute;
  top: 0;
  right: 1.5rem;
  left: 1.5rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.98) 32%, rgba(255, 255, 255, 0.78) 72%, transparent);
  content: "";
  pointer-events: none;
}

.va-shell-header.is-scrolled .va-shell-header__frame {
  background:
    linear-gradient(148deg, rgba(255, 255, 255, 0.79), rgba(250, 248, 245, 0.64)),
    linear-gradient(90deg, rgba(255, 255, 255, 0.96), rgba(91, 33, 182, 0.055) 58%, rgba(232, 82, 10, 0.04));
  box-shadow: inset 0 1px 0 #fff, 0 18px 52px rgba(48, 27, 76, 0.1), 0 6px 18px rgba(232, 82, 10, 0.04);
  -webkit-backdrop-filter: blur(26px) saturate(134%);
  backdrop-filter: blur(26px) saturate(134%);
}

.va-shell-brand {
  display: inline-flex;
  min-width: max-content;
  min-height: 2.9rem;
  align-items: center;
  justify-self: start;
  gap: 0.65rem;
  padding: 0.18rem 0.55rem 0.18rem 0.12rem;
  border-radius: 0.82rem;
  color: var(--va-shell-ink) !important;
  text-decoration: none !important;
}

.va-shell-brand__mark {
  display: block;
  width: 2.2rem;
  height: 2.2rem;
  object-fit: contain;
}

.va-shell-brand__name {
  font: 700 1rem/1 var(--va-shell-sans);
  letter-spacing: -0.025em;
}

.va-shell-desktop {
  display: contents;
}

.va-shell-nav {
  display: flex;
  grid-column: 2;
  align-items: center;
  justify-self: center;
  gap: 0.12rem;
}

.va-shell-nav__link,
.va-shell-intelligence__summary {
  position: relative;
  display: inline-flex;
  min-height: 2.62rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0.78rem;
  background: transparent;
  color: rgba(28, 25, 23, 0.76) !important;
  font: 550 0.8rem/1 var(--va-shell-sans);
  text-decoration: none !important;
  white-space: nowrap;
  cursor: pointer;
  transition: color 170ms var(--va-shell-ease), background 170ms var(--va-shell-ease), box-shadow 170ms var(--va-shell-ease);
}

.va-shell-nav__link {
  padding: 0 0.76rem;
}

.va-shell-nav__link:hover,
.va-shell-intelligence__summary:hover {
  background: rgba(255, 255, 255, 0.38);
  color: var(--va-shell-violet-deep) !important;
}

.va-shell-nav__link[aria-current="page"],
.va-shell-intelligence.is-current > .va-shell-intelligence__summary,
.va-shell-intelligence[open] > .va-shell-intelligence__summary {
  background: var(--va-shell-page-accent-soft);
  color: var(--va-shell-page-accent) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76);
}

.va-shell-intelligence {
  position: relative;
}

.va-shell-intelligence__summary {
  gap: 0.45rem;
  padding: 0 0.66rem 0 0.76rem;
  list-style: none;
}

.va-shell-intelligence__summary::-webkit-details-marker,
.va-shell-mobile__summary::-webkit-details-marker {
  display: none;
}

.va-shell-intelligence__summary-mark {
  position: relative;
  width: 0.72rem;
  height: 0.72rem;
}

.va-shell-intelligence__summary-mark::before,
.va-shell-intelligence__summary-mark::after {
  position: absolute;
  top: 50%;
  width: 0.45rem;
  height: 1px;
  border-radius: 2px;
  background: currentColor;
  content: "";
  transition: transform 170ms var(--va-shell-ease);
}

.va-shell-intelligence__summary-mark::before {
  left: 0;
  transform: rotate(45deg);
}

.va-shell-intelligence__summary-mark::after {
  right: 0;
  transform: rotate(-45deg);
}

.va-shell-intelligence[open] .va-shell-intelligence__summary-mark::before {
  transform: rotate(-45deg);
}

.va-shell-intelligence[open] .va-shell-intelligence__summary-mark::after {
  transform: rotate(45deg);
}

.va-shell-intelligence__menu {
  position: absolute;
  top: calc(100% + 0.75rem);
  left: 50%;
  width: min(16rem, calc(100vw - 2rem));
  padding: 1rem 1rem 0.7rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.84);
  border-radius: 1.12rem;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.88), rgba(250, 246, 249, 0.7)),
    linear-gradient(110deg, rgba(91, 33, 182, 0.07), rgba(193, 43, 227, 0.035) 52%, rgba(232, 82, 10, 0.03));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.98), 0 24px 64px rgba(48, 27, 76, 0.16), 0 8px 22px rgba(91, 33, 182, 0.07);
  -webkit-backdrop-filter: blur(25px) saturate(136%);
  backdrop-filter: blur(25px) saturate(136%);
  opacity: 0;
  transform: translate(-50%, -0.35rem) scale(0.985);
  transform-origin: 50% 0;
  transition: opacity 180ms var(--va-shell-ease), transform 210ms var(--va-shell-ease);
}

.va-shell-intelligence[open] .va-shell-intelligence__menu {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.va-shell-intelligence__atmosphere {
  position: absolute;
  top: -5rem;
  right: -4rem;
  width: 11rem;
  height: 11rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(193, 43, 227, 0.13), rgba(91, 33, 182, 0.045) 48%, transparent 72%);
  filter: blur(16px);
  pointer-events: none;
}

.va-shell-intelligence__eyebrow,
.va-shell-mobile__eyebrow,
.va-shell-newsletter__eyebrow,
.va-shell-ecosystem__eyebrow,
.va-shell-footer__contact-label,
.va-shell-footer__title {
  margin: 0;
  font: 600 0.62rem/1.4 var(--va-shell-mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.va-shell-intelligence__eyebrow {
  position: relative;
  padding: 0.05rem 0.25rem 0.58rem;
  color: rgba(87, 83, 78, 0.72);
}

.va-shell-intelligence__items {
  position: relative;
}

.va-shell-intelligence__item {
  position: relative;
  display: grid;
  min-height: 4.25rem;
  grid-template-columns: 0.9rem 1fr 0.8rem;
  align-items: center;
  gap: 0.58rem;
  padding: 0.55rem 0.25rem;
  color: var(--va-shell-ink) !important;
  text-decoration: none !important;
}

.va-shell-intelligence__item + .va-shell-intelligence__item {
  border-top: 1px solid rgba(28, 25, 23, 0.08);
}

.va-shell-intelligence__signal {
  position: relative;
  display: block;
  width: 0.82rem;
  height: 2.25rem;
}

.va-shell-intelligence__signal::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(91, 33, 182, 0.42), transparent);
  content: "";
}

.va-shell-intelligence__signal span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--va-shell-violet), var(--va-shell-magenta));
  box-shadow: 0 0 0 4px rgba(91, 33, 182, 0.07);
  transform: translate(-50%, -50%);
}

.va-shell-intelligence__item--dvi .va-shell-intelligence__signal::before {
  background: linear-gradient(180deg, transparent, rgba(232, 82, 10, 0.42), transparent);
}

.va-shell-intelligence__item--dvi .va-shell-intelligence__signal span {
  background: var(--va-shell-orange);
  box-shadow: 0 0 0 4px rgba(232, 82, 10, 0.07);
}

.va-shell-intelligence__copy {
  display: grid;
  min-width: 0;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  column-gap: 0.4rem;
}

.va-shell-intelligence__index {
  color: rgba(87, 83, 78, 0.45);
  font: 600 0.5rem/1 var(--va-shell-mono);
}

.va-shell-intelligence__label {
  color: var(--va-shell-violet-deep);
  font: 650 0.82rem/1.2 var(--va-shell-sans);
}

.va-shell-intelligence__item--dvi .va-shell-intelligence__label {
  color: var(--va-shell-orange-deep);
}

.va-shell-intelligence__description {
  grid-column: 1 / -1;
  margin-top: 0.24rem;
  color: var(--va-shell-ink-secondary);
  font: 450 0.66rem/1.48 var(--va-shell-sans);
}

.va-shell-intelligence__arrow {
  width: 0.82rem;
  height: 0.82rem;
  color: rgba(87, 83, 78, 0.45);
  transition: color 170ms var(--va-shell-ease), transform 170ms var(--va-shell-ease);
}

.va-shell-intelligence__item:hover .va-shell-intelligence__arrow {
  color: var(--va-shell-violet);
  transform: translateX(2px);
}

.va-shell-intelligence__item--dvi:hover .va-shell-intelligence__arrow {
  color: var(--va-shell-orange);
}

.va-shell-header__actions {
  display: flex;
  grid-column: 3;
  align-items: center;
  justify-self: end;
  gap: 0.55rem;
}

.va-shell-language {
  display: inline-flex;
  min-height: 2.7rem;
  align-items: center;
  gap: 0.04rem;
  padding: 0.22rem;
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 0.86rem;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.48), rgba(243, 239, 232, 0.32));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.va-shell-language__link {
  display: inline-flex;
  min-width: 2rem;
  min-height: 2.05rem;
  align-items: center;
  justify-content: center;
  padding: 0 0.38rem;
  border-radius: 0.62rem;
  color: rgba(87, 83, 78, 0.62) !important;
  font: 600 0.64rem/1 var(--va-shell-mono) !important;
  letter-spacing: 0.07em;
  text-decoration: none !important;
  white-space: nowrap;
}

.va-shell-language__link[aria-current="true"] {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(91, 33, 182, 0.065));
  color: var(--va-shell-violet-deep) !important;
  box-shadow: 0 2px 9px rgba(91, 33, 182, 0.065), inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.va-shell-language__divider {
  min-width: auto;
  padding: 0;
  color: rgba(87, 83, 78, 0.28) !important;
}

/* Contact belongs to the navigation glass; only its arrow is orange. */
.va-shell-contact,
.va-shell-mobile__contact {
  display: inline-flex;
  min-height: 2.72rem;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  padding: 0.2rem 0.24rem 0.2rem 0.92rem;
  border: 1px solid rgba(232, 82, 10, 0.32);
  border-radius: 0.88rem;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.5), rgba(255, 248, 243, 0.36));
  color: var(--va-shell-ink) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), 0 5px 15px rgba(232, 82, 10, 0.055);
  font: 650 0.74rem/1 var(--va-shell-sans);
  text-decoration: none !important;
  white-space: nowrap;
  transition: border-color 170ms var(--va-shell-ease), background 170ms var(--va-shell-ease), box-shadow 170ms var(--va-shell-ease);
}

.va-shell-contact__arrow {
  display: inline-flex;
  width: 2.05rem;
  height: 2.05rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--va-shell-orange);
  color: #fffaf5;
  transition: background 170ms var(--va-shell-ease), color 170ms var(--va-shell-ease), transform 170ms var(--va-shell-ease);
}

.va-shell-contact__arrow svg {
  width: 1rem;
  height: 1rem;
}

.va-shell-contact:hover,
.va-shell-mobile__contact:hover {
  border-color: rgba(232, 82, 10, 0.5);
  background: rgba(255, 255, 255, 0.62);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.96), 0 7px 20px rgba(232, 82, 10, 0.08);
}

.va-shell-contact:hover .va-shell-contact__arrow,
.va-shell-mobile__contact:hover .va-shell-contact__arrow {
  background: var(--va-shell-orange);
  color: #fffaf5;
  transform: translateX(1px);
}

.va-shell-menu-button {
  display: none;
  min-width: 5.2rem;
  min-height: 2.78rem;
  align-items: center;
  justify-content: center;
  gap: 0.62rem;
  border: 1px solid rgba(91, 33, 182, 0.12);
  border-radius: 0.82rem;
  background: rgba(255, 255, 255, 0.4);
  color: var(--va-shell-violet-deep);
  font: 650 0.68rem/1 var(--va-shell-sans);
  cursor: pointer;
}

.va-shell-menu-button__lines {
  position: relative;
  width: 1.08rem;
  height: 0.7rem;
}

.va-shell-menu-button__lines::before,
.va-shell-menu-button__lines::after {
  position: absolute;
  right: 0;
  width: 100%;
  height: 1px;
  border-radius: 2px;
  background: currentColor;
  content: "";
}

.va-shell-menu-button__lines::before { top: 0.12rem; }
.va-shell-menu-button__lines::after { right: 0.18rem; bottom: 0.12rem; width: calc(100% - 0.18rem); }

/* Deliberate mobile paper environment. */
.va-shell-backdrop {
  position: fixed;
  z-index: 9400;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(76, 29, 149, 0.1);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 240ms var(--va-shell-ease), visibility 240ms step-end;
}

.va-shell-backdrop.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 240ms var(--va-shell-ease), visibility 0ms step-start;
}

.va-shell-mobile {
  position: fixed;
  z-index: 9500;
  inset: 0.55rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 1.6rem;
  background: var(--va-shell-paper);
  color: var(--va-shell-ink);
  box-shadow: 0 28px 90px rgba(48, 27, 76, 0.2);
  font-family: var(--va-shell-sans);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.55rem) scale(0.987);
  transition: opacity 240ms var(--va-shell-ease), transform 300ms var(--va-shell-ease), visibility 300ms step-end;
}

.va-shell-mobile.is-open {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition: opacity 240ms var(--va-shell-ease), transform 300ms var(--va-shell-ease), visibility 0ms step-start;
}

.va-shell-mobile__atmosphere {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.va-shell-mobile__atmosphere::before,
.va-shell-mobile__atmosphere::after {
  position: absolute;
  width: 26rem;
  height: 26rem;
  border-radius: 50%;
  content: "";
  filter: blur(36px);
}

.va-shell-mobile__atmosphere::before {
  top: -15rem;
  right: -12rem;
  background: radial-gradient(circle, rgba(193, 43, 227, 0.12), rgba(91, 33, 182, 0.05) 48%, transparent 72%);
}

.va-shell-mobile__atmosphere::after {
  bottom: -18rem;
  left: -13rem;
  background: radial-gradient(circle, rgba(232, 82, 10, 0.1), rgba(232, 82, 10, 0.025) 48%, transparent 72%);
}

.va-shell-mobile__inner {
  position: relative;
  display: flex;
  height: 100%;
  flex-direction: column;
}

.va-shell-mobile__top {
  display: flex;
  min-height: 4.15rem;
  align-items: center;
  justify-content: space-between;
  margin: 0.5rem;
  padding: 0.4rem 0.44rem 0.4rem 0.62rem;
  border: 1px solid rgba(255, 255, 255, 0.84);
  border-radius: 1.05rem;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.68), rgba(243, 239, 232, 0.42));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.98), 0 12px 32px rgba(48, 27, 76, 0.055);
  -webkit-backdrop-filter: blur(18px) saturate(126%);
  backdrop-filter: blur(18px) saturate(126%);
}

.va-shell-mobile__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.62rem;
  color: var(--va-shell-ink) !important;
  font: 700 0.97rem/1 var(--va-shell-sans);
  letter-spacing: -0.025em;
  text-decoration: none !important;
}

.va-shell-mobile__brand img {
  width: 2.12rem;
  height: 2.12rem;
  object-fit: contain;
}

.va-shell-mobile__close {
  position: relative;
  width: 2.85rem;
  height: 2.85rem;
  border: 1px solid rgba(232, 82, 10, 0.22);
  border-radius: 0.82rem;
  background: rgba(255, 255, 255, 0.48);
  color: var(--va-shell-orange-deep);
  cursor: pointer;
}

.va-shell-mobile__close span::before,
.va-shell-mobile__close span::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 1px;
  background: currentColor;
  content: "";
}

.va-shell-mobile__close span::before { transform: translate(-50%, -50%) rotate(45deg); }
.va-shell-mobile__close span::after { transform: translate(-50%, -50%) rotate(-45deg); }

.va-shell-mobile__body {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  overflow-y: auto;
  padding: clamp(1rem, 4vh, 2.4rem) clamp(1.1rem, 5vw, 2.7rem) 1.35rem;
  overscroll-behavior: contain;
}

.va-shell-mobile__eyebrow {
  margin-bottom: 0.65rem;
  color: rgba(91, 33, 182, 0.65);
}

.va-shell-mobile__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.va-shell-mobile__link {
  display: flex;
  min-height: clamp(3.45rem, 8vh, 5.1rem);
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(28, 25, 23, 0.075);
  color: var(--va-shell-ink) !important;
  font: 400 clamp(2.05rem, 7.4vw, 3.4rem)/0.95 var(--va-shell-serif);
  letter-spacing: -0.035em;
  text-decoration: none !important;
}

.va-shell-mobile__link span {
  color: rgba(91, 33, 182, 0.36);
  font: 500 0.75rem/1 var(--va-shell-mono);
}

.va-shell-mobile__link[aria-current="page"] {
  color: var(--va-shell-page-accent) !important;
}

.va-shell-mobile__section {
  margin: 0;
  border-bottom: 1px solid rgba(28, 25, 23, 0.075);
}

.va-shell-mobile__summary {
  width: 100%;
  display: flex;
  min-height: clamp(3.45rem, 8vh, 5.1rem);
  align-items: center;
  justify-content: space-between;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--va-shell-ink);
  font: 400 clamp(2.05rem, 7.4vw, 3.4rem)/0.95 var(--va-shell-serif);
  letter-spacing: -0.035em;
  text-align: left;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.va-shell-mobile__summary span:last-child {
  color: rgba(91, 33, 182, 0.5);
  font: 400 1.18rem/1 var(--va-shell-sans);
  transition: transform 170ms var(--va-shell-ease);
}

.va-shell-mobile__section.is-current > .va-shell-mobile__summary {
  color: var(--va-shell-page-accent);
}

.va-shell-mobile__section.is-open .va-shell-mobile__summary span:last-child {
  transform: rotate(45deg);
}

.va-shell-mobile__submenu {
  padding: 0.1rem 0.15rem 0.55rem;
  border-top: 1px solid rgba(91, 33, 182, 0.08);
}

.va-shell-mobile__submenu[hidden] {
  display: none !important;
}

.va-shell-mobile__intelligence-link {
  position: relative;
  display: grid;
  min-height: 4.25rem;
  grid-template-columns: 0.9rem 1fr 0.85rem;
  align-items: center;
  gap: 0.62rem;
  padding: 0.62rem 0.12rem;
  color: var(--va-shell-ink) !important;
  text-decoration: none !important;
}

.va-shell-mobile__intelligence-link + .va-shell-mobile__intelligence-link {
  border-top: 1px solid rgba(28, 25, 23, 0.07);
}

.va-shell-mobile__intelligence-link[aria-current="page"] .va-shell-intelligence__label {
  color: var(--va-shell-page-accent);
}

.va-shell-mobile__actions {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.68rem;
  margin-top: 1.3rem;
}

.va-shell-mobile__language {
  display: flex;
  align-items: stretch;
  padding: 0.26rem;
  border: 1px solid rgba(91, 33, 182, 0.1);
  border-radius: 0.86rem;
  background: rgba(255, 255, 255, 0.5);
}

.va-shell-mobile__language-link {
  display: inline-flex;
  min-width: 2.3rem;
  min-height: 2.85rem;
  align-items: center;
  justify-content: center;
  padding: 0 0.45rem;
  border-radius: 0.64rem;
  color: rgba(87, 83, 78, 0.62) !important;
  font: 600 0.66rem/1 var(--va-shell-mono);
  letter-spacing: 0.07em;
  text-decoration: none !important;
  white-space: nowrap;
}

.va-shell-mobile__language-link[aria-current="true"] {
  background: rgba(91, 33, 182, 0.07);
  color: var(--va-shell-violet-deep) !important;
}

.va-shell-mobile__language .va-shell-language__divider {
  min-width: auto;
  padding: 0 0.08rem;
}

.va-shell-mobile__contact {
  min-height: 3.42rem;
  justify-content: space-between;
  padding-left: 1.05rem;
  font-size: 0.78rem;
}

.va-shell-mobile__contact .va-shell-contact__arrow {
  width: 2.75rem;
  height: 2.75rem;
}

.va-shell-mobile__meta {
  margin: 1.1rem 0 0;
  color: rgba(87, 83, 78, 0.56);
  font: 500 0.6rem/1.5 var(--va-shell-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* One compact horizontal newsletter glass surface. */
.va-shell-newsletter {
  position: relative;
  z-index: 2;
  padding: clamp(5.5rem, 7vw, 7.5rem) 2rem 2.6rem;
  overflow: hidden;
  background: var(--va-shell-paper);
  color: var(--va-shell-ink);
  font-family: var(--va-shell-sans);
}

.va-shell-newsletter__atmosphere {
  position: absolute;
  top: 15%;
  right: -4%;
  width: 45%;
  height: 75%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(193, 43, 227, 0.06), rgba(91, 33, 182, 0.025) 48%, transparent 72%);
  filter: blur(28px);
  pointer-events: none;
}

.va-shell-newsletter__inner {
  position: relative;
  display: grid;
  width: min(100%, var(--va-shell-width));
  min-height: 11.5rem;
  margin: 0 auto;
  grid-template-columns: minmax(0, 0.92fr) minmax(28rem, 1.08fr);
  align-items: center;
  gap: clamp(2.5rem, 5vw, 5.5rem);
  padding: clamp(1.65rem, 2.6vw, 2.2rem) clamp(1.8rem, 3vw, 2.6rem);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.84);
  border-radius: 1.45rem;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.59), rgba(250, 246, 243, 0.34)), linear-gradient(95deg, rgba(232, 82, 10, 0.025), rgba(91, 33, 182, 0.035));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.98), 0 20px 62px rgba(48, 27, 76, 0.065), 0 8px 24px rgba(232, 82, 10, 0.035);
  -webkit-backdrop-filter: blur(22px) saturate(126%);
  backdrop-filter: blur(22px) saturate(126%);
}

.va-shell-newsletter__inner::before {
  position: absolute;
  right: -6rem;
  bottom: -7rem;
  width: 19rem;
  height: 19rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(193, 43, 227, 0.075), rgba(232, 82, 10, 0.025) 48%, transparent 72%);
  content: "";
  filter: blur(18px);
  pointer-events: none;
}

.va-shell-newsletter__copy,
.va-shell-newsletter__form-wrap {
  position: relative;
  z-index: 1;
}

.va-shell-newsletter__eyebrow {
  margin-bottom: 0.82rem;
  color: var(--va-shell-violet);
}

.va-shell-newsletter__title {
  max-width: 22ch;
  margin: 0;
  color: var(--va-shell-ink);
  font: 400 clamp(2.05rem, 2.55vw, 2.7rem)/1 var(--va-shell-serif);
  letter-spacing: -0.035em;
}

.va-shell-newsletter__description {
  max-width: 34rem;
  margin: 0.95rem 0 0;
  color: var(--va-shell-ink-secondary);
  font: 450 0.86rem/1.65 var(--va-shell-sans);
}

.va-shell-newsletter__form-wrap {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.va-shell-newsletter__form-light {
  display: none;
}

.va-shell-newsletter__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 0.58rem;
}

.va-shell-newsletter__field {
  min-width: 0;
}

.va-shell-newsletter__label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

.va-shell-newsletter__input {
  display: block;
  width: 100%;
  min-height: 3.05rem;
  padding: 0 1rem;
  border: 1px solid rgba(28, 25, 23, 0.1);
  border-radius: 1.52rem;
  background: rgba(250, 248, 245, 0.64);
  color: var(--va-shell-ink);
  font: 500 0.8rem/1 var(--va-shell-sans);
  box-shadow: inset 0 1px 3px rgba(48, 27, 76, 0.025);
}

.va-shell-newsletter__input::placeholder {
  color: rgba(87, 83, 78, 0.58);
}

.va-shell-newsletter__input.is-invalid,
.va-shell-newsletter__consent input.is-invalid {
  border-color: rgba(194, 65, 12, 0.68);
}

.va-shell-newsletter__button,
.va-shell-footer__contact a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.58rem;
  border: 1px solid rgba(194, 65, 12, 0.25);
  border-radius: 1.5rem;
  background: linear-gradient(145deg, #f0641d, var(--va-shell-orange));
  color: #fffaf5 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 8px 20px rgba(232, 82, 10, 0.18);
  font: 650 0.72rem/1 var(--va-shell-sans);
  text-decoration: none !important;
  transition: filter 170ms var(--va-shell-ease), box-shadow 170ms var(--va-shell-ease), transform 170ms var(--va-shell-ease);
}

.va-shell-newsletter__button {
  min-height: 3.05rem;
  padding: 0 1rem 0 1.15rem;
  cursor: pointer;
}

.va-shell-newsletter__button svg,
.va-shell-footer__contact a svg {
  width: 1rem;
  height: 1rem;
}

.va-shell-newsletter__button:hover,
.va-shell-footer__contact a:hover {
  filter: brightness(1.035) saturate(106%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34), 0 10px 24px rgba(232, 82, 10, 0.21);
  transform: translateY(-1px);
}

.va-shell-newsletter__consent {
  display: grid;
  grid-template-columns: 0.9rem 1fr;
  align-items: start;
  gap: 0.5rem;
  margin-top: 0.68rem;
  color: var(--va-shell-ink-secondary);
  font: 450 0.64rem/1.45 var(--va-shell-sans);
  cursor: pointer;
}

.va-shell-newsletter__consent input {
  width: 0.9rem;
  height: 0.9rem;
  margin: 0.05rem 0 0;
  accent-color: var(--va-shell-violet);
}

.va-shell-newsletter__consent a {
  color: var(--va-shell-violet-deep) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 2px;
}

.va-shell-newsletter__delivery {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.62rem;
  margin-top: 0.72rem;
  color: rgba(87, 83, 78, 0.6);
}

.va-shell-newsletter__delivery-icon {
  display: inline-flex;
  flex: 0 0 2.35rem;
  width: 2.35rem;
  height: 2.35rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(91, 33, 182, 0.12);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.46);
  color: var(--va-shell-orange);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 7px 18px rgba(48, 27, 76, 0.055);
}

.va-shell-newsletter__delivery-icon svg {
  display: block;
  width: 1.15rem;
  height: 1.15rem;
}

.va-shell-newsletter__note {
  max-width: 13rem;
  color: inherit;
  font: 500 0.58rem/1.4 var(--va-shell-sans);
}

.va-shell-newsletter__fineprint {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.46rem;
  color: rgba(87, 83, 78, 0.52);
  font: 500 0.53rem/1.35 var(--va-shell-mono);
  letter-spacing: 0.04em;
}

.va-shell-newsletter__note,
.va-shell-feedback {
  margin: 0;
}

.va-shell-feedback {
  margin-top: 0.65rem;
  color: var(--va-shell-orange-deep);
  font: 600 0.68rem/1.45 var(--va-shell-sans);
}

/* Compact, official-logo ecosystem index. */
.va-shell-ecosystem {
  position: relative;
  z-index: 2;
  padding: 2rem 2rem 2.4rem;
  background: var(--va-shell-paper);
  color: var(--va-shell-ink);
  font-family: var(--va-shell-sans);
}

.va-shell-ecosystem__inner {
  width: min(100%, var(--va-shell-width));
  margin: 0 auto;
}

.va-shell-ecosystem__head {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(20rem, 1.05fr);
  align-items: end;
  gap: clamp(2rem, 6vw, 7rem);
  margin-bottom: 1.55rem;
}

.va-shell-ecosystem__eyebrow {
  grid-column: 1 / -1;
  margin-bottom: -0.78rem;
  color: var(--va-shell-violet);
}

.va-shell-ecosystem__eyebrow::before {
  display: inline-block;
  width: 0.4rem;
  height: 0.4rem;
  margin-right: 0.65rem;
  border-radius: 50%;
  background: currentColor;
  content: "";
  vertical-align: 0.05rem;
}

.va-shell-ecosystem__title {
  max-width: 18ch;
  margin: 0;
  color: var(--va-shell-ink);
  font: 400 clamp(2rem, 3vw, 2.85rem)/0.98 var(--va-shell-serif);
  letter-spacing: -0.035em;
}

.va-shell-ecosystem__description {
  max-width: 38rem;
  margin: 0 0 0.18rem;
  color: var(--va-shell-ink-secondary);
  font: 450 0.78rem/1.55 var(--va-shell-sans);
}

.va-shell-ecosystem__categories {
  display: grid;
  gap: 0.42rem;
}

.va-shell-ecosystem__group {
  display: grid;
  grid-template-columns: minmax(10.75rem, 12.5rem) minmax(0, 1fr);
  align-items: start;
  gap: 1.2rem;
  padding: 0.38rem 0;
}

.va-shell-ecosystem__group-head {
  position: relative;
  display: block;
  padding: 0.72rem 0.4rem 0 1.18rem;
}

.va-shell-ecosystem__group-head::before {
  position: absolute;
  top: 0.96rem;
  left: 0.12rem;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: var(--va-shell-violet);
  content: "";
}

.va-shell-ecosystem__group[data-va-ecosystem-group="institutional"] .va-shell-ecosystem__group-head::before { background: var(--va-shell-cyan); }
.va-shell-ecosystem__group[data-va-ecosystem-group="operations"] .va-shell-ecosystem__group-head::before { background: var(--va-shell-orange); }

.va-shell-ecosystem__group-index,
.va-shell-ecosystem__group-count {
  display: none;
}

.va-shell-ecosystem__group-title {
  margin: 0;
  color: var(--va-shell-violet-deep);
  font: 600 0.7rem/1.42 var(--va-shell-sans);
}

.va-shell-ecosystem__group[data-va-ecosystem-group="institutional"] .va-shell-ecosystem__group-title { color: var(--va-shell-cyan); }
.va-shell-ecosystem__group[data-va-ecosystem-group="operations"] .va-shell-ecosystem__group-title { color: var(--va-shell-orange-deep); }

.va-shell-programs {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.42rem;
  list-style: none;
}

.va-shell-program {
  min-width: 0;
  min-height: 4.1rem;
}

.va-shell-program__link {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 4.1rem;
  align-items: center;
  gap: 0.55rem;
  padding: 0.55rem 1.05rem 0.55rem 0.65rem;
  overflow: hidden;
  border: 1px solid rgba(28, 25, 23, 0.09);
  border-radius: 0.82rem;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.55), rgba(243, 239, 232, 0.25));
  color: var(--va-shell-ink) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  text-decoration: none !important;
  transition: border-color 170ms var(--va-shell-ease), background 170ms var(--va-shell-ease), box-shadow 170ms var(--va-shell-ease), transform 170ms var(--va-shell-ease);
}

a.va-shell-program__link:hover {
  border-color: rgba(91, 33, 182, 0.17);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94), 0 7px 20px rgba(48, 27, 76, 0.05);
  transform: translateY(-1px);
}

.va-shell-program__media {
  display: inline-flex;
  width: 3.1rem;
  height: 2.15rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
}

.va-shell-program__logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 2rem;
  object-fit: contain;
  object-position: center;
}

.va-shell-program__body {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 0.16rem;
}

.va-shell-program__name {
  color: var(--va-shell-ink);
  font: 650 0.65rem/1.25 var(--va-shell-sans);
  letter-spacing: -0.01em;
}

.va-shell-program__relationship {
  color: rgba(87, 83, 78, 0.63);
  font: 600 0.45rem/1.35 var(--va-shell-mono);
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.va-shell-program__external {
  position: absolute;
  top: 0.42rem;
  right: 0.42rem;
  color: rgba(91, 33, 182, 0.36);
  font: 500 0.58rem/1 var(--va-shell-mono);
  transition: color 170ms var(--va-shell-ease), transform 170ms var(--va-shell-ease);
}

.va-shell-program__link:hover .va-shell-program__external {
  color: var(--va-shell-violet);
  transform: translate(1px, -1px);
}

.va-shell-program__status-line {
  display: none;
}

/* Light editorial footer ledger. */
.va-shell-footer {
  position: relative;
  z-index: 2;
  overflow: hidden;
  padding: 2.3rem 2rem 1.35rem;
  border-top: 1px solid rgba(28, 25, 23, 0.08);
  background:
    radial-gradient(circle at 7% 15%, rgba(232, 82, 10, 0.035), transparent 25%),
    radial-gradient(circle at 88% 8%, rgba(193, 43, 227, 0.035), transparent 28%),
    linear-gradient(180deg, var(--va-shell-paper-soft), #f7f3ed);
  background-color: var(--va-shell-paper-soft);
  color: var(--va-shell-ink);
  font-family: var(--va-shell-sans);
}

.va-shell-footer__atmosphere {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.va-shell-footer__inner {
  position: relative;
  width: min(100%, var(--va-shell-width));
  margin: 0 auto;
}

.va-shell-footer__upper {
  display: grid;
  grid-template-columns: minmax(14rem, 1.15fr) minmax(13rem, 0.95fr) minmax(0, 4fr);
  align-items: stretch;
}

.va-shell-footer__brand {
  padding: 0 1.7rem 1.4rem 0;
}

.va-shell-footer__brand-link {
  display: inline-flex;
  align-items: center;
  gap: 0.72rem;
  color: var(--va-shell-ink) !important;
  font: 700 1.28rem/1 var(--va-shell-sans);
  letter-spacing: -0.025em;
  text-decoration: none !important;
}

.va-shell-footer__logo {
  display: block;
  width: 2.7rem;
  height: 2.7rem;
  object-fit: contain;
}

.va-shell-footer__hero-title {
  max-width: 15ch;
  margin: 1rem 0 0.55rem;
  color: var(--va-shell-ink);
  font: 400 clamp(1.55rem, 2.1vw, 2rem)/1 var(--va-shell-serif);
  letter-spacing: -0.03em;
}

.va-shell-footer__statement {
  max-width: 19rem;
}

.va-shell-footer__statement p {
  margin: 0;
  color: var(--va-shell-ink-secondary);
  font: 450 0.68rem/1.46 var(--va-shell-sans);
}

.va-shell-footer__statement p + p {
  margin-top: 0.42rem;
}

.va-shell-footer__statement .va-shell-footer__focus {
  color: var(--va-shell-ink-secondary);
  font-weight: 500;
}

.va-shell-footer__contact {
  padding: 0.25rem 1.8rem 1.4rem;
  border-left: 1px solid rgba(28, 25, 23, 0.09);
}

.va-shell-footer__contact-label {
  color: var(--va-shell-violet);
}

.va-shell-footer__contact > p:not(.va-shell-footer__contact-label) {
  max-width: 15rem;
  margin: 1.05rem 0 1.15rem;
  color: var(--va-shell-ink-secondary);
  font: 450 0.68rem/1.55 var(--va-shell-sans);
}

.va-shell-footer__contact a {
  min-height: 2.6rem;
  padding: 0 0.85rem 0 1rem;
  font-size: 0.68rem;
}

.va-shell-footer__nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-left: 1px solid rgba(28, 25, 23, 0.09);
}

.va-shell-footer__column {
  min-width: 0;
  padding: 0.25rem 1.1rem 1.4rem 1.65rem;
}

.va-shell-footer__column + .va-shell-footer__column {
  border-left: 1px solid rgba(28, 25, 23, 0.07);
}

.va-shell-footer__title {
  margin-bottom: 1rem;
  color: var(--va-shell-violet);
}

.va-shell-footer__list {
  display: grid;
  gap: 0.58rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.va-shell-footer__link {
  position: relative;
  display: inline-flex;
  width: fit-content;
  min-height: 1.1rem;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(28, 25, 23, 0.78) !important;
  font: 500 0.68rem/1.4 var(--va-shell-sans);
  text-align: left;
  text-decoration: none !important;
  cursor: pointer;
  transition: color 170ms var(--va-shell-ease);
}

.va-shell-footer__link i {
  position: absolute;
  right: 0;
  bottom: -0.1rem;
  left: 0;
  height: 1px;
  background: var(--va-shell-violet);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 200ms var(--va-shell-ease), background 170ms var(--va-shell-ease);
}

.va-shell-footer__link:hover,
.va-shell-footer__link[aria-current="page"] {
  color: var(--va-shell-ink) !important;
}

.va-shell-footer__link:hover i,
.va-shell-footer__link[aria-current="page"] i {
  transform: scaleX(1);
}

.va-shell-footer__link[data-va-footer-tone="orange"] i { background: var(--va-shell-orange); }
.va-shell-footer__link[data-va-footer-tone="cyan"] i { background: var(--va-shell-cyan); }
.va-shell-footer__link[data-va-footer-tone="green"] i { background: var(--va-shell-green); }
.va-shell-footer__link[data-va-footer-tone="magenta"] i { background: var(--va-shell-magenta); }

.va-shell-footer__legal-rail {
  display: flex;
  align-items: center;
  gap: 0.65rem 1.25rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(28, 25, 23, 0.09);
  color: rgba(87, 83, 78, 0.68);
  font: 500 0.58rem/1.5 var(--va-shell-mono);
  letter-spacing: 0.02em;
}

.va-shell-footer__legal-rail span + span::before {
  display: inline-block;
  width: 0.16rem;
  height: 0.16rem;
  margin-right: 1.25rem;
  border-radius: 50%;
  background: rgba(91, 33, 182, 0.34);
  content: "";
  vertical-align: middle;
}

.va-shell-footer--compact {
  padding-top: 2.1rem;
}

/* One-time welcome and permanent feedback entry. The surface is intentionally
   non-modal: it has no backdrop and never interrupts reading or navigation. */
























/* Useful static fallback when JavaScript is unavailable. */
.va-shell-nojs {
  position: relative;
  z-index: 8990;
  padding: 7rem 1rem 1rem;
  background: var(--va-shell-paper);
  color: var(--va-shell-ink);
  font-family: var(--va-shell-sans);
}

.va-shell-nojs__inner {
  display: flex;
  width: min(100%, var(--va-shell-width));
  margin: 0 auto;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(91, 33, 182, 0.1);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.55);
}

.va-shell-nojs__label {
  font: 600 0.64rem/1 var(--va-shell-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.va-shell-nojs__nav { flex: 1; }
.va-shell-nojs__list { display: flex; flex-wrap: wrap; gap: 0.72rem; margin: 0; padding: 0; list-style: none; }
.va-shell-nojs a, .va-shell-nojs summary { color: var(--va-shell-violet-deep); }
.va-shell-nojs__submenu { display: flex; gap: 0.72rem; padding: 0.5rem 0; }
.va-shell-js .va-shell-nojs { display: none; }

@media (max-width: 87.5rem) {
  .va-shell-nav__link { padding-right: 0.58rem; padding-left: 0.58rem; font-size: 0.75rem; }
  .va-shell-intelligence__summary { padding-right: 0.52rem; padding-left: 0.62rem; font-size: 0.75rem; }
  .va-shell-header__frame { gap: 0.65rem; }
}

@media (max-width: 1180px) {
  .va-shell-header { top: 1rem; width: calc(100% - 2rem); }
  .va-shell-header__frame { display: flex; justify-content: space-between; }
  .va-shell-desktop { display: none; }
  .va-shell-menu-button { display: inline-flex; }
  .va-shell-programs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .va-shell-footer__upper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .va-shell-footer__brand, .va-shell-footer__contact { min-height: 16rem; }
  .va-shell-footer__nav { grid-column: 1 / -1; border-top: 1px solid rgba(28, 25, 23, 0.09); border-left: 0; }
  .va-shell-footer__column { padding-top: 1.6rem; }
}

@media (max-width: 60rem) {
  .va-shell-newsletter__inner,
  .va-shell-ecosystem__head {
    grid-template-columns: 1fr;
  }

  .va-shell-newsletter__inner { gap: 1.65rem; }
  .va-shell-ecosystem__head { gap: 0.9rem; }
  .va-shell-ecosystem__eyebrow { margin-bottom: -0.2rem; }
  .va-shell-ecosystem__group { grid-template-columns: 1fr; gap: 0.35rem; padding-top: 0.55rem; border-top: 1px solid rgba(28, 25, 23, 0.075); }
  .va-shell-ecosystem__group-head { padding-top: 0.25rem; padding-bottom: 0.25rem; }
  .va-shell-ecosystem__group-head::before { top: 0.48rem; }
  .va-shell-footer__legal-rail { flex-wrap: wrap; }
}

@media (max-width: 45rem) {
  html { scroll-padding-top: 5.8rem; }
  .va-shell-header { top: 1rem; width: calc(100% - 2rem); }
  .va-shell-header__frame { min-height: 3.85rem; padding: 0.36rem 0.4rem 0.36rem 0.52rem; border-radius: 1.05rem; }
  .va-shell-brand { min-height: 2.65rem; }
  .va-shell-brand__mark { width: 1.95rem; height: 1.95rem; }
  .va-shell-brand__name { font-size: 0.9rem; }
  .va-shell-menu-button { min-width: 4.8rem; min-height: 2.65rem; }
  .va-shell-mobile { inset: 0.35rem; border-radius: 1.3rem; }
  .va-shell-mobile__top { min-height: 3.85rem; margin: 0.4rem; border-radius: 0.94rem; }
  .va-shell-mobile__body { padding-right: 1.02rem; padding-left: 1.02rem; }
  .va-shell-mobile__actions { grid-template-columns: 1fr; }
  .va-shell-mobile__language { justify-content: center; }
  .va-shell-newsletter { padding: 5.2rem 1rem 2rem; }
  .va-shell-newsletter__inner { min-height: auto; padding: 1.55rem 1.15rem; border-radius: 1.2rem; }
  .va-shell-newsletter__title { font-size: clamp(2.15rem, 10vw, 2.85rem); }
  .va-shell-newsletter__row { grid-template-columns: 1fr; }
  .va-shell-newsletter__button { width: 100%; }
  .va-shell-newsletter__delivery { justify-content: flex-start; }
  .va-shell-newsletter__fineprint { align-items: flex-start; flex-direction: column; gap: 0.25rem; }
  .va-shell-ecosystem { padding: 1.6rem 1rem 2rem; }
  .va-shell-ecosystem__title { font-size: clamp(2.25rem, 11vw, 3.15rem); }
  .va-shell-programs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.38rem; }
  .va-shell-ecosystem__group[data-va-ecosystem-group="institutional"] .va-shell-programs { grid-template-columns: 1fr; }
  .va-shell-program__link { height: 4.75rem; min-height: 4.75rem; align-items: center; flex-direction: row; justify-content: flex-start; gap: 0.38rem; padding: 0.42rem 0.68rem 0.42rem 0.44rem; }
  .va-shell-program__media { width: 2.55rem; height: 1.7rem; justify-content: center; }
  .va-shell-program__logo { max-height: 1.55rem; object-position: center; }
  .va-shell-program__body { gap: 0.08rem; }
  body[data-va-shell-version="2"] .va-shell-program__name { font: 650 0.68rem/1.18 var(--va-shell-sans) !important; }
  body[data-va-shell-version="2"] .va-shell-program__relationship { font: 600 0.48rem/1.28 var(--va-shell-mono) !important; letter-spacing: 0.02em; }
  .va-shell-footer { padding: 2rem 1rem 1.2rem; }
  .va-shell-footer__upper { grid-template-columns: 1fr; }
  .va-shell-footer__brand, .va-shell-footer__contact { min-height: auto; padding: 0 0 2rem; }
  .va-shell-footer__contact { padding-top: 1.6rem; border-top: 1px solid rgba(28, 25, 23, 0.09); border-left: 0; }
  .va-shell-footer__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .va-shell-footer__column { padding: 1.5rem 0.75rem 1.5rem 0; border-left: 0 !important; }
  .va-shell-footer__column:nth-child(2n) { padding-left: 0.75rem; border-left: 1px solid rgba(28, 25, 23, 0.07) !important; }
  .va-shell-footer__link { font-size: 0.7rem; }
  .va-shell-footer__legal-rail { align-items: flex-start; flex-direction: column; gap: 0.42rem; font-size: 0.56rem; }
  .va-shell-footer__legal-rail span + span::before { display: none; }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .va-shell-header__frame,
  .va-shell-intelligence__menu,
  .va-shell-mobile__top,
  .va-shell-newsletter__inner {
    background-color: rgba(250, 248, 245, 0.97);
  }

}

@media (prefers-reduced-motion: reduce) {
  .va-shell-header *,
  .va-shell-mobile,
  .va-shell-mobile *,
  .va-shell-backdrop,
  .va-shell-newsletter *,
  .va-shell-ecosystem *,
  .va-shell-footer * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  .va-shell-contact:hover .va-shell-contact__arrow,
  .va-shell-mobile__contact:hover .va-shell-contact__arrow,
  .va-shell-newsletter__button:hover,
  .va-shell-footer__contact a:hover,
  .va-shell-program__link:hover,
  .va-shell-program__link:hover .va-shell-program__external,
  .va-shell-intelligence__item:hover .va-shell-intelligence__arrow {
    transform: none !important;
  }
}

