/** Shopify CDN: Minification failed

Line 22:0 All "@import" rules must come first

**/
/* ============================================================
   Velri brand layer. Loaded after Horizon's base CSS so it wins
   on cascade. Mirrors the velri.co Next.js site so the Shopify
   storefront feels like the same product.
   ============================================================ */

/* Defensive: many of our component classes set explicit display
   (inline-flex, flex, grid). Class specificity beats the UA
   stylesheet's `[hidden] { display:none }`, so the hidden attribute
   silently fails. Force it to win globally. */
[hidden] { display: none !important; }

/* Brand guide typography: Arium spec.
   Display: Space Grotesk (700/800)
   Body:    Inter (400/500/600)
   Mono:    JetBrains Mono — eyebrow caps, micro-data labels */
@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500;600;700&display=swap");

:root {
  --velri-indigo: #4F46E5;
  --velri-indigo-deep: #3730A3;
  --velri-indigo-soft: #818CF8;
  --velri-emerald: #10B981;
  --velri-cream: #FAFAF7;
  --velri-slate: #1F2937;
  --velri-slate-soft: #6B7280;
  --velri-border: #E5E5EA;

  /* Type families */
  --font-display: "Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --font-cta: "Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;

  /* Type scale (rem-based, fluid). Brand-guide canonical values. */
  --t-eyebrow: 0.6875rem;     /* 11px — JetBrains Mono caps, kickers, eyebrows */
  --t-eyebrow-lg: 0.8125rem;  /* 13px — secondary mono labels */
  --t-caption: 0.8125rem;     /* 13px — captions, micro UI */
  --t-small: 0.875rem;        /* 14px — secondary body */
  --t-body: 1rem;             /* 16px — default body */
  --t-lead: clamp(1rem, 1.6vw, 1.25rem);              /* lead paragraph */
  --t-h4: clamp(1.125rem, 1.5vw, 1.375rem);           /* card title */
  --t-h3: clamp(1.5rem, 3vw, 2rem);                   /* sub-section */
  --t-h2: clamp(1.75rem, 4vw, 2.75rem);               /* section title */
  --t-h2-lg: clamp(2rem, 5vw, 3.5rem);                /* hero-adjacent section */
  --t-h1: clamp(2.5rem, 6vw, 5rem);                   /* hero display */

  /* Tracking */
  --track-display: -0.03em;
  --track-h2: -0.025em;
  --track-h3: -0.02em;
  --track-eyebrow: 0.15em;

  /* Leading */
  --lh-display: 1.05;
  --lh-section: 1.1;
  --lh-tight: 1.2;
  --lh-body: 1.7;
}

/* Global resets layered on top of Horizon */
body,
.shopify-section {
  font-family: var(--font-body);
  font-size: var(--t-body);
  font-weight: 400;
  line-height: var(--lh-body);
  color: var(--velri-slate);
  background: var(--velri-cream);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: var(--track-h2);
  color: var(--velri-slate);
  margin-top: 0;
}

h1 { font-size: var(--t-h1); line-height: var(--lh-display); letter-spacing: var(--track-display); font-weight: 700; }
h2 { font-size: var(--t-h2-lg); line-height: var(--lh-section); letter-spacing: var(--track-display); font-weight: 800; }
h3 { font-size: var(--t-h3); line-height: var(--lh-section); letter-spacing: var(--track-h2); font-weight: 700; }
h4 { font-size: var(--t-h4); line-height: var(--lh-tight); letter-spacing: var(--track-h3); font-weight: 700; }
p  { font-size: var(--t-body); line-height: var(--lh-body); color: var(--velri-slate); }

/* ============================================================
   Hero
   ============================================================ */
.velri-hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--velri-cream);
}

/* ============================================================
   Hero — editorial (text baked into image, button overlaid)
   ============================================================ */
.velri-hero-editorial {
  position: relative;
  width: 100%;
  /* 21:9 letterbox keeps the hero from eating the full viewport on
     wide desktops while preserving cinematic editorial proportions. */
  aspect-ratio: 21 / 9;
  min-height: 480px;
  max-height: 88vh;
  background: var(--velri-cream);
  overflow: hidden;
}
@media (max-width: 720px) {
  .velri-hero-editorial { aspect-ratio: 4 / 5; min-height: 540px; }
}
.velri-hero-editorial__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(95deg,
    rgba(15, 23, 42, 0.55) 0%,
    rgba(15, 23, 42, 0.35) 36%,
    rgba(15, 23, 42, 0.05) 60%,
    rgba(15, 23, 42, 0) 80%);
  z-index: 1;
}
@media (max-width: 720px) {
  .velri-hero-editorial__scrim {
    background: linear-gradient(180deg,
      rgba(15, 23, 42, 0.55) 0%,
      rgba(15, 23, 42, 0.25) 50%,
      rgba(15, 23, 42, 0.55) 100%);
  }
}
.velri-hero-editorial__content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: clamp(28px, 6vw, 88px);
  max-width: min(620px, 50%);
  color: #FFFFFF;
}
@media (max-width: 720px) {
  .velri-hero-editorial__content {
    max-width: 100%;
    justify-content: flex-end;
    padding: 24px 22px 32px;
  }
}
.velri-hero-editorial__eyebrow {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.86);
  margin: 0 0 18px;
  font-weight: 500;
}
.velri-hero-editorial__headline {
  font-family: var(--font-display, "Fraunces", Georgia, serif);
  font-weight: 700;
  font-size: clamp(2.2rem, 4.6vw, 3.8rem);
  line-height: 1.05;
  letter-spacing: -0.012em;
  margin: 0 0 18px;
  color: #FFFFFF;
  text-shadow: 0 2px 18px rgba(15, 23, 42, 0.3);
}
.velri-hero-editorial__sub {
  font-family: var(--font-body, "Inter", system-ui, sans-serif);
  font-size: clamp(0.95rem, 1.05vw, 1.05rem);
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.86);
  margin: 0 0 28px;
  max-width: 460px;
}
.velri-hero-editorial__bg {
  position: absolute;
  inset: 0;
}
.velri-hero-editorial__bg img,
.velri-hero-editorial__bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
/* Inline CTA — sits inside the content column under the sub copy. */
.velri-hero-editorial__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px;
  border-radius: 999px;
  background: var(--velri-indigo, #4F46E5);
  color: #FFFFFF;
  font-family: var(--font-cta, "Space Grotesk", system-ui, sans-serif);
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
  text-decoration: none;
  box-shadow: 0 12px 32px -10px rgba(55, 48, 163, 0.55);
  transition: transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}
.velri-hero-editorial__cta:hover {
  transform: translateY(-1px);
  background: var(--velri-indigo-deep, #3730A3);
  box-shadow: 0 16px 40px -10px rgba(55, 48, 163, 0.65);
}
.velri-hero-editorial__cta svg { display: inline-block; }
@media (max-width: 480px) {
  .velri-hero-editorial__cta { padding: 12px 18px; font-size: 0.85rem; }
}

/* ============================================================
   Page hero (with optional background image)
   /pages/physician + /pages/how-it-works each pull their own image
   so the secondary pages don't duplicate the homepage hero scene.
   ============================================================ */
.velri-phero-page--with-image {
  position: relative;
  min-height: 62vh;
  overflow: hidden;
  isolation: isolate;
}
.velri-phero-page__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.velri-phero-page__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.velri-phero-page__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(31, 41, 55, 0.55) 0%, rgba(31, 41, 55, 0.18) 50%, rgba(245, 245, 240, 0.35) 100%);
}
.velri-phero-page--with-image .velri-phero-page__panel {
  position: relative;
  z-index: 1;
}

/* ============================================================
   Founders cohort counter (live count from CMS settings)
   ============================================================ */
.velri-tele__founders-counter {
  max-width: 520px;
  margin: 18px auto 0;
  padding: 14px 18px;
  border-radius: 14px;
  background: rgba(79, 70, 229, 0.06);
  border: 1px solid rgba(79, 70, 229, 0.18);
  text-align: left;
}
.velri-tele__counter-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
  margin-bottom: 10px;
  font-family: var(--font-mono, ui-monospace, "SF Mono", monospace);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
}
.velri-tele__counter-num { color: var(--velri-slate, #1F2937); }
.velri-tele__counter-num strong {
  color: var(--velri-indigo, #4F46E5);
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: 0;
}
.velri-tele__counter-rem {
  color: rgba(31, 41, 55, 0.55);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.velri-tele__counter-bar {
  position: relative;
  height: 6px;
  background: rgba(31, 41, 55, 0.08);
  border-radius: 999px;
  overflow: hidden;
}
.velri-tele__counter-bar-fill {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--velri-indigo, #4F46E5), var(--velri-emerald, #10B981));
  border-radius: 999px;
  transition: width 0.35s ease;
}
@media (max-width: 480px) {
  .velri-tele__counter-row { flex-direction: column; gap: 4px; align-items: flex-start; }
}

/* Visually hidden — keep heading + sub in the DOM for SEO and screen
   readers, since the visible copy is rendered into the hero image. */
.velri-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.velri-hero__gradient-a {
  position: absolute;
  top: -10%;
  right: -10%;
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(129, 140, 248, 0.18), transparent 60%);
  pointer-events: none;
  z-index: 1;
}

.velri-hero__gradient-b {
  position: absolute;
  bottom: -10%;
  left: -10%;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(16, 185, 129, 0.12), transparent 60%);
  pointer-events: none;
  z-index: 1;
}

.velri-hero__particles {
  position: absolute;
  inset: 0;
  filter: hue-rotate(220deg) saturate(1.15) brightness(0.95) contrast(1.05);
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 2;
  opacity: 0.55;
}

.velri-hero__particles spline-viewer {
  width: 100%;
  height: 100%;
}

.velri-hero__inner {
  position: relative;
  z-index: 5;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 96px 24px 80px;
}

.velri-hero__pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(79, 70, 229, 0.18);
  color: var(--velri-indigo);
  font-family: var(--font-mono);
  font-weight: 600;
  font-size: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  margin-bottom: 28px;
}

.velri-hero__pill::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--velri-emerald);
  display: inline-block;
}

.velri-hero h1.velri-hero__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-h1);
  line-height: var(--lh-display);
  letter-spacing: var(--track-display);
  color: var(--velri-indigo);
  max-width: 960px;
  margin: 0 0 24px;
  text-wrap: balance;
}

.velri-hero__subtitle {
  font-family: var(--font-body);
  font-size: var(--t-lead);
  font-weight: 400;
  line-height: var(--lh-body);
  color: rgba(31, 41, 55, 0.7);
  max-width: 640px;
  margin: 0 0 36px;
}

.velri-hero__cta-row {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 56px;
}

.velri-cta-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  background: var(--velri-indigo);
  color: #FFFFFF;
  font-family: var(--font-cta);
  font-weight: 600;
  font-size: var(--t-body);
  letter-spacing: -0.005em;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease;
}
.velri-cta-primary:hover {
  background: var(--velri-indigo-deep);
  transform: translateY(-1px);
}

.velri-cta-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 24px;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(79, 70, 229, 0.18);
  color: var(--velri-indigo);
  font-family: var(--font-cta);
  font-weight: 600;
  font-size: var(--t-small);
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.2s ease;
}
.velri-cta-secondary:hover {
  background: rgba(255, 255, 255, 0.95);
}

.velri-hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 24px;
  max-width: 100%;
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  font-weight: 600;
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: rgba(31, 41, 55, 0.55);
}
.velri-hero__trust span { white-space: nowrap; }
@media (max-width: 720px) {
  .velri-hero__trust { gap: 10px 18px; font-size: 0.625rem; }
  .velri-hero__trust svg { width: 14px; height: 14px; }
}
.velri-hero__trust span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.velri-hero__trust svg {
  width: 16px;
  height: 16px;
  color: var(--velri-indigo);
}

/* ============================================================
   Pack grid
   ============================================================ */
.velri-packs {
  background: #F5F5FF;
  padding: 96px 24px;
}

.velri-packs__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.velri-packs__header {
  text-align: center;
  margin-bottom: 64px;
}

.velri-packs__kicker {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-indigo);
  margin-bottom: 14px;
  font-weight: 600;
}

.velri-packs__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--t-h2-lg);
  line-height: var(--lh-section);
  letter-spacing: var(--track-display);
  color: var(--velri-slate);
  margin: 0 0 18px;
}

.velri-packs__sub {
  font-family: var(--font-body);
  font-size: var(--t-lead);
  color: rgba(31, 41, 55, 0.65);
  max-width: 580px;
  margin: 0 auto;
  line-height: var(--lh-body);
}

.velri-packs__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
@media (max-width: 900px) { .velri-packs__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .velri-packs__grid { grid-template-columns: 1fr; } }

.velri-pack-card {
  position: relative;
  background: #FFFFFF;
  border-radius: 18px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--velri-border);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  display: flex;
  flex-direction: column;
}
.velri-pack-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px -20px rgba(79, 70, 229, 0.25);
  border-color: rgba(79, 70, 229, 0.35);
}

.velri-pack-card__image {
  aspect-ratio: 1 / 1;
  width: 100%;
  object-fit: cover;
  background: var(--velri-cream);
}

.velri-pack-card__body {
  padding: 18px 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.velri-pack-card__name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-h4);
  color: var(--velri-slate);
  letter-spacing: var(--track-h3);
  line-height: 1.2;
  margin: 0;
}

.velri-pack-card__price {
  font-family: var(--font-mono);
  font-size: var(--t-caption);
  color: var(--velri-indigo);
  font-weight: 600;
  letter-spacing: 0.02em;
  margin: 0;
}

.velri-pack-card__cta {
  margin-top: 12px;
  font-family: var(--font-cta);
  font-size: var(--t-small);
  font-weight: 600;
  color: var(--velri-slate-soft);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.velri-pack-card:hover .velri-pack-card__cta {
  color: var(--velri-indigo);
}

/* ============================================================
   How it works
   ============================================================ */
.velri-how {
  padding: 96px 24px;
  background: var(--velri-cream);
}
.velri-how__inner { max-width: 1100px; margin: 0 auto; }
.velri-how__header { text-align: center; margin-bottom: 64px; }
.velri-how__kicker {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-indigo);
  font-weight: 600;
  margin-bottom: 14px;
}
.velri-how__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--t-h2-lg);
  line-height: var(--lh-section);
  letter-spacing: var(--track-display);
  color: var(--velri-slate);
  margin: 0;
}
.velri-how__steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 36px;
  align-items: start;
}
@media (max-width: 880px) { .velri-how__steps { grid-template-columns: repeat(2, 1fr); gap: 28px; } }
@media (max-width: 540px) { .velri-how__steps { grid-template-columns: 1fr; gap: 24px; } }
.velri-how__step { text-align: left; }
.velri-how__step-num {
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-indigo);
  margin-bottom: 14px;
}
.velri-how__step-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-h3);
  line-height: var(--lh-tight);
  color: var(--velri-slate);
  margin: 0 0 12px;
  letter-spacing: var(--track-h2);
}
.velri-how__step-body {
  font-family: var(--font-body);
  font-size: var(--t-body);
  color: rgba(31, 41, 55, 0.7);
  line-height: var(--lh-body);
}

/* ============================================================
   Physician callout
   ============================================================ */
.velri-physician {
  padding: 96px 24px;
  background: #F5F5FF;
}
.velri-physician__inner {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}
.velri-physician__pull {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.375rem, 2.4vw, 2rem);
  line-height: 1.3;
  color: var(--velri-indigo);
  letter-spacing: var(--track-h3);
  margin: 0 0 28px;
  text-wrap: balance;
}
.velri-physician__attr {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: rgba(31, 41, 55, 0.65);
  font-weight: 600;
}

/* ============================================================
   CTA
   ============================================================ */
.velri-cta {
  padding: 120px 24px;
  background: linear-gradient(135deg, var(--velri-indigo), var(--velri-indigo-deep));
  color: #FFFFFF;
  text-align: center;
}
.velri-cta__inner { max-width: 720px; margin: 0 auto; }
.velri-cta__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--t-h2-lg);
  line-height: var(--lh-display);
  margin: 0 0 22px;
  color: #FFFFFF;
  letter-spacing: var(--track-display);
  text-wrap: balance;
}
.velri-cta__sub {
  font-family: var(--font-body);
  font-size: var(--t-lead);
  color: rgba(255, 255, 255, 0.82);
  margin: 0 0 40px;
  line-height: var(--lh-body);
  font-weight: 400;
}
.velri-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 18px 40px;
  background: #FFFFFF;
  color: var(--velri-indigo);
  font-family: var(--font-cta);
  font-weight: 600;
  font-size: var(--t-body);
  letter-spacing: -0.005em;
  border-radius: 10px;
  text-decoration: none;
  transition: transform 0.2s ease;
}
.velri-cta__btn:hover { transform: translateY(-2px); }

/* ============================================================
   FLOATING GLASS STAGE
   The DNA scene runs fixed behind the entire page; every Velri
   section becomes a frosted glass panel that floats over it.
   FRW Warp pattern, Velri-flavored.
   ============================================================ */

body.velri-glass-stage-active,
body.velri-glass-stage-active .shopify-section {
  background: transparent !important;
}

body.velri-glass-stage-active main,
body.velri-glass-stage-active #MainContent {
  background: transparent !important;
}

/* The fixed DNA stage. Sits behind everything at z-index 0. */
.velri-dna-stage {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
  /* Indigo-cream wash so the scene feels integrated even before the
     spline-viewer hydrates */
  background:
    radial-gradient(ellipse at 20% 0%, rgba(129, 140, 248, 0.28), transparent 55%),
    radial-gradient(ellipse at 80% 100%, rgba(16, 185, 129, 0.18), transparent 55%),
    linear-gradient(180deg, #F5F5FF 0%, #FAFAF7 50%, #EEF0FF 100%);
}

/* The recolor wash + scene */
.velri-dna-stage__scene {
  position: absolute;
  inset: 0;
  filter: hue-rotate(220deg) saturate(1.1) brightness(0.96) contrast(1.04);
  mix-blend-mode: multiply;
  opacity: 0.55;
}
.velri-dna-stage__scene spline-viewer {
  width: 100%;
  height: 100%;
  display: block;
}

/* Top + bottom vignette so panels read against the scene */
.velri-dna-stage__vignette {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 50% 50%, transparent 40%, rgba(245, 245, 255, 0.35) 100%);
}

/* Soft cream wash separator on top of scene */
.velri-dna-stage__wash {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(250, 250, 247, 0.45) 0%, rgba(250, 250, 247, 0.15) 30%, rgba(250, 250, 247, 0.15) 70%, rgba(250, 250, 247, 0.65) 100%);
}

/* Every Velri section wears .velri-glass; the inner wears .velri-glass__panel */
.velri-glass {
  position: relative;
  z-index: 1;
  background: transparent !important;
  padding: 56px 16px;
}
@media (min-width: 720px) { .velri-glass { padding: 72px 24px; } }

.velri-glass__panel {
  position: relative;
  max-width: 1360px;
  margin: 0 auto;
  padding: 56px 28px;
  background: rgba(255, 255, 255, 0.42);
  -webkit-backdrop-filter: blur(22px) saturate(1.4);
  backdrop-filter: blur(22px) saturate(1.4);
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 28px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.65) inset,
    0 30px 80px -20px rgba(79, 70, 229, 0.18),
    0 8px 24px -8px rgba(31, 41, 55, 0.06);
}
@media (min-width: 720px) {
  .velri-glass__panel { padding: 88px 48px; border-radius: 32px; }
}
@media (min-width: 1100px) {
  .velri-glass__panel { padding: 96px 72px; }
}

/* Indigo flavored panel for CTA */
.velri-glass--indigo .velri-glass__panel {
  background: linear-gradient(135deg, rgba(79, 70, 229, 0.86), rgba(55, 48, 163, 0.92));
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.22) inset,
    0 30px 100px -20px rgba(79, 70, 229, 0.55),
    0 12px 28px -10px rgba(31, 41, 55, 0.18);
  color: #FFFFFF;
}

/* Hero panel reads as a "first" panel — taller, headline-led */
.velri-hero.velri-glass {
  padding-top: 56px;
  padding-bottom: 40px;
  min-height: auto;
  display: block;
}
@media (min-width: 720px) {
  .velri-hero.velri-glass { padding-top: 80px; padding-bottom: 56px; }
}
.velri-hero__panel {
  text-align: left;
}

/* Override the legacy hero inner styles inside the new panel */
.velri-hero__panel .velri-hero__pill,
.velri-hero__panel .velri-hero__title,
.velri-hero__panel .velri-hero__subtitle,
.velri-hero__panel .velri-hero__cta-row,
.velri-hero__panel .velri-hero__trust {
  position: relative;
  z-index: 2;
}

/* Pack grid panel: cards still rounded, but no longer need their own bg */
.velri-packs.velri-glass { background: transparent !important; }
.velri-packs__panel .velri-packs__header { margin-bottom: 48px; text-align: center; }
.velri-pack-card {
  background: rgba(255, 255, 255, 0.85);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

/* How it works panel */
.velri-how.velri-glass { background: transparent !important; }
.velri-how__panel .velri-how__header { margin-bottom: 48px; text-align: center; }

/* Physician panel */
.velri-physician.velri-glass { background: transparent !important; }
.velri-physician__panel { text-align: center; }
.velri-physician__panel > * {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

/* CTA panel */
.velri-cta.velri-glass { background: transparent !important; padding-top: 40px; padding-bottom: 96px; }
.velri-cta__panel { text-align: center; }
.velri-cta__panel .velri-cta__title,
.velri-cta__panel .velri-cta__sub {
  color: #FFFFFF;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* Mobile tightening */
@media (max-width: 720px) {
  .velri-glass__panel {
    padding: 32px 22px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.36);
  }
  .velri-dna-stage__scene { opacity: 0.4; }
}

/* ============================================================
   PDP ENHANCEMENT SECTIONS
   Trust band, supplement facts, savings compare, physician,
   reviews, FAQ, sticky CTA. All glass-on-DNA-stage compatible.
   ============================================================ */

/* --- Shared kicker style for new sections --- */
.velri-trust__kicker,
.velri-facts__kicker,
.velri-portrait__kicker,
.velri-reviews__kicker,
.velri-savings__kicker,
.velri-faq__kicker {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  font-weight: 600;
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-indigo);
  margin-bottom: 14px;
}

.velri-trust__title,
.velri-facts__title,
.velri-reviews__title,
.velri-savings__title,
.velri-faq__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--t-h2);
  line-height: var(--lh-section);
  letter-spacing: var(--track-display);
  color: var(--velri-slate);
  margin: 0 0 18px;
  text-wrap: balance;
}

/* --- Trust band --- */
.velri-trust__panel { text-align: left; }
.velri-trust__panel .velri-trust__title,
.velri-trust__panel .velri-trust__sub,
.velri-trust__panel .velri-trust__kicker { text-align: center; }
.velri-trust__sub {
  font-family: var(--font-body);
  font-size: var(--t-lead);
  color: rgba(31, 41, 55, 0.7);
  max-width: 720px;
  margin: 0 auto 48px;
  line-height: var(--lh-body);
  text-align: center;
}
/* Compact trust badge row: icon + short label, no images, no body copy.
   Replaces an earlier 3x2 card grid that was visually noisy. */
.velri-trust__badges {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px 28px;
  max-width: 980px;
}
.velri-trust__badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(79, 70, 229, 0.05);
  border: 1px solid rgba(79, 70, 229, 0.12);
}
.velri-trust__badge-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: rgba(79, 70, 229, 0.12);
  color: var(--velri-indigo);
  flex-shrink: 0;
}
.velri-trust__badge-icon svg { width: 16px; height: 16px; }
.velri-trust__badge-label {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  font-weight: 600;
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-slate);
  white-space: nowrap;
}
.velri-trust__detail {
  font-family: var(--font-body);
  font-size: var(--t-small);
  line-height: var(--lh-body);
  color: rgba(31, 41, 55, 0.6);
  text-align: center;
  margin: 28px auto 0;
  max-width: 720px;
}

.velri-content__fineprint {
  margin-top: 18px;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(31, 41, 55, 0.6);
}

/* --- Telehealth Coming Soon --- */
.velri-tele__panel { text-align: left; }
.velri-tele__head { text-align: center; margin-bottom: 36px; }
.velri-tele__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(79, 70, 229, 0.08);
  color: var(--velri-indigo);
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  font-weight: 600;
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  margin-bottom: 18px;
}
.velri-tele__badge svg { width: 14px; height: 14px; }
.velri-tele__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--t-h2);
  line-height: var(--lh-section);
  letter-spacing: var(--track-display);
  color: var(--velri-slate);
  margin: 0 0 14px;
  text-wrap: balance;
}
.velri-tele__sub {
  font-family: var(--font-body);
  font-size: var(--t-lead);
  line-height: var(--lh-body);
  color: rgba(31, 41, 55, 0.7);
  max-width: 640px;
  margin: 0 auto;
}

.velri-tele__tiers {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 24px;
  margin: 32px 0 28px;
}
.velri-tele__tiers--three { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 980px) { .velri-tele__tiers--three { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .velri-tele__tiers { grid-template-columns: 1fr; } }
.velri-tele__founders-strip {
  display: inline-block;
  margin: 14px auto 0;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.10);
  border: 1px solid rgba(16, 185, 129, 0.25);
  color: var(--velri-emerald);
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  font-weight: 600;
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
}

.velri-tele__tier {
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid var(--velri-border);
  border-radius: 16px;
  padding: 26px 28px;
}
.velri-tele__tier--featured {
  background: var(--velri-indigo);
  color: #FFFFFF;
  border-color: transparent;
  box-shadow: 0 24px 60px -28px rgba(55, 48, 163, 0.55);
}
.velri-tele__tier--featured .velri-tele__tier-name,
.velri-tele__tier--featured .velri-tele__tier-amount,
.velri-tele__tier--featured .velri-tele__tier-cadence,
.velri-tele__tier--featured .velri-tele__tier-strap,
.velri-tele__tier--featured .velri-tele__tier-list,
.velri-tele__tier--featured .velri-tele__tier-list li { color: #FFFFFF; }
.velri-tele__tier--featured .velri-tele__tier-strap { opacity: 0.9; }
.velri-tele__tier--featured .velri-tele__tier-list svg { color: rgba(255, 255, 255, 0.95); }
.velri-tele__tier-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.velri-tele__tier-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-h4);
  letter-spacing: var(--track-h3);
}
.velri-tele__tier-flag {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  font-weight: 600;
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
}
.velri-tele__tier:not(.velri-tele__tier--featured) .velri-tele__tier-flag {
  background: rgba(79, 70, 229, 0.08);
  color: var(--velri-indigo);
}
.velri-tele__tier-price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 4px 0 12px;
}
.velri-tele__tier-amount {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(2.25rem, 5vw, 3rem);
  letter-spacing: -0.02em;
}
.velri-tele__tier-cadence {
  font-family: var(--font-body);
  font-size: var(--t-small);
  opacity: 0.85;
}
.velri-tele__tier-strap {
  font-family: var(--font-body);
  font-size: var(--t-small);
  line-height: var(--lh-body);
  margin: 0 0 18px;
  opacity: 0.9;
}
.velri-tele__tier-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.velri-tele__tier-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: var(--font-body);
  font-size: var(--t-body);
  line-height: var(--lh-body);
}
.velri-tele__tier-list svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.85);
}

.velri-tele__rx {
  margin: 32px 0 24px;
  padding: 24px 28px;
  background: rgba(255, 255, 255, 0.45);
  border: 1px solid var(--velri-border);
  border-radius: 16px;
}
.velri-tele__rx-eyebrow {
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--velri-indigo, #4F46E5);
  margin-bottom: 10px;
}
.velri-tele__rx-body p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: rgba(31, 41, 55, 0.78);
  margin: 0 0 12px;
}
.velri-tele__rx-body ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 24px;
}
@media (max-width: 720px) { .velri-tele__rx-body ul { grid-template-columns: 1fr; } }
.velri-tele__rx-body li {
  font-size: 0.9rem;
  line-height: 1.55;
  color: rgba(31, 41, 55, 0.85);
  padding-left: 16px;
  position: relative;
}
.velri-tele__rx-body li::before {
  content: "·";
  position: absolute;
  left: 0;
  color: var(--velri-indigo, #4F46E5);
  font-weight: 700;
}

.velri-tele__form {
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid var(--velri-border);
  border-radius: 16px;
  padding: 22px 24px;
}
.velri-tele__form-label {
  display: block;
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  font-weight: 600;
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-indigo);
  margin-bottom: 12px;
}
.velri-tele__form-row {
  display: grid;
  grid-template-columns: 1.6fr 1fr auto;
  gap: 12px;
}
@media (max-width: 760px) { .velri-tele__form-row { grid-template-columns: 1fr; } }
.velri-tele__form-row input,
.velri-tele__form-row select {
  font-family: var(--font-body);
  font-size: var(--t-body);
  padding: 12px 14px;
  border: 1px solid var(--velri-border);
  border-radius: 10px;
  background: #FFFFFF;
  color: var(--velri-slate);
  outline: none;
}
.velri-tele__form-row input:focus,
.velri-tele__form-row select:focus { border-color: var(--velri-indigo); }
.velri-tele__legal {
  font-family: var(--font-body);
  font-size: var(--t-eyebrow);
  line-height: 1.6;
  color: rgba(31, 41, 55, 0.55);
  margin: 14px 0 0;
}
@media (max-width: 560px) {
  .velri-trust__badges { gap: 10px; }
  .velri-trust__badge { padding: 8px 14px; }
  .velri-trust__badge-label { white-space: normal; }
}

/* --- Supplement Facts panel --- */
.velri-facts__header { text-align: center; margin-bottom: 36px; }
.velri-facts__sub {
  font-family: var(--font-body);
  font-size: var(--t-lead);
  color: rgba(31, 41, 55, 0.7);
  max-width: 600px;
  margin: 0 auto;
  line-height: var(--lh-body);
}
.velri-facts__panel-card {
  max-width: 560px;
  margin: 0 auto;
  background: #FFFFFF;
  border: 2px solid #000000;
  border-radius: 8px;
  font-family: var(--font-body);
  color: #000000;
  overflow: hidden;
}
.velri-facts__bar {
  background: #000000;
  color: #FFFFFF;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.5rem;
  padding: 12px 20px;
  letter-spacing: -0.02em;
}
.velri-facts__meta {
  padding: 12px 20px 8px;
  font-size: var(--t-small);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.velri-facts__divider {
  height: 6px;
  background: #000000;
  margin: 6px 0;
}
.velri-facts__row {
  display: grid;
  grid-template-columns: 1fr auto 64px;
  gap: 12px;
  align-items: baseline;
  padding: 10px 20px;
  border-bottom: 1px solid #000000;
  font-size: var(--t-small);
}
.velri-facts__row--head {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: #FAFAFA;
}
.velri-facts__name { font-weight: 600; }
.velri-facts__amount { font-variant-numeric: tabular-nums; }
.velri-facts__dv {
  font-variant-numeric: tabular-nums;
  text-align: right;
  font-weight: 600;
}
.velri-facts__footer,
.velri-facts__manuf {
  padding: 12px 20px;
  font-size: 0.75rem;
  color: rgba(0, 0, 0, 0.65);
  border-top: 1px solid #E5E5EA;
}
.velri-facts__manuf {
  background: #FAFAFA;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
}
.velri-facts__coa {
  margin: 28px auto 0;
  max-width: 560px;
  text-align: center;
  font-family: var(--font-body);
  font-size: var(--t-small);
  color: rgba(31, 41, 55, 0.65);
  line-height: var(--lh-body);
}
.velri-facts__coa a { color: var(--velri-indigo); text-decoration: underline; }

/* --- Physician portrait --- */
.velri-portrait__panel { padding-left: 0; padding-right: 0; }
@media (min-width: 720px) {
  .velri-portrait__panel { padding-left: 64px; padding-right: 64px; }
}
.velri-portrait__grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 56px;
  align-items: start;
}
@media (max-width: 760px) {
  .velri-portrait__grid { grid-template-columns: 1fr; gap: 32px; text-align: left; }
}
.velri-portrait__photo {
  border-radius: 24px;
  overflow: hidden;
  background: rgba(79, 70, 229, 0.08);
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.velri-portrait__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.velri-portrait__photo-placeholder {
  color: rgba(79, 70, 229, 0.35);
  width: 50%;
  height: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.velri-portrait__photo-placeholder svg { width: 100%; height: 100%; }
.velri-portrait__name {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--t-h2);
  line-height: var(--lh-section);
  letter-spacing: var(--track-display);
  color: var(--velri-indigo);
  margin: 0 0 8px;
}
.velri-portrait__title {
  font-family: var(--font-mono);
  font-size: var(--t-caption);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-slate-soft);
  margin: 0 0 24px;
  font-weight: 600;
}
.velri-portrait__bio {
  font-family: var(--font-body);
  font-size: var(--t-body);
  line-height: var(--lh-body);
  color: rgba(31, 41, 55, 0.78);
  margin: 0 0 28px;
}
.velri-portrait__creds {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 28px;
}
@media (max-width: 560px) { .velri-portrait__creds { grid-template-columns: 1fr; } }
.velri-portrait__creds li {
  font-family: var(--font-body);
  font-size: var(--t-small);
  color: rgba(31, 41, 55, 0.7);
  border-left: 2px solid var(--velri-indigo);
  padding-left: 12px;
}
.velri-portrait__creds strong {
  display: block;
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-indigo);
  font-weight: 700;
  margin-bottom: 4px;
}

/* --- Reviews --- */
/* ============================================================
   Press strip ("As covered in")
   ============================================================ */
.velri-press {
  position: relative;
  z-index: 1;
  padding: 32px 16px;
  background: rgba(255, 255, 255, 0.5);
  border-top: 1px solid var(--velri-border);
  border-bottom: 1px solid var(--velri-border);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.velri-press__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.velri-press__preview-note {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background: rgba(251, 191, 36, 0.1);
  border: 1px solid rgba(251, 191, 36, 0.4);
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(120, 80, 0, 0.85);
  font-weight: 600;
}
.velri-press__preview-note svg { width: 12px; height: 12px; flex: none; color: #B45309; }
.velri-press__label {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  font-weight: 700;
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-slate-soft);
}
.velri-press__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 36px 48px;
}
.velri-press__name {
  font-size: 1.375rem;
  color: rgba(31, 41, 55, 0.7);
  letter-spacing: -0.01em;
  filter: grayscale(1);
  opacity: 0.85;
}
.velri-press__name[data-style="serif"]    { font-family: "Times New Roman", "Times", serif; font-weight: 700; }
.velri-press__name[data-style="sans-bold"] { font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; font-size: 1.125rem; }
.velri-press__name[data-style="italic"]    { font-family: "Times New Roman", "Times", serif; font-style: italic; font-weight: 600; }
.velri-press__name[data-style="mono"]      { font-family: var(--font-mono); font-weight: 700; text-transform: uppercase; font-size: 1rem; }
@media (max-width: 720px) {
  .velri-press__row { gap: 18px 28px; }
  .velri-press__name { font-size: 1.125rem; }
  .velri-press__name[data-style="sans-bold"] { font-size: 0.9375rem; }
}

/* ============================================================
   Video reviews
   ============================================================ */
.velri-vreviews__panel { padding-top: 56px; }
.velri-vreviews__header { text-align: center; margin-bottom: 36px; }
.velri-vreviews__kicker {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-indigo);
  font-weight: 600;
  margin-bottom: 12px;
}
.velri-vreviews__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--t-h2);
  line-height: var(--lh-section);
  letter-spacing: var(--track-display);
  color: var(--velri-slate);
  margin: 0 0 14px;
  text-wrap: balance;
}
.velri-vreviews__sub {
  font-family: var(--font-body);
  font-size: var(--t-lead);
  line-height: var(--lh-body);
  color: rgba(31, 41, 55, 0.7);
  max-width: 600px;
  margin: 0 auto;
}
.velri-vreviews__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 880px) { .velri-vreviews__grid { grid-template-columns: 1fr; } }
.velri-vreview {
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid var(--velri-border);
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.velri-vreview__media {
  position: relative;
  aspect-ratio: 1 / 1;
  background: rgba(79, 70, 229, 0.08);
  overflow: hidden;
}
.velri-vreview__poster,
.velri-vreview__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.velri-vreview__play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  border: 0;
  cursor: pointer;
  color: var(--velri-indigo);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px -4px rgba(31, 41, 55, 0.35);
  transition: transform 0.15s ease;
}
.velri-vreview__play:hover { transform: scale(1.06); }
.velri-vreview__play svg { width: 28px; height: 28px; margin-left: 3px; }
.velri-vreview__body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 12px; }
.velri-vreview__stars { color: #FBBF24; display: inline-flex; gap: 2px; }
.velri-vreview__stars svg { width: 14px; height: 14px; }
.velri-vreview__quote {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--velri-slate);
  margin: 0;
  letter-spacing: -0.005em;
}
.velri-vreview__byline {
  font-family: var(--font-body);
  font-size: var(--t-small);
  color: rgba(31, 41, 55, 0.62);
}
.velri-vreview__byline strong { color: var(--velri-slate); font-weight: 600; }

.velri-reviews__preview-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  margin: 0 auto 28px;
  max-width: 720px;
  background: rgba(251, 191, 36, 0.1);
  border: 1px solid rgba(251, 191, 36, 0.4);
  border-radius: 10px;
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(120, 80, 0, 0.85);
  font-weight: 600;
  text-align: left;
}
.velri-reviews__preview-banner svg {
  width: 16px;
  height: 16px;
  flex: none;
  color: #B45309;
}

.velri-reviews__header { text-align: center; margin-bottom: 40px; }
.velri-reviews__stars {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.velri-reviews__rating {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--velri-slate);
}
.velri-reviews__star-row {
  display: inline-flex;
  gap: 2px;
  color: #FBBF24;
}
.velri-reviews__star-row svg { width: 18px; height: 18px; }
.velri-reviews__count {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-slate-soft);
  font-weight: 600;
}
.velri-reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 28px;
}
@media (max-width: 900px) { .velri-reviews__grid { grid-template-columns: 1fr; } }
.velri-review {
  padding: 28px;
  background: rgba(255, 255, 255, 0.85);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 1px solid var(--velri-border);
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.velri-review__stars {
  display: inline-flex;
  gap: 2px;
  color: #FBBF24;
}
.velri-review__stars svg { width: 14px; height: 14px; }
.velri-review__quote {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.0625rem;
  line-height: 1.5;
  color: var(--velri-slate);
  margin: 0;
  letter-spacing: -0.005em;
}
.velri-review__byline {
  font-family: var(--font-body);
  font-size: var(--t-small);
  color: rgba(31, 41, 55, 0.62);
  display: flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
}
.velri-review__byline strong { color: var(--velri-slate); font-weight: 600; }
.velri-review__weeks {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-indigo);
  font-weight: 600;
  margin-left: auto;
}
.velri-reviews__note {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  color: rgba(31, 41, 55, 0.55);
  text-align: center;
  max-width: 720px;
  margin: 24px auto 0;
  line-height: 1.6;
}

/* --- Savings compare --- */
.velri-savings__panel { text-align: left; }
.velri-savings__panel .velri-savings__kicker,
.velri-savings__panel .velri-savings__title { text-align: center; }
.velri-savings__visual {
  margin: 32px -16px 36px;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(79, 70, 229, 0.04);
  aspect-ratio: 16 / 9;
}
.velri-savings__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (min-width: 720px) {
  .velri-savings__visual { margin: 36px 0 40px; }
}

.velri-savings__compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 36px 0 28px;
}
@media (max-width: 760px) { .velri-savings__compare { grid-template-columns: 1fr; } }
.velri-savings__col {
  padding: 28px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid var(--velri-border);
  display: flex;
  flex-direction: column;
}
.velri-savings__col--us {
  background: rgba(79, 70, 229, 0.06);
  border-color: rgba(79, 70, 229, 0.25);
}
.velri-savings__col-head {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-h4);
  color: var(--velri-slate);
  margin-bottom: 18px;
  letter-spacing: var(--track-h3);
}
.velri-savings__col--us .velri-savings__col-head { color: var(--velri-indigo); }
.velri-savings__col ul {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.velri-savings__col li {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font-family: var(--font-body);
  font-size: var(--t-small);
  color: rgba(31, 41, 55, 0.78);
}

/* Per-ingredient bottle table */
.velri-savings__bottles {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 16px;
  font-family: var(--font-body);
  font-size: 0.8125rem;
}
.velri-savings__bottles thead th {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  font-weight: 700;
  color: var(--velri-slate-soft);
  text-align: left;
  padding: 8px 6px;
  border-bottom: 1px solid var(--velri-border);
}
.velri-savings__bottles tbody td {
  padding: 10px 6px;
  border-bottom: 1px solid rgba(229, 229, 234, 0.6);
  color: rgba(31, 41, 55, 0.78);
  vertical-align: top;
}
.velri-savings__brand {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--velri-slate-soft);
}
.velri-savings__price-col { text-align: right; white-space: nowrap; }
.velri-savings__bottles tbody tr:last-child td { border-bottom: 0; }

/* Sibling pack cross-link block */
.velri-siblings__panel { padding: 48px 32px; }
.velri-siblings__header { text-align: center; margin-bottom: 32px; }
.velri-siblings__kicker {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-indigo);
  font-weight: 600;
  margin-bottom: 12px;
}
.velri-siblings__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--t-h3);
  line-height: var(--lh-section);
  letter-spacing: var(--track-h2);
  color: var(--velri-slate);
  margin: 0 0 12px;
  text-wrap: balance;
}
.velri-siblings__sub {
  font-family: var(--font-body);
  font-size: var(--t-body);
  color: rgba(31, 41, 55, 0.7);
  max-width: 560px;
  margin: 0 auto;
  line-height: var(--lh-body);
}
.velri-siblings__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
@media (max-width: 760px) { .velri-siblings__grid { grid-template-columns: 1fr; } }
.velri-sibling-card {
  display: block;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid var(--velri-border);
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.velri-sibling-card:hover {
  transform: translateY(-3px);
  border-color: rgba(79, 70, 229, 0.35);
  box-shadow: 0 14px 32px -16px rgba(79, 70, 229, 0.25);
}
.velri-sibling-card__image {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  background: var(--velri-cream);
}
.velri-sibling-card__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 4px; }
.velri-sibling-card__name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-h4);
  color: var(--velri-slate);
  letter-spacing: var(--track-h3);
}
.velri-sibling-card__price {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--velri-indigo);
  font-weight: 600;
}
.velri-sibling-card__cta {
  margin-top: 8px;
  font-family: var(--font-cta);
  font-size: var(--t-small);
  font-weight: 600;
  color: var(--velri-slate-soft);
}
.velri-sibling-card:hover .velri-sibling-card__cta { color: var(--velri-indigo); }
.velri-savings__price {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--velri-slate);
}
.velri-savings__total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-top: 1px solid var(--velri-border);
  padding-top: 16px;
  margin-top: auto;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-body);
}
.velri-savings__total-num {
  font-size: var(--t-h3);
  font-variant-numeric: tabular-nums;
}
.velri-savings__total--us .velri-savings__total-num { color: var(--velri-indigo); }
.velri-savings__col-foot {
  margin-top: 14px;
  font-family: var(--font-body);
  font-size: 0.8125rem;
  color: rgba(31, 41, 55, 0.55);
  line-height: 1.5;
}
.velri-savings__col-foot--win { color: var(--velri-emerald); font-weight: 600; }
.velri-savings__guarantee {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 20px 24px;
  background: rgba(16, 185, 129, 0.06);
  border: 1px solid rgba(16, 185, 129, 0.25);
  border-radius: 14px;
  font-family: var(--font-body);
  font-size: var(--t-small);
  line-height: 1.55;
  color: rgba(31, 41, 55, 0.78);
}
.velri-savings__guarantee svg {
  width: 22px;
  height: 22px;
  flex: none;
  color: var(--velri-emerald);
  margin-top: 2px;
}
.velri-savings__guarantee strong { color: var(--velri-slate); }

/* --- FAQ --- */
.velri-faq__header { text-align: center; margin-bottom: 40px; }
.velri-faq__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.velri-faq__item details {
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid var(--velri-border);
  border-radius: 14px;
  overflow: hidden;
}
.velri-faq__item details[open] {
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(79, 70, 229, 0.3);
}
.velri-faq__item summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 22px 24px;
  cursor: pointer;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--t-h4);
  letter-spacing: var(--track-h3);
  color: var(--velri-slate);
  list-style: none;
}
.velri-faq__item summary::-webkit-details-marker { display: none; }
.velri-faq__chevron {
  width: 18px;
  height: 18px;
  flex: none;
  color: var(--velri-indigo);
  transition: transform 0.2s ease;
}
.velri-faq__item details[open] .velri-faq__chevron { transform: rotate(180deg); }
.velri-faq__a {
  padding: 0 24px 22px;
  font-family: var(--font-body);
  font-size: var(--t-body);
  line-height: var(--lh-body);
  color: rgba(31, 41, 55, 0.78);
}
.velri-faq__a a { color: var(--velri-indigo); text-decoration: underline; }
.velri-faq__a p { margin: 0 0 12px; }
.velri-faq__a p:last-child { margin: 0; }

/* --- Sticky CTA --- */
.velri-sticky {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  border-top: 1px solid rgba(79, 70, 229, 0.18);
  box-shadow: 0 -10px 30px rgba(31, 41, 55, 0.08);
  transform: translateY(100%);
  transition: transform 0.25s ease-out;
}
.velri-sticky--visible { transform: translateY(0); }
.velri-sticky__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.velri-sticky__product {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.velri-sticky__product img {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  object-fit: cover;
  flex: none;
}
.velri-sticky__meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.velri-sticky__name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-small);
  color: var(--velri-slate);
  letter-spacing: var(--track-h3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.velri-sticky__price {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: 0.04em;
  color: var(--velri-indigo);
  font-weight: 600;
}
.velri-sticky__form { flex: none; }
.velri-sticky__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  background: var(--velri-indigo);
  color: #FFFFFF;
  font-family: var(--font-cta);
  font-weight: 600;
  font-size: var(--t-small);
  border-radius: 10px;
  border: 0;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.15s ease;
}
.velri-sticky__btn:hover { background: var(--velri-indigo-deep); transform: translateY(-1px); }
@media (min-width: 900px) { .velri-sticky__btn { padding: 14px 28px; } }

/* ============================================================
   Custom product hero (replaces Horizon stock product info)
   ============================================================ */
.velri-phero__panel { padding: 40px 32px; }
@media (min-width: 760px) { .velri-phero__panel { padding: 56px 56px; } }
.velri-phero__grid {
  display: grid;
  grid-template-columns: minmax(0, 460px) 1fr;
  gap: 56px;
  align-items: start;
}
@media (max-width: 880px) { .velri-phero__grid { grid-template-columns: 1fr; gap: 32px; } }

.velri-phero__media {
  position: sticky;
  top: 96px;
  align-self: start;
}
@media (max-width: 880px) {
  .velri-phero__media { position: static; top: auto; }
}

.velri-phero__hero {
  border-radius: 22px;
  overflow: hidden;
  background: rgba(79, 70, 229, 0.04);
  aspect-ratio: 1 / 1;
  max-height: 460px;
}
.velri-phero__hero img { width: 100%; height: 100%; object-fit: cover; display: block; }

.velri-phero__thumbs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-top: 12px;
}
.velri-phero__thumb {
  border: 2px solid transparent;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(79, 70, 229, 0.04);
  cursor: pointer;
  padding: 0;
  aspect-ratio: 1 / 1;
  transition: border-color 0.15s ease;
}
.velri-phero__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.velri-phero__thumb.is-active { border-color: var(--velri-indigo); }
.velri-phero__thumb:hover { border-color: var(--velri-indigo-soft); }

.velri-phero__kicker {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  font-weight: 600;
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-indigo);
  margin-bottom: 14px;
}
.velri-phero__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--t-h2);
  line-height: var(--lh-display);
  letter-spacing: var(--track-display);
  color: var(--velri-slate);
  margin: 0 0 20px;
  text-wrap: balance;
}
.velri-phero__price {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.velri-phero__price-amount {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-h3);
  color: var(--velri-indigo);
  font-variant-numeric: tabular-nums;
}
.velri-phero__price-cadence {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--velri-slate-soft);
  font-weight: 600;
}
/* ============================================================
   Subscribe & Save plan toggle
   ============================================================ */
.velri-phero__plans {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 18px 0 22px;
}
.velri-phero__plan {
  display: block;
  padding: 14px 16px;
  border: 1px solid var(--velri-border);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  position: relative;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.velri-phero__plan input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.velri-phero__plan.is-selected {
  border-color: var(--velri-indigo);
  background: rgba(79, 70, 229, 0.06);
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
}
.velri-phero__plan-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 4px;
}
.velri-phero__plan-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-small);
  color: var(--velri-slate);
  letter-spacing: var(--track-h3);
}
.velri-phero__plan--sub.is-selected .velri-phero__plan-name { color: var(--velri-indigo); }
.velri-phero__plan-save {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.1);
  color: var(--velri-emerald);
  border: 1px solid rgba(16, 185, 129, 0.3);
}
.velri-phero__plan--once .velri-phero__plan-save {
  background: transparent;
  color: var(--velri-slate-soft);
  border-color: transparent;
}
.velri-phero__plan-detail {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 0.8125rem;
  color: rgba(31, 41, 55, 0.65);
}
.velri-phero__plan-was {
  font-family: var(--font-mono);
  text-decoration: line-through;
  margin-left: auto;
  color: var(--velri-slate-soft);
}
.velri-phero__price-amount--sub { color: var(--velri-emerald); }

.velri-phero__tagline {
  font-family: var(--font-body);
  font-size: var(--t-body);
  line-height: var(--lh-body);
  color: rgba(31, 41, 55, 0.78);
  margin: 0 0 24px;
}
.velri-phero__benefits {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.velri-phero__benefits li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: var(--font-body);
  font-size: var(--t-small);
  color: rgba(31, 41, 55, 0.78);
}
.velri-phero__benefits svg {
  width: 18px;
  height: 18px;
  flex: none;
  color: var(--velri-emerald);
  margin-top: 2px;
}
.velri-phero__form { margin: 0 0 18px; }
.velri-phero__atc {
  width: 100%;
  justify-content: center;
  font-size: var(--t-body);
  padding: 18px 28px;
  font-weight: 700;
}
.velri-phero__assurance {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 0.8125rem;
  color: var(--velri-slate-soft);
  margin-bottom: 20px;
}
.velri-phero__assurance svg { width: 16px; height: 16px; color: var(--velri-emerald); flex: none; }
.velri-phero__trust {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  padding-top: 20px;
  border-top: 1px solid var(--velri-border);
}
@media (max-width: 560px) { .velri-phero__trust { grid-template-columns: repeat(2, 1fr); } }
.velri-phero__trust span {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--velri-slate-soft);
  font-weight: 600;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.velri-phero__trust strong {
  font-family: var(--font-display);
  font-size: var(--t-small);
  letter-spacing: -0.005em;
  color: var(--velri-indigo);
  text-transform: none;
}

/* ============================================================
   Week / Day timeline (the FAQ promised this exists)
   ============================================================ */
.velri-timeline__panel { text-align: left; }
.velri-timeline__panel .velri-timeline__kicker,
.velri-timeline__panel .velri-timeline__title { text-align: center; }
.velri-timeline__kicker {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  font-weight: 600;
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-indigo);
  margin-bottom: 14px;
}
.velri-timeline__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--t-h2);
  line-height: var(--lh-section);
  letter-spacing: var(--track-display);
  color: var(--velri-slate);
  margin: 0 0 40px;
  text-wrap: balance;
}
.velri-timeline__rail {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 760px) { .velri-timeline__rail { grid-template-columns: 1fr; } }
.velri-timeline__milestone {
  padding: 28px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid var(--velri-border);
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.velri-timeline__when {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-indigo);
  font-weight: 700;
}
.velri-timeline__what {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-h4);
  color: var(--velri-slate);
  letter-spacing: var(--track-h3);
  margin: 0;
}
.velri-timeline__detail {
  font-family: var(--font-body);
  font-size: var(--t-small);
  color: rgba(31, 41, 55, 0.7);
  line-height: var(--lh-body);
  margin: 0;
}
.velri-timeline__honest {
  margin-top: 32px;
  padding: 20px 24px;
  background: rgba(79, 70, 229, 0.06);
  border-left: 3px solid var(--velri-indigo);
  border-radius: 12px;
  font-family: var(--font-body);
  font-size: var(--t-small);
  color: rgba(31, 41, 55, 0.78);
  line-height: var(--lh-body);
}
.velri-timeline__honest strong { color: var(--velri-slate); }

/* ============================================================
   Announcement bar + Header + Mega menu + Footer
   ============================================================ */
.velri-announce {
  position: relative;
  z-index: 1100;
  background: linear-gradient(135deg, var(--velri-indigo), var(--velri-indigo-deep));
  color: #FFFFFF;
}
.velri-announce__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 10px 24px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 28px;
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 600;
}
.velri-announce__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.velri-announce__icon { display: inline-flex; }
.velri-announce__icon svg { width: 14px; height: 14px; }
@media (max-width: 760px) {
  .velri-announce__inner { gap: 14px; padding: 8px 16px; }
  .velri-announce__item:nth-child(n+3) { display: none; }
}

.velri-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(250, 250, 247, 0.86);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
  backdrop-filter: blur(20px) saturate(1.4);
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.velri-header--scrolled {
  background: rgba(250, 250, 247, 0.95);
  border-bottom-color: rgba(79, 70, 229, 0.12);
}
.velri-header__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 14px 24px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 36px;
  align-items: center;
}
.velri-header__brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: var(--velri-slate);
}
.velri-header__logo { height: 32px; width: auto; display: block; }
.velri-header__wordmark {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.375rem;
  letter-spacing: var(--track-display);
  color: var(--velri-indigo);
}

.velri-header__nav { justify-self: start; }
.velri-header__nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 8px;
  align-items: center;
}
.velri-header__nav a,
.velri-header__nav button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  font-family: var(--font-cta);
  font-weight: 500;
  font-size: var(--t-small);
  color: var(--velri-slate);
  text-decoration: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  border-radius: 8px;
  transition: background 0.15s ease, color 0.15s ease;
}
.velri-header__nav a:hover,
.velri-header__nav button:hover {
  background: rgba(79, 70, 229, 0.06);
  color: var(--velri-indigo);
}

.velri-header__has-mega { position: static; }
.velri-mega {
  position: absolute;
  left: 0; right: 0;
  top: 100%;
  background: rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  border-top: 1px solid rgba(79, 70, 229, 0.12);
  border-bottom: 1px solid rgba(79, 70, 229, 0.18);
  box-shadow: 0 24px 60px -20px rgba(31, 41, 55, 0.18);
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}
.velri-mega.is-open { opacity: 1; transform: translateY(0); }
.velri-mega__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 24px;
  display: grid;
  grid-template-columns: 240px 1.2fr 1fr;
  gap: 48px;
}
@media (max-width: 1100px) {
  .velri-mega__inner { grid-template-columns: 220px 1fr; }
  .velri-mega__featured { grid-column: 1 / -1; }
}
@media (max-width: 880px) {
  .velri-mega__inner { grid-template-columns: 1fr; gap: 24px; padding: 24px; }
}

/* Categories grid inside the mega menu */
.velri-mega__cats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 16px;
  align-content: start;
}
@media (max-width: 540px) { .velri-mega__cats { grid-template-columns: 1fr; } }
.velri-mega__cat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid transparent;
  font-family: var(--font-body);
  font-size: var(--t-body);
  color: var(--velri-slate);
  text-decoration: none;
  transition: background 0.12s ease, border-color 0.12s ease, transform 0.12s ease;
  min-height: 44px;
}
.velri-mega__cat:hover {
  background: rgba(79, 70, 229, 0.06);
  border-color: rgba(79, 70, 229, 0.18);
  transform: translateX(2px);
}
.velri-mega__cat svg {
  width: 16px; height: 16px;
  color: var(--velri-indigo);
  opacity: 0.6;
  flex-shrink: 0;
}
.velri-mega__cat-name {
  font-weight: 500;
  flex: 1 1 auto;
  min-width: 0;
}
.velri-mega__cat-count {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: 0.04em;
  color: var(--velri-slate-soft);
  font-weight: 600;
  flex: 0 0 auto;
}

/* Featured strip block (right column on desktop, full-width below 1100) */
.velri-mega__featured-label {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: rgba(31, 41, 55, 0.55);
  font-weight: 600;
  margin-bottom: 14px;
}
.velri-mega__kicker {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-indigo);
  font-weight: 600;
  margin-bottom: 12px;
}
.velri-mega__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--t-h3);
  line-height: var(--lh-tight);
  letter-spacing: var(--track-h2);
  color: var(--velri-slate);
  margin: 0 0 14px;
}
.velri-mega__sub {
  font-family: var(--font-body);
  font-size: var(--t-small);
  line-height: var(--lh-body);
  color: rgba(31, 41, 55, 0.7);
  margin: 0 0 20px;
}
.velri-mega__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-cta);
  font-weight: 600;
  font-size: var(--t-small);
  color: var(--velri-indigo);
  text-decoration: none;
}
.velri-mega__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
@media (max-width: 1100px) { .velri-mega__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) { .velri-mega__grid { grid-template-columns: repeat(2, 1fr); } }
.velri-mega__card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 12px;
  text-decoration: none;
  background: transparent;
  border: 1px solid transparent;
  color: var(--velri-slate);
  transition: background 0.15s ease, border-color 0.15s ease;
}
.velri-mega__card:hover {
  background: rgba(79, 70, 229, 0.04);
  border-color: rgba(79, 70, 229, 0.2);
}
.velri-mega__card img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 10px;
  background: rgba(79, 70, 229, 0.06);
  flex: none;
}
.velri-mega__card-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-small);
  letter-spacing: var(--track-h3);
}
.velri-mega__card-price {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: 0.04em;
  color: var(--velri-slate-soft);
  font-weight: 600;
}

.velri-header__utility {
  display: flex;
  align-items: center;
  gap: 10px;
}
.velri-header__cta {
  display: inline-flex;
  align-items: center;
  padding: 10px 18px;
  background: var(--velri-indigo);
  color: #FFFFFF;
  font-family: var(--font-cta);
  font-weight: 600;
  font-size: var(--t-small);
  border-radius: 999px;
  text-decoration: none;
  transition: background 0.15s ease, transform 0.15s ease;
}
.velri-header__cta:hover { background: var(--velri-indigo-deep); transform: translateY(-1px); }
.velri-header__icon {
  position: relative;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  cursor: pointer;
  color: var(--velri-slate);
  border-radius: 999px;
  transition: background 0.15s ease, color 0.15s ease;
}
.velri-header__icon:hover { background: rgba(79, 70, 229, 0.08); color: var(--velri-indigo); }
.velri-header__icon svg { width: 20px; height: 20px; }
.velri-header__badge {
  position: absolute;
  top: 4px;
  right: 4px;
  background: var(--velri-indigo);
  color: #FFFFFF;
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 700;
  padding: 1px 5px;
  border-radius: 999px;
  min-width: 14px;
  text-align: center;
  line-height: 1.2;
}
.velri-header__menu-toggle { display: none; }

@media (max-width: 880px) {
  .velri-header__inner { grid-template-columns: auto auto; gap: 12px; padding: 12px 16px; }
  .velri-header__nav {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(250, 250, 247, 0.98);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    z-index: 1200;
    padding: 80px 24px 24px;
    transform: translateY(-100%);
    transition: transform 0.25s ease;
    visibility: hidden;
  }
  .velri-header__nav--mobile-open {
    transform: translateY(0);
    visibility: visible;
  }
  .velri-header__nav ul { flex-direction: column; align-items: stretch; gap: 4px; }
  .velri-header__nav a, .velri-header__nav button {
    width: 100%;
    justify-content: space-between;
    padding: 16px 18px;
    font-size: var(--t-h4);
    font-family: var(--font-display);
    font-weight: 600;
  }
  .velri-mega { position: relative; box-shadow: none; border: 0; background: transparent; padding: 0; }
  .velri-header__cta { display: none; }
  .velri-header__menu-toggle { display: inline-flex; }
}

/* Shop mega: 3-column layout — intro / category links / 2x2 featured grid.
   Categories use a single-column stack at all desktop sizes so labels never
   wrap, and a more solid background to prevent bleed-through. */
.velri-mega--shop-all { background: rgba(255, 255, 255, 0.985); }
.velri-mega--shop-all .velri-mega__inner {
  grid-template-columns: 240px minmax(280px, 1fr) minmax(320px, 1fr);
  gap: 40px;
  max-width: 1320px;
  padding: 36px 28px 28px;
}
@media (max-width: 1180px) {
  .velri-mega--shop-all .velri-mega__inner {
    grid-template-columns: 220px minmax(240px, 1fr) minmax(280px, 1fr);
    gap: 28px;
  }
}
@media (max-width: 980px) {
  .velri-mega--shop-all .velri-mega__inner {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 24px;
  }
  .velri-mega--shop-all .velri-mega__featured { grid-column: 1 / -1; }
}
.velri-mega--shop-all .velri-mega__cats {
  grid-template-columns: 1fr;
  gap: 2px;
  align-content: start;
}
@media (min-width: 981px) and (max-width: 1180px) {
  /* tablet: still single column, just tighter padding */
}
.velri-mega--shop-all .velri-mega__cat {
  padding: 10px 14px;
  gap: 12px;
  min-height: 40px;
}
.velri-mega--shop-all .velri-mega__cat-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.velri-mega--shop-all .velri-mega__featured-label {
  margin-bottom: 12px;
}
.velri-mega--shop-all .velri-mega__grid {
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
@media (max-width: 540px) {
  .velri-mega--shop-all .velri-mega__grid { grid-template-columns: 1fr; }
}
.velri-mega--shop-all .velri-mega__card {
  padding: 10px;
  gap: 10px;
}
.velri-mega--shop-all .velri-mega__card img {
  width: 52px;
  height: 52px;
}

/* PDP cross-sell: "Pairs well with" cards pulled from the product's
   merchandising bucket. */
.velri-pairs { padding: 64px 0 32px; }
.velri-pairs__panel { padding: 48px 32px; }
.velri-pairs__header { text-align: center; margin-bottom: 32px; }
.velri-pairs__kicker {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-indigo);
  font-weight: 600;
  margin-bottom: 10px;
}
.velri-pairs__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--t-h2);
  line-height: var(--lh-tight);
  letter-spacing: var(--track-h2);
  color: var(--velri-slate);
  margin: 0 0 8px;
}
.velri-pairs__sub {
  font-family: var(--font-body);
  color: rgba(31, 41, 55, 0.7);
  margin: 0 auto;
  max-width: 540px;
}
.velri-pairs__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1080px;
  margin: 0 auto;
}
@media (max-width: 880px) { .velri-pairs__grid { grid-template-columns: 1fr 1fr; gap: 14px; } }
@media (max-width: 540px) { .velri-pairs__grid { grid-template-columns: 1fr; } }
.velri-pairs__card {
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(79, 70, 229, 0.12);
  text-decoration: none;
  overflow: hidden;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.velri-pairs__card:hover {
  transform: translateY(-2px);
  border-color: rgba(79, 70, 229, 0.32);
  box-shadow: 0 18px 40px -22px rgba(31, 41, 55, 0.25);
}
.velri-pairs__img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  background: rgba(79, 70, 229, 0.04);
  display: block;
}
.velri-pairs__body { padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.velri-pairs__name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-body);
  letter-spacing: var(--track-h3);
  color: var(--velri-slate);
  line-height: var(--lh-tight);
}
.velri-pairs__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.velri-pairs__price {
  font-family: var(--font-mono);
  font-size: var(--t-small);
  letter-spacing: 0.04em;
  color: var(--velri-slate);
  font-weight: 600;
}
.velri-pairs__sold { color: rgba(31, 41, 55, 0.4); font-weight: 500; }
.velri-pairs__cta {
  font-family: var(--font-cta);
  font-size: var(--t-small);
  font-weight: 600;
  color: var(--velri-indigo);
}
.velri-pairs__more {
  display: block;
  text-align: center;
  margin-top: 24px;
  font-family: var(--font-cta);
  font-size: var(--t-small);
  font-weight: 600;
  color: var(--velri-indigo);
  text-decoration: none;
}
.velri-pairs__more:hover { text-decoration: underline; }

/* Legacy classes from the prior product-list mega — kept defined in case the
   old block lingers in cached bundles, but no longer rendered. */
.velri-mega__cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px 28px;
  align-content: start;
}
.velri-mega__col-more {
  font-family: var(--font-cta);
  font-weight: 600;
  font-size: var(--t-eyebrow);
  letter-spacing: 0.04em;
  color: var(--velri-indigo);
  text-decoration: none;
  padding: 6px 8px;
  margin-top: 2px;
}
.velri-mega__col-more:hover { text-decoration: underline; }

/* Footer — glass panel aesthetic on cream, rounded edges, on-brand
   with the rest of the site (no more dark navy slab + square corners). */
.velri-footer.velri-glass {
  background: transparent !important;
  padding-top: 80px;
  padding-bottom: 32px;
  margin-top: 48px;
}
.velri-footer__panel {
  /* inherits .velri-glass__panel — same glass treatment, max-width
     1360px, rounded corners, backdrop blur */
  color: var(--velri-slate);
}
.velri-footer__inner {
  display: grid;
  grid-template-columns: 1.6fr repeat(4, 1fr);
  gap: 48px;
  align-items: start;
}
@media (max-width: 1000px) {
  .velri-footer__inner { grid-template-columns: 1fr 1fr; gap: 36px; }
}
@media (max-width: 600px) {
  .velri-footer__inner { grid-template-columns: 1fr; gap: 28px; }
}
.velri-footer__brand {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.75rem;
  color: var(--velri-indigo);
  letter-spacing: var(--track-display);
  text-decoration: none;
  display: inline-block;
  margin-bottom: 16px;
}
.velri-footer__pitch {
  font-family: var(--font-body);
  font-size: var(--t-small);
  line-height: var(--lh-body);
  color: rgba(31, 41, 55, 0.72);
  margin: 0 0 28px;
  max-width: 380px;
}
.velri-footer__signup-label {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--velri-indigo);
  font-weight: 700;
  display: block;
  margin-bottom: 10px;
}
.velri-footer__signup-row {
  display: flex;
  gap: 8px;
  max-width: 400px;
}
.velri-footer__signup input[type="email"] {
  flex: 1;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(79, 70, 229, 0.22);
  color: var(--velri-slate);
  padding: 12px 14px;
  border-radius: 10px;
  font-family: var(--font-body);
  font-size: var(--t-small);
  min-height: 44px;
}
.velri-footer__signup input[type="email"]:focus {
  outline: none;
  border-color: var(--velri-indigo);
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
}
.velri-footer__signup input[type="email"]::placeholder { color: rgba(31, 41, 55, 0.4); }
.velri-footer__signup button {
  background: var(--velri-indigo);
  color: #FFFFFF;
  font-family: var(--font-cta, var(--font-body));
  font-weight: 600;
  font-size: var(--t-small);
  padding: 12px 18px;
  border-radius: 10px;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: filter 0.15s ease;
  min-height: 44px;
  white-space: nowrap;
}
.velri-footer__signup button:hover { filter: brightness(1.08); }

.velri-footer__col-title {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--velri-indigo);
  font-weight: 700;
  margin: 0 0 16px;
}
.velri-footer__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.velri-footer__col a {
  font-family: var(--font-body);
  font-size: var(--t-small);
  color: rgba(31, 41, 55, 0.78);
  text-decoration: none;
  transition: color 0.15s ease;
}
.velri-footer__col a:hover { color: var(--velri-indigo); }

.velri-footer__legal {
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid rgba(79, 70, 229, 0.12);
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  text-align: center;
}
.velri-footer__copyright {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  color: rgba(31, 41, 55, 0.5);
  margin: 0;
}
.velri-footer__disclosure {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  line-height: 1.6;
  color: rgba(31, 41, 55, 0.55);
  max-width: 720px;
  margin: 0;
}
@media (max-width: 720px) {
  .velri-footer.velri-glass { padding-top: 48px; padding-bottom: 20px; }
  .velri-footer__legal { margin-top: 32px; padding-top: 20px; }
}

/* ============================================================
   MOBILE OPTIMIZATION + SCROLL-SNAP CAROUSELS
   ============================================================ */

/* Tighten the cream wash so mobile feels less cramped */
@media (max-width: 720px) {
  .velri-glass { padding: 36px 16px; }
  .velri-glass__panel {
    padding: 32px 20px;
    border-radius: 20px;
  }
  .velri-glass__panel h2 { font-size: clamp(1.625rem, 7vw, 2.25rem) !important; line-height: 1.1; }
  .velri-glass__panel p  { font-size: 1rem; line-height: 1.6; }
  .velri-footer { padding-top: 56px; margin-top: 48px; }
}

/* Pack grid → swipeable on mobile (matches Care/of, Persona pattern) */
@media (max-width: 720px) {
  .velri-packs__grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 16px;
    gap: 14px;
    margin: 0 -20px;
    padding: 0 20px 16px;
    -webkit-overflow-scrolling: touch;
  }
  .velri-packs__grid::-webkit-scrollbar { display: none; }
  .velri-packs__grid { scrollbar-width: none; }
  .velri-pack-card {
    scroll-snap-align: start;
    flex: 0 0 78%;
  }
}

/* Timeline Week-1/4/Day-90 → swipeable cards on mobile */
@media (max-width: 720px) {
  .velri-timeline__rail {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 16px;
    gap: 14px;
    margin: 0 -20px;
    padding: 0 20px 16px;
    -webkit-overflow-scrolling: touch;
  }
  .velri-timeline__rail::-webkit-scrollbar { display: none; }
  .velri-timeline__rail { scrollbar-width: none; }
  .velri-timeline__milestone {
    scroll-snap-align: start;
    flex: 0 0 82%;
  }
}

/* Reviews → swipe on mobile */
@media (max-width: 720px) {
  .velri-reviews__grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 16px;
    gap: 14px;
    margin: 0 -20px 14px;
    padding: 0 20px 16px;
    -webkit-overflow-scrolling: touch;
  }
  .velri-reviews__grid::-webkit-scrollbar { display: none; }
  .velri-reviews__grid { scrollbar-width: none; }
  .velri-review { scroll-snap-align: start; flex: 0 0 88%; }
}

/* PDP product hero — stack with the image first, full-width sticky ATC */
@media (max-width: 720px) {
  .velri-phero__panel { padding: 24px 18px; }
  .velri-phero__hero { border-radius: 16px; }
  .velri-phero__title { font-size: clamp(1.875rem, 8vw, 2.5rem); }
  .velri-phero__price-amount { font-size: clamp(1.625rem, 6vw, 2rem); }
  .velri-phero__benefits li { font-size: 0.9375rem; }
  .velri-phero__atc { padding: 16px 24px; font-size: 1rem; }
  .velri-phero__trust { gap: 10px; padding-top: 16px; }
  .velri-phero__trust span { font-size: 0.625rem; }
  .velri-phero__trust strong { font-size: 0.8125rem; }
}

/* Savings two-col → stack on mobile, kill horizontal scroll */
@media (max-width: 720px) {
  .velri-savings__col { padding: 22px 18px; }
  .velri-savings__total-num { font-size: 1.5rem; }
  .velri-savings__guarantee { padding: 16px 18px; font-size: 0.875rem; }
}

/* Physician portrait stack: photo on top, body below */
@media (max-width: 720px) {
  .velri-portrait__photo { max-width: 220px; margin: 0 auto; }
  .velri-portrait__name { font-size: clamp(1.625rem, 7vw, 2rem); }
  .velri-portrait__bio { font-size: 0.9375rem; }
  .velri-portrait__creds li { font-size: 0.8125rem; }
}

/* FAQ — bigger touch targets, slightly tighter answer text */
@media (max-width: 720px) {
  .velri-faq__item summary { padding: 18px 18px; font-size: 1rem; }
  .velri-faq__a { padding: 0 18px 20px; font-size: 0.9375rem; }
}

/* Sticky CTA — protect against thumb-zone safe area */
@media (max-width: 720px) {
  .velri-sticky { padding: 10px 12px env(safe-area-inset-bottom, 12px); }
  .velri-sticky__product img { width: 40px; height: 40px; }
  .velri-sticky__name { font-size: 0.8125rem; }
  .velri-sticky__price { font-size: 0.625rem; }
  .velri-sticky__btn { padding: 12px 18px; font-size: 0.875rem; }
}

/* Header on mobile — keep brand + utilities, drawer for nav */
@media (max-width: 880px) {
  .velri-header__inner {
    grid-template-columns: 1fr auto;
    padding: 10px 16px;
    gap: 8px;
  }
  .velri-header__wordmark { font-size: 1.25rem; }
  .velri-header__icon { width: 38px; height: 38px; }
}

/* Announcement bar — tighten on small screens, hide non-essentials */
@media (max-width: 480px) {
  .velri-announce__inner { padding: 6px 14px; gap: 0; }
  .velri-announce__item { font-size: 0.625rem; padding: 0 6px; }
  .velri-announce__item:nth-child(n+2) { display: none; }
}

/* ============================================================
   Intake quiz (rebuilt to match Vercel-fidelity)
   ============================================================ */
.velri-intake__panel { padding: 48px 28px; }
@media (min-width: 720px) { .velri-intake__panel { padding: 72px 56px; } }

.velri-intake__header { text-align: center; max-width: 640px; margin: 0 auto 36px; }
.velri-intake__kicker {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  font-weight: 600;
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-indigo);
  margin-bottom: 14px;
}
.velri-intake__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(1.75rem, 5vw, 3rem);
  line-height: var(--lh-section);
  letter-spacing: var(--track-display);
  color: var(--velri-slate);
  margin: 0 0 14px;
  text-wrap: balance;
}
.velri-intake__sub {
  font-family: var(--font-body);
  font-size: var(--t-lead);
  line-height: var(--lh-body);
  color: rgba(31, 41, 55, 0.7);
  margin: 0;
}

/* Progress bar */
.velri-intake__progress { margin-bottom: 28px; }
.velri-intake__progress-track {
  height: 5px;
  background: var(--velri-border);
  border-radius: 999px;
  overflow: hidden;
}
.velri-intake__progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--velri-indigo), var(--velri-emerald));
  border-radius: 999px;
  transition: width 0.3s ease;
}
.velri-intake__progress-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--velri-slate-soft);
  font-weight: 600;
}
.velri-intake__progress-label.is-active { color: var(--velri-indigo); }

/* Steps */
.velri-intake__step { display: none; }
.velri-intake__step.is-active { display: block; }
.velri-intake__q-block { margin-bottom: 24px; }
.velri-intake__q {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.375rem, 3vw, 1.75rem);
  letter-spacing: var(--track-h2);
  color: var(--velri-slate);
  margin: 0 0 8px;
}
.velri-intake__hint {
  font-family: var(--font-body);
  font-size: var(--t-small);
  color: rgba(31, 41, 55, 0.6);
  line-height: var(--lh-body);
  margin: 0;
}

/* Chips: multi-select with cap */
.velri-intake__chips {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-bottom: 16px;
}
@media (max-width: 560px) { .velri-intake__chips { grid-template-columns: 1fr; } }
.velri-intake__chip-wrap {}
.velri-intake__chip {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border: 2px solid var(--velri-border);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
  font-family: var(--font-body);
  font-size: var(--t-small);
  font-weight: 500;
  color: rgba(31, 41, 55, 0.78);
}
.velri-intake__chip input { position: absolute; opacity: 0; pointer-events: none; }
.velri-intake__chip:hover { border-color: var(--velri-indigo-soft); }
.velri-intake__chip-wrap.is-checked .velri-intake__chip {
  border-color: var(--velri-indigo);
  background: rgba(79, 70, 229, 0.06);
  color: var(--velri-indigo);
  font-weight: 600;
}
.velri-intake__chip:has(input:disabled),
.velri-intake__chip-wrap input:disabled + .velri-intake__chip-box,
.velri-intake__chip-wrap:not(.is-checked):has(input:disabled) .velri-intake__chip {
  opacity: 0.35;
  cursor: not-allowed;
}
.velri-intake__chip-wrap--needed .velri-intake__chip {
  border-color: rgba(220, 38, 38, 0.5);
  animation: velri-shake 0.3s;
}
@keyframes velri-shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-3px); }
  75% { transform: translateX(3px); }
}
.velri-intake__chip-box {
  width: 18px; height: 18px;
  border: 2px solid var(--velri-border);
  border-radius: 5px;
  background: #FFFFFF;
  display: flex; align-items: center; justify-content: center;
  flex: none;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.velri-intake__chip-box svg {
  width: 12px; height: 12px;
  color: #FFFFFF;
  opacity: 0;
}
.velri-intake__chip-wrap.is-checked .velri-intake__chip-box {
  background: var(--velri-indigo);
  border-color: var(--velri-indigo);
}
.velri-intake__chip-wrap.is-checked .velri-intake__chip-box svg { opacity: 1; }
.velri-intake__chip-desc {
  display: none;
  font-family: var(--font-body);
  font-size: 0.75rem;
  line-height: 1.5;
  color: rgba(79, 70, 229, 0.75);
  margin: 6px 0 0 28px;
}
.velri-intake__chip-wrap.is-checked .velri-intake__chip-desc { display: block; }
.velri-intake__chip-cap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--velri-emerald);
  font-weight: 700;
  margin-bottom: 16px;
}
.velri-intake__chip-cap svg { width: 14px; height: 14px; }

/* Field grid */
.velri-intake__field-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 24px;
}
@media (max-width: 560px) { .velri-intake__field-grid { grid-template-columns: 1fr; } }
.velri-intake__field { display: block; }
.velri-intake__field--full { grid-column: 1 / -1; }
.velri-intake__field label,
.velri-intake__field > span {
  font-family: var(--font-body);
  font-size: var(--t-small);
  font-weight: 600;
  color: var(--velri-slate);
  display: block;
  margin-bottom: 6px;
}
.velri-intake__field span em {
  font-style: normal;
  font-weight: 400;
  color: rgba(31, 41, 55, 0.45);
}
.velri-intake__field input[type="text"],
.velri-intake__field input[type="email"],
.velri-intake__field input[type="tel"],
.velri-intake__field input[type="number"],
.velri-intake__field select,
.velri-intake__field textarea {
  width: 100%;
  padding: 12px 14px;
  border: 2px solid var(--velri-border);
  border-radius: 10px;
  background: #FFFFFF;
  font-family: var(--font-body);
  font-size: var(--t-small);
  color: var(--velri-slate);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.velri-intake__field input:focus,
.velri-intake__field select:focus,
.velri-intake__field textarea:focus {
  outline: 0;
  border-color: var(--velri-indigo);
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
}
.velri-intake__field textarea { resize: vertical; min-height: 64px; font-family: var(--font-body); }
.velri-intake__field-hint {
  font-family: var(--font-body);
  font-size: 0.75rem;
  color: rgba(31, 41, 55, 0.45);
  margin: 6px 0 0;
}

/* Telehealth teaser */
.velri-intake__teaser {
  margin: 24px 0;
  padding: 20px 22px;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.06), rgba(79, 70, 229, 0.04));
  border: 2px solid rgba(16, 185, 129, 0.4);
  border-radius: 18px;
}
.velri-intake__teaser-head {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: #047857;
  font-weight: 700;
  margin-bottom: 8px;
}
.velri-intake__teaser-head svg { width: 14px; height: 14px; }
.velri-intake__teaser-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--velri-slate);
  margin: 0 0 6px;
  letter-spacing: var(--track-h3);
}
.velri-intake__teaser-body {
  font-family: var(--font-body);
  font-size: var(--t-small);
  line-height: var(--lh-body);
  color: rgba(31, 41, 55, 0.62);
  margin: 0 0 14px;
}
.velri-intake__teaser-q {
  font-family: var(--font-body);
  font-size: var(--t-small);
  font-weight: 600;
  color: var(--velri-slate);
  margin-bottom: 8px;
}
.velri-intake__teaser-chips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.velri-intake__teaser-chip {}
.velri-intake__teaser-chip input { position: absolute; opacity: 0; pointer-events: none; }
.velri-intake__teaser-chip span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border: 2px solid var(--velri-border);
  border-radius: 999px;
  background: #FFFFFF;
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 500;
  color: rgba(31, 41, 55, 0.7);
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}
.velri-intake__teaser-chip span svg {
  width: 12px; height: 12px; opacity: 0;
}
.velri-intake__teaser-chip:has(input:checked) span {
  border-color: var(--velri-emerald);
  color: var(--velri-emerald);
  background: rgba(16, 185, 129, 0.06);
  font-weight: 600;
}
.velri-intake__teaser-chip:has(input:checked) span svg { opacity: 1; }

/* Founder Membership lock-in card */
.velri-intake__founder {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  width: 100%;
  margin: 24px 0;
  padding: 20px 22px;
  border: 2px solid var(--velri-border);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  text-align: left;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.velri-intake__founder:hover { border-color: rgba(79, 70, 229, 0.3); }
.velri-intake__founder.is-on {
  border-color: var(--velri-indigo);
  background: rgba(79, 70, 229, 0.06);
}
.velri-intake__founder-check {
  margin-top: 2px;
  width: 22px; height: 22px;
  border: 2px solid var(--velri-border);
  border-radius: 6px;
  background: #FFFFFF;
  display: flex; align-items: center; justify-content: center;
  flex: none;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.velri-intake__founder-check svg { width: 14px; height: 14px; color: #FFFFFF; opacity: 0; }
.velri-intake__founder.is-on .velri-intake__founder-check {
  background: var(--velri-indigo);
  border-color: var(--velri-indigo);
}
.velri-intake__founder.is-on .velri-intake__founder-check svg { opacity: 1; }
.velri-intake__founder-body { flex: 1; min-width: 0; }
.velri-intake__founder-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}
.velri-intake__founder-row strong {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-small);
  color: var(--velri-slate);
  letter-spacing: var(--track-h3);
}
.velri-intake__founder-lock { width: 16px; height: 16px; color: var(--velri-indigo); flex: none; }
.velri-intake__founder-badge {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 700;
  background: var(--velri-indigo);
  color: #FFFFFF;
  padding: 3px 10px;
  border-radius: 999px;
}
.velri-intake__founder-detail {
  display: block;
  font-family: var(--font-body);
  font-size: 0.75rem;
  line-height: 1.6;
  color: rgba(31, 41, 55, 0.62);
}

.velri-intake__legal {
  font-family: var(--font-body);
  font-size: 0.6875rem;
  line-height: 1.6;
  color: rgba(31, 41, 55, 0.4);
  margin: 24px 0 0;
}

/* Navigation */
.velri-intake__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 24px;
  margin-top: 28px;
  border-top: 1px solid var(--velri-border);
  gap: 12px;
}
.velri-intake__back,
.velri-intake__next,
.velri-intake__submit {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-cta);
  font-weight: 600;
  font-size: var(--t-small);
  border: 0;
  cursor: pointer;
  border-radius: 10px;
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.velri-intake__back {
  background: transparent;
  color: var(--velri-slate-soft);
  padding: 10px 14px;
}
.velri-intake__back:hover { color: var(--velri-indigo); }
.velri-intake__back svg { width: 14px; height: 14px; }
.velri-intake__next,
.velri-intake__submit {
  background: var(--velri-indigo);
  color: #FFFFFF;
  padding: 14px 28px;
  margin-left: auto;
  font-size: var(--t-body);
  font-weight: 700;
}
.velri-intake__next:hover,
.velri-intake__submit:hover {
  background: var(--velri-indigo-deep);
  transform: translateY(-1px);
}
.velri-intake__next svg,
.velri-intake__submit svg { width: 16px; height: 16px; }

/* Success state */
.velri-intake__success {
  text-align: center;
  padding: 24px 8px;
}
.velri-intake__success svg {
  width: 56px; height: 56px;
  color: var(--velri-emerald);
  margin: 0 auto 12px;
  display: block;
}
.velri-intake__success h3 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--velri-slate);
  margin: 0 0 10px;
}
.velri-intake__success p {
  font-family: var(--font-body);
  font-size: var(--t-body);
  line-height: var(--lh-body);
  color: rgba(31, 41, 55, 0.65);
  max-width: 480px;
  margin: 0 auto 20px;
}

/* ============================================================
   Velri vs competitors comparison table
   ============================================================ */
.velri-compare__panel { text-align: left; }
.velri-compare__panel .velri-compare__kicker,
.velri-compare__panel .velri-compare__title,
.velri-compare__panel .velri-compare__sub { text-align: center; }
.velri-compare__kicker {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  font-weight: 600;
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-indigo);
  margin-bottom: 14px;
}
.velri-compare__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--t-h2);
  line-height: var(--lh-section);
  letter-spacing: var(--track-display);
  color: var(--velri-slate);
  margin: 0 0 18px;
  text-wrap: balance;
}
.velri-compare__sub {
  font-family: var(--font-body);
  font-size: var(--t-lead);
  color: rgba(31, 41, 55, 0.7);
  max-width: 720px;
  margin: 0 auto 36px;
  line-height: var(--lh-body);
}
.velri-compare__table-wrap {
  overflow-x: auto;
  margin: 0 -16px;
  padding: 0 16px 8px;
  -webkit-overflow-scrolling: touch;
}
.velri-compare__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-family: var(--font-body);
  min-width: 640px;
}
.velri-compare__table th {
  font-family: var(--font-mono);
  font-size: var(--t-eyebrow);
  font-weight: 700;
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--velri-slate-soft);
  padding: 14px 12px;
  text-align: center;
  vertical-align: bottom;
  background: rgba(255, 255, 255, 0.5);
}
.velri-compare__table th:first-child { text-align: left; background: transparent; }
.velri-compare__table th.velri-compare__us {
  background: var(--velri-indigo);
  color: #FFFFFF;
  border-radius: 12px 12px 0 0;
}
.velri-compare__table td {
  padding: 14px 12px;
  text-align: center;
  font-size: var(--t-small);
  color: rgba(31, 41, 55, 0.75);
  border-bottom: 1px solid var(--velri-border);
  vertical-align: middle;
}
.velri-compare__table td.velri-compare__feature {
  text-align: left;
  font-weight: 600;
  color: var(--velri-slate);
  font-family: var(--font-display);
  font-size: var(--t-small);
}
.velri-compare__table td.velri-compare__us-cell {
  background: rgba(79, 70, 229, 0.06);
  color: var(--velri-indigo);
  font-weight: 700;
}
.velri-compare__table td svg {
  width: 22px;
  height: 22px;
  display: inline-block;
}
.velri-compare__table td.velri-compare__us-cell svg { color: var(--velri-indigo); }
.velri-compare__table td:not(.velri-compare__us-cell):not(.velri-compare__feature) svg {
  color: var(--velri-slate-soft);
  opacity: 0.5;
}
.velri-compare__table tr:last-child td {
  border-bottom: 0;
}
.velri-compare__table tr:last-child td.velri-compare__us-cell {
  border-radius: 0 0 12px 12px;
}
.velri-compare__note {
  margin-top: 24px;
  font-family: var(--font-body);
  font-size: 0.75rem;
  color: rgba(31, 41, 55, 0.5);
  text-align: center;
  line-height: 1.5;
}

/* Hero ambient video container */
.velri-hero__video {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
  opacity: 0.75;
  mix-blend-mode: multiply;
}
.velri-hero__video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: hue-rotate(220deg) saturate(1.1);
}

/* ============================================================
   MOBILE AUDIT FIXES (round 1) — touch targets, type, focus
   Applied 2026-05-06 from parallel mobile-audit subagent findings.
   Override block kept together so the fixes are easy to read and
   adjust as we iterate.
   ============================================================ */

/* Global focus styles — agents flagged none observed */
:focus-visible {
  outline: 2px solid var(--velri-indigo);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Header icon buttons — were 38×38, target 44×44 (WCAG AA + iOS HIG) */
.velri-header__icon {
  width: 44px !important;
  height: 44px !important;
}
.velri-header__brand {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

/* Footer link rows — were ~17px tall, lift to 44px tappable rows */
.velri-footer__col a {
  display: inline-block;
  padding: 12px 0;
  min-height: 44px;
  line-height: 1.4;
}
.velri-footer__col-title {
  font-size: 13px !important;
  letter-spacing: 0.06em;
}

/* Mega-menu links + cards: enlarge tap area */
.velri-mega a,
.velri-mega__card {
  min-height: 44px;
}
.velri-mega__card { padding: 12px; }

/* 11px micro-type → 12-13px floor (kickers, pills, tier flags, prices) */
.velri-hero__pill,
.velri-tele__tier-flag,
.velri-mega__kicker,
.velri-mega__card-price,
.velri-trust__badge-label,
.velri-packs__kicker,
.velri-faq__kicker,
.velri-savings__kicker,
.velri-portrait__kicker,
.velri-trust__kicker,
.velri-footer__signup-label,
.velri-soon__pill,
.velri-soon__values li,
.velri-soon__tier-flag {
  font-size: 12px !important;
  letter-spacing: 0.08em;
}

/* Hero H1 — was 40px wrapping to 4 lines on iPhone, clamp it */
.velri-hero h1.velri-hero__title,
.velri-hero__panel .velri-hero__title {
  font-size: clamp(28px, 8.5vw, 56px) !important;
  line-height: 1.05;
}

/* Mobile-specific tightening */
@media (max-width: 720px) {
  .velri-hero__panel { padding-top: 36px !important; padding-bottom: 28px !important; }
  /* Telehealth tiers can get cramped; tighten gap */
  .velri-tele__tiers { gap: 14px !important; }
  /* Quantity steppers (if present) — pad to 44px */
  input[type="radio"] + label,
  .velri-intake__teaser-chip,
  .velri-intake__chip {
    min-height: 44px;
  }
  /* Footer column titles read better with a touch more space */
  .velri-footer__col-title { margin-bottom: 8px; }
}

/* FDA / disclaimer contrast on the indigo featured tier — was rendering
   nearly invisible on light gradient; force readable opacity. */
.velri-tele__tier--featured .velri-tele__tier-strap,
.velri-tele__tier--featured .velri-tele__tier-list li,
.velri-soon__tier--featured .velri-soon__tier-strap,
.velri-soon__tier--featured .velri-soon__perks li {
  color: rgba(255,255,255,0.94) !important;
}

/* Form inputs — iOS auto-zooms when font-size <16px */
.velri-soon__form input,
.velri-soon__form select,
.velri-tele__form-row input,
.velri-tele__form-row select,
.velri-footer__signup input[type="email"],
.velri-intake__field input,
.velri-intake__field select,
.velri-intake__field textarea {
  font-size: 16px !important;
}

/* Skip-to-content link for keyboard users */
.velri-skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  background: var(--velri-indigo);
  color: #FFFFFF;
  padding: 12px 18px;
  z-index: 9999;
  border-radius: 0 0 8px 0;
  font-weight: 600;
  text-decoration: none;
}
.velri-skip-link:focus { top: 0; }

/* ============================================================
   MOBILE AUDIT FIXES (round 2) — broader 12px floor + PDP gallery
   + telehealth sticky CTA + FAQ heights + footer min-width.
   ============================================================ */

/* Round-1 missed these in the 12px floor sweep */
.velri-compare__kicker,
.velri-how__kicker,
.velri-how__step-num,
.velri-tele__form-label,
.velri-compare__table th,
.velri-compare__table td,
.velri-tele__legal,
.velri-soon__legal { font-size: 12px !important; }

/* MOST POPULAR / featured-tier pill — was rgba(255,255,255,.18) on indigo,
   reading soft. Solidify for AA contrast. */
.velri-tele__tier--featured .velri-tele__tier-flag,
.velri-soon__tier--featured .velri-soon__tier-flag {
  background: rgba(255,255,255,0.32) !important;
  color: #FFFFFF !important;
  font-weight: 700;
}

/* Featured (indigo) tier — force white on every child text node so
   nothing inherits the page's slate color. */
.velri-soon__tier--featured,
.velri-soon__tier--featured h2,
.velri-soon__tier--featured .velri-soon__amount,
.velri-soon__tier--featured .velri-soon__amount-sub,
.velri-soon__tier--featured .velri-soon__tier-strap,
.velri-soon__tier--featured .velri-soon__perks li,
.velri-tele__tier--featured,
.velri-tele__tier--featured h2,
.velri-tele__tier--featured .velri-tele__tier-name,
.velri-tele__tier--featured .velri-tele__tier-amount,
.velri-tele__tier--featured .velri-tele__tier-cadence,
.velri-tele__tier--featured .velri-tele__tier-strap,
.velri-tele__tier--featured .velri-tele__tier-list,
.velri-tele__tier--featured .velri-tele__tier-list li { color: #FFFFFF !important; }

/* Footer narrow link words ("Terms", "FAQ") need min hit width */
.velri-footer__col a {
  min-width: 44px;
  padding-inline: 4px;
}

/* PDP hero — round-1 capped max-height 460px but kept 1:1 aspect.
   On mobile that's 320×320, leaving the buy box pushed below the fold
   on small phones. Switch to 4/5 on mobile to reclaim ~80px of vertical. */
@media (max-width: 600px) {
  .velri-phero__hero { aspect-ratio: 4 / 5 !important; max-height: none !important; }
}

/* PDP thumbnail gallery — should be swipe-snap horizontal on mobile,
   not wrap-grid. Round-1 left this as a 5-column grid. */
@media (max-width: 720px) {
  .velri-phero__thumbs {
    display: flex !important;
    gap: 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-top: 12px;
    padding-bottom: 4px;
  }
  .velri-phero__thumbs::-webkit-scrollbar { display: none; }
  .velri-phero__thumb {
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 64px !important;
    scroll-snap-align: start;
  }
}

/* Compare table — 4 columns at 390px is too dense. Let it scroll horizontally
   inside its panel with a soft fade hint at the right edge. */
@media (max-width: 600px) {
  .velri-compare__table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-inline: -8px;
    padding-inline: 8px;
  }
  .velri-compare__table { min-width: 560px; }
}

/* FAQ summary heights inconsistent (90px vs 63px) on mobile. Standardize. */
.velri-faq__item summary {
  min-height: 56px;
  padding-block: 14px;
}

/* Telehealth + coming-soon page — sticky bottom CTA on mobile so users
   don't have to scroll back 9000px to reach the form. */
.velri-tele__sticky-cta,
.velri-soon__sticky-cta { display: none; }
@media (max-width: 720px) {
  .velri-tele,
  .velri-soon { padding-bottom: 96px; }
  .velri-tele__sticky-cta,
  .velri-soon__sticky-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 80;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
    background: rgba(255,255,255,0.92);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    border-top: 1px solid rgba(79,70,229,0.14);
    display: flex;
    justify-content: center;
  }
  .velri-tele__sticky-cta a,
  .velri-soon__sticky-cta a {
    width: 100%;
    text-align: center;
    padding: 14px 18px;
    background: var(--velri-indigo);
    color: #FFFFFF;
    border-radius: 10px;
    font-weight: 600;
    text-decoration: none;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }
}

/* Round-3 final pass — last tiny 11px nodes the floor missed */
.velri-announce__item,
.velri-announce__inner,
.velri-tele__badge { font-size: 12px !important; }

/* Founders pricing block — strikethrough + discount badge per tier.
   Replaces the old single-row price with a three-row stack:
     1) prominent founders price + cadence
     2) strikethrough regular price + 'FOUNDERS · 20% OFF' pill
     3) tiny 'Locked for life' eyebrow
   Override the legacy .velri-tele__tier-price flex (it was a single
   horizontal row); switch to a column container.                    */
.velri-tele__tier-price {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  margin: 4px 0 16px;
}
.velri-tele__tier-price-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.velri-tele__tier-price-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.velri-tele__tier-amount-strike {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1rem;
  color: rgba(31, 41, 55, 0.45);
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
  letter-spacing: -0.01em;
}
.velri-tele__tier-discount-badge {
  display: inline-flex;
  align-items: center;
  height: 22px;
  padding: 0 10px;
  background: var(--velri-emerald, #10B981);
  color: #FFFFFF;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 999px;
  white-space: nowrap;
}
.velri-tele__tier-locked {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(31, 41, 55, 0.55);
  margin: 2px 0 0;
}
/* Featured (indigo) tier — invert contrast on the meta row */
.velri-tele__tier--featured .velri-tele__tier-amount-strike { color: rgba(255, 255, 255, 0.55) !important; }
.velri-tele__tier--featured .velri-tele__tier-discount-badge {
  background: #FFFFFF;
  color: var(--velri-indigo) !important;
}
.velri-tele__tier--featured .velri-tele__tier-locked { color: rgba(255, 255, 255, 0.7) !important; }

/* ============================================================
   Velri Content Block — wide panel (matches portrait/tele width)
   with a 2-column grid: lede (kicker + title + optional image)
   on the left, prose body on the right. Stacks on mobile.
   ============================================================ */
.velri-content-block__panel {
  /* uses default .velri-glass__panel max-width (1360px) so it
     visually aligns with the physician-portrait + tele panels   */
}
.velri-content-block__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: start;
}
@media (min-width: 880px) {
  .velri-content-block__grid {
    grid-template-columns: minmax(260px, 1fr) minmax(0, 1.6fr);
    gap: 56px;
  }
}
.velri-content-block__kicker {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--velri-indigo);
  margin-bottom: 12px;
}
.velri-content-block__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.625rem, 3.4vw, 2.25rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--velri-slate);
  margin: 0 0 16px;
}
.velri-content-block__body {
  font-family: var(--font-body);
  font-size: var(--t-body);
  line-height: var(--lh-body);
  color: rgba(31, 41, 55, 0.78);
}
.velri-content-block__body p { margin: 0 0 14px; }
.velri-content-block__body p:last-child { margin-bottom: 0; }
.velri-content-block__body ol,
.velri-content-block__body ul {
  margin: 0 0 14px;
  padding-left: 22px;
}
.velri-content-block__body ol li,
.velri-content-block__body ul li { margin-bottom: 8px; }
.velri-content-block__body strong { color: var(--velri-slate); font-weight: 600; }
.velri-content-block__body em {
  display: block;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(79, 70, 229, 0.14);
  font-size: 0.875rem;
  color: rgba(31, 41, 55, 0.6);
}
.velri-content-block__image { margin: 16px 0 0; }
.velri-content-block__image img {
  max-width: 100%;
  height: auto;
  border-radius: 18px;
  display: block;
}
@media (max-width: 720px) {
  .velri-content-block__image { margin-top: 12px; }
  .velri-content-block__image img { border-radius: 14px; }
}

/* ============================================================
   Logo Review (private, tokenized) — /pages/logo-review
   Grid of 10 logo direction cards, each with square + horizontal
   lockup. Wordmark renders in brand font alongside NB2-generated
   icon image.
   ============================================================ */
.velri-logos__panel { max-width: 1200px; }
.velri-logos__gate-inner { text-align: center; padding: 40px 0; }
.velri-logos__header { margin-bottom: 40px; max-width: 760px; }
.velri-logos__kicker {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--velri-indigo);
  margin-bottom: 14px;
}
.velri-logos__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.625rem, 3.4vw, 2.25rem);
  line-height: 1.15;
  color: var(--velri-slate);
  margin: 0 0 14px;
  letter-spacing: -0.01em;
}
.velri-logos__sub {
  font-family: var(--font-body);
  font-size: var(--t-body);
  line-height: var(--lh-body);
  color: rgba(31, 41, 55, 0.72);
  margin: 0;
}
.velri-logos__grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (min-width: 720px) { .velri-logos__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .velri-logos__grid { grid-template-columns: repeat(2, 1fr); gap: 28px; } }

.velri-logo-card {
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(79, 70, 229, 0.14);
  border-radius: 18px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.velri-logo-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.velri-logo-card__num {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--velri-indigo);
}
.velri-logo-card__tier {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(31, 41, 55, 0.55);
  background: rgba(79, 70, 229, 0.08);
  padding: 4px 10px;
  border-radius: 999px;
}
.velri-logo-card__name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: -0.01em;
  color: var(--velri-slate);
  margin: 0;
}
.velri-logo-card__blurb {
  font-family: var(--font-body);
  font-size: 0.9375rem;
  line-height: 1.5;
  color: rgba(31, 41, 55, 0.72);
  margin: 0;
}
.velri-logo-card__lockups {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 8px;
}
@media (min-width: 540px) {
  .velri-logo-card__lockups { grid-template-columns: 1fr 1.4fr; }
}

.velri-lockup { display: flex; flex-direction: column; gap: 6px; }
.velri-lockup__label {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: rgba(31, 41, 55, 0.45);
}
.velri-lockup__stage {
  background: #FBF7EF;
  border: 1px solid rgba(79, 70, 229, 0.10);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.velri-lockup__stage--square {
  flex-direction: column;
  gap: 8px;
  aspect-ratio: 1 / 1;
}
.velri-lockup__stage--horizontal {
  flex-direction: row;
  gap: 12px;
  aspect-ratio: 4 / 1;
  min-height: 80px;
}
.velri-lockup__icon {
  display: block;
  object-fit: contain;
  background: transparent;
}
.velri-lockup__icon--square {
  width: 60%;
  max-width: 130px;
  aspect-ratio: 1 / 1;
}
.velri-lockup__icon--horizontal {
  height: 60%;
  max-height: 56px;
  aspect-ratio: 1 / 1;
  width: auto;
  flex-shrink: 0;
}
.velri-lockup__wordmark {
  font-family: var(--font-display);
  color: var(--velri-slate);
  font-weight: 700;
  letter-spacing: -0.02em;
}
.velri-lockup__wordmark--square {
  font-size: clamp(1.5rem, 4vw, 2rem);
}
.velri-lockup__wordmark--horizontal {
  font-size: clamp(1.625rem, 4vw, 2.25rem);
}

.velri-logos__feedback {
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid rgba(79, 70, 229, 0.12);
}
.velri-logos__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 720px;
  margin-top: 24px;
}
.velri-logos__success { text-align: center; padding: 24px 0; }

/* ============================================================
   Mission Guide form (private, tokenized) — /pages/lane-mission
   Long-form questionnaire with autosave + URL key gate.
   ============================================================ */
.velri-mission__panel { max-width: 820px; }
.velri-mission__gate-inner { text-align: center; padding: 40px 0; }
.velri-mission__header { margin-bottom: 32px; }
.velri-mission__kicker {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--velri-indigo);
  margin-bottom: 14px;
}
.velri-mission__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.625rem, 4vw, 2.25rem);
  line-height: 1.15;
  color: var(--velri-slate);
  margin: 0 0 12px;
  letter-spacing: -0.01em;
}
.velri-mission__sub {
  font-family: var(--font-body);
  font-size: var(--t-body);
  line-height: var(--lh-body);
  color: rgba(31, 41, 55, 0.72);
  margin: 0;
}
.velri-mission__form { display: flex; flex-direction: column; gap: 22px; }
.velri-mission__section-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--velri-indigo);
  margin: 32px 0 -4px;
  border-top: 1px solid rgba(79, 70, 229, 0.14);
  padding-top: 28px;
  letter-spacing: -0.01em;
}
.velri-mission__field { display: flex; flex-direction: column; gap: 8px; }
.velri-mission__field--inline { gap: 6px; }
.velri-mission__field label,
.velri-mission__q {
  font-family: var(--font-body);
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--velri-slate);
  line-height: 1.45;
}
.velri-mission__field input[type="text"],
.velri-mission__field input[type="email"],
.velri-mission__form textarea {
  width: 100%;
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--velri-slate);
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(79, 70, 229, 0.22);
  border-radius: 10px;
  padding: 12px 14px;
  resize: vertical;
  min-height: 44px;
}
.velri-mission__form textarea { min-height: 96px; }
.velri-mission__form input:focus,
.velri-mission__form textarea:focus {
  outline: none;
  border-color: var(--velri-indigo);
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12);
}
.velri-mission__autosave-note {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 12px;
  color: rgba(31, 41, 55, 0.55);
  margin: 4px 0 0;
}
.velri-mission__autosave-note.is-saved { color: var(--velri-emerald, #10B981); }
.velri-mission__autosave-icon { display: inline-flex; }
.velri-mission__submit {
  align-self: flex-start;
  margin-top: 12px;
  padding: 14px 22px;
  background: var(--velri-indigo);
  color: #FFFFFF;
  border: 0;
  border-radius: 10px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
}
.velri-mission__submit:hover { filter: brightness(1.05); }
.velri-mission__legal {
  font-family: var(--font-body);
  font-size: 13px;
  color: rgba(31, 41, 55, 0.55);
  margin: 8px 0 0;
}
.velri-mission__success { text-align: center; padding: 32px 0; }
.velri-mission__errors {
  background: rgba(220, 38, 38, 0.08);
  border: 1px solid rgba(220, 38, 38, 0.22);
  color: #B91C1C;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 0.95rem;
}
.velri-mission__errors p { margin: 0; }
@media (max-width: 720px) {
  .velri-mission__section-title { margin-top: 24px; padding-top: 22px; }
  .velri-mission__form { gap: 18px; }
}


