/* Reboot Vitality GATE 1.5 close-out r1 (X2, 2026-10-23): the INTERIOR component library (service + condition mockups).
   Loads LAST, after /kit tokens, base.css, A.css and B.css (vendor copies of the approved home). Style source: APPROVED/DESIGN-SPEC.md
   [R25]: same tokens (.w-v1), same faces (Playfair Display + Manrope), the A micro-pill eyebrow, one H2 scale (--h2-size), the
   button-in-button (rv-btn / v1-btn), the double bezel, the rings. New components are scoped [data-variant="I"] with the rvi- prefix;
   the page-level layer (grounds, the editorial grid, the sticky rail) is scoped to [data-slot] / .rvi-editorial. No @keyframes
   (motion is GSAP only), transform / opacity only, no #000. */

/* ================= grounds: one class per band, any variant (A, B or I). Sets the band's background, the full-bleed token
   (--rvi-ground, used by the editorial column) and the rings gap colour, so a re-used A / B part can sit on another ground. */
[data-slot].rvi-g-paper { --rvi-ground: var(--bg); background: var(--bg); --rings-gap: var(--bg); }
[data-slot].rvi-g-stone { --rvi-ground: var(--bg-2); background: var(--bg-2); --rings-gap: var(--bg-2); }
[data-slot].rvi-g-ink { --rvi-ground: var(--bg-ink); background: var(--bg-ink); color: var(--fg-on-ink); --rings-ink: var(--fg-on-ink); --rings-gap: var(--bg-ink); }
[data-variant="A"].rvi-g-paper .v1-glyph, [data-variant="A"].rvi-g-paper .v1-rings { --rings-gap: var(--bg); }
[data-variant="A"].rvi-g-stone .v1-glyph, [data-variant="A"].rvi-g-stone .v1-rings { --rings-gap: var(--bg-2); }

/* ================= base for NEW (I) bands ================= */
[data-variant="I"] .rvi-wrap { max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); position: relative; }
[data-variant="I"].rvi-band { position: relative; padding-block: var(--band-pad); }
[data-variant="I"] .rvi-h2 { max-width: 14em; }
[data-variant="I"] .rvi-h2 em, [data-variant="I"] .rvi-display em { font-style: italic; }
[data-variant="I"] .rvi-sub { margin-top: 24px; max-width: 52ch; color: var(--fg-muted); }
[data-variant="I"].rvi-g-ink .rvi-sub { color: var(--fg-on-ink-muted); }
[data-variant="I"] .rvi-eyebrow,
[data-variant="I"] .rvi-h1 {
  display: inline-flex; align-items: center; gap: 12px; padding: 9px 16px 9px 12px; border-radius: var(--r-pill);
  font-family: var(--font-utility); font-weight: var(--utility-weight); font-size: var(--utility-size); letter-spacing: var(--utility-track);
  text-transform: uppercase; line-height: 1.2; color: var(--fg); background: color-mix(in srgb, var(--fg) 6%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fg) 9%, transparent); margin-bottom: 28px;
}
[data-variant="I"] .rvi-eyebrow .rv-glyph { width: 26px; }
[data-variant="I"] .rvi-eyebrow--ink { color: var(--fg-on-ink); background: rgba(237, 236, 236, .06); box-shadow: inset 0 0 0 1px rgba(237, 236, 236, .1); }
[data-variant="I"] .rvi-textlink, [data-slot] .rvi-textlink {
  display: inline-flex; align-items: center; gap: 10px; font-weight: 600; font-size: 16px; text-decoration: none; color: inherit;
  border-bottom: 1px solid color-mix(in srgb, currentColor 32%, transparent); padding-bottom: 4px;
}
[data-slot] .rvi-textlink svg { width: 18px; height: 18px; transition: transform .5s var(--ease-out-expo); }
[data-slot] .rvi-textlink:hover svg { transform: translateX(5px); }
[data-variant="I"] .rvi-bezel {
  padding: var(--bezel-pad); border-radius: var(--r-xl); background: color-mix(in srgb, var(--fg) 5%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fg) 8%, transparent), var(--shadow-soft);
}
[data-variant="I"] .rvi-bezel-core { position: relative; overflow: hidden; border-radius: calc(var(--r-xl) - var(--bezel-pad)); background: var(--surface); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7); }

/* ================= 1 breadcrumb (part of the hero chapter) ================= */
[data-variant="I"].rvi-crumbs { padding-top: calc(var(--nav-h) + 14px + 44px); }
[data-variant="I"] .rvi-crumbs-list { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; font-size: 13px; font-weight: 600; letter-spacing: .03em; color: var(--fg-muted); }
[data-variant="I"] .rvi-crumbs-list li { display: inline-flex; align-items: center; gap: 12px; }
[data-variant="I"] .rvi-crumbs-list li + li::before { content: ''; width: 7px; height: 7px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px currentColor; opacity: .7; }
[data-variant="I"] .rvi-crumbs-list a { text-decoration: none; }
[data-variant="I"] .rvi-crumbs-list a:hover { color: var(--fg); text-decoration: underline; text-underline-offset: 4px; }
[data-variant="I"] .rvi-crumbs-list [aria-current="page"] { color: var(--fg); }

/* ================= 2 hero: the home hero, quieter ================= */
[data-variant="I"].rvi-hero { padding-top: clamp(28px, 3vw, 44px); padding-bottom: clamp(96px, 9vw, 150px); overflow-x: clip; }
[data-variant="I"] .rvi-hero-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(40px, 5vw, 88px); align-items: center; }
[data-variant="I"] .rvi-h1 { font-size: 15px; letter-spacing: .12em; margin-bottom: 34px; }
[data-variant="I"] .rvi-h1 .rv-glyph { width: 30px; }
[data-variant="I"] .rvi-h1 > span { text-wrap: balance; }   /* X4 2026-10-23: no orphan "FL" when the pill wraps at 390 */
[data-variant="I"] .rvi-display { font-family: var(--font-display); font-size: clamp(46px, 7.8vw, 112px); line-height: var(--display-lead); letter-spacing: var(--display-track); max-width: 9.4em; margin-bottom: 32px; }
[data-variant="I"] .rvi-lede { font-size: 20px; line-height: 1.55; color: var(--fg-muted); max-width: 44ch; }
[data-variant="I"] .rvi-hero-media { position: relative; margin: 0; padding-left: 9%; }
[data-variant="I"] .rvi-hero-frame { padding: var(--bezel-pad); border-radius: var(--r-xl); background: color-mix(in srgb, var(--fg) 5%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fg) 8%, transparent), var(--shadow-soft); }
[data-variant="I"] .rvi-hero-frame img { width: 100%; height: auto; aspect-ratio: 5 / 4; object-fit: cover; object-position: 36% 42%; filter: grayscale(.55) sepia(.14) contrast(1.03); }
[data-variant="I"] .rvi-hero-mark { position: absolute; left: -4%; bottom: 46px; width: 50%; pointer-events: none; }
[data-variant="I"] .rvi-hero-rings { width: 100%; }
[data-variant="I"] .rvi-hero-cap { display: grid; gap: 4px; margin-top: 18px; padding-left: 46%; font-size: 14px; color: var(--fg-muted); }
[data-variant="I"] .rvi-hero-cap span:first-child { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--fg); }

/* ================= 5C financing chips (slim, stone) ================= */
[data-variant="I"].rvi-chips { padding-block: 30px; }
[data-variant="I"] .rvi-chips-row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
[data-variant="I"] .rvi-chips-h { font-family: var(--font-utility); font-size: var(--utility-size); line-height: 1.2; font-weight: 600; letter-spacing: var(--utility-track); text-transform: uppercase; }
[data-variant="I"] .rvi-chips-list { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
[data-variant="I"] .rvi-chip { font-size: 14px; font-weight: 600; padding: 9px 16px; border-radius: var(--r-pill); background: var(--surface); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fg) 9%, transparent); }
[data-variant="I"] .rvi-chip--quiet { background: transparent; color: var(--fg-muted); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fg) 16%, transparent); }
[data-variant="I"] .rvi-chips-row .rvi-textlink { margin-left: auto; }

/* ================= the editorial body: main column + sticky rail (>=1024) ================= */
.rvi-editorial { display: grid; grid-template-columns: minmax(0, 1fr); }
.rvi-main { min-width: 0; }
[data-variant="I"].rvi-rail { position: relative; z-index: 4; background: var(--bg); padding: 56px var(--gutter) 8px; }
[data-variant="I"] .rvi-rail-stick { display: grid; gap: 14px; }
@media (min-width: 1024px) {
  .rvi-editorial { grid-template-columns: minmax(0, 1fr) minmax(296px, 340px); column-gap: clamp(40px, 5.4vw, 88px); max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
  .rvi-main { grid-column: 1; grid-row: 1; }
  [data-variant="I"].rvi-rail { grid-column: 2; grid-row: 1; background: none; padding: var(--band-pad) 0; }
  [data-variant="I"] .rvi-rail-stick { position: sticky; top: calc(var(--nav-h) + 14px + 26px); }
  .rvi-main > [data-slot] { box-shadow: 0 0 0 100vmax var(--rvi-ground); clip-path: inset(0 -100vmax); }
  .rvi-main .v1-wrap, .rvi-main .rv-wrap, .rvi-main .rvi-wrap { max-width: none; padding-inline: 0; }
}

/* ================= 3 at a glance (in the rail) ================= */
[data-variant="I"] .rvi-glance-core { display: grid; gap: 12px; justify-items: start; padding: 26px 26px 28px; --rings-gap: var(--surface); }
[data-variant="I"] .rvi-glance-core .rvi-eyebrow { margin-bottom: 4px; }
[data-variant="I"] .rvi-glance-h { font-size: 30px; line-height: 1.08; letter-spacing: -0.01em; }
[data-variant="I"] .rvi-glance-list { display: grid; width: 100%; margin-top: 4px; }
[data-variant="I"] .rvi-glance-list > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-top: 1px solid color-mix(in srgb, var(--fg) 11%, transparent); font-size: 15px; line-height: 1.4; }
[data-variant="I"] .rvi-glance-list dt { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--fg-muted); padding-top: 3px; }
[data-variant="I"] .rvi-glance-list dd { font-weight: 600; }
[data-variant="I"] .rvi-glance-core > .rvi-textlink { margin-top: 6px; }
/* the offer card: shown at every width (below 1024 it sits in flow under the capsule / jump nav) */
@media (min-width: 0px) {
  [data-variant="I"] .rvi-offer { display: grid; gap: 8px; justify-items: start; padding: 22px 22px 22px 24px; border-radius: var(--r-xl); background: var(--ink); color: var(--fg-on-ink); box-shadow: inset 0 0 0 1px rgba(237, 236, 236, .12), var(--shadow-soft); }
}
[data-variant="I"] .rvi-offer-k { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--fg-on-ink-muted); }
[data-variant="I"] .rvi-offer-tel { display: inline-flex; align-items: center; gap: 12px; font-family: var(--font-display); font-size: 27px; line-height: 1.1; text-decoration: none; }
[data-variant="I"] .rvi-offer-ic { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--accent); color: var(--ink); flex: none; }
[data-variant="I"] .rvi-offer-ic svg { width: 17px; }
[data-variant="I"] .rvi-offer-hours { font-size: 14px; color: var(--fg-on-ink-muted); }
[data-variant="I"] .rvi-offer .rv-btn { width: 100%; justify-content: space-between; margin-top: 8px; background: var(--paper); color: var(--ink); }
@media (min-width: 1024px) and (max-height: 820px) { [data-variant="I"] .rvi-offer-hours, [data-variant="I"] .rvi-offer-k { display: none; } }

/* ================= 4 opening: the medically-reviewed stamp + question-form narrative ================= */
[data-slot] .rvi-stamp { display: flex; width: fit-content; align-items: center; gap: 14px; margin-bottom: 44px; padding: 7px 20px 7px 7px; border-radius: var(--r-pill); background: var(--surface); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), inset 0 0 0 1px color-mix(in srgb, var(--fg) 9%, transparent); }
[data-slot] .rvi-stamp-seal { width: 50px; height: 50px; flex: none; overflow: visible; }
[data-slot] .rvi-stamp-ring { fill: none; stroke: var(--fg); stroke-width: 1.5; }
[data-slot] .rvi-stamp-ring--in { stroke: var(--taupe-deep); stroke-width: 1.2; stroke-dasharray: 2 3.2; }
[data-slot] .rvi-stamp-seal .ring-body { fill: var(--fg); stroke: var(--surface); stroke-width: 22; paint-order: stroke fill; stroke-linejoin: round; }
[data-slot] .rvi-stamp-t { display: grid; gap: 2px; line-height: 1.3; }
[data-slot] .rvi-stamp-k { font-weight: 600; font-size: 15px; }
[data-slot] .rvi-stamp-d { font-size: 13px; color: var(--fg-muted); }
[data-variant="I"] .rvi-prose { display: grid; gap: 14px; margin-top: 52px; max-width: 60ch; }
[data-variant="I"] .rvi-prose h3 { margin-top: 22px; }
[data-variant="I"] .rvi-prose h3:first-child { margin-top: 0; }
[data-variant="I"] .rvi-prose p { color: var(--fg-muted); }
[data-variant="I"] .rvi-prose a { color: var(--fg); font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: 4px; }

/* ================= 5 what is: capsule, clip, the signal steps, is / is-not, note, re-check ================= */
[data-variant="I"] .rvi-capsule-row { display: grid; gap: 36px; margin-top: 52px; }
[data-variant="I"] .rvi-capsule { font-family: var(--font-display); font-size: clamp(24px, 2.15vw, 31px); line-height: 1.32; letter-spacing: -0.005em; color: var(--fg); max-width: 34ch; padding-left: 28px; border-left: 2px solid var(--accent); }
[data-variant="I"] .rvi-clip { margin: 0 0 0 auto; width: min(100%, 620px); }
[data-variant="I"] .rvi-video { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; background: var(--ink-3); }
[data-variant="I"] .rvi-clip figcaption { margin-top: 14px; font-size: 14px; color: var(--fg-muted); max-width: 56ch; }
[data-variant="I"] .rvi-signal { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; margin-top: 88px; }
[data-variant="I"] .rvi-signal-step { position: relative; padding-top: 68px; }
[data-variant="I"] .rvi-signal-node { position: absolute; z-index: 1; left: 0; top: 0; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--rvi-ground); box-shadow: inset 0 0 0 1.5px var(--fg); }
[data-variant="I"] .rvi-signal-node::after { content: ''; width: 12px; height: 12px; border-radius: 50%; background: var(--fg); }
[data-variant="I"] .rvi-signal-node--pair { width: 80px; border-radius: var(--r-pill); background: var(--surface); --rings-gap: var(--surface); }
[data-variant="I"] .rvi-signal-node--pair::after { display: none; }
[data-variant="I"] .rvi-signal-node--pair .rv-glyph { width: 44px; }
[data-variant="I"] .rvi-signal-node--calm { box-shadow: inset 0 0 0 1.5px var(--accent); }
[data-variant="I"] .rvi-signal-node--calm::after { background: var(--accent); }
[data-variant="I"] .rvi-signal-wire { position: absolute; top: 20px; left: 54px; right: -16px; height: 2px; background: var(--fg); transform-origin: 0 50%; }
[data-variant="I"] .rvi-signal-step--block .rvi-signal-wire { left: 92px; background: repeating-linear-gradient(90deg, var(--accent) 0 9px, transparent 9px 16px); }
[data-variant="I"] .rvi-signal-step h3 { margin-bottom: 10px; }
[data-variant="I"] .rvi-signal-step p { font-size: 16px; color: var(--fg-muted); max-width: 30ch; }
[data-variant="I"] .rvi-isnot { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 80px; }
[data-variant="I"] .rvi-isnot-col { padding: 28px 28px 30px; border-radius: var(--r-lg); background: var(--surface); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), inset 0 0 0 1px color-mix(in srgb, var(--fg) 7%, transparent); }
[data-variant="I"] .rvi-isnot-col--not { background: transparent; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fg) 16%, transparent); }
[data-variant="I"] .rvi-isnot-h,
[data-variant="I"] .rvi-related-h { font-family: var(--font-utility); font-size: var(--utility-size); line-height: 1.2; font-weight: 600; letter-spacing: var(--utility-track); text-transform: uppercase; margin-bottom: 12px; }
[data-variant="I"] .rvi-isnot ul { list-style: none; }
[data-variant="I"] .rvi-isnot li { position: relative; padding: 12px 0 12px 26px; border-top: 1px solid color-mix(in srgb, var(--fg) 11%, transparent); font-size: 16px; line-height: 1.45; }
[data-variant="I"] .rvi-isnot li::before { content: ''; position: absolute; left: 0; top: 19px; width: 11px; height: 11px; border-radius: 50%; background: var(--fg); }
[data-variant="I"] .rvi-isnot-col--not li::before { background: none; box-shadow: inset 0 0 0 1.5px var(--fg-muted); }
[data-variant="I"] .rvi-note { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: start; margin-top: 32px; padding: 20px 24px; border-radius: var(--r-md); background: color-mix(in srgb, var(--accent) 24%, var(--bg-2)); }
[data-variant="I"] .rvi-note-k { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; padding: 5px 11px; border-radius: var(--r-pill); background: var(--ink); color: var(--paper); }
[data-variant="I"] .rvi-note p { font-size: 16px; max-width: 64ch; }
[data-variant="I"] .rvi-recheck { display: flex; align-items: center; gap: 18px; margin-top: 36px; font-family: var(--font-display); font-style: italic; font-size: clamp(22px, 1.9vw, 28px); line-height: 1.3; max-width: 38ch; }
[data-variant="I"] .rvi-recheck-ic { flex: none; }
[data-variant="I"] .rvi-recheck-ic .rv-glyph { width: 46px; }

/* ================= 7 advantages: the ledger (2 x 2 hairline cross, rings at the crossing) ================= */
[data-variant="I"] .rvi-ledger { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 64px; }
[data-variant="I"] .rvi-ledger-item { padding: 36px 36px 40px 0; border-top: 1px solid color-mix(in srgb, var(--fg) 15%, transparent); }
[data-variant="I"] .rvi-ledger-item:nth-of-type(even) { padding: 36px 0 40px 36px; border-left: 1px solid color-mix(in srgb, var(--fg) 15%, transparent); }
[data-variant="I"] .rvi-ledger-item:nth-of-type(n+3) { border-bottom: 1px solid color-mix(in srgb, var(--fg) 15%, transparent); }
[data-variant="I"] .rvi-ledger-x { position: absolute; z-index: 1; left: 50%; top: 50%; display: grid; place-items: center; width: 66px; height: 66px; margin: -33px 0 0 -33px; border-radius: 50%; background: var(--rvi-ground); }
[data-variant="I"] .rvi-ledger-x .rv-glyph { width: 42px; }
[data-variant="I"] .rvi-ledger-n { display: block; margin-bottom: 14px; font-family: var(--font-display); font-style: italic; font-size: 22px; line-height: 1; color: var(--taupe-deep); }
[data-variant="I"] .rvi-ledger-item h3 { margin-bottom: 10px; }
[data-variant="I"] .rvi-ledger-item p { font-size: 16px; color: var(--fg-muted); max-width: 34ch; }

/* ================= 8 compare (ink): the honest table ================= */
[data-variant="I"] .rvi-table-wrap { margin-top: 56px; padding: var(--bezel-pad); border-radius: var(--r-xl); background: rgba(237, 236, 236, .04); box-shadow: inset 0 0 0 1px rgba(237, 236, 236, .08); }
[data-variant="I"] .rvi-table { width: 100%; border-collapse: collapse; border-radius: calc(var(--r-xl) - var(--bezel-pad)); overflow: hidden; background: var(--ink-2); }
[data-variant="I"] .rvi-table th, [data-variant="I"] .rvi-table td { text-align: left; vertical-align: top; padding: 22px 18px; font-size: 15px; line-height: 1.45; border-top: 1px solid rgba(237, 236, 236, .09); }
[data-variant="I"] .rvi-table thead th { border-top: 0; padding-top: 22px; padding-bottom: 14px; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--fg-on-ink-muted); }
[data-variant="I"] .rvi-table tbody th { width: 25%; font-family: var(--font-display); font-weight: 400; font-size: 22px; line-height: 1.15; color: var(--fg-on-ink); }
[data-variant="I"] .rvi-table td { color: var(--fg-on-ink-muted); }
[data-variant="I"] .rvi-table th:first-child { padding-left: 26px; }
[data-variant="I"] .rvi-row-ours { background: color-mix(in srgb, var(--accent) 12%, var(--ink-2)); }
[data-variant="I"] .rvi-row-ours td { color: var(--fg-on-ink); }
[data-variant="I"] .rvi-row-mark { display: block; width: 40px; margin-bottom: 12px; --rings-ink: var(--accent); --rings-gap: color-mix(in srgb, var(--accent) 12%, var(--ink-2)); }
[data-variant="I"] .rvi-row-mark .rv-glyph { width: 40px; }
/* a light-ground table (the condition page) */
[data-variant="I"]:not(.rvi-g-ink) .rvi-table-wrap { background: color-mix(in srgb, var(--fg) 5%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fg) 8%, transparent), var(--shadow-soft); }
[data-variant="I"]:not(.rvi-g-ink) .rvi-table { background: var(--surface); }
[data-variant="I"]:not(.rvi-g-ink) .rvi-table th, [data-variant="I"]:not(.rvi-g-ink) .rvi-table td { border-top-color: color-mix(in srgb, var(--fg) 10%, transparent); }
[data-variant="I"]:not(.rvi-g-ink) .rvi-table thead th, [data-variant="I"]:not(.rvi-g-ink) .rvi-table td { color: var(--fg-muted); }
[data-variant="I"]:not(.rvi-g-ink) .rvi-table tbody th { color: var(--fg); }
[data-variant="I"]:not(.rvi-g-ink) .rvi-row-ours { background: color-mix(in srgb, var(--accent) 20%, var(--surface)); }
[data-variant="I"]:not(.rvi-g-ink) .rvi-row-ours td { color: var(--fg); }
[data-variant="I"]:not(.rvi-g-ink) .rvi-row-mark { --rings-ink: var(--fg); --rings-gap: color-mix(in srgb, var(--accent) 20%, var(--surface)); }

/* ================= 9 candidacy: the in / out split (linked rings in, two unlinked rings out) ================= */
[data-variant="I"] .rvi-fit-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bezel-pad); margin-top: 56px; padding: var(--bezel-pad); border-radius: var(--r-xl); background: color-mix(in srgb, var(--fg) 5%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fg) 8%, transparent), var(--shadow-soft); }
[data-variant="I"] .rvi-fit-col { padding: 32px 30px 34px; border-radius: calc(var(--r-xl) - var(--bezel-pad)); }
[data-variant="I"] .rvi-fit-col--in { background: var(--surface); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7); --rings-gap: var(--surface); }
[data-variant="I"] .rvi-fit-h { font-size: clamp(22px, 1.9vw, 26px); display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
[data-variant="I"] .rvi-fit-ic { display: inline-block; flex: none; }
[data-variant="I"] .rvi-fit-ic .rv-glyph { width: 40px; }
[data-variant="I"] .rvi-fit-ic--open { position: relative; width: 44px; height: 24px; }
[data-variant="I"] .rvi-fit-ic--open::before, [data-variant="I"] .rvi-fit-ic--open::after { content: ''; position: absolute; top: 2px; width: 19px; height: 19px; border-radius: 50%; box-shadow: inset 0 0 0 2.5px var(--fg-muted); }
[data-variant="I"] .rvi-fit-ic--open::before { left: 0; }
[data-variant="I"] .rvi-fit-ic--open::after { right: 0; }
[data-variant="I"] .rvi-fit-col ul { list-style: none; }
[data-variant="I"] .rvi-fit-col li { position: relative; padding: 14px 0 14px 28px; border-top: 1px solid color-mix(in srgb, var(--fg) 11%, transparent); font-size: 16px; line-height: 1.5; }
[data-variant="I"] .rvi-fit-col li::before { content: ''; position: absolute; left: 0; top: 21px; width: 11px; height: 11px; border-radius: 50%; background: var(--fg); }
[data-variant="I"] .rvi-fit-col--out li { color: var(--fg-muted); }
[data-variant="I"] .rvi-fit-col--out li::before { background: none; box-shadow: inset 0 0 0 1.5px var(--fg-muted); }
[data-variant="I"] .rvi-fit-foot { margin-top: 28px; max-width: 60ch; color: var(--fg-muted); }

/* ================= 11 cost factors (inside the B paying band) ================= */
[data-slot] .rvi-factors { list-style: none; display: grid; width: 100%; max-width: 52ch; }
[data-slot] .rvi-factors li { display: grid; grid-template-columns: 40px minmax(0, 1fr); padding: 12px 0; border-top: 1px solid color-mix(in srgb, var(--fg) 13%, transparent); font-weight: 600; font-size: 16px; }
[data-slot] .rvi-factors li:last-child { border-bottom: 1px solid color-mix(in srgb, var(--fg) 13%, transparent); }
[data-slot] .rvi-factors li span { font-size: 12px; letter-spacing: .14em; color: var(--fg-muted); padding-top: 3px; }

/* ================= 6 the A who rows without the home thumbnails (X1 added a thumb column to the home rows) ================= */
.rvi-main [data-variant="A"] .v1-who-head { grid-column: 1 / -1; }
[data-variant="A"].rvi-nothumb .v1-who-row { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr) 56px; }
[data-variant="A"].rvi-nothumb .v1-who-row > .v1-who-k { grid-column: 1; grid-row: 1; }
[data-variant="A"].rvi-nothumb .v1-who-row > .v1-who-v { grid-column: 2; grid-row: 1; }
[data-variant="A"].rvi-nothumb .v1-who-row > .v1-who-go { grid-column: 3; grid-row: 1; }
@media (max-width: 767.98px) {
  [data-variant="A"].rvi-nothumb .v1-who-row { grid-template-columns: minmax(0, 1fr) 48px; gap: 14px 16px; }
  [data-variant="A"].rvi-nothumb .v1-who-row > .v1-who-k { grid-column: 1 / -1; }
  [data-variant="A"].rvi-nothumb .v1-who-row > .v1-who-v { grid-column: 1; grid-row: 2; }
  [data-variant="A"].rvi-nothumb .v1-who-row > .v1-who-go { grid-column: 2; grid-row: 2; }
}

/* ================= 12 mid CTA inside the A physician band; 13 the results-vary line under the reviews ================= */
[data-variant="A"] .rvi-mid-cta { margin-top: 10px; }
[data-slot] .rvi-vary { margin-top: 28px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--fg-muted); }
[data-slot].rvi-g-ink .rvi-vary { color: var(--fg-on-ink-muted); }

/* ================= 17 journal links + related services ================= */
[data-variant="I"] .rvi-journal-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px clamp(40px, 6vw, 104px); align-items: start; }
[data-variant="I"] .rvi-journal-head { grid-row: span 2; }
[data-variant="I"] .rvi-posts { list-style: none; }
[data-variant="I"] .rvi-post { display: grid; grid-template-columns: 40px minmax(0, 1fr) 52px; column-gap: 18px; align-items: center; padding: 26px 0; text-decoration: none; border-top: 1px solid color-mix(in srgb, var(--fg) 14%, transparent); }
[data-variant="I"] .rvi-posts li:last-child .rvi-post { border-bottom: 1px solid color-mix(in srgb, var(--fg) 14%, transparent); }
[data-variant="I"] .rvi-post-n { grid-row: 1 / span 2; align-self: start; padding-top: 9px; font-size: 12px; font-weight: 600; letter-spacing: .14em; color: var(--fg-muted); }
[data-variant="I"] .rvi-post-t { grid-column: 2; font-family: var(--font-display); font-size: clamp(22px, 2vw, 28px); line-height: 1.2; letter-spacing: -0.005em; }
[data-variant="I"] .rvi-post-k { grid-column: 2; margin-top: 6px; font-size: 13px; font-weight: 600; letter-spacing: .04em; color: var(--fg-muted); }
[data-variant="I"] .rvi-post-go { grid-column: 3; grid-row: 1 / span 2; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fg) 25%, transparent); transition: transform .6s var(--ease-out-expo), background-color .4s var(--ease-out-quart); }
[data-variant="I"] .rvi-post-go svg { width: 20px; }
[data-variant="I"] .rvi-post:hover .rvi-post-go { transform: translateX(6px); background: var(--accent); }
[data-variant="I"] .rvi-post:hover .rvi-post-t { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
[data-variant="I"] .rvi-related { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; padding: 22px 26px; border-radius: var(--r-lg); background: var(--surface); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), inset 0 0 0 1px color-mix(in srgb, var(--fg) 7%, transparent); }
[data-variant="I"] .rvi-related-h { margin: 0; }
[data-variant="I"] .rvi-related-list { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 20px; font-weight: 600; }
[data-variant="I"] .rvi-related-list li { display: inline-flex; align-items: center; gap: 10px; }
[data-variant="I"] .rvi-related-ring { width: 12px; height: 12px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px var(--fg); }
[data-variant="I"] .rvi-related .rvi-textlink { margin-left: auto; }

/* ================= motion arming (JS + motion allowed only; the head dead-man switch clears it) ================= */
[data-variant="I"]:is(.rv-motion *) [data-rvi-reveal],
[data-variant="I"]:is(.rv-motion *) [data-rvi-in] { opacity: 0; }
[data-variant="I"]:is(.rv-motion *) .rvi-hero-rings .ring-body,
[data-variant="I"]:is(.rv-motion *) .rvi-hero-rings .rv-linkpoint { opacity: 0; }

/* ================= responsive ================= */
@media (max-width: 1279.98px) {
  [data-variant="I"] .rvi-table th, [data-variant="I"] .rvi-table td { padding: 18px 14px; font-size: 14px; }
  [data-variant="I"] .rvi-table tbody th { font-size: 20px; }
}
@media (max-width: 1023.98px) {
  [data-variant="I"] .rvi-hero-grid { grid-template-columns: minmax(0, 1fr); }
  [data-variant="I"] .rvi-hero-media { width: min(100%, 560px); margin-top: 24px; }
  [data-variant="I"] .rvi-journal-grid { grid-template-columns: minmax(0, 1fr); }
  [data-variant="I"] .rvi-journal-head { grid-row: auto; }
  [data-variant="I"] .rvi-related { grid-column: 1; }
}
@media (max-width: 767.98px) {
  [data-variant="I"].rvi-crumbs { padding-top: calc(var(--nav-h) + 10px + 26px); }
  [data-variant="I"] .rvi-crumbs-list { font-size: 12px; gap: 4px 10px; }
  [data-variant="I"] .rvi-crumbs-list li { gap: 10px; }
  [data-variant="I"].rvi-hero { padding-top: 22px; padding-bottom: 80px; }
  [data-variant="I"] .rvi-h1 { font-size: 14px; letter-spacing: .1em; margin-bottom: 22px; padding: 8px 14px 8px 10px; }
  [data-variant="I"] .rvi-h1 .rv-glyph { width: 26px; }
  [data-variant="I"] .rvi-display { margin-bottom: 20px; }
  [data-variant="I"] .rvi-lede { font-size: 17px; }
  [data-variant="I"] .rvi-hero-media { margin-top: 40px; padding-left: 0; }
  [data-variant="I"] .rvi-hero-mark { left: auto; right: -2%; bottom: 58px; width: 44%; }
  [data-variant="I"] .rvi-hero-cap { padding-left: 0; padding-right: 44%; }
  [data-variant="I"].rvi-chips { padding-block: 26px; }
  [data-variant="I"] .rvi-chips-row .rvi-textlink { margin-left: 0; }
  [data-variant="I"] .rvi-glance-list > div { grid-template-columns: 100px minmax(0, 1fr); }
  [data-slot] .rvi-stamp { margin-bottom: 36px; padding-right: 16px; border-radius: var(--r-lg); }
  [data-variant="I"] .rvi-prose { margin-top: 36px; }
  [data-variant="I"] .rvi-capsule { padding-left: 20px; font-size: 23px; }
  [data-variant="I"] .rvi-signal { grid-template-columns: minmax(0, 1fr); gap: 40px; margin-top: 64px; }
  [data-variant="I"] .rvi-signal-step { padding: 0 0 0 64px; min-height: 42px; }
  [data-variant="I"] .rvi-signal-node--pair { width: 42px; border-radius: 50%; }
  [data-variant="I"] .rvi-signal-node--pair .rv-glyph { width: 30px; }
  [data-variant="I"] .rvi-signal-wire,
  [data-variant="I"] .rvi-signal-step--block .rvi-signal-wire { top: 50px; bottom: -34px; left: 20px; right: auto; width: 2px; height: auto; transform-origin: 50% 0; }
  [data-variant="I"] .rvi-signal-step--block .rvi-signal-wire { background: repeating-linear-gradient(180deg, var(--accent) 0 9px, transparent 9px 16px); }
  [data-variant="I"] .rvi-isnot { grid-template-columns: minmax(0, 1fr); margin-top: 56px; }
  [data-variant="I"] .rvi-isnot-col { padding: 24px 22px 24px; }
  [data-variant="I"] .rvi-note { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 18px 18px; }
  [data-variant="I"] .rvi-note-k { justify-self: start; }
  [data-variant="I"] .rvi-recheck { align-items: flex-start; font-size: 22px; }
  [data-variant="I"] .rvi-recheck-ic .rv-glyph { width: 38px; margin-top: 4px; }
  [data-variant="I"] .rvi-ledger { grid-template-columns: minmax(0, 1fr); margin-top: 44px; }
  [data-variant="I"] .rvi-ledger-x { display: none; }
  [data-variant="I"] .rvi-ledger-item,
  [data-variant="I"] .rvi-ledger-item:nth-of-type(even) { padding: 28px 0 30px; border-left: 0; border-bottom: 0; }
  [data-variant="I"] .rvi-ledger-item:last-of-type { border-bottom: 1px solid color-mix(in srgb, var(--fg) 15%, transparent); }
  [data-variant="I"] .rvi-table-wrap { margin-top: 40px; }
  [data-variant="I"] .rvi-table, [data-variant="I"] .rvi-table tbody, [data-variant="I"] .rvi-table tr,
  [data-variant="I"] .rvi-table th, [data-variant="I"] .rvi-table td { display: block; width: auto; }
  [data-variant="I"] .rvi-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  [data-variant="I"] .rvi-table tr { padding: 22px 20px 24px; border-top: 1px solid rgba(237, 236, 236, .09); }
  [data-variant="I"]:not(.rvi-g-ink) .rvi-table tr { border-top-color: color-mix(in srgb, var(--fg) 10%, transparent); }
  [data-variant="I"] .rvi-table tbody tr:first-child { border-top: 0; }
  [data-variant="I"] .rvi-table th, [data-variant="I"] .rvi-table td,
  [data-variant="I"] .rvi-table th:first-child { padding: 0; border: 0; }
  [data-variant="I"] .rvi-table tbody th { width: auto; font-size: 23px; margin-bottom: 8px; }
  [data-variant="I"] .rvi-table td { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; margin-top: 10px; font-size: 15px; }
  [data-variant="I"] .rvi-table td::before { content: attr(data-label); padding-top: 3px; font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--fg-on-ink-muted); }
  [data-variant="I"]:not(.rvi-g-ink) .rvi-table td::before { color: var(--fg-muted); }
  [data-variant="I"] .rvi-fit-split { grid-template-columns: minmax(0, 1fr); margin-top: 40px; }
  [data-variant="I"] .rvi-fit-col { padding: 26px 20px 26px; }
  [data-variant="I"] .rvi-post { grid-template-columns: 30px minmax(0, 1fr) 44px; column-gap: 12px; padding: 22px 0; }
  [data-variant="I"] .rvi-post-go { width: 44px; height: 44px; }
  [data-variant="I"] .rvi-post-t { font-size: 21px; }
  [data-variant="I"] .rvi-related { padding: 20px; }
  [data-variant="I"] .rvi-related .rvi-textlink { margin-left: 0; }
}

/* ================= condition-page library parts (re-usable on any interior page) ================= */
/* 3 the TL;DR box (never labelled TL;DR) */
[data-variant="I"].rvi-tldr { padding-block: clamp(56px, 6vw, 96px); }
[data-variant="I"] .rvi-tldr-core { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 28px; align-items: start; padding: clamp(28px, 3.2vw, 48px); --rings-gap: var(--surface); }
[data-variant="I"] .rvi-tldr-mark .rv-glyph { width: 56px; margin-top: 8px; }
[data-variant="I"] .rvi-tldr-t { font-family: var(--font-display); font-size: clamp(22px, 1.95vw, 29px); line-height: 1.4; letter-spacing: -0.005em; max-width: 56ch; }
/* the condition rail: on-this-page + snapshot */
[data-variant="I"] .rvi-toc-core { display: grid; gap: 4px; padding: 24px 24px 20px; --rings-gap: var(--surface); }
[data-variant="I"] .rvi-toc-core .rvi-eyebrow { justify-self: start; margin-bottom: 10px; }
[data-variant="I"] .rvi-toc { list-style: none; display: grid; }
[data-variant="I"] .rvi-toc a { display: grid; grid-template-columns: 32px minmax(0, 1fr); padding: 10px 0; border-top: 1px solid color-mix(in srgb, var(--fg) 11%, transparent); text-decoration: none; font-weight: 600; font-size: 15px; color: var(--fg-muted); transition: color .35s var(--ease-out-quart); }
[data-variant="I"] .rvi-toc a span { font-size: 11px; letter-spacing: .12em; padding-top: 3px; }
[data-variant="I"] .rvi-toc a:hover, [data-variant="I"] .rvi-toc a[aria-current] { color: var(--fg); }
[data-variant="I"] .rvi-snap-link { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-display); font-size: 24px; line-height: 1.15; text-decoration: none; color: var(--fg-on-ink); }
[data-variant="I"] .rvi-snap-link svg { width: 18px; flex: none; transition: transform .5s var(--ease-out-expo); }
[data-variant="I"] .rvi-snap-link:hover svg { transform: translateX(5px); }
/* 7 causes: the load list (each rule a little heavier: the load building; static, no data implied) */
[data-variant="I"] .rvi-load { list-style: none; margin-top: 56px; }
[data-variant="I"] .rvi-load-row { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 20px; padding: 28px 0 30px; border-top: 1px solid color-mix(in srgb, var(--fg) 16%, transparent); }
[data-variant="I"] .rvi-load-row:nth-child(2) { border-top-width: 2px; border-top-color: color-mix(in srgb, var(--fg) 26%, transparent); }
[data-variant="I"] .rvi-load-row:nth-child(3) { border-top-width: 3px; border-top-color: color-mix(in srgb, var(--fg) 40%, transparent); }
[data-variant="I"] .rvi-load-row:nth-child(4) { border-top-width: 4px; border-top-color: color-mix(in srgb, var(--fg) 58%, transparent); }
[data-variant="I"] .rvi-load-row:nth-child(5) { border-top-width: 5px; border-top-color: color-mix(in srgb, var(--fg) 80%, transparent); }
[data-variant="I"] .rvi-load-n { font-family: var(--font-display); font-style: italic; font-size: 44px; line-height: 1; color: var(--taupe-deep); }
[data-variant="I"] .rvi-load-row h3 { margin-bottom: 8px; }
[data-variant="I"] .rvi-load-row p { color: var(--fg-muted); max-width: 52ch; }
/* 10 the expectations timeline */
[data-variant="I"] .rvi-tl { position: relative; margin-top: 64px; }
[data-variant="I"] .rvi-tl-line { position: absolute; left: 28px; right: 0; top: 27px; height: 2px; background: linear-gradient(90deg, var(--fg) 0 70%, color-mix(in srgb, var(--fg) 0%, transparent)); transform-origin: 0 50%; }
[data-variant="I"] .rvi-tl-list { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
[data-variant="I"] .rvi-tl-step { position: relative; padding-top: 88px; }
[data-variant="I"] .rvi-tl-node { position: absolute; z-index: 1; left: 0; top: 0; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--rvi-ground); box-shadow: inset 0 0 0 1.5px var(--fg); }
[data-variant="I"] .rvi-tl-node:empty::after { content: ''; width: 14px; height: 14px; border-radius: 50%; background: var(--fg); }
[data-variant="I"] .rvi-tl-node .rv-glyph { width: 34px; }
[data-variant="I"] .rvi-tl-node--end { box-shadow: inset 0 0 0 1.5px var(--accent), 0 0 0 7px color-mix(in srgb, var(--accent) 22%, transparent); }
[data-variant="I"] .rvi-tl-node--end:empty::after { background: var(--accent); }
[data-variant="I"] .rvi-tl-when { margin-bottom: 10px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--fg-muted); }
[data-variant="I"] .rvi-tl-step h3 { margin-bottom: 10px; }
[data-variant="I"] .rvi-tl-step > p:last-child { font-size: 16px; color: var(--fg-muted); max-width: 34ch; }
/* 11 + 12 the pair band: two flex slots as cards on one paper band */
.rvi-pair { background: var(--bg); padding-block: var(--band-pad); }
.rvi-pair-grid { max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
[data-variant="I"].rvi-card { position: relative; padding: clamp(32px, 3.4vw, 52px); border-radius: var(--r-xl); }
[data-variant="I"].rvi-card--flag { background: var(--ink); color: var(--fg-on-ink); --rings-ink: var(--fg-on-ink); --rings-gap: color-mix(in srgb, var(--fg-on-ink) 6%, var(--ink)); }
[data-variant="I"].rvi-card--flag .rvi-eyebrow { color: var(--fg-on-ink); background: rgba(237, 236, 236, .06); box-shadow: inset 0 0 0 1px rgba(237, 236, 236, .1); }
[data-variant="I"].rvi-card--cost { background: var(--surface); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), inset 0 0 0 1px color-mix(in srgb, var(--fg) 8%, transparent), var(--shadow-soft); --rings-gap: color-mix(in srgb, var(--fg) 6%, var(--surface)); }
[data-variant="I"] .rvi-card-h { font-size: clamp(38px, 3.6vw, 54px); line-height: 1.02; margin-bottom: 26px; }
[data-variant="I"] .rvi-card-h em { font-style: italic; }
[data-variant="I"] .rvi-flags { list-style: none; }
[data-variant="I"] .rvi-flags li { position: relative; padding: 14px 0 14px 28px; border-top: 1px solid rgba(237, 236, 236, .12); color: var(--fg-on-ink-muted); font-size: 16px; line-height: 1.5; }
[data-variant="I"] .rvi-flags li::before { content: ''; position: absolute; left: 0; top: 21px; width: 11px; height: 11px; border-radius: 50%; box-shadow: inset 0 0 0 2px var(--accent); }
[data-variant="I"] .rvi-flags strong { color: var(--fg-on-ink); font-weight: 600; }
[data-variant="I"] .rvi-card-foot { margin-top: 18px; font-size: 14px; color: var(--fg-on-ink-muted); }
[data-variant="I"] .rvi-card-p { color: var(--fg-muted); max-width: 46ch; margin-bottom: 26px; }
[data-variant="I"] .rvi-signal-node--hot { box-shadow: inset 0 0 0 1.5px var(--fg), 0 0 0 7px color-mix(in srgb, var(--fg) 10%, transparent); }
[data-variant="I"] .rvi-hero-frame img.rvi-hero-img--rest { object-position: 88% 50%; }
@media (max-width: 1023.98px) {
  [data-variant="I"].rvi-rail--toc { padding-top: 48px; }
  [data-variant="I"] .rvi-toc { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
}
@media (max-width: 767.98px) {
  [data-variant="I"] .rvi-tldr-core { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 26px 22px; }
  [data-variant="I"] .rvi-tldr-mark .rv-glyph { width: 42px; margin-top: 0; }
  [data-variant="I"] .rvi-tldr-t { font-size: 21px; }
  [data-variant="I"] .rvi-toc { grid-template-columns: minmax(0, 1fr); }
  [data-variant="I"] .rvi-load-row { grid-template-columns: 44px minmax(0, 1fr); gap: 12px; padding: 24px 0 26px; }
  [data-variant="I"] .rvi-load-n { font-size: 34px; }
  [data-variant="I"] .rvi-tl { margin-top: 48px; }
  [data-variant="I"] .rvi-tl-list { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  [data-variant="I"] .rvi-tl-step { padding: 0 0 0 80px; min-height: 56px; }
  [data-variant="I"] .rvi-tl-line { left: 27px; right: auto; top: 28px; bottom: 28px; width: 2px; height: auto; background: var(--fg); transform-origin: 50% 0; }
  .rvi-pair-grid { grid-template-columns: minmax(0, 1fr); }
  [data-variant="I"].rvi-card { padding: 30px 22px 30px; }
}
