/* 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: /research-impact.css */
/* ════════════════════════════════════════════════════════════════
   Research & Impact — page layer

   The Research page has no design language of its own. Everything
   visible that also exists elsewhere on the site — hero, editorial
   headings, eyebrows, buttons, the closing panel, the reveal
   transition — comes from vita-design-system.css and product-vita.css,
   exactly as /product/ and /dvi/ consume them.

   This file only adds the surfaces that exist nowhere else on the
   site: the participant selector, the questionnaire shell and the
   research-specific editorial rows. Every value below resolves to a
   --pv-*, --va-* or --ri-space-* 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="research"] {
  /* ── Section rhythm scale ──
     One shared opening step, then four closing levels instead of a single
     padding for every section, so the page reads as a paced document rather
     than a stack of equal blocks:
     A: the opening decision (hero, participant selection)
     B: editorial argument (why we listen, approach, transparency)
     C: reference and contact (areas, meeting, team)
     D: closing beats (research notes, final CTA) */
  --ri-space-open: clamp(2.25rem, 3vw, 3rem);
  --ri-space-a: clamp(5rem, 7.5vw, 7.5rem);
  --ri-space-b: clamp(4.25rem, 6vw, 6rem);
  --ri-space-c: clamp(3.5rem, 5vw, 5rem);
  --ri-space-d: clamp(2.75rem, 4vw, 4rem);

  /* The shared hero formula stays; Research only asks it for a shorter
     opening, because this hero carries copy alone with no console
     beside it — nothing on the right needs vertical room to breathe into.
     Overriding the global tokens keeps the page on the site's
     first-screen calibration instead of inventing a hero padding.
     The bottom value is deliberately the smallest step on the page: the
     copy ends on a pair of buttons, and a button is already a firm visual
     edge. Anything more than a hairline of air below it reads as a gap
     between the hero and the rule that closes it, rather than as the end
     of the hero. */
  --va-hero-gap-product: clamp(1.25rem, 1.75vw, 1.75rem);
  --va-hero-bottom-product: clamp(1.25rem, 1.75vw, 1.75rem);

  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="research"] *,
body[data-va-page="research"] *::before,
body[data-va-page="research"] *::after {
  box-sizing: border-box;
}

/* The card selector, the disclosure rows and the stage rail are all
   keyboard-focusable without being one of the natively-focusable elements
   product-vita.css styles, so they are named here explicitly — otherwise
   they fall back to the browser's own hairline ring. */
body[data-va-page="research"] :where(a, button, input, select, textarea, summary, .pcard, .pv-proof-rail):focus-visible {
  outline: 3px solid var(--pv-violet);
  outline-offset: 4px;
}

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

/* app.js drives every state change on this page through the hidden
   attribute, and several of those surfaces set their own display value
   (the card grid, the help row, the loading and error states). A class
   rule outranks the browser's own [hidden] rule, so the attribute is
   restated here with enough specificity to win. */
body[data-va-page="research"] [hidden] {
  display: none;
}

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

/* ─── 02 · Section rhythm ───
   Every section opens on a boundary the reader has just crossed — a rule, a
   change of paper, or the end of the block above — so it does not also need
   a wide band of empty paper above its first line. The opening step is one
   shared value for the whole page, and the pacing scale governs the space
   *after* a chapter, which is what the eye actually reads as rhythm.
   Symmetric padding on both sides of every boundary is what produced the
   empty bands this page opened with.

   .ri-section carries the pacing level; .ri-section--deep is only a
   background treatment, so the two compose freely. */
.ri-section {
  position: relative;
  padding-top: var(--ri-space-open);
  padding-bottom: var(--ri-space-b);
}

.ri-section--a { padding-bottom: var(--ri-space-a); }
.ri-section--c { padding-bottom: var(--ri-space-c); }
.ri-section--d { padding-bottom: var(--ri-space-d); }

.ri-section--deep {
  border-block: 1px solid var(--pv-line);
  background:
    radial-gradient(circle 44rem at 6% 24%, rgba(232, 82, 10, 0.05), transparent 68%),
    radial-gradient(circle 54rem at 94% 62%, rgba(91, 33, 182, 0.06), transparent 70%),
    var(--pv-paper-deep);
}

/* The closing panel is the site's shared component, sized on /product/
   for a page that ends on a full-bleed statement. Research ends on a
   single short line and one button, so it is paced as a level-D beat —
   a firm close, not a second homepage hero. */
body[data-va-page="research"] .pv-closing {
  min-height: 0;
  padding-top: var(--ri-space-open);
  padding-bottom: clamp(3.5rem, 5.5vw, 5.5rem);
}

/* ─── 03 · Hero ───
   .pv-hero without the product console: one editorial column, and the
   whitespace to its right is part of the composition.

   The opening holds the first screen on its own: 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 under the buttons as slack. svh, not vh, so a mobile browser
   collapsing its address bar cannot make the hero taller than the screen.
   min-height, so copy that outgrows the viewport still sets the height. */
body[data-va-page="research"] .pv-hero {
  display: grid;
  min-height: 100svh;
  align-content: center;
}

.ri-hero__copy {
  position: relative;
  z-index: 1;
  max-width: 54rem;
}

/* The shared hero rhythm is calibrated for /product/, where the copy
   column sits beside a tall console and has to fill that height. Here the
   column is the whole hero, so the same steps read as gaps. Each one is
   tightened by roughly a quarter — enough to close the stack into a single
   editorial block, not enough to change the order or weight of anything
   in it. */
.ri-hero__copy h1 {
  margin-top: 1.1rem;
}

.ri-hero__copy .pv-hero__lede {
  margin-top: 1.5rem;
}

.ri-hero__copy .pv-hero__proof {
  margin-top: 1.35rem;
}

.ri-hero__copy .pv-actions {
  margin-top: 1.75rem;
}

/* ── Journey markers ──
   The stage rail belongs to the paragraph above it — it names the parts
   of the journey that paragraph describes — so it is pulled closer than
   the shared component's default and never reads as its own block. */
body[data-va-page="research"] .pv-proof-rail {
  margin-top: 2rem;
}

/* ─── 04 · Participant cards ───
   Selection panels, not content cards: a fixed internal rhythm so all
   five read with the same weight however long their copy is, and the
   action always lands on the same baseline at the foot of the card. */
.profile-cards {
  display: grid;
  gap: 1rem;
  margin-top: clamp(2.25rem, 3.5vw, 3rem);
}

.profile-row {
  display: grid;
  align-items: stretch;
  gap: 1rem;
}

.pcard {
  display: flex;
  flex-direction: column;
  padding: 1.35rem 1.35rem 1.25rem;
  border: 1px solid var(--pv-line);
  border-radius: var(--va-radius-panel);
  background: rgba(255, 255, 255, 0.72);
  cursor: pointer;
  transition:
    transform 200ms var(--va-ease-standard),
    border-color 200ms ease,
    background-color 200ms ease,
    box-shadow 200ms ease;
}

.pcard:hover {
  transform: translateY(-3px);
  border-color: rgba(91, 33, 182, 0.28);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--va-shadow-floating);
}

.pcard.selected {
  border-color: var(--pv-violet);
  background: var(--pv-violet-soft);
}

.pcard-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.95rem;
}

.pcard-num {
  color: var(--pv-faint);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
}

.pcard-icon {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 11px;
  background: var(--pv-violet-soft);
  color: var(--pv-violet);
  transition: background-color 200ms ease;
}

.pcard-icon svg {
  width: 1.3rem;
  height: 1.3rem;
}

.pcard:hover .pcard-icon {
  background: rgba(99, 37, 199, 0.14);
}

.pcard h3 {
  font-size: 1.05rem;
  font-weight: 650;
  letter-spacing: -0.01em;
  line-height: 1.28;
}

/* flex:1 is what pins the action to the foot of every card, so a short
   description and a long one produce the same silhouette. */
.pcard > p {
  flex: 1;
  margin-top: 0.5rem;
  color: var(--pv-muted);
  font-size: 0.92rem;
  line-height: 1.58;
}

/* The card action is an affordance inside the card, not a second
   button competing with the page's real CTAs — so it borrows
   .pv-text-link and only drops the native button chrome. */
.pcard-cta {
  margin-top: 1.15rem;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}

.pcard:hover .pcard-arrow {
  transform: translateX(3px);
}

/* ─── 05 · Help panel ───
   A quiet utility that belongs to the selection above it, so it sits
   close to the cards rather than reading as its own row. */
.profile-help {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem 1rem;
  margin-top: 1.6rem;
}

.profile-help > p {
  color: var(--pv-muted);
  font-size: 0.92rem;
}

.profile-selection-message {
  max-width: 37rem;
  margin-top: 1.25rem;
  padding: 0.85rem 1rem;
  border-left: 2px solid var(--pv-orange);
  background: rgba(255, 255, 255, 0.62);
  color: var(--pv-ink);
  font-size: 0.92rem;
}

.profile-help-panel {
  margin-top: 1.25rem;
}

.profile-help-grid {
  display: grid;
  gap: 0.6rem;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

.profile-help-option {
  display: grid;
  gap: 0.25rem;
  min-height: 2.75rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--pv-line);
  border-radius: var(--va-radius-small);
  background: rgba(255, 255, 255, 0.62);
  cursor: pointer;
  text-align: left;
}

.profile-help-option:hover {
  border-color: rgba(91, 33, 182, 0.28);
  background: rgba(255, 255, 255, 0.9);
}

.profile-help-title {
  font-size: 0.95rem;
  font-weight: 650;
}

.profile-help-desc {
  color: var(--pv-muted);
  font-size: 0.86rem;
  line-height: 1.55;
}

/* ─── 06 · PhD selector ───
   The next step of the same interface: it opens where the cards were,
   at the same card proportions, under a compact heading — so choosing
   a doctoral route never grows the page. */
.phd-selector {
  margin-top: clamp(2.25rem, 3.5vw, 3rem);
  animation: ri-rise 320ms var(--va-ease-standard);
}

.phd-selector h3 {
  margin-top: 1.1rem;
  font-family: var(--va-font-editorial);
  font-size: clamp(1.85rem, 2.8vw, 2.4rem);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 1.02;
}

.phd-selector > p {
  max-width: 37rem;
  margin-top: 0.7rem;
  color: var(--pv-muted);
}

.phd-back {
  margin-top: 0;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}

.phd-options {
  display: grid;
  align-items: stretch;
  gap: 1rem;
  margin-top: 1.75rem;
}

/* ─── 07 · Research areas ───
   A research index: fixed number, title and description columns so the
   eye scans straight down each one, with the row height coming from the
   text rather than from padding. */
.areas-list {
  margin-top: clamp(1.75rem, 3vw, 2.5rem);
  border-top: 1px solid var(--pv-line);
}

.area-row {
  display: grid;
  gap: 0.25rem 1.5rem;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  padding: 1.05rem 0.75rem;
  border-bottom: 1px solid var(--pv-line);
  transition: background-color 200ms ease;
}

.area-row:hover {
  background: rgba(255, 255, 255, 0.58);
}

.area-num {
  color: var(--pv-faint);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  line-height: 1.85;
}

.area-name {
  font-size: 1.05rem;
  font-weight: 650;
  line-height: 1.4;
  transition: color 200ms ease;
}

.area-row:hover .area-name {
  color: var(--pv-violet);
}

.area-hint {
  grid-column: 2;
  color: var(--pv-muted);
  font-size: 0.92rem;
  line-height: 1.55;
}

/* ─── 08 · Approach ───
   One editorial sequence of four, not four tall standalone blocks. */
.principles {
  margin-top: clamp(2.25rem, 3.5vw, 3rem);
}

.princ-row {
  display: grid;
  gap: 0.4rem 1.75rem;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  padding-block: clamp(1.5rem, 2.5vw, 2.25rem);
  border-top: 1px solid var(--pv-line);
}

.princ-num {
  color: rgba(91, 33, 182, 0.22);
  font-family: var(--va-font-editorial);
  font-size: 2.4rem;
  line-height: 0.95;
}

.princ-text h3 {
  font-family: var(--va-font-editorial);
  font-size: clamp(1.7rem, 2.4vw, 2.2rem);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 1.04;
}

.princ-text p {
  max-width: 42rem;
  margin-top: 0.65rem;
  color: var(--pv-muted);
  line-height: 1.68;
}

/* ─── 09 · Team ───
   One researcher, presented as an editorial row rather than a lone card
   floating in an empty grid — and the two columns are centred against
   each other so neither leaves a blank region below it. */
.team-layout {
  display: grid;
  gap: 2rem;
}

.team-member {
  display: flex;
  align-items: center;
  gap: 1.05rem;
  padding: 1.3rem 0;
  border-block: 1px solid var(--pv-line);
}

.tm-avatar {
  display: grid;
  width: 3.2rem;
  height: 3.2rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: var(--pv-violet-soft);
  color: var(--pv-violet);
  font-family: var(--va-font-system);
  font-size: 0.86rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}

.tm-info h3 {
  font-size: 1.08rem;
  font-weight: 650;
}

.tm-info p {
  margin-top: 0.15rem;
  color: var(--pv-muted);
  font-size: 0.9rem;
}

#team-book {
  margin-top: 1.15rem;
}

/* ─── 10 · Transparency ───
   Height comes from the disclosures themselves, so the heading sits
   directly above the first row it explains. */
.transp-items {
  margin-top: clamp(1.75rem, 2.5vw, 2.25rem);
  border-top: 1px solid var(--pv-line);
}

.transp-item {
  border-bottom: 1px solid var(--pv-line);
}

.transp-item summary {
  display: flex;
  min-height: 3rem;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.05rem 0;
  cursor: pointer;
  font-size: 1.02rem;
  font-weight: 650;
  list-style: none;
  transition: color 180ms ease;
}

.transp-item summary::-webkit-details-marker {
  display: none;
}

.transp-item summary::after {
  color: var(--pv-violet);
  content: "+";
  font-family: var(--va-font-system);
  font-size: 1.15rem;
  font-weight: 500;
}

.transp-item[open] summary::after {
  content: "–";
}

.transp-item summary:hover {
  color: var(--pv-violet);
}

.transp-item p {
  max-width: 46rem;
  padding-bottom: 1.25rem;
  color: var(--pv-muted);
  line-height: 1.7;
}

.transp-items + .pv-text-link {
  margin-top: 1.6rem;
}

/* ─── 11 · Research notes ───
   Deliberately an empty state: nothing is published yet, so the section
   is a compact placeholder that hands straight over to the closing CTA
   instead of holding a viewport open for content that does not exist. */
.ri-empty {
  max-width: 37rem;
}

/* ─── 12 · Questionnaire shell ───
   Answering the questionnaire is a focused task, so the shell covers the
   site chrome and carries its own compact brand + step header. It sits
   above the shell header (9000) and the mobile drawer (9500) but below the
   consent banner (10000), which must stay reachable at all times. */
.q-page {
  position: fixed;
  z-index: 9600;
  inset: 0;
  overflow-y: auto;
  background: var(--pv-paper);
  overscroll-behavior: contain;
}

.q-page.entering {
  animation: ri-rise 340ms var(--va-ease-standard);
}

.q-page.leaving {
  opacity: 0;
  transition: opacity 300ms ease;
}

.q-page-header {
  position: sticky;
  z-index: 2;
  top: 0;
  border-bottom: 1px solid var(--pv-line);
  background: rgba(250, 248, 245, 0.92);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.q-page-header-inner {
  display: flex;
  min-height: 3.5rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem 1.5rem;
  padding: 0.55rem 0;
}

.q-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  text-decoration: none;
}

.q-logo {
  width: 1.55rem;
  height: 1.55rem;
}

/* Reads as the shell's brand lockup, not a second wordmark. */
.q-wordmark {
  color: var(--pv-ink);
  font-family: var(--va-font-interface);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.q-steps {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.qs {
  display: inline-flex;
  gap: 0.4rem;
  color: var(--pv-faint);
  font-family: var(--va-font-system);
  font-size: 0.66rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.qs em {
  font-style: normal;
}

.qs.done {
  color: var(--pv-muted);
}

.qs.active {
  color: var(--pv-violet);
}

.qs-line {
  width: 1.75rem;
  height: 1px;
  background: var(--pv-line);
}

.q-page-body {
  padding: clamp(1.75rem, 3vw, 2.5rem) 0 clamp(3rem, 5vw, 4rem);
}

/* ── The questionnaire column ──
   No outer card. The form sits on the same paper as the rest of the
   page (Tally is embedded with transparentBackground=1), inside a
   reading column of the same width as the context row above it, so the
   questionnaire reads as part of VitaAvanza rather than as a framed
   third-party document. */
.q-context,
.q-frame {
  max-width: 52rem;
  margin-inline: auto;
}

.q-context {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin-bottom: 1.6rem;
}

.q-back {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: 0.45rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--pv-muted);
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 650;
}

.q-back:hover {
  color: var(--pv-violet);
}

.q-profile-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.8rem;
  border-radius: var(--va-radius-pill);
  background: var(--pv-violet-soft);
  color: var(--pv-violet);
  font-family: var(--va-font-system);
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.q-badge-dot {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: currentColor;
}

.q-frame {
  position: relative;
}

/* app.js sizes the iframe from the height Tally posts for each form
   page, so there is deliberately no height, min-height or max-height
   here — nothing to retain a previous page's size or to clip a long
   one. The only floor is the loading state, which needs a box to cover. */
.q-frame iframe {
  display: block;
  width: 100%;
  border: 0;
}

.q-frame.is-loading {
  min-height: 24rem;
}

/* Opaque paper, matching the page: a form that has painted but not
   finished loading does not read through the waiting state. */
.q-loading {
  position: absolute;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 1rem;
  inset: 0;
  background: var(--pv-paper);
  color: var(--pv-muted);
  font-size: 0.9rem;
}

.q-pulse {
  width: 2rem;
  height: 2rem;
  border: 2px solid var(--pv-violet-soft);
  border-radius: 50%;
  border-top-color: var(--pv-violet);
  animation: ri-spin 900ms linear infinite;
}

.q-error {
  display: grid;
  justify-items: start;
  gap: 1rem;
  padding-block: 2rem;
}

.q-error p {
  color: var(--pv-muted);
}

/* ─── 13 · Completion ─── */
.done-inner {
  margin-inline: auto;
  text-align: center;
}

.done-inner .va-eyebrow {
  justify-content: center;
}

.done-inner > p:not(.va-eyebrow) {
  margin-inline: auto;
}

.done-inner .pv-actions {
  justify-content: center;
}

.done-logo {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0 auto 1.5rem;
}

/* ─── 14 · Native questionnaire fallback ───
   Only reachable if a profile ever ships without a form id. */
.nq {
  max-width: 48rem;
  margin: 0 auto;
}

.nq-bar-wrap {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.nq-bar {
  overflow: hidden;
  height: 2px;
  flex: 1;
  border-radius: var(--va-radius-pill);
  background: var(--pv-line);
}

.nq-fill {
  height: 100%;
  background: var(--pv-violet);
  transition: width 240ms var(--va-ease-standard);
}

.nq-count {
  color: var(--pv-faint);
  font-family: var(--va-font-system);
  font-size: 0.7rem;
}

.nq-body {
  margin-top: 2.25rem;
}

.nq-q-text {
  font-family: var(--va-font-editorial);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.1;
}

.nq-opt-tag {
  margin-left: 0.6rem;
  color: var(--pv-faint);
  font-family: var(--va-font-system);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.nq-options {
  display: grid;
  gap: 0.6rem;
  margin-top: 1.75rem;
}

.nq-opt {
  display: flex;
  min-height: 3rem;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--pv-line);
  border-radius: var(--va-radius-small);
  background: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  font-size: 0.95rem;
}

.nq-opt:hover {
  border-color: rgba(91, 33, 182, 0.28);
}

.nq-opt.sel {
  border-color: var(--pv-violet);
  background: var(--pv-violet-soft);
}

.nq-ind {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  border: 1px solid var(--va-border-control);
  border-radius: 50%;
}

.nq-ind.cb {
  border-radius: 4px;
}

.nq-opt.sel .nq-ind {
  border-color: var(--pv-violet);
  background: var(--pv-violet);
}

.nq-input,
.nq-ta {
  width: 100%;
  margin-top: 1.75rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--pv-line);
  border-radius: var(--va-radius-small);
  background: #fff;
  font: inherit;
  font-size: 0.95rem;
}

.nq-ta {
  min-height: 9rem;
  resize: vertical;
}

.nq-rating {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.75rem;
}

.nq-r-btn {
  display: grid;
  min-width: 3rem;
  min-height: 3rem;
  place-items: center;
  border: 1px solid var(--pv-line);
  border-radius: var(--va-radius-small);
  background: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  font-family: var(--va-font-system);
  font-size: 0.9rem;
}

.nq-r-btn.sel {
  border-color: var(--pv-violet);
  background: var(--pv-violet-soft);
  color: var(--pv-violet);
}

.nq-r-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 0.75rem;
  color: var(--pv-faint);
  font-size: 0.75rem;
}

.nq-val-msg {
  margin-top: 1rem;
  color: var(--pv-orange);
  font-size: 0.85rem;
}

.nq-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2.25rem;
}

/* ─── 15 · Motion ─── */
@keyframes ri-rise {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes ri-spin {
  to {
    transform: rotate(1turn);
  }
}

/* ─── 16 · Responsive ───
   Three breakpoints, matching the ones product-vita.css already uses,
   so Research reflows on the same lines as the rest of the site. */
@media (min-width: 56rem) {
  /* Number, title and description become three aligned columns: every
     title starts on the same axis, and a long one wraps inside its own
     column instead of pushing the description out of line. */
  .area-row {
    align-items: baseline;
    gap: 0.25rem 2rem;
    grid-template-columns: 2.75rem minmax(0, 17rem) minmax(0, 1fr);
  }

  .area-hint {
    grid-column: auto;
  }
}

@media (min-width: 62rem) {
  .profile-row--top {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  /* Two cards that measure exactly as wide as three above them:
     for a three-column grid, 2 columns + 1 gap = 2/3 − gap/3. */
  .profile-row--bottom {
    max-width: calc(66.666% - 1rem / 3);
    margin-inline: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .phd-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  /* Centred against each other, so the short right-hand column does not
     leave the heading stranded above a blank region. */
  .team-layout {
    align-items: center;
    gap: clamp(2.5rem, 5vw, 5rem);
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  }
}

@media (max-width: 46rem) {
  .qs:not(.active),
  .qs-line {
    display: none;
  }

  /* The .pv-shell gutter is the questionnaire's only inset on mobile —
     no second layer of padding between the page and the form. */
  .q-page-body {
    padding-top: 1.5rem;
  }

  .q-context {
    margin-bottom: 1.25rem;
  }

  .q-frame.is-loading {
    min-height: 20rem;
  }

  .pcard {
    padding: 1.2rem 1.2rem 1.1rem;
  }

  .princ-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.15rem;
  }

  .princ-num {
    font-size: 1.75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pcard,
  .pcard-icon,
  .area-row,
  .area-name,
  .nq-fill,
  .q-page.leaving {
    transition: none;
  }

  .pcard:hover {
    transform: none;
  }

  .pcard:hover .pcard-arrow {
    transform: none;
  }

  .phd-selector,
  .q-page.entering {
    animation: none;
  }

  .q-pulse {
    animation-duration: 2s;
  }
}


/* 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-welcome,
.va-welcome *,
.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,
body[data-va-shell-version="2"] > .va-welcome {
  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. */
.va-welcome[hidden] {
  display: none !important;
}

.va-welcome {
  z-index: 8890;
  right: clamp(1rem, 2.4vw, 2.25rem);
  bottom: clamp(1rem, 2.4vw, 2.25rem);
  width: min(calc(100vw - 2rem), 27rem);
  margin: 0;
  pointer-events: none;
  color: var(--va-shell-ink);
  font-family: var(--va-shell-sans);
}

.va-welcome__panel {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 1.45rem;
  border: 1px solid rgba(91, 33, 182, 0.14);
  border-radius: 1.45rem;
  outline: none;
  background:
    radial-gradient(circle at 92% 6%, rgba(232, 82, 10, 0.1), transparent 30%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(250, 246, 240, 0.91));
  box-shadow: 0 1.5rem 4.5rem rgba(47, 32, 67, 0.18), 0 0.35rem 1rem rgba(47, 32, 67, 0.08);
  opacity: 0;
  pointer-events: auto;
  transform: translateY(1rem) scale(0.985);
  transition: opacity 220ms var(--va-shell-ease), transform 220ms var(--va-shell-ease);
  -webkit-backdrop-filter: blur(1.35rem) saturate(1.15);
  backdrop-filter: blur(1.35rem) saturate(1.15);
}

.va-welcome.is-open .va-welcome__panel {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.va-welcome__accent {
  position: absolute;
  top: 0;
  right: 2rem;
  left: 2rem;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--va-shell-violet), var(--va-shell-orange), transparent);
  opacity: 0.78;
}

.va-welcome__close {
  position: absolute;
  z-index: 1;
  top: 0.72rem;
  right: 0.72rem;
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(28, 25, 23, 0.1);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.58);
  color: var(--va-shell-ink);
  cursor: pointer;
  transition: border-color 170ms var(--va-shell-ease), background-color 170ms var(--va-shell-ease), transform 170ms var(--va-shell-ease);
}

.va-welcome__close span,
.va-welcome__close span::after {
  width: 0.9rem;
  height: 1px;
  background: currentColor;
  content: "";
  transform: rotate(45deg);
}

.va-welcome__close span::after {
  display: block;
  transform: rotate(90deg);
}

.va-welcome__close:hover {
  border-color: rgba(91, 33, 182, 0.3);
  background: rgba(255, 255, 255, 0.9);
  transform: rotate(4deg);
}

.va-welcome__label {
  display: flex;
  margin: 0 3.2rem 0.8rem 0;
  align-items: center;
  gap: 0.52rem;
  color: var(--va-shell-violet);
  font: 700 0.61rem/1.25 var(--va-shell-mono);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.va-welcome__label i {
  width: 0.42rem;
  height: 0.42rem;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--va-shell-green);
  box-shadow: 0 0 0 0.24rem rgba(5, 150, 105, 0.1);
}

.va-welcome__heading {
  max-width: 9.5em;
  margin: 0;
  color: var(--va-shell-ink);
  font: 400 clamp(2rem, 3vw, 2.5rem)/0.98 var(--va-shell-serif);
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.va-welcome__copy {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.95rem;
  color: var(--va-shell-ink-secondary);
  font: 450 0.78rem/1.58 var(--va-shell-sans);
}

.va-welcome__copy p {
  margin: 0;
}

.va-welcome__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.6rem;
  margin-top: 1.2rem;
}

.va-welcome__action {
  display: inline-flex;
  min-width: 0;
  min-height: 3rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.15rem 0.82rem 0.15rem 1rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font: 700 0.7rem/1 var(--va-shell-sans);
  text-align: left;
  text-decoration: none !important;
  cursor: pointer;
  transition: border-color 170ms var(--va-shell-ease), background-color 170ms var(--va-shell-ease), color 170ms var(--va-shell-ease), transform 170ms var(--va-shell-ease);
}

.va-welcome__action span {
  display: inline-grid;
  width: 2.1rem;
  height: 2.1rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  font-size: 0.9rem;
}

.va-welcome__action--primary {
  border-color: var(--va-shell-orange);
  background: var(--va-shell-orange);
  color: #fff !important;
  box-shadow: 0 0.7rem 1.7rem rgba(232, 82, 10, 0.2);
}

.va-welcome__action--primary span {
  background: rgba(255, 255, 255, 0.17);
}

.va-welcome__action--secondary {
  border-color: rgba(91, 33, 182, 0.18);
  background: rgba(255, 255, 255, 0.5);
  color: var(--va-shell-violet-deep) !important;
}

.va-welcome__action--secondary span {
  background: rgba(91, 33, 182, 0.08);
}

.va-welcome__action:hover {
  transform: translateY(-2px);
}

.va-welcome__action--secondary:hover {
  border-color: rgba(91, 33, 182, 0.34);
  background: rgba(255, 255, 255, 0.9);
}

.va-welcome__close:focus-visible,
.va-welcome__action:focus-visible,
.va-shell-footer__link--feedback:focus-visible {
  outline: 3px solid rgba(91, 33, 182, 0.48) !important;
  outline-offset: 3px !important;
}

/* 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; }
  .va-welcome {
    right: 0.75rem;
    bottom: max(0.75rem, env(safe-area-inset-bottom));
    left: 0.75rem;
    width: auto;
  }
  .va-welcome__panel {
    max-height: calc(100dvh - 6.5rem - env(safe-area-inset-bottom));
    overflow-y: auto;
    padding: 1.3rem 1.1rem 1.1rem;
    border-radius: 1.3rem;
    overscroll-behavior: contain;
  }
  .va-welcome__heading { max-width: 10em; font-size: clamp(1.9rem, 9.4vw, 2.35rem); }
  .va-welcome__copy { font-size: 0.75rem; }
  .va-welcome__actions { grid-template-columns: 1fr; gap: 0.48rem; margin-top: 1rem; }
  .va-welcome__action { min-height: 2.85rem; }
}

@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);
  }

  .va-welcome__panel {
    background-color: rgba(250, 248, 245, 0.98);
  }
}

@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 *,
  .va-welcome,
  .va-welcome * {
    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,
  .va-welcome__action:hover,
  .va-welcome__close:hover {
    transform: none !important;
  }
}

