/* HurdleCalls public redesign, loaded after every other stylesheet.
 *
 * sx: palette and motion come from the style lock (navy ink, royal for action,
 * gold for money); gold is never text on white, gold text uses --r-gold-ink.
 * sx: base type rules double their class (.r-h2.r-h2) to outrank the legacy
 * h1.duo / h2.duo rules in v4.css without !important.
 * sx! the fallback @font-faces are measured against the webfonts; change a
 * display stretch or weight and the size-adjust values stop matching, and the
 * hero shifts when the fonts land.
 * sx? the house.css layers below still style admin and member pages; fold them
 * in here once those pages are redesigned.
 */
/* Metric-matched fallbacks: while the webfonts load (display=swap) the page is
   set in local faces scaled to the same widths, so lines wrap in the same
   places and nothing jumps when the real fonts arrive. Measured in Chromium:
   Archivo 800 at 112% is 0.998 of Arial Black; Instrument Sans is 1.015 of
   Arial; IBM Plex Mono is 1.091 of Consolas. */
@font-face { font-family: 'Archivo Fallback'; src: local('Arial Black'), local('ArialBlack'), local('Arial Bold'); size-adjust: 99.8%; }
@font-face { font-family: 'Instrument Fallback'; src: local('Arial'), local('Helvetica'); size-adjust: 101.5%; }
@font-face { font-family: 'Plex Fallback'; src: local('Consolas'), local('Menlo'); size-adjust: 109%; }
:root {
  --r-ink: #0A1A45;
  --r-muted: #5B6580;
  --r-bg: #FFFFFF;
  --r-grey: #F4F6F9;
  --r-grey-2: #E9EEF7;
  --r-primary: #1F45C8;
  --r-primary-h: #1A3AA8;
  --r-gold: #D9A93A;
  --r-gold-h: #E3B954;
  --r-gold-ink: #8A6410;
  --r-green: #1A7A45;
  --r-green-bg: #E7F6EE;
  --r-border: #8A93A8;
  --r-line: #DDE3EF;
  --r-err: #B3261E;
  --r-shadow: 0 1px 0 rgba(10, 26, 69, .04), 0 24px 48px -24px rgba(10, 26, 69, .28);
  --r-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --r-display: 'Libre Franklin', 'Franklin Gothic Medium', 'Helvetica Neue', Arial, sans-serif;
  --r-sans: 'Libre Franklin', 'Helvetica Neue', Arial, sans-serif;
  --r-serif: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --r-mono: 'IBM Plex Mono', 'Plex Fallback', Consolas, monospace;
  --r-h1: clamp(36px, 4.4vw, 62px);
  --r-h2: clamp(27px, 2.8vw, 40px);
  --r-h3: clamp(19px, 1.5vw, 23px);
  --r-lead: clamp(17px, 1.2vw, 20px);
  --r-pad: clamp(88px, 12vw, 176px);
  --r-pad-tight: clamp(64px, 8vw, 120px);
  --r-gutter: clamp(16px, 4vw, 48px);
  /* Keep the legacy layers on the locked palette too. */
  --h-ink: #0A1A45; --h-primary: #1F45C8; --h-primary-hover: #1A3AA8; --h-mark: #D9A93A; --h-mark-text: #8A6410;
  --h-soft: #5B6580; --h-muted: #5B6580; --h-body: #3A4560; --h-line: #DDE3EF; --h-grey: #F4F6F9;
}

html { scroll-padding-top: 88px; }
html.r-locked, html.r-locked body { overflow: hidden; }
body { background: var(--r-bg); color: var(--r-ink); font-family: var(--r-sans); font-size: 17px; line-height: 1.6; }
:focus-visible { outline: 2px solid var(--r-primary); outline-offset: 2px; border-radius: 2px; }
.r-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.num { font-family: var(--r-mono); font-variant-numeric: tabular-nums; }
.r-wrap { width: 100%; max-width: 1360px; margin: 0 auto; padding-left: var(--r-gutter); padding-right: var(--r-gutter); }
.r-muted { color: var(--r-muted); }
.r-measure { max-width: 46ch; }
.r-block { display: flex; width: 100%; }
.r-center { justify-content: center; }
a { color: var(--r-primary); }
a:hover { color: var(--r-primary-h); }

/* ---- Type ---- */
.r-h1.r-h1, .r-h2.r-h2 { font-family: var(--r-display); font-weight: 800; font-stretch: 112%; color: var(--r-ink); text-wrap: balance; margin: 0; }
.r-h1.r-h1 { font-size: var(--r-h1); line-height: .94; letter-spacing: -.035em; max-width: 11.5ch; }
.r-h1.r-h1-page { max-width: 14ch; }
.r-h2.r-h2 { font-size: var(--r-h2); line-height: .98; letter-spacing: -.03em; max-width: 16ch; margin-bottom: clamp(28px, 3.5vw, 48px); }
.r-h3.r-h3, .r-sec h3 { font-family: var(--r-display); font-weight: 700; font-stretch: 112%; font-size: var(--r-h3); line-height: 1.15; letter-spacing: -.015em; color: var(--r-ink); margin: 0 0 .45em; text-wrap: balance; }
.duo .soft { color: var(--r-muted); }
.r-lead { font-size: var(--r-lead); line-height: 1.5; color: #2B3654; margin: 0 0 1.2em; max-width: 46ch; }
.r-body { color: #2B3654; max-width: 64ch; }
.r-body p { margin: 0 0 1em; }
.r-micro, .r-disclaimer { font-size: 15px; line-height: 1.5; color: var(--r-muted); margin: 16px 0 0; }
.r-disclaimer { margin-top: 20px; }

/* ---- Buttons and links ---- */
.btn { font-family: var(--r-sans); font-weight: 600; border-radius: 6px; min-height: 48px; padding: 12px 22px; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; box-shadow: none;
  transition: background-color 150ms var(--r-ease), border-color 150ms var(--r-ease), color 150ms var(--r-ease), transform 150ms var(--r-ease); }
.btn:hover { text-decoration: none; transform: none; box-shadow: none; }
.btn:active { transform: translateY(1px); }
.btn-lg { min-height: 56px; padding: 14px 28px; font-size: 1.05rem; }
.btn-sm { min-height: 44px; padding: 8px 16px; font-size: .95rem; }
.btn-primary { background: var(--r-primary); color: #fff; }
.btn-primary:hover { background: var(--r-primary-h); color: #fff; }
.btn-gold { background: var(--r-gold); color: var(--r-ink); box-shadow: none; }
.btn-gold:hover { background: var(--r-gold-h); color: var(--r-ink); }
.btn-outline, .btn-ghost { background: #fff; color: var(--r-ink); border: 1px solid var(--r-border); }
.btn-outline:hover, .btn-ghost:hover { border-color: var(--r-primary); color: var(--r-primary); background: #fff; }
.btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.link-arrow { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 600; color: var(--r-ink); border-bottom: 1px solid currentColor; padding: 8px 0 4px; text-decoration: none; }
.link-arrow:hover { color: var(--r-primary); text-decoration: none; }
.r-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }
.r-textbtn { background: none; border: 0; padding: 12px 0; font: inherit; font-weight: 600; color: var(--r-ink); cursor: pointer; min-height: 44px; }

/* ---- Header ---- */
.r-head.nav { position: sticky; top: 0; z-index: 60; height: auto; background: #fff; backdrop-filter: none; border-bottom: 1px solid transparent; transition: border-color 150ms; }
.r-head.nav.is-scrolled { border-bottom-color: var(--r-line); box-shadow: none; }
.r-head-inner { height: 72px; display: flex; align-items: center; gap: 24px; }
.r-brand { display: inline-flex; align-items: center; flex-shrink: 0; min-height: 44px; }
.r-brand img, .r-brand .r-logo { display: block; width: 168px; height: 28px; }
.r-nav { display: flex; gap: 28px; margin: 0 auto; }
.r-nav a, .r-head-link { position: relative; display: inline-flex; align-items: center; min-height: 44px; color: #2B3654; font-weight: 500; font-size: 16px; text-decoration: none; background: none; border: 0; padding: 0; font-family: inherit; cursor: pointer; }
.r-nav a:hover, .r-head-link:hover { color: var(--r-ink); text-decoration: none; }
.r-nav a[aria-current="page"], .r-head-link[aria-current="page"] { color: var(--r-ink); }
.r-nav a[aria-current="page"]::after { content: ''; position: absolute; left: 0; right: 0; bottom: 6px; height: 3px; background: var(--r-primary); }
.r-head-right { display: flex; align-items: center; gap: 20px; margin-left: auto; }
.r-head-form { margin: 0; display: inline-flex; }
.r-head-cta { min-height: 44px; padding: 10px 18px; white-space: nowrap; }
.r-menu-btn { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; background: #fff; color: var(--r-ink); border: 1px solid var(--r-border); border-radius: 6px; cursor: pointer; flex-shrink: 0; }
.r-sheet { position: fixed; inset: 0; z-index: 80; background: #fff; display: flex; flex-direction: column; overflow-y: auto; }
.r-sheet[hidden] { display: none; }
.r-sheet-top { height: 72px; display: flex; align-items: center; justify-content: space-between; }
.r-sheet-nav { display: flex; flex-direction: column; padding-top: 24px; padding-bottom: 24px; }
.r-sheet-nav a { font-family: var(--r-display); font-weight: 700; font-stretch: 112%; font-size: 32px; line-height: 1.2; color: var(--r-ink); padding: 10px 0; border-bottom: 1px solid var(--r-line); text-decoration: none; }
.r-sheet-nav a[aria-current="page"] { color: var(--r-primary); }
.r-sheet-foot { margin-top: auto; padding-top: 16px; padding-bottom: calc(24px + env(safe-area-inset-bottom)); display: grid; gap: 8px; }
.r-flash { padding-top: 18px; }
@media (max-width: 1099px) {
  .r-nav, .r-head-link, .r-head-form { display: none; }
  .r-menu-btn { display: inline-flex; }
  .r-head-right { gap: 12px; }
}
.r-cta-short { display: none; }
@media (max-width: 479px) {
  .r-head-inner { gap: 10px; }
  .r-head-right { gap: 10px; }
  .r-brand img, .r-brand .r-logo { width: 132px; height: 22px; }
  .r-head-cta { padding: 10px 14px; }
  .r-cta-long { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .r-cta-short { display: inline; }
}
@media (max-width: 359px) { .r-brand img, .r-brand .r-logo { width: 114px; height: 19px; } }

/* ---- Sections ---- */
.r-sec { padding: var(--r-pad) 0; }
.r-sec-tight { padding: var(--r-pad-tight) 0; }
.r-sec-flush { padding-top: 0; }
.r-grey { background: var(--r-grey); }
.r-split { display: grid; gap: clamp(40px, 6vw, 96px); align-items: center; }
.r-split-50 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.r-split-40 { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); }
.r-split-45 { grid-template-columns: minmax(0, 45fr) minmax(0, 55fr); }
.r-split-about { grid-template-columns: minmax(0, 6fr) minmax(0, 4fr); align-items: end; }
@media (max-width: 899px) {
  .r-split, .r-split-50, .r-split-40, .r-split-45, .r-split-about { grid-template-columns: minmax(0, 1fr); }
}

/* ---- Hero ---- */
.r-hero { padding: clamp(40px, 6vw, 104px) 0 clamp(64px, 8vw, 128px); overflow: hidden; }
.r-hero-grid { display: grid; grid-template-columns: minmax(0, 58fr) minmax(0, 42fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.r-hero-copy { container-type: inline-size; }
/* Sized to its 58% column so the four-part headline keeps its four lines:
   the longest line ("what he owns.") is about 7.5em wide at this stretch. */
.r-hero .r-h1 .soft { display: block; }
.r-hero .r-h1.r-h1 { font-size: clamp(36px, 8cqi, 60px); font-stretch: 112%; max-width: none; margin-bottom: clamp(24px, 3vw, 40px); }
.r-hero-media { position: relative; }
.r-hero-backdrop { position: absolute; inset: -45% -45% -45% -25%; z-index: 0; pointer-events: none; }
.r-hero-backdrop img { width: 100%; height: 100%; object-fit: cover; -webkit-mask-image: radial-gradient(closest-side at 58% 50%, #000 45%, transparent 100%); mask-image: radial-gradient(closest-side at 58% 50%, #000 45%, transparent 100%); }
.r-hero-backdrop.is-css { background: radial-gradient(38% 34% at 70% 34%, rgba(217, 169, 58, .20), transparent 100%), radial-gradient(46% 44% at 52% 54%, #E9EEF7, transparent 100%); }
.r-hero-window { position: relative; z-index: 1; --fxm-rise: 24px; }
.r-tour { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; background: none; border: 0; padding: 0; font: inherit; font-weight: 600; color: var(--r-ink); cursor: pointer; }
.r-tour:hover span { color: var(--r-primary); text-decoration: underline; text-underline-offset: 4px; }
.r-loop-box { aspect-ratio: 16 / 10; background: var(--r-grey); }
.r-loop { width: 100%; height: 100%; display: block; object-fit: cover; }
.r-loop-btn { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; min-height: 44px; padding: 8px 14px; background: #fff; color: var(--r-ink); border: 1px solid var(--r-border); border-radius: 6px; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.r-loop-btn .i-play, .r-loop-btn.is-paused .i-pause { display: none; }
.r-loop-btn.is-paused .i-play { display: inline; }
@media (max-width: 899px) {
  .r-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .r-hero .r-actions .btn { width: 100%; }
}
@media (max-width: 359px) { .r-h1.r-h1 { font-stretch: 100%; } }

/* ---- Mac window ---- */
.r-mac { margin: 0; border-radius: 12px; background: #fff; border: 1px solid var(--r-line); box-shadow: var(--r-shadow); overflow: hidden; }
.r-mac-bar { position: relative; height: 36px; background: var(--r-grey-2); display: flex; align-items: center; justify-content: center; border-bottom: 1px solid var(--r-line); }
.r-mac-dots { position: absolute; left: 14px; top: 12px; display: flex; gap: 8px; }
.r-mac-dots i { width: 12px; height: 12px; border-radius: 50%; background: #FF5F57; }
.r-mac-dots i:nth-child(2) { background: #FEBC2E; }
.r-mac-dots i:nth-child(3) { background: #28C840; }
.r-mac-title { font-size: 13px; color: var(--r-muted); padding: 0 72px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.r-mac-body { background: #fff; }
.r-mac-sm { max-width: 560px; }

/* Replicas inside the windows: the product's own look, scaled to fit. */
.ui-card { padding: clamp(16px, 2.2vw, 28px); font-size: 15px; color: var(--r-ink); }
.ui-h { font-family: var(--r-display); font-weight: 700; font-stretch: 112%; font-size: 20px; margin: 0 0 4px; }
.ui-muted { color: var(--r-muted); font-size: 14px; margin: 0 0 12px; display: block; }
.ui-strong { font-weight: 600; margin: 0; }
.ui-mono { font-family: var(--r-mono); font-size: 13px; color: var(--r-muted); }
.ui-gold { color: var(--r-gold-ink); }
.ui-card .balance-line { display: flex; justify-content: space-between; align-items: center; background: var(--r-grey); border-radius: 6px; padding: 10px 14px; margin: 0 0 14px; font-size: 14px; color: var(--r-muted); }
.ui-card .balance-line b { font-family: var(--r-mono); font-weight: 500; color: var(--r-ink); }
.ui-seat { display: grid; grid-template-columns: 1fr 1fr 1.6fr; gap: 8px; margin-bottom: 10px; }
.ui-field { display: grid; gap: 4px; min-width: 0; }
.ui-field small { font-size: 12px; font-weight: 600; color: var(--r-ink); }
.ui-field > span { border: 1px solid var(--r-border); border-radius: 6px; padding: 8px 10px; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-ghostbtn { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 12px; border: 1px solid var(--r-border); border-radius: 6px; font-size: 14px; font-weight: 600; margin: 2px 0 6px; }
.ui-card .cost-line { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; margin-top: 6px; border-top: 1px solid var(--r-line); font-weight: 600; }
.ui-card .cost-line .big { font-family: var(--r-mono); font-weight: 500; font-size: 22px; }
.ui-btn { width: 100%; min-height: 48px; pointer-events: none; }
.ui-btn-sm { pointer-events: none; min-height: 36px; font-size: 13px; padding: 6px 12px; white-space: nowrap; }
.ui-seatrow { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 12px; padding: 12px 0; border-top: 1px solid var(--r-line); }
.ui-seatrow .ui-muted { margin: 0; }
.ui-code { display: flex; align-items: center; gap: 8px; margin: 6px 0 0; font-size: 12px; color: var(--r-muted); }
.ui-code .seat-code { font-family: var(--r-mono); font-size: 14px; color: var(--r-ink); background: var(--r-grey); border: 1px solid var(--r-line); border-radius: 6px; padding: 3px 8px; letter-spacing: .04em; }
.ui-reprow { display: grid; grid-template-columns: 96px 1fr auto; gap: 12px; align-items: baseline; padding: 14px 0; border-top: 1px solid var(--r-line); }
.ui-reprow small { display: block; }
.ui-bundles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.ui-bundle { border: 1px solid var(--r-line); border-radius: 6px; padding: 12px; display: grid; gap: 2px; }
.ui-bundle.is-best { border: 2px solid var(--r-gold); }
.ui-qty { font-family: var(--r-display); font-weight: 800; font-stretch: 112%; font-size: 28px; line-height: 1; }
.ui-price { font-family: var(--r-mono); font-weight: 500; font-size: 17px; margin-top: 6px; }
.ui-live { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); }
.ui-live-stage { position: relative; min-height: 260px; background: linear-gradient(160deg, #E9EEF7, #F4F6F9 60%, #FBF5E6); overflow: hidden; }
.ui-live-stage img, .ui-live-stage picture { width: 100%; height: 100%; object-fit: cover; }
.ui-live-ph { position: absolute; inset: 0; display: grid; place-items: center; }
.ui-live-ph img { width: 72px; height: 72px; opacity: .9; }
.ui-live-tally { position: absolute; left: 12px; top: 12px; display: inline-flex; align-items: center; gap: 6px; background: #fff; color: var(--r-ink); font-size: 12px; font-weight: 600; padding: 4px 8px; border-radius: 6px; }
.ui-live-tally i { width: 8px; height: 8px; border-radius: 50%; background: var(--r-green); }
.ui-live-name { position: absolute; left: 12px; bottom: 12px; background: rgba(255, 255, 255, .94); color: var(--r-ink); font-size: 13px; padding: 6px 10px; border-radius: 6px; }
.ui-live-qs { padding: 16px; border-left: 1px solid var(--r-line); font-size: 13px; }
.ui-live-qs .ui-h { font-size: 16px; margin-bottom: 10px; }
.ui-q { margin: 0 0 10px; padding: 8px 10px; border: 1px solid var(--r-line); border-radius: 6px; line-height: 1.4; }
.ui-q b { display: block; font-size: 12px; color: var(--r-muted); font-weight: 600; }
.ui-q.is-on { border-color: var(--r-gold); background: #FBF5E6; }
@media (max-width: 560px) {
  .ui-seat { grid-template-columns: 1fr 1fr; }
  .ui-field-wide { grid-column: 1 / -1; }
  .ui-bundles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ui-live { grid-template-columns: minmax(0, 1fr); }
  .ui-live-qs { border-left: 0; border-top: 1px solid var(--r-line); }
  .ui-reprow { grid-template-columns: 1fr; gap: 2px; }
}

/* ---- Next call panel ---- */
.r-band-next { padding-bottom: clamp(40px, 5vw, 72px); }
.r-next { display: grid; grid-template-columns: minmax(0, 1.25fr) auto minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: center; background: var(--r-grey); border-radius: 10px; padding: clamp(24px, 3.5vw, 48px); }
.r-next.is-empty { grid-template-columns: minmax(0, 1fr) auto; }
.r-status { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font-weight: 600; color: var(--r-ink); }
.tally { display: inline-flex; align-items: center; }
.tally i { width: 10px; height: 10px; border-radius: 50%; background: var(--r-green); box-shadow: 0 0 0 4px rgba(26, 122, 69, .16); }
.tally.is-live i { background: #C62828; box-shadow: 0 0 0 4px rgba(198, 40, 40, .16); }
.tally.is-past i { background: var(--r-border); box-shadow: none; }
.r-next-title { font-family: var(--r-display); font-weight: 800; font-stretch: 112%; font-size: clamp(21px, 2vw, 30px); line-height: 1.08; letter-spacing: -.02em; margin: 0 0 10px; text-wrap: balance; }
.r-next-title a { color: var(--r-ink); text-decoration: none; }
.r-next-title a:hover { color: var(--r-primary); }
.r-next-when { margin: 0; color: #2B3654; font-size: 16px; }
.r-cd.countdown { display: grid; grid-template-columns: repeat(3, auto); gap: 0; border: 0; border-radius: 0; overflow: visible; background: none; }
.r-cd.countdown > div { padding: 0 clamp(14px, 2vw, 28px); border: 0; border-left: 1px solid var(--r-line); text-align: left; background: none; }
.r-cd.countdown > div:first-child { border-left: 0; padding-left: 0; }
.r-cd.countdown b { display: block; font-family: var(--r-mono); font-weight: 500; font-size: clamp(30px, 2.8vw, 42px); line-height: 1; color: var(--r-ink); font-variant-numeric: tabular-nums; }
.r-cd.countdown span { display: block; margin-top: 8px; font-size: 14px; color: var(--r-muted); text-transform: none; letter-spacing: 0; }
.countdown .tick { animation: none !important; }
.r-next-side { display: grid; gap: 12px; }
.r-next-price { margin: 0; font-family: var(--r-mono); font-size: 15px; color: #2B3654; }
.r-next-cap { margin: 0; font-size: 15px; color: var(--r-muted); line-height: 1.5; }
.r-meter { display: grid; gap: 8px; }
.r-meter-line { margin: 0; font-size: 15px; font-weight: 600; color: var(--r-ink); }
.r-meter-bar { height: 6px; background: #DCE2EE; border-radius: 3px; overflow: hidden; }
.r-meter-bar i { display: block; height: 100%; background: var(--r-primary); border-radius: 3px; transform-origin: left center; }
.r-meter.is-low .r-meter-bar i { background: var(--r-gold); }
@media (max-width: 1023px) {
  .r-next { grid-template-columns: minmax(0, 1fr); }
  .r-next.is-empty { grid-template-columns: minmax(0, 1fr); }
  .r-cd.countdown { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---- Facts strip ---- */
.r-facts-wrap { padding: clamp(32px, 4vw, 56px) 0 0; }
.r-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--r-line); }
.r-fact { padding: 32px clamp(16px, 2vw, 32px) 8px; border-left: 1px solid var(--r-line); display: flex; flex-direction: column; }
.r-fact:first-child { border-left: 0; padding-left: 0; }
.r-fact .r-icon { margin-bottom: 20px; }
.r-fact dd { margin: 0; order: 2; }
.r-fact dt { order: 3; margin-top: 8px; color: var(--r-muted); font-size: 16px; line-height: 1.45; max-width: 26ch; }
.r-fact .r-icon { order: 1; }
.r-fact b { white-space: nowrap; font-family: var(--r-display); font-weight: 800; font-stretch: 112%; font-size: clamp(28px, 2.6vw, 42px); line-height: 1; letter-spacing: -.03em; color: var(--r-ink); }
@media (max-width: 899px) {
  .r-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .r-fact:nth-child(3) { border-left: 0; padding-left: 0; }
  .r-fact:nth-child(n+3) { border-top: 1px solid var(--r-line); }
}
.r-firms { margin-top: 48px; }
.r-firms-title { font-family: var(--r-sans); font-size: 16px; font-weight: 600; color: var(--r-muted); margin: 0 0 16px; }
.r-firms ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px 40px; font-family: var(--r-display); font-weight: 700; font-stretch: 112%; font-size: 22px; color: var(--r-muted); }

/* ---- Icons and photos ---- */
.r-icon { display: block; filter: drop-shadow(0 6px 10px rgba(10, 26, 69, .16)); flex-shrink: 0; }
.r-photo { display: block; border-radius: 10px; overflow: hidden; width: 100%; }
.r-photo img { width: 100%; height: 100%; object-fit: cover; }
.r-photo-45 { aspect-ratio: 4 / 5; }
.r-photo-169 { aspect-ratio: 16 / 9; border-radius: 10px 10px 0 0; }
.r-tile { background: radial-gradient(80% 70% at 85% 10%, rgba(217, 169, 58, .18), transparent 70%), linear-gradient(160deg, #E9EEF7, #F4F6F9 70%); display: grid; place-items: center; }
.r-tile img { width: 96px; height: 96px; opacity: .55; filter: grayscale(.2); }

/* ---- Problem ---- */
.r-problem-copy .r-h2 { max-width: 12ch; }
.r-promise { font-family: var(--r-display); font-weight: 700; font-stretch: 112%; font-size: clamp(19px, 1.6vw, 24px); line-height: 1.3; letter-spacing: -.01em; margin: 32px 0 0; padding-top: 28px; border-top: 2px solid var(--r-gold); max-width: 28ch; }

/* ---- Tabs ---- */
.r-tabs { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.r-tablist { display: flex; flex-direction: column; border-left: 1px solid var(--r-line); }
.r-tab { display: flex; gap: 18px; align-items: flex-start; text-align: left; background: none; border: 0; border-left: 3px solid transparent; margin-left: -2px; padding: 20px 0 20px 22px; font: inherit; color: var(--r-ink); cursor: pointer; }
.r-tab-text { display: grid; gap: 4px; }
.r-tab-text b { font-family: var(--r-display); font-weight: 700; font-stretch: 112%; font-size: 22px; line-height: 1.2; }
.r-tab-text span { color: var(--r-muted); font-size: 16px; line-height: 1.5; }
.r-tab[aria-selected="true"] { border-left-color: var(--r-primary); }
.r-tab[aria-selected="false"] .r-icon { opacity: .7; }
.r-tab:hover .r-tab-text b { color: var(--r-primary); }
.r-tabpanel { outline-offset: 6px; }
.r-tabpanel.is-in { animation: r-panel-in 220ms var(--r-ease) both; }
@keyframes r-panel-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (max-width: 899px) {
  .r-tabs { grid-template-columns: minmax(0, 1fr); }
  .r-tablist { flex-direction: row; overflow-x: auto; border-left: 0; border-bottom: 1px solid var(--r-line); scroll-snap-type: x mandatory; scrollbar-width: none; }
  .r-tab { flex: 0 0 auto; border-left: 0; margin: 0; border-bottom: 3px solid transparent; padding: 12px 14px; scroll-snap-align: start; align-items: center; }
  .r-tab[aria-selected="true"] { border-bottom-color: var(--r-primary); }
  .r-tab .r-icon { width: 32px; height: 32px; }
  .r-tab-text span { display: none; }
  .r-tab-text b { font-size: 17px; white-space: nowrap; }
}

/* ---- Steps ---- */
.r-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(32px, 4vw, 64px); }
.r-steps li { position: relative; }
.r-step-n { display: block; font-family: var(--r-display); font-weight: 800; font-stretch: 112%; font-size: 96px; line-height: .9; color: var(--r-muted); margin-bottom: 20px; }
.r-steps .r-icon { position: absolute; top: 0; right: 0; width: 120px; height: 120px; }
.r-steps h3 { margin-top: 28px; }
.r-steps p { color: #2B3654; margin: 0; max-width: 36ch; }
@media (max-width: 899px) {
  .r-steps { grid-template-columns: minmax(0, 1fr); }
  .r-steps li { display: grid; grid-template-columns: auto 1fr; column-gap: 20px; }
  .r-step-n { grid-row: 1 / span 2; font-size: 72px; margin: 0; }
  .r-steps .r-icon { display: none; }
  .r-steps h3 { margin-top: 6px; }
}

/* ---- What you get ---- */
.r-get { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr) minmax(0, 3fr); gap: clamp(32px, 4vw, 64px); align-items: start; }
.r-ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.r-ticks li { display: flex; gap: 14px; align-items: flex-start; padding: 16px 0; border-top: 1px solid #D5DCEA; font-size: 18px; line-height: 1.45; }
.r-ticks li:last-child { border-bottom: 1px solid #D5DCEA; }
.r-ticks svg { flex-shrink: 0; margin-top: 3px; }
.r-ticks-sm li { font-size: 16px; padding: 12px 0; }
@media (max-width: 1099px) { .r-get { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .r-get-media { display: none; } }
@media (max-width: 899px) { .r-get { grid-template-columns: minmax(0, 1fr); } }

/* ---- Carousels ---- */
.r-carousel-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: clamp(28px, 3.5vw, 48px); }
.r-carousel-head .r-h2 { margin-bottom: 0; }
.r-ctrl { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.r-ctrl[hidden] { display: none; }
.r-arrow { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; background: #fff; color: var(--r-ink); border: 1px solid var(--r-border); border-radius: 6px; cursor: pointer; transition: border-color 150ms, color 150ms; }
.r-arrow:hover:not(:disabled) { border-color: var(--r-primary); color: var(--r-primary); }
.r-arrow:disabled { opacity: .4; cursor: default; }
.r-pause .i-play, .r-pause.is-paused .i-pause { display: none; }
.r-pause.is-paused .i-play { display: inline; }
.r-counter { margin: 0 6px; display: grid; gap: 6px; min-width: 64px; text-align: center; font-size: 15px; color: var(--r-muted); }
.r-counter b { color: var(--r-ink); font-weight: 500; }
.r-counter-rule { display: block; height: 2px; background: var(--r-line); }
.r-counter-rule i { display: block; height: 100%; background: var(--r-ink); transform-origin: left center; transform: scaleX(.33); transition: transform 300ms var(--r-ease); }
.r-reel { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px) / 1.4); gap: 32px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; padding-bottom: 12px; scrollbar-width: thin; }
.r-reel:focus-visible { outline-offset: 6px; }
.r-reel-one { grid-auto-columns: 100%; }
.r-slide { scroll-snap-align: start; min-width: 0; }
.r-type { background: #fff; border: 1px solid var(--r-line); border-radius: 10px; display: flex; flex-direction: column; }
.r-type-body { padding: clamp(20px, 2.4vw, 32px); display: flex; flex-direction: column; gap: 8px; flex: 1; }
.r-type-body h3 { margin: 0; }
.r-type-body p { margin: 0; color: #2B3654; max-width: 52ch; }
.r-type-body .r-type-meta { font-family: var(--r-mono); font-size: 14px; color: var(--r-muted); }
.r-type-body .link-arrow { margin-top: auto; align-self: flex-start; }
.r-testi { margin: 0; }
.r-testi blockquote { margin: 0 0 24px; font-family: var(--r-display); font-weight: 700; font-stretch: 112%; font-size: clamp(22px, 2.2vw, 34px); line-height: 1.18; letter-spacing: -.02em; max-width: 28ch; }
.r-testi figcaption b { display: block; }
.r-testi figcaption span { color: var(--r-muted); }
@media (max-width: 899px) {
  .r-reel { grid-auto-columns: calc((100% - 16px) / 1.08); gap: 16px; }
  .r-carousel-head { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) { .r-reel { scroll-behavior: auto; } }

/* ---- Teams, host ---- */
.r-split-40 .r-h2 { max-width: 12ch; }
.r-bigquote { margin: 0; padding: clamp(32px, 4vw, 56px); background: #fff; border-radius: 10px; border-top: 3px solid var(--r-gold); }
.r-bigquote blockquote { margin: 0 0 20px; font-family: var(--r-display); font-weight: 800; font-stretch: 112%; font-size: clamp(24px, 2.4vw, 38px); line-height: 1.12; letter-spacing: -.025em; color: var(--r-ink); }
.r-bigquote figcaption { color: var(--r-muted); font-weight: 600; }
.r-bigquote-light { background: var(--r-grey); }
.r-bigquote-light blockquote { font-size: clamp(28px, 2.6vw, 42px); }
.r-quote { margin: 24px 0; padding-left: 20px; border-left: 3px solid var(--r-gold); }
.r-quote blockquote { margin: 0; font-family: var(--r-display); font-weight: 700; font-stretch: 112%; font-size: 24px; line-height: 1.25; }
.r-record { font-size: 16px; color: #2B3654; border-top: 1px solid var(--r-line); padding-top: 16px; max-width: 60ch; }
.r-window-rise { --fxm-rise: 24px; }
.ui-row-in { animation: none; }

/* ---- Sean's updates ---- */
.r-desk { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.r-desk-item { border-top: 2px solid var(--r-ink); padding-top: 18px; }
.r-desk-item.is-pinned { border-top-color: var(--r-gold); }
.r-desk-meta { display: flex; gap: 12px; font-size: 14px; color: var(--r-muted); margin: 0 0 8px; }
.r-desk-item h3 a { color: var(--r-ink); }
.r-desk-body p { margin: 0 0 .8em; }
.r-desk-pin { color: var(--r-gold-ink); font-family: var(--r-sans); font-weight: 600; }
.r-desk-body { color: #2B3654; }
@media (max-width: 899px) { .r-desk { grid-template-columns: minmax(0, 1fr); } }

/* ---- Replay (proof fallback) ---- */
.r-yt { position: relative; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: linear-gradient(160deg, #E9EEF7, #F4F6F9); display: grid; place-items: center; gap: 16px; padding: 24px; text-align: center; }
.r-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.r-yt-title { font-family: var(--r-display); font-weight: 700; font-stretch: 112%; font-size: 24px; margin: 0; }

/* ---- Pricing ---- */
.r-price-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; align-items: start; margin-top: clamp(32px, 4vw, 56px); }
.r-price { background: #fff; border: 1px solid var(--r-line); border-radius: 10px; padding: 28px 24px; display: flex; flex-direction: column; gap: 6px; min-height: 100%; }
.r-price.is-best { border: 2px solid var(--r-gold); box-shadow: var(--r-shadow); transform: translateY(-12px); }
.r-price-best { margin: 0 0 6px; font-weight: 600; color: var(--r-gold-ink); font-size: 15px; }
.r-price-qty { font-family: var(--r-display); font-weight: 700; font-stretch: 112%; font-size: 22px; margin: 0; color: var(--r-ink); }
.r-price-qty .num { font-family: var(--r-display); font-weight: 800; font-size: 48px; letter-spacing: -.03em; margin-right: 4px; }
.r-price-amt { margin: 12px 0 0; }
.r-price-amt .num { font-size: 36px; font-weight: 500; color: var(--r-ink); border-bottom: 3px solid var(--r-gold); padding-bottom: 2px; }
.r-price-each { margin: 8px 0 0; font-size: 15px; color: #2B3654; }
.r-price-save { margin: 0; font-size: 15px; color: var(--r-green); font-weight: 600; min-height: 1.5em; }
.r-price-use { margin: 10px 0 18px; color: var(--r-muted); font-size: 16px; line-height: 1.45; }
.r-price .btn { margin-top: auto; }
.r-price-note { margin: 28px 0 0; color: #2B3654; }
.r-grey .r-price { background: #fff; }
@media (max-width: 1099px) { .r-price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .r-price.is-best { transform: none; } }
@media (max-width: 599px) {
  .r-price-grid { grid-template-columns: minmax(0, 1fr); }
  .r-price.is-best { order: -1; }
}

/* ---- Risk reversal ---- */
.r-risk { margin-top: clamp(56px, 7vw, 104px); }
.r-sec .r-risk:first-child { margin-top: 0; }
.r-risk .r-h3 { font-size: clamp(24px, 2.2vw, 34px); font-weight: 800; letter-spacing: -.025em; margin-bottom: 28px; }
.r-risk-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.r-risk-list li { display: flex; gap: 18px; align-items: flex-start; }
.r-risk-list h3 { font-size: 20px; margin: 4px 0 6px; }
.r-risk-list p { margin: 0; color: #2B3654; font-size: 16px; }
.r-risk-link { margin: 28px 0 0; }
@media (max-width: 899px) { .r-risk-list { grid-template-columns: minmax(0, 1fr); } }

/* ---- FAQ ---- */
.r-faq { border-top: 1px solid var(--r-line); }
.r-faq details { border-bottom: 1px solid var(--r-line); }
.r-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 56px; padding: 18px 0; cursor: pointer; list-style: none; font-family: var(--r-display); font-weight: 700; font-stretch: 112%; font-size: 20px; line-height: 1.3; color: var(--r-ink); }
.r-faq summary::-webkit-details-marker { display: none; }
.r-faq summary:hover { color: var(--r-primary); }
.r-chev { flex-shrink: 0; transition: transform 200ms var(--r-ease); }
.r-faq details[open] .r-chev { transform: rotate(180deg); }
.r-faq-a { padding: 0 0 22px; color: #2B3654; max-width: 64ch; }
.r-faq-a p { margin: 0 0 .8em; }
.r-faq-group { font-family: var(--r-display); font-weight: 800; font-stretch: 112%; font-size: clamp(24px, 2.4vw, 34px); letter-spacing: -.02em; margin: 48px 0 16px; scroll-margin-top: 96px; }
.r-faq-group:first-child { margin-top: 0; }
.r-faq-more { margin-top: 40px; }
.r-faqpage { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 8fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.r-rail { position: sticky; top: 96px; }
.r-rail ul { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--r-line); }
.r-rail a { display: block; padding: 10px 0 10px 18px; min-height: 44px; color: #2B3654; font-weight: 500; text-decoration: none; }
.r-rail a:hover { color: var(--r-primary); }
@media (max-width: 899px) { .r-faqpage { grid-template-columns: minmax(0, 1fr); } .r-rail { position: static; } }

/* ---- Close ---- */
.r-close { padding: var(--r-pad) 0; text-align: center; border-top: 1px solid var(--r-line); }
.r-close .r-h2 { margin-left: auto; margin-right: auto; max-width: 14ch; }
.r-close .r-lead { margin-left: auto; margin-right: auto; }
.r-close .r-actions { margin-top: 32px; }

/* ---- Inner page heads ---- */
.r-pagehead { padding: clamp(48px, 7vw, 120px) 0 clamp(48px, 6vw, 96px); }
.r-pagehead .r-h1 { margin-bottom: clamp(20px, 2.5vw, 32px); }
.r-pagehead-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); gap: 48px; align-items: end; }
@media (max-width: 899px) { .r-pagehead-split { grid-template-columns: minmax(0, 1fr); } }
.r-minicall { display: grid; gap: 6px; padding: 24px; background: var(--r-grey); border-radius: 10px; color: var(--r-ink); text-decoration: none; border: 1px solid transparent; transition: border-color 150ms; }
.r-minicall:hover { text-decoration: none; border-color: var(--r-primary); color: var(--r-ink); }
.r-minicall .r-status { margin: 0; }
.r-minicall-title { font-family: var(--r-display); font-weight: 700; font-stretch: 112%; font-size: 22px; line-height: 1.2; }
.r-minicall-when, .r-minicall-cd { font-size: 15px; color: #2B3654; }
.r-minicall-cd b { font-weight: 500; font-size: 20px; color: var(--r-ink); }
.r-minicall-seats { font-size: 15px; color: var(--r-muted); }

/* ---- How it works ---- */
.r-spine { list-style: none; margin: 0; padding: 0; position: relative; }
.r-spine::before { content: ''; position: absolute; left: 23px; top: 24px; bottom: 24px; width: 2px; background: var(--r-line); }
.r-spine-item { position: relative; display: grid; grid-template-columns: 48px minmax(0, 5fr) minmax(0, 6fr); gap: clamp(20px, 4vw, 64px); align-items: start; padding-bottom: clamp(56px, 7vw, 104px); }
.r-spine-item:last-child { padding-bottom: 0; }
.r-spine-node { width: 48px; height: 48px; border-radius: 50%; background: #fff; border: 2px solid var(--r-primary); display: grid; place-items: center; color: var(--r-ink); font-weight: 500; position: relative; z-index: 1; }
html[data-fxm-observed] .r-spine-node[data-fxm-seen] { background: var(--r-primary); color: #fff; transition: background-color 400ms var(--r-ease) 200ms, color 400ms var(--r-ease) 200ms; }
.r-spine-copy .r-icon { margin-bottom: 24px; }
@media (max-width: 899px) {
  .r-spine-item { grid-template-columns: 48px minmax(0, 1fr); }
  .r-spine-win { grid-column: 2; }
  .r-spine-copy .r-icon { width: 88px; height: 88px; }
}
.r-numlist { margin: 0; padding: 0; list-style: none; counter-reset: n; }
.r-numlist li { counter-increment: n; display: grid; grid-template-columns: 48px 1fr; gap: 12px; padding: 18px 0; border-top: 1px solid #D5DCEA; font-size: 18px; }
.r-numlist li::before { content: counter(n); font-family: var(--r-mono); font-weight: 500; color: var(--r-primary); font-size: 20px; }
.r-costs { margin: 0; border-top: 1px solid var(--r-line); }
.r-costs div { display: flex; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--r-line); }
.r-costs dt { color: #2B3654; }
.r-costs dd { margin: 0; color: var(--r-ink); font-size: 16px; text-align: right; }
.r-replay-head { display: flex; align-items: center; gap: 24px; margin-bottom: 40px; }
.r-replay-head .r-h2 { margin: 0; font-size: clamp(28px, 3vw, 44px); }
.r-stops { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); position: relative; }
.r-stops::before { content: ''; position: absolute; left: 0; right: 0; top: 7px; height: 2px; background: #D5DCEA; }
.r-stops li { position: relative; padding: 32px 24px 0 0; font-family: var(--r-display); font-weight: 700; font-stretch: 112%; font-size: 20px; line-height: 1.3; }
.r-stop-dot { position: absolute; left: 0; top: 0; width: 16px; height: 16px; border-radius: 50%; background: var(--r-ink); }
.r-stop-dot.is-live { background: var(--r-green); }
.r-stop-dot.is-gold { background: var(--r-gold); }
@media (max-width: 699px) {
  .r-stops { grid-template-columns: minmax(0, 1fr); }
  .r-stops::before { left: 7px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; }
  .r-stops li { padding: 0 0 24px 36px; }
}
.r-table { width: 100%; border-collapse: collapse; margin-bottom: 24px; }
.r-table th, .r-table td { text-align: right; padding: 14px 0; border-bottom: 1px solid var(--r-line); }
.r-table th:first-child, .r-table td:first-child { text-align: left; }
.r-table th { font-size: 14px; font-weight: 600; color: var(--r-muted); }
.r-table td { font-size: 17px; color: var(--r-ink); }

/* ---- Pricing page ---- */
.r-rows, .r-examples { list-style: none; margin: 0; padding: 0; }
.r-rows li { display: flex; align-items: center; gap: 16px; padding: 16px 0; border-top: 1px solid #D5DCEA; }
.r-rows-name { flex: 1; font-weight: 600; }
.r-rows-val { font-size: 15px; color: #2B3654; }
.r-examples li { display: flex; gap: 16px; align-items: flex-start; padding: 16px 0; border-top: 1px solid #D5DCEA; }
.r-examples p { margin: 0; color: #2B3654; }

/* ---- Calls list ---- */
.r-filter { display: flex; gap: 4px 28px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--r-line); margin-bottom: 8px; }
.r-filter a { flex: 0 0 auto; white-space: nowrap; display: inline-flex; align-items: center; min-height: 48px; color: #2B3654; font-weight: 600; text-decoration: none; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.r-filter a:hover { color: var(--r-primary); }
.r-filter a[aria-current="true"] { color: var(--r-ink); border-bottom-color: var(--r-primary); }
.r-rundown { list-style: none; margin: 0; padding: 0; }
.r-run { display: grid; grid-template-columns: 88px minmax(0, 1fr) minmax(220px, 280px); gap: clamp(16px, 3vw, 40px); padding: 28px 0; border-bottom: 1px solid var(--r-line); align-items: start; }
.r-run-date { display: grid; justify-items: start; line-height: 1; color: var(--r-ink); }
.r-run-date b { font-size: 44px; font-weight: 500; }
.r-run-date span { margin-top: 6px; font-size: 15px; color: var(--r-muted); }
.r-run-main h3 { margin: 0 0 6px; font-size: clamp(22px, 2vw, 28px); }
.r-run-main h3 a { color: var(--r-ink); text-decoration: none; }
.r-run-main h3 a:hover { color: var(--r-primary); text-decoration: underline; text-underline-offset: 4px; }
.r-run-type { margin: 0 0 8px; color: var(--r-muted); font-size: 15px; }
.r-run-type .tally { margin-right: 6px; vertical-align: middle; }
.r-run-type .tally i { width: 8px; height: 8px; }
.r-run-sum { margin: 0; color: #2B3654; max-width: 60ch; }
.r-run-side { display: grid; gap: 10px; justify-items: stretch; }
.r-run-side .btn { justify-self: start; }
.r-run-almost { margin: 0; font-weight: 600; color: var(--r-gold-ink); font-size: 15px; }
.r-run-price { margin: 0; font-size: 15px; color: #2B3654; }
.r-run-replay { margin: 0; color: #2B3654; font-size: 15px; }
.r-meter-sm .r-meter-line { font-weight: 500; font-size: 15px; }
.r-rundown.is-past .r-run-main h3 a, .r-rundown.is-past .r-run-date { color: #3A4560; }
.r-past-title { margin-top: clamp(64px, 8vw, 104px); padding-bottom: 12px; border-bottom: 1px solid var(--r-line); margin-bottom: 0; }
.r-empty { padding: 40px 0; }
.r-riskline { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 32px; }
.r-riskline p { display: flex; align-items: center; gap: 16px; margin: 0; font-size: 18px; }
@media (max-width: 899px) {
  .r-run { grid-template-columns: 64px minmax(0, 1fr); }
  .r-run-side { grid-column: 2; }
  .r-run-date b { font-size: 34px; }
}

/* ---- Call page ---- */
.r-call { padding-top: clamp(40px, 6vw, 96px); }
.r-callhead { padding: 0; }
.r-call-title.r-h2 { max-width: 20ch; margin-bottom: 20px; font-size: clamp(30px, 3.4vw, 52px); }
.r-callhead .r-status { color: #2B3654; font-weight: 500; }
.r-meta { display: flex; flex-wrap: wrap; gap: 16px clamp(24px, 3vw, 48px); margin: 28px 0 0; padding-top: 24px; border-top: 1px solid var(--r-line); }
.r-meta div { display: grid; gap: 4px; }
.r-meta dt { font-size: 14px; color: var(--r-muted); }
.r-meta dd { margin: 0; font-size: 16px; color: var(--r-ink); }
.r-meta a { display: inline-flex; min-height: 24px; }
.r-call-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.r-book { grid-column: 2; grid-row: 1; position: sticky; top: 96px; }
.r-call-main { grid-column: 1; grid-row: 1; display: grid; gap: clamp(40px, 5vw, 64px); }
.r-card { background: #fff; border: 1px solid var(--r-line); border-radius: 10px; padding: clamp(20px, 2.5vw, 32px); }
.r-book-card { box-shadow: var(--r-shadow); display: grid; gap: 14px; }
.r-book-card .r-h3 { margin: 0; }
.r-book-card > * { margin-top: 0; margin-bottom: 0; }
.r-book-cap { font-size: 15px; }
.r-book-price { font-size: 17px; }
.r-book-login { font-size: 15px; color: var(--r-muted); }
.r-book-note { font-size: 14px; color: var(--r-muted); text-align: center; margin: 10px 0 0; }
.r-full { font-family: var(--r-display); font-weight: 700; font-stretch: 112%; font-size: 22px; }
.r-book .balance-line { display: flex; justify-content: space-between; align-items: center; background: var(--r-grey); border-radius: 6px; padding: 12px 16px; margin: 0; color: #2B3654; font-size: 15px; }
.r-book .balance-line b { color: var(--r-ink); font-weight: 500; }
.r-book .seat-form .seat-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px; gap: 10px; align-items: end; margin-bottom: 12px; }
.r-book .seat-form .seat-row > .field:nth-of-type(3) { grid-column: 1 / 3; grid-row: 2; }
.r-book .seat-form .seat-row .rm { grid-column: 3; grid-row: 2; }
.r-book .field label { font-size: 14px; font-weight: 600; color: var(--r-ink); margin-bottom: 6px; display: block; }
.r-book .field input, .r-auth .field input { width: 100%; min-height: 46px; border: 1px solid var(--r-border); border-radius: 6px; padding: 10px 12px; font: inherit; font-size: 16px; color: var(--r-ink); background: #fff; }
.r-book .field input:focus, .r-auth .field input:focus { outline: 2px solid var(--r-primary); outline-offset: 0; border-color: var(--r-primary); box-shadow: none; }
.r-book .seat-row .rm { width: 44px; height: 46px; background: #fff; border: 1px solid var(--r-border); border-radius: 6px; color: var(--r-ink); font-size: 1.3rem; cursor: pointer; }
.r-book .seat-row .rm:hover { color: var(--r-err); border-color: var(--r-err); background: #fff; }
.r-book .cost-line { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; margin-top: 12px; border-top: 1px solid var(--r-line); font-weight: 600; }
.r-book .cost-line .big { font-size: 24px; font-weight: 500; color: var(--r-ink); }
.r-book .cost-line .big.is-over { color: var(--r-err); }
.r-book #addSeat { margin-top: 4px; }
.r-call-block .r-h3 { margin-bottom: 16px; }
.r-call-block .r-body p { margin: 0 0 1em; }
.r-join { display: flex; gap: 20px; align-items: flex-start; }
.r-hoststrip { display: flex; gap: 16px; align-items: center; padding-top: 24px; border-top: 1px solid var(--r-line); }
.r-hoststrip p { margin: 0; }
.r-host-avatar { width: 64px; height: 64px; border-radius: 10px; object-fit: cover; }
.r-call .my-seats .reg-item { border-top: 1px solid var(--r-line); padding: 16px 0; }
.replay-panel .r-h3 { margin-bottom: 16px; }
@media (max-width: 899px) {
  /* Phones: title and meta first, then the booking card, then the rest. */
  .r-call-grid { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
  .r-call-main { display: contents; }
  .r-call-main > * { order: 3; grid-column: 1; }
  .r-call-main > .r-callhead { order: 1; }
  .r-book { order: 2; grid-column: 1; grid-row: auto; position: static; }
}

/* ---- About ---- */
.r-prose > * { max-width: 820px; }
.r-prose .r-body { max-width: 64ch; }
.r-bandquote { margin: 0; }
.r-bandquote blockquote { margin: 0 0 16px; font-family: var(--r-display); font-weight: 800; font-stretch: 112%; font-size: var(--r-h2); line-height: 1; letter-spacing: -.03em; max-width: 18ch; }
.r-bandquote figcaption { color: var(--r-muted); font-weight: 600; }
.r-notcard { background: var(--r-grey); border-radius: 10px; padding: clamp(24px, 3vw, 40px); border-top: 3px solid var(--r-gold); }

/* ---- Auth ---- */
.r-auth { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-height: calc(100vh - 72px); }
.r-auth-aside { grid-column: 1; grid-row: 1; background: var(--r-grey); padding: clamp(40px, 6vw, 96px) clamp(24px, 4vw, 64px); display: grid; align-content: start; gap: 24px; }
.r-auth-main { grid-column: 2; grid-row: 1; padding: clamp(40px, 6vw, 96px) var(--r-gutter); display: flex; justify-content: center; }
.r-auth-card { width: 100%; max-width: 560px; }
.r-auth-card .r-h2 { font-size: clamp(28px, 2.8vw, 40px); margin-bottom: 10px; }
.r-auth-card form { margin-top: 28px; }
.r-auth-aside-title { font-family: var(--r-display); font-weight: 800; font-stretch: 112%; font-size: clamp(28px, 2.8vw, 40px); line-height: 1.05; letter-spacing: -.02em; margin: 0; max-width: 16ch; }
.r-auth-aside .r-minicall { background: #fff; }
.r-auth .field-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.r-auth .field { margin-bottom: 16px; }
.r-auth .field label { display: block; font-weight: 600; font-size: 15px; margin-bottom: 6px; color: var(--r-ink); }
.r-auth .hint { font-size: 14px; color: var(--r-muted); margin-top: 6px; }
.r-auth .muted { color: var(--r-muted); }
@media (max-width: 899px) {
  .r-auth { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .r-auth-main { grid-column: 1; grid-row: 1; }
  .r-auth-aside { grid-column: 1; grid-row: 2; }
}
@media (max-width: 520px) { .r-auth .field-row { grid-template-columns: minmax(0, 1fr); gap: 0; } }
/* Contact form: select and textarea match the inputs; the honeypot is off-screen, not display:none */
.r-auth .field select, .r-auth .field textarea { width: 100%; min-height: 46px; border: 1px solid var(--r-border); border-radius: 6px; padding: 10px 12px; font: inherit; font-size: 16px; color: var(--r-ink); background: #fff; }
.r-auth .field textarea { min-height: 168px; resize: vertical; line-height: 1.5; }
.r-auth .field select:focus, .r-auth .field textarea:focus { outline: 2px solid var(--r-primary); outline-offset: 0; border-color: var(--r-primary); box-shadow: none; }
.r-contact-lead { max-width: 46ch; }
.r-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* ---- Footer ---- */
.r-foot { background: #fff; border-top: 1px solid var(--r-line); padding: clamp(56px, 7vw, 96px) 0 32px; color: #2B3654; }
.r-foot-top { display: grid; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); gap: 40px; padding-bottom: 48px; }
.r-foot-tag { max-width: 36ch; margin: 16px 0 12px; font-size: 16px; }
.r-foot-support { font-size: 15px; margin: 0 0 8px; }
.r-foot-social { display: flex; gap: 24px; margin: 0; }
.r-foot-social a, .r-foot-col a, .r-foot-support a { color: var(--r-ink); display: inline-flex; align-items: center; min-height: 44px; }
.r-foot-col h2 { font-family: var(--r-sans); font-size: 15px; font-weight: 600; color: var(--r-muted); margin: 0 0 8px; letter-spacing: 0; }
.r-foot-col ul { list-style: none; margin: 0; padding: 0; }
.r-foot a:hover { color: var(--r-primary); }
.r-foot-legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-top: 24px; border-top: 1px solid var(--r-line); font-size: 15px; color: var(--r-muted); }
@media (max-width: 899px) { .r-foot-top { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .r-foot-brand { grid-column: 1 / -1; } }
@media (max-width: 479px) { .r-foot-top { grid-template-columns: minmax(0, 1fr); gap: 24px; } }

/* ---- Seat bar ---- */
.r-seatbar { position: fixed; z-index: 55; right: 24px; bottom: 24px; width: 360px; display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 12px 8px; padding: 16px; background: #fff; border: 1px solid var(--r-line); border-radius: 6px; box-shadow: var(--r-shadow);
  opacity: 0; transform: translateY(16px); pointer-events: none; transition: opacity 280ms var(--r-ease), transform 280ms var(--r-ease); }
.r-seatbar.is-in { opacity: 1; transform: none; pointer-events: auto; }
.r-seatbar-body { display: grid; gap: 2px; color: var(--r-ink); text-decoration: none; min-width: 0; }
.r-seatbar-body:hover { text-decoration: none; color: var(--r-primary); }
.r-seatbar-title { display: flex; align-items: center; gap: 8px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.r-seatbar-title .tally i { width: 8px; height: 8px; }
.r-seatbar-meta, .r-seatbar-seats { font-size: 14px; color: var(--r-muted); }
.r-seatbar-cta { grid-column: 1 / -1; grid-row: 2; }
.r-seatbar-x { grid-column: 2; grid-row: 1; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--r-line); border-radius: 6px; color: var(--r-ink); cursor: pointer; }
.r-seatbar-x:hover { border-color: var(--r-border); }
@media (max-width: 699px) {
  .r-seatbar { left: 0; right: 0; bottom: 0; width: auto; border-radius: 0; border-width: 1px 0 0; grid-template-columns: minmax(0, 1fr) auto 44px; align-items: center; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); min-height: 64px; }
  .r-seatbar-meta { display: none; }
  .r-seatbar-cta { grid-column: 2; grid-row: 1; min-height: 44px; padding: 8px 14px; }
  .r-seatbar-x { grid-column: 3; }
  html.has-seatbar .r-foot { padding-bottom: 96px; }
}
@media (prefers-reduced-motion: reduce) {
  .r-seatbar { transition: none; transform: none; }
  .r-tabpanel.is-in { animation: none; }
  .r-chev, .r-counter-rule i { transition: none; }
  .r-spine-node { transition: none !important; }
}

/* ---- Video dialog ---- */
.r-vdialog { width: min(1100px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 0; border-radius: 12px; background: #fff; color: var(--r-ink); box-shadow: var(--r-shadow); }
.r-vdialog::backdrop { background: rgba(10, 26, 69, .55); }
.r-vdialog-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 10px 10px 10px 20px; background: var(--r-grey-2); }
.r-vdialog-title { font-family: var(--r-sans); font-size: 16px; font-weight: 600; margin: 0; }
.r-vdialog-x { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--r-border); border-radius: 6px; color: var(--r-ink); cursor: pointer; }
.r-vdialog video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background: #E9EEF7; }

/* ---- Alerts and preview bar keep the squared shape ---- */
.alert { border-radius: 6px; }

/* ---- Waitlist (partial from the booking side; restyled here) ---- */
.waitlist-block { display: grid; gap: 12px; }
.waitlist-full { font-family: var(--r-display); font-weight: 700; font-stretch: 112%; font-size: 22px; margin: 0; color: var(--r-ink); }
.waitlist-lead, .waitlist-note { margin: 0; color: #2B3654; font-size: 16px; }
.waitlist-note { font-size: 14px; color: var(--r-muted); }
.waitlist-done { margin: 0; padding: 12px 14px; background: var(--r-green-bg); color: #135C34; border-radius: 6px; font-size: 15px; }
.waitlist-form { display: grid; gap: 10px; }
.waitlist-form label { font-weight: 600; font-size: 14px; }
.waitlist-form input { width: 100%; min-height: 46px; border: 1px solid var(--r-border); border-radius: 6px; padding: 10px 12px; font: inherit; font-size: 16px; color: var(--r-ink); }
.waitlist-form input:focus { outline: 2px solid var(--r-primary); outline-offset: 0; border-color: var(--r-primary); }

/* Password show / hide (public/js/password-toggle.js). The button only shows
   once the script has wired it up; without JS the field is a plain password
   input. The eye sits inside the right edge, 44x44, and the input gets right
   padding so text never runs under it. */
.pw-field { position: relative; }
.pw-toggle { display: none; }
.pw-field.is-ready > input { padding-right: 52px; }
.pw-field > input::-ms-reveal, .pw-field > input::-ms-clear { display: none; }
.pw-field.is-ready > .pw-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  position: absolute; top: 50%; right: 1px; transform: translateY(-50%);
  width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 6px;
  background: transparent; color: var(--r-muted); cursor: pointer;
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.pw-field.is-ready > .pw-toggle:hover { color: var(--r-ink); background: var(--r-grey); }
.pw-field.is-ready > .pw-toggle:focus-visible { outline: 2px solid var(--r-primary); outline-offset: -2px; border-radius: 6px; color: var(--r-ink); }
.pw-field.is-ready > .pw-toggle[aria-pressed="true"] { color: var(--r-primary); }
.pw-toggle svg { display: block; pointer-events: none; }
.field .hint[data-state="ok"] { color: var(--r-green); }
.field-error { margin-top: 6px; font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--r-err); }
.field.is-invalid .pw-field > input, .field.is-invalid .pw-field > input:focus { border-color: var(--r-err); }
@media (forced-colors: active) {
  .pw-field.is-ready > .pw-toggle { color: ButtonText; }
  .pw-field.is-ready > .pw-toggle:focus-visible { outline-color: Highlight; }
}


/* Sean, 2026-10-22: type is Libre Franklin (headlines and interface) with Source Serif 4
   for reading text. Franklin has no width axis, so the old 112% stretch is reset here. */
.r-h1, .r-h2, .r-h3, h1, h2, h3 { font-stretch: 100%; }
.r-lead, .r-body, .r-faq-a, .r-faq-a p, .hero-sub, .waitlist-lead, .prose.legal p, .prose.legal li { font-family: var(--r-serif); }


/* ── Home v2 (Sean, Oct 2026) ─────────────────────────────────────────────
   Fact-finding interviews layout. Navy and royal stay the base; gold (the bar
   that clears the hurdle in the logo) marks actions and emphasis. Gold is never
   small text on white: text uses --r-gold-ink. Everything is visible at first
   paint; no section starts at opacity 0. */
.hx-band { padding-block: clamp(56px, 8vw, 96px); }
.hx-mist { background: var(--r-grey); }
.hx-head { display: grid; gap: 10px; margin-bottom: 36px; max-width: 44em; }
.hx-head-flush { margin-bottom: 0; }
.hx-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0; font: 500 .78rem var(--font-mono, 'IBM Plex Mono', monospace); letter-spacing: .08em; text-transform: uppercase; color: var(--r-muted); }
.hx-eyebrow::before { content: ""; width: 18px; height: 3px; border-radius: 2px; background: var(--r-gold); }
.hx-h1 { margin: 0; font: 800 clamp(2.2rem, 5vw, 3.55rem)/1.05 var(--r-display); letter-spacing: -.025em; color: var(--r-ink); text-wrap: balance; }
.hx-h2 { margin: 0; font: 800 clamp(1.6rem, 3vw, 2.2rem)/1.12 var(--r-display); letter-spacing: -.015em; color: var(--r-ink); text-wrap: balance; }
.hx-h3 { margin: 0; font: 700 1.15rem/1.3 var(--r-display); color: var(--r-ink); }
.hx-h3 a { color: inherit; text-decoration: none; display: inline-block; padding-block: 8px; margin-block: -8px; }
.hx-h3 a:hover { color: var(--r-primary); }
.hx-h1 .soft { color: inherit; }
.hx-mark { } /* Sean, Oct 2026: no gold underline on the last words of the headline */
.hx-lead { margin: 0; font: 400 1.2rem/1.55 var(--r-serif); color: var(--r-ink); max-width: 32em; }
.hx-body { margin: 0; font: 400 1.05rem/1.6 var(--r-serif); max-width: 40em; }
.hx-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.hx-quiet { display: inline-flex; align-items: center; min-height: 48px; padding: 0 20px; border: 1px solid var(--r-line); border-radius: 8px; background: transparent; color: var(--r-ink); font: 600 1rem var(--r-sans); text-decoration: none; cursor: pointer; }
.hx-quiet:hover { border-color: var(--r-ink); }
.hx-fine { margin: 0; font: .9rem var(--r-sans); color: var(--r-muted); }
.hx-block { width: 100%; justify-content: center; }

/* Hero */
.hx-hero { padding-block: clamp(44px, 6vw, 80px); border-bottom: 1px solid var(--r-line); }
.hx-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(32px, 5vw, 64px); align-items: center; }
.hx-hero-copy { display: grid; gap: 22px; min-width: 0; }
@media (max-width: 880px) { .hx-hero-grid { grid-template-columns: 1fr; } }

/* Next-interview sheet */
.hx-sheet { background: #fff; border: 1px solid var(--r-line); border-radius: 14px; overflow: hidden; box-shadow: var(--r-shadow); min-width: 0; }
.hx-sheet-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 12px; padding: 14px 20px; border-bottom: 1px solid var(--r-line); font-family: var(--r-sans); }
.hx-live { display: inline-flex; align-items: center; gap: 8px; font: 500 .78rem var(--font-mono, 'IBM Plex Mono', monospace); letter-spacing: .06em; text-transform: uppercase; color: var(--r-gold-ink); }
.hx-live i { width: 8px; height: 8px; border-radius: 50%; background: var(--r-gold); }
.hx-when { font-size: .9rem; color: var(--r-muted); }
.hx-sheet-body { display: grid; gap: 14px; padding: 20px; }
.hx-sheet-sum { margin: 0; font: 1rem/1.5 var(--r-serif); color: var(--r-ink); }
.hx-dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; margin: 0; font: .95rem var(--r-sans); }
.hx-dl dt { color: var(--r-muted); }
.hx-dl dd { margin: 0; color: var(--r-ink); font-weight: 500; }
.hx-meter { height: 6px; border-radius: 3px; overflow: hidden; background: var(--r-grey-2); }
.hx-meter i { display: block; height: 100%; background: var(--r-gold); }
.hx-meter-line { display: flex; justify-content: space-between; gap: 12px; margin: 0; font: .9rem var(--r-sans); color: var(--r-muted); }
@media (prefers-reduced-motion: no-preference) { .hx-live i { animation: hx-pulse 2s ease-in-out infinite; } }
@keyframes hx-pulse { 50% { opacity: .35; } }

/* Steps: a real sequence, so it is numbered */
.hx-steps { display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; margin: 0; padding: 0; counter-reset: hx; }
.hx-steps li { position: relative; display: grid; gap: 10px; align-content: start; padding: 30px 28px 0 0; border-top: 2px solid var(--r-line); min-width: 0; }
.hx-steps li::before { counter-increment: hx; content: counter(hx); position: absolute; top: -15px; left: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--r-grey); border: 2px solid var(--r-primary); color: var(--r-primary); font: 600 .85rem/24px var(--font-mono, monospace); text-align: center; }
.hx-steps li:last-child { border-top-color: var(--r-gold); }
.hx-steps li:last-child::before { border-color: var(--r-gold); color: var(--r-gold-ink); }
.hx-steps p { margin: 0; font: 1rem/1.6 var(--r-serif); }
.hx-who { font: 500 .78rem var(--font-mono, monospace); letter-spacing: .06em; text-transform: uppercase; color: var(--r-muted); }
@media (max-width: 760px) { .hx-steps { grid-template-columns: 1fr; gap: 36px; } .hx-steps li { padding-right: 0; } }

/* Two kinds of call: side by side, never a carousel */
.hx-kinds { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.hx-kind { display: grid; gap: 12px; align-content: start; padding: 26px; background: #fff; border: 1px solid var(--r-line); border-radius: 12px; min-width: 0; }
.hx-kind p { margin: 0; font: 1rem/1.6 var(--r-serif); }
.hx-tag { font: 500 .78rem var(--font-mono, monospace); color: var(--r-muted); letter-spacing: .04em; }
@media (max-width: 760px) { .hx-kinds { grid-template-columns: 1fr; } }

/* Who you'll hear from */
.hx-roster { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--r-line); border: 1px solid var(--r-line); border-radius: 12px; overflow: hidden; }
.hx-role { display: grid; gap: 6px; align-content: start; padding: 22px; background: var(--r-grey); min-width: 0; }
.hx-role b { font: 700 1.05rem var(--r-display); color: var(--r-ink); }
.hx-role span { font: .98rem/1.5 var(--r-serif); }
.hx-role.is-guest b { color: var(--r-gold-ink); }
@media (max-width: 760px) { .hx-roster { grid-template-columns: 1fr 1fr; } }
@media (max-width: 440px) { .hx-roster { grid-template-columns: 1fr; } }

/* Where we look: market-cap bands */
.hx-scale-wrap { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(28px, 5vw, 64px); align-items: center; }
.hx-scale { display: grid; gap: 10px; min-width: 0; }
.hx-scale-bar { display: grid; grid-template-columns: 1fr 2fr 3fr; height: 56px; border: 1px solid var(--r-line); border-radius: 10px; overflow: hidden; }
.hx-scale-bar div { display: flex; align-items: center; padding: 0 14px; font: 700 .95rem var(--r-display); min-width: 0; }
.s-nano { background: var(--r-ink); color: #fff; }
.s-micro { background: var(--r-primary); color: #fff; }
.s-small { background: var(--r-grey-2); color: var(--r-ink); }
.hx-scale-ticks { display: grid; grid-template-columns: 1fr 2fr 3fr; font: 500 .8rem var(--font-mono, monospace); color: var(--r-muted); }
.hx-scale-ticks span + span { border-left: 1px solid var(--r-line); padding-left: 8px; }
.hx-scale-note { display: flex; align-items: center; gap: 10px; margin: 0; font: .92rem var(--r-sans); }
.hx-scale-note i { width: 28px; height: 3px; border-radius: 2px; background: var(--r-gold); }
@media (max-width: 880px) { .hx-scale-wrap { grid-template-columns: 1fr; } }
@media (max-width: 440px) { .hx-scale-bar div { padding: 0 8px; font-size: .8rem; } }

/* Pricing: one price and a credit picker */
.hx-price { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(24px, 5vw, 56px); align-items: center; padding: clamp(22px, 4vw, 40px); background: #fff; border: 1px solid var(--r-line); border-radius: 14px; }
.hx-price-main { display: grid; gap: 14px; min-width: 0; }
.hx-price-big { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin: 0; font: 500 1rem var(--r-sans); color: var(--r-muted); }
.hx-price-big .num { font: 800 clamp(3rem, 7vw, 4.4rem)/1 var(--r-display); letter-spacing: -.03em; color: var(--r-ink); }
.hx-promises { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 4px 0 0; padding: 0; list-style: none; font: .95rem var(--r-sans); }
.hx-promises li::before { content: "✓"; margin-right: 8px; font-weight: 700; color: var(--r-gold-ink); }
.hx-picker { display: grid; gap: 12px; padding: 20px; background: var(--r-grey); border-radius: 12px; font-family: var(--r-sans); min-width: 0; }
.hx-picker-label { font-weight: 600; color: var(--r-ink); }
.hx-stepper { display: grid; grid-template-columns: 48px 1fr 48px; overflow: hidden; background: #fff; border: 1px solid var(--r-line); border-radius: 8px; }
.hx-stepper button { border: 0; background: transparent; color: var(--r-ink); font: 600 1.3rem var(--r-sans); cursor: pointer; }
.hx-stepper button:hover { background: var(--r-grey); }
.hx-stepper input { width: 100%; min-width: 0; padding: 10px 0; border: 0; border-inline: 1px solid var(--r-line); background: transparent; color: var(--r-ink); font: 700 1.2rem var(--r-sans); text-align: center; -moz-appearance: textfield; }
.hx-stepper input::-webkit-outer-spin-button, .hx-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.hx-picker-total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0; }
.hx-picker-total [data-total] { font: 800 1.8rem var(--r-display); color: var(--r-ink); }
.hx-picker-total [data-each] { font-size: .92rem; color: var(--r-muted); }
.hx-picker-hint { min-height: 1.3em; margin: 0; font-size: .88rem; color: var(--r-gold-ink); }
@media (max-width: 820px) { .hx-price { grid-template-columns: 1fr; } }

/* Close */
.hx-close { background: var(--r-grey); }
.hx-close .r-wrap { display: grid; gap: 20px; }

/* Logo lockup (Sean, Oct 2026): bars mark plus the original bold all-caps wordmark. */
.r-logo-lockup { display: inline-flex; align-items: center; gap: 10px; }
.r-logo-mark { display: block; width: 28px; height: 28px; flex: none; }
.r-logo-word { font: 800 1.2rem/1 Archivo, Arial Black, Arial, sans-serif; font-stretch: 100%; letter-spacing: .04em; text-transform: uppercase; color: var(--r-ink); white-space: nowrap; }
.r-logo-word span { color: var(--r-primary); }
@media (max-width: 899px) { .r-logo-mark { width: 24px; height: 24px; } .r-logo-word { font-size: 1.05rem; } }
@media (max-width: 359px) { .r-logo-word { font-size: .95rem; letter-spacing: .02em; } }
/* Bold outlined lockup (mark + wordmark in one SVG, 7:1). */
.r-logo-bold { display: block; height: 28px; width: auto; }
@media (max-width: 899px) { .r-logo-bold { height: 24px; } }
@media (max-width: 359px) { .r-logo-bold { height: 20px; } }

/* ── Readability for older readers (Sean, Oct 2026) ───────────────────────
   Many clients are older. Base text goes to 18px, nothing a reader needs is
   smaller than 16px (small uppercase labels 15px), and the grey used for
   secondary text is darker for contrast (about 8:1 on white). Decorative
   screen mock-ups (.ui-*) keep their own sizes. */
:root { --r-muted: #46506B; }
body { font-size: 18px; line-height: 1.65; }
.r-faq-a, .r-body, .prose.legal p, .prose.legal li { font-size: 1.0625rem; }
.r-micro, .r-disclaimer, .r-foot-support, .r-foot-legal, .r-foot-tag, .r-foot li, .r-foot a,
.r-cd.countdown span, .r-desk-meta, .r-table th, .r-meta dt, .r-book-note, .r-book .field label,
.r-auth .hint, .r-seatbar-meta, .r-seatbar-seats, .waitlist-note, .waitlist-form label, .field-error,
.legal-meta, .form-note { font-size: 16px; }
.r-type-body .r-type-meta { font-size: 15px; }

/* Home v2 */
.hx-lead { font-size: 1.3rem; }
.hx-body, .hx-steps p, .hx-kind p, .hx-sheet-sum { font-size: 1.125rem; }
.hx-role span { font-size: 1.0625rem; }
.hx-fine, .hx-meter-line, .hx-scale-note, .hx-picker-hint, .hx-when { font-size: 1rem; }
.hx-dl, .hx-promises { font-size: 1.0625rem; }
.hx-eyebrow, .hx-who, .hx-tag, .hx-live, .hx-scale-ticks { font-size: .9rem; color: var(--r-muted); }
.hx-live { color: var(--r-gold-ink); }
.hx-picker-total [data-each] { font-size: 1rem; }
@media (max-width: 440px) { .hx-scale-bar div { font-size: .9rem; } }


/* Home v2: tour video in the hero (Sean, Oct 2026); next interview moves just below. */
.hx-video { margin: 0; display: grid; gap: 10px; min-width: 0; }
.hx-video video { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 9; background: var(--r-ink); border-radius: 14px; box-shadow: var(--r-shadow); }
.hx-video figcaption { font: 1rem var(--r-sans); color: var(--r-muted); }
.hx-nextband { padding-block: 0 clamp(40px, 6vw, 64px); }
.hx-nextband .hx-sheet { max-width: 720px; }
.hx-hero { border-bottom: 0; }

/* Independence line under the steps (Sean, Oct 2026). */
.hx-indep { margin: 40px 0 0; padding-top: 20px; border-top: 1px solid var(--r-line); font: 600 1.125rem var(--r-sans); color: var(--r-ink); }
.hx-indep::before { content: ""; display: inline-block; width: 18px; height: 3px; margin: 0 12px 4px 0; border-radius: 2px; background: var(--r-gold); vertical-align: middle; }

/* Independence line, bolder (Sean, Oct 2026): a navy band with a gold edge. */
.hx-indep { display: flex; align-items: center; gap: 16px; margin: 48px 0 0; padding: 22px 28px; border: 0; border-left: 6px solid var(--r-gold); border-radius: 10px; background: var(--r-ink); color: #fff; font: 800 clamp(1.25rem, 2.4vw, 1.6rem)/1.3 var(--r-display); letter-spacing: -.01em; text-wrap: balance; }
.hx-indep::before { content: none; }


/* Market-cap focus, v2 (Sean, Oct 2026): equal bands (not to scale), MicroCap highlighted,
   a gold bracket over NanoCap + MicroCap, SmallCap faded as occasional. */
.hx-range { display: grid; gap: 12px; min-width: 0; }
.hx-range-focus { width: 66.66%; border-top: 4px solid var(--r-gold); border-left: 4px solid var(--r-gold); border-right: 4px solid var(--r-gold); border-radius: 6px 6px 0 0; height: 18px; position: relative; }
.hx-range-focus span { position: absolute; top: -34px; left: 0; font: 700 1rem var(--r-sans); color: var(--r-gold-ink); }
.hx-range-track { display: grid; grid-template-columns: 1fr 1fr 1fr; border-radius: 12px; overflow: hidden; border: 1px solid var(--r-line); }
.hx-range-track div { display: grid; gap: 2px; padding: 18px 16px; min-width: 0; }
.hx-range-track b { font: 800 1.15rem var(--r-display); }
.hx-range-track small { font: 500 .95rem var(--r-sans); }
.hx-range-note { margin: 4px 0 0; font: 1.0625rem/1.5 var(--r-serif); color: var(--r-ink); }
.hx-range { padding-top: 34px; }
@media (max-width: 480px) { .hx-range-track div { padding: 14px 10px; } .hx-range-track b { font-size: 1rem; } .hx-range-track small { font-size: .85rem; } }

/* Fixes from Sophia audit #164 (Oct 2026).
   1. The floating next-call card docks to the bottom edge at every width, so it never sits
      over a section; the title wraps to two lines instead of being cut off; page content
      gets room so the bar does not cover the last lines. */
.r-seatbar { left: 0; right: 0; bottom: 0; width: auto; border-radius: 0; border-width: 1px 0 0; grid-template-columns: minmax(0, 1fr) auto 44px; align-items: center; gap: 8px 16px; padding: 12px max(24px, calc((100vw - 1160px) / 2)) calc(12px + env(safe-area-inset-bottom)); min-height: 72px; }
.r-seatbar-cta { grid-column: 2; grid-row: 1; }
.r-seatbar-x { grid-column: 3; grid-row: 1; }
.r-seatbar-body { grid-column: 1; grid-row: 1; }
.r-seatbar-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; white-space: normal; overflow: hidden; line-height: 1.3; }
.r-seatbar-title .tally { display: inline-flex; vertical-align: middle; margin-right: 8px; }
html.has-seatbar main { padding-bottom: 88px; }
@media (max-width: 599px) { .r-seatbar-meta { display: none; } .r-seatbar { padding-inline: 12px; gap: 8px; } }
/* 2. Market-cap bands: same top and height for all three; colour, the gold bracket and the
      bold label carry the MicroCap emphasis. */
.hx-range-track { align-items: stretch; }
.hx-range-track div { align-content: center; }
/* Band classes renamed (r-micro clashed with the small-print .r-micro rule). */
.hx-band-nano { background: var(--r-ink); color: #fff; }
.hx-band-micro { background: var(--r-primary); color: #fff; }
.hx-band-small { background: repeating-linear-gradient(135deg, var(--r-grey) 0 10px, #fff 10px 20px); color: var(--r-muted); }
.hx-band-small b { color: var(--r-muted); }


/* Call page: independence callout in the booking box (Sean, Oct 2026). Stands out through
   weight and a gold edge on a soft warm tint, not a loud colour block. */
.hx-trust { margin: 16px 0 0; padding: 12px 14px; border-left: 4px solid var(--r-gold); border-radius: 6px; background: #FBF6E9; color: var(--r-ink); font: 600 1rem/1.45 var(--r-sans); }
.hx-trust + .r-micro { margin-top: 10px; }


/* Interim pricing plans (Sean, Oct 2026): Standard + Pro (coming soon) + first-call guarantee. */
.hx-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.hx-plan { display: grid; gap: 14px; align-content: start; padding: 26px; background: #fff; border: 1px solid var(--r-line); border-radius: 14px; min-width: 0; }
.hx-plan:first-child { border-color: var(--r-gold); box-shadow: var(--r-shadow); }
.hx-plan.is-soon { background: var(--r-grey); }
.hx-plan-tag { margin: 0; display: flex; align-items: center; gap: 10px; font: 700 1rem var(--r-sans); color: var(--r-ink); text-transform: uppercase; letter-spacing: .06em; }
.hx-soon { font: 600 .8rem var(--r-sans); letter-spacing: .04em; text-transform: none; color: var(--r-gold-ink); background: #FBF6E9; border: 1px solid #EAD9A8; border-radius: 999px; padding: 2px 10px; }
.hx-plan-price { margin: 0; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; font: 500 1.05rem var(--r-sans); color: var(--r-muted); }
.hx-plan-price .num { font: 800 clamp(2.6rem, 6vw, 3.6rem)/1 var(--r-display); color: var(--r-ink); letter-spacing: -.03em; }
.hx-plan-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; font: 1.0625rem/1.5 var(--r-serif); }
.hx-plan-list li::before { content: "✓"; margin-right: 10px; font-weight: 700; color: var(--r-gold-ink); }
.hx-plan .btn[aria-disabled="true"] { opacity: .6; cursor: default; justify-content: center; }
.hx-guarantee { margin: 24px 0 0; padding: 18px 22px; border-left: 6px solid var(--r-gold); border-radius: 10px; background: var(--r-ink); color: #fff; font: 1.125rem/1.5 var(--r-sans); }
.hx-guarantee b { font-family: var(--r-display); font-weight: 800; }
.hx-plan-note { margin: 14px 0 0; font: 1rem/1.5 var(--r-serif); color: var(--r-muted); max-width: 60em; }
@media (max-width: 760px) { .hx-plans { grid-template-columns: 1fr; } }
