/* ═══════════════════════════════════════════════════════════════
   BIOHEALTHCARE CLUB — REDESIGN
   Editorial · Clinical · Architectural Calm
═══════════════════════════════════════════════════════════════ */

/* ─── GOOGLE FONTS — matching biohealthcareresorts.com hero ── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Manrope:wght@300;400;500;600&display=swap');

/* ── Page styles that load before the shared base rules (bhc.css order preserved) ── */

/* ═══════════════════════════════════════════════════════════
   PAGE: apply.php  (scoped to html.page-apply)
═══════════════════════════════════════════════════════════ */
/* ─── Apply Page — Membership Tier Selector ─── */
:where(.page-apply) .tier-selector {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.07);
  margin-bottom: 2.5rem;
}

@media (max-width: 640px) {
  :where(.page-apply) .tier-selector { grid-template-columns: 1fr; }
}

:where(.page-apply) .tier-opt {
  background: var(--bg-2, #0d0d0d);
  padding: 1.75rem 1.5rem;
  cursor: pointer;
  position: relative;
  transition: background 0.2s;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

:where(.page-apply) .tier-opt:hover { background: var(--bg-hover, #141414); }

:where(.page-apply) .tier-opt.active {
  background: var(--bg-hover, #141414);
  outline: 1px solid var(--sage, #8fa88a);
  outline-offset: -1px;
  z-index: 1;
}

:where(.page-apply) .tier-opt input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

:where(.page-apply) .tier-opt-badge {
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--sage, #8fa88a);
  font-weight: 500;
}

:where(.page-apply) .tier-opt-name {
  font-family: var(--f-display, serif);
  font-size: clamp(22px, 2.5vw, 30px);
  font-weight: 300;
  font-style: italic;
  color: var(--white, #f5f0e8);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

:where(.page-apply) .tier-opt-desc {
  font-size: 13px;
  color: var(--t3, rgba(245,240,232,0.5));
  line-height: 1.55;
  margin-top: 0.25rem;
}

:where(.page-apply) .tier-opt-check {
  width: 18px;
  height: 18px;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 50%;
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s, background 0.2s;
  flex-shrink: 0;
  align-self: flex-start;
}

:where(.page-apply) .tier-opt.active .tier-opt-check {
  border-color: var(--sage, #8fa88a);
  background: var(--sage, #8fa88a);
}

:where(.page-apply) .tier-opt.active .tier-opt-check::after {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0a0a0a;
}

/* Elite gold accent */
:where(.page-apply) .tier-opt--elite .tier-opt-badge { color: var(--gold, #c9a86c); }
:where(.page-apply) .tier-opt--elite.active { outline-color: var(--gold, #c9a86c); }
:where(.page-apply) .tier-opt--elite.active .tier-opt-check { border-color: var(--gold, #c9a86c); background: var(--gold, #c9a86c); }

/* Location field — shown/hidden based on tier */
:where(.page-apply) .location-field { display: none; }
:where(.page-apply) .location-field.visible { display: block; }
:where(.page-apply) .form-field.location-field, :where(.page-apply) .form-field.city-field { display: none; }
:where(.page-apply) .form-field.location-field.visible, :where(.page-apply) .form-field.city-field.visible { display: flex; }

/* ─── Membership panel comparison ─── */
:where(.page-apply) .apply-compare {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5px;
  background: rgba(255,255,255,0.06);
  border: 1.5px solid rgba(255,255,255,0.06);
  margin-top: clamp(3rem, 5vw, 5rem);
}

@media (max-width: 1100px) {
  :where(.page-apply) .apply-compare { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  :where(.page-apply) .apply-compare { grid-template-columns: 1fr; }
}
/* Freedom Active gold accent */
:where(.page-apply) .tier-opt--active .tier-opt-badge { color: var(--gold, #c9a86c); }
:where(.page-apply) .tier-opt--active.active { outline-color: var(--gold, #c9a86c); }
:where(.page-apply) .tier-opt--active.active .tier-opt-check { border-color: var(--gold, #c9a86c); background: var(--gold, #c9a86c); }
:where(.page-apply) .apply-compare-tag--active { color: var(--gold, #c9a86c) !important; }
:where(.page-apply) .apply-compare-list li.plus { color: var(--gold, #c9a86c); }
:where(.page-apply) .ac-price { font-family: var(--f-display, serif); font-weight: 300; font-size: clamp(26px, 2.4vw, 34px); color: var(--t1, #f5f0e8); line-height: 1.1; margin: 0.35rem 0 0.15rem; }
:where(.page-apply) .ac-price small { font-family: var(--f-body, sans-serif); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--t3, rgba(245,240,232,0.55)); margin-left: 0.35rem; }
:where(.page-apply) .ac-price--gold { color: var(--gold, #c9a86c); }
:where(.page-apply) .ac-fee { font-size: 11.5px; color: var(--t3, rgba(245,240,232,0.55)); letter-spacing: 0.04em; margin-bottom: 0.35rem; }
:where(.page-apply) .pay-note { margin-top: 1.25rem; padding: 1.1rem 1.25rem; border: 1px solid rgba(201,168,108,0.35); background: rgba(201,168,108,0.05); font-size: 13px; line-height: 1.6; color: var(--t2, rgba(245,240,232,0.75)); }
:where(.page-apply) .pay-note b { color: var(--gold, #c9a86c); font-weight: 500; }
:where(.page-apply) .fee-band { margin-top: 1.5px; padding: 1.4rem clamp(1.5rem,2.5vw,2.5rem); background: var(--bg-2, #0d0d0d); border: 1.5px solid rgba(255,255,255,0.06); display: flex; flex-wrap: wrap; gap: 0.75rem 2rem; align-items: baseline; justify-content: space-between; }
:where(.page-apply) .fee-band strong { font-family: var(--f-display, serif); font-weight: 300; font-size: clamp(22px, 2vw, 28px); color: var(--gold, #c9a86c); }
:where(.page-apply) .fee-band span { font-size: 13.5px; color: var(--t2, rgba(245,240,232,0.75)); line-height: 1.6; max-width: 80ch; }
:where(.page-apply) .ac-price--var { font-size: clamp(17px, 1.5vw, 20px); font-style: italic; }
:where(.page-apply) .tier-opt-price { font-size: 12px; letter-spacing: 0.08em; color: var(--t1, #f5f0e8); }
:where(.page-apply) .tier-opt--active .tier-opt-price { color: var(--gold, #c9a86c); }


:where(.page-apply) .apply-compare-card {
  background: var(--bg-2, #0d0d0d);
  padding: clamp(1.5rem, 2.5vw, 2.5rem);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

:where(.page-apply) .apply-compare-tag {
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--sage, #8fa88a);
}

:where(.page-apply) .apply-compare-tag--elite { color: var(--gold, #c9a86c); }

:where(.page-apply) .apply-compare-name {
  font-family: var(--f-display, serif);
  font-size: clamp(24px, 2.8vw, 36px);
  font-weight: 300;
  font-style: italic;
  color: var(--white, #f5f0e8);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

:where(.page-apply) .apply-compare-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(255,255,255,0.07);
}

:where(.page-apply) .apply-compare-list li {
  font-size: 13px;
  color: var(--t3, rgba(245,240,232,0.55));
  line-height: 1.5;
  display: flex;
  gap: 0.6rem;
}

:where(.page-apply) .apply-compare-list li::before {
  content: '·';
  color: var(--sage, #8fa88a);
  flex-shrink: 0;
}

:where(.page-apply) .apply-compare-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sage, #8fa88a);
  text-decoration: none;
  margin-top: auto;
  padding-top: 1rem;
  transition: gap 0.2s;
}

:where(.page-apply) .apply-compare-link:hover { gap: 0.75rem; }
:where(.page-apply) .apply-compare-link--elite { color: var(--gold, #c9a86c); }

/* ─── Apply hero specifics ─── */
:where(.page-apply) .apply-hero-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 100vh;
}

@media (max-width: 800px) {
  :where(.page-apply) .apply-hero-split { grid-template-columns: 1fr; min-height: auto; }
  :where(.page-apply) .apply-hero-media { min-height: 50vw; }
}

:where(.page-apply) .apply-hero-media {
  position: relative;
  overflow: hidden;
}

:where(.page-apply) .apply-hero-media video,
:where(.page-apply) .apply-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

:where(.page-apply) .apply-hero-media-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(10,10,10,0.35) 0%, transparent 100%);
  z-index: 1;
}

:where(.page-apply) .apply-hero-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(3rem, 6vw, 7rem) clamp(2rem, 5vw, 6rem);
  background: var(--bg-1, #0a0a0a);
}

:where(.page-apply) .apply-hero-content .kicker { margin-bottom: 1.5rem; }

:where(.page-apply) .apply-hero-content h1 {
  font-family: var(--f-display, serif);
  font-weight: 300;
  font-size: clamp(40px, 5vw, 72px);
  line-height: 1.02;
  letter-spacing: -0.025em;
  color: var(--white, #f5f0e8);
  margin: 0;
}

:where(.page-apply) .apply-hero-content h1 em {
  font-style: italic;
  color: var(--sage-2, #c2d4bb);
}

:where(.page-apply) .apply-hero-sub {
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.65;
  color: var(--t2, rgba(245,240,232,0.7));
  margin-top: 1.75rem;
  max-width: 44ch;
}

:where(.page-apply) .apply-hero-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 2.5rem;
}

:where(.page-apply) .apply-hero-step {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(255,255,255,0.07);
}

:where(.page-apply) .apply-hero-step:last-child { border-bottom: 1px solid rgba(255,255,255,0.07); }

:where(.page-apply) .apply-hero-step-n {
  font-family: var(--f-mono, monospace);
  font-size: 11px;
  color: var(--sage, #8fa88a);
  letter-spacing: 0.1em;
  padding-top: 2px;
  flex-shrink: 0;
  width: 2.5ch;
}

:where(.page-apply) .apply-hero-step-text {
  font-size: 14px;
  color: var(--t2, rgba(245,240,232,0.7));
  line-height: 1.5;
}

:where(.page-apply) .apply-hero-step-text em {
  font-style: normal;
  color: var(--white, #f5f0e8);
}

/* ─── Trusted badges strip ─── */
:where(.page-apply) .apply-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2.5rem;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255,255,255,0.07);
}

:where(.page-apply) .apply-trust-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--t3, rgba(245,240,232,0.45));
}

:where(.page-apply) .apply-trust-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--sage, #8fa88a);
  flex-shrink: 0;
}


/* ═══════════════════════════════════════════════════════════
   PAGE: membership.php  (scoped to html.page-membership)
═══════════════════════════════════════════════════════════ */
/* ─── Apply Page — Membership Tier Selector ─── */
:where(.page-membership) .tier-selector {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.07);
  margin-bottom: 2.5rem;
  align-items: stretch;
}

@media (max-width: 640px) {
  :where(.page-membership) .tier-selector { grid-template-columns: 1fr; }
}

:where(.page-membership) .tier-opt {
  background: var(--bg-2, #0d0d0d);
  padding: 1.75rem 1.5rem;
  cursor: pointer;
  position: relative;
  transition: background 0.2s;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  box-sizing: border-box;
}

:where(.page-membership) .tier-opt-check {
  /* moved to top; pushed to bottom via margin-top: auto on desc */
}

:where(.page-membership) .tier-opt-desc {
  font-size: 13px;
  color: var(--t3, rgba(245,240,232,0.5));
  line-height: 1.55;
  margin-top: auto;
}

:where(.page-membership) .tier-opt:hover { background: var(--bg-hover, #141414); }

:where(.page-membership) .tier-opt.active {
  background: var(--bg-hover, #141414);
  outline: 1px solid var(--sage, #8fa88a);
  outline-offset: -1px;
  z-index: 1;
}

:where(.page-membership) .tier-opt input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

:where(.page-membership) .tier-opt-badge {
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--sage, #8fa88a);
  font-weight: 500;
}

:where(.page-membership) .tier-opt-name {
  font-family: var(--f-display, serif);
  font-size: clamp(22px, 2.5vw, 30px);
  font-weight: 300;
  font-style: italic;
  color: var(--white, #f5f0e8);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

/* tier-opt-desc defined above */

:where(.page-membership) .tier-opt-check {
  width: 18px;
  height: 18px;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s, background 0.2s;
  flex-shrink: 0;
  align-self: flex-start;
  margin-bottom: 0.5rem;
}

:where(.page-membership) .tier-opt.active .tier-opt-check {
  border-color: var(--sage, #8fa88a);
  background: var(--sage, #8fa88a);
}

:where(.page-membership) .tier-opt.active .tier-opt-check::after {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0a0a0a;
}

/* Elite gold accent */
:where(.page-membership) .tier-opt--elite .tier-opt-badge { color: var(--gold, #c9a86c); }
:where(.page-membership) .tier-opt--elite.active { outline-color: var(--gold, #c9a86c); }
:where(.page-membership) .tier-opt--elite.active .tier-opt-check { border-color: var(--gold, #c9a86c); background: var(--gold, #c9a86c); }

/* Location field — shown/hidden based on tier */
:where(.page-membership) .location-field { display: none; }
:where(.page-membership) .location-field.visible { display: block; }
:where(.page-membership) .form-field.location-field, :where(.page-membership) .form-field.city-field { display: none; }
:where(.page-membership) .form-field.location-field.visible, :where(.page-membership) .form-field.city-field.visible { display: flex; }

/* ─── Membership panel comparison ─── */
:where(.page-membership) .apply-compare {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5px;
  background: rgba(255,255,255,0.06);
  border: 1.5px solid rgba(255,255,255,0.06);
  margin-top: clamp(3rem, 5vw, 5rem);
}

@media (max-width: 1100px) {
  :where(.page-membership) .apply-compare { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  :where(.page-membership) .apply-compare { grid-template-columns: 1fr; }
}
/* Freedom Active gold accent */
:where(.page-membership) .tier-opt--active .tier-opt-badge { color: var(--gold, #c9a86c); }
:where(.page-membership) .tier-opt--active.active { outline-color: var(--gold, #c9a86c); }
:where(.page-membership) .tier-opt--active.active .tier-opt-check { border-color: var(--gold, #c9a86c); background: var(--gold, #c9a86c); }
:where(.page-membership) .apply-compare-tag--active { color: var(--gold, #c9a86c) !important; }
:where(.page-membership) .apply-compare-list li.plus { color: var(--gold, #c9a86c); }
:where(.page-membership) .ac-price { font-family: var(--f-display, serif); font-weight: 300; font-size: clamp(26px, 2.4vw, 34px); color: var(--t1, #f5f0e8); line-height: 1.1; margin: 0.35rem 0 0.15rem; }
:where(.page-membership) .ac-price small { font-family: var(--f-body, sans-serif); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--t3, rgba(245,240,232,0.55)); margin-left: 0.35rem; }
:where(.page-membership) .ac-price--gold { color: var(--gold, #c9a86c); }
:where(.page-membership) .ac-fee { font-size: 11.5px; color: var(--t3, rgba(245,240,232,0.55)); letter-spacing: 0.04em; margin-bottom: 0.35rem; }
:where(.page-membership) .pay-note { margin-top: 1.25rem; padding: 1.1rem 1.25rem; border: 1px solid rgba(201,168,108,0.35); background: rgba(201,168,108,0.05); font-size: 13px; line-height: 1.6; color: var(--t2, rgba(245,240,232,0.75)); }
:where(.page-membership) .pay-note b { color: var(--gold, #c9a86c); font-weight: 500; }
:where(.page-membership) .fee-band { margin-top: 1.5px; padding: 1.4rem clamp(1.5rem,2.5vw,2.5rem); background: var(--bg-2, #0d0d0d); border: 1.5px solid rgba(255,255,255,0.06); display: flex; flex-wrap: wrap; gap: 0.75rem 2rem; align-items: baseline; justify-content: space-between; }
:where(.page-membership) .fee-band strong { font-family: var(--f-display, serif); font-weight: 300; font-size: clamp(22px, 2vw, 28px); color: var(--gold, #c9a86c); }
:where(.page-membership) .fee-band span { font-size: 13.5px; color: var(--t2, rgba(245,240,232,0.75)); line-height: 1.6; max-width: 80ch; }
:where(.page-membership) .ac-price--var { font-size: clamp(17px, 1.5vw, 20px); font-style: italic; }
:where(.page-membership) .tier-opt-price { font-size: 12px; letter-spacing: 0.08em; color: var(--t1, #f5f0e8); }
:where(.page-membership) .tier-opt--active .tier-opt-price { color: var(--gold, #c9a86c); }


:where(.page-membership) .apply-compare-card {
  background: var(--bg-2, #0d0d0d);
  padding: clamp(1.5rem, 2.5vw, 2.5rem);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

:where(.page-membership) .apply-compare-tag {
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--sage, #8fa88a);
}

:where(.page-membership) .apply-compare-tag--elite { color: var(--gold, #c9a86c); }

:where(.page-membership) .apply-compare-name {
  font-family: var(--f-display, serif);
  font-size: clamp(24px, 2.8vw, 36px);
  font-weight: 300;
  font-style: italic;
  color: var(--white, #f5f0e8);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

:where(.page-membership) .apply-compare-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(255,255,255,0.07);
}

:where(.page-membership) .apply-compare-list li {
  font-size: 13px;
  color: var(--t3, rgba(245,240,232,0.55));
  line-height: 1.5;
  display: flex;
  gap: 0.6rem;
}

:where(.page-membership) .apply-compare-list li::before {
  content: '·';
  color: var(--sage, #8fa88a);
  flex-shrink: 0;
}

:where(.page-membership) .apply-compare-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sage, #8fa88a);
  text-decoration: none;
  margin-top: auto;
  padding-top: 1rem;
  transition: gap 0.2s;
}

:where(.page-membership) .apply-compare-link:hover { gap: 0.75rem; }
:where(.page-membership) .apply-compare-link--elite { color: var(--gold, #c9a86c); }

/* ─── Apply hero specifics ─── */
:where(.page-membership) .apply-hero-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 100vh;
}

@media (max-width: 800px) {
  :where(.page-membership) .apply-hero-split { grid-template-columns: 1fr; min-height: auto; }
  :where(.page-membership) .apply-hero-media { min-height: 50vw; }
}

:where(.page-membership) .apply-hero-media {
  position: relative;
  overflow: hidden;
}

:where(.page-membership) .apply-hero-media video,
:where(.page-membership) .apply-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

:where(.page-membership) .apply-hero-media-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(10,10,10,0.35) 0%, transparent 100%);
  z-index: 1;
}

:where(.page-membership) .apply-hero-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(3rem, 6vw, 7rem) clamp(2rem, 5vw, 6rem);
  background: var(--bg-1, #0a0a0a);
}

:where(.page-membership) .apply-hero-content .kicker { margin-bottom: 1.5rem; }

:where(.page-membership) .apply-hero-content h1 {
  font-family: var(--f-display, serif);
  font-weight: 300;
  font-size: clamp(40px, 5vw, 72px);
  line-height: 1.02;
  letter-spacing: -0.025em;
  color: var(--white, #f5f0e8);
  margin: 0;
}

:where(.page-membership) .apply-hero-content h1 em {
  font-style: italic;
  color: var(--sage-2, #c2d4bb);
}

:where(.page-membership) .apply-hero-sub {
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.65;
  color: var(--t2, rgba(245,240,232,0.7));
  margin-top: 1.75rem;
  max-width: 44ch;
}

:where(.page-membership) .apply-hero-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 2.5rem;
}

:where(.page-membership) .apply-hero-step {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(255,255,255,0.07);
}

:where(.page-membership) .apply-hero-step:last-child { border-bottom: 1px solid rgba(255,255,255,0.07); }

:where(.page-membership) .apply-hero-step-n {
  font-family: var(--f-mono, monospace);
  font-size: 11px;
  color: var(--sage, #8fa88a);
  letter-spacing: 0.1em;
  padding-top: 2px;
  flex-shrink: 0;
  width: 2.5ch;
}

:where(.page-membership) .apply-hero-step-text {
  font-size: 14px;
  color: var(--t2, rgba(245,240,232,0.7));
  line-height: 1.5;
}

:where(.page-membership) .apply-hero-step-text em {
  font-style: normal;
  color: var(--white, #f5f0e8);
}

/* ─── Trusted badges strip ─── */
:where(.page-membership) .apply-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2.5rem;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255,255,255,0.07);
}

:where(.page-membership) .apply-trust-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--t3, rgba(245,240,232,0.45));
}

:where(.page-membership) .apply-trust-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--sage, #8fa88a);
  flex-shrink: 0;
}

/* ── Shared base styles ── */
:root {
  /* Surface */
  --bg:       #071218;
  --bg-2:     #0B1715;
  --bg-3:     #0F1C1A;
  --ink:      #050B0E;

  /* Lines */
  --line:    rgba(217,212,203,0.08);
  --line-2:  rgba(217,212,203,0.16);
  --line-3:  rgba(217,212,203,0.28);

  /* Accent */
  --sage:    #7F947C;
  --sage-2:  #94A691;
  --sage-dim:#5A6E58;
  --sage-glow: rgba(127,148,124,0.16);
  --gold:    #C9B783;

  /* Text */
  --t1: #D9D4CB;
  --t2: #A7B0AA;
  --t3: #6B7570;
  --t4: #4A524D;

  /* Type */
  --f-display: "Playfair+Display", "Cormorant", "Times New Roman", serif;
  --f-body: "Manrope", -apple-system, BlinkMacSystemFont, sans-serif;
  --f-mono: "JetBrains Mono", ui-monospace, monospace;

  /* Motion */
  --ease-out: cubic-bezier(.2,.7,.2,1);
  --ease-soft: cubic-bezier(.4,0,.2,1);
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; scroll-behavior: smooth; }

body {
  color-scheme: dark;
  font-family: var(--f-body);
  font-weight: 300;
  font-size: 16px;
  line-height: 1.7;
  color: var(--t1);
  background: var(--bg);
  overflow-x: hidden;
  letter-spacing: 0.005em;
}

img, video { display: block; max-width: 100%; }

a { color: inherit; text-decoration: none; }

button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }

::selection { background: var(--sage); color: var(--ink); }

/* ─── TYPE PRIMITIVES ─────────────────────────────────────── */

.h-display {
  font-family: var(--f-display);
  font-weight: 300;
  letter-spacing: -0.015em;
  line-height: 1.02;
  color: var(--t1);
  text-wrap: balance;
	font-size: 60px!important;
}
.h-display em { font-style: italic; color: var(--sage-2); font-weight: 300; }

.h1 { font-size: clamp(56px, 8.4vw, 110px); }
.h2 { font-size: clamp(44px, 6vw, 62px); }
.h3 { font-size: clamp(34px, 4vw, 64px); }
.h4 { font-size: clamp(26px, 2.6vw, 40px); }

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  font-family: var(--f-body);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold);
}
.eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: var(--gold);
  opacity: 0.7;
}
.eyebrow.no-rule::before { display: none; }

.kicker {
  font-family: var(--f-body);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #fff;
}

.lead { font-size: 18px; color: var(--t2); line-height: 1.75; max-width: 56ch; }
.body-l { font-size: 16.5px; color: var(--t2); line-height: 1.85; max-width: 90ch; }
.body { font-size: 15px; color: var(--t2); line-height: 1.8; }
.cap  { font-size: 13px; color: var(--t3); letter-spacing: 0.22em; text-transform: uppercase; }

/* ─── LAYOUT PRIMITIVES ───────────────────────────────────── */

.wrap { width: 100%; max-width: 1480px; margin: 0 auto; padding: 0 clamp(1.5rem, 4vw, 4rem); }
.wrap-tight { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 clamp(1.5rem, 4vw, 4rem); }

.section { padding: clamp(3rem, 11vw, 3rem) 0; }
.section-tight { padding: clamp(4rem, 7vw, 7rem) 0; }

.bg-1 { background: var(--bg-2); }
.bg-2 { background: var(--bg-3); }

.rule { height: 1px; background: var(--line); width: 100%; }
.rule-sage { height: 1px; background: var(--sage); width: 56px; opacity: 0.8; }

/* ─── BUTTONS ─────────────────────────────────────────────── */

.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.05rem 1.85rem;
  font-family: var(--f-body);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--sage);
  border: 1px solid var(--sage);
  transition: all 0.4s var(--ease-out);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}
.btn:hover { background: var(--sage-2); border-color: var(--sage-2); transform: translateY(-1px); }
.btn .arrow { transition: transform 0.4s var(--ease-out); }
.btn:hover .arrow { transform: translateX(4px); }

.btn-ghost {
  background: transparent;
  color: var(--t1);
  border: 1px solid var(--line-3);
}
.btn-ghost:hover { background: rgba(217,212,203,0.04); border-color: var(--t1); transform: translateY(-1px); }

.btn-line {
  background: transparent;
  color: var(--sage);
  border: 1px solid var(--sage);
}
.btn-line:hover { background: var(--sage-glow); }

.btn-link {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0;
  background: transparent;
  border: 0;
  font-family: var(--f-body);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--sage);
  border-bottom: 1px solid var(--sage);
  padding-bottom: 0.4rem;
  transition: all 0.4s var(--ease-out);
}
.btn-link:hover { color: var(--sage-2); border-color: var(--sage-2); }
.btn-link .arrow { transition: transform 0.4s var(--ease-out); }
.btn-link:hover .arrow { transform: translateX(4px); }

/* ─── NAV ─────────────────────────────────────────────────── */

.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 1.5rem clamp(1.5rem, 4vw, 4rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  transition: all 0.4s var(--ease-out);
  background: linear-gradient(to bottom, rgba(7,18,24,0.6), rgba(7,18,24,0));
}
.nav.solid {
  background: rgba(7,18,24,0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--line);
  padding: 1rem clamp(1.5rem, 4vw, 4rem);
}

.nav-brand {
  font-family: var(--f-display);
  font-size: 22px;
  font-weight: 300;
  letter-spacing: -0.01em;
  color: var(--t1);
  display: flex;
  align-items: baseline;
  gap: 0.1rem;
	width: 50%;
}
.nav-brand strong { font-weight: 500; }
.nav-brand .tm { font-size: 10px; color: var(--sage); margin-left: 2px; transform: translateY(-8px); }

.nav-links {
  display: flex;
  gap: 0.25rem;
  align-items: center;
}
.nav-link {
  position: relative;
  padding: 0.5rem 1.1rem;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--t2);
  transition: color 0.3s var(--ease-out);
  cursor: pointer;
}
.nav-link:hover, .nav-link.active { color: var(--t1); }
.nav-link.active::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 1.1rem; right: 1.1rem;
  height: 1px;
  background: var(--sage);
}

.nav-r { display: flex; align-items: center; gap: 1rem; }
.nav-r .btn { padding: 0.75rem 1.4rem; font-size: 10.5px; }

/* Mega dropdown */
.nav-mega-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.nav-mega-trigger::after {
  content: "+";
  font-size: 14px;
  color: var(--t3);
  transition: transform 0.3s var(--ease-out);
}
.nav-item:hover .nav-mega-trigger::after,
.nav-item.open .nav-mega-trigger::after { transform: rotate(45deg); color: var(--sage); }

.nav-item { position: relative; }
.nav-mega {
  position: fixed;
  top: 0;
  left: 0; right: 0;
  background: rgba(7,18,24,0.97);
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  border-bottom: 1px solid var(--line);
  padding: 6.5rem clamp(1.5rem, 4vw, 4rem) 4rem;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-12px);
  transition: all 0.45s var(--ease-out);
  z-index: 99;
}
.nav-item:hover .nav-mega,
.nav-item.open .nav-mega { opacity: 1; pointer-events: auto; transform: translateY(0); }

.mega-inner {
  max-width: 1480px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: clamp(2rem, 4vw, 4rem);
}
.mega-head { font-family: var(--f-body); font-size: 10px; font-weight: 600; letter-spacing: 0.3em; text-transform: uppercase; color: var(--sage); margin-bottom: 1.5rem; }
.mega-col { display: flex; flex-direction: column; gap: 0.85rem; }
.mega-link {
  font-family: var(--f-body);
  font-size: 14px;
  font-weight: 300;
  color: var(--t1);
  letter-spacing: -0.005em;
  transition: color 0.3s var(--ease-out);
  position: relative;
  padding-bottom: 0.15rem;
}
.mega-link em { font-style: italic; color: var(--sage-2); }
.mega-link:hover { color: var(--sage); }
.mega-link .arr {
  display: inline-block;
  opacity: 0;
  transform: translateX(-6px);
  transition: all 0.3s var(--ease-out);
  margin-left: 0.5rem;
  font-size: 14px;
  color: var(--sage);
}
.mega-link:hover .arr { opacity: 1; transform: translateX(0); }

/* Compact nav dropdown (Locations) */
.nav-drop {
  position: absolute;
  top: 100%; left: 50%;
  transform: translateX(-50%) translateY(10px);
  min-width: 230px;
  background: rgba(7,18,24,0.97);
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  border: 1px solid var(--line);
  padding: 0.85rem 0;
  opacity: 0; pointer-events: none;
  transition: opacity 0.3s var(--ease-out), transform 0.3s var(--ease-out);
  z-index: 220;
}
.nav-item:hover .nav-drop,
.nav-item.open .nav-drop { opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0); }
.nav-drop a {
  display: block;
  padding: 0.7rem 1.6rem;
  font-family: var(--f-body);
  font-size: 13px; font-weight: 300;
  color: var(--t1); white-space: nowrap;
  transition: color 0.25s var(--ease-out), background 0.25s var(--ease-out);
}
.nav-drop a em { font-style: italic; color: var(--gold); }
.nav-drop a:hover { color: var(--gold); background: rgba(255,255,255,0.03); }
.nav-drop .drop-tag {
  font-family: var(--f-mono); font-size: 9px; letter-spacing: 0.22em;
  text-transform: uppercase; color: var(--sage); display: block; margin-top: 2px;
}

/* ─── GEO COUNTRY SWITCH ──────────────────────────────────── */
.nav-geo { margin-right: 0.25rem; }
.nav-geo-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: transparent;
  border: none;
  font-family: var(--f-body);
}
.geo-globe { width: 16px; height: 16px; color: var(--t3); transition: color 0.3s var(--ease-out); }
.nav-geo-trigger:hover .geo-globe,
.nav-geo.open .geo-globe { color: var(--sage); }
.geo-current-label { font-size: 11px; }

.geo-drop { min-width: 210px; padding: 0.5rem 0; }
.geo-option {
  display: flex !important;
  align-items: center;
  gap: 0.65rem;
  padding: 0.6rem 1.3rem !important;
}
.geo-flag { border-radius: 2px; box-shadow: 0 0 0 1px var(--line-2); flex-shrink: 0; }
.geo-option span { font-size: 13px; }

/* Popup shown on manual country switch */
.geo-popup-overlay {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: center;
  background: rgba(5,11,14,0.7);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity 0.35s var(--ease-out);
}
.geo-popup-overlay.show { opacity: 1; }
.geo-popup {
  background: var(--bg-2);
  border: 1px solid var(--line-2);
  padding: 2.5rem 3rem;
  text-align: center;
  max-width: 340px;
  transform: translateY(10px);
  transition: transform 0.35s var(--ease-out);
}
.geo-popup-overlay.show .geo-popup { transform: translateY(0); }
.geo-popup-spinner {
  width: 26px; height: 26px;
  margin: 0 auto 1.25rem;
  border-radius: 50%;
  border: 2px solid var(--line-2);
  border-top-color: var(--sage);
  animation: geo-spin 0.8s linear infinite;
}
@keyframes geo-spin { to { transform: rotate(360deg); } }
.geo-popup p { font-family: var(--f-body); font-size: 14px; color: var(--t2); line-height: 1.6; }
.geo-popup p strong { color: var(--t1); font-weight: 500; }

/* Mobile menu region links */
.mob-geo-option { display: flex !important; align-items: center; gap: 0.75rem; font-family: var(--f-body) !important; font-size: 17px !important; }
.mob-geo-option .geo-flag { border-radius: 2px; box-shadow: 0 0 0 1px var(--line-2); }

@media (max-width: 1050px) {
  /* Geo dropdown stays in the header on mobile, next to the burger */
  .nav-geo { margin-right: 0; }
  .nav-geo .nav-drop.geo-drop {
    left: auto;
    right: -48px; /* align panel under the burger side, keep it on-screen */
    transform: translateX(0) translateY(10px);
  }
  .nav-geo:hover .nav-drop.geo-drop,
  .nav-geo.open .nav-drop.geo-drop {
    transform: translateX(0) translateY(0);
  }
}

/* Mobile menu */
.nav-burger {
  display: none;
  width: 36px; height: 36px;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 0;
}
.nav-burger span {
  display: block;
  width: 22px;
  height: 1px;
  background: var(--t1);
  transition: all 0.3s var(--ease-out);
  margin-left: auto;
}
.nav-burger.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nav-burger.open span:nth-child(2) { opacity: 0; }
.nav-burger.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.mobile-menu {
  position: fixed;
  inset: 0;
  background: var(--bg);
  z-index: 95;
  padding: 6rem 1.5rem 3rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s var(--ease-out);
  overflow-y: auto;
}
.mobile-menu.open { opacity: 1; pointer-events: auto; }
.mobile-menu a { display: block; font-family: var(--f-display); font-size: 32px; font-weight: 300; color: var(--t1); padding: 0.6rem 0; border-bottom: 1px solid var(--line); }
.mobile-menu a em { color: var(--sage-2); }
.mobile-menu .mob-label { font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--sage); margin: 2rem 0 0.5rem; }
.mobile-menu .mob-cta { margin-top: 2.5rem; display: flex; flex-direction: column; gap: 0.75rem; }
.mobile-menu .mob-cta .btn { justify-content: center; }

@media (max-width: 1100px) {
  .nav-links { display: none; }
  .nav-burger { display: flex; }
}

/* ─── HERO ────────────────────────────────────────────────── */

.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: flex-end;
  padding: 8rem clamp(1.5rem, 4vw, 4rem) clamp(4rem, 8vw, 8rem);
  overflow: hidden;
}
.hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #0a141a center/cover no-repeat;
}
.hero-media video, .hero-media img {
  width: 100%; height: 100%; object-fit: cover;
}
.hero-media[data-fallback]::before {
  content: "";
  position: absolute; inset: 0;
  background-image: var(--fallback);
  background-size: cover;
  background-position: center;
  z-index: -1;
}
.hero-veil {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 80%, var(--sage-glow), transparent 50%),
    linear-gradient(to top, var(--bg) 0%, rgba(7,18,24,0.65) 40%, rgba(7,18,24,0.4) 100%);
  z-index: 1;
}
.hero-grain {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle at 50% 50%, transparent 0%, rgba(7,18,24,0.4) 100%);
  z-index: 1;
  pointer-events: none;
}
.hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1480px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
}
.hero h1 {
  font-family: var(--f-display);
  font-weight: 300;
  font-size: clamp(56px, 8.6vw, 95px);
  line-height: 0.98;
  letter-spacing: -0.025em;
  color: var(--t1);
  margin-bottom: 1.5rem;
  text-wrap: balance;
}
.hero h1 em { font-style: italic; color: var(--sage-2); font-weight: 300; }
.hero h1 sup { font-size: 0.28em; color: var(--sage); vertical-align: super; margin-left: 0.1em; letter-spacing: 0; }

.hero-meta {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding-bottom: 0.5rem;
}
.hero-sub { font-size: 17px; color: var(--t2); line-height: 1.7; max-width: 38ch; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.85rem; margin-top: 0.5rem; }

.hero-bottom {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 0 clamp(1.5rem, 4vw, 4rem) 1.75rem;
  border-bottom: 1px solid var(--line);
  pointer-events: none;
}
.hero-scroll {
  display: inline-flex; align-items: center; gap: 0.75rem;
  font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--t3);
}
.hero-scroll-line { width: 40px; height: 1px; background: var(--sage); opacity: 0.6; }

@media (max-width: 900px) {
  .hero { min-height: 92vh; }
  .hero-inner { grid-template-columns: 1fr; gap: 2rem; }
  .hero-bottom { display: none; }
}

/* ─── SECTION HEADERS ─────────────────────────────────────── */

.sec-head {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
  margin-bottom: clamp(3rem, 6vw, 5rem);
}
.sec-head-single { display: block; max-width: 1200px; margin-bottom: clamp(1rem, 6vw, 1rem); }
.sec-head h2 { margin-top: 1.25rem; }
@media (max-width: 800px) { .sec-head { grid-template-columns: 1fr; align-items: start; } }

/* ─── SPLIT (image + text) ────────────────────────────────── */

.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: stretch;
  min-height: 78vh;
}
.split-img { position: relative; overflow: hidden; min-height: 60vh; background: #0b1715 center/cover no-repeat; }
.split-img video, .split-img img { width: 100%; height: 100%; object-fit: contain; position: absolute; inset: 0; }
.split-img::after {
  content: "";
  position: absolute; inset: 0;
  background: none;
  pointer-events: none;
}
.split-body {
  padding: clamp(4rem, 7vw, 4rem) clamp(2rem, 5vw, 6rem);
  display: flex; flex-direction: column; gap: 1.75rem;
  justify-content: center;
  background: var(--bg);
}
.split-body.bg-2 { background: var(--bg-2); }
.split-body h2 { color: var(--t1); }
.split.flip .split-img { order: 2; }
.split.flip .split-img::after { background: none; }

@media (max-width: 900px) {
  .split { grid-template-columns: 1fr; }
  .split.flip .split-img { order: 0; }
}

/* ─── CENTERED TYPOGRAPHIC SECTION ────────────────────────── */

.statement {
  text-align: center;
  padding: clamp(5rem, 14vw, 5rem) clamp(1.5rem, 4vw, 4rem);
  position: relative;
  overflow: hidden;
}
.statement::before {
  content: "";
  position: absolute;
  width: 70vw; height: 70vw; max-width: 900px; max-height: 900px;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, var(--sage-glow), transparent 70%);
  pointer-events: none;
  z-index: 0;
}
.statement-inner { position: relative; z-index: 1; max-width: 1100px; margin: 0 auto; }
.statement h2 { margin: 1.5rem 0 2rem; }
.statement p { font-size: 17px; color: var(--t2); max-width: 100ch; margin: 0 auto; line-height: 1.85; }

/* ─── BULLET LIST (key points) ────────────────────────────── */

.k-list {
  display: flex;
  flex-direction: column;
}
.k-list > * + * { border-top: 1px solid var(--line); }
.k-item {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem 0;
}
.k-num {
  font-family: var(--f-mono);
  font-size: 11px;
  color: var(--sage);
  letter-spacing: 0.1em;
}
.k-text { font-family: var(--f-display); font-size: clamp(22px, 2.4vw, 30px); font-weight: 300; color: var(--t1); line-height: 1.2; letter-spacing: -0.01em; }
.k-text em { font-style: italic; color: var(--sage-2); }
.k-meta { font-size: 11px; color: var(--t3); letter-spacing: 0.18em; text-transform: uppercase; }

/* ─── TICKER ──────────────────────────────────────────────── */

.ticker {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 1.5rem 0;
  overflow: hidden;
  background: var(--bg);
}
.ticker-track {
  display: flex;
  gap: 4rem;
  white-space: nowrap;
  animation: ticker 60s linear infinite;
  font-family: var(--f-display);
  font-size: 28px;
  font-weight: 300;
  color: var(--t2);
  letter-spacing: 0.005em;
  width: max-content;
}
.ticker-track em { font-style: italic; color: var(--sage); }
.ticker-track .diamond { color: var(--sage); margin-left: 4rem; font-size: 14px; vertical-align: middle; }
@keyframes ticker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* ─── METRIC ROW ──────────────────────────────────────────── */

.metric-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.metric {
  padding: 2.5rem clamp(1rem, 2vw, 2rem);
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.metric:last-child { border-right: 0; }
.metric-n {
  font-family: var(--f-display);
  font-size: clamp(44px, 5vw, 72px);
  font-weight: 300;
  color: var(--t1);
  line-height: 1;
  letter-spacing: -0.02em;
}
.metric-n em { font-style: italic; color: var(--sage-2); }
.metric-n .sm { font-size: 0.5em; color: var(--sage); }
.metric-l { font-size: 11px; color: var(--t3); letter-spacing: 0.22em; text-transform: uppercase; margin-top: 0.5rem; }

@media (max-width: 800px) {
  .metric-row { grid-template-columns: repeat(2, 1fr); }
  .metric { border-bottom: 1px solid var(--line); }
  .metric:nth-child(odd) { border-right: 1px solid var(--line); }
  .metric:nth-child(even) { border-right: 0; }
  .metric:nth-last-child(-n+2) { border-bottom: 0; }
}

/* ─── BIOSYNC PANEL (data UI) ─────────────────────────────── */

.biosync {
  border: 1px solid var(--line-2);
  background: linear-gradient(180deg, rgba(127,148,124,0.04), transparent);
  padding: clamp(2rem, 4vw, 3rem);
}
.biosync-head {
  display: flex; align-items: center; justify-content: space-between;
  padding-bottom: 1.5rem; border-bottom: 1px solid var(--line);
  margin-bottom: 2rem;
}
.biosync-live {
  display: inline-flex; align-items: center; gap: 0.6rem;
  font-size: 10px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--sage);
}
.live-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--sage); box-shadow: 0 0 0 0 var(--sage); animation: livepulse 2s ease-in-out infinite; }
@keyframes livepulse {
  0%, 100% { box-shadow: 0 0 0 0 var(--sage-glow); }
  50% { box-shadow: 0 0 0 8px transparent; }
}
.biosync-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
}
.biosync-cell {
  background: var(--bg);
  padding: 1.5rem 1.25rem;
  display: flex; flex-direction: column; gap: 0.5rem;
}
.bsc-label { font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--t3); }
.bsc-value { font-family: var(--f-display); font-size: 36px; font-weight: 300; color: var(--t1); line-height: 1; letter-spacing: -0.01em; }
.bsc-value .unit { font-size: 12px; color: var(--t3); margin-left: 0.25rem; letter-spacing: 0.05em; }
.bsc-bar { height: 2px; background: var(--line); margin-top: 0.5rem; overflow: hidden; }
.bsc-bar i { display: block; height: 100%; background: var(--sage); }
.bsc-meta { font-size: 10px; color: var(--sage); letter-spacing: 0.1em; }

@media (max-width: 700px) {
  .biosync-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ─── SPECIALIST PORTRAITS ────────────────────────────────── */

.specialists {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1rem, 2vw, 2rem);
}
.specialist { display: flex; flex-direction: column; gap: 1rem; }
.specialist-photo {
  aspect-ratio: 3/4;
  background: var(--bg-2);
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
}
.specialist-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease-out); }
.specialist:hover .specialist-photo img { transform: scale(1.04); }
.specialist-photo .pl {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--bg-2), var(--bg));
  color: var(--t3); font-family: var(--f-display); font-size: 72px; font-weight: 300; opacity: 0.3;
}
.specialist-name { font-family: var(--f-display); font-size: 22px; font-weight: 400; color: var(--t1); letter-spacing: -0.005em; line-height: 1.1; }
.specialist-spec { font-size: 11px; color: var(--sage); letter-spacing: 0.22em; text-transform: uppercase; }

@media (max-width: 1000px) { .specialists { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .specialists { grid-template-columns: repeat(2, 1fr); } }

/* ─── TIER CARDS ──────────────────────────────────────────── */

.tiers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1rem, 2vw, 2rem);
  margin-top: clamp(3rem, 5vw, 5rem);
}
.tier {
  border: 1px solid var(--line);
  padding: 2.5rem 2rem 2rem;
  display: flex; flex-direction: column; gap: 1.5rem;
  background: var(--bg-2);
  position: relative;
  overflow: hidden;
  transition: all 0.5s var(--ease-out);
}
.tier::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: var(--line);
  transition: background 0.5s var(--ease-out);
}
.tier:hover { border-color: var(--line-3); transform: translateY(-4px); }
.tier:hover::before { background: var(--sage); }
.tier-mark { font-family: var(--f-mono); font-size: 10px; color: var(--sage); letter-spacing: 0.2em; }
.tier-name { font-family: var(--f-display); font-size: clamp(40px, 4vw, 56px); font-weight: 300; color: var(--t1); letter-spacing: -0.015em; line-height: 1; }
.tier-name em { font-style: italic; color: var(--sage-2); }
.tier-tag { font-size: 10.5px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--sage); }
.tier-desc { font-size: 14.5px; color: var(--t2); line-height: 1.75; }
.tier ul { list-style: none; padding: 0; margin-top: 0.5rem; display: flex; flex-direction: column; gap: 0.65rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.tier ul li { font-size: 13px; color: var(--t2); padding-left: 1.25rem; position: relative; }
.tier ul li::before { content: ""; position: absolute; left: 0; top: 9px; width: 4px; height: 4px; border-radius: 50%; background: var(--sage); }
.tier .btn { margin-top: auto; justify-content: center; }

.tier.featured { background: var(--bg-3); border-color: var(--line-2); }
.tier.featured::before { background: var(--sage); }
.tier-flag { position: absolute; top: 1.25rem; right: 1.25rem; font-size: 9.5px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); }

@media (max-width: 900px) { .tiers { grid-template-columns: 1fr; } }

/* ─── FULL BLEED IMAGE QUOTE ─────────────────────────────── */

.bleed-quote {
  position: relative;
  min-height: 85vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  text-align: center;
  padding: clamp(4rem, 8vw, 8rem) clamp(1.5rem, 4vw, 4rem);
}
.bleed-quote { background: #0a141a center/cover no-repeat; }
.bleed-quote video, .bleed-quote img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0;
}
.bleed-quote::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(7,18,24,0.4), rgba(7,18,24,0.85));
  z-index: 1;
}
.bleed-quote .bq-inner {
  position: relative; z-index: 2;
  max-width: 1100px;
}
.bleed-quote h2 {
  font-family: var(--f-display);
  font-size: clamp(40px, 6vw, 60px);
  font-weight: 300;
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: var(--t1);
}
.bleed-quote h2 em { font-style: italic; color: var(--sage-2); }
.bleed-quote .bq-attrib { font-size: 11px; color: var(--sage); letter-spacing: 0.3em; text-transform: uppercase; margin-top: 2rem; }

/* ─── FINAL CTA ───────────────────────────────────────────── */

.final-cta {
  text-align: center;
  padding: clamp(7rem, 13vw, 6rem) clamp(1.5rem, 4vw, 4rem);
  background: var(--bg-2);
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--line);
}
.final-cta::before {
  content: "";
  position: absolute;
  width: 1200px; height: 1200px;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, var(--sage-glow), transparent 60%);
  z-index: 0;
}
.final-cta-inner { position: relative; z-index: 1; max-width: 1000px; margin: 0 auto; }
.final-cta h2 { margin: 1.5rem 0 1.75rem; }
.final-cta .cta-actions { display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap; margin-top: 2.5rem; }

/* ─── HOW IT WORKS — cinematic full-bleed ─────────────────── */

.hiw {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: clamp(5rem, 10vw, 9rem) clamp(1.5rem, 4vw, 4rem);
}

/* Background */
.hiw-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hiw-bg video, .hiw-bg img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 30%;
}

/* Dual-layer veil: dark left-fade + overall dark wash — matches image */
.hiw-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(to right,  rgba(7,18,24,0.78) 0%, rgba(7,18,24,0.55) 45%, rgba(7,18,24,0.72) 100%),
    linear-gradient(to bottom, rgba(7,18,24,0.25) 0%, rgba(7,18,24,0.15) 50%, rgba(7,18,24,0.55) 100%);
}

/* Inner two-column grid */
.hiw-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1480px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 7vw, 8rem);
  align-items: center;
}

/* Left — headline */
.hiw-left {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.hiw-headline {
  font-size: clamp(48px, 7vw, 112px);
  line-height: 1.0;
  letter-spacing: -0.025em;
  color: var(--t1);
}
.hiw-headline em {
  font-style: italic;
  color: var(--sage-2);
}

/* Right — content panel */
.hiw-right {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
}
.hiw-desc {
  font-size: 15.5px;
  color: var(--t2);
  line-height: 1.85;
  max-width: 52ch;
}

/* Steps */
.hiw-steps {
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(217,212,203,0.12);
}
.hiw-step {
  display: grid;
  grid-template-columns: 2.4rem 1.5rem 1fr;
  gap: 0 1rem;
  align-items: center;
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(217,212,203,0.12);
  transition: border-color 0.3s var(--ease-out);
}
.hiw-step:hover { border-color: rgba(217,212,203,0.22); }

.hiw-n {
  font-family: var(--f-mono);
  font-size: 10.5px;
  letter-spacing: 0.18em;
  color: var(--sage);
  flex-shrink: 0;
}
.hiw-rule {
  display: block;
  width: 16px;
  height: 1px;
  background: var(--line-3);
  flex-shrink: 0;
}
.hiw-label {
  font-family: var(--f-display);
  font-size: clamp(18px, 1.9vw, 26px);
  font-weight: 300;
  color: var(--t1);
  letter-spacing: -0.01em;
  line-height: 1.15;
}
.hiw-label em {
  font-style: italic;
  color: var(--sage-2);
}

/* CTA */
.hiw-cta {
  display: flex;
  gap: 0.85rem;
  flex-wrap: wrap;
  margin-top: 0.5rem;
}

@media (max-width: 900px) {
  .hiw-inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .hiw { min-height: auto; padding: clamp(5rem, 10vw, 7rem) clamp(1.5rem, 4vw, 4rem); }
}
@media (max-width: 500px) {
  .hiw-headline { font-size: clamp(42px, 11vw, 64px); }
}

/* ─── FOOTER ──────────────────────────────────────────────── */

.foot {
  background: var(--ink);
  padding: clamp(5rem, 8vw, 8rem) clamp(1.5rem, 4vw, 4rem) 2rem;
  border-top: 1px solid var(--line);
}
.foot-grid {
  max-width: 1480px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1fr;
  gap: clamp(2rem, 5vw, 5rem);
  padding-bottom: 4rem;
  border-bottom: 1px solid var(--line);
}
.foot-brand-name { font-family: var(--f-display); font-size: 32px; font-weight: 300; color: var(--t1); letter-spacing: -0.01em; }
.foot-brand-name strong { font-weight: 500; color: #5a6d5e; }
.foot-brand-name .tm { font-size: 12px; color: var(--sage); vertical-align: super; }
.foot-tagline { font-size: 14px; color: var(--t2); line-height: 1.75; margin-top: 1.25rem; max-width: 40ch; }
.foot-col-title { font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--sage); margin-bottom: 1.5rem; }
.foot-col { display: flex; flex-direction: column; gap: 0.65rem; }
.foot-col a { font-size: 14px; color: var(--t2); transition: color 0.3s; }
.foot-col a:hover { color: var(--t1); }
.foot-bottom {
  max-width: 1480px; margin: 0 auto;
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 2rem;
  font-size: 11.5px; color: var(--t3); letter-spacing: 0.05em;
  flex-wrap: wrap; gap: 1rem;
}
.foot-legal { display: flex; gap: 2rem; }
.foot-legal a { color: var(--t3); transition: color 0.3s; }
.foot-legal a:hover { color: var(--t1); }

@media (max-width: 800px) {
  .foot-grid { grid-template-columns: 1fr 1fr; }
  .foot-brand { grid-column: 1 / -1; }
}

/* ─── UTILITIES ───────────────────────────────────────────── */

.js .reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.9s var(--ease-out), transform 0.9s var(--ease-out);
}
.js .reveal.in { opacity: 1; transform: none; }

.text-center { text-align: center; }
.mt-1 { margin-top: 1rem; } .mt-2 { margin-top: 2rem; } .mt-3 { margin-top: 3rem; } .mt-4 { margin-top: 4rem; }
.mb-1 { margin-bottom: 1rem; } .mb-2 { margin-bottom: 2rem; } .mb-3 { margin-bottom: 3rem; }
.flex { display: flex; } .flex-col { flex-direction: column; }
.gap-1 { gap: 1rem; } .gap-2 { gap: 2rem; } .gap-3 { gap: 3rem; }
.wrap-flex { flex-wrap: wrap; }

/* ─── INTRO BAND  ─────────────────────────────────────────── */
.intro-band {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--bg-2);
}
.intro-band-col {
  padding: clamp(2.5rem, 4vw, 4rem) clamp(1.5rem, 2.5vw, 2.5rem);
  border-right: 1px solid var(--line);
  display: flex; flex-direction: column; gap: 0.85rem;
}
.intro-band-col:last-child { border-right: 0; }
.intro-band-label { font-size: 10.5px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--sage); }
.intro-band-title { font-family: var(--f-display); font-size: 26px; font-weight: 300; color: var(--t1); letter-spacing: -0.01em; line-height: 1.15; }
.intro-band-body { font-size: 14.5px; color: var(--t2); line-height: 1.75; }
@media (max-width: 900px) {
  .intro-band { grid-template-columns: 1fr; }
  .intro-band-col { border-right: 0; border-bottom: 1px solid var(--line); }
  .intro-band-col:last-child { border-bottom: 0; }
}

/* ─── CARD GRID (generic feature/pillar cards) ────────────── */
.card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.card-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
.card-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.feature-card {
  background: var(--bg);
  padding: clamp(2rem, 3.5vw, 3.5rem) clamp(1.5rem, 2.5vw, 2.5rem);
  display: flex; flex-direction: column; gap: 1rem;
  transition: background 0.5s var(--ease-out);
}
.feature-card:hover { background: var(--bg-2); }
.feature-num { font-family: var(--f-mono); font-size: 11px; color: var(--sage); letter-spacing: 0.2em; }
.feature-title { font-family: var(--f-display); font-size: clamp(22px, 2.2vw, 30px); font-weight: 300; color: var(--t1); letter-spacing: -0.005em; line-height: 1.2; }
.feature-title em { font-style: italic; color: var(--sage-2); }
.feature-body { font-size: 14.5px; color: var(--t2); line-height: 1.75; }
@media (max-width: 900px) { .card-grid, .card-grid.cols-4 { grid-template-columns: 1fr; } }
@media (min-width: 600px) and (max-width: 900px) { .card-grid.cols-4 { grid-template-columns: repeat(2, 1fr); } }

/* ─── PAGE HEADER (non-home) ─────────────────────────────── */
.page-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  padding: 10rem clamp(1.5rem, 4vw, 4rem) clamp(4rem, 8vw, 8rem);
  overflow: hidden;
}
.page-hero .hero-media { position: absolute; inset: 0; z-index: 0; }
.page-hero .hero-veil { z-index: 1; }
.page-hero-inner {
  position: relative; z-index: 2; max-width: 1480px; margin: 0 auto; width: 100%;
  display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: end;
}
.page-hero h1 {
  font-family: "Cormorant Garamond", "Playfair Display", "Times New Roman", serif;
  font-weight: 300;
  font-size: clamp(48px, 6.4vw, 92px);
  line-height: 1;
  letter-spacing: -0.022em;
  color: var(--t1);
  margin-top: 1.5rem;
  text-wrap: balance;
}
.page-hero h1 em { font-style: italic; color: var(--sage-2); }
@media (max-width: 900px) { .page-hero-inner { grid-template-columns: 1fr; } }

/* ─── FORM ───────────────────────────────────────────────── */
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-bottom: 1.5rem; }
.form-field { display: flex; flex-direction: column; gap: 0.5rem; }
.form-field label { font-size: 10.5px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--sage); }
.form-field input, .form-field select, .form-field textarea {
  background: transparent;
  border: 0; border-bottom: 1px solid var(--line-2);
  padding: 0.85rem 0;
  font-family: var(--f-body); font-size: 15px; color: var(--t1);
  width: 100%;
  transition: border-color 0.3s;
}
.form-field input:focus, .form-field textarea:focus, .form-field select:focus { outline: none; border-bottom-color: var(--sage); }
.form-field input::placeholder, .form-field textarea::placeholder { color: var(--t3); }
.form-field textarea { resize: vertical; min-height: 120px; }
.form-field select { appearance: none; -webkit-appearance: none; color-scheme: dark; padding-right: 1.75rem; background-color: transparent; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%237F947C' d='M2 4l4 4 4-4'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right center; background-size: 11px; cursor: pointer; }
.form-field select option { background-color: #0B1715; color: #D9D4CB; }
.form-field select option:checked, .form-field select option:hover { background-color: #0F1C1A; color: #fff; }
.form-field select option[disabled] { color: #6B7570; }
@media (max-width: 700px) { .form-row { grid-template-columns: 1fr; } }

/* ─── FAQ ─────────────────────────────────────────────────── */
.faq-list { display: flex; flex-direction: column; }
.faq-item { border-top: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-q {
  display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem;
  padding: 1.85rem 0; cursor: pointer;
  font-family: var(--f-display); font-size: clamp(20px, 2vw, 28px); font-weight: 300; color: var(--t1); letter-spacing: -0.005em;
  transition: color 0.3s;
}
.faq-q:hover { color: var(--sage-2); }
.faq-icon {
  width: 26px; height: 26px; position: relative;
}
.faq-icon::before, .faq-icon::after {
  content: ""; position: absolute; background: var(--sage);
}
.faq-icon::before { top: 50%; left: 0; right: 0; height: 1px; transform: translateY(-50%); }
.faq-icon::after { left: 50%; top: 0; bottom: 0; width: 1px; transform: translateX(-50%); transition: transform 0.3s; }
.faq-item.open .faq-icon::after { transform: translateX(-50%) scaleY(0); }
.faq-a {
  max-height: 0; overflow: hidden; transition: max-height 0.5s var(--ease-out), padding 0.5s;
  font-size: 15px; color: var(--t2); line-height: 1.85;
  padding: 0 0 0 0;
  max-width: 80ch;
}
.faq-item.open .faq-a { max-height: 600px; padding: 0 0 1.85rem 0; }

/* ─── CONTACT BLOCKS ──────────────────────────────────────── */
.contact-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 5rem);
}
.contact-cards { display: flex; flex-direction: column; gap: 1.5rem; }
.contact-card {
  padding: 2rem;
  border: 1px solid var(--line);
  background: var(--bg-2);
  display: flex; flex-direction: column; gap: 0.6rem;
}
.contact-card-city { font-family: var(--f-display); font-size: 26px; font-weight: 300; color: var(--t1); letter-spacing: -0.01em; }
.contact-card-row { display: flex; align-items: flex-start; gap: 0.75rem; font-size: 14px; color: var(--t2); }
.contact-card-row svg { width: 14px; height: 14px; color: var(--sage); flex-shrink: 0; margin-top: 4px; }
.contact-card-row a { color: var(--t2); border-bottom: 1px solid transparent; }
.contact-card-row a:hover { color: var(--t1); border-color: var(--sage); }
@media (max-width: 900px) { .contact-grid { grid-template-columns: 1fr; } }

/* ─── LOCATION CARDS ──────────────────────────────────────── */
.loc-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px; background: var(--line);
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.loc-card {
  background: var(--bg);
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 2rem;
  transition: background 0.5s var(--ease-out);
}
.loc-card-img { position: absolute; inset: 0; z-index: 0; }
.loc-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease-out); }
.loc-card:hover .loc-card-img img { transform: scale(1.04); }
.loc-card::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to top, rgba(7,18,24,0.95) 0%, rgba(7,18,24,0.3) 60%, rgba(7,18,24,0) 100%);
}
.loc-card-info { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 0.4rem; }
.loc-card-tag { font-size: 10px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--sage); }
.loc-card-name { font-family: var(--f-display); font-size: clamp(28px, 2.4vw, 36px); font-weight: 300; color: var(--t1); letter-spacing: -0.01em; line-height: 1.1; }
.loc-card-country { font-size: 12px; color: var(--t2); letter-spacing: 0.15em; text-transform: uppercase; }
.loc-card-status { font-size: 11px; color: var(--sage); margin-top: 0.5rem; }
.loc-card-status.soon { color: var(--gold); }
@media (max-width: 900px) { .loc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .loc-grid { grid-template-columns: 1fr; } }
.loc-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1000px) { .loc-grid.cols-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .loc-grid.cols-4 { grid-template-columns: 1fr; } }

/* ─── PROCESS STEPS (vertical) ───────────────────────────── */
.process-list {
  display: flex; flex-direction: column;
}
.process-step {
  display: grid;
  grid-template-columns: 80px 1fr 1.5fr;
  gap: clamp(1.5rem, 4vw, 4rem);
  padding: 2.5rem 0;
  border-top: 1px solid var(--line);
  align-items: start;
}
.process-step:last-child { border-bottom: 1px solid var(--line); }
.process-n { font-family: var(--f-mono); font-size: 11px; color: var(--sage); letter-spacing: 0.2em; padding-top: 0.5rem; }
.process-name { font-family: var(--f-display); font-size: clamp(26px, 2.6vw, 36px); font-weight: 300; color: var(--t1); letter-spacing: -0.01em; line-height: 1.1; }
.process-name em { font-style: italic; color: var(--sage-2); }
.process-body { font-size: 15px; color: var(--t2); line-height: 1.8; }
@media (max-width: 800px) {
  .process-step { grid-template-columns: 1fr; gap: 0.75rem; }
  .process-name { font-size: 24px; }
}

/* ─── FEATURE SHOWCASE GRID ──────────────────────────────── */
.feat-showcase {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.feat-showcase.cols-3 { grid-template-columns: repeat(3, 1fr); }
.feat-showcase.cols-2 { grid-template-columns: repeat(2, 1fr); }
.feat-tile {
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
  background: var(--bg-2);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2rem 1.75rem;
  transition: background 0.5s var(--ease-out);
  text-decoration: none;
  color: inherit;
}
.feat-tile-media {
  position: absolute; inset: 0; z-index: 0;
  background-size: cover; background-position: center;
  transition: transform 1.4s var(--ease-out), filter 0.6s;
  filter: brightness(0.99) saturate(0.85);
}
.feat-tile:hover .feat-tile-media { transform: scale(1.04); filter: brightness(0.7) saturate(1); }
.feat-tile::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(7,18,24,0.35) 0%, rgba(7,18,24,0.55) 50%, rgba(7,18,24,0.92) 100%);
}
.feat-tile-top, .feat-tile-bot { position: relative; z-index: 2; }
.feat-tile-num { font-family: var(--f-mono); font-size: 10.5px; color: var(--sage); letter-spacing: 0.22em; }
.feat-tile-tag { font-size: 10px; letter-spacing: 0.25em; text-transform: uppercase; color: #fff; display: block; margin-bottom: 0.6rem; }
.feat-tile-title {
  font-family: var(--f-display); font-weight: 300;
  font-size: clamp(26px, 2.4vw, 36px);
  color: var(--t1); letter-spacing: -0.01em; line-height: 1.05;
  min-height: 2.1em;
  display: flex;
  align-items: flex-end;
}
.feat-tile-title em { font-style: italic; color: var(--sage-2); }
.feat-tile-title sup { font-size: 0.32em; color: var(--sage); vertical-align: super; }
.feat-tile-sub {
  font-size: 16px; color: var(--t2); line-height: 1.6;
  margin-top: 0.75rem; max-width: 28ch;
  min-height: 3.2em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.feat-tile-arrow {
  display: inline-flex; align-items: center; gap: 0.55rem;
  margin-top: 1rem;
  font-size: 10.5px; letter-spacing: 0.22em; text-transform: uppercase; color: #fff;
  transition: gap 0.3s var(--ease-out);
}
.feat-tile:hover .feat-tile-arrow { gap: 1rem; color: var(--sage-2); }
.feat-tile.tall { aspect-ratio: 4/6; }
.feat-tile.wide { grid-column: span 2; aspect-ratio: 8/5; }

@media (max-width: 1100px) {
  .feat-showcase { grid-template-columns: repeat(2, 1fr); }
  .feat-tile.wide { grid-column: span 2; }
}
@media (max-width: 600px) {
  .feat-showcase { grid-template-columns: 1fr; }
  .feat-tile.wide, .feat-tile.tall { grid-column: span 1; aspect-ratio: 4/5; }
}
.prog-grid {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line);
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.prog { background: var(--bg); padding: 2rem 1.5rem; display: flex; flex-direction: column; gap: 0.85rem; transition: background 0.5s; }
.prog:hover { background: var(--bg-2); }
.prog-dur { font-family: var(--f-display); font-size: 48px; font-weight: 300; color: var(--t1); letter-spacing: -0.02em; line-height: 1; }
.prog-dur span { font-size: 14px; color: var(--t3); font-family: var(--f-body); letter-spacing: 0.05em; margin-left: 0.4rem; }
.prog-name { font-size: 13px; color: var(--sage); letter-spacing: 0.22em; text-transform: uppercase; }
.prog-desc { font-size: 13.5px; color: var(--t2); line-height: 1.7; }
.prog.gold .prog-dur, .prog.gold .prog-name { color: var(--gold); }
@media (max-width: 1100px) { .prog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .prog-grid { grid-template-columns: 1fr; } }

/* ─── WEIGHT MANAGEMENT FEATURE BAND ─────────────────────── */
.wm-feature {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 70vh;
  overflow: hidden;
}
.wm-feature-media { position: relative; overflow: hidden; background: var(--bg-2); }
.wm-feature-media img, .wm-feature-media video {
  position: absolute; inset: 0; width: 100%; object-fit: cover;
  transition: transform 1.4s var(--ease-out);
}
.wm-feature:hover .wm-feature-media img, .wm-feature:hover .wm-feature-media video { transform: scale(1.03); }
.wm-feature-media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(115deg, transparent 40%, rgba(7,18,24,0.95) 100%);
}
.wm-feature-body {
  background: var(--bg-2);
  display: flex; flex-direction: column; justify-content: center;
  padding: clamp(4rem, 7vw, 7rem) clamp(2rem, 5vw, 5rem);
  gap: 1.5rem; position: relative;
}
.wm-feature-num { font-family: var(--f-mono); font-size: 11px; color: var(--sage); letter-spacing: 0.22em; }
.wm-feature h2 {
  font-family: var(--f-display); font-weight: 300;
  font-size: clamp(40px, 5.5vw, 62px);
  line-height: 0.98; letter-spacing: -0.022em; color: var(--t1); text-wrap: balance;
}
.wm-feature h2 em { font-style: italic; color: var(--sage-2); }
.wm-feature-rule { height: 1px; background: var(--sage); width: 56px; opacity: 0.7; margin: 0.25rem 0; }
.wm-feature-points {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem;
  margin-top: 0.5rem; padding-top: 1.75rem; border-top: 1px solid var(--line);
}
.wm-feature-points > div { display: flex; flex-direction: column; gap: 0.4rem; }
.wm-feature-points .pt-l { font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--sage); }
.wm-feature-points .pt-v {
  font-family: var(--f-display); font-size: 22px; font-weight: 300;
  color: var(--t1); letter-spacing: -0.005em; line-height: 1.15;
}
.wm-feature-points .pt-v em { font-style: italic; color: var(--sage-2); }
.wm-feature-cta { display: flex; flex-wrap: wrap; gap: 0.85rem; margin-top: 1rem; }

/* ─── FOUNDATION HEADER (text left, video right) ─────────── */
.foundation-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2.5rem, 5vw, 6rem);
  align-items: center;
  margin-bottom: clamp(3rem, 6vw, 5rem);
}
.foundation-header-text {
  display: flex;
  flex-direction: column;
}
.foundation-header-video {
  position: relative;
}
.foundation-vid-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--bg);
}
.foundation-vid-wrap video, .foundation-vid-wrap img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 2.5s var(--ease-out);
}
.foundation-vid-wrap:hover video { transform: scale(1.02); }
.foundation-vid-wrap::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(7,18,24,0.15) 0%, rgba(7,18,24,0) 30%, rgba(7,18,24,0) 70%, rgba(7,18,24,0.5) 100%),
    radial-gradient(ellipse at center, transparent 30%, rgba(7,18,24,0.35) 100%);
  pointer-events: none;
}
.foundation-vid-wrap .foundation-band-tag {
  left: clamp(1rem, 2.5vw, 2rem);
  bottom: clamp(1rem, 2.5vw, 2rem);
}
.foundation-vid-wrap .foundation-band-right {
  right: clamp(1rem, 2.5vw, 2rem);
  bottom: clamp(1rem, 2.5vw, 2rem);
}
@media (max-width: 900px) {
  .foundation-header { grid-template-columns: 1fr; }
  .foundation-vid-wrap { aspect-ratio: 16/9; }
  .foundation-vid-wrap .foundation-band-right { display: none; }
}

.foundation-band {
  position: relative;
  overflow: hidden;
  aspect-ratio: 21/9;
  margin: clamp(2rem, 4vw, 4rem) 0 clamp(3rem, 5vw, 5rem);
  background: var(--bg) center/cover no-repeat;
}
.foundation-band video, .foundation-band img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 2.5s var(--ease-out);
}
.foundation-band:hover video, .foundation-band:hover img { transform: scale(1.02); }
.foundation-band::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(7,18,24,0.2) 0%, rgba(7,18,24,0) 30%, rgba(7,18,24,0) 70%, rgba(7,18,24,0.55) 100%),
    radial-gradient(ellipse at center, transparent 30%, rgba(7,18,24,0.4) 100%);
  pointer-events: none;
}
.foundation-band-tag {
  position: absolute;
  z-index: 2;
  left: clamp(1.25rem, 3vw, 3rem);
  bottom: clamp(1.25rem, 3vw, 3rem);
  display: inline-flex; align-items: center; gap: 0.75rem;
  font-family: var(--f-body);
  font-size: 10.5px; font-weight: 500;
  letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--t1);
}
.foundation-band-tag::before {
  content: ""; width: 28px; height: 1px; background: var(--sage); opacity: 0.8;
}
.foundation-band-right {
  position: absolute;
  z-index: 2;
  right: clamp(1.25rem, 3vw, 3rem);
  bottom: clamp(1.25rem, 3vw, 3rem);
  display: inline-flex; align-items: center; gap: 0.6rem;
  font-family: var(--f-display); font-style: italic;
  font-size: clamp(16px, 1.6vw, 22px); color: var(--t1); font-weight: 300;
  letter-spacing: -0.005em;
}
@media (max-width: 700px) {
  .foundation-band { aspect-ratio: 4/5; }
  .foundation-band-right { display: none; }
}

/* ─── ELITE MEMBERSHIP PAGE ──────────────────────────────── */
.elite-cols { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(1.75rem, 3.5vw, 3.5rem); }
.elite-cols.three { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 820px) { .elite-cols, .elite-cols.three { grid-template-columns: 1fr; } }
.elite-block-title { font-family: var(--f-display); font-size: clamp(19px, 1.9vw, 25px); font-weight: 300; color: var(--t1); letter-spacing: -0.005em; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.elite-block-title em { font-style: italic; color: var(--gold); }
.elite-list { list-style: none; padding: 0; margin: 1.1rem 0 0; display: flex; flex-direction: column; gap: 0.6rem; }
.elite-list li { font-size: 13.5px; color: var(--t2); padding-left: 1.15rem; position: relative; line-height: 1.55; }
.elite-list li::before { content: ""; position: absolute; left: 0; top: 8px; width: 5px; height: 5px; border-radius: 50%; background: var(--gold); opacity: 0.85; }

/* ═══════════════════════════════════════════════════════════════
   ELITE — calm editorial layout (dark theme)
═══════════════════════════════════════════════════════════════ */
.e-hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(2rem,5vw,5rem); align-items: center; max-width: 1480px; margin: 0 auto; padding: clamp(9rem,13vw,12rem) clamp(1.5rem,4vw,4rem) clamp(4rem,7vw,7rem); }
.e-hero-img { height: auto; overflow: hidden; border-radius: 4px; }
.e-hero-img img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 900px) { .e-hero { grid-template-columns: 1fr; } .e-hero-img { height: 50vh; order: -1; } }

.e-band { background: linear-gradient(180deg, #26331E, #1B2716); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.e-band-grid { max-width: 1480px; margin: 0 auto; display: grid; grid-template-columns: repeat(4,1fr); }
.e-band-col { padding: clamp(2.5rem,4vw,3.75rem) clamp(1.5rem,2.5vw,2.5rem); border-right: 1px solid rgba(217,212,203,0.12); }
.e-band-col:last-child { border-right: 0; }
.e-band-label { font-family: var(--f-body); font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.9rem; }
.e-band-text { font-size: 13.5px; color: var(--t2); line-height: 1.65; }
@media (max-width: 820px) { .e-band-grid { grid-template-columns: repeat(2,1fr); } .e-band-col:nth-child(2) { border-right: 0; } .e-band-col:nth-child(1),.e-band-col:nth-child(2) { border-bottom: 1px solid rgba(217,212,203,0.12); } }
@media (max-width: 480px) { .e-band-grid { grid-template-columns: 1fr; } .e-band-col { border-right: 0; border-bottom: 1px solid rgba(217,212,203,0.12); } }

.e-stat-row { display: grid; grid-template-columns: 1.25fr 1fr; gap: clamp(2.5rem,6vw,6rem); align-items: center; }
@media (max-width: 820px) { .e-stat-row { grid-template-columns: 1fr; } }
.e-stats { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.75rem,3vw,2.75rem); }
.e-stat-n { font-family: var(--f-display); font-weight: 300; font-size: clamp(48px,5.2vw,76px); line-height: 0.95; color: var(--t1); letter-spacing: -0.02em; }
.e-stat-n em { font-style: italic; color: var(--gold); }
.e-stat-l { font-family: var(--f-body); font-size: 10px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--sage); margin-top: 0.7rem; line-height: 1.5; }

/* Header right-side secondary links (About / Contact) */
.nav-r { display: flex; align-items: center; gap: 1.75rem; }
.nav-r-link { font-size: 12px; letter-spacing: 0.12em; }
@media (max-width: 1050px) { .nav-r-link { display: none; } }

/* ── Two-row centered header ── */
.nav { flex-direction: column; align-items: stretch; padding: 0; gap: 0; }
.nav-main { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; padding: 1.1rem clamp(1.5rem,4vw,4rem); }
.nav.solid .nav-main { padding: 0.75rem clamp(1.5rem,4vw,4rem); }
.nav-main .nav-brand { justify-self: start; }
.nav-main .nav-links { justify-content: center; }
.nav-main .nav-r { justify-self: end; }
.nav-sub { display: flex; justify-content: center; gap: 2.75rem; padding: 0.55rem 1rem; border-top: 1px solid var(--line); }
.nav-sub-link { font-family: var(--f-body); font-size: 10.5px; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--t3); transition: color 0.3s var(--ease-out); }
.nav-sub-link:hover, .nav-sub-link.active { color: var(--sage); }
.nav-burger { justify-self: end; }
@media (max-width: 1100px) {
  .nav-main { display: flex; justify-content: space-between; align-items: center; }
  /* Keep the Region (geo) selector in the header, right beside the burger */
  .nav-main .nav-r { display: flex; margin-left: auto; margin-right: 0.9rem; gap: 0; }
  .nav-main .nav-r > a { display: none; } /* hide Apply button on mobile — lives in mobile menu CTA */
  .nav-sub { display: none; }
}


/* ═══════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE — index.php
   Breakpoints: 768px · 480px
═══════════════════════════════════════════════════════════════ */

/* ════════════════════════════════
   ≤ 768px  (tablet / large phone)
════════════════════════════════ */
@media (max-width: 768px) {

  /* ── Global ── */
  body { overflow-x: hidden; }

  .wrap,
  .wrap-tight {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  /* ── Hero ── */
  .hero {
    min-height: 92vh;
    padding-bottom: 3rem;
  }

  .hero-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .hero h1 {
    font-size: clamp(42px, 11vw, 64px);
  }

  .hero-bottom { display: none; }

  .hero-actions {
    flex-direction: column;
    gap: 0.75rem;
    align-items: stretch;
  }

  .hero-actions .btn,
  .hero-actions .btn-ghost {
    width: 100%;
    justify-content: center;
  }

  /* ── Section headers ── */
  .sec-head {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 1.25rem;
  }

  .h2 { font-size: clamp(30px, 8vw, 44px); }
  .h3 { font-size: clamp(24px, 6vw, 34px); }

  /* ── Clarity grid ── */
  .clarity-grid        { grid-template-columns: 1fr; }
  .clarity-problem-row { grid-template-columns: 1fr; }

  /* ── Foundation header ── */
  .foundation-header {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .foundation-vid-wrap {
    width: 100%;
    aspect-ratio: 16/9;
  }

  .foundation-vid-wrap .foundation-band-right { display: none; }

  /* ── Card grid ── */
  .card-grid { grid-template-columns: 1fr; }

  /* ── Split section ── */
  .split          { grid-template-columns: 1fr; }
  .split-img      { min-height: 55vw; max-height: 300px; }
  .split.flip .split-img { order: 0; }

  .split-body {
    padding: 2.5rem 1.25rem;
  }

  /* ── Feature showcase ── */
  .feat-showcase         { grid-template-columns: repeat(2, 1fr); }
  .feat-showcase.cols-3  { grid-template-columns: 1fr; }

  /* ── Weight management ── */
  .wm-feature { grid-template-columns: 1fr; }

  .wm-feature-media {
    min-height: 55vw;
    max-height: 300px;
  }

  .wm-feature-media img,
  .wm-feature-media video {
    position: relative;
    height: 100%;
  }

  .wm-feature-body {
    padding: 2.5rem 1.25rem;
  }

  .wm-feature-cta {
    flex-direction: column;
    gap: 0.75rem;
    align-items: stretch;
  }

  .wm-feature-cta .btn,
  .wm-feature-cta .btn-ghost {
    width: 100%;
    justify-content: center;
  }

  .wm-feature-points { grid-template-columns: 1fr 1fr 1fr; }

  /* ── How It Works ── */
  .hiw-inner {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding: 3rem 1.25rem;
  }

  .hiw-headline { font-size: clamp(32px, 8.5vw, 52px); }

  /* ── Tiers ── */
  .tiers { grid-template-columns: 1fr; }

  /* ── Metric row ── */
  .metric-row { grid-template-columns: repeat(2, 1fr); }
  .metric { border-bottom: 1px solid var(--line); }
  .metric:nth-child(odd)  { border-right: 1px solid var(--line); }
  .metric:nth-child(even) { border-right: 0; }
  .metric:nth-last-child(-n+2) { border-bottom: 0; }

  /* ── Specialists ── */
  .specialists { grid-template-columns: repeat(2, 1fr); }

  /* ── Bleed quote ── */
  .bq-inner h2 {
    font-size: clamp(26px, 7vw, 40px);
    text-align: center;
  }

  /* ── Final CTA ── */
  .final-cta-inner { padding: 0 1.25rem; }

  .cta-actions {
    flex-direction: column;
    gap: 0.75rem;
    align-items: stretch;
  }

  .cta-actions .btn,
  .cta-actions .btn-ghost {
    width: 100%;
    justify-content: center;
  }

  /* ── FAQ ── */
  .faq-q { font-size: clamp(17px, 4.5vw, 22px); }

  /* ── Elite band ── */
  .e-band-grid { grid-template-columns: repeat(2, 1fr); }
  .e-band-col:nth-child(2) { border-right: 0; }
  .e-band-col:nth-child(1),
  .e-band-col:nth-child(2) { border-bottom: 1px solid rgba(217,212,203,0.12); }

  /* ── Location grid ── */
  .loc-grid              { grid-template-columns: repeat(2, 1fr); }
  .loc-grid.cols-4       { grid-template-columns: repeat(2, 1fr); }

  /* ── Contact grid ── */
  .contact-grid { grid-template-columns: 1fr; }

  /* ── Process steps ── */
  .process-step { grid-template-columns: 1fr; gap: 0.75rem; }

  /* ── Elite hero ── */
  .e-hero { grid-template-columns: 1fr; }
  .e-hero-img { height: 50vh; order: -1; }

  /* ── Elite stat row ── */
  .e-stat-row { grid-template-columns: 1fr; }

  /* ── Biosync grid ── */
  .biosync-grid { grid-template-columns: repeat(2, 1fr); }

  /* ── Prog grid ── */
  .prog-grid { grid-template-columns: repeat(2, 1fr); }

  /* ── Nav sub ── */
  .nav-sub  { display: none; }
  /* Keep .nav-r visible so the Region (geo) selector sits beside the burger */
  .nav-main .nav-r { display: flex; margin-left: auto; margin-right: 0.9rem; gap: 0; }
  .nav-main .nav-r > a { display: none; }
}


/* ════════════════════════════════
   ≤ 480px  (small phone)
════════════════════════════════ */
@media (max-width: 480px) {

  /* Hero */
  .hero h1    { font-size: clamp(36px, 10vw, 48px); }
  .hero-sub   { font-size: 15px !important; }

  /* Feature showcase: single column */
  .feat-showcase { grid-template-columns: 1fr; }
  .feat-tile.wide,
  .feat-tile.tall { grid-column: span 1; aspect-ratio: 4/5; }

  /* Clarity card padding */
  .clarity-card { padding: 1.5rem 1.25rem; }

  /* Tier images */
  .tier img { height: 200px; width: 100%; object-fit: cover; }

  /* Ticker */
  .ticker-track { font-size: 20px; gap: 2.5rem; }

  /* Typography */
  .h2   { font-size: clamp(26px, 8.5vw, 34px); }
  .body-l { font-size: 15px; }

  /* HIW steps */
  .hiw-rule { display: none; }

  /* WM points */
  .wm-feature-points { grid-template-columns: 1fr; gap: 0.85rem; }

  /* Elite band: single column */
  .e-band-grid { grid-template-columns: 1fr; }
  .e-band-col  { border-right: 0; border-bottom: 1px solid rgba(217,212,203,0.12); }

  /* Specialists: single column */
  .specialists { grid-template-columns: 1fr; }

  /* Location grid: single column */
  .loc-grid,
  .loc-grid.cols-4 { grid-template-columns: 1fr; }

  /* Prog grid: single column */
  .prog-grid { grid-template-columns: 1fr; }

  /* Stats */
  .e-stats { grid-template-columns: 1fr; }

  /* Bleed quote */
  .bq-inner { padding: 3rem 1.25rem; }

  /* Biosync */
  .biosync-grid { grid-template-columns: 1fr; }

  /* Kicker / eyebrow */
  .kicker,
  .eyebrow { font-size: 10px; letter-spacing: 0.14em; }
}


/* ═══════════════════════════════════════════════════════════════
   HOW IT WORKS PAGE — full component library
   All inline styles from how-it-works.php consolidated here
═══════════════════════════════════════════════════════════════ */

/* ─── HERO BANNER (hiw page) — full-viewport video background ── */

.hiw-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}

/* Video layer */
.hiw-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--bg) center/cover no-repeat;
}
.hiw-hero-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Gradient veil — preserves legibility of text over video */
.hiw-hero-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 15% 85%, rgba(127,148,124,.18), transparent 55%),
    linear-gradient(
      to top,
      var(--bg)               0%,
      rgba(7,18,24,.80)      30%,
      rgba(7,18,24,.55)      60%,
      rgba(7,18,24,.35)     100%
    );
  pointer-events: none;
}

/* Content sits above the veil */
.hiw-hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: clamp(8rem, 13vw, 11rem) 0 clamp(4rem, 7vw, 7rem);
}

.hiw-hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: clamp(3rem, 6vw, 8rem);
  align-items: end;
}
.hiw-hero-left { max-width: 580px; }
.hiw-hero h1 {
  font-family: var(--f-display);
  font-size: clamp(48px, 6vw, 82px);
  font-weight: 300;
  line-height: 1.0;
  letter-spacing: -0.02em;
  color: var(--t1);
  margin: 1.25rem 0 1.75rem;
  text-wrap: balance;
}
.hiw-hero h1 em { font-style: italic; color: var(--sage-2); }
.hiw-hero-sub {
  font-size: clamp(15px, 1.4vw, 17px);
  color: var(--t2);
  line-height: 1.75;
  max-width: 42ch;
  margin-bottom: 2.25rem;
}

/* ── Stat cards — 2×2 glass grid ─────────────────────────── */
.hiw-hero-right {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(217,212,203,0.10);
  border: 1px solid rgba(217,212,203,0.10);
  backdrop-filter: blur(2px);
}
.hiw-stat-card {
  position: relative;
  background: rgba(7,18,24,.52);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: clamp(1.5rem, 2.5vw, 2.25rem) clamp(1.25rem, 2vw, 2rem);
  display: flex;
  flex-direction: column;
  gap: .55rem;
  overflow: hidden;
  transition: background .35s var(--ease-out);
}
.hiw-stat-card:hover {
  background: rgba(127,148,124,.12);
}

/* Sage accent bar at top of each card */
.hiw-stat-accent {
  position: absolute;
  top: 0; left: 0;
  width: 32px;
  height: 2px;
  background: var(--sage);
  opacity: .7;
}

.hiw-stat-num {
  font-family: var(--f-display);
  font-size: clamp(38px, 4.2vw, 62px);
  font-weight: 300;
  color: var(--t1);
  letter-spacing: -.04em;
  line-height: 1;
}
.hiw-stat-num em {
  font-style: italic;
  color: var(--sage-2);
}
.hiw-stat-label {
  font-size: 10.5px;
  letter-spacing: .20em;
  text-transform: uppercase;
  color: var(--t3);
  font-weight: 500;
  line-height: 1.55;
}

/* Scroll cue */
.hiw-hero-scroll {
  position: absolute;
  bottom: 1.75rem;
  left: clamp(1.5rem, 4vw, 4rem);
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  font-size: 10px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--t3);
  pointer-events: none;
}
.hiw-hero-scroll-line {
  display: block;
  width: 40px;
  height: 1px;
  background: var(--sage);
  opacity: .6;
}

/* ─── PROCESS STRIP (5-step overview) ────────────────────── */

.process-strip {
  background: var(--bg-3);
  border-bottom: 1px solid var(--line);
  padding: clamp(3.5rem, 6vw, 6rem) 0;
}
.process-strip-inner {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: clamp(3rem, 6vw, 7rem);
  align-items: center;
}
.process-intro h2 {
  font-family: var(--f-display);
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -.02em;
  color: var(--t1);
  margin: 1rem 0 1.5rem;
  text-wrap: balance;
}
.process-intro h2 em { font-style: italic; color: var(--sage-2); }
.process-intro p {
  font-size: 15px;
  color: var(--t2);
  line-height: 1.75;
  margin-bottom: 2rem;
  max-width: 30ch;
}

/* Horizontal 5-step connector strip */
.ps-steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  position: relative;
}
.ps-connector {
  position: absolute;
  top: 38px;
  left: calc(10% + 22px);
  right: calc(10% + 22px);
  height: 1px;
  background: var(--line-2);
  z-index: 0;
}
.ps-connector::after {
  content: "";
  position: absolute;
  top: -3px; right: -6px;
  width: 0; height: 0;
  border-top: 3.5px solid transparent;
  border-bottom: 3.5px solid transparent;
  border-left: 5px solid var(--line-2);
}
.ps-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.1rem;
  padding: 0 .5rem;
  position: relative;
  z-index: 1;
  cursor: pointer;
  transition: transform .35s var(--ease-out);
  text-decoration: none;
  color: inherit;
}
.ps-step:hover { transform: translateY(-5px); }
.ps-icon {
  width: 76px; height: 76px;
  border-radius: 50%;
  border: 1px solid var(--line-2);
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color .35s, background .35s;
}
.ps-step:hover .ps-icon { border-color: var(--sage); background: var(--sage-glow); }
.ps-icon svg {
  width: 30px; height: 30px;
  stroke: var(--sage);
  stroke-width: 1.3;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke .35s;
}
.ps-step:hover .ps-icon svg { stroke: var(--sage-2); }
.ps-body { text-align: center; }
.ps-num {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: .35rem;
}
.ps-title {
  font-family: var(--f-body);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--t1);
  margin-bottom: .4rem;
}
.ps-desc {
  font-size: 11.5px;
  color: var(--t3);
  line-height: 1.55;
}

/* ─── DETAILED STEPS (image + content alternating) ────────── */

.steps-section {
  background: var(--bg);
  padding: clamp(4rem, 8vw, 8rem) 0;
}
.steps-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: clamp(3rem, 5vw, 5rem);
  gap: 2rem;
}
.steps-header h2 {
  font-family: var(--f-display);
  font-size: clamp(36px, 4.5vw, 58px);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -.02em;
  color: var(--t1);
  max-width: 18ch;
  text-wrap: balance;
}
.steps-header h2 em { font-style: italic; color: var(--sage-2); }
.steps-header p {
  font-size: 15px;
  color: var(--t2);
  line-height: 1.75;
  max-width: 38ch;
}
.steps-list {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  max-width: 1480px;
  margin: 0 auto;
  width: calc(100% - clamp(3rem, 8vw, 8rem));
}

/* Step block: image left, content right (alternates) */
.step-block {
  display: grid;
  grid-template-columns: 420px 1fr;
  min-height: 480px;
  background: var(--bg);
  transition: background .3s;
}
.step-block:nth-child(even) { grid-template-columns: 1fr 420px; }
.step-block:nth-child(even) .step-img-col { order: 2; }
.step-block:nth-child(even) .step-content-col { order: 1; }
.step-block:hover { background: #0a1820; }

/* Image panel */
.step-img-col {
  position: relative;
  overflow: hidden;
  background: var(--bg-2);
}
.step-img-col::before {
  content: "";
  position: absolute; inset: 0;
  background: var(--step-grad, linear-gradient(135deg, #0b1e1a 0%, #122a24 100%));
  z-index: 0;
}
.step-img-col::after {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 30% 60%, rgba(127,148,124,.15), transparent 65%);
  z-index: 1;
}
.step-img-col img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 1.4s var(--ease-out);
  z-index: 0;
}
.step-block:hover .step-img-col img { transform: scale(1.03); }

/* Large ghost number overlay */
.step-overlay-num {
  position: absolute;
  z-index: 2;
  bottom: -0.1em; left: 1rem;
  font-family: var(--f-display);
  font-size: clamp(100px, 12vw, 160px);
  font-weight: 300;
  color: rgba(127,148,124,.12);
  line-height: 1;
  letter-spacing: -.04em;
  pointer-events: none;
  user-select: none;
}

/* Centred icon circle */
.step-img-icon {
  position: absolute;
  z-index: 3;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 88px; height: 88px;
  border-radius: 50%;
  border: 1px solid rgba(127,148,124,.35);
  background: rgba(7,18,24,.55);
  backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.step-img-icon svg {
  width: 36px; height: 36px;
  stroke: var(--sage);
  stroke-width: 1.25;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Content panel */
.step-content-col {
  padding: clamp(2.5rem, 4vw, 4rem);
  display: flex;
  flex-direction: column;
  gap: 0;
  border-left: 1px solid var(--line);
}
.step-block:nth-child(even) .step-content-col {
  border-left: none;
  border-right: 1px solid var(--line);
}
.step-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: .75rem;
  display: block;
}
.step-num-label {
  font-family: var(--f-display);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 300;
  color: var(--t4);
  letter-spacing: -.03em;
  line-height: 1;
  margin-bottom: .5rem;
  transition: color .3s;
}
.step-block:hover .step-num-label { color: var(--sage); }
.step-title {
  font-family: var(--f-display);
  font-size: clamp(24px, 2.6vw, 36px);
  font-weight: 300;
  color: var(--t1);
  letter-spacing: -.015em;
  line-height: 1.1;
  margin-bottom: 1.25rem;
}
.step-title em { font-style: italic; color: var(--sage-2); }
.step-desc {
  font-size: clamp(13.5px, 1.2vw, 15px);
  color: var(--t2);
  line-height: 1.8;
  margin-bottom: 1.75rem;
}
.step-points {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  flex-direction: column;
  gap: .7rem;
  margin-bottom: 1.75rem;
}
.step-points li {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  font-size: 13px;
  color: var(--t2);
  line-height: 1.6;
}
.step-dot {
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--sage);
  flex-shrink: 0;
  margin-top: 7px;
  opacity: .7;
}
.step-metric {
  padding: .9rem 1.2rem;
  background: var(--bg-2);
  border-left: 2px solid var(--sage);
  margin-top: auto;
}
.step-metric-val {
  font-family: var(--f-display);
  font-size: 28px;
  font-weight: 300;
  color: var(--t1);
  letter-spacing: -.02em;
  line-height: 1;
}
.step-metric-val em { font-style: italic; color: var(--sage); }
.step-metric-label {
  font-size: 10.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--t3);
  margin-top: .3rem;
}

/* ─── TECHNOLOGY BAND ─────────────────────────────────────── */

.tech-band {
  background: var(--bg-2);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: clamp(3.5rem, 6vw, 6rem) 0;
}
.tech-band-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.tech-card {
  background: var(--bg-2);
  padding: 2.25rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  transition: background .3s;
}
.tech-card:hover { background: var(--bg-3); }
.tech-icon {
  width: 44px; height: 44px;
  border: 1px solid var(--line-2);
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tech-icon svg {
  width: 22px; height: 22px;
  stroke: var(--sage);
  stroke-width: 1.4;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.tech-card-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--gold);
}
.tech-card-title {
  font-family: var(--f-display);
  font-size: clamp(20px, 1.8vw, 26px);
  font-weight: 300;
  color: var(--t1);
  letter-spacing: -.01em;
  line-height: 1.15;
}
.tech-card-title em { font-style: italic; color: var(--sage-2); }
.tech-card-desc {
  font-size: 13.5px;
  color: var(--t3);
  line-height: 1.7;
}

/* ─── JOURNEY TIMELINE (left / right alternating) ─────────── */

.timeline-section {
  background: var(--bg);
  padding: clamp(4rem, 8vw, 8rem) 0;
}
.timeline-header {
  text-align: center;
  margin-bottom: clamp(3rem, 5vw, 5rem);
}
.timeline-header h2 {
  font-family: var(--f-display);
  font-size: clamp(36px, 4.5vw, 58px);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -.02em;
  color: var(--t1);
  margin: 1rem 0 1.25rem;
}
.timeline-header h2 em { font-style: italic; color: var(--sage-2); }
.timeline-header p {
  font-size: 15px;
  color: var(--t2);
  line-height: 1.75;
  max-width: 48ch;
  margin: 0 auto;
}
.timeline {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
}
.tl-line {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0; bottom: 0;
  width: 1px;
  background: var(--line-2);
}
.tl-item {
  display: grid;
  grid-template-columns: 1fr 52px 1fr;
  gap: 0;
  margin-bottom: 3.5rem;
  position: relative;
}
.tl-item:last-child { margin-bottom: 0; }
.tl-left  { padding-right: 2.5rem; text-align: right; }
.tl-right { padding-left: 2.5rem; text-align: left; }
.tl-center {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 4px;
  z-index: 1;
}
.tl-dot {
  width: 12px; height: 12px;
  border-radius: 50%;
  border: 2px solid var(--sage);
  background: var(--bg);
  flex-shrink: 0;
}
.tl-phase {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: .45rem;
}
.tl-title {
  font-family: var(--f-display);
  font-size: clamp(18px, 1.8vw, 23px);
  font-weight: 300;
  color: var(--t1);
  letter-spacing: -.01em;
  line-height: 1.15;
  margin-bottom: .6rem;
}
.tl-title em { font-style: italic; color: var(--sage-2); }
.tl-desc {
  font-size: 13.5px;
  color: var(--t2);
  line-height: 1.7;
}
.tl-time {
  display: inline-block;
  margin-top: .85rem;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--t4);
  padding: .3rem .75rem;
  border: 1px solid var(--line-2);
}

/* ─── SCIENCE PILLARS ─────────────────────────────────────── */

.science-section {
  background: var(--bg-3);
  border-top: 1px solid var(--line);
  padding: clamp(4rem, 8vw, 8rem) 0;
}
.science-inner {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: clamp(3rem, 7vw, 8rem);
  align-items: start;
}
.science-intro h2 {
  font-family: var(--f-display);
  font-size: clamp(34px, 4vw, 50px);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -.02em;
  color: var(--t1);
  margin: 1rem 0 1.5rem;
  text-wrap: balance;
}
.science-intro h2 em { font-style: italic; color: var(--sage-2); }
.science-intro p {
  font-size: 15px;
  color: var(--t2);
  line-height: 1.75;
  margin-bottom: 2rem;
}
.science-pillars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.pillar {
  background: var(--bg-3);
  padding: 2rem 1.75rem;
  transition: background .3s;
}
.pillar:hover { background: var(--bg); }
.pillar-num {
  font-family: var(--f-display);
  font-size: 42px;
  font-weight: 300;
  color: var(--t4);
  letter-spacing: -.04em;
  line-height: 1;
  margin-bottom: 1rem;
  transition: color .3s;
}
.pillar:hover .pillar-num { color: var(--sage-dim); }
.pillar-title {
  font-family: var(--f-display);
  font-size: clamp(19px, 1.8vw, 24px);
  font-weight: 300;
  color: var(--t1);
  letter-spacing: -.01em;
  line-height: 1.15;
  margin-bottom: .65rem;
}
.pillar-title em { font-style: italic; color: var(--sage-2); }
.pillar-desc {
  font-size: 13px;
  color: var(--t3);
  line-height: 1.7;
}
.pillar-tag {
  display: inline-block;
  margin-top: .85rem;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--sage);
  border-bottom: 1px solid var(--sage-dim);
  padding-bottom: 2px;
}

/* ─── PAGE CTA (how-it-works) ─────────────────────────────── */

.hiw-page-cta {
  background: var(--bg-2);
  border-top: 1px solid var(--line);
  padding: clamp(4rem, 8vw, 8rem) 0;
  position: relative;
  overflow: hidden;
}
.hiw-page-cta::before {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 50% 70% at 50% 100%, rgba(127,148,124,.08), transparent 70%);
  pointer-events: none;
}
.hiw-page-cta-inner {
  text-align: center;
  max-width: 660px;
  margin: 0 auto;
  position: relative;
}
.hiw-page-cta-inner h2 {
  font-family: var(--f-display);
  font-size: clamp(38px, 5vw, 64px);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -.02em;
  color: var(--t1);
  margin: 1rem 0 1.5rem;
}
.hiw-page-cta-inner h2 em { font-style: italic; color: var(--sage-2); }
.hiw-page-cta-inner p {
  font-size: 16px;
  color: var(--t2);
  line-height: 1.75;
  margin-bottom: 2.5rem;
}
.hiw-page-cta-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}
.hiw-page-cta-note {
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--t4);
  margin-top: 2rem;
}

/* ─── SITE FOOTER (full, used in standalone pages) ────────── */

.site-footer {
  background: var(--ink);
  border-top: 1px solid var(--line);
  padding: clamp(4rem, 7vw, 7rem) 0 2rem;
}
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: clamp(2rem, 4vw, 5rem);
  margin-bottom: 3.5rem;
  padding-bottom: 3.5rem;
  border-bottom: 1px solid var(--line);
}
.footer-brand {
  font-family: var(--f-display);
  font-size: 26px;
  font-weight: 300;
  color: var(--t1);
  letter-spacing: -.01em;
  margin-bottom: 1rem;
  line-height: 1.15;
}
.footer-brand strong { font-weight: 500; }
.footer-brand em { font-style: italic; color: var(--sage-2); }
.footer-brand sup {
  font-size: 9px;
  color: var(--sage);
  vertical-align: super;
  margin-left: 1px;
}
.footer-tagline {
  font-size: 13.5px;
  color: var(--t3);
  line-height: 1.7;
  max-width: 30ch;
  margin-bottom: 1.75rem;
}
.footer-social {
  display: flex;
  gap: .65rem;
}
.footer-social a {
  width: 34px; height: 34px;
  border: 1px solid var(--line-2);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color .3s, background .3s;
}
.footer-social a:hover { border-color: var(--sage); background: var(--sage-glow); }
.footer-social svg {
  width: 14px; height: 14px;
  stroke: var(--t2);
  stroke-width: 1.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.footer-col-head {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1.25rem;
}
.footer-col ul {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: .65rem;
}
.footer-col ul li a {
  font-size: 13.5px;
  color: var(--t3);
  transition: color .3s;
}
.footer-col ul li a:hover { color: var(--sage); }
.footer-bottom {
  padding-top: 2rem;
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.footer-legal {
  font-size: 11.5px;
  color: var(--t4);
}
.footer-legal a { color: var(--t4); transition: color .3s; }
.footer-legal a:hover { color: var(--t2); }

/* ─── REVEAL ANIMATION (standalone pages) ─────────────────── */

.js .reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .75s var(--ease-out), transform .75s var(--ease-out);
}
.js .reveal.visible, .js .reveal.in { opacity: 1; transform: translateY(0); }
.rd1 { transition-delay: .1s; }
.rd2 { transition-delay: .2s; }
.rd3 { transition-delay: .3s; }
.rd4 { transition-delay: .4s; }
.rd5 { transition-delay: .5s; }

/* ─── HERO TRUST BADGES ────────────────────────────────────── */

.hero-inner--left {
  display: flex !important;
  grid-template-columns: unset !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  max-width: unset;
  margin: 0;
  padding-bottom: 6rem;
}
.hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 580px;
}
.hero-bottom--left { justify-content: flex-start !important; pointer-events: auto; }
.hero-trust-badges {
  display: flex;
  align-items: center;
  gap: clamp(1.5rem, 3vw, 3.5rem);
  flex-wrap: wrap;
}
.hero-badge {
  display: flex;
  align-items: center;
  gap: .65rem;
  color: var(--t2);
}
.hero-badge svg {
  width: 22px; height: 22px;
  flex-shrink: 0;
  color: var(--sage);
  opacity: .85;
}
.hero-badge span {
  font-family: var(--f-body);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  line-height: 1.45;
  color: var(--t2);
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE — HOW IT WORKS PAGE
═══════════════════════════════════════════════════════════════ */

@media (max-width: 1100px) {
  .tech-band-inner          { grid-template-columns: 1fr 1fr; }
  .science-inner            { grid-template-columns: 1fr; }
  .step-block,
  .step-block:nth-child(even) { grid-template-columns: 1fr; min-height: auto; }
  .step-block:nth-child(even) .step-img-col     { order: 0; }
  .step-block:nth-child(even) .step-content-col { order: 0; border-right: none; border-left: 1px solid var(--line); }
  .step-img-col             { min-height: 300px; }
}
@media (max-width: 900px) {
  .hiw-hero                 { min-height: 100svh; }
  .hiw-hero-grid            { grid-template-columns: 1fr; gap: 3rem; }
  .process-strip-inner      { grid-template-columns: 1fr; }
  .ps-steps                 { grid-template-columns: repeat(3, 1fr); gap: 2rem; }
  .ps-connector             { display: none; }
  .steps-header             { flex-direction: column; align-items: flex-start; gap: 1.25rem; }
  .tl-item                  { grid-template-columns: 1fr; }
  .tl-line, .tl-center      { display: none; }
  .tl-item                  { padding-left: 1.25rem; border-left: 1px solid var(--line-2); margin-bottom: 2.25rem; }
  .tl-left, .tl-right       { padding: 0; text-align: left; }
  .tl-left.empty,
  .tl-right.empty           { display: none; }
  .footer-grid              { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .hero-badge svg           { width: 18px; height: 18px; }
  .hero-badge span          { font-size: 9px; }
}
@media (max-width: 640px) {
  .ps-steps                 { grid-template-columns: 1fr 1fr; }
  .tech-band-inner          { grid-template-columns: 1fr; }
  .science-pillars          { grid-template-columns: 1fr; }
  .hiw-hero-right           { grid-template-columns: 1fr 1fr; }
  .hiw-stat-card            { padding: 1.25rem 1rem; }
  .footer-grid              { grid-template-columns: 1fr; }
  .hero-trust-badges        { gap: 1.1rem; }
}

/* ── Right column: editorial stat list ── */
  .hero-stats-col {
    display: flex;
    flex-direction: column;
    align-self: flex-end;
    flex-shrink: 0;
    width: clamp(260px, 28vw, 380px);
  }

  .hero-stat-rule {
    width: 100%;
    height: 0.5px;
    background: rgba(168, 196, 184, 0.25);
  }

  .hero-stat-item {
    display: flex;
    flex-direction: column;
  }

  .hero-stat-inner {
    display: flex;
    align-items: flex-start;
    gap: 1.1rem;
    padding: 1rem 0;
  }

  .hero-stat-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.6rem;
    height: 2.6rem;
    border: 0.5px solid rgba(141, 187, 163, 0.3);
    color: rgba(141, 187, 163, 0.85);
  }

  .hero-stat-icon svg {
    width: 18px;
    height: 18px;
    stroke: rgba(141, 187, 163, 0.85);
  }

  .hero-stat-text {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding-top: 0.2rem;
  }

  .hero-stat-label {
    font-family: var(--f-body);
    font-size: clamp(12px, 1vw, 18px);
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(224, 216, 204, 0.9);
    line-height: 1.2;
  }

  .hero-stat-sub {
    font-family: var(--f-body);
    font-size: clamp(10.5px, 0.8vw, 12px);
    font-weight: 300;
    color: rgba(122, 148, 136, 0.85);
    line-height: 1.5;
    letter-spacing: 0.01em;
  }

  @media (max-width: 900px) {
    .hero-inner--split {
      flex-direction: column !important;
      align-items: flex-start;
      gap: 2.5rem;
    }
    .hero-stats-col {
      width: 100%;
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-self: auto;
    }
    .hero-stat-rule:last-child { display: none; }
  }

/* ═══════════════════════════════════════════════════════════
   CELLULAR BIORESPONSE REPORT · shared site component (rpt-*)
   Used on Monitoring, Doctors, Fitness, Coaches, Chef, Weight,
   Hormonal Health, BioBodyTrack and the membership pages.
═══════════════════════════════════════════════════════════ */
.rpt-frame { position: relative; min-height: 78vh; overflow: hidden; display: flex; align-items: center; justify-content: center; padding: clamp(2.5rem,5vw,5rem) clamp(1.5rem,4vw,4rem); background: radial-gradient(circle at 50% 42%, rgba(127,148,124,.2), transparent 64%), var(--bg-3); }
.rpt-stack { position: relative; width: min(100%, 560px); aspect-ratio: 1 / 1.02; }
.rpt-stack a { position: absolute; display: block; width: 60%; border: 1px solid var(--line-2); box-shadow: 0 40px 80px -24px rgba(0,0,0,.8), 0 0 0 1px rgba(0,0,0,.4); transition: transform .8s var(--ease-out), box-shadow .5s; background: var(--bg); }
.rpt-stack a img { display: block; width: 100%; height: auto; }
.rpt-stack .r1 { left: 0; top: 7%; transform: rotate(-5deg); z-index: 1; }
.rpt-stack .r2 { right: 0; top: 0; transform: rotate(4deg); z-index: 2; }
.rpt-stack .r3 { left: 20%; top: 18%; transform: rotate(-1deg); z-index: 3; }
.rpt-stack.two .r2 { z-index: 3; }
.rpt-stack:hover .r1 { transform: rotate(-8deg) translateX(-12px); }
.rpt-stack:hover .r2 { transform: rotate(7deg) translateX(12px); }
.rpt-stack:hover .r3 { transform: rotate(0) translateY(-10px); }
.rpt-stack a:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.rpt-tag { position: absolute; z-index: 4; left: clamp(1rem,4vw,3rem); bottom: clamp(1rem,4vw,2.5rem); background: rgba(7,18,24,.9); border: 1px solid var(--line-2); padding: .8rem 1.1rem; backdrop-filter: blur(6px); }
.rpt-tag span { display: block; font-size: 10px; letter-spacing: .26em; text-transform: uppercase; color: var(--t3); }
.rpt-tag b { display: block; font-family: "Cormorant Garamond", serif; font-weight: 400; font-size: 21px; color: var(--t1); }
.rpt-new { display: inline-flex; align-self: flex-start; align-items: center; gap: .7rem; border: 1px solid rgba(201,183,131,.45); padding: .5rem .9rem; font-size: 10.5px; letter-spacing: .26em; text-transform: uppercase; color: var(--gold); }
.rpt-new i { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); animation: rptPulse 2.2s infinite; }
@keyframes rptPulse { 0% { box-shadow: 0 0 0 0 rgba(201,183,131,.55); } 70% { box-shadow: 0 0 0 10px rgba(201,183,131,0); } 100% { box-shadow: 0 0 0 0 rgba(201,183,131,0); } }
.rpt-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: .5rem; }
.rpt-note { font-size: 12px; color: var(--t3); line-height: 1.7; }

/* Page strip: a row of report pages with captions */
.rpt-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(1rem, 2vw, 1.75rem); }
.rpt-strip a { display: flex; flex-direction: column; background: var(--bg-2); border: 1px solid var(--line); color: inherit; text-decoration: none; transition: border-color .4s, transform .5s var(--ease-out); }
.rpt-strip a:hover { border-color: var(--line-3); transform: translateY(-4px); }
.rpt-strip .rpt-img { aspect-ratio: 4 / 3; overflow: hidden; }
.rpt-strip .rpt-img img { width: 100%; height: auto; display: block; transition: transform 1.2s var(--ease-out); }
.rpt-strip a:hover .rpt-img img { transform: translateY(-6%); }
.rpt-strip .rpt-cap { padding: 1.1rem 1.25rem 1.35rem; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: .4rem; }
.rpt-strip .rpt-cap h4 { font-family: var(--f-display); font-weight: 300; font-size: 20px; color: var(--t1); line-height: 1.2; }
.rpt-strip .rpt-cap p { font-size: 13.5px; color: var(--t2); line-height: 1.6; }
.rpt-strip .rpt-cap .rpt-open { margin-top: .35rem; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); }
.rpt-strip.cols-3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1000px) { .rpt-strip, .rpt-strip.cols-3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .rpt-strip, .rpt-strip.cols-3 { grid-template-columns: 1fr; } .rpt-frame { min-height: 0; } }
@media (max-width: 900px) { .rpt-frame { min-height: 60vh; } }
.split.flip .rpt-frame { order: 2; }
@media (max-width: 900px) { .split.flip .rpt-frame { order: 0; } }
@media (max-width: 900px) { .rpt-frame { flex-direction: column; gap: 1.75rem; } .rpt-tag { position: static; align-self: flex-start; } }

/* ═══════════════════════════════════════════════════════════
   JOIN JOURNEY · shared components (jn-*)
   join.php · application-received.php · confirm-membership.php
   health-profile.php · welcome.php
═══════════════════════════════════════════════════════════ */
.jn-hero { position: relative; overflow: hidden; padding: clamp(8.5rem, 14vw, 11rem) 0 clamp(3rem, 6vw, 5rem); }
.jn-hero .hero-media { position: absolute; inset: 0; z-index: 0; }
.jn-hero .hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; filter: saturate(.85); }
.jn-hero .hero-veil { position: absolute; inset: 0; z-index: 1; background: radial-gradient(circle at 15% 85%, var(--sage-glow), transparent 55%), linear-gradient(90deg, var(--bg) 0%, rgba(7,18,24,.9) 40%, rgba(7,18,24,.55) 100%), linear-gradient(to top, var(--bg) 0%, rgba(7,18,24,0) 45%); }
.jn-hero .wrap { position: relative; z-index: 2; }
.jn-hero h1 { font-family: "Cormorant Garamond", "Playfair Display", serif; font-weight: 300; font-size: clamp(42px, 6vw, 84px); line-height: 1.02; letter-spacing: -.02em; color: var(--t1); margin: 1.25rem 0 1.25rem; max-width: 16ch; text-wrap: balance; }
.jn-hero h1 em { font-style: italic; color: var(--sage-2); }
.jn-hero .lead { color: var(--t1); opacity: .85; }

/* Stepper */
.jn-steps { list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); margin-top: clamp(2rem, 4vw, 3rem); border-top: 1px solid var(--line-2); max-width: 980px; }
.jn-steps li { position: relative; padding: 1rem 1rem 0 0; display: flex; flex-direction: column; gap: .35rem; }
.jn-steps li::before { content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 1px; background: transparent; }
.jn-steps li.done::before, .jn-steps li.now::before { background: var(--sage); }
.jn-steps li.now::before { background: var(--gold); height: 2px; top: -2px; }
.jn-steps .n { font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; color: var(--t3); }
.jn-steps .t { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--t3); }
.jn-steps li.done .n, .jn-steps li.done .t { color: var(--sage-2); }
.jn-steps li.now .n, .jn-steps li.now .t { color: var(--gold); }
.jn-steps a { color: inherit; }
@media (max-width: 700px) {
  .jn-steps { grid-template-columns: repeat(5, 1fr); }
  .jn-steps li { padding-right: .4rem; }
  .jn-steps .t { font-size: 9.5px; letter-spacing: .08em; }
}

/* Layout */
.jn-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.jn-aside { position: sticky; top: 7rem; display: flex; flex-direction: column; gap: 1.5rem; }
@media (max-width: 960px) { .jn-grid { grid-template-columns: 1fr; } .jn-aside { position: static; } }
.jn-card { background: var(--bg-2); border: 1px solid var(--line); padding: clamp(1.5rem, 3vw, 2.5rem); display: flex; flex-direction: column; gap: 1.25rem; }
.jn-card.hl { border-color: rgba(201,183,131,.4); background: linear-gradient(180deg, rgba(201,183,131,.06), rgba(201,183,131,0)); }
.jn-card h3 { font-family: var(--f-display); font-weight: 300; font-size: clamp(24px, 2.4vw, 32px); color: var(--t1); line-height: 1.15; }
.jn-card h3 em { font-style: italic; color: var(--sage-2); }
.jn-card p { font-size: 15px; color: var(--t2); line-height: 1.75; }
.jn-block + .jn-block { margin-top: clamp(2.5rem, 5vw, 3.5rem); padding-top: clamp(2.5rem, 5vw, 3.5rem); border-top: 1px solid var(--line); }
.jn-block > h2 { font-family: var(--f-display); font-weight: 300; font-size: clamp(28px, 3vw, 40px); color: var(--t1); line-height: 1.1; margin: 1rem 0 1.5rem; }
.jn-block > h2 em { font-style: italic; color: var(--sage-2); }
.jn-block > p { font-size: 15px; color: var(--t2); line-height: 1.75; margin-bottom: 1.5rem; max-width: 62ch; }

/* Summary rows */
.jn-sum { display: flex; flex-direction: column; }
.jn-sum div { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-top: 1px solid var(--line); font-size: 14.5px; color: var(--t2); }
.jn-sum div b { color: var(--t1); font-weight: 500; text-align: right; }
.jn-sum div.tot { border-top: 1px solid var(--line-3); font-size: 16px; color: var(--t1); }
.jn-sum div.tot b { font-family: var(--f-display); font-size: 26px; font-weight: 400; }
.jn-plan { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.jn-plan .nm { font-family: var(--f-display); font-style: italic; font-size: 34px; color: var(--t1); }
.jn-plan .tg { font-size: 10.5px; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }

/* Choices: radio cards, chips, checkboxes */
.jn-choice { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.jn-choice.c3 { grid-template-columns: repeat(3, 1fr); }
.jn-choice label { position: relative; background: var(--bg); padding: 1.15rem 1.25rem 1.15rem 3rem; cursor: pointer; display: flex; flex-direction: column; gap: .3rem; transition: background .3s; }
.jn-choice label:hover { background: var(--bg-2); }
.jn-choice input { position: absolute; opacity: 0; pointer-events: none; }
.jn-choice label::before { content: ""; position: absolute; left: 1.2rem; top: 1.3rem; width: 14px; height: 14px; border: 1px solid var(--line-3); border-radius: 50%; }
.jn-choice label:has(input:checked) { background: rgba(127,148,124,.12); }
.jn-choice label:has(input:checked)::before { border-color: var(--sage-2); box-shadow: inset 0 0 0 3px var(--bg), inset 0 0 0 10px var(--sage-2); }
.jn-choice label:has(input:focus-visible) { outline: 1px solid var(--gold); outline-offset: -1px; }
.jn-choice b { font-weight: 500; color: var(--t1); font-size: 15px; }
.jn-choice span { font-size: 13px; color: var(--t3); line-height: 1.5; }
@media (max-width: 700px) { .jn-choice, .jn-choice.c3 { grid-template-columns: 1fr; } }

.jn-chips { display: flex; flex-wrap: wrap; gap: .6rem; }
.jn-chips label { cursor: pointer; }
.jn-chips input { position: absolute; opacity: 0; pointer-events: none; }
.jn-chips span { display: inline-block; padding: .65rem 1rem; border: 1px solid var(--line-2); font-size: 13px; color: var(--t2); transition: all .25s; }
.jn-chips label:hover span { border-color: var(--line-3); color: var(--t1); }
.jn-chips input:checked + span { background: var(--sage); border-color: var(--sage); color: var(--ink); }
.jn-chips input:focus-visible + span { outline: 1px solid var(--gold); outline-offset: 2px; }

.jn-checks { display: flex; flex-direction: column; }
.jn-checks label { display: grid; grid-template-columns: 22px 1fr; gap: .9rem; padding: 1rem 0; border-top: 1px solid var(--line); cursor: pointer; font-size: 14px; color: var(--t2); line-height: 1.6; }
.jn-checks label:last-child { border-bottom: 1px solid var(--line); }
.jn-checks input { appearance: none; -webkit-appearance: none; width: 18px; height: 18px; margin-top: 2px; border: 1px solid var(--line-3); background: transparent; cursor: pointer; display: grid; place-items: center; }
.jn-checks input:checked { background: var(--sage); border-color: var(--sage); }
.jn-checks input:checked::after { content: ""; width: 9px; height: 5px; border-left: 1.5px solid var(--ink); border-bottom: 1.5px solid var(--ink); transform: rotate(-45deg) translate(1px, -1px); }
.jn-checks input:focus-visible { outline: 1px solid var(--gold); outline-offset: 2px; }
.jn-checks a { color: var(--sage-2); border-bottom: 1px solid rgba(148,166,145,.4); }
.jn-checks b { color: var(--t1); font-weight: 500; }

.jn-fieldset { border: 0; display: flex; flex-direction: column; gap: 1.5rem; }
.jn-fieldset > legend, .jn-label { font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--sage); margin-bottom: 1rem; display: block; }
.jn-row3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
@media (max-width: 700px) { .jn-row3 { grid-template-columns: 1fr 1fr; } }

/* Slots */
.jn-days { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.jn-days button { background: var(--bg); padding: .9rem .5rem; display: flex; flex-direction: column; align-items: center; gap: .2rem; color: var(--t2); transition: background .25s; }
.jn-days button small { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--t3); }
.jn-days button b { font-family: var(--f-display); font-weight: 300; font-size: 26px; color: var(--t1); }
.jn-days button[aria-pressed="true"] { background: var(--sage); }
.jn-days button[aria-pressed="true"] small, .jn-days button[aria-pressed="true"] b { color: var(--ink); }
.jn-times { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; margin-top: 1rem; }
.jn-times button { border: 1px solid var(--line-2); padding: .75rem .5rem; font-size: 14px; color: var(--t2); transition: all .25s; }
.jn-times button:hover { border-color: var(--line-3); color: var(--t1); }
.jn-times button[aria-pressed="true"] { background: var(--gold); border-color: var(--gold); color: var(--ink); }
@media (max-width: 560px) { .jn-times { grid-template-columns: repeat(3, 1fr); } .jn-days button b { font-size: 20px; } }

/* Timeline */
.jn-time { list-style: none; position: relative; display: flex; flex-direction: column; }
.jn-time li { display: grid; grid-template-columns: 110px 22px 1fr; gap: 1rem; padding-bottom: 2rem; position: relative; }
.jn-time li::after { content: ""; position: absolute; left: calc(110px + 1rem + 10px); top: 22px; bottom: 0; width: 1px; background: var(--line-2); }
.jn-time li:last-child::after { display: none; }
.jn-time .d { font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--t3); padding-top: 4px; }
.jn-time .dot { width: 21px; height: 21px; border: 1px solid var(--line-3); border-radius: 50%; display: grid; place-items: center; background: var(--bg); position: relative; z-index: 1; }
.jn-time li.done .dot { background: var(--sage); border-color: var(--sage); }
.jn-time li.done .dot::after { content: ""; width: 8px; height: 4px; border-left: 1.5px solid var(--ink); border-bottom: 1.5px solid var(--ink); transform: rotate(-45deg) translate(1px,-1px); }
.jn-time li.now .dot { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,183,131,.15); }
.jn-time li.now .dot::after { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
.jn-time li.now .d { color: var(--gold); }
.jn-time h4 { font-family: var(--f-display); font-weight: 300; font-size: 22px; color: var(--t1); line-height: 1.2; }
.jn-time p { font-size: 14px; color: var(--t2); line-height: 1.65; margin-top: .35rem; }
.jn-time .act { display: inline-block; margin-top: .65rem; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); }
@media (max-width: 560px) {
  .jn-time li { grid-template-columns: 22px 1fr; }
  .jn-time .d { grid-column: 2; grid-row: 1; padding: 0; }
  .jn-time .dot { grid-column: 1; grid-row: 1 / span 2; }
  .jn-time li > div:last-child { grid-column: 2; }
  .jn-time li::after { left: 10px; }
}

/* Progress */
.jn-progress { display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; }
.jn-progress .bar { flex: 1; height: 2px; background: var(--line-2); position: relative; overflow: hidden; }
.jn-progress .bar i { position: absolute; inset: 0 auto 0 0; width: 0; background: var(--gold); transition: width .5s var(--ease-out); }
.jn-progress .ct { font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; color: var(--t3); white-space: nowrap; }
.jn-panel[hidden] { display: none; }
.jn-nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2.5rem; flex-wrap: wrap; }

/* Journey overview */
.jn-journey { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); counter-reset: jn; }
.jn-journey a { background: var(--bg); padding: clamp(1.5rem, 2.5vw, 2.25rem); display: flex; flex-direction: column; gap: .8rem; transition: background .4s; color: inherit; }
.jn-journey a:hover { background: var(--bg-2); }
.jn-journey .n { font-family: "Cormorant Garamond", serif; font-size: 52px; line-height: 1; color: var(--sage-dim); }
.jn-journey h3 { font-family: var(--f-display); font-weight: 300; font-size: 24px; color: var(--t1); line-height: 1.15; }
.jn-journey h3 em { font-style: italic; color: var(--sage-2); }
.jn-journey p { font-size: 14px; color: var(--t2); line-height: 1.65; }
.jn-journey .when { margin-top: auto; padding-top: .75rem; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); }
@media (max-width: 1100px) { .jn-journey { grid-template-columns: repeat(2, 1fr); } .jn-journey a:last-child { grid-column: 1 / -1; } }
@media (max-width: 600px) { .jn-journey { grid-template-columns: 1fr; } }

/* Team */
.jn-team { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.jn-team > div { background: var(--bg); padding: 1.75rem; display: flex; flex-direction: column; gap: .5rem; }
.jn-team .r { font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--sage); }
.jn-team b { font-family: var(--f-display); font-weight: 300; font-size: 22px; color: var(--t1); }
.jn-team p { font-size: 13.5px; color: var(--t2); line-height: 1.6; }
@media (max-width: 800px) { .jn-team { grid-template-columns: 1fr; } }

.jn-note { padding: 1.1rem 1.25rem; border: 1px solid rgba(201,183,131,.35); background: rgba(201,183,131,.05); font-size: 13.5px; color: var(--t2); line-height: 1.65; }
.jn-note b { color: var(--gold); font-weight: 500; }
.jn-ok { display: flex; gap: 1rem; align-items: flex-start; padding: 1.25rem 1.4rem; border: 1px solid rgba(148,166,145,.4); background: rgba(127,148,124,.1); }
.jn-ok svg { width: 22px; height: 22px; color: var(--sage-2); flex: none; margin-top: 2px; }
.jn-ok b { display: block; color: var(--t1); font-weight: 500; margin-bottom: .2rem; }
.jn-ok span { font-size: 14px; color: var(--t2); line-height: 1.6; }
.jn-secure { display: flex; align-items: center; gap: .6rem; font-size: 12px; color: var(--t3); letter-spacing: .05em; }
.jn-secure svg { width: 14px; height: 14px; color: var(--sage); }
.jn-btn-full { width: 100%; justify-content: center; }
.jn-err { font-size: 13px; color: #E2B98C; margin-top: .75rem; }
.jn-grid [hidden], .jn-hero [hidden] { display: none !important; }

/* ═══════════════════════════════════════════════════════════
   READABILITY · brighter form text site-wide
═══════════════════════════════════════════════════════════ */
.form-field label { color: #B9CDB5; font-size: 11px; }
.form-field input, .form-field select, .form-field textarea { color: #F4F1EA; border-bottom-color: rgba(217,212,203,.32); font-size: 16px; }
.form-field input::placeholder, .form-field textarea::placeholder { color: #98A49E; }
.jn-choice span, .jn-checks label { color: #C3CBC6; }
.jn-label, .jn-fieldset > legend { color: #B9CDB5; }

/* ═══════════════════════════════════════════════════════════
   POP-UP APPLICATION (bj-*)
═══════════════════════════════════════════════════════════ */
html.bj-lock, html.bj-lock body { overflow: hidden; }
.bj-modal { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: clamp(0px, 3vw, 2rem); }
.bj-modal[hidden] { display: none; }
.bj-scrim { position: absolute; inset: 0; background: rgba(3,8,10,.78); backdrop-filter: blur(6px); opacity: 0; transition: opacity .25s; }
.bj-sheet { position: relative; width: min(760px, 100%); max-height: min(92vh, 1000px); overflow-y: auto; overscroll-behavior: contain; background: #0E1A1C; border: 1px solid rgba(217,212,203,.18); box-shadow: 0 40px 120px -20px rgba(0,0,0,.9); padding: clamp(1.75rem, 4vw, 3rem); transform: translateY(18px); opacity: 0; transition: transform .35s var(--ease-out), opacity .25s; outline: none; }
.bj-modal.open .bj-scrim { opacity: 1; }
.bj-modal.open .bj-sheet { transform: none; opacity: 1; }
.bj-x { position: absolute; top: 1rem; right: 1rem; width: 44px; height: 44px; display: grid; place-items: center; color: #F4F1EA; border: 1px solid rgba(217,212,203,.2); border-radius: 50%; background: rgba(255,255,255,.03); }
.bj-x svg { width: 18px; height: 18px; }
.bj-x:hover { border-color: var(--gold); color: var(--gold); }
.bj-eyebrow { display: inline-flex; align-items: center; gap: .65rem; font-size: 11px; font-weight: 500; letter-spacing: .26em; text-transform: uppercase; color: var(--gold); }
.bj-eyebrow::before { content: ""; width: 26px; height: 1px; background: var(--gold); }
.bj-h { font-family: "Cormorant Garamond", "Playfair Display", serif; font-weight: 400; font-size: clamp(32px, 4.4vw, 46px); line-height: 1.05; color: #F7F3EC; margin: .9rem 0 .75rem; padding-right: 3rem; }
.bj-h em { font-style: italic; color: #B4C8B0; }
.bj-lead { font-size: 16.5px; line-height: 1.65; color: #DDE3DE; margin-bottom: 1.75rem; }
.bj-small { font-size: 13.5px; color: #B5BFBA; line-height: 1.6; margin-top: 1.25rem; }
.bj-small b { color: #F4F1EA; font-weight: 500; }
.bj-center { text-align: center; }
.bj-link { color: var(--gold); text-decoration: underline; text-underline-offset: 3px; font: inherit; }

.bj-plans { display: grid; grid-template-columns: repeat(2, 1fr); gap: .9rem; }
.bj-plan { text-align: left; display: flex; flex-direction: column; gap: .45rem; padding: 1.4rem 1.4rem 1.25rem; background: rgba(255,255,255,.035); border: 1px solid rgba(217,212,203,.18); color: inherit; transition: border-color .25s, background .25s, transform .3s var(--ease-out); }
.bj-plan:hover, .bj-plan:focus-visible { border-color: var(--gold); background: rgba(201,183,131,.07); transform: translateY(-2px); outline: none; }
.bj-plan-tag { font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); }
.bj-plan-name { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 30px; color: #F7F3EC; line-height: 1.1; }
.bj-plan-line { font-size: 14px; color: #CFD6D1; line-height: 1.55; }
.bj-plan-price { font-size: 14.5px; color: #F4F1EA; font-weight: 500; margin-top: .25rem; }
.bj-plan-go { margin-top: .6rem; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: #B4C8B0; }
.bj-plan:hover .bj-plan-go { color: var(--gold); }

.bj-back { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #B4C8B0; margin-bottom: 1.25rem; }
.bj-back:hover { color: var(--gold); }
.bj-chosen { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem 1rem; padding: 1rem 1.2rem; border: 1px solid rgba(201,183,131,.4); background: rgba(201,183,131,.06); margin-bottom: .5rem; }
.bj-chosen-name { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 26px; color: #F7F3EC; }
.bj-chosen-price { font-size: 14px; color: #E6E1D6; margin-left: auto; }

.bj-form { display: flex; flex-direction: column; gap: 1.35rem; }
.bj-row { display: flex; flex-direction: column; gap: .7rem; }
.bj-row[hidden], .bj-f[hidden] { display: none; }
.bj-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.bj-f { display: flex; flex-direction: column; gap: .5rem; }
.bj-f > span, .bj-label { font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: #C9D8C5; }
.bj-f > span i, .bj-label i { font-style: normal; text-transform: none; letter-spacing: 0; color: #9FAAA5; font-weight: 400; margin-left: .35rem; }
.bj-f input, .bj-f select, .bj-f textarea { width: 100%; font: 400 16px/1.4 var(--f-body); color: #F7F3EC; background: rgba(255,255,255,.06); border: 1px solid rgba(217,212,203,.28); border-radius: 2px; padding: .9rem 1rem; transition: border-color .2s, background .2s; }
.bj-f select { appearance: none; -webkit-appearance: none; color-scheme: dark; padding-right: 2.5rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%23C9B783' d='M2 4l4 4 4-4'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; background-size: 12px; }
.bj-f select option, .bj-f select optgroup { background: #0E1A1C; color: #F4F1EA; }
.bj-f textarea { resize: vertical; min-height: 64px; }
.bj-f input::placeholder, .bj-f textarea::placeholder { color: #9AA59F; }
.bj-f input:focus, .bj-f select:focus, .bj-f textarea:focus { outline: none; border-color: var(--gold); background: rgba(255,255,255,.09); }
.bj-invalid input, .bj-invalid select, .bj-invalid textarea { border-color: #E2A87A; }
.bj-invalid.bj-consent span { color: #F0C9A6; }
.bj-chips { display: flex; flex-wrap: wrap; gap: .55rem; }
.bj-chips label { cursor: pointer; position: relative; }
.bj-chips input { position: absolute; opacity: 0; pointer-events: none; }
.bj-chips span { display: inline-block; padding: .65rem 1rem; border: 1px solid rgba(217,212,203,.3); font-size: 14px; color: #E6E9E5; border-radius: 999px; transition: all .2s; }
.bj-chips label:hover span { border-color: #B4C8B0; }
.bj-chips input:checked + span { background: #B4C8B0; border-color: #B4C8B0; color: #071218; font-weight: 500; }
.bj-chips input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 2px; }
.bj-soon { display: flex; gap: .7rem; align-items: flex-start; padding: .9rem 1rem; border: 1px solid rgba(201,183,131,.35); background: rgba(201,183,131,.06); font-size: 14px; color: #E6E1D6; line-height: 1.55; }
.bj-soon[hidden] { display: none; }
.bj-soon svg { width: 18px; height: 18px; color: var(--gold); flex: none; margin-top: 2px; }
.bj-consent { display: grid; grid-template-columns: 22px 1fr; gap: .8rem; font-size: 14px; color: #D3DAD5; line-height: 1.55; cursor: pointer; }
.bj-consent input { appearance: none; -webkit-appearance: none; width: 20px; height: 20px; margin-top: 1px; border: 1px solid rgba(217,212,203,.45); display: grid; place-items: center; cursor: pointer; }
.bj-consent input:checked { background: #B4C8B0; border-color: #B4C8B0; }
.bj-consent input:checked::after { content: ""; width: 10px; height: 5px; border-left: 2px solid #071218; border-bottom: 2px solid #071218; transform: rotate(-45deg) translate(1px, -1px); }
.bj-consent a { color: var(--gold); text-decoration: underline; text-underline-offset: 2px; }
.bj-err { font-size: 14px; color: #F0C9A6; }
.bj-err[hidden] { display: none; }
.bj-submit { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; width: 100%; padding: 1.15rem 1.5rem; background: var(--gold); color: #071218; font: 600 13px var(--f-body); letter-spacing: .2em; text-transform: uppercase; border: 0; transition: background .2s, transform .2s; }
.bj-submit:hover { background: #D8C894; transform: translateY(-1px); }
.bj-submit[disabled] { opacity: .7; cursor: wait; }
.bj-ghost { display: inline-flex; align-items: center; justify-content: center; width: 100%; padding: 1.1rem 1.5rem; border: 1px solid rgba(217,212,203,.35); color: #F4F1EA; font: 500 12.5px var(--f-body); letter-spacing: .2em; text-transform: uppercase; }
.bj-ghost:hover { border-color: var(--gold); color: var(--gold); }
.bj-done { display: flex; flex-direction: column; align-items: flex-start; }
.bj-done-ic { width: 58px; height: 58px; color: #B4C8B0; margin-bottom: 1.25rem; }
.bj-done-ic svg { width: 100%; height: 100%; }
.bj-next { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; border-top: 1px solid rgba(217,212,203,.18); margin: 1.5rem 0 1.75rem; }
.bj-next div { padding: 1rem 1rem 0 0; display: flex; flex-direction: column; gap: .3rem; }
.bj-next b { font-family: var(--f-mono); font-size: 12px; color: var(--gold); font-weight: 400; }
.bj-next span { font-size: 14px; color: #DDE3DE; line-height: 1.45; }
.bj-actions { display: grid; grid-template-columns: 1.3fr 1fr; gap: .8rem; width: 100%; }
@media (max-width: 640px) {
  .bj-modal { padding: 0; align-items: flex-end; }
  .bj-sheet { max-height: 94vh; border-left: 0; border-right: 0; border-bottom: 0; padding: 1.5rem 1.25rem 2rem; }
  .bj-plans, .bj-2, .bj-actions { grid-template-columns: 1fr; }
  .bj-next { grid-template-columns: 1fr; }
  .bj-chosen-price { margin-left: 0; width: 100%; }
}

/* ═══════════════════════════════════════════════════════════
   FLOATING MENU + AARON (bj-dock, aa-*)
═══════════════════════════════════════════════════════════ */
.bj-dock { position: fixed; right: clamp(1rem, 2.5vw, 2rem); bottom: clamp(1rem, 2.5vw, 2rem); z-index: 9000; display: flex; flex-direction: column; align-items: flex-end; gap: .75rem; }
.bj-dock-row { display: flex; align-items: center; gap: .75rem; }
.bj-join { padding: 1rem 1.4rem; background: var(--gold); color: #071218; font: 600 12px var(--f-body); letter-spacing: .2em; text-transform: uppercase; border-radius: 999px; box-shadow: 0 14px 34px -10px rgba(0,0,0,.7); transition: background .2s, transform .2s; }
.bj-join:hover { background: #D8C894; transform: translateY(-1px); }
.bj-dock.menu-open .bj-join { background: #F4F1EA; }
.bj-aaron { position: relative; width: 64px; height: 64px; border-radius: 50%; padding: 0; box-shadow: 0 14px 34px -8px rgba(0,0,0,.75), 0 0 0 2px rgba(201,183,131,.55); transition: transform .25s; }
.bj-aaron:hover { transform: scale(1.06); }
.bj-aaron .aa-av, .bj-aaron .aa-av svg { width: 100%; height: 100%; display: block; }
.bj-dot { position: absolute; right: 2px; bottom: 4px; width: 14px; height: 14px; border-radius: 50%; background: #7FD08A; border: 2px solid #071218; }
.bj-dock.chat-open .bj-aaron { box-shadow: 0 0 0 2px var(--gold); }
.bj-dock-menu { display: flex; flex-direction: column; min-width: 250px; background: #0E1A1C; border: 1px solid rgba(217,212,203,.2); box-shadow: 0 30px 70px -20px rgba(0,0,0,.85); }
.bj-dock-menu[hidden] { display: none; }
.bj-dock-menu button, .bj-dock-menu a { display: flex; align-items: center; gap: .85rem; padding: 1rem 1.2rem; font-size: 15px; color: #F4F1EA; text-align: left; border-bottom: 1px solid rgba(217,212,203,.1); }
.bj-dock-menu > :last-child { border-bottom: 0; }
.bj-dock-menu svg { width: 18px; height: 18px; color: var(--gold); flex: none; }
.bj-dock-menu button:hover, .bj-dock-menu a:hover { background: rgba(255,255,255,.05); }
.bj-hint { position: absolute; right: 0; bottom: calc(100% + .9rem); width: 250px; padding: 1rem 2.4rem 1rem 1.1rem; background: #F4F1EA; color: #0E1A1C; font-size: 14.5px; line-height: 1.45; box-shadow: 0 18px 40px -12px rgba(0,0,0,.7); cursor: pointer; animation: bjPop .4s var(--ease-out); }
.bj-hint[hidden] { display: none; }
.bj-hint b { display: block; font-family: "Cormorant Garamond", serif; font-size: 21px; font-weight: 500; }
.bj-hint::after { content: ""; position: absolute; right: 24px; top: 100%; border: 8px solid transparent; border-top-color: #F4F1EA; }
.bj-hint-x { position: absolute; top: .5rem; right: .5rem; width: 26px; height: 26px; color: #0E1A1C; }
.bj-hint-x svg { width: 14px; height: 14px; }
@keyframes bjPop { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.aa-panel { position: fixed; right: clamp(1rem, 2.5vw, 2rem); bottom: calc(clamp(1rem, 2.5vw, 2rem) + 80px); z-index: 9001; width: min(400px, calc(100vw - 2rem)); height: min(620px, calc(100vh - 140px)); display: flex; flex-direction: column; background: #0E1A1C; border: 1px solid rgba(217,212,203,.2); box-shadow: 0 40px 100px -20px rgba(0,0,0,.9); opacity: 0; transform: translateY(14px); transition: opacity .22s, transform .3s var(--ease-out); }
.aa-panel[hidden] { display: none; }
.aa-panel.open { opacity: 1; transform: none; }
.aa-head { display: flex; align-items: center; gap: .85rem; padding: 1rem 1.1rem; border-bottom: 1px solid rgba(217,212,203,.14); background: linear-gradient(180deg, rgba(127,148,124,.16), rgba(127,148,124,0)); }
.aa-head .aa-av { width: 46px; height: 46px; flex: none; }
.aa-head .aa-av svg { width: 100%; height: 100%; display: block; }
.aa-head b { display: block; font-family: "Cormorant Garamond", serif; font-size: 23px; font-weight: 500; color: #F7F3EC; line-height: 1.1; }
.aa-head span { display: flex; align-items: center; gap: .45rem; font-size: 12.5px; color: #C3CBC6; }
.aa-head span i { width: 8px; height: 8px; border-radius: 50%; background: #7FD08A; }
.aa-x { margin-left: auto; width: 40px; height: 40px; display: grid; place-items: center; color: #F4F1EA; }
.aa-x svg { width: 18px; height: 18px; }
.aa-log { flex: 1; overflow-y: auto; padding: 1.1rem; display: flex; flex-direction: column; gap: .75rem; overscroll-behavior: contain; }
.aa-msg { max-width: 88%; font-size: 15px; line-height: 1.55; }
.aa-msg.bot { display: grid; grid-template-columns: 28px 1fr; gap: .6rem; align-self: flex-start; }
.aa-msg.bot > div { background: rgba(255,255,255,.06); border: 1px solid rgba(217,212,203,.12); color: #EDEAE3; padding: .8rem 1rem; border-radius: 2px 14px 14px 14px; }
.aa-msg.bot a { color: var(--gold); text-decoration: underline; text-underline-offset: 2px; }
.aa-msg.bot b { color: #FFFFFF; font-weight: 600; }
.aa-mini { width: 28px; height: 28px; }
.aa-mini svg { width: 100%; height: 100%; display: block; }
.aa-msg.me { align-self: flex-end; background: #B4C8B0; color: #071218; padding: .75rem 1rem; border-radius: 14px 2px 14px 14px; }
.aa-msg.chips { max-width: 100%; display: flex; flex-wrap: wrap; gap: .45rem; padding-left: 2.35rem; }
.aa-msg.chips button { padding: .55rem .9rem; border: 1px solid rgba(201,183,131,.55); color: #F1E6C6; font-size: 13.5px; border-radius: 999px; transition: all .2s; }
.aa-msg.chips button:hover { background: var(--gold); color: #071218; border-color: var(--gold); }
.aa-typing { display: flex !important; gap: 4px; padding: .9rem 1rem .9rem 2.6rem; }
.aa-typing i { width: 7px; height: 7px; border-radius: 50%; background: #B4C8B0; animation: aaDot 1s infinite; }
.aa-typing i:nth-child(2) { animation-delay: .15s; } .aa-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes aaDot { 0%, 60%, 100% { opacity: .25; transform: none; } 30% { opacity: 1; transform: translateY(-3px); } }
.aa-list { list-style: none; margin: .4rem 0 .6rem; display: flex; flex-direction: column; gap: .35rem; }
.aa-list li { display: flex; align-items: center; gap: .45rem; }
.aa-list svg { width: 15px; height: 15px; color: var(--gold); flex: none; }
.aa-input { display: flex; gap: .5rem; padding: .8rem; border-top: 1px solid rgba(217,212,203,.14); }
.aa-input input { flex: 1; min-width: 0; background: rgba(255,255,255,.06); border: 1px solid rgba(217,212,203,.25); color: #F7F3EC; font: 15px var(--f-body); padding: .8rem .9rem; }
.aa-input input::placeholder { color: #9AA59F; }
.aa-input input:focus { outline: none; border-color: var(--gold); }
.aa-input button { width: 48px; display: grid; place-items: center; background: var(--gold); color: #071218; }
.aa-input button svg { width: 18px; height: 18px; }
.aa-foot { font-size: 11.5px; color: #9AA59F; text-align: center; padding: 0 1rem .7rem; }
@media (max-width: 640px) {
  .bj-join { padding: .9rem 1.1rem; font-size: 11px; }
  .bj-aaron { width: 56px; height: 56px; }
  .aa-panel { right: 0; left: 0; bottom: 0; width: 100%; height: 88vh; border-left: 0; border-right: 0; border-bottom: 0; z-index: 9500; }
  .bj-dock.chat-open { display: none; }
  .bj-hint { width: 220px; }
}
@media print { .bj-dock, .aa-panel { display: none !important; } }

/* Membership page · choose then apply */
.ap-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.ap-card { position: relative; text-align: left; display: flex; flex-direction: column; gap: .7rem; padding: 2rem 1.6rem 1.6rem; background: #0E1A1C; border: 1px solid rgba(217,212,203,.2); color: inherit; transition: border-color .3s, transform .4s var(--ease-out), background .3s; }
.ap-card:hover, .ap-card:focus-visible { border-color: var(--gold); transform: translateY(-4px); background: #122022; outline: none; }
.ap-feat { border-color: rgba(201,183,131,.55); background: linear-gradient(180deg, rgba(201,183,131,.09), #0E1A1C 60%); }
.ap-flag { position: absolute; top: -1px; left: -1px; right: -1px; padding: .45rem 1rem; background: var(--gold); color: #071218; font-size: 10.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.ap-feat { padding-top: 3.1rem; }
.ap-tag { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
.ap-name { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 36px; line-height: 1.05; color: #F7F3EC; }
.ap-line { font-size: 15px; line-height: 1.6; color: #D6DCD8; }
.ap-price { margin-top: auto; padding-top: 1rem; border-top: 1px solid rgba(217,212,203,.14); font-family: "Cormorant Garamond", serif; font-size: 28px; color: #F7F3EC; }
.ap-price small { display: block; font-family: var(--f-body); font-size: 12.5px; color: #B5BFBA; letter-spacing: .02em; }
.ap-go { display: inline-flex; justify-content: center; gap: .5rem; padding: .95rem 1rem; background: rgba(201,183,131,.12); border: 1px solid rgba(201,183,131,.5); color: #F1E6C6; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; transition: all .25s; }
.ap-card:hover .ap-go, .ap-feat .ap-go { background: var(--gold); color: #071218; border-color: var(--gold); }
.ap-help { display: flex; align-items: center; gap: 1.25rem; margin-top: 1.5rem; padding: 1.25rem 1.5rem; border: 1px solid rgba(217,212,203,.16); background: rgba(255,255,255,.03); }
.ap-help-av { width: 54px; height: 54px; flex: none; border-radius: 50%; background: url("../images/aaron.svg") center/cover; box-shadow: 0 0 0 2px rgba(201,183,131,.5); }
.ap-help b { display: block; font-family: "Cormorant Garamond", serif; font-size: 23px; font-weight: 500; color: #F7F3EC; }
.ap-help span { font-size: 15px; color: #D6DCD8; }
.ap-help .btn { margin-left: auto; white-space: nowrap; }
.pay-note { margin-top: 1.25rem; padding: 1.1rem 1.25rem; border: 1px solid rgba(201,183,131,.35); background: rgba(201,183,131,.05); font-size: 14px; color: #D6DCD8; line-height: 1.65; }
.pay-note b { color: var(--gold); font-weight: 500; }
@media (max-width: 1100px) { .ap-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .ap-cards { grid-template-columns: 1fr; } .ap-help { flex-wrap: wrap; } .ap-help .btn { margin-left: 0; width: 100%; justify-content: center; } }

/* Connect · club finder */
.cl-finder { display: grid; grid-template-columns: 1fr 1.4fr auto; gap: 1rem; align-items: end; padding: 1.5rem; background: #0E1A1C; border: 1px solid rgba(217,212,203,.2); margin-bottom: 1.5rem; }
.cl-finder .bj-submit { width: auto; white-space: nowrap; padding: 1rem 1.6rem; }
.cl-finder [hidden] { display: none; }
.cl-need { border-color: #E2A87A !important; }
.cl-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.cl-card { text-align: left; display: flex; flex-direction: column; background: #0E1A1C; border: 1px solid rgba(217,212,203,.18); color: inherit; transition: border-color .3s, transform .4s var(--ease-out); }
.cl-card:hover, .cl-card.on { border-color: var(--gold); transform: translateY(-3px); }
.cl-img { aspect-ratio: 16 / 10; background-size: cover; background-position: center; filter: saturate(.85) brightness(.85); }
.cl-body { padding: 1.1rem 1.2rem 1.25rem; display: flex; flex-direction: column; gap: .4rem; }
.cl-area { display: flex; align-items: center; gap: .4rem; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.cl-area svg { width: 14px; height: 14px; }
.cl-body b { font-family: "Cormorant Garamond", serif; font-size: 26px; font-weight: 400; color: #F7F3EC; line-height: 1.1; }
.cl-meta { font-size: 13.5px; color: #C3CBC6; }
.cl-go { margin-top: .5rem; font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: #B4C8B0; }
.cl-card:hover .cl-go, .cl-card.on .cl-go { color: var(--gold); }
.cl-soon { grid-column: 1 / -1; display: flex; gap: 1rem; align-items: flex-start; padding: 1.5rem; border: 1px solid rgba(201,183,131,.4); background: rgba(201,183,131,.06); }
.cl-soon svg { width: 22px; height: 22px; color: var(--gold); flex: none; }
.cl-soon b { display: block; font-family: "Cormorant Garamond", serif; font-size: 24px; font-weight: 400; color: #F7F3EC; }
.cl-soon span { font-size: 15px; color: #D6DCD8; }
@media (max-width: 1000px) { .cl-grid { grid-template-columns: repeat(2, 1fr); } .cl-finder { grid-template-columns: 1fr 1fr; } .cl-finder .bj-submit { grid-column: 1 / -1; width: 100%; } }
@media (max-width: 560px) { .cl-grid, .cl-finder { grid-template-columns: 1fr; } }

/* ═══════════════════════════════════════════════════════════
   PAGE-SPECIFIC STYLES
   Each block below came from a <style> tag in one page and is scoped
   with :where(.page-<name>) (zero specificity) so it only affects that page.
═══════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════
   PAGE: biobody-track.php  (scoped to html.page-biobody-track)
═══════════════════════════════════════════════════════════ */
/* ── Biological Performance Intelligence section ── */
:where(.page-biobody-track) .bpi-section { padding: 0; overflow: hidden; }

:where(.page-biobody-track) .bpi-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 100vh;
}

/* Left: vertical video */
:where(.page-biobody-track) .bpi-video-col {
  position: relative;
  overflow: hidden;
}
:where(.page-biobody-track) .bpi-video-wrap {
  position: absolute;
  inset: 0;
}
:where(.page-biobody-track) .bpi-video-wrap video,
:where(.page-biobody-track) .bpi-video-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
:where(.page-biobody-track) .bpi-video-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(7,18,24,0) 60%,
    rgba(7,18,24,0.85) 100%
  ),
  linear-gradient(
    to bottom,
    rgba(7,18,24,0.3) 0%,
    rgba(7,18,24,0) 30%,
    rgba(7,18,24,0) 70%,
    rgba(7,18,24,0.5) 100%
  );
}
:where(.page-biobody-track) .bpi-video-tag {
  position: absolute;
  bottom: 2rem;
  left: 2rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--f-mono);
  font-size: 9.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--t2);
  background: rgba(7,18,24,0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(217,212,203,0.1);
  padding: 0.5rem 0.9rem;
}

/* Right: body content */
:where(.page-biobody-track) .bpi-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(4rem,8vw,8rem) clamp(3rem,6vw,6rem);
  background: var(--bg-2);
}

/* Stats row */
:where(.page-biobody-track) .bpi-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin: 2.5rem 0;
  border: 1px solid var(--line);
}
:where(.page-biobody-track) .bpi-stat {
  padding: 1.5rem 1.25rem;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
:where(.page-biobody-track) .bpi-stat:last-child { border-right: none; }

:where(.page-biobody-track) .bpi-stat-n {
  font-family: var(--f-display);
  font-size: clamp(32px, 3.5vw, 48px);
  font-weight: 300;
  line-height: 1;
  color: var(--t1);
  letter-spacing: -0.02em;
}
:where(.page-biobody-track) .bpi-stat-n em {
  font-style: italic;
  color: var(--sage-2);
  font-size: 0.7em;
}
:where(.page-biobody-track) .bpi-stat-l {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--t3);
  line-height: 1.4;
}

/* Bullet list */
:where(.page-biobody-track) .bpi-list {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin-top: 0.5rem;
}
:where(.page-biobody-track) .bpi-item {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  font-size: 14.5px;
  color: var(--t2);
  line-height: 1.6;
}
:where(.page-biobody-track) .bpi-item em { color: var(--t1); font-style: normal; }
:where(.page-biobody-track) .bpi-dot {
  flex-shrink: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--sage);
  margin-top: 0.55rem;
}

/* Responsive */
@media (max-width: 900px) {
  :where(.page-biobody-track) .bpi-inner {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  :where(.page-biobody-track) .bpi-video-col {
    position: relative;
    height: 60vw;
    min-height: 300px;
  }
  :where(.page-biobody-track) .bpi-video-wrap { position: absolute; }
  :where(.page-biobody-track) .bpi-video-wrap::after {
    background: linear-gradient(to bottom, rgba(7,18,24,0) 60%, rgba(7,18,24,0.9) 100%);
  }
  :where(.page-biobody-track) .bpi-stats { grid-template-columns: repeat(2, 1fr); }
  :where(.page-biobody-track) .bpi-stat:nth-child(2) { border-right: none; }
  :where(.page-biobody-track) .bpi-stat:nth-child(1),
  :where(.page-biobody-track) .bpi-stat:nth-child(2) { border-bottom: 1px solid var(--line); }
}
@media (max-width: 520px) {
  :where(.page-biobody-track) .bpi-stats { grid-template-columns: repeat(2, 1fr); }
  :where(.page-biobody-track) .bpi-body  { padding: 3rem 1.5rem; }
}
:where(.page-biobody-track) .domains-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 0.5px solid rgba(168,196,184,0.15);
  border-left: 0.5px solid rgba(168,196,184,0.15);
  margin-top: clamp(3rem, 5vw, 5rem);
}
:where(.page-biobody-track) .domain-card {
  position: relative;
  overflow: hidden;
  border-right: 0.5px solid rgba(168,196,184,0.15);
  border-bottom: 0.5px solid rgba(168,196,184,0.15);
  transition: border-color 0.4s ease;
}
:where(.page-biobody-track) .domain-card:hover { border-color: rgba(141,187,163,0.4); }
:where(.page-biobody-track) .domain-card-img-wrap {
  position: relative;
  overflow: hidden;
  height: 190px;
}
:where(.page-biobody-track) .domain-card-img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  filter: brightness(0.90) saturate(0.90);
  transition: filter 0.5s ease, transform 0.6s ease;
}
:where(.page-biobody-track) .domain-card:hover .domain-card-img {
  filter: brightness(0.65) saturate(0.85);
  transform: scale(1.04);
}
:where(.page-biobody-track) .domain-card-img-fade {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 80px;
  background: linear-gradient(to bottom, transparent, #0d1a17);
  pointer-events: none;
}
:where(.page-biobody-track) .domain-card-body { padding: 1.4rem 1.6rem 1.8rem; }
:where(.page-biobody-track) .domain-card-tag {
  display: inline-block; margin-bottom: 0.75rem;
  font-size: 9.5px; letter-spacing: 0.14em;
  text-transform: uppercase; color: #5a7a6e; font-weight: 400;
}
:where(.page-biobody-track) .domain-card-title {
  font-size: clamp(1rem, 1.2vw, 1.2rem);
  font-weight: 300; color: #e0d8cc;
  line-height: 1.3; margin: 0 0 0.65rem;
}
:where(.page-biobody-track) .domain-card-title em { font-style: italic; color: #8dbba3; }
:where(.page-biobody-track) .domain-card-body p {
  font-size: 12.5px; color: #7a9488;
  line-height: 1.7; font-weight: 300; margin: 0;
}
@media (max-width: 900px) { :where(.page-biobody-track) .domains-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { :where(.page-biobody-track) .domains-grid { grid-template-columns: 1fr; } }


/* ═══════════════════════════════════════════════════════════
   PAGE: biohealthcare-coaches.php  (scoped to html.page-biohealthcare-coaches)
═══════════════════════════════════════════════════════════ */
:where(.page-biohealthcare-coaches) .coaches-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 0.5px solid rgba(168,196,184,0.15);
  border-left: 0.5px solid rgba(168,196,184,0.15);
  margin-top: clamp(3rem, 5vw, 5rem);
}
:where(.page-biohealthcare-coaches) .coaches-card {
  position: relative;
  overflow: hidden;
  border-right: 0.5px solid rgba(168,196,184,0.15);
  border-bottom: 0.5px solid rgba(168,196,184,0.15);
  transition: border-color 0.4s ease;
}
:where(.page-biohealthcare-coaches) .coaches-card:hover { border-color: rgba(141,187,163,0.4); }
:where(.page-biohealthcare-coaches) .coaches-card-img-wrap {
  position: relative;
  overflow: hidden;
  height:auto;
}
:where(.page-biohealthcare-coaches) .coaches-card-img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  filter: brightness(0.99) saturate(0.99);
  transition: filter 0.5s ease, transform 0.6s ease;
}
:where(.page-biohealthcare-coaches) .coaches-card:hover .coaches-card-img {
  filter: brightness(0.65) saturate(0.85);
  transform: scale(1.04);
}
:where(.page-biohealthcare-coaches) .coaches-card-img-fade {
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 80px;
  background: linear-gradient(to bottom, transparent, #0d1a17);
  pointer-events: none;
}
:where(.page-biohealthcare-coaches) .coaches-card-body { padding: 1.5rem 1.75rem 2rem; }
:where(.page-biohealthcare-coaches) .coaches-card-tag {
  display: inline-block; margin-bottom: 0.85rem;
  font-size: 9.5px; letter-spacing: 0.14em;
  text-transform: uppercase; color: #5a7a6e; font-weight: 400;
}
:where(.page-biohealthcare-coaches) .coaches-card-title {
  font-size: clamp(1.1rem, 1.4vw, 1.35rem);
  font-weight: 300; color: #e0d8cc;
  line-height: 1.3; margin: 0 0 0.75rem;
}
:where(.page-biohealthcare-coaches) .coaches-card-title em { font-style: italic; color: #8dbba3; }
:where(.page-biohealthcare-coaches) .coaches-card-body p {
  font-size: 13px; color: #7a9488;
  line-height: 1.7; font-weight: 300; margin: 0;
}
@media (max-width: 768px) { :where(.page-biohealthcare-coaches) .coaches-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { :where(.page-biohealthcare-coaches) .coaches-grid { grid-template-columns: 1fr; } }


/* ═══════════════════════════════════════════════════════════
   PAGE: biomedical-ecosystem.php  (scoped to html.page-biomedical-ecosystem)
═══════════════════════════════════════════════════════════ */
/* ── Section 07 split layout ───────────────────────────── */
  :where(.page-biomedical-ecosystem) .eco-standards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 680px;
  }

  /* Left — content panel */
  :where(.page-biomedical-ecosystem) .eco-standards-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(3.5rem, 7vw, 7rem) clamp(2.5rem, 5vw, 5.5rem);
    background: var(--bg);
  }

  :where(.page-biomedical-ecosystem) .eco-standards-body .eyebrow {
    margin-bottom: 1.25rem;
  }

  :where(.page-biomedical-ecosystem) .eco-standards-body p.body-l {
    margin-top: 1.5rem;
    max-width: 52ch;
  }

  /* Three stat tiles */
  :where(.page-biomedical-ecosystem) .eco-stat-tiles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--line);
    border: 1px solid var(--line);
    margin-top: clamp(2.5rem, 4vw, 3.5rem);
  }

  :where(.page-biomedical-ecosystem) .eco-stat-tile {
    background: var(--bg-2);
    padding: 1.6rem 1.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    transition: background 0.35s var(--ease-out);
  }

  :where(.page-biomedical-ecosystem) .eco-stat-tile:hover { background: var(--bg-3); }

  :where(.page-biomedical-ecosystem) .eco-stat-label {
    font-family: var(--f-mono);
    font-size: 9.5px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--sage);
  }

  :where(.page-biomedical-ecosystem) .eco-stat-value {
    font-family: var(--f-display);
    font-weight: 300;
    font-size: clamp(18px, 2vw, 24px);
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: var(--t1);
  }

  :where(.page-biomedical-ecosystem) .eco-stat-value em {
    font-style: italic;
    color: var(--sage-2);
  }

  /* Right — image panel */
  :where(.page-biomedical-ecosystem) .eco-standards-img {
    position: relative;
    overflow: hidden;
    background: var(--bg-2);
  }

  :where(.page-biomedical-ecosystem) .eco-standards-img img,
  :where(.page-biomedical-ecosystem) .eco-standards-img video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
    transition: transform 1s var(--ease-out);
  }

  :where(.page-biomedical-ecosystem) .eco-standards-img:hover img,
  :where(.page-biomedical-ecosystem) .eco-standards-img:hover video {
    transform: scale();
  }

  /* Subtle dark veil over image */
  :where(.page-biomedical-ecosystem) .eco-standards-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(7,18,24,0.35) 0%, transparent 60%);
    pointer-events: none;
    z-index: 1;
  }

  /* Image placeholder state (when no src provided) */
  :where(.page-biomedical-ecosystem) .eco-img-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    border: 2px dashed var(--line-2);
    color: var(--t3);
    text-align: center;
    padding: 2rem;
  }

  :where(.page-biomedical-ecosystem) .eco-img-placeholder svg {
    width: 40px;
    height: 40px;
    stroke: var(--line-3);
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  :where(.page-biomedical-ecosystem) .eco-img-placeholder span {
    font-family: var(--f-mono);
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--t3);
  }

  /* Responsive */
  @media (max-width: 900px) {
    :where(.page-biomedical-ecosystem) .eco-standards {
      grid-template-columns: 1fr;
      min-height: auto;
    }
    :where(.page-biomedical-ecosystem) .eco-standards-img {
      min-height: 360px;
      order: -1; /* image on top on mobile */
    }
    :where(.page-biomedical-ecosystem) .eco-standards-img img,
    :where(.page-biomedical-ecosystem) .eco-standards-img video {
      position: absolute;
    }
    :where(.page-biomedical-ecosystem) .eco-stat-tiles {
      grid-template-columns: 1fr;
    }
  }


/* ═══════════════════════════════════════════════════════════
   PAGE: biomedical-weight-management.php  (scoped to html.page-biomedical-weight-management)
═══════════════════════════════════════════════════════════ */
:where(.page-biomedical-weight-management) .monitor-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 0.5px solid rgba(168,196,184,0.15);
  border-left: 0.5px solid rgba(168,196,184,0.15);
  margin-top: clamp(3rem, 5vw, 5rem);
}
:where(.page-biomedical-weight-management) .monitor-card {
  position: relative;
  overflow: hidden;
  border-right: 0.5px solid rgba(168,196,184,0.15);
  border-bottom: 0.5px solid rgba(168,196,184,0.15);
  transition: border-color 0.4s ease;
}
:where(.page-biomedical-weight-management) .monitor-card:hover {
  border-color: rgba(141,187,163,0.4);
}
:where(.page-biomedical-weight-management) .monitor-card-img-wrap {
  position: relative;
  overflow: hidden;
  height: 220px;
}
:where(.page-biomedical-weight-management) .monitor-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(0.90) saturate(0.7);
  transition: filter 0.5s ease, transform 0.6s ease;
}
:where(.page-biomedical-weight-management) .monitor-card:hover .monitor-card-img {
  filter: brightness(0.65) saturate(0.85);
  transform: scale(1.03);
}
:where(.page-biomedical-weight-management) .monitor-card-img-fade {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 90px;
  background: linear-gradient(to bottom, transparent, #0d1a17);
  pointer-events: none;
}
:where(.page-biomedical-weight-management) .monitor-card-body {
  padding: 1.5rem 1.75rem 2rem;
}
:where(.page-biomedical-weight-management) .monitor-card-tag {
  display: inline-block;
  margin-bottom: 0.85rem;
  font-size: 9.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #5a7a6e;
  font-weight: 400;
}
:where(.page-biomedical-weight-management) .monitor-card-title {
  font-size: clamp(1.1rem, 1.4vw, 1.35rem);
  font-weight: 300;
  color: #e0d8cc;
  line-height: 1.3;
  margin: 0 0 0.75rem;
}
:where(.page-biomedical-weight-management) .monitor-card-title em {
  font-style: italic;
  color: #8dbba3;
}
:where(.page-biomedical-weight-management) .monitor-card-body p {
  font-size: 13px;
  color: #7a9488;
  line-height: 1.7;
  font-weight: 300;
  margin: 0;
}
@media (max-width: 768px) {
  :where(.page-biomedical-weight-management) .monitor-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  :where(.page-biomedical-weight-management) .monitor-grid {
    grid-template-columns: 1fr;
  }
}


/* ═══════════════════════════════════════════════════════════
   PAGE: cellular-bioresponse.php  (scoped to html.page-cellular-bioresponse)
═══════════════════════════════════════════════════════════ */
/* ── Cellular BioResponse · page-specific styles ───────────────── */
:where(.page-cellular-bioresponse) .bior-hero .hero-media img { object-position: 70% 30%; filter: saturate(.9); }
:where(.page-cellular-bioresponse) .bior-hero .hero-veil {
  background:
    radial-gradient(circle at 18% 78%, var(--sage-glow), transparent 55%),
    linear-gradient(90deg, var(--bg) 0%, rgba(7,18,24,.92) 34%, rgba(7,18,24,.55) 62%, rgba(7,18,24,.35) 100%),
    linear-gradient(to top, var(--bg) 0%, rgba(7,18,24,0) 40%);
}
:where(.page-cellular-bioresponse) .bior-hero { min-height: 100vh; align-items: center; }
:where(.page-cellular-bioresponse) .bior-hero .page-hero-inner { grid-template-columns: 1.15fr 1fr; align-items: center; }
:where(.page-cellular-bioresponse) .bior-new {
  display: inline-flex; align-items: center; gap: .75rem;
  border: 1px solid rgba(201,183,131,.45); padding: .5rem .9rem;
  font-size: 10.5px; letter-spacing: .28em; text-transform: uppercase; color: var(--gold);
}
:where(.page-cellular-bioresponse) .bior-new .live-pip { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 0 rgba(201,183,131,.6); animation: biorPulse 2.2s infinite; }
@keyframes biorPulse { 0% { box-shadow: 0 0 0 0 rgba(201,183,131,.55); } 70% { box-shadow: 0 0 0 10px rgba(201,183,131,0); } 100% { box-shadow: 0 0 0 0 rgba(201,183,131,0); } }
:where(.page-cellular-bioresponse) .bior-hero h1 { font-size: clamp(52px, 7vw, 104px); }
:where(.page-cellular-bioresponse) .bior-hero .lead { margin-top: 1.75rem; color: var(--t1); opacity: .86; }
:where(.page-cellular-bioresponse) .bior-exclusive { margin-top: 1.75rem; display: flex; flex-wrap: wrap; gap: 0; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); max-width: 620px; }
:where(.page-cellular-bioresponse) .bior-exclusive div { flex: 1 1 33%; padding: 1rem 1.25rem 1rem 0; }
:where(.page-cellular-bioresponse) .bior-exclusive div + div { padding-left: 1.25rem; border-left: 1px solid var(--line-2); }
:where(.page-cellular-bioresponse) .bior-exclusive b { display: block; font-family: "Cormorant Garamond", serif; font-weight: 400; font-size: 26px; color: var(--t1); line-height: 1.1; }
:where(.page-cellular-bioresponse) .bior-exclusive span { font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--t3); }

:where(.page-cellular-bioresponse) .bior-stack { position: relative; height: min(70vh, 640px); }
:where(.page-cellular-bioresponse) .bior-stack img {
  position: absolute; width: 58%; border: 1px solid var(--line-2);
  box-shadow: 0 40px 80px -20px rgba(0,0,0,.75), 0 0 0 1px rgba(0,0,0,.4);
  transition: transform .8s var(--ease-out);
}
:where(.page-cellular-bioresponse) .bior-stack .s1 { left: 2%; top: 6%; transform: rotate(-5deg); z-index: 1; }
:where(.page-cellular-bioresponse) .bior-stack .s2 { right: 2%; top: 0; transform: rotate(3deg); z-index: 2; }
:where(.page-cellular-bioresponse) .bior-stack .s3 { left: 22%; top: 24%; transform: rotate(-1deg); z-index: 3; }
:where(.page-cellular-bioresponse) .bior-stack:hover .s1 { transform: rotate(-8deg) translateX(-14px); }
:where(.page-cellular-bioresponse) .bior-stack:hover .s2 { transform: rotate(6deg) translateX(14px); }
:where(.page-cellular-bioresponse) .bior-stack:hover .s3 { transform: rotate(0) translateY(-10px); }
:where(.page-cellular-bioresponse) .bior-stack-tag { position: absolute; z-index: 4; left: 8%; bottom: 2%; background: rgba(7,18,24,.88); border: 1px solid var(--line-2); padding: .8rem 1.1rem; backdrop-filter: blur(6px); }
:where(.page-cellular-bioresponse) .bior-stack-tag .cap { font-size: 10px; }
:where(.page-cellular-bioresponse) .bior-stack-tag div:last-child { font-family: "Cormorant Garamond", serif; font-size: 22px; color: var(--t1); }

/* Comparison */
:where(.page-cellular-bioresponse) .bior-compare { display: grid; grid-template-columns: 1fr 1fr 1.25fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
:where(.page-cellular-bioresponse) .bior-col { background: var(--bg); padding: clamp(2rem,3vw,3rem) clamp(1.5rem,2.5vw,2.5rem); }
:where(.page-cellular-bioresponse) .bior-col.hl { background: linear-gradient(180deg, rgba(127,148,124,.14), rgba(127,148,124,.04)); position: relative; }
:where(.page-cellular-bioresponse) .bior-col.hl::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--gold); }
:where(.page-cellular-bioresponse) .bior-col h3 { font-family: var(--f-display); font-weight: 300; font-size: clamp(24px,2.3vw,32px); margin: .9rem 0 1.4rem; line-height: 1.15; }
:where(.page-cellular-bioresponse) .bior-col h3 em { font-style: italic; color: var(--sage-2); }
:where(.page-cellular-bioresponse) .bior-col ul { list-style: none; display: flex; flex-direction: column; }
:where(.page-cellular-bioresponse) .bior-col li { padding: .85rem 0; border-top: 1px solid var(--line); font-size: 14.5px; color: var(--t2); display: flex; gap: .8rem; }
:where(.page-cellular-bioresponse) .bior-col li::before { content: "·"; color: var(--t4); }
:where(.page-cellular-bioresponse) .bior-col.hl li { color: var(--t1); }
:where(.page-cellular-bioresponse) .bior-col.hl li::before { content: "✓"; color: var(--sage-2); font-size: 12px; }

/* Ten areas */
:where(.page-cellular-bioresponse) .card-grid.cols-5 { grid-template-columns: repeat(5, 1fr); }
:where(.page-cellular-bioresponse) .bior-src { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: auto; padding-top: .5rem; }
:where(.page-cellular-bioresponse) .bior-src span { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--t3); border: 1px solid var(--line-2); padding: .25rem .5rem; }
@media (max-width: 1100px) { :where(.page-cellular-bioresponse) .card-grid.cols-5 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { :where(.page-cellular-bioresponse) .card-grid.cols-5 { grid-template-columns: repeat(2, 1fr); } }

/* Report frame inside split */
:where(.page-cellular-bioresponse) .bior-frame { position: relative; min-height: 78vh; background: radial-gradient(circle at 50% 40%, rgba(127,148,124,.18), transparent 65%), var(--bg-3); display: flex; align-items: center; justify-content: center; padding: clamp(2rem,5vw,5rem); overflow: hidden; }
:where(.page-cellular-bioresponse) .bior-frame img { width: min(100%, 520px); border: 1px solid var(--line-2); box-shadow: 0 50px 90px -30px rgba(0,0,0,.8); cursor: zoom-in; transition: transform .6s var(--ease-out); }
:where(.page-cellular-bioresponse) .bior-frame img:hover { transform: translateY(-6px); }
:where(.page-cellular-bioresponse) .bior-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
:where(.page-cellular-bioresponse) .bior-chip { font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; padding: .45rem .8rem; border: 1px solid; }
:where(.page-cellular-bioresponse) .bior-chip.ok { color: #A9C3A5; border-color: rgba(169,195,165,.35); }
:where(.page-cellular-bioresponse) .bior-chip.up { color: #9FC7CF; border-color: rgba(159,199,207,.35); }
:where(.page-cellular-bioresponse) .bior-chip.watch { color: var(--gold); border-color: rgba(201,183,131,.4); }
:where(.page-cellular-bioresponse) .bior-chip.focus { color: #E2B98C; border-color: rgba(226,185,140,.45); background: rgba(226,185,140,.06); }

/* Gallery */
:where(.page-cellular-bioresponse) .bior-tabs { display: inline-flex; border: 1px solid var(--line-2); margin-bottom: 2.5rem; }
:where(.page-cellular-bioresponse) .bior-tab { padding: .9rem 1.6rem; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--t2); transition: all .3s; }
:where(.page-cellular-bioresponse) .bior-tab[aria-selected="true"] { background: var(--sage); color: var(--ink); }
:where(.page-cellular-bioresponse) .bior-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 2vw, 2rem); }
:where(.page-cellular-bioresponse) .bior-gallery[hidden] { display: none; }
:where(.page-cellular-bioresponse) .bior-page { cursor: zoom-in; background: var(--bg-2); border: 1px solid var(--line); transition: border-color .4s, transform .5s var(--ease-out); display: flex; flex-direction: column; }
:where(.page-cellular-bioresponse) .bior-page:hover { border-color: var(--line-3); transform: translateY(-4px); }
:where(.page-cellular-bioresponse) .bior-page-img { aspect-ratio: 4 / 3; overflow: hidden; }
:where(.page-cellular-bioresponse) .bior-page-img img { width: 100%; height: auto; transition: transform 1.2s var(--ease-out); }
:where(.page-cellular-bioresponse) .bior-page:hover .bior-page-img img { transform: translateY(-6%); }
:where(.page-cellular-bioresponse) .bior-page-cap { padding: 1.25rem 1.4rem 1.5rem; border-top: 1px solid var(--line); }
:where(.page-cellular-bioresponse) .bior-page-cap .feature-num { display: block; margin-bottom: .45rem; }
:where(.page-cellular-bioresponse) .bior-page-cap h4 { font-family: var(--f-display); font-weight: 300; font-size: 22px; color: var(--t1); line-height: 1.2; }
:where(.page-cellular-bioresponse) .bior-page-cap p { font-size: 13.5px; color: var(--t2); margin-top: .4rem; line-height: 1.6; }
@media (max-width: 900px) { :where(.page-cellular-bioresponse) .bior-gallery { grid-template-columns: repeat(2, 1fr); } :where(.page-cellular-bioresponse) .bior-compare { grid-template-columns: 1fr; } :where(.page-cellular-bioresponse) .bior-hero .page-hero-inner { grid-template-columns: 1fr; } :where(.page-cellular-bioresponse) .bior-stack { height: 440px; } }
@media (max-width: 560px) { :where(.page-cellular-bioresponse) .bior-gallery { grid-template-columns: 1fr; } :where(.page-cellular-bioresponse) .bior-stack { height: 340px; } :where(.page-cellular-bioresponse) .bior-exclusive div { flex-basis: 100%; border-left: 0 !important; padding-left: 0 !important; } :where(.page-cellular-bioresponse) .bior-exclusive div + div { border-top: 1px solid var(--line-2); } }

/* Lightbox */
:where(.page-cellular-bioresponse) .bior-lb { position: fixed; inset: 0; z-index: 9999; background: rgba(3,8,10,.94); display: none; align-items: center; justify-content: center; padding: 3rem 1rem; }
:where(.page-cellular-bioresponse) .bior-lb.open { display: flex; }
:where(.page-cellular-bioresponse) .bior-lb img { max-height: 92vh; max-width: min(92vw, 860px); width: auto; border: 1px solid var(--line-2); }
:where(.page-cellular-bioresponse) .bior-lb button { position: absolute; color: var(--t1); font-size: 13px; letter-spacing: .2em; text-transform: uppercase; padding: 1rem; }
:where(.page-cellular-bioresponse) .bior-lb .lb-x { top: 1rem; right: 1.5rem; }
:where(.page-cellular-bioresponse) .bior-lb .lb-p, :where(.page-cellular-bioresponse) .bior-lb .lb-n { top: 50%; transform: translateY(-50%); font-size: 32px; }
:where(.page-cellular-bioresponse) .bior-lb .lb-p { left: 1rem; } :where(.page-cellular-bioresponse) .bior-lb .lb-n { right: 1rem; }

/* Two reports */
:where(.page-cellular-bioresponse) .bior-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
:where(.page-cellular-bioresponse) .bior-duo-card { background: var(--bg); display: grid; grid-template-rows: auto 1fr; }
:where(.page-cellular-bioresponse) .bior-duo-img { aspect-ratio: 16 / 9; background-size: cover; background-position: center 30%; position: relative; }
:where(.page-cellular-bioresponse) .bior-duo-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, var(--bg), transparent 60%); }
:where(.page-cellular-bioresponse) .bior-duo-body { padding: clamp(1.5rem,3vw,3rem); display: flex; flex-direction: column; gap: 1rem; }
:where(.page-cellular-bioresponse) .bior-duo-body .bior-src { margin-top: .25rem; }
@media (max-width: 900px) { :where(.page-cellular-bioresponse) .bior-duo { grid-template-columns: 1fr; } }

/* Rhythm */
:where(.page-cellular-bioresponse) .bior-rhythm { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line-2); }
:where(.page-cellular-bioresponse) .bior-rhythm div { padding: 1.75rem 1.25rem 0 0; }
:where(.page-cellular-bioresponse) .bior-rhythm div + div { padding-left: 1.25rem; border-left: 1px solid var(--line); }
:where(.page-cellular-bioresponse) .bior-rhythm b { display: block; font-family: var(--f-display); font-weight: 300; font-size: 26px; color: var(--t1); font-style: italic; }
:where(.page-cellular-bioresponse) .bior-rhythm p { font-size: 14px; color: var(--t2); margin-top: .6rem; line-height: 1.65; }
@media (max-width: 900px) { :where(.page-cellular-bioresponse) .bior-rhythm { grid-template-columns: 1fr 1fr; } :where(.page-cellular-bioresponse) .bior-rhythm div { border-left: 0 !important; padding-left: 0 !important; padding-bottom: 1.25rem; } }

:where(.page-cellular-bioresponse) .bior-note { font-size: 12px; color: var(--t3); line-height: 1.7; max-width: 110ch; margin-top: 2rem; }


/* ═══════════════════════════════════════════════════════════
   PAGE: cellular-bioresponse-report.php  (scoped to html.page-cellular-bioresponse-report)
═══════════════════════════════════════════════════════════ */
/* Layout: a workspace with a report generator tab; every output (A4 report, email, app, doctor sign-off) renders from one weekly data object, Monday to Sunday. Palette taken from the BioMedical Healthcare logo: royal blue, sky, teal, green. */
:root:where(.page-cellular-bioresponse-report){
  --blue:#0F4C9E; --blue-d:#0A2A66; --sky:#5DB8F2; --teal:#1FAFB5; --green:#4FA845; --ink:#0E1F3D;
  --grad:linear-gradient(118deg,#0A2A66 0%,#0F4C9E 38%,#1E8FC4 72%,#2FB39A 100%);
  --desk:#EDF2F8; --desk-ink:#0E1F3D; --desk-muted:#5B6B85; --desk-line:#D3DCE8; --tab-bg:#FFFFFF; --tab-on:#0F4C9E; --tab-on-ink:#FFFFFF; --panel:#FFFFFF;
  --f-display:"Montserrat",ui-sans-serif,system-ui,sans-serif;
  --f-body:"Albert Sans",ui-sans-serif,system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --p-ink:#0E1F3D; --p-muted:#5E6D86; --p-line:#E3E9F1; --p-soft:#F3F7FC;
  --ok:#2B7F3F; --ok-bg:#E6F4E8; --up:#0F4C9E; --up-bg:#E3EEFB; --fo:#A65E00; --fo-bg:#FFF0D9;
  --d-bg:#0A1020; --d-card:#121A2B; --d-line:#232F47; --d-ink:#E7ECF4; --d-muted:#8C97AC; --d-teal:#2CC6C0; --d-violet:#A78BFA; --d-green:#34D399; --d-amber:#FBBF24; --d-cyan:#22D3EE;
}
@media (prefers-color-scheme: dark){:root:where(.page-cellular-bioresponse-report):not([data-theme="light"]){--desk:#0B1222;--desk-ink:#E6ECF5;--desk-muted:#93A1B8;--desk-line:#24314A;--tab-bg:#141F36;--tab-on:#5DB8F2;--tab-on-ink:#06152E;--panel:#121C31;color-scheme:dark}}
:root:where(.page-cellular-bioresponse-report)[data-theme="dark"]{--desk:#0B1222;--desk-ink:#E6ECF5;--desk-muted:#93A1B8;--desk-line:#24314A;--tab-bg:#141F36;--tab-on:#5DB8F2;--tab-on-ink:#06152E;--panel:#121C31;color-scheme:dark}

:where(.page-cellular-bioresponse-report) *{box-sizing:border-box}
:where(.page-cellular-bioresponse-report) body{background:var(--desk);color:var(--desk-ink);font-family:var(--f-body);font-size:14px;line-height:1.5}
:where(.page-cellular-bioresponse-report) .wrap{max-width:1200px;margin:0 auto;padding-inline:16px;padding-block:20px 60px}
:where(.page-cellular-bioresponse-report) .head{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;margin-bottom:10px}
:where(.page-cellular-bioresponse-report) .head h1{font-family:var(--f-display);font-weight:700;font-size:24px;margin:0;letter-spacing:-.01em}
:where(.page-cellular-bioresponse-report) .head p{margin:2px 0 0;color:var(--desk-muted);max-width:70ch}
:where(.page-cellular-bioresponse-report) .headlogo{height:44px;width:auto;background:#fff;border-radius:10px;padding:6px 10px}
:where(.page-cellular-bioresponse-report) .tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px;position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--desk);padding-block:8px}
:where(.page-cellular-bioresponse-report) .tabs button{font:600 13px/1 var(--f-body);padding:10px 14px;border-radius:999px;border:1px solid var(--desk-line);background:var(--tab-bg);color:var(--desk-ink);cursor:pointer}
:where(.page-cellular-bioresponse-report) .tabs button[aria-selected="true"]{background:var(--tab-on);color:var(--tab-on-ink);border-color:var(--tab-on)}
:where(.page-cellular-bioresponse-report) button:focus-visible,:where(.page-cellular-bioresponse-report) summary:focus-visible,:where(.page-cellular-bioresponse-report) textarea:focus-visible,:where(.page-cellular-bioresponse-report) input:focus-visible,:where(.page-cellular-bioresponse-report) select:focus-visible{outline:2px solid var(--sky);outline-offset:2px}
:where(.page-cellular-bioresponse-report) .note{color:var(--desk-muted);font-size:13px;margin:0 0 14px;max-width:85ch}
:where(.page-cellular-bioresponse-report) .scroll{overflow-x:auto;padding-bottom:8px}

/* generator */
:where(.page-cellular-bioresponse-report) .gen{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;margin-bottom:20px}
:where(.page-cellular-bioresponse-report) .card{background:var(--panel);border:1px solid var(--desk-line);border-radius:14px;padding:18px 20px;min-width:0}
:where(.page-cellular-bioresponse-report) .card h3{font-family:var(--f-display);font-weight:700;margin:0 0 10px;font-size:16px}
:where(.page-cellular-bioresponse-report) .fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
:where(.page-cellular-bioresponse-report) .fld label{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--desk-muted);margin-bottom:5px}
:where(.page-cellular-bioresponse-report) .fld select,:where(.page-cellular-bioresponse-report) .fld input{width:100%;font:500 14px var(--f-body);padding:9px 10px;border-radius:9px;border:1px solid var(--desk-line);background:var(--desk);color:var(--desk-ink)}
:where(.page-cellular-bioresponse-report) .weeks{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
:where(.page-cellular-bioresponse-report) .weeks button{font:500 12.5px var(--f-body);padding:7px 11px;border-radius:999px;border:1px solid var(--desk-line);background:var(--desk);color:var(--desk-ink);cursor:pointer}
:where(.page-cellular-bioresponse-report) .weeks button[aria-pressed="true"]{background:var(--tab-on);color:var(--tab-on-ink);border-color:var(--tab-on)}
:where(.page-cellular-bioresponse-report) .weeks button:disabled{opacity:.5;cursor:not-allowed}
:where(.page-cellular-bioresponse-report) .produce{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
:where(.page-cellular-bioresponse-report) .btn{font:700 13.5px var(--f-body);padding:11px 18px;border-radius:10px;border:0;background:var(--grad);color:#fff;cursor:pointer}
:where(.page-cellular-bioresponse-report) .btn.sec{background:var(--desk);color:var(--desk-ink);border:1px solid var(--desk-line);font-weight:600}
:where(.page-cellular-bioresponse-report) .status{font-size:13px;color:var(--desk-muted)}
:where(.page-cellular-bioresponse-report) .steps{display:flex;flex-direction:column;gap:7px;margin:0;padding:0;list-style:none}
:where(.page-cellular-bioresponse-report) .steps li{display:flex;gap:10px;align-items:center;font-size:13px}
:where(.page-cellular-bioresponse-report) .steps i{width:20px;height:20px;border-radius:50%;flex:none;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:700;background:var(--desk);color:var(--desk-muted);border:1px solid var(--desk-line)}
:where(.page-cellular-bioresponse-report) .steps li.done i{background:#2B7F3F;color:#fff;border-color:#2B7F3F}
:where(.page-cellular-bioresponse-report) .hist{width:100%;border-collapse:collapse;font-size:13px}
:where(.page-cellular-bioresponse-report) .hist td{padding:7px 0;border-top:1px solid var(--desk-line)}
:where(.page-cellular-bioresponse-report) .hist td:last-child{text-align:right}
:where(.page-cellular-bioresponse-report) .hist button{font:600 12px var(--f-body);background:none;border:0;color:var(--tab-on);cursor:pointer;padding:0}

/* ---------- A4 paper ---------- */
:where(.page-cellular-bioresponse-report) .pages{display:flex;flex-direction:column;gap:24px;align-items:center;min-width:min-content}
:where(.page-cellular-bioresponse-report) .page{width:794px;height:1123px;overflow:hidden;background:#FFFFFF;color:var(--p-ink);box-shadow:0 1px 2px rgba(14,31,61,.08),0 14px 36px rgba(14,31,61,.12);padding:34px 44px 26px;position:relative;display:flex;flex-direction:column;gap:16px;font-size:12px}
:where(.page-cellular-bioresponse-report) .ph{display:flex;justify-content:space-between;align-items:center;gap:20px}
:where(.page-cellular-bioresponse-report) .kick{font-family:var(--f-mono);font-size:9.5px;font-weight:600;color:var(--teal);letter-spacing:.06em;text-transform:uppercase}
:where(.page-cellular-bioresponse-report) .ph h2{font-family:var(--f-display);font-weight:700;font-size:22px;margin:3px 0 0;letter-spacing:-.01em;color:var(--p-ink)}
:where(.page-cellular-bioresponse-report) .ph img{height:50px;width:auto;flex:none}
:where(.page-cellular-bioresponse-report) .rule{height:3px;border-radius:3px;background:var(--grad);margin-top:-6px}
:where(.page-cellular-bioresponse-report) .pf{margin-top:auto;display:flex;justify-content:space-between;gap:16px;color:var(--p-muted);font-size:9.5px;border-top:1px solid var(--p-line);padding-top:8px}
:where(.page-cellular-bioresponse-report) .mono{font-family:var(--f-mono)}
:where(.page-cellular-bioresponse-report) .lbl{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--p-muted);font-weight:700}
:where(.page-cellular-bioresponse-report) .chip{font-size:8.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:999px;white-space:nowrap;font-family:var(--f-display)}
:where(.page-cellular-bioresponse-report) .s-good{color:var(--ok);background:var(--ok-bg)} :where(.page-cellular-bioresponse-report) .s-improving{color:var(--up);background:var(--up-bg)} :where(.page-cellular-bioresponse-report) .s-focus{color:var(--fo);background:var(--fo-bg)}
:where(.page-cellular-bioresponse-report) .hero{position:relative;overflow:hidden;border-radius:18px;background:var(--grad);color:#fff;padding:20px 24px;display:grid;grid-template-columns:150px 1fr 150px;gap:22px;align-items:center}
:where(.page-cellular-bioresponse-report) .hero .deco{position:absolute;right:-60px;top:-70px;opacity:.22;pointer-events:none}
:where(.page-cellular-bioresponse-report) .hero .wk{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
:where(.page-cellular-bioresponse-report) .hero h3{font-family:var(--f-display);font-size:17px;line-height:1.35;font-weight:600;margin:6px 0 0;text-wrap:balance}
:where(.page-cellular-bioresponse-report) .hero .hside{position:relative;display:flex;flex-direction:column;gap:10px}
:where(.page-cellular-bioresponse-report) .hstat{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:9px 12px}
:where(.page-cellular-bioresponse-report) .hstat b{display:block;font-family:var(--f-display);font-size:22px;font-weight:700;line-height:1.1}
:where(.page-cellular-bioresponse-report) .hstat span{font-size:10px;opacity:.9}
:where(.page-cellular-bioresponse-report) .patient{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:11px;color:var(--p-muted)}
:where(.page-cellular-bioresponse-report) .patient b{color:var(--p-ink);font-weight:600}
:where(.page-cellular-bioresponse-report) .tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
:where(.page-cellular-bioresponse-report) .tile{border:1px solid var(--p-line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:5px;background:#fff}
:where(.page-cellular-bioresponse-report) .tile .top{display:flex;justify-content:space-between;align-items:center}
:where(.page-cellular-bioresponse-report) .ic{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;flex:none}
:where(.page-cellular-bioresponse-report) .tile .nm{font-weight:700;font-size:10.5px;line-height:1.25;min-height:2.5em;font-family:var(--f-display)}
:where(.page-cellular-bioresponse-report) .tile .v{font-family:var(--f-display);font-size:16px;font-weight:700;line-height:1.1}
:where(.page-cellular-bioresponse-report) .tile .u{font-size:9.5px;color:var(--p-muted);line-height:1.3}
:where(.page-cellular-bioresponse-report) .dl{font-size:9.5px;font-weight:700}
:where(.page-cellular-bioresponse-report) .dl.pos{color:var(--ok)} :where(.page-cellular-bioresponse-report) .dl.neg{color:var(--fo)} :where(.page-cellular-bioresponse-report) .dl.flat{color:var(--p-muted)}
:where(.page-cellular-bioresponse-report) table.heat{width:100%;border-collapse:separate;border-spacing:4px;font-size:10.5px;margin:-4px}
:where(.page-cellular-bioresponse-report) table.heat th{font-weight:600;color:var(--p-muted);font-size:9.5px;text-align:center}
:where(.page-cellular-bioresponse-report) table.heat th:first-child{text-align:left}
:where(.page-cellular-bioresponse-report) table.heat td{text-align:center;border-radius:7px;padding:6px 2px;font-weight:700;font-variant-numeric:tabular-nums}
:where(.page-cellular-bioresponse-report) table.heat td:first-child{text-align:left;background:none;font-weight:600;color:var(--p-ink);padding-left:0;white-space:nowrap}
:where(.page-cellular-bioresponse-report) .h3c{color:#1F6B33;background:#DDF1E1}:where(.page-cellular-bioresponse-report) .h2c{color:#0F4C9E;background:#E1EDFB}:where(.page-cellular-bioresponse-report) .h1c{color:#9A5600;background:#FFEBCC}
:where(.page-cellular-bioresponse-report) .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
:where(.page-cellular-bioresponse-report) .box{border-radius:14px;padding:13px 15px}
:where(.page-cellular-bioresponse-report) .box h4{margin:0 0 7px;font-family:var(--f-display);font-weight:700;font-size:12.5px;display:flex;gap:8px;align-items:center}
:where(.page-cellular-bioresponse-report) .box ul{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:4px}
:where(.page-cellular-bioresponse-report) .box.win{background:var(--ok-bg)} :where(.page-cellular-bioresponse-report) .box.win h4{color:var(--ok)}
:where(.page-cellular-bioresponse-report) .box.next{background:var(--up-bg)} :where(.page-cellular-bioresponse-report) .box.next h4{color:var(--up)}
:where(.page-cellular-bioresponse-report) .legend{display:flex;gap:12px;align-items:center;color:var(--p-muted);font-size:9.5px;flex-wrap:wrap}
:where(.page-cellular-bioresponse-report) .legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;vertical-align:middle}

:where(.page-cellular-bioresponse-report) .cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
:where(.page-cellular-bioresponse-report) .dcard{border:1px solid var(--p-line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
:where(.page-cellular-bioresponse-report) .dcard .top{display:flex;align-items:center;gap:9px}
:where(.page-cellular-bioresponse-report) .dcard .nm{font-family:var(--f-display);font-weight:700;font-size:12.5px;flex:1}
:where(.page-cellular-bioresponse-report) .dcard .vr{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
:where(.page-cellular-bioresponse-report) .dcard .v{font-family:var(--f-display);font-size:21px;font-weight:700;line-height:1}
:where(.page-cellular-bioresponse-report) .dcard .u{font-size:10px;color:var(--p-muted)}
:where(.page-cellular-bioresponse-report) .dcard p{margin:0;font-size:11px;line-height:1.45}
:where(.page-cellular-bioresponse-report) .act{display:flex;gap:7px;align-items:baseline;background:var(--p-soft);border-radius:8px;padding:6px 9px;font-size:10.5px;line-height:1.4}
:where(.page-cellular-bioresponse-report) .act b{color:var(--blue);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;flex:none;font-family:var(--f-display)}
:where(.page-cellular-bioresponse-report) svg text{font-family:var(--f-body)}

:where(.page-cellular-bioresponse-report) .verdict{border-radius:18px;padding:16px 20px;background:linear-gradient(118deg,#E8F6EA 0%,#E3F2FB 100%);display:grid;grid-template-columns:1.1fr 1.4fr;gap:18px;align-items:center}
:where(.page-cellular-bioresponse-report) .yes{font-family:var(--f-display);font-size:22px;font-weight:800;color:var(--ok);margin:3px 0 4px;line-height:1.15}
:where(.page-cellular-bioresponse-report) .ev{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
:where(.page-cellular-bioresponse-report) .ev div{background:#fff;border-radius:12px;padding:9px 10px;text-align:center}
:where(.page-cellular-bioresponse-report) .ev b{display:block;font-family:var(--f-display);font-size:16px;font-weight:800;color:var(--ok)}
:where(.page-cellular-bioresponse-report) .ev span{font-size:9.5px;color:var(--p-muted)}
:where(.page-cellular-bioresponse-report) .sec{display:grid;gap:14px}
:where(.page-cellular-bioresponse-report) .sec h4{margin:0 0 6px;font-family:var(--f-display);font-weight:700;font-size:13px}
:where(.page-cellular-bioresponse-report) .bar{display:grid;grid-template-columns:58px 1fr 76px;gap:8px;align-items:center;font-size:10.5px;padding:3px 0}
:where(.page-cellular-bioresponse-report) .bar .t{height:7px;background:#E8EEF6;border-radius:99px;position:relative;overflow:hidden}
:where(.page-cellular-bioresponse-report) .bar .t i{position:absolute;inset:0 auto 0 0;border-radius:99px}
:where(.page-cellular-bioresponse-report) .bar .r{text-align:right;font-variant-numeric:tabular-nums;color:var(--p-muted)}
:where(.page-cellular-bioresponse-report) .bar .r b{color:var(--p-ink)}
:where(.page-cellular-bioresponse-report) .stat{background:var(--p-soft);border-radius:10px;padding:8px 10px}
:where(.page-cellular-bioresponse-report) .stat b{display:block;font-family:var(--f-display);font-size:15px;font-weight:700}
:where(.page-cellular-bioresponse-report) .stat span{font-size:9.5px;color:var(--p-muted)}
:where(.page-cellular-bioresponse-report) .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
:where(.page-cellular-bioresponse-report) .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
:where(.page-cellular-bioresponse-report) .panel{border:1px solid var(--p-line);border-radius:14px;padding:11px 13px;display:flex;flex-direction:column;gap:3px}
:where(.page-cellular-bioresponse-report) .panel h4{margin:0 0 5px;font-family:var(--f-display);font-weight:700;font-size:12px}
:where(.page-cellular-bioresponse-report) .panel p{margin:5px 0 0;font-size:10px;color:var(--p-muted);line-height:1.45}
:where(.page-cellular-bioresponse-report) .wbc{--pink:#C93D72}
:where(.page-cellular-bioresponse-report) .wbc .kick{color:var(--pink)}
:where(.page-cellular-bioresponse-report) .wbc .rule{background:linear-gradient(90deg,#C93D72,#E88AB0,#1FAFB5)}
:where(.page-cellular-bioresponse-report) .discuss{border:1px solid #F2C3D5;background:#FCEAF1;border-radius:14px;padding:12px 15px}
:where(.page-cellular-bioresponse-report) .discuss .k{color:var(--pink);font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;font-family:var(--f-display)}
:where(.page-cellular-bioresponse-report) .docnote{border-radius:14px;background:var(--p-soft);padding:14px 16px;position:relative}
:where(.page-cellular-bioresponse-report) .docnote p{margin:0 0 7px;font-size:12px;line-height:1.55}
:where(.page-cellular-bioresponse-report) .sig{display:flex;gap:10px;align-items:center;margin-top:6px}
:where(.page-cellular-bioresponse-report) .av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:11px;flex:none;background:var(--grad);color:#fff}
:where(.page-cellular-bioresponse-report) .goal{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--p-line);border-radius:12px;padding:10px 12px}
:where(.page-cellular-bioresponse-report) .goal .chk{width:18px;height:18px;border-radius:5px;border:2px solid var(--teal);flex:none;margin-top:1px}
:where(.page-cellular-bioresponse-report) .goal b{display:block;font-size:12px}
:where(.page-cellular-bioresponse-report) .goal span{font-size:10.5px;color:var(--p-muted)}
:where(.page-cellular-bioresponse-report) .fine{font-size:9px;color:var(--p-muted);line-height:1.5;margin:0}

/* ---------- Email ---------- */
:where(.page-cellular-bioresponse-report) .mailclient{max-width:760px;margin:0 auto;background:#FFFFFF;border:1px solid #D9E0EA;border-radius:12px;overflow:hidden;color:#0E1F3D}
:where(.page-cellular-bioresponse-report) .mailmeta{padding:14px 18px;border-bottom:1px solid #E6EBF2;font-size:13px;display:grid;grid-template-columns:70px 1fr;gap:4px 10px;background:#F7F9FC}
:where(.page-cellular-bioresponse-report) .mailmeta span{color:#6A7890}
:where(.page-cellular-bioresponse-report) .mailbody{background:#EDF2F8;padding:24px 16px}
:where(.page-cellular-bioresponse-report) .em{max-width:600px;margin:0 auto;background:#FFFFFF;border-radius:14px;overflow:hidden}
:where(.page-cellular-bioresponse-report) .em-top{background:var(--grad);color:#FFFFFF;padding:22px 26px;position:relative;overflow:hidden}
:where(.page-cellular-bioresponse-report) .em-top img{height:42px;width:auto}
:where(.page-cellular-bioresponse-report) .em-top h2{font-family:var(--f-display);font-weight:700;font-size:21px;margin:14px 0 0;line-height:1.3}
:where(.page-cellular-bioresponse-report) .em-top .k{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin-top:12px}
:where(.page-cellular-bioresponse-report) .em-in{padding:22px 26px;display:flex;flex-direction:column;gap:16px;font-size:14px}
:where(.page-cellular-bioresponse-report) .em-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
:where(.page-cellular-bioresponse-report) .em-scores div{background:#F3F7FC;border-radius:12px;padding:12px 14px}
:where(.page-cellular-bioresponse-report) .em-scores b{display:block;font-family:var(--f-display);font-size:24px;font-weight:800}
:where(.page-cellular-bioresponse-report) .em-list{border:1px solid #E3E9F1;border-radius:12px}
:where(.page-cellular-bioresponse-report) .em-list div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;border-top:1px solid #E3E9F1;font-size:13px}
:where(.page-cellular-bioresponse-report) .em-list div:first-child{border-top:0}
:where(.page-cellular-bioresponse-report) .em-list span{display:flex;align-items:center;gap:8px}
:where(.page-cellular-bioresponse-report) .cta{display:inline-block;background:var(--grad);color:#FFFFFF;font-weight:700;padding:12px 22px;border-radius:10px;text-decoration:none;align-self:flex-start}
:where(.page-cellular-bioresponse-report) .em-foot{padding:16px 26px;background:#F7F9FC;font-size:11px;color:#6A7890}
:where(.page-cellular-bioresponse-report) .attach{display:inline-flex;gap:8px;align-items:center;border:1px solid #D9E0EA;border-radius:8px;padding:7px 10px;font-size:12px;background:#FFFFFF;align-self:flex-start}
:where(.page-cellular-bioresponse-report) .attach i{font-style:normal;background:#D7263D;color:#fff;font-size:9px;font-weight:700;padding:2px 4px;border-radius:3px}

/* ---------- Portal screens (dark, match live platform) ---------- */
:where(.page-cellular-bioresponse-report) .portal{background:var(--d-bg);color:var(--d-ink);border-radius:14px;overflow:hidden;border:1px solid var(--d-line);display:grid;grid-template-columns:210px 1fr;min-height:640px;font-size:14px}
:where(.page-cellular-bioresponse-report) .side{background:#0E1527;border-right:1px solid var(--d-line);padding:18px 12px;display:flex;flex-direction:column;gap:2px}
:where(.page-cellular-bioresponse-report) .side .brand{font-weight:600;font-size:15px;line-height:1.25;padding:0 8px 4px;display:flex;gap:8px;align-items:center}
:where(.page-cellular-bioresponse-report) .side .brand img{width:28px;height:auto}
:where(.page-cellular-bioresponse-report) .side .pill{font-size:10px;font-weight:700;letter-spacing:.08em;background:#0F3B2C;color:var(--d-green);padding:3px 8px;border-radius:99px;margin:4px 8px 12px;align-self:flex-start}
:where(.page-cellular-bioresponse-report) .side a{color:#B7C1D3;text-decoration:none;padding:6px 8px;border-radius:7px;font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:6px}
:where(.page-cellular-bioresponse-report) .side a.on{background:#24183F;color:var(--d-violet)}
:where(.page-cellular-bioresponse-report) .side a .new{font-size:9px;font-weight:700;background:var(--d-teal);color:#062B2A;padding:1px 6px;border-radius:99px}
:where(.page-cellular-bioresponse-report) .main{padding:22px 24px;display:flex;flex-direction:column;gap:14px;min-width:0}
:where(.page-cellular-bioresponse-report) .main h2{margin:0;font-weight:600;font-size:21px}
:where(.page-cellular-bioresponse-report) .dc{background:var(--d-card);border:1px solid var(--d-line);border-radius:12px;padding:16px 18px;min-width:0}
:where(.page-cellular-bioresponse-report) .dc h3{margin:0 0 10px;font-size:14px;font-weight:600}
:where(.page-cellular-bioresponse-report) .dk{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--d-muted)}
:where(.page-cellular-bioresponse-report) .dg{display:grid;gap:12px}
:where(.page-cellular-bioresponse-report) .dbtn{font:500 13px var(--f-body);background:#1B2740;color:var(--d-ink);border:1px solid #2A3857;border-radius:8px;padding:8px 13px;cursor:pointer}
:where(.page-cellular-bioresponse-report) .dbtn.pri{background:#0E3A3A;color:var(--d-teal);border-color:#1B5E5C}
:where(.page-cellular-bioresponse-report) .dbtn.go{background:var(--d-teal);color:#062B2A;border-color:var(--d-teal);font-weight:700}
:where(.page-cellular-bioresponse-report) .dchip{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:99px;white-space:nowrap}
:where(.page-cellular-bioresponse-report) .d-good{background:#0F3B2C;color:var(--d-green)} :where(.page-cellular-bioresponse-report) .d-improving{background:#0D3346;color:var(--d-cyan)} :where(.page-cellular-bioresponse-report) .d-focus{background:#3B2A0A;color:var(--d-amber)}
:where(.page-cellular-bioresponse-report) .dhero{border-radius:14px;background:var(--grad);padding:18px 20px;display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center;color:#fff}
:where(.page-cellular-bioresponse-report) .wkchips{display:flex;gap:6px;flex-wrap:wrap}
:where(.page-cellular-bioresponse-report) .wkchips button{font:500 12px var(--f-body);background:#121C30;color:#B7C1D3;border:1px solid #2A3857;border-radius:99px;padding:6px 11px;cursor:pointer}
:where(.page-cellular-bioresponse-report) .wkchips button[aria-pressed="true"]{background:#0E3A3A;color:var(--d-teal);border-color:#1B5E5C}
:where(.page-cellular-bioresponse-report) details.drow{border-top:1px solid var(--d-line)}
:where(.page-cellular-bioresponse-report) details.drow:first-of-type{border-top:0}
:where(.page-cellular-bioresponse-report) details.drow summary{list-style:none;display:grid;grid-template-columns:28px 1fr auto auto 14px;gap:12px;align-items:center;padding:10px 2px;cursor:pointer}
:where(.page-cellular-bioresponse-report) details.drow summary::-webkit-details-marker{display:none}
:where(.page-cellular-bioresponse-report) details.drow summary .val{font-variant-numeric:tabular-nums}
:where(.page-cellular-bioresponse-report) details.drow summary .car{color:var(--d-muted);transition:transform .2s}
:where(.page-cellular-bioresponse-report) details.drow[open] summary .car{transform:rotate(90deg)}
:where(.page-cellular-bioresponse-report) details.drow .body{padding:0 2px 14px 40px;color:#C3CCDB;display:grid;grid-template-columns:1fr 260px;gap:16px;align-items:center}
:where(.page-cellular-bioresponse-report) details.drow .body p{margin:0 0 8px}
:where(.page-cellular-bioresponse-report) .dact{background:#0E2236;border:1px solid #1C3A56;border-radius:8px;padding:8px 10px;color:#CFE7F8;font-size:13px}
:where(.page-cellular-bioresponse-report) .opt{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--d-line)}
:where(.page-cellular-bioresponse-report) .opt:first-of-type{border-top:0}
:where(.page-cellular-bioresponse-report) .opt input{margin-top:3px;accent-color:#2CC6C0}
:where(.page-cellular-bioresponse-report) .opt small{display:block;color:var(--d-muted)}
:where(.page-cellular-bioresponse-report) textarea.dn{width:100%;min-height:140px;background:#0B1324;color:var(--d-ink);border:1px solid #2A3857;border-radius:8px;padding:10px 12px;font:13.5px/1.55 var(--f-body);resize:vertical}
:where(.page-cellular-bioresponse-report) .flag{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--d-line);font-size:13px}
:where(.page-cellular-bioresponse-report) .flag:first-of-type{border-top:0}
:where(.page-cellular-bioresponse-report) .dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none}
:where(.page-cellular-bioresponse-report) .toast{background:#0F3B2C;color:var(--d-green);border:1px solid #1E5E45;border-radius:10px;padding:10px 14px;font-size:13px}
:where(.page-cellular-bioresponse-report) .mini{width:100%;max-width:280px;aspect-ratio:794/1123;background:#fff;border-radius:6px;overflow:hidden;position:relative}
:where(.page-cellular-bioresponse-report) .mini .in{transform-origin:0 0;position:absolute;top:0;left:0}

/* ---------- Prompt and feed ---------- */
:where(.page-cellular-bioresponse-report) .feed{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:18px}
:where(.page-cellular-bioresponse-report) .card ol,:where(.page-cellular-bioresponse-report) .card ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
:where(.page-cellular-bioresponse-report) pre.code{margin:0;max-height:640px;overflow:auto;background:#0A1020;color:#CFE0F5;border-radius:10px;padding:14px 16px;font:12px/1.6 var(--f-mono);white-space:pre-wrap}
:where(.page-cellular-bioresponse-report) .copy{float:right;font:600 12px var(--f-body);border:1px solid var(--desk-line);background:var(--desk);color:var(--desk-ink);border-radius:8px;padding:6px 10px;cursor:pointer}

@media (max-width:900px){
  :where(.page-cellular-bioresponse-report) .portal{grid-template-columns:1fr}:where(.page-cellular-bioresponse-report) .side{display:none}
  :where(.page-cellular-bioresponse-report) details.drow .body{grid-template-columns:1fr;padding-left:2px}
  :where(.page-cellular-bioresponse-report) .feed,:where(.page-cellular-bioresponse-report) .gen{grid-template-columns:1fr}
  :where(.page-cellular-bioresponse-report) .fields{grid-template-columns:1fr}
  :where(.page-cellular-bioresponse-report) .dg.c2,:where(.page-cellular-bioresponse-report) .dg.c3,:where(.page-cellular-bioresponse-report) .dhero{grid-template-columns:1fr !important}
}
@media (prefers-reduced-motion:reduce){:where(.page-cellular-bioresponse-report) *{transition:none !important}}
@page{size:A4;margin:0}
@media print{
  :where(.page-cellular-bioresponse-report) body{background:#fff}:where(.page-cellular-bioresponse-report) .head,:where(.page-cellular-bioresponse-report) .tabs,:where(.page-cellular-bioresponse-report) .note,:where(.page-cellular-bioresponse-report) .gen,:where(.page-cellular-bioresponse-report) [data-screen]:not([data-screen="reports"]){display:none !important}
  :where(.page-cellular-bioresponse-report) .wrap{padding:0;max-width:none}:where(.page-cellular-bioresponse-report) .scroll{padding:0;overflow:visible}:where(.page-cellular-bioresponse-report) .pages{gap:0;display:block}:where(.page-cellular-bioresponse-report) .page{box-shadow:none;break-after:page;break-inside:avoid;width:210mm;height:296.5mm;margin:0}:where(.page-cellular-bioresponse-report) .page:last-child{break-after:auto}
}

/* v3 additions */
:where(.page-cellular-bioresponse-report) table.bct{width:100%;border-collapse:collapse;font-size:10.3px}
:where(.page-cellular-bioresponse-report) table.bct th{text-align:left;font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--p-muted);padding:4px 6px;border-bottom:1px solid var(--p-line)}
:where(.page-cellular-bioresponse-report) table.bct td{padding:3px 6px;border-bottom:1px solid #F0F3F8;vertical-align:middle;line-height:1.35}
:where(.page-cellular-bioresponse-report) table.bct td:first-child{width:118px}:where(.page-cellular-bioresponse-report) table.bct td:nth-child(2){width:120px}:where(.page-cellular-bioresponse-report) table.bct td:last-child{width:205px}
:where(.page-cellular-bioresponse-report) table.bct tr.none td{color:#7A879C}
:where(.page-cellular-bioresponse-report) .bv{font-family:var(--f-display);font-weight:700;font-size:11.5px;color:#0E1F3D}
:where(.page-cellular-bioresponse-report) tr.none .bv{font-weight:500;font-size:10px;color:#7A879C}
:where(.page-cellular-bioresponse-report) .bst{display:inline-block;margin-left:5px;font-size:7.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:1px 5px;border-radius:99px}
:where(.page-cellular-bioresponse-report) .bst.calc{background:#E3EEFB;color:#0F4C9E}:where(.page-cellular-bioresponse-report) .bst.none{display:none}
:where(.page-cellular-bioresponse-report) .atag{display:inline-flex;gap:3px;align-items:center;font-size:8.5px;background:#EEF4FB;color:#0F4C9E;border-radius:99px;padding:2px 6px;margin:1px 3px 1px 0;white-space:nowrap}

:where(.page-cellular-bioresponse-report) .lead{margin:-4px 0 0;font-size:12px;line-height:1.5;color:#0E1F3D}
:where(.page-cellular-bioresponse-report) .cmhead{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#5E6D86;padding:0 10px;margin-bottom:-8px}
:where(.page-cellular-bioresponse-report) .conn{border:1px solid #CFE0F4;border-radius:14px;padding:9px 12px;background:#FBFDFF}
:where(.page-cellular-bioresponse-report) .connt{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
:where(.page-cellular-bioresponse-report) .connt .legend{font-size:8.5px}
:where(.page-cellular-bioresponse-report) .c3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
:where(.page-cellular-bioresponse-report) .cch{display:flex;gap:5px;align-items:center;margin-bottom:4px}:where(.page-cellular-bioresponse-report) .cch b{font-family:var(--f-display);font-size:11px}
:where(.page-cellular-bioresponse-report) .ci{border-left:3px solid;border-radius:0 7px 7px 0;padding:4px 7px;margin-bottom:4px;font-size:9.3px;line-height:1.35}
:where(.page-cellular-bioresponse-report) .ci b{display:block;font-size:9.8px}

:where(.page-cellular-bioresponse-report) .gp{display:flex;flex-direction:column;gap:5px;margin-top:4px}
:where(.page-cellular-bioresponse-report) .gp div{display:flex;justify-content:space-between;gap:8px;align-items:center;background:var(--p-soft);border-radius:8px;padding:6px 9px;font-size:10.5px}
:where(.page-cellular-bioresponse-report) .gp b{font-size:10.5px}:where(.page-cellular-bioresponse-report) .gp span{display:inline-flex;gap:4px;align-items:center;color:#5E6D86;font-size:9.5px}
:where(.page-cellular-bioresponse-report) .ovgrid .ov p{font-size:10.5px}

:where(.page-cellular-bioresponse-report) .rhero{display:flex;gap:14px;align-items:center;background:linear-gradient(118deg,#EAF3FD 0%,#E6F6F3 100%);border-radius:16px;padding:10px 16px}
:where(.page-cellular-bioresponse-report) .rhero b{font-family:var(--f-display);font-size:15px;color:#0A2A66}:where(.page-cellular-bioresponse-report) .rhero p{margin:4px 0 0;font-size:11.5px;line-height:1.5}
:where(.page-cellular-bioresponse-report) .rstrip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
:where(.page-cellular-bioresponse-report) .rblocks{display:flex;flex-direction:column;gap:8px}
:where(.page-cellular-bioresponse-report) .rblock{border:1px solid var(--p-line);border-radius:12px;padding:6px 12px}
:where(.page-cellular-bioresponse-report) .rbh{display:flex;gap:9px;align-items:center;margin-bottom:3px}
:where(.page-cellular-bioresponse-report) .rbh b{font-family:var(--f-display);font-size:13.5px;flex:1}
:where(.page-cellular-bioresponse-report) .rblock ul{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:2px;font-size:10.4px;line-height:1.42}
:where(.page-cellular-bioresponse-report) .vchip{font-size:8.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:99px;font-family:var(--f-display)}
:where(.page-cellular-bioresponse-report) .vchip.v1{background:#FFF0D9;color:#A65E00}:where(.page-cellular-bioresponse-report) .vchip.v2{background:#E3EEFB;color:#0F4C9E}:where(.page-cellular-bioresponse-report) .vchip.v3{background:#E6F4E8;color:#2B7F3F}
:where(.page-cellular-bioresponse-report) .wk7{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
:where(.page-cellular-bioresponse-report) .wk7 div{background:var(--p-soft);border-radius:10px;padding:8px 6px;text-align:center}
:where(.page-cellular-bioresponse-report) .wk7 b{display:block;font-family:var(--f-display);font-size:11px}:where(.page-cellular-bioresponse-report) .wk7 span{font-size:9.5px;color:#5E6D86}
:where(.page-cellular-bioresponse-report) .sig{grid-template-columns:20px 1fr auto}

:where(.page-cellular-bioresponse-report) .bhero{border-radius:18px;background:linear-gradient(118deg,#EAF3FD 0%,#E6F6F3 100%);padding:14px 18px;display:grid;grid-template-columns:1.25fr 1fr;gap:6px 18px;align-items:center}
:where(.page-cellular-bioresponse-report) .bhero p{grid-column:1/-1;margin:2px 0 0;font-size:12.5px;line-height:1.5;color:#0E1F3D}
:where(.page-cellular-bioresponse-report) .bq{display:flex;gap:12px;align-items:center}
:where(.page-cellular-bioresponse-report) .bql{font-size:11px;color:#5E6D86;font-weight:600}
:where(.page-cellular-bioresponse-report) .bvt{font-family:var(--f-display);font-weight:800;font-size:19px;color:#0A2A66;line-height:1.2}
:where(.page-cellular-bioresponse-report) .vm{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
:where(.page-cellular-bioresponse-report) .vs{height:9px;border-radius:99px;background:#D9E2EE}
:where(.page-cellular-bioresponse-report) .vml{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;font-size:8.5px;color:#7A879C;margin-top:3px;text-align:center}
:where(.page-cellular-bioresponse-report) .vml .cur{color:#0E1F3D;font-weight:800}
:where(.page-cellular-bioresponse-report) .plain{margin-top:8px;background:#F3F7FC;border-radius:10px;padding:9px 11px}
:where(.page-cellular-bioresponse-report) .plain p{margin:3px 0 0;font-size:12px;line-height:1.55;color:#0E1F3D}
:where(.page-cellular-bioresponse-report) .sig{display:grid;grid-template-columns:20px 1fr auto;gap:2px 8px;align-items:center;padding:5px 0;border-top:1px solid var(--p-line);font-size:11px}
:where(.page-cellular-bioresponse-report) .sig:first-of-type{border-top:0}
:where(.page-cellular-bioresponse-report) .sgi{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;grid-row:span 2}
:where(.page-cellular-bioresponse-report) .sgl{color:#0E1F3D}:where(.page-cellular-bioresponse-report) .sig b{font-size:11.5px;text-align:right;grid-row:span 2}
:where(.page-cellular-bioresponse-report) .sgs{font-family:var(--f-mono);font-size:7px;color:#9AA6B8}
:where(.page-cellular-bioresponse-report) .nosrc .sgs{display:none}
:where(.page-cellular-bioresponse-report) .guide{border:1px solid #CFE0F4;border-radius:14px;padding:11px 13px;background:#FBFDFF}
:where(.page-cellular-bioresponse-report) .gtitle{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:6px;flex-wrap:wrap}
:where(.page-cellular-bioresponse-report) .gnote{font-size:9.5px;color:#5E6D86}
:where(.page-cellular-bioresponse-report) .g3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
:where(.page-cellular-bioresponse-report) .gh{display:flex;gap:6px;align-items:center;margin-bottom:4px}
:where(.page-cellular-bioresponse-report) .gh b{font-family:var(--f-display);font-size:11.5px;color:#0F4C9E}
:where(.page-cellular-bioresponse-report) .gr ul{margin:0;padding-left:14px;display:flex;flex-direction:column;gap:4px;font-size:9.8px;line-height:1.45;color:#0E1F3D}
:where(.page-cellular-bioresponse-report) .nsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
:where(.page-cellular-bioresponse-report) .nsteps .goal{padding:8px 10px}:where(.page-cellular-bioresponse-report) .nsteps .goal b{font-size:11px}
:where(.page-cellular-bioresponse-report) .bintro{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;align-items:center;background:var(--grad);color:#fff;border-radius:18px;padding:14px 18px}
:where(.page-cellular-bioresponse-report) .bintro .lbl{color:#BFEFFF}:where(.page-cellular-bioresponse-report) .bintro p{margin:6px 0 0;font-size:12.5px;line-height:1.55}
:where(.page-cellular-bioresponse-report) .flow{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
:where(.page-cellular-bioresponse-report) .fs{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:7px 8px;display:flex;gap:6px;align-items:center;font-size:11px;font-weight:600}
:where(.page-cellular-bioresponse-report) .fs b{width:18px;height:18px;border-radius:50%;background:#fff;color:#0F4C9E;display:grid;place-items:center;font-size:9.5px;flex:none}
:where(.page-cellular-bioresponse-report) .fchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
:where(.page-cellular-bioresponse-report) .fchip{display:inline-flex;gap:5px;align-items:center;font-size:10.5px;padding:5px 10px;border-radius:99px;border:1px solid var(--p-line);color:#7A879C;background:#fff}
:where(.page-cellular-bioresponse-report) .fchip.on{background:#0F4C9E;border-color:#0F4C9E;color:#fff;font-weight:700}
:where(.page-cellular-bioresponse-report) .ovgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
:where(.page-cellular-bioresponse-report) .ov{border:1px solid var(--p-line);border-radius:14px;padding:10px 13px;display:flex;flex-direction:column;gap:5px}
:where(.page-cellular-bioresponse-report) .ovh{display:flex;gap:10px;align-items:center}
:where(.page-cellular-bioresponse-report) .ovh b{font-family:var(--f-display);font-size:14px}
:where(.page-cellular-bioresponse-report) .ovq{font-size:10.5px;color:#5E6D86}
:where(.page-cellular-bioresponse-report) .ov p{margin:0;font-size:11px;line-height:1.5}

:where(.page-cellular-bioresponse-report) .page.cover{padding:0;background:#061A44;color:#fff;gap:0;position:relative;overflow:hidden}
:where(.page-cellular-bioresponse-report) .cv-bg{position:absolute;inset:0;background:radial-gradient(120% 80% at 85% 35%,rgba(44,196,207,.35) 0%,rgba(15,76,158,0) 55%),radial-gradient(90% 70% at 10% 100%,rgba(123,203,78,.22) 0%,rgba(6,26,68,0) 60%),linear-gradient(160deg,#04122F 0%,#0A2A66 45%,#0F4C9E 80%,#1477B8 100%)}
:where(.page-cellular-bioresponse-report) .cfield{position:absolute;right:-330px;top:210px;width:760px;height:760px;opacity:.95}
:where(.page-cellular-bioresponse-report) .page.cover::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,47,.55) 0%,rgba(4,18,47,.25) 45%,rgba(4,18,47,0) 70%);pointer-events:none}
:where(.page-cellular-bioresponse-report) .page.cover>*:not(.cv-bg):not(.cfield){z-index:2}
:where(.page-cellular-bioresponse-report) .cv-top{position:relative;display:flex;justify-content:space-between;align-items:center;padding:40px 48px 0}
:where(.page-cellular-bioresponse-report) .cv-top img{height:62px;width:auto}
:where(.page-cellular-bioresponse-report) .cv-tag{font-family:var(--f-display);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:7px 14px;color:#E8F4FF}
:where(.page-cellular-bioresponse-report) .cv-main{position:relative;padding:190px 48px 0;max-width:520px}
:where(.page-cellular-bioresponse-report) .cv-kick{font-family:var(--f-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#9FD8FF}
:where(.page-cellular-bioresponse-report) .cv-title{font-family:var(--f-display);font-weight:800;font-size:54px;line-height:1.04;letter-spacing:-.02em;margin:14px 0 0;color:#fff}
:where(.page-cellular-bioresponse-report) .cv-title .c1{color:#8FD3FF}:where(.page-cellular-bioresponse-report) .cv-title .c2{color:#7EDBB0}
:where(.page-cellular-bioresponse-report) .cv-sub{font-size:16px;line-height:1.5;color:#D6E6F8;margin:20px 0 0;max-width:34ch}
:where(.page-cellular-bioresponse-report) .cv-card{position:relative;margin:64px 48px 0;display:grid;grid-template-columns:1fr 1.25fr;gap:0;background:rgba(8,32,78,.82);border:1px solid rgba(255,255,255,.22);border-radius:22px;overflow:hidden;max-width:600px}
:where(.page-cellular-bioresponse-report) .cv-card>div{padding:20px 24px;display:flex;flex-direction:column;gap:4px}
:where(.page-cellular-bioresponse-report) .cv-card>div+div{border-left:1px solid rgba(255,255,255,.18)}
:where(.page-cellular-bioresponse-report) .cv-lbl{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9FD8FF;font-weight:700}
:where(.page-cellular-bioresponse-report) .cv-card b{font-family:var(--f-display);font-weight:700;font-size:21px;line-height:1.25;color:#fff}
:where(.page-cellular-bioresponse-report) .cv-dates b{font-size:16px}
:where(.page-cellular-bioresponse-report) .cv-id{font-family:var(--f-mono);font-size:11px;color:#C9DBF0}
:where(.page-cellular-bioresponse-report) .cv-inside{position:relative;display:flex;flex-wrap:wrap;gap:8px;margin:28px 48px 0;max-width:600px}
:where(.page-cellular-bioresponse-report) .cv-inside span{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#E3F0FF;background:rgba(8,32,78,.8);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 11px}
:where(.page-cellular-bioresponse-report) .cv-foot{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:16px;padding:16px 48px 22px;font-size:10px;color:#BFD3EA;border-top:1px solid rgba(255,255,255,.12);background:rgba(4,18,47,.35)}
:where(.page-cellular-bioresponse-report) .cv-foot span:nth-child(2){color:#fff;font-weight:600}

:where(.page-cellular-bioresponse-report) .tgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
:where(.page-cellular-bioresponse-report) .tcard{border:1px solid var(--p-line);border-radius:14px;padding:10px 14px 8px;display:flex;flex-direction:column;gap:2px;min-width:0}
:where(.page-cellular-bioresponse-report) .tn{font-family:var(--f-display);font-weight:700;font-size:13px;display:flex;justify-content:space-between;gap:4px;align-items:center;line-height:1.2}
:where(.page-cellular-bioresponse-report) .rt{font-family:var(--f-body);font-size:8px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1px 4px;border-radius:99px;white-space:nowrap}
:where(.page-cellular-bioresponse-report) .rt.sys{background:#E6F4E8;color:#2B7F3F}:where(.page-cellular-bioresponse-report) .rt.smp{background:#FFF0D9;color:#A65E00}
:where(.page-cellular-bioresponse-report) .nosrc .rt{display:none}
:where(.page-cellular-bioresponse-report) .tv{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}
:where(.page-cellular-bioresponse-report) .tv b{font-family:var(--f-display);font-size:21px;font-weight:800}
:where(.page-cellular-bioresponse-report) .tv b small{font-size:11px;font-weight:600;color:var(--p-muted)}
:where(.page-cellular-bioresponse-report) .tv span{font-size:10.5px;color:var(--p-muted)}
:where(.page-cellular-bioresponse-report) .tv em{font-style:normal;font-size:11px;font-weight:800}:where(.page-cellular-bioresponse-report) .tv em.pos{color:#2B7F3F}:where(.page-cellular-bioresponse-report) .tv em.neg{color:#A65E00}
:where(.page-cellular-bioresponse-report) .tcap{font-size:10px;color:var(--p-muted)}
:where(.page-cellular-bioresponse-report) .src.nb{border:0;padding:0}
:where(.page-cellular-bioresponse-report) table.sumt{width:100%;border-collapse:collapse;font-size:10.5px;margin-top:6px}
:where(.page-cellular-bioresponse-report) table.sumt th{text-align:left;font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--p-muted);padding:4px 8px;border-bottom:1px solid var(--p-line)}
:where(.page-cellular-bioresponse-report) table.sumt td{padding:2px 8px;border-bottom:1px solid #F0F3F8;font-variant-numeric:tabular-nums}
:where(.page-cellular-bioresponse-report) table.sumt td.pos{color:#2B7F3F;font-weight:700}:where(.page-cellular-bioresponse-report) table.sumt td.neg{color:#A65E00;font-weight:700}

:where(.page-cellular-bioresponse-report) .src{font-family:var(--f-mono);font-size:7.5px;letter-spacing:.02em;color:#7C8AA3;line-height:1.35;margin-top:auto;padding-top:4px;border-top:1px dashed #E3E9F1}
:where(.page-cellular-bioresponse-report) .src b{color:var(--teal);font-weight:600}
:where(.page-cellular-bioresponse-report) .nosrc .src{display:none}
:where(.page-cellular-bioresponse-report) .toggle{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:12px}
:where(.page-cellular-bioresponse-report) .toggle input{accent-color:#0F4C9E;width:16px;height:16px}
:where(.page-cellular-bioresponse-report) .mood{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;font-size:9px;color:var(--p-muted)}
:where(.page-cellular-bioresponse-report) .link{display:grid;grid-template-columns:150px 1fr 1fr;gap:10px;align-items:stretch;padding:6px 0;border-top:1px solid var(--p-line)}
:where(.page-cellular-bioresponse-report) .link:first-of-type{border-top:0}
:where(.page-cellular-bioresponse-report) .link .mk{border-radius:12px;padding:9px 10px;background:var(--p-soft)}
:where(.page-cellular-bioresponse-report) .link .mk b{display:block;font-family:var(--f-display);font-size:12.5px}
:where(.page-cellular-bioresponse-report) .link ul{margin:0;padding-left:14px;font-size:10.5px;display:flex;flex-direction:column;gap:2px}
:where(.page-cellular-bioresponse-report) .link .nx{background:var(--up-bg);border-radius:10px;padding:8px 10px;font-size:10.5px;color:#0B3B7A}
:where(.page-cellular-bioresponse-report) .link .nx b{display:block;font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;font-family:var(--f-display);margin-bottom:2px}
:where(.page-cellular-bioresponse-report) .mic{display:grid;grid-template-columns:repeat(2,1fr);gap:2px 26px}
:where(.page-cellular-bioresponse-report) .mic .bar{grid-template-columns:86px 1fr 96px}
:where(.page-cellular-bioresponse-report) .meal{display:grid;grid-template-columns:72px 1fr auto;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--p-line);font-size:11px}
:where(.page-cellular-bioresponse-report) .meal:first-of-type{border-top:0}
:where(.page-cellular-bioresponse-report) .tag{font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;border-radius:99px;font-family:var(--f-display)}
:where(.page-cellular-bioresponse-report) .tag.est{background:#FFF0D9;color:#A65E00}:where(.page-cellular-bioresponse-report) .tag.ok{background:#E6F4E8;color:#2B7F3F}
:where(.page-cellular-bioresponse-report) .care{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
:where(.page-cellular-bioresponse-report) .dq{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
:where(.page-cellular-bioresponse-report) table.map{width:100%;border-collapse:collapse;font-size:12.5px;min-width:900px}
:where(.page-cellular-bioresponse-report) table.map th{text-align:left;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--desk-muted);padding:8px 10px;border-bottom:2px solid var(--desk-line);position:sticky;top:0;background:var(--panel)}
:where(.page-cellular-bioresponse-report) table.map td{padding:8px 10px;border-bottom:1px solid var(--desk-line);vertical-align:top}
:where(.page-cellular-bioresponse-report) table.map td:nth-child(2){font-weight:600;white-space:nowrap}
:where(.page-cellular-bioresponse-report) table.map tr.grp td{background:var(--desk);font-family:var(--f-display);font-weight:700;font-size:12px;color:var(--tab-on);letter-spacing:.04em;text-transform:uppercase}
:where(.page-cellular-bioresponse-report) .sc{font-family:var(--f-mono);font-size:11px;background:var(--desk);border:1px solid var(--desk-line);border-radius:5px;padding:1px 5px;white-space:nowrap;display:inline-block;margin:1px 2px 1px 0}
:where(.page-cellular-bioresponse-report) .keys{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--desk-muted);margin:4px 0 12px}
:where(.page-cellular-bioresponse-report) .issue{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--desk-line)}
:where(.page-cellular-bioresponse-report) .issue:first-of-type{border-top:0}
:where(.page-cellular-bioresponse-report) .issue i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:12px}
:where(.page-cellular-bioresponse-report) .issue p{margin:2px 0 0;color:var(--desk-muted);font-size:13px}
:where(.page-cellular-bioresponse-report) .srcgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
:where(.page-cellular-bioresponse-report) .srcgrid .card h3{font-size:14px;margin-bottom:4px}
:where(.page-cellular-bioresponse-report) .srcgrid .card p{margin:0;font-size:12.5px;color:var(--desk-muted)}
@media (max-width:900px){:where(.page-cellular-bioresponse-report) .srcgrid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){:where(.page-cellular-bioresponse-report) .srcgrid{grid-template-columns:1fr}:where(.page-cellular-bioresponse-report) .feed{grid-template-columns:1fr !important}}

:where(.page-cellular-bioresponse-report) .chain{display:flex;align-items:stretch;gap:3px;margin:2px 0}:where(.page-cellular-bioresponse-report) .chain .ch{flex:1;border:1px solid #F3D3C2;background:#FFF5EF;border-radius:10px;padding:6px 6px;display:flex;flex-direction:column;gap:2px;min-width:0}:where(.page-cellular-bioresponse-report) .chain .ch.hot{background:#FDE3D6;border-color:#E9A07A}:where(.page-cellular-bioresponse-report) .chain .ch b{font-size:9.5px;color:#0E1F3D;line-height:1.2}:where(.page-cellular-bioresponse-report) .chain .ch span{font-size:8.5px;color:#A6461C;font-weight:700}:where(.page-cellular-bioresponse-report) .chain i{font-style:normal;color:#D9541E;font-weight:800;align-self:center;font-size:14px}
:where(.page-cellular-bioresponse-report) table.hsmx{width:100%;border-collapse:separate;border-spacing:2px;font-size:8.6px}:where(.page-cellular-bioresponse-report) table.hsmx th{font-size:7.6px;color:#5E6D86;font-weight:700;text-align:center;line-height:1.15;padding:2px}:where(.page-cellular-bioresponse-report) table.hsmx th:first-child,:where(.page-cellular-bioresponse-report) table.hsmx th:last-child{text-align:left}:where(.page-cellular-bioresponse-report) table.hsmx td{padding:3px 4px;border-radius:5px;line-height:1.25}:where(.page-cellular-bioresponse-report) table.hsmx td b{font-size:9px;color:#0E1F3D}:where(.page-cellular-bioresponse-report) table.hsmx .mv{color:#5E6D86;font-size:8.2px;white-space:nowrap}:where(.page-cellular-bioresponse-report) table.hsmx .mh2{font-size:8px;color:#3D4B63;width:170px}:where(.page-cellular-bioresponse-report) .mx-r{background:#FBE1DA;color:#B03A1A;text-align:center;font-weight:700;font-size:7.6px}:where(.page-cellular-bioresponse-report) .mx-g{background:#DDF1E0;color:#2B7F3F;text-align:center;font-weight:700;font-size:7.6px}:where(.page-cellular-bioresponse-report) .mx-w{background:#FFF1D6;color:#A65E00;text-align:center;font-weight:700;font-size:7.6px}

:where(.page-cellular-bioresponse-report) .chg th{font-size:8.5px;color:#7A879C;text-align:left;font-weight:600;padding:2px 4px}:where(.page-cellular-bioresponse-report) .wq{margin-top:6px;background:#F4F8FD;border:1px solid #DCE5F0;border-radius:10px;padding:7px 10px;font-size:10px;line-height:1.4}:where(.page-cellular-bioresponse-report) .wq .mh{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}:where(.page-cellular-bioresponse-report) .wq b{font-size:11px;color:#0E1F3D}:where(.page-cellular-bioresponse-report) .dist{display:flex;flex-direction:column;gap:4px;margin-top:2px}:where(.page-cellular-bioresponse-report) .drow{display:grid;grid-template-columns:44px 1fr 46px 30px;gap:6px;align-items:center;font-size:10px}:where(.page-cellular-bioresponse-report) .dbar{height:7px;background:#EEF2F7;border-radius:4px;overflow:hidden}:where(.page-cellular-bioresponse-report) .dbar i{display:block;height:100%;background:#0F4C9E;border-radius:4px}:where(.page-cellular-bioresponse-report) .drow em{font-style:normal;color:#5E6D86;text-align:right}:where(.page-cellular-bioresponse-report) .drv{display:grid;grid-template-columns:96px 1fr;gap:8px;padding:4px 0;border-top:1px solid #EEF2F7;font-size:9.5px;line-height:1.35}:where(.page-cellular-bioresponse-report) .drv b{font-size:10px;color:#0E1F3D}:where(.page-cellular-bioresponse-report) .drv span{color:#3D4B63}:where(.page-cellular-bioresponse-report) .grid2s{display:grid;grid-template-columns:1fr 1fr;gap:6px}

/* persona additions */
:where(.page-cellular-bioresponse-report) .pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
:where(.page-cellular-bioresponse-report) .pil{border:1px solid var(--p-line);border-radius:12px;padding:8px 11px;display:flex;flex-direction:column;gap:4px}
:where(.page-cellular-bioresponse-report) .pilh{display:flex;gap:9px;align-items:center}:where(.page-cellular-bioresponse-report) .pilh b{font-family:var(--f-display);font-size:13px;display:block}
:where(.page-cellular-bioresponse-report) .pn{font-family:var(--f-mono);font-size:8.5px;color:#E0751A;font-weight:700}
:where(.page-cellular-bioresponse-report) .pil p{margin:0;font-size:10.3px;line-height:1.4;color:#0E1F3D}
:where(.page-cellular-bioresponse-report) .dsrc{display:inline-block;font-size:8px;font-weight:700;background:#EEF4FB;color:#0F4C9E;border-radius:99px;padding:1px 6px;margin:1px 3px 0 0}
:where(.page-cellular-bioresponse-report) .disc{display:grid;grid-template-columns:1fr 1fr;gap:10px}
:where(.page-cellular-bioresponse-report) .heat{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:6px}:where(.page-cellular-bioresponse-report) .heat div{border-radius:8px;padding:6px 4px;text-align:center;display:flex;flex-direction:column;gap:1px}:where(.page-cellular-bioresponse-report) .heat .act{background:#FDEBDB}:where(.page-cellular-bioresponse-report) .heat .sau{background:#E3EEFB}:where(.page-cellular-bioresponse-report) .heat b{font-family:var(--f-display);font-size:14px}:where(.page-cellular-bioresponse-report) .heat span{font-size:8.5px;color:#5E6D86}:where(.page-cellular-bioresponse-report) .heat em{font-style:normal;font-size:8px;font-weight:700;color:#0E1F3D}
:where(.page-cellular-bioresponse-report) .eacalc{text-align:right;font-size:10px;color:#5E6D86}:where(.page-cellular-bioresponse-report) .eacalc b{display:block;font-family:var(--f-display);font-size:12px;color:#0A2A66}

:where(.page-cellular-bioresponse-report) .tiles.t4{grid-template-columns:repeat(4,1fr)}
:where(.page-cellular-bioresponse-report) .s-watch{color:#7A4E00;background:#FFF7D6}
:where(.page-cellular-bioresponse-report) .goalband{display:flex;gap:10px;align-items:center;background:#0A2A66;color:#fff;border-radius:12px;padding:9px 14px;font-size:12px}
:where(.page-cellular-bioresponse-report) .mgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
:where(.page-cellular-bioresponse-report) .mcard{border:1px solid var(--p-line);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}
:where(.page-cellular-bioresponse-report) .mh{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:9.5px;color:#5E6D86;font-weight:600}
:where(.page-cellular-bioresponse-report) .mh .chip{font-size:7px;padding:2px 5px}
:where(.page-cellular-bioresponse-report) .mcard b{font-family:var(--f-display);font-size:17px;font-weight:800;line-height:1.15}
:where(.page-cellular-bioresponse-report) .mt{font-size:9px;color:#5E6D86;line-height:1.3}:where(.page-cellular-bioresponse-report) .ms{font-family:var(--f-mono);font-size:7px;color:#9AA6B8}
:where(.page-cellular-bioresponse-report) .plain2{background:#F3F7FC;border-radius:12px;padding:10px 14px}
:where(.page-cellular-bioresponse-report) .plain2 p{margin:4px 0 0;font-size:11.5px;line-height:1.55}
:where(.page-cellular-bioresponse-report) .gdate{text-align:right}:where(.page-cellular-bioresponse-report) .gdate b{display:block;font-family:var(--f-display);font-size:12px}
:where(.page-cellular-bioresponse-report) .labhead{display:grid;grid-template-columns:auto auto auto 1fr;gap:16px;align-items:center;background:#F3F7FC;border-radius:12px;padding:9px 14px}
:where(.page-cellular-bioresponse-report) .labhead b{display:block;font-family:var(--f-display);font-size:13px}
:where(.page-cellular-bioresponse-report) .lplain{font-size:10.5px;line-height:1.45;color:#0E1F3D}
:where(.page-cellular-bioresponse-report) table.labt{width:100%;border-collapse:collapse;font-size:10px}
:where(.page-cellular-bioresponse-report) table.labt th{text-align:left;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#5E6D86;padding:3px 6px;border-bottom:1px solid var(--p-line)}
:where(.page-cellular-bioresponse-report) table.labt td{padding:1.6px 6px;border-bottom:1px solid #F0F3F8;vertical-align:middle;line-height:1.3}
:where(.page-cellular-bioresponse-report) table.labt tr.lg td{background:#EEF4FB;font-family:var(--f-display);font-weight:700;font-size:9.5px;color:#0F4C9E;letter-spacing:.04em;text-transform:uppercase;padding:3px 6px}
:where(.page-cellular-bioresponse-report) .lnote{display:block;font-size:8.5px;color:#7A879C}
:where(.page-cellular-bioresponse-report) .lv{font-family:var(--f-display);font-weight:700;white-space:nowrap}:where(.page-cellular-bioresponse-report) .lv small{font-family:var(--f-body);font-weight:400;color:#7A879C;font-size:8.5px}
:where(.page-cellular-bioresponse-report) .lr{color:#5E6D86;font-size:9.5px}
:where(.page-cellular-bioresponse-report) .flag{font-size:7.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:99px;white-space:nowrap;font-family:var(--f-display)}
:where(.page-cellular-bioresponse-report) .fg{background:#E6F4E8;color:#2B7F3F}:where(.page-cellular-bioresponse-report) .fl,:where(.page-cellular-bioresponse-report) .fh{background:#FCE4E4;color:#B02A2A}:where(.page-cellular-bioresponse-report) .fw{background:#FFF0D9;color:#A65E00}:where(.page-cellular-bioresponse-report) .fi{background:#E3EEFB;color:#0F4C9E}
:where(.page-cellular-bioresponse-report) .atag{display:inline-flex;gap:3px;align-items:center;font-size:8px;background:#EEF4FB;color:#0F4C9E;border-radius:99px;padding:1px 5px;margin:1px 2px 1px 0;white-space:nowrap}
:where(.page-cellular-bioresponse-report) .bac{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:5px 0;border-top:1px solid var(--p-line)}
:where(.page-cellular-bioresponse-report) .bac:first-of-type{border-top:0}:where(.page-cellular-bioresponse-report) .bac b{display:block;font-size:11px}:where(.page-cellular-bioresponse-report) .bac span{font-size:9.5px;color:#5E6D86}
:where(.page-cellular-bioresponse-report) .lvl{font-size:8px!important;font-weight:800;text-transform:uppercase;padding:2px 7px;border-radius:99px;flex:none}
:where(.page-cellular-bioresponse-report) .lvl.low{background:#FFF0D9;color:#A65E00!important}:where(.page-cellular-bioresponse-report) .lvl.high{background:#FCE4E4;color:#B02A2A!important}:where(.page-cellular-bioresponse-report) .lvl.normal{background:#E6F4E8;color:#2B7F3F!important}
:where(.page-cellular-bioresponse-report) table.medt{width:100%;border-collapse:collapse;font-size:9.4px;line-height:1.35}
:where(.page-cellular-bioresponse-report) table.medt th{text-align:left;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#5E6D86;padding:4px 6px;border-bottom:1px solid var(--p-line)}
:where(.page-cellular-bioresponse-report) table.medt td{padding:5px 6px;border-bottom:1px solid #F0F3F8;vertical-align:top}
:where(.page-cellular-bioresponse-report) table.medt td:first-child{width:150px}
:where(.page-cellular-bioresponse-report) table.medt td:first-child b{display:block;font-size:10.5px;font-family:var(--f-display)}
:where(.page-cellular-bioresponse-report) table.medt td:first-child span{display:block;font-size:9px;color:#5E6D86}
:where(.page-cellular-bioresponse-report) table.medt td:first-child .why{color:#0F4C9E}
:where(.page-cellular-bioresponse-report) table.medt tr.supp td:first-child b{color:#1E8F6A}
:where(.page-cellular-bioresponse-report) table.mx{width:100%;border-collapse:collapse;font-size:9.5px}
:where(.page-cellular-bioresponse-report) table.mx th{font-size:8px;color:#5E6D86;padding:3px;text-align:center;font-weight:700}
:where(.page-cellular-bioresponse-report) table.mx td{padding:3px;border-bottom:1px solid #F0F3F8;text-align:center}
:where(.page-cellular-bioresponse-report) table.mx td:first-child{text-align:left;white-space:nowrap}
:where(.page-cellular-bioresponse-report) .mxd{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;font-weight:800;font-size:10px}
:where(.page-cellular-bioresponse-report) ul.gl{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:4px;font-size:10.2px;line-height:1.45}
:where(.page-cellular-bioresponse-report) table.bct2{width:100%;border-collapse:collapse;font-size:10px}
:where(.page-cellular-bioresponse-report) table.bct2 td{padding:3px 4px;border-bottom:1px solid #F0F3F8;vertical-align:middle}
:where(.page-cellular-bioresponse-report) table.bct2 td:nth-child(2){font-family:var(--f-display);white-space:nowrap}
:where(.page-cellular-bioresponse-report) table.bct2 .chip{font-size:7px;padding:2px 5px}
:where(.page-cellular-bioresponse-report) .bnote{font-size:8.5px;color:#7A879C}
:where(.page-cellular-bioresponse-report) table.trig{width:100%;border-collapse:collapse;font-size:10.5px}
:where(.page-cellular-bioresponse-report) table.trig th{text-align:left;font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:#5E6D86;padding:4px 6px;border-bottom:1px solid var(--p-line)}
:where(.page-cellular-bioresponse-report) table.trig td{padding:5px 6px;border-bottom:1px solid #F0F3F8}
:where(.page-cellular-bioresponse-report) table.trig td.neg{color:#A65E00;font-weight:700}:where(.page-cellular-bioresponse-report) table.trig td.pos{color:#2B7F3F;font-weight:700}
:where(.page-cellular-bioresponse-report) .persona-intro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
:where(.page-cellular-bioresponse-report) .persona-intro .card p{margin:4px 0 0;font-size:13px;color:var(--desk-muted)}
@media (max-width:900px){:where(.page-cellular-bioresponse-report) .persona-intro{grid-template-columns:1fr}}
@media print{:where(.page-cellular-bioresponse-report) .head,:where(.page-cellular-bioresponse-report) .tabs,:where(.page-cellular-bioresponse-report) .note,:where(.page-cellular-bioresponse-report) .persona-intro{display:none!important}:where(.page-cellular-bioresponse-report) section[hidden]{display:none!important}:where(.page-cellular-bioresponse-report) .wrap{padding:0;max-width:none}:where(.page-cellular-bioresponse-report) .scroll{padding:0;overflow:visible}:where(.page-cellular-bioresponse-report) .pages{gap:0;display:block}:where(.page-cellular-bioresponse-report) .page{box-shadow:none;break-after:page;break-inside:avoid;width:210mm;height:296.5mm;margin:0}:where(.page-cellular-bioresponse-report) .page:last-child{break-after:auto}}
/* ===== BioHealthcare Club theme: editorial, clinical, architectural calm ===== */
:root:where(.page-cellular-bioresponse-report){
  --f-display:"Cormorant Garamond","Playfair Display",Georgia,serif;
  --f-body:"Manrope",ui-sans-serif,system-ui,sans-serif;
  --f-mono:"Manrope",ui-sans-serif,system-ui,sans-serif;
  --blue:#2E4A4B; --blue-d:#071218; --sky:#94A691; --teal:#7F947C; --green:#7F947C; --ink:#0B1715;
  --grad:linear-gradient(120deg,#050B0E 0%,#071218 40%,#0F1C1A 75%,#1C2A24 100%);
  --desk:#071218; --desk-ink:#D9D4CB; --desk-muted:#A7B0AA; --desk-line:rgba(217,212,203,.16); --tab-bg:#0F1C1A; --tab-on:#7F947C; --tab-on-ink:#050B0E; --panel:#0B1715;
  --p-ink:#0B1715; --p-muted:#5E6A64; --p-line:#E3DED3; --p-soft:#F4F1EA;
  --ok:#4B6A47; --ok-bg:#E6ECE1; --up:#2F5560; --up-bg:#E1EAEC; --fo:#8A6A1E; --fo-bg:#F5EDD6;
  --gold:#C9B783; --sage:#7F947C;
}
:where(.page-cellular-bioresponse-report) body{background:#071218;color:#D9D4CB}
:where(.page-cellular-bioresponse-report) .head h1{font-family:var(--f-display);font-weight:500;font-size:34px;color:#D9D4CB}
:where(.page-cellular-bioresponse-report) .head p{color:#A7B0AA}
:where(.page-cellular-bioresponse-report) .headlogo{background:none;padding:0;height:52px}
:where(.page-cellular-bioresponse-report) .tabs{background:#071218}
:where(.page-cellular-bioresponse-report) .tabs button{font-family:var(--f-body);letter-spacing:.14em;text-transform:uppercase;font-size:11px;border-radius:0;background:#0F1C1A;color:#D9D4CB;border-color:rgba(217,212,203,.16)}
:where(.page-cellular-bioresponse-report) .tabs button[aria-selected="true"]{background:#7F947C;color:#050B0E;border-color:#7F947C}
:where(.page-cellular-bioresponse-report) .persona-intro .card{background:#0B1715;border-color:rgba(217,212,203,.16);border-radius:0}
:where(.page-cellular-bioresponse-report) .persona-intro .card h3{font-family:var(--f-display);font-weight:500;font-size:20px;color:#D9D4CB}

/* page */
:where(.page-cellular-bioresponse-report) .page{background:#FBF9F4;color:#0B1715;padding:0 40px 24px}
:where(.page-cellular-bioresponse-report) .ph{margin:0 -40px 0;padding:16px 40px 14px;background:#071218;align-items:center}
:where(.page-cellular-bioresponse-report) .ph h2{font-family:var(--f-display);font-weight:500;font-size:27px;color:#D9D4CB;letter-spacing:0;margin-top:2px}
:where(.page-cellular-bioresponse-report) .ph img{height:40px}
:where(.page-cellular-bioresponse-report) .kick{font-family:var(--f-body);font-size:8.5px;font-weight:600;letter-spacing:.26em;color:#C9B783!important;display:flex;align-items:center;gap:8px}
:where(.page-cellular-bioresponse-report) .kick::before{content:"";width:22px;height:1px;background:#C9B783;opacity:.8}
:where(.page-cellular-bioresponse-report) .rule{height:2px;margin:0 -40px 4px;border-radius:0;background:linear-gradient(90deg,#C9B783,#7F947C 55%,#2E4A4B)!important}
:where(.page-cellular-bioresponse-report) .lbl{color:#7A6A3F;letter-spacing:.18em;font-weight:600}
:where(.page-cellular-bioresponse-report) .chip{font-family:var(--f-body);font-weight:700;letter-spacing:.12em;border-radius:2px}
:where(.page-cellular-bioresponse-report) .s-watch{color:#7A5A12;background:#F3E7C6}
:where(.page-cellular-bioresponse-report) .panel,:where(.page-cellular-bioresponse-report) .tcard,:where(.page-cellular-bioresponse-report) .tile,:where(.page-cellular-bioresponse-report) .mcard{border-color:#E3DED3!important;background:#FFFFFF;border-radius:4px!important}
:where(.page-cellular-bioresponse-report) .panel h4,:where(.page-cellular-bioresponse-report) .tcard .tn{font-family:var(--f-body);letter-spacing:.02em}
:where(.page-cellular-bioresponse-report) .tv b,:where(.page-cellular-bioresponse-report) .mcard b,:where(.page-cellular-bioresponse-report) .tile .v,:where(.page-cellular-bioresponse-report) .stat b{font-family:var(--f-display)!important;font-weight:600!important}
:where(.page-cellular-bioresponse-report) .plain2{background:#F1EEE5!important;border-left:2px solid #C9B783;border-radius:2px!important}
:where(.page-cellular-bioresponse-report) .hero{border-radius:4px;background:linear-gradient(120deg,#050B0E 0%,#0B1715 45%,#1C2A24 100%)}
:where(.page-cellular-bioresponse-report) .hero h3{font-family:var(--f-display);font-weight:500;font-size:22px;line-height:1.25}
:where(.page-cellular-bioresponse-report) .goalband{background:#0B1715!important;border-radius:2px!important;color:#D9D4CB}
:where(.page-cellular-bioresponse-report) .bhero{border-radius:4px;background:linear-gradient(118deg,#EEF0E8 0%,#F5EFDF 100%)}
:where(.page-cellular-bioresponse-report) .bvt,:where(.page-cellular-bioresponse-report) .bql+.bvt{font-family:var(--f-display)!important;font-weight:600!important}
:where(.page-cellular-bioresponse-report) .rt.sys,:where(.page-cellular-bioresponse-report) .dsrc,:where(.page-cellular-bioresponse-report) .atag{border-radius:2px}
:where(.page-cellular-bioresponse-report) .fine{color:#6B7570}
:where(.page-cellular-bioresponse-report) table.labt th,:where(.page-cellular-bioresponse-report) table.trig th{color:#7A6A3F}
:where(.page-cellular-bioresponse-report) .stat{border-radius:4px}

/* cover */
:where(.page-cellular-bioresponse-report) .page.cover{background:#050B0E;padding:0}
:where(.page-cellular-bioresponse-report) .page.cover::after{display:none}
:where(.page-cellular-bioresponse-report) .bc-img{position:absolute;left:0;right:0;top:0;height:800px;background-size:cover;background-position:center 20%;image-rendering:auto}
:where(.page-cellular-bioresponse-report) .bc-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,11,14,.78) 0%,rgba(5,11,14,.45) 8%,rgba(5,11,14,0) 18%,rgba(5,11,14,0) 32%,rgba(5,11,14,.55) 46%,rgba(5,11,14,.92) 62%,#050B0E 71%,#050B0E 100%)}
:where(.page-cellular-bioresponse-report) .bc-top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:36px 48px 0}
:where(.page-cellular-bioresponse-report) .bc-top img{height:58px}
:where(.page-cellular-bioresponse-report) .bc-tag{max-width:470px;line-height:1.6;font-family:var(--f-body);font-size:9.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:#D9D4CB;border:1px solid rgba(217,212,203,.35);padding:8px 14px}
:where(.page-cellular-bioresponse-report) .bc-main{position:absolute;z-index:2;left:48px;right:48px;top:520px}
:where(.page-cellular-bioresponse-report) .bc-eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--f-body);font-size:10.5px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:#C9B783}
:where(.page-cellular-bioresponse-report) .bc-eyebrow::before{content:"";width:34px;height:1px;background:#C9B783}
:where(.page-cellular-bioresponse-report) .bc-title{font-family:var(--f-display);font-weight:300;font-size:64px;line-height:1;margin:16px 0 0;color:#D9D4CB;letter-spacing:-.01em}
:where(.page-cellular-bioresponse-report) .bc-title em{font-style:italic;color:#94A691;font-weight:400}
:where(.page-cellular-bioresponse-report) .bc-sub{font-family:var(--f-body);font-weight:300;font-size:14px;line-height:1.7;color:#A7B0AA;margin:18px 0 0;max-width:52ch}
:where(.page-cellular-bioresponse-report) .bc-card{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:30px;border-top:1px solid rgba(217,212,203,.2);border-bottom:1px solid rgba(217,212,203,.2)}
:where(.page-cellular-bioresponse-report) .bc-card>div{padding:16px 0;display:flex;flex-direction:column;gap:4px}
:where(.page-cellular-bioresponse-report) .bc-card>div+div{padding-left:20px;border-left:1px solid rgba(217,212,203,.14)}
:where(.page-cellular-bioresponse-report) .bc-lbl{font-family:var(--f-body);font-size:8.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:#C9B783}
:where(.page-cellular-bioresponse-report) .bc-card b{font-family:var(--f-display);font-weight:500;font-size:21px;color:#D9D4CB;line-height:1.2}
:where(.page-cellular-bioresponse-report) .bc-card span.s{font-size:10.5px;color:#A7B0AA}
:where(.page-cellular-bioresponse-report) .bc-inside{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
:where(.page-cellular-bioresponse-report) .bc-inside span{font-family:var(--f-body);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#D9D4CB;border:1px solid rgba(217,212,203,.22);padding:6px 10px}
:where(.page-cellular-bioresponse-report) .bc-foot{position:absolute;z-index:2;left:48px;right:48px;bottom:22px;display:flex;justify-content:space-between;align-items:center;font-family:var(--f-body);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#6B7570}
:where(.page-cellular-bioresponse-report) .bc-foot img{height:15px;opacity:.75}
/* brand tidy-ups */
:where(.page-cellular-bioresponse-report) .page table{color:#0B1715}
:where(.page-cellular-bioresponse-report) .labhead{background:#F1EEE5!important}
:where(.page-cellular-bioresponse-report) table.labt tr.lg td{background:#EEF0E8!important;color:#4B6A47!important}
:where(.page-cellular-bioresponse-report) .atag,:where(.page-cellular-bioresponse-report) .dsrc{background:#EEF0E8!important;color:#2E4A4B!important}
:where(.page-cellular-bioresponse-report) .pn{color:#B08A3E!important}
:where(.page-cellular-bioresponse-report) .wq{background:#F4F1EA!important;border-color:#E3DED3!important}
:where(.page-cellular-bioresponse-report) body{margin:0}
:where(.page-cellular-bioresponse-report) .bc-title{font-size:54px!important;line-height:1.05!important}
/* ===== Dark editorial pages, matching the biohealthcareclub.com home page ===== */
:root:where(.page-cellular-bioresponse-report){--p-ink:#D9D4CB;--p-muted:#A7B0AA;--p-line:rgba(217,212,203,.14);--p-soft:#0F1C1A;
 --ok:#A9BDA5;--ok-bg:rgba(127,148,124,.20);--up:#8FB9B5;--up-bg:rgba(79,122,120,.24);--fo:#D9C690;--fo-bg:rgba(201,183,131,.18)}
:where(.page-cellular-bioresponse-report) .page{background:#071218;color:#D9D4CB;background-image:radial-gradient(circle at 12% 92%,rgba(127,148,124,.10),transparent 45%)}
:where(.page-cellular-bioresponse-report) .ph{background:#050B0E;border-bottom:1px solid rgba(217,212,203,.10)}
:where(.page-cellular-bioresponse-report) .panel,:where(.page-cellular-bioresponse-report) .tcard,:where(.page-cellular-bioresponse-report) .tile,:where(.page-cellular-bioresponse-report) .mcard,:where(.page-cellular-bioresponse-report) .pil,:where(.page-cellular-bioresponse-report) .rblock,:where(.page-cellular-bioresponse-report) .dcard,:where(.page-cellular-bioresponse-report) .ov,:where(.page-cellular-bioresponse-report) .goal,:where(.page-cellular-bioresponse-report) .guide,:where(.page-cellular-bioresponse-report) .conn,:where(.page-cellular-bioresponse-report) .wq,:where(.page-cellular-bioresponse-report) .labhead,:where(.page-cellular-bioresponse-report) .plain,:where(.page-cellular-bioresponse-report) .stat,:where(.page-cellular-bioresponse-report) .ev div,:where(.page-cellular-bioresponse-report) .wk7 div,:where(.page-cellular-bioresponse-report) .gp div,:where(.page-cellular-bioresponse-report) .meal .tag{background:#0B1715!important;border-color:rgba(217,212,203,.12)!important}
:where(.page-cellular-bioresponse-report) .plain2{background:#0F1C1A!important;border-left:2px solid #C9B783}
:where(.page-cellular-bioresponse-report) .bhero,:where(.page-cellular-bioresponse-report) .rhero,:where(.page-cellular-bioresponse-report) .verdict,:where(.page-cellular-bioresponse-report) .bintro{background:linear-gradient(118deg,#0F1C1A 0%,#0B1715 60%,#14231F 100%)!important;border:1px solid rgba(217,212,203,.12)}
:where(.page-cellular-bioresponse-report) .hero{background:linear-gradient(120deg,#050B0E 0%,#0B1715 50%,#14231F 100%)!important;border:1px solid rgba(217,212,203,.12)}
:where(.page-cellular-bioresponse-report) .goalband{background:#0F1C1A!important;border:1px solid rgba(201,183,131,.35)}
:where(.page-cellular-bioresponse-report) .page :is(.lead,.pil p,.lplain,.plain p,.plain2 p,.bhero p,.rhero p,.gr ul,.drv span,.ov p,.dcard p,ul.gl,.rblock ul,.box ul,.docnote p,.link ul){color:#D9D4CB!important}
:where(.page-cellular-bioresponse-report) .page :is(.bvt,.rhero b,.eacalc b,.drv b,.wq b,.bv,.sgl,.vml .cur,.gh b,.pilh b,.tn,.panel h4,.ph h2,.tv b,.mcard b,.tile .v,.tile .nm,.stat b,.labhead b,.gdate b,.bac b,.meal b,.cch b,.ci b,table.hsmx td b,.chain .ch b,.goal b,.rbh b,.ovh b,table.medt td:first-child b,.lv,table.bct2 td:nth-child(2) b){color:#D9D4CB!important}
:where(.page-cellular-bioresponse-report) .page :is(.bql,.eacalc,.mt,.tcap,.tv span,.tv b small,.mh,.gnote,.lr,.lnote,.lv small,.bnote,.bac span,.ovq,.tile .u,.patient,.goal span,.fine,.pf,.legend,.u,.dcard .u,table.medt td:first-child span,.stat span,.drow em,.gp span){color:#A7B0AA!important}
:where(.page-cellular-bioresponse-report) .page .patient b{color:#D9D4CB}
:where(.page-cellular-bioresponse-report) .pf{border-top-color:rgba(217,212,203,.12)}
:where(.page-cellular-bioresponse-report) .lbl{color:#C9B783!important}
:where(.page-cellular-bioresponse-report) .page table td,:where(.page-cellular-bioresponse-report) .page table th{border-color:rgba(217,212,203,.10)!important;color:#D9D4CB}
:where(.page-cellular-bioresponse-report) .page table th{color:#C9B783!important}
:where(.page-cellular-bioresponse-report) table.labt tr.lg td,:where(.page-cellular-bioresponse-report) table.map tr.grp td{background:#0F1C1A!important;color:#94A691!important}
:where(.page-cellular-bioresponse-report) .atag,:where(.page-cellular-bioresponse-report) .dsrc,:where(.page-cellular-bioresponse-report) .sc{background:rgba(127,148,124,.16)!important;color:#B7C7B3!important}
:where(.page-cellular-bioresponse-report) .pn{color:#C9B783!important}
:where(.page-cellular-bioresponse-report) .chip.s-good,:where(.page-cellular-bioresponse-report) .s-good{background:rgba(127,148,124,.22)!important;color:#B7C7B3!important}
:where(.page-cellular-bioresponse-report) .s-improving{background:rgba(79,122,120,.26)!important;color:#9DC4C0!important}
:where(.page-cellular-bioresponse-report) .s-focus{background:rgba(201,183,131,.22)!important;color:#E1CF98!important}
:where(.page-cellular-bioresponse-report) .s-watch{background:rgba(201,183,131,.12)!important;color:#C9B783!important}
:where(.page-cellular-bioresponse-report) .fg,:where(.page-cellular-bioresponse-report) .lvl.normal,:where(.page-cellular-bioresponse-report) .tag.ok,:where(.page-cellular-bioresponse-report) .rt.sys,:where(.page-cellular-bioresponse-report) .vchip.v3,:where(.page-cellular-bioresponse-report) .mx-g{background:rgba(127,148,124,.22)!important;color:#B7C7B3!important}
:where(.page-cellular-bioresponse-report) .fl,:where(.page-cellular-bioresponse-report) .fh,:where(.page-cellular-bioresponse-report) .lvl.high,:where(.page-cellular-bioresponse-report) .mx-r{background:rgba(208,139,91,.20)!important;color:#E2AE85!important}
:where(.page-cellular-bioresponse-report) .fw,:where(.page-cellular-bioresponse-report) .lvl.low,:where(.page-cellular-bioresponse-report) .tag.est,:where(.page-cellular-bioresponse-report) .rt.smp,:where(.page-cellular-bioresponse-report) .vchip.v1,:where(.page-cellular-bioresponse-report) .mx-w{background:rgba(201,183,131,.18)!important;color:#E1CF98!important}
:where(.page-cellular-bioresponse-report) .fi,:where(.page-cellular-bioresponse-report) .vchip.v2,:where(.page-cellular-bioresponse-report) .bst.calc{background:rgba(79,122,120,.26)!important;color:#9DC4C0!important}
:where(.page-cellular-bioresponse-report) .ic{background:rgba(217,212,203,.06)!important}
:where(.page-cellular-bioresponse-report) .vs{background:rgba(217,212,203,.12)}
:where(.page-cellular-bioresponse-report) .bar .t,:where(.page-cellular-bioresponse-report) .dbar{background:rgba(217,212,203,.10)!important}
:where(.page-cellular-bioresponse-report) .dbar i{background:#94A691!important}
:where(.page-cellular-bioresponse-report) .mxd{filter:none}
:where(.page-cellular-bioresponse-report) .goal .chk{border-color:#94A691}
:where(.page-cellular-bioresponse-report) .tabs button{color:#D9D4CB}
/* charts */
:where(.page-cellular-bioresponse-report) .page svg line[stroke="#EEF2F7"]{stroke:rgba(217,212,203,.10)}
:where(.page-cellular-bioresponse-report) .page svg text[fill="#7A879C"],:where(.page-cellular-bioresponse-report) .page svg text[fill="#5E6D86"]{fill:#A7B0AA}
:where(.page-cellular-bioresponse-report) .page svg text[fill="#0E1F3D"]{fill:#D9D4CB}
:where(.page-cellular-bioresponse-report) .page svg line[stroke="#0E1F3D"],:where(.page-cellular-bioresponse-report) .page svg path[stroke="#0E1F3D"]{stroke:#C9B783}
:where(.page-cellular-bioresponse-report) .page svg path[stroke="#B9C6D8"]{stroke:#6B7570}
:where(.page-cellular-bioresponse-report) .page svg rect[fill="#1FAFB5"]{fill:#94A691}
:where(.page-cellular-bioresponse-report) .page svg rect[fill="rgba(79,168,69,.12)"]{fill:rgba(127,148,124,.14)}
:where(.page-cellular-bioresponse-report) .page svg circle[stroke="#fff"]{stroke:#071218}
:where(.page-cellular-bioresponse-report) .page svg rect[fill="#fff"]{fill:#0B1715}
:where(.page-cellular-bioresponse-report) .page svg rect[stroke="#DCE5F0"]{stroke:rgba(217,212,203,.16)}
:where(.page-cellular-bioresponse-report) .page svg path[stroke="#4FA845"],:where(.page-cellular-bioresponse-report) .page svg rect[fill="#4FA845"]{stroke:#94A691}
:where(.page-cellular-bioresponse-report) .page svg rect[fill="#4FA845"]{fill:#94A691}
:where(.page-cellular-bioresponse-report) .page svg path[stroke="#E08A12"]{stroke:#C9B783}:where(.page-cellular-bioresponse-report) .page svg rect[fill="#E08A12"]{fill:#C9B783}
:where(.page-cellular-bioresponse-report) .page svg rect[fill="#0F4C9E"]{fill:#6FA3A0}
:where(.page-cellular-bioresponse-report) .page svg g[fill="#E3EEFB"]{fill:#14231F;stroke:#94A691}
:where(.page-cellular-bioresponse-report) .page svg text[fill="#0F4C9E"]{fill:#9DC4C0}
:where(.page-cellular-bioresponse-report) .page svg text[fill="#D9783B"]{fill:#E1CF98}
:where(.page-cellular-bioresponse-report) .page svg line[stroke="#9AA9BF"]{stroke:#6B7570}
:where(.page-cellular-bioresponse-report) .legend i{outline:1px solid rgba(217,212,203,.1)}
:where(.page-cellular-bioresponse-report) .ci{color:#D9D4CB}:where(.page-cellular-bioresponse-report) .ci span{color:#A7B0AA}

:where(.page-cellular-bioresponse-report) .backnav{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 12px;font:600 10.5px var(--f-body);letter-spacing:.2em;text-transform:uppercase}:where(.page-cellular-bioresponse-report) .backnav a{color:#C9B783;text-decoration:none;border-bottom:1px solid transparent}:where(.page-cellular-bioresponse-report) .backnav a:hover{border-bottom-color:#C9B783}
@media print{:where(.page-cellular-bioresponse-report) .backnav{display:none}}
:where(.page-cellular-bioresponse-report) .wrap{padding-top:calc(20px + var(--bhc-nav-h, 84px))}


/* ═══════════════════════════════════════════════════════════
   PAGE: connect.php  (scoped to html.page-connect)
═══════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════
   CONNECT — Freedom, plus our locations. On brand tokens.
═══════════════════════════════════════════════════════════ */
@keyframes cnUp { from { opacity:0; transform: translateY(28px);} to { opacity:1; transform:none;} }
:where(.page-connect) .cn-anim { opacity:0; animation: cnUp 1s cubic-bezier(.2,.7,.2,1) forwards; }
:where(.page-connect) .cn-d1{animation-delay:.12s;}:where(.page-connect) .cn-d2{animation-delay:.26s;}:where(.page-connect) .cn-d3{animation-delay:.40s;}
@media (prefers-reduced-motion: reduce){ :where(.page-connect) .cn-anim{opacity:1;animation:none;} :where(.page-connect) .cn-hero-media{animation:none;} :where(.page-connect) .cn-bar i{animation:none;width:var(--w,70%);} }

/* Hero */
:where(.page-connect) .cn-hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding:9rem clamp(1.5rem,4vw,4rem) clamp(3rem,6vw,6rem);overflow:hidden;}
:where(.page-connect) .cn-hero-media{position:absolute;inset:0;z-index:0;animation:cnDrift 24s ease-in-out infinite alternate;
  background:radial-gradient(130% 110% at 80% 8%,rgba(201,183,131,.22),transparent 52%),radial-gradient(95% 95% at 6% 96%,rgba(127,148,124,.22),transparent 55%),linear-gradient(155deg,#112024,#071218 52%,#0a1614);}
@keyframes cnDrift{from{transform:scale(1.05);}to{transform:scale(1.12);}}
:where(.page-connect) .cn-hero-media video{width:100%;height:100%;object-fit:cover;opacity:.5;}
:where(.page-connect) .cn-hero-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,var(--bg,#071218) 2%,rgba(7,18,24,.45) 45%,rgba(7,18,24,.25) 100%);}
:where(.page-connect) .cn-hero-inner{position:relative;z-index:2;width:100%;max-width:1480px;margin:0 auto;}
:where(.page-connect) .cn-hero h1{font-family:var(--f-display,"Cormorant Garamond",serif);font-weight:300;font-size:clamp(50px,8vw,90px);line-height:.95;letter-spacing:-.03em;color:var(--t1,#D9D4CB);margin:1.4rem 0 0;max-width:18ch;text-wrap:balance;}
:where(.page-connect) .cn-hero h1 em{font-style:italic;color:var(--sage-2,#94A691);}
:where(.page-connect) .cn-hero-row{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:end;margin-top:2.5rem;}
:where(.page-connect) .cn-hero-sub{font-size:clamp(16px,1.4vw,19px);color:var(--t2,#A7B0AA);line-height:1.7;max-width:48ch;}
:where(.page-connect) .cn-hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.75rem;}
:where(.page-connect) .cn-hero-cred{display:flex;flex-direction:column;gap:1.1rem;border-left:1px solid var(--line-2,rgba(217,212,203,.16));padding-left:1.75rem;}
:where(.page-connect) .cn-cred{display:flex;align-items:center;gap:.8rem;}
:where(.page-connect) .cn-cred svg{width:20px;height:20px;color:var(--gold,#C9B783);flex-shrink:0;}
:where(.page-connect) .cn-cred span{font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--t2,#A7B0AA);line-height:1.4;}
@media(max-width:860px){:where(.page-connect) .cn-hero-row{grid-template-columns:1fr;gap:2rem;align-items:start;}:where(.page-connect) .cn-hero-cred{flex-direction:row;flex-wrap:wrap;gap:1.25rem 2rem;border-left:0;padding-left:0;}}

/* Positioning + contrast */
:where(.page-connect) .cn-pos-head{max-width:780px;}
:where(.page-connect) .cn-pos-head .body-l{margin-top:1.25rem;}
:where(.page-connect) .cn-compare2{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line,rgba(217,212,203,.08));border:1px solid var(--line,rgba(217,212,203,.08));margin-top:clamp(2.5rem,4vw,3.5rem);}
:where(.page-connect) .cn-c2{background:var(--bg,#071218);padding:clamp(1.75rem,3vw,2.6rem);display:flex;flex-direction:column;gap:1.4rem;}
:where(.page-connect) .cn-c2-on{background:linear-gradient(180deg,rgba(127,148,124,.07),transparent);border-top:2px solid var(--sage,#7F947C);}
:where(.page-connect) .cn-c2-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;}
:where(.page-connect) .cn-c2-tag{font-size:15px;letter-spacing:.22em;text-transform:uppercase;color:var(--t3,#6B7570);}
:where(.page-connect) .cn-c2-on .cn-c2-tag{color:var(--sage,#7F947C);}
:where(.page-connect) .cn-c2-badge{font-family:var(--f-display,serif);font-style:italic;font-size:18px;color:var(--sage-2,#94A691);}
:where(.page-connect) .cn-c2 ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9rem;}
:where(.page-connect) .cn-c2 li{display:flex;gap:.8rem;align-items:flex-start;font-size:14.5px;line-height:1.45;color:var(--t1,#D9D4CB);}
:where(.page-connect) .cn-c2 li::before{flex-shrink:0;font-size:13px;line-height:1.5;}
:where(.page-connect) .cn-c2 li.v::before{content:"\2713";color:var(--sage,#7F947C);}
:where(.page-connect) .cn-c2 li.p::before{content:"+";color:var(--gold,#C9B783);font-weight:700;}
@media(max-width:760px){:where(.page-connect) .cn-compare2{grid-template-columns:1fr;}}

/* How it works */
:where(.page-connect) .cn-how{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:start;}
:where(.page-connect) .cn-how-intro{position:sticky;top:120px;}
:where(.page-connect) .cn-how-note{margin-top:1.5rem;padding:1.25rem 1.4rem;border:1px solid var(--line,rgba(217,212,203,.08));background:var(--bg-2,#0B1715);}
:where(.page-connect) .cn-how-note p{font-size:14px;color:var(--t2,#A7B0AA);line-height:1.65;margin:0;}
:where(.page-connect) .cn-how-note strong{color:var(--sage-2,#94A691);font-weight:500;}
:where(.page-connect) .cn-steps{display:flex;flex-direction:column;}
:where(.page-connect) .cn-step{display:grid;grid-template-columns:auto 1fr;gap:clamp(1rem,2vw,1.75rem);padding:1.7rem 0;border-top:1px solid var(--line,rgba(217,212,203,.08));align-items:start;}
:where(.page-connect) .cn-step:first-child{border-top:0;}
:where(.page-connect) .cn-step-n{font-family:var(--f-display,serif);font-size:30px;font-weight:300;color:var(--sage-dim,#5A6E58);line-height:1;letter-spacing:-.03em;min-width:2.2ch;}
:where(.page-connect) .cn-step h3{font-family:var(--f-display,serif);font-size:clamp(20px,1.9vw,26px);font-weight:300;color:var(--t1,#D9D4CB);letter-spacing:-.01em;margin:0 0 .4rem;line-height:1.15;}
:where(.page-connect) .cn-step h3 em{font-style:italic;color:var(--sage-2,#94A691);}
:where(.page-connect) .cn-step p{font-size:14px;color:var(--t3,#6B7570);line-height:1.65;margin:0;max-width:54ch;}
:where(.page-connect) .cn-step-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0 0;padding:0;list-style:none;}
:where(.page-connect) .cn-step-list li{font-size:11px;letter-spacing:.06em;color:var(--t2,#A7B0AA);border:1px solid var(--line-2,rgba(217,212,203,.16));padding:.35rem .7rem;}
:where(.page-connect) .cn-step-media{width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;background-repeat:no-repeat;filter:brightness(.60) saturate(.95);border:1px solid var(--line,rgba(217,212,203,.08));margin-bottom:1.1rem;transition:filter .5s var(--ease-out,ease);}
:where(.page-connect) .cn-step:hover .cn-step-media{filter:brightness(.80) saturate(1);}
@media(max-width:860px){:where(.page-connect) .cn-how{grid-template-columns:1fr;}:where(.page-connect) .cn-how-intro{position:static;}}

/* Mosaic gradients */
:where(.page-connect) .cn-tile-media{filter:brightness(.5) saturate(.95);}
:where(.page-connect) .cn-t1 .cn-tile-media{background-image:url('images/connect-coach.jpg'),radial-gradient(110% 120% at 75% 10%,rgba(201,183,131,.45),transparent 55%),linear-gradient(150deg,#15262a,#071218);}
:where(.page-connect) .cn-t2 .cn-tile-media{background-image:url('images/connect-trainer.jpg'),radial-gradient(120% 120% at 20% 0%,rgba(127,148,124,.5),transparent 55%),linear-gradient(160deg,#0f2024,#071218);}
:where(.page-connect) .cn-t3 .cn-tile-media{background-image:url('images/connect-fitness.jpg'),radial-gradient(120% 120% at 85% 90%,rgba(148,166,145,.4),transparent 55%),linear-gradient(160deg,#0e1c1f,#071218);}
:where(.page-connect) .cn-t4 .cn-tile-media{background-image:url('images/connect-nutrition.jpg'),radial-gradient(120% 120% at 50% 0%,rgba(201,183,131,.3),transparent 55%),linear-gradient(160deg,#0d2226,#071218);}
:where(.page-connect) .cn-t5 .cn-tile-media{background-image:url('images/connect-doctors.jpg'),radial-gradient(120% 120% at 10% 80%,rgba(127,148,124,.42),transparent 55%),linear-gradient(160deg,#0f1f1c,#071218);}
:where(.page-connect) .cn-t6 .cn-tile-media{background-image:url('images/connect-dietitian.jpg'),radial-gradient(120% 120% at 90% 10%,rgba(148,166,145,.4),transparent 55%),linear-gradient(160deg,#0e1d20,#071218);}
:where(.page-connect) .cn-t7 .cn-tile-media{background-image:url('images/connect-track.jpg'),radial-gradient(120% 120% at 30% 100%,rgba(94,110,88,.5),transparent 55%),linear-gradient(160deg,#101e1b,#071218);}
:where(.page-connect) .cn-t8 .cn-tile-media{background-image:url('images/connect-ecosystem.jpg'),radial-gradient(120% 120% at 70% 0%,rgba(127,148,124,.42),transparent 55%),linear-gradient(160deg,#0e1d21,#071218);}

/* Locations split */
:where(.page-connect) .cn-loc{display:grid;grid-template-columns:1fr 1fr;min-height:auto;overflow:hidden;}
:where(.page-connect) .cn-loc-img{position:relative;background-image:url('images/connect-location.jpg'),radial-gradient(120% 100% at 70% 20%,rgba(201,183,131,.25),transparent 60%),linear-gradient(160deg,#13231f,#071218);background-size:cover;background-position:center;}
:where(.page-connect) .cn-loc-img::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(7,18,24,.3),rgba(7,18,24,.55));}
:where(.page-connect) .cn-loc-body{background:var(--bg-2,#0B1715);display:flex;flex-direction:column;justify-content:center;gap:1.1rem;padding:clamp(3rem,6vw,2rem) clamp(2rem,5vw,5rem);}
:where(.page-connect) .cn-loc-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:1rem;}
:where(.page-connect) .cn-loc-list li{display:flex;gap:.85rem;align-items:flex-start;font-size:15px;color:var(--t1,#D9D4CB);line-height:1.5;}
:where(.page-connect) .cn-loc-list li svg{width:20px;height:20px;color:var(--sage,#7F947C);flex-shrink:0;margin-top:2px;}
:where(.page-connect) .cn-loc-list li span{display:block;font-size:13.5px;color:var(--t3,#6B7570);margin-top:.15rem;}
@media(max-width:900px){:where(.page-connect) .cn-loc{grid-template-columns:1fr;}:where(.page-connect) .cn-loc-img{min-height:48vh;}}

/* Technology */
:where(.page-connect) .cn-tech{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line,rgba(217,212,203,.08));border:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-connect) .cn-tech-card{background:var(--bg,#071218);padding:clamp(1.75rem,3vw,2.5rem) 1.7rem;display:flex;flex-direction:column;gap:1rem;transition:background .4s;}
:where(.page-connect) .cn-tech-card:hover{background:var(--bg-2,#0B1715);}
:where(.page-connect) .cn-tech-badge{align-self:flex-start;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage,#7F947C);border:1px solid var(--sage-dim,#5A6E58);padding:.32rem .65rem;}
:where(.page-connect) .cn-tech-card svg{width:30px;height:30px;color:var(--sage,#7F947C);stroke-width:1.3;}
:where(.page-connect) .cn-tech-h{font-family:var(--f-display,serif);font-size:clamp(20px,1.9vw,25px);font-weight:300;color:var(--t1,#D9D4CB);letter-spacing:-.01em;line-height:1.1;}
:where(.page-connect) .cn-tech-h em{font-style:italic;color:var(--sage-2,#94A691);}
:where(.page-connect) .cn-tech-p{font-size:13.5px;color:var(--t3,#6B7570);line-height:1.6;}
@media(max-width:820px){:where(.page-connect) .cn-tech{grid-template-columns:1fr;}}

/* Testing panel */
:where(.page-connect) .cn-test{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:84vh;overflow:hidden;}
:where(.page-connect) .cn-test-visual{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:clamp(2rem,4vw,4rem);background:radial-gradient(120% 100% at 70% 20%,rgba(127,148,124,.18),transparent 60%),linear-gradient(160deg,#0c1a1d,#071218);}
:where(.page-connect) .cn-panel{width:100%;max-width:460px;border:1px solid var(--line-2,rgba(217,212,203,.16));background:linear-gradient(180deg,rgba(127,148,124,.05),transparent);backdrop-filter:blur(6px);padding:clamp(1.5rem,3vw,2.25rem);}
:where(.page-connect) .cn-panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:1.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-connect) .cn-live{display:inline-flex;align-items:center;gap:.55rem;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--sage,#7F947C);}
:where(.page-connect) .cn-dot{width:6px;height:6px;border-radius:50%;background:var(--sage,#7F947C);animation:cnPulse 2s ease-in-out infinite;}
@keyframes cnPulse{0%,100%{box-shadow:0 0 0 0 rgba(127,148,124,.4);}50%{box-shadow:0 0 0 8px transparent;}}
:where(.page-connect) .cn-panel-cap{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--t3,#6B7570);}
:where(.page-connect) .cn-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line,rgba(217,212,203,.08));}
:where(.page-connect) .cn-metric{background:var(--bg,#071218);padding:1.25rem 1.1rem;display:flex;flex-direction:column;gap:.5rem;}
:where(.page-connect) .cn-metric-l{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--t3,#6B7570);}
:where(.page-connect) .cn-metric-v{font-family:var(--f-display,serif);font-size:30px;font-weight:300;color:var(--t1,#D9D4CB);line-height:1;letter-spacing:-.01em;}
:where(.page-connect) .cn-metric-v small{font-size:12px;color:var(--t3,#6B7570);margin-left:.25rem;}
:where(.page-connect) .cn-bar{height:2px;background:var(--line,rgba(217,212,203,.12));margin-top:.35rem;overflow:hidden;}
:where(.page-connect) .cn-bar i{display:block;height:100%;background:var(--sage,#7F947C);width:0;animation:cnFill 1.6s cubic-bezier(.2,.7,.2,1) forwards;}
@keyframes cnFill{to{width:var(--w,70%);}}
:where(.page-connect) .cn-test-body{background:var(--bg-2,#0B1715);display:flex;flex-direction:column;justify-content:center;gap:1.25rem;padding:clamp(3rem,6vw,6rem) clamp(2rem,5vw,5rem);}
:where(.page-connect) .cn-test-list{display:flex;flex-direction:column;margin-top:1rem;}
:where(.page-connect) .cn-test-list>*+*{border-top:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-connect) .cn-test-item{padding:1.25rem 0;}
:where(.page-connect) .cn-test-tag{font-family:var(--f-mono,monospace);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage,#7F947C);}
:where(.page-connect) .cn-test-item h3{font-family:var(--f-display,serif);font-size:clamp(19px,1.8vw,25px);font-weight:300;color:var(--t1,#D9D4CB);letter-spacing:-.005em;margin:.3rem 0 .35rem;}
:where(.page-connect) .cn-test-item h3 em{font-style:italic;color:var(--sage-2,#94A691);}
:where(.page-connect) .cn-test-item p{font-size:13.5px;color:var(--t3,#6B7570);line-height:1.6;max-width:50ch;}
@media(max-width:900px){:where(.page-connect) .cn-test{grid-template-columns:1fr;}:where(.page-connect) .cn-test-visual{min-height:56vh;}}

/* Everything included checklist */
:where(.page-connect) .cn-incl{list-style:none;padding:0;margin:0;columns:2;column-gap:clamp(2rem,5vw,5rem);}
:where(.page-connect) .cn-incl li{break-inside:avoid;display:flex;gap:.85rem;align-items:flex-start;padding:.8rem 0;border-bottom:1px solid var(--line,rgba(217,212,203,.08));font-size:14.5px;color:var(--t1,#D9D4CB);line-height:1.45;}
:where(.page-connect) .cn-incl li svg{width:16px;height:16px;color:var(--sage,#7F947C);flex-shrink:0;margin-top:3px;}
:where(.page-connect) .cn-incl li b{font-weight:500;}
:where(.page-connect) .cn-incl li span{color:#94A691;font-weight:500;}
:where(.page-connect) .cn-incl li.add b{color:var(--sage-2,#94A691);}
@media(max-width:680px){:where(.page-connect) .cn-incl{columns:1;}}

/* Ideal-for */
:where(.page-connect) .cn-ideal{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line,rgba(217,212,203,.08));border:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-connect) .cn-ideal-cell{background:var(--bg,#071218);padding:clamp(1.75rem,3vw,2.5rem);display:flex;gap:1.1rem;align-items:flex-start;transition:background .4s;}
:where(.page-connect) .cn-ideal-cell:hover{background:var(--bg-2,#0B1715);}
:where(.page-connect) .cn-ideal-cell svg{width:22px;height:22px;color:var(--sage,#7F947C);flex-shrink:0;margin-top:2px;}
:where(.page-connect) .cn-ideal-cell p{font-size:15px;color:var(--t1,#D9D4CB);line-height:1.55;margin:0;}
:where(.page-connect) .cn-ideal-cell p span{display:block;font-size:13.5px;color:var(--t3,#6B7570);margin-top:.25rem;}
@media(max-width:700px){:where(.page-connect) .cn-ideal{grid-template-columns:1fr;}}

@media(max-width:600px){:where(.page-connect) .cn-hero h1{font-size:clamp(42px,12vw,60px);}}
	
/* ── Hero stats col — matched from index.php ── */
:where(.page-connect) .hero-stats-col {
  display: flex;
  flex-direction: column;
  align-self: flex-end;
  flex-shrink: 0;
  width: clamp(260px, 28vw, 380px);
}
:where(.page-connect) .hero-stat-rule {
  width: 100%;
  height: 0.5px;
  background: rgba(168, 196, 184, 0.25);
}
:where(.page-connect) .hero-stat-item { display: flex; flex-direction: column; }
:where(.page-connect) .hero-stat-inner {
  display: flex;
  align-items: flex-start;
  gap: 1.1rem;
  padding: 1rem 0;
}
:where(.page-connect) .hero-stat-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border: 0.5px solid rgba(141, 187, 163, 0.3);
}
:where(.page-connect) .hero-stat-icon svg {
  width: 18px;
  height: 18px;
  stroke: rgba(141, 187, 163, 0.85);
}
:where(.page-connect) .hero-stat-text { display: flex; flex-direction: column; gap: 0.2rem; padding-top: 0.2rem; }
:where(.page-connect) .hero-stat-label {
  font-family: var(--f-body);
  font-size: clamp(12px, 1vw, 18px);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(224, 216, 204, 0.9);
  line-height: 1.2;
}
@media (max-width: 860px) {
  :where(.page-connect) .fr-hero-row { flex-direction: column !important; align-items: flex-start; gap: 2rem; }
  :where(.page-connect) .hero-stats-col { width: 100%; display: grid; grid-template-columns: 1fr 1fr; align-self: auto; }
  :where(.page-connect) .hero-stat-rule:last-child { display: none; }
}
@media (max-width: 600px) {
  :where(.page-connect) .hero-stats-col { grid-template-columns: 1fr; }
}
	
:where(.page-connect) .cn-info-panel{grid-column:span 3;background:linear-gradient(145deg,rgba(127,148,124,.09) 0%,transparent 55%),linear-gradient(180deg,#0d2020,#071218);border-left:1px solid var(--line,rgba(217,212,203,.08));display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1rem,3.5vw,1rem) clamp(1.75rem,3.5vw,3.5rem);gap:0;min-height:420px;}
:where(.page-connect) .cn-ip-eyebrow{display:block;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--sage,#7F947C);margin-bottom:.9rem;}
:where(.page-connect) .cn-ip-h{font-family:var(--f-display,serif);font-size:clamp(22px,2.4vw,34px);font-weight:300;color:var(--t1,#D9D4CB);line-height:1.1;letter-spacing:-.02em;margin:0 0 .85rem;}
:where(.page-connect) .cn-ip-h em{font-style:italic;color:var(--sage-2,#94A691);}
:where(.page-connect) .cn-ip-sub{font-size:13.5px;color:var(--t3,#6B7570);line-height:1.65;max-width:54ch;margin:0;}
:where(.page-connect) .cn-ip-stats{display:flex;align-items:flex-start;gap:clamp(1rem,2.5vw,2rem);padding:clamp(1.25rem,2vw,1.75rem) 0;border-top:1px solid var(--line,rgba(217,212,203,.08));border-bottom:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-connect) .cn-ip-stat{display:flex;flex-direction:column;align-items:center;gap:.65rem;flex:1;}
:where(.page-connect) .cn-ip-ring{position:relative;width:72px;height:72px;flex-shrink:0;}
:where(.page-connect) .cn-ip-ring svg{width:100%;height:100%;transform:rotate(-90deg);}
:where(.page-connect) .cn-ring-bg{fill:none;stroke:rgba(217,212,203,.07);stroke-width:4;}
:where(.page-connect) .cn-ring-fg{fill:none;stroke-width:4;stroke-linecap:round;}
:where(.page-connect) .cn-ip-ring-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--f-display,serif);font-size:clamp(12px,1.2vw,16px);font-weight:300;color:var(--t1,#D9D4CB);letter-spacing:-.02em;line-height:1;}
:where(.page-connect) .cn-ip-ring-val sup{font-size:.5em;color:var(--sage-2,#94A691);vertical-align:super;}
:where(.page-connect) .cn-ip-stat-lbl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#fff);text-align:center;line-height:1.5;}
:where(.page-connect) .cn-ip-rows{display:flex;flex-direction:column;gap:0;padding-top:clamp(1rem,1.5vw,1.5rem);}
:where(.page-connect) .cn-ip-row{display:flex;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line,rgba(217,212,203,.06));}
:where(.page-connect) .cn-ip-row-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(127,148,124,.25);flex-shrink:0;}
:where(.page-connect) .cn-ip-row-icon svg{width:16px;height:16px;color:var(--sage,#7F947C);}
:where(.page-connect) .cn-ip-row-body{display:flex;flex-direction:column;gap:.2rem;flex:1;}
:where(.page-connect) .cn-ip-row-body strong{font-size:13px;font-weight:500;color:var(--t1,#D9D4CB);}
:where(.page-connect) .cn-ip-row-body span{font-size:12px;color:#fff);line-height:1.5;}
:where(.page-connect) .cn-ip-row-tag{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage,#7F947C);border:1px solid var(--sage-dim,#5A6E58);padding:.28rem .6rem;flex-shrink:0;}
:where(.page-connect) .cn-ip-row--cta{border-bottom:none;gap:.85rem;padding-top:1.1rem;}
:where(.page-connect) .cn-ip-btn{display:inline-flex;align-items:center;gap:.55rem;font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--bg,#071218);background:var(--sage,#7F947C);padding:.72rem 1.4rem;text-decoration:none;transition:background .3s;}
:where(.page-connect) .cn-ip-btn:hover{background:var(--sage-2,#94A691);}
:where(.page-connect) .cn-ip-btn-ghost{display:inline-flex;align-items:center;font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--sage,#7F947C);border:1px solid var(--sage-dim,#5A6E58);padding:.72rem 1.4rem;text-decoration:none;transition:border-color .3s,color .3s;}
:where(.page-connect) .cn-ip-btn-ghost:hover{border-color:var(--sage-2,#94A691);color:var(--sage-2,#94A691);}
@media(max-width:1024px){:where(.page-connect) .cn-info-panel{grid-column:span 2;}}
@media(max-width:640px){:where(.page-connect) .cn-info-panel{grid-column:span 1;min-height:auto;}:where(.page-connect) .cn-ip-stats{flex-wrap:wrap;justify-content:center;}:where(.page-connect) .cn-ip-row--cta{flex-direction:column;align-items:flex-start;}}
	
	/* Testing panel */
:where(.page-connect) .fr-test{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:84vh;overflow:hidden;}
:where(.page-connect) .fr-test-visual{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:clamp(2rem,4vw,4rem);background:radial-gradient(120% 100% at 70% 20%,rgba(127,148,124,.18),transparent 60%),linear-gradient(160deg,#0c1a1d,#071218);}
:where(.page-connect) .fr-test-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;z-index:0;}
:where(.page-connect) .fr-test-video-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(7,18,24,.92) 0%,rgba(7,18,24,.35) 55%,rgba(7,18,24,.2) 100%);}
:where(.page-connect) .fr-test-visual .fr-panel{position:relative;z-index:2;}
:where(.page-connect) .fr-panel{width:100%;max-width:460px;border:1px solid var(--line-2,rgba(217,212,203,.16));background:linear-gradient(180deg,rgba(127,148,124,.05),transparent);backdrop-filter:blur(6px);padding:clamp(1.5rem,3vw,2.25rem);}
:where(.page-connect) .fr-panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:1.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-connect) .fr-live{display:inline-flex;align-items:center;gap:.55rem;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--sage,#7F947C);}
:where(.page-connect) .fr-dot{width:6px;height:6px;border-radius:50%;background:var(--sage,#7F947C);animation:frPulse 2s ease-in-out infinite;}
@keyframes frPulse{0%,100%{box-shadow:0 0 0 0 rgba(127,148,124,.4);}50%{box-shadow:0 0 0 8px transparent;}}
:where(.page-connect) .fr-panel-cap{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--t3,#6B7570);}
:where(.page-connect) .fr-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line,rgba(217,212,203,.08));}
:where(.page-connect) .fr-metric{background:var(--bg,#071218);padding:1.25rem 1.1rem;display:flex;flex-direction:column;gap:.5rem;}
:where(.page-connect) .fr-metric-l{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--t3,#6B7570);}
:where(.page-connect) .fr-metric-v{font-family:var(--f-display,serif);font-size:30px;font-weight:300;color:var(--t1,#D9D4CB);line-height:1;letter-spacing:-.01em;}
:where(.page-connect) .fr-metric-v small{font-size:12px;color:var(--t3,#6B7570);margin-left:.25rem;}
:where(.page-connect) .fr-bar{height:2px;background:var(--line,rgba(217,212,203,.12));margin-top:.35rem;overflow:hidden;}
:where(.page-connect) .fr-bar i{display:block;height:100%;background:var(--sage,#7F947C);width:0;animation:frFill 1.6s cubic-bezier(.2,.7,.2,1) forwards;}
@keyframes frFill{to{width:var(--w,70%);}}
:where(.page-connect) .fr-test-body{background:var(--bg-2,#0B1715);display:flex;flex-direction:column;justify-content:center;gap:1.25rem;padding:clamp(3rem,6vw,6rem) clamp(2rem,5vw,5rem);}
:where(.page-connect) .fr-test-list{display:flex;flex-direction:column;margin-top:1rem;}
:where(.page-connect) .fr-test-list>*+*{border-top:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-connect) .fr-test-item{padding:1.25rem 0;}
:where(.page-connect) .fr-test-tag{font-family:var(--f-mono,monospace);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage,#7F947C);}
:where(.page-connect) .fr-test-item h3{font-family:var(--f-display,serif);font-size:clamp(19px,1.8vw,25px);font-weight:300;color:var(--t1,#D9D4CB);letter-spacing:-.005em;margin:.3rem 0 .35rem;}
:where(.page-connect) .fr-test-item h3 em{font-style:italic;color:var(--sage-2,#94A691);}
:where(.page-connect) .fr-test-item p{font-size:13.5px;color:var(--t3,#6B7570);line-height:1.6;max-width:50ch;}
@media(max-width:900px){:where(.page-connect) .fr-test{grid-template-columns:1fr;}:where(.page-connect) .fr-test-visual{min-height:56vh;}}
/* accent for this page */
:where(.page-connect) .tg-trust,:where(.page-connect) .tg-faq{--tg-accent:var(--sage,#7F947C);}
/* Trust strip + FAQ (shared component) */
:where(.page-connect) .tg-trust{border-top:1px solid var(--line,rgba(217,212,203,.08));border-bottom:1px solid var(--line,rgba(217,212,203,.08));background:var(--bg-2,#0B1715);}
:where(.page-connect) .tg-trust-inner{max-width:1480px;margin:0 auto;padding:1.5rem clamp(1.5rem,4vw,4rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.1rem 2.6rem;}
:where(.page-connect) .tg-trust-item{display:flex;align-items:center;gap:.6rem;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--t2,#A7B0AA);}
:where(.page-connect) .tg-trust-item svg{width:16px;height:16px;color:var(--tg-accent,var(--sage,#7F947C));flex-shrink:0;}
:where(.page-connect) .tg-faq{max-width:900px;margin:0 auto;}
:where(.page-connect) .tg-faq details{border-bottom:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-connect) .tg-faq details:first-child{border-top:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-connect) .tg-faq summary{list-style:none;cursor:pointer;padding:1.45rem 0;display:flex;justify-content:space-between;align-items:center;gap:1.25rem;font-family:var(--f-display,serif);font-size:clamp(18px,1.7vw,24px);font-weight:300;color:var(--t1,#D9D4CB);transition:color .3s;}
:where(.page-connect) .tg-faq summary::-webkit-details-marker{display:none;}
:where(.page-connect) .tg-faq summary:hover{color:var(--tg-accent,var(--sage,#7F947C));}
:where(.page-connect) .tg-qi{flex-shrink:0;width:20px;height:20px;position:relative;}
:where(.page-connect) .tg-qi::before,:where(.page-connect) .tg-qi::after{content:"";position:absolute;background:var(--tg-accent,var(--sage,#7F947C));transition:transform .3s var(--ease-out,ease);}
:where(.page-connect) .tg-qi::before{top:50%;left:1px;right:1px;height:1.5px;transform:translateY(-50%);}
:where(.page-connect) .tg-qi::after{left:50%;top:1px;bottom:1px;width:1.5px;transform:translateX(-50%);}
:where(.page-connect) .tg-faq details[open] .tg-qi::after{transform:translateX(-50%) scaleY(0);}
:where(.page-connect) .tg-faq details p{padding:0 0 1.5rem;margin:0;font-size:14.5px;color:var(--t3,#6B7570);line-height:1.7;max-width:74ch;}


/* ═══════════════════════════════════════════════════════════
   PAGE: elite.php  (scoped to html.page-elite)
═══════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════
   ELITE — Everything, concierge-managed. On brand tokens.
═══════════════════════════════════════════════════════════ */
@keyframes elUp { from { opacity:0; transform: translateY(28px);} to { opacity:1; transform:none;} }
:where(.page-elite) .el-anim { opacity:0; animation: elUp 1s cubic-bezier(.2,.7,.2,1) forwards; }
:where(.page-elite) .el-d1{animation-delay:.12s;}:where(.page-elite) .el-d2{animation-delay:.26s;}:where(.page-elite) .el-d3{animation-delay:.40s;}
@media (prefers-reduced-motion: reduce){ :where(.page-elite) .el-anim{opacity:1;animation:none;} :where(.page-elite) .el-hero-media{animation:none;} :where(.page-elite) .el-bar i{animation:none;width:var(--w,70%);} }

	/* Hero — gold-forward for the flagship */
:where(.page-elite) .el-hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding:9rem clamp(1.5rem,4vw,4rem) clamp(3rem,6vw,6rem);overflow:hidden;}
:where(.page-elite) .el-hero-media{position:absolute;inset:0;z-index:0;animation:elDrift 24s ease-in-out infinite alternate;
  background:radial-gradient(130% 110% at 80% 6%,rgba(201,183,131,.30),transparent 52%),radial-gradient(95% 95% at 6% 96%,rgba(127,148,124,.18),transparent 55%),linear-gradient(155deg,#15201c,#071218 52%,#0c1512);}
@keyframes elDrift{from{transform:scale(1.05);}to{transform:scale(1.12);}}
:where(.page-elite) .el-hero-media video{width:100%;height:100%;object-fit:cover;opacity:.5;}
:where(.page-elite) .el-hero-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,var(--bg,#071218) 2%,rgba(7,18,24,.45) 45%,rgba(7,18,24,.25) 100%);}
:where(.page-elite) .el-hero-inner{position:relative;z-index:2;width:100%;max-width:1480px;margin:0 auto;}
:where(.page-elite) .el-hero h1{font-family:var(--f-display,"Cormorant Garamond",serif);font-weight:300;font-size:clamp(50px,8vw,90px);line-height:.95;letter-spacing:-.03em;color:var(--t1,#D9D4CB);margin:1.4rem 0 0;max-width:17ch;text-wrap:balance;}
:where(.page-elite) .el-hero h1 em{font-style:italic;color:var(--gold,#C9B783);}
:where(.page-elite) .el-hero-row{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:end;margin-top:2.5rem;}
:where(.page-elite) .el-hero-sub{font-size:clamp(16px,1.4vw,19px);color:var(--t2,#A7B0AA);line-height:1.7;max-width:48ch;}
:where(.page-elite) .el-hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.75rem;}
:where(.page-elite) .el-hero-cred{display:flex;flex-direction:column;gap:1.1rem;border-left:1px solid var(--line-2,rgba(217,212,203,.16));padding-left:1.75rem;}
:where(.page-elite) .el-cred{display:flex;align-items:center;gap:.8rem;}
:where(.page-elite) .el-cred svg{width:20px;height:20px;color:var(--gold,#C9B783);flex-shrink:0;}
:where(.page-elite) .el-cred span{font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--t2,#A7B0AA);line-height:1.4;}
@media(max-width:860px){:where(.page-elite) .el-hero-row{grid-template-columns:1fr;gap:2rem;align-items:start;}:where(.page-elite) .el-hero-cred{flex-direction:row;flex-wrap:wrap;gap:1.25rem 2rem;border-left:0;padding-left:0;}}

/* Cinematic intro (video) — text left, video right */
:where(.page-elite) .el-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;max-width:1480px;margin:0 auto;padding:clamp(4rem,8vw,7.5rem) clamp(1.5rem,4vw,4rem);}
:where(.page-elite) .el-intro-text{display:flex;flex-direction:column;gap:1.4rem;}
:where(.page-elite) .el-intro-text h2{font-family:var(--f-display,serif);font-weight:300;font-size:clamp(34px,4.6vw,68px);line-height:1.02;letter-spacing:-.02em;color:var(--t1,#D9D4CB);text-wrap:balance;margin:0;}
:where(.page-elite) .el-intro-text h2 em{font-style:italic;color:var(--gold,#C9B783);}
:where(.page-elite) .el-intro-text p{font-size:clamp(15px,1.3vw,18px);color:var(--t2,#A7B0AA);line-height:1.7;max-width:48ch;margin:0;}
:where(.page-elite) .el-intro-video{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line-2,rgba(217,212,203,.16));background:radial-gradient(120% 100% at 50% 0%,rgba(201,183,131,.22),transparent 55%),linear-gradient(160deg,#15201c,#06100f);}
:where(.page-elite) .el-intro-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.99;}
:where(.page-elite) .el-intro-video::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(7,18,24,.1),rgba(7,18,24,.5));}
:where(.page-elite) .el-intro .el-play{position:absolute;inset:0;z-index:2;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;background:none;border:0;cursor:pointer;}
:where(.page-elite) .el-play-ring{width:66px;height:66px;border-radius:50%;border:1px solid var(--gold,#C9B783);background:rgba(7,18,24,.35);display:flex;align-items:center;justify-content:center;transition:all .4s var(--ease-out,ease);}
:where(.page-elite) .el-play:hover .el-play-ring{background:var(--gold,#C9B783);transform:scale(1.06);}
:where(.page-elite) .el-play-ring svg{width:18px;height:18px;color:var(--gold,#C9B783);margin-left:3px;transition:color .4s;}
:where(.page-elite) .el-play:hover .el-play-ring svg{color:#06100f;}
:where(.page-elite) .el-play-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--t1,#D9D4CB);}
@media(max-width:860px){:where(.page-elite) .el-intro{grid-template-columns:1fr;}:where(.page-elite) .el-intro-video{aspect-ratio:16/10;}}

/* How it works */
:where(.page-elite) .el-how{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:start;}
:where(.page-elite) .el-how-intro{position:sticky;top:120px;}
:where(.page-elite) .el-how-note{margin-top:1.5rem;padding:1.25rem 1.4rem;border:1px solid var(--line,rgba(217,212,203,.08));background:var(--bg-2,#0B1715);}
:where(.page-elite) .el-how-note p{font-size:14px;color:var(--t2,#A7B0AA);line-height:1.65;margin:0;}
:where(.page-elite) .el-how-note strong{color:var(--gold,#C9B783);font-weight:500;}
:where(.page-elite) .el-steps{display:flex;flex-direction:column;}
:where(.page-elite) .el-step{display:grid;grid-template-columns:auto 1fr;gap:clamp(1rem,2vw,1.75rem);padding:1.7rem 0;border-top:1px solid var(--line,rgba(217,212,203,.08));align-items:start;}
:where(.page-elite) .el-step:first-child{border-top:0;}
:where(.page-elite) .el-step-n{font-family:var(--f-display,serif);font-size:30px;font-weight:300;color:var(--gold,#C9B783);line-height:1;letter-spacing:-.03em;min-width:2.2ch;opacity:.7;}
:where(.page-elite) .el-step h3{font-family:var(--f-display,serif);font-size:clamp(20px,1.9vw,26px);font-weight:300;color:var(--t1,#D9D4CB);letter-spacing:-.01em;margin:0 0 .4rem;line-height:1.15;}
:where(.page-elite) .el-step h3 em{font-style:italic;color:var(--gold,#C9B783);}
:where(.page-elite) .el-step p{font-size:14px;color:var(--t3,#6B7570);line-height:1.65;margin:0;max-width:54ch;}
:where(.page-elite) .el-step-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0 0;padding:0;list-style:none;}
:where(.page-elite) .el-step-list li{font-size:11px;letter-spacing:.06em;color:var(--t2,#A7B0AA);border:1px solid var(--line-2,rgba(217,212,203,.16));padding:.35rem .7rem;}
:where(.page-elite) .el-step-media{width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;background-repeat:no-repeat;filter:brightness(.62) saturate(.95);border:1px solid var(--line,rgba(217,212,203,.08));margin-bottom:1.1rem;transition:filter .5s var(--ease-out,ease);}
:where(.page-elite) .el-step:hover .el-step-media{filter:brightness(.72) saturate(1);}
:where(.page-elite) .el-step-img1{background-image:url('images/elite-step-understand.jpg'),radial-gradient(120% 130% at 75% 10%,rgba(201,183,131,.45),transparent 55%),linear-gradient(150deg,#16241d,#071218);}
:where(.page-elite) .el-step-img2{background-image:url('images/elite-step-activate.jpg'),radial-gradient(120% 130% at 20% 0%,rgba(201,183,131,.42),transparent 55%),linear-gradient(160deg,#13211f,#071218);}
:where(.page-elite) .el-step-img3{background-image:url('images/elite-step-optimise.jpg'),radial-gradient(120% 130% at 80% 90%,rgba(127,148,124,.4),transparent 55%),linear-gradient(160deg,#0f1f22,#071218);}
@media(max-width:860px){:where(.page-elite) .el-how{grid-template-columns:1fr;}:where(.page-elite) .el-how-intro{position:static;}}

/* Mosaic gradients (Elite-defining pillars) */
:where(.page-elite) .el-tile-media{filter:brightness(.8) saturate(.95);}
:where(.page-elite) .el-t1 .el-tile-media{background-image:url('images/elite-team.jpg'),radial-gradient(110% 120% at 75% 10%,rgba(201,183,131,.5),transparent 55%),linear-gradient(150deg,#16251f,#071218);}
:where(.page-elite) .el-t2 .el-tile-media{background-image:url('images/elite-concierge.jpg'),radial-gradient(120% 120% at 20% 0%,rgba(201,183,131,.42),transparent 55%),linear-gradient(160deg,#13211d,#071218);}
:where(.page-elite) .el-t3 .el-tile-media{background-image:url('images/elite-blueprint.jpg'),radial-gradient(120% 120% at 85% 90%,rgba(127,148,124,.45),transparent 55%),linear-gradient(160deg,#0e1c1f,#071218);}
:where(.page-elite) .el-t4 .el-tile-media{background-image:url('images/elite-precision.jpg'),radial-gradient(120% 120% at 50% 0%,rgba(148,166,145,.4),transparent 55%),linear-gradient(160deg,#0d2226,#071218);}
:where(.page-elite) .el-t5 .el-tile-media{background-image:url('images/elite-homebase.jpg'),radial-gradient(120% 120% at 10% 80%,rgba(201,183,131,.4),transparent 55%),linear-gradient(160deg,#0f1f1c,#071218);}
:where(.page-elite) .el-t6 .el-tile-media{background-image:url('images/elite-global.jpg'),radial-gradient(120% 120% at 90% 10%,rgba(127,148,124,.42),transparent 55%),linear-gradient(160deg,#0e1d20,#071218);}
:where(.page-elite) .el-t7 .el-tile-media{background-image:url('images/elite-chefs.jpg'),radial-gradient(120% 120% at 30% 100%,rgba(201,183,131,.34),transparent 55%),linear-gradient(160deg,#101e1b,#071218);}
:where(.page-elite) .el-t8 .el-tile-media{background-image:url('images/elite-optimisation.jpg'),radial-gradient(120% 120% at 70% 0%,rgba(148,166,145,.42),transparent 55%),linear-gradient(160deg,#0e1d21,#071218);}

/* Home base split */
:where(.page-elite) .el-home{display:grid;grid-template-columns:1fr 1fr;min-height:78vh;overflow:hidden;}
:where(.page-elite) .el-home-img{position:relative;background-image:url('images/elite-home.jpg'),radial-gradient(120% 100% at 70% 20%,rgba(201,183,131,.28),transparent 60%),linear-gradient(160deg,#16231d,#071218);background-size:cover;background-position:center;}
:where(.page-elite) .el-home-img::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(7,18,24,.3),rgba(7,18,24,.55));}
:where(.page-elite) .el-home-body{background:var(--bg-2,#0B1715);display:flex;flex-direction:column;justify-content:center;gap:1.1rem;padding:clamp(3rem,6vw,6rem) clamp(2rem,5vw,5rem);}
:where(.page-elite) .el-home-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:1rem;}
:where(.page-elite) .el-home-list li{display:flex;gap:.85rem;align-items:flex-start;font-size:15px;color:var(--t1,#D9D4CB);line-height:1.5;}
:where(.page-elite) .el-home-list li svg{width:20px;height:20px;color:var(--gold,#C9B783);flex-shrink:0;margin-top:2px;}
:where(.page-elite) .el-home-list li span{display:block;font-size:13.5px;color:var(--t3,#6B7570);margin-top:.15rem;}
@media(max-width:900px){:where(.page-elite) .el-home{grid-template-columns:1fr;}:where(.page-elite) .el-home-img{min-height:48vh;}}

/* Technology */
:where(.page-elite) .el-tech{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line,rgba(217,212,203,.08));border:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-elite) .el-tech-card{background:var(--bg,#071218);padding:clamp(1.75rem,3vw,2.5rem) 1.7rem;display:flex;flex-direction:column;gap:1rem;transition:background .4s;}
:where(.page-elite) .el-tech-card:hover{background:var(--bg-2,#0B1715);}
:where(.page-elite) .el-tech-badge{align-self:flex-start;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold,#C9B783);border:1px solid var(--gold,#C9B783);padding:.32rem .65rem;}
:where(.page-elite) .el-tech-card svg{width:30px;height:30px;color:var(--sage,#7F947C);stroke-width:1.3;}
:where(.page-elite) .el-tech-h{font-family:var(--f-display,serif);font-size:clamp(20px,1.9vw,25px);font-weight:300;color:var(--t1,#D9D4CB);letter-spacing:-.01em;line-height:1.1;}
:where(.page-elite) .el-tech-h em{font-style:italic;color:var(--gold,#C9B783);}
:where(.page-elite) .el-tech-p{font-size:13.5px;color:var(--t3,#6B7570);line-height:1.6;}
@media(max-width:820px){:where(.page-elite) .el-tech{grid-template-columns:1fr;}}

/* Ongoing monitoring cadence */
:where(.page-elite) .el-mon{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line,rgba(217,212,203,.08));border:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-elite) .el-mon-card{background:var(--bg,#071218);padding:clamp(1.6rem,2.6vw,2.2rem) 1.5rem;display:flex;flex-direction:column;gap:.9rem;transition:background .4s;}
:where(.page-elite) .el-mon-card:hover{background:var(--bg-2,#0B1715);}
:where(.page-elite) .el-mon-cad{align-self:flex-start;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold,#C9B783);border:1px solid var(--gold,#C9B783);padding:.3rem .6rem;}
:where(.page-elite) .el-mon-h{font-family:var(--f-display,serif);font-size:clamp(18px,1.7vw,22px);font-weight:300;color:var(--t1,#D9D4CB);line-height:1.15;letter-spacing:-.01em;}
:where(.page-elite) .el-mon-h em{font-style:italic;color:var(--gold,#C9B783);}
:where(.page-elite) .el-mon-p{font-size:13px;color:var(--t3,#6B7570);line-height:1.6;}
@media(max-width:900px){:where(.page-elite) .el-mon{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){:where(.page-elite) .el-mon{grid-template-columns:1fr;}}

/* Testing panel */
:where(.page-elite) .el-test{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:84vh;overflow:hidden;}
:where(.page-elite) .el-test-visual{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:clamp(2rem,4vw,4rem);background:radial-gradient(120% 100% at 70% 20%,rgba(201,183,131,.16),transparent 60%),linear-gradient(160deg,#0c1a1d,#071218);}
:where(.page-elite) .el-test-visual video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:.55;z-index:0;}
:where(.page-elite) .el-test-visual::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(160deg,rgba(7,18,24,.25),rgba(7,18,24,.55));}
:where(.page-elite) .el-test-visual .el-panel{position:relative;z-index:2;}
:where(.page-elite) .el-panel{width:100%;max-width:460px;border:1px solid var(--line-2,rgba(217,212,203,.16));background:linear-gradient(180deg,rgba(201,183,131,.05),transparent);backdrop-filter:blur(6px);padding:clamp(1.5rem,3vw,2.25rem);}
:where(.page-elite) .el-panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:1.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-elite) .el-live{display:inline-flex;align-items:center;gap:.55rem;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold,#C9B783);}
:where(.page-elite) .el-dot{width:6px;height:6px;border-radius:50%;background:var(--gold,#C9B783);animation:elPulse 2s ease-in-out infinite;}
@keyframes elPulse{0%,100%{box-shadow:0 0 0 0 rgba(201,183,131,.4);}50%{box-shadow:0 0 0 8px transparent;}}
:where(.page-elite) .el-panel-cap{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--t3,#6B7570);}
:where(.page-elite) .el-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line,rgba(217,212,203,.08));}
:where(.page-elite) .el-metric{background:var(--bg,#071218);padding:1.25rem 1.1rem;display:flex;flex-direction:column;gap:.5rem;}
:where(.page-elite) .el-metric-l{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--t3,#6B7570);}
:where(.page-elite) .el-metric-v{font-family:var(--f-display,serif);font-size:30px;font-weight:300;color:var(--t1,#D9D4CB);line-height:1;letter-spacing:-.01em;}
:where(.page-elite) .el-metric-v small{font-size:12px;color:var(--t3,#6B7570);margin-left:.25rem;}
:where(.page-elite) .el-bar{height:2px;background:var(--line,rgba(217,212,203,.12));margin-top:.35rem;overflow:hidden;}
:where(.page-elite) .el-bar i{display:block;height:100%;background:var(--gold,#C9B783);width:0;animation:elFill 1.6s cubic-bezier(.2,.7,.2,1) forwards;}
@keyframes elFill{to{width:var(--w,70%);}}
:where(.page-elite) .el-test-body{background:var(--bg-2,#0B1715);display:flex;flex-direction:column;justify-content:center;gap:1.25rem;padding:clamp(3rem,6vw,6rem) clamp(2rem,5vw,5rem);}
:where(.page-elite) .el-test-list{display:flex;flex-direction:column;margin-top:1rem;}
:where(.page-elite) .el-test-list>*+*{border-top:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-elite) .el-test-item{padding:1.25rem 0;}
:where(.page-elite) .el-test-tag{font-family:var(--f-mono,monospace);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold,#C9B783);}
:where(.page-elite) .el-test-item h3{font-family:var(--f-display,serif);font-size:clamp(19px,1.8vw,25px);font-weight:300;color:var(--t1,#D9D4CB);letter-spacing:-.005em;margin:.3rem 0 .35rem;}
:where(.page-elite) .el-test-item h3 em{font-style:italic;color:var(--gold,#C9B783);}
:where(.page-elite) .el-test-item p{font-size:13.5px;color:var(--t3,#6B7570);line-height:1.6;max-width:50ch;}
@media(max-width:900px){:where(.page-elite) .el-test{grid-template-columns:1fr;}:where(.page-elite) .el-test-visual{min-height:56vh;}}

/* Everything included checklist */
:where(.page-elite) .el-incl{list-style:none;padding:0;margin:0;columns:2;column-gap:clamp(2rem,5vw,5rem);}
:where(.page-elite) .el-incl li{break-inside:avoid;display:flex;gap:.85rem;align-items:flex-start;padding:.8rem 0;border-bottom:1px solid var(--line,rgba(217,212,203,.08));font-size:14.5px;color:var(--gold,#C9B783);line-height:1.45;}
:where(.page-elite) .el-incl li svg{width:16px;height:16px;color:var(--gold,#C9B783);flex-shrink:0;margin-top:3px;}
:where(.page-elite) .el-incl li.add svg{color:var(--gold,#C9B783);}
:where(.page-elite) .el-incl li b{font-weight:500;color:var(--gold,#C9B783);}
:where(.page-elite) .el-incl li.add b{color:var(--gold,#C9B783);}
:where(.page-elite) .el-incl li span{color:var(--gold,#C9B783);opacity:.65;font-weight:400;}
@media(max-width:680px){:where(.page-elite) .el-incl{columns:1;}}

/* Ideal-for */
:where(.page-elite) .el-ideal{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line,rgba(217,212,203,.08));border:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-elite) .el-ideal-cell{background:var(--bg,#071218);padding:clamp(1.75rem,3vw,2.5rem);display:flex;gap:1.1rem;align-items:flex-start;transition:background .4s;}
:where(.page-elite) .el-ideal-cell:hover{background:var(--bg-2,#0B1715);}
:where(.page-elite) .el-ideal-cell svg{width:22px;height:22px;color:var(--gold,#C9B783);flex-shrink:0;margin-top:2px;}
:where(.page-elite) .el-ideal-cell p{font-size:15px;color:var(--t1,#D9D4CB);line-height:1.55;margin:0;}
:where(.page-elite) .el-ideal-cell p span{display:block;font-size:13.5px;color:var(--t3,#6B7570);margin-top:.25rem;}
@media(max-width:700px){:where(.page-elite) .el-ideal{grid-template-columns:1fr;}}

/* Invitation & application */
:where(.page-elite) .el-invite{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line,rgba(217,212,203,.08));border:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-elite) .el-invite-col{background:var(--bg,#071218);padding:clamp(1.9rem,3vw,2.6rem) clamp(1.5rem,2.5vw,2rem);display:flex;flex-direction:column;gap:.65rem;transition:background .4s;}
:where(.page-elite) .el-invite-col:hover{background:var(--bg-2,#0B1715);}
:where(.page-elite) .el-invite-n{font-family:var(--f-display,serif);font-size:34px;font-weight:300;color:var(--gold,#C9B783);line-height:1;letter-spacing:-.04em;opacity:.8;}
:where(.page-elite) .el-invite-col h3{font-family:var(--f-display,serif);font-size:clamp(20px,1.9vw,25px);font-weight:300;color:var(--t1,#D9D4CB);letter-spacing:-.01em;margin:.35rem 0 0;line-height:1.12;}
:where(.page-elite) .el-invite-col h3 em{font-style:italic;color:var(--gold,#C9B783);}
:where(.page-elite) .el-invite-col p{font-size:13.5px;color:var(--t3,#6B7570);line-height:1.6;margin:0;}
@media(max-width:820px){:where(.page-elite) .el-invite{grid-template-columns:1fr;}}

@media(max-width:600px){:where(.page-elite) .el-hero h1{font-size:clamp(42px,12vw,60px);}}
	
	
	/* ── Hero stats col — matched from index.php ── */
:where(.page-elite) .hero-stats-col {
  display: flex;
  flex-direction: column;
  align-self: flex-end;
  flex-shrink: 0;
  width: clamp(260px, 28vw, 380px);
}
:where(.page-elite) .hero-stat-rule {
  width: 100%;
  height: 0.5px;
  background: rgba(168, 196, 184, 0.25);
}
:where(.page-elite) .hero-stat-item { display: flex; flex-direction: column; }
:where(.page-elite) .hero-stat-inner {
  display: flex;
  align-items: flex-start;
  gap: 1.1rem;
  padding: 1rem 0;
}
:where(.page-elite) .hero-stat-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border: 0.5px solid rgba(141, 187, 163, 0.3);
}
:where(.page-elite) .hero-stat-icon svg {
  width: 18px;
  height: 18px;
  stroke: rgba(141, 187, 163, 0.85);
}
:where(.page-elite) .hero-stat-text { display: flex; flex-direction: column; gap: 0.2rem; padding-top: 0.2rem; }
:where(.page-elite) .hero-stat-label {
  font-family: var(--f-body);
  font-size: clamp(12px, 1vw, 18px);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(224, 216, 204, 0.9);
  line-height: 1.2;
}
@media (max-width: 860px) {
  :where(.page-elite) .fr-hero-row { flex-direction: column !important; align-items: flex-start; gap: 2rem; }
  :where(.page-elite) .hero-stats-col { width: 100%; display: grid; grid-template-columns: 1fr 1fr; align-self: auto; }
  :where(.page-elite) .hero-stat-rule:last-child { display: none; }
}
@media (max-width: 600px) {
  :where(.page-elite) .hero-stats-col { grid-template-columns: 1fr; }
}
	
:where(.page-elite) .el-info-panel{grid-column:span 3;background:linear-gradient(145deg,rgba(201,183,131,.08) 0%,transparent 50%),linear-gradient(180deg,#111a14,#071218);border-left:1px solid var(--line,rgba(217,212,203,.08));display:flex;flex-direction:column;justify-content:space-between;padding:clamp(2rem,3.5vw,1rem) clamp(1.75rem,3.5vw,3.5rem);gap:0;min-height:420px;}
:where(.page-elite) .el-ip-eyebrow{display:block;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold,#C9B783);margin-bottom:.9rem;}
:where(.page-elite) .el-ip-h{font-family:var(--f-display,serif);font-size:clamp(22px,2.4vw,34px);font-weight:300;color:var(--t1,#D9D4CB);line-height:1.1;letter-spacing:-.02em;margin:0 0 .85rem;}
:where(.page-elite) .el-ip-h em{font-style:italic;color:var(--gold,#C9B783);}
:where(.page-elite) .el-ip-sub{font-size:13.5px;color:var(--t3,#6B7570);line-height:1.65;max-width:54ch;margin:0;}
:where(.page-elite) .el-ip-stats{display:flex;align-items:flex-start;gap:clamp(1rem,2.5vw,2rem);padding:clamp(1.25rem,2vw,1.75rem) 0;border-top:1px solid rgba(201,183,131,.15);border-bottom:1px solid rgba(201,183,131,.15);}
:where(.page-elite) .el-ip-stat{display:flex;flex-direction:column;align-items:center;gap:.65rem;flex:1;}
:where(.page-elite) .el-ip-ring{position:relative;width:72px;height:72px;flex-shrink:0;}
:where(.page-elite) .el-ip-ring svg{width:100%;height:100%;transform:rotate(-90deg);}
:where(.page-elite) .el-ring-bg{fill:none;stroke:rgba(201,183,131,.1);stroke-width:4;}
:where(.page-elite) .el-ring-fg{fill:none;stroke-width:4;stroke-linecap:round;}
:where(.page-elite) .el-ip-ring-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--f-display,serif);font-size:clamp(11px,1.1vw,15px);font-weight:300;color:var(--t1,#D9D4CB);letter-spacing:-.01em;line-height:1;}
:where(.page-elite) .el-ip-ring-val sup{font-size:.5em;color:var(--gold,#C9B783);vertical-align:super;}
:where(.page-elite) .el-ip-stat-lbl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#fff);text-align:center;line-height:1.5;}
:where(.page-elite) .el-ip-rows{display:flex;flex-direction:column;gap:0;padding-top:clamp(1rem,1.5vw,1.5rem);}
:where(.page-elite) .el-ip-row{display:flex;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line,rgba(217,212,203,.06));}
:where(.page-elite) .el-ip-row-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(201,183,131,.22);flex-shrink:0;}
:where(.page-elite) .el-ip-row-icon svg{width:16px;height:16px;color:var(--gold,#C9B783);}
:where(.page-elite) .el-ip-row-body{display:flex;flex-direction:column;gap:.2rem;flex:1;}
:where(.page-elite) .el-ip-row-body strong{font-size:13px;font-weight:500;color:var(--t1,#D9D4CB);}
:where(.page-elite) .el-ip-row-body span{font-size:12px;color:#fff);line-height:1.5;}
:where(.page-elite) .el-ip-row-tag{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold,#C9B783);border:1px solid rgba(201,183,131,.3);padding:.28rem .6rem;flex-shrink:0;}
:where(.page-elite) .el-ip-row--cta{border-bottom:none;gap:.85rem;padding-top:1.1rem;}
:where(.page-elite) .el-ip-btn{display:inline-flex;align-items:center;gap:.55rem;font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--bg,#071218);background:var(--gold,#C9B783);padding:.72rem 1.4rem;text-decoration:none;transition:background .3s,gap .3s;}
:where(.page-elite) .el-ip-btn:hover{background:#d4c294;gap:.9rem;}
:where(.page-elite) .el-ip-btn-ghost{display:inline-flex;align-items:center;font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold,#C9B783);border:1px solid rgba(201,183,131,.3);padding:.72rem 1.4rem;text-decoration:none;transition:border-color .3s,color .3s;}
:where(.page-elite) .el-ip-btn-ghost:hover{border-color:var(--gold,#C9B783);color:var(--gold,#C9B783);}
@media(max-width:1024px){:where(.page-elite) .el-info-panel{grid-column:span 2;}}
@media(max-width:640px){:where(.page-elite) .el-info-panel{grid-column:span 1;min-height:auto;}:where(.page-elite) .el-ip-stats{flex-wrap:wrap;justify-content:center;}:where(.page-elite) .el-ip-row--cta{flex-direction:column;align-items:flex-start;}}
/* accent for this page */
:where(.page-elite) .tg-trust,:where(.page-elite) .tg-faq{--tg-accent:var(--gold,#C9B783);}
/* Trust strip + FAQ (shared component) */
:where(.page-elite) .tg-trust{border-top:1px solid var(--line,rgba(217,212,203,.08));border-bottom:1px solid var(--line,rgba(217,212,203,.08));background:var(--bg-2,#0B1715);}
:where(.page-elite) .tg-trust-inner{max-width:1480px;margin:0 auto;padding:1.5rem clamp(1.5rem,4vw,4rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.1rem 2.6rem;}
:where(.page-elite) .tg-trust-item{display:flex;align-items:center;gap:.6rem;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--t2,#A7B0AA);}
:where(.page-elite) .tg-trust-item svg{width:16px;height:16px;color:var(--tg-accent,var(--sage,#7F947C));flex-shrink:0;}
:where(.page-elite) .tg-faq{max-width:900px;margin:0 auto;}
:where(.page-elite) .tg-faq details{border-bottom:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-elite) .tg-faq details:first-child{border-top:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-elite) .tg-faq summary{list-style:none;cursor:pointer;padding:1.45rem 0;display:flex;justify-content:space-between;align-items:center;gap:1.25rem;font-family:var(--f-display,serif);font-size:clamp(18px,1.7vw,24px);font-weight:300;color:var(--t1,#D9D4CB);transition:color .3s;}
:where(.page-elite) .tg-faq summary::-webkit-details-marker{display:none;}
:where(.page-elite) .tg-faq summary:hover{color:var(--tg-accent,var(--sage,#7F947C));}
:where(.page-elite) .tg-qi{flex-shrink:0;width:20px;height:20px;position:relative;}
:where(.page-elite) .tg-qi::before,:where(.page-elite) .tg-qi::after{content:"";position:absolute;background:var(--tg-accent,var(--sage,#7F947C));transition:transform .3s var(--ease-out,ease);}
:where(.page-elite) .tg-qi::before{top:50%;left:1px;right:1px;height:1.5px;transform:translateY(-50%);}
:where(.page-elite) .tg-qi::after{left:50%;top:1px;bottom:1px;width:1.5px;transform:translateX(-50%);}
:where(.page-elite) .tg-faq details[open] .tg-qi::after{transform:translateX(-50%) scaleY(0);}
:where(.page-elite) .tg-faq details p{padding:0 0 1.5rem;margin:0;font-size:14.5px;color:var(--t3,#6B7570);line-height:1.7;max-width:74ch;}


/* ═══════════════════════════════════════════════════════════
   PAGE: freedom.php  (scoped to html.page-freedom)
═══════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════
   FREEDOM — FULLY MANAGED, REMOTE. Image-led, on brand tokens.
═══════════════════════════════════════════════════════════ */
@keyframes frUp { from { opacity:0; transform: translateY(28px);} to { opacity:1; transform:none;} }
:where(.page-freedom) .fr-anim { opacity:0; animation: frUp 1s cubic-bezier(.2,.7,.2,1) forwards; }
:where(.page-freedom) .fr-d1{animation-delay:.12s;}:where(.page-freedom) .fr-d2{animation-delay:.26s;}:where(.page-freedom) .fr-d3{animation-delay:.40s;}
@media (prefers-reduced-motion: reduce){ :where(.page-freedom) .fr-anim{opacity:1;animation:none;} :where(.page-freedom) .fr-hero-media{animation:none;} :where(.page-freedom) .fr-bar i{animation:none;width:var(--w,70%);} }

/* Hero */
:where(.page-freedom) .fr-hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding:9rem clamp(1.5rem,4vw,4rem) clamp(3rem,6vw,6rem);overflow:hidden;}
:where(.page-freedom) .fr-hero-media{position:absolute;inset:0;z-index:0;animation:frDrift 24s ease-in-out infinite alternate;
  background:radial-gradient(130% 110% at 78% 6%,rgba(127,148,124,.30),transparent 52%),radial-gradient(90% 90% at 8% 96%,rgba(201,183,131,.12),transparent 55%),linear-gradient(155deg,#0d1d20,#071218 52%,#0a1614);}
@keyframes frDrift{from{transform:scale(1.05);}to{transform:scale(1.12);}}
:where(.page-freedom) .fr-hero-media video{width:100%;height:100%;object-fit:cover;opacity:.5;}
:where(.page-freedom) .fr-hero-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,var(--bg,#071218) 2%,rgba(7,18,24,.45) 45%,rgba(7,18,24,.25) 100%);}
:where(.page-freedom) .fr-hero-inner{position:relative;z-index:2;width:100%;max-width:1480px;margin:0 auto;}
:where(.page-freedom) .fr-hero h1{font-family:var(--f-display,"Cormorant Garamond",serif);font-weight:300;font-size:clamp(50px,8vw,90px);line-height:.95;letter-spacing:-.03em;color:var(--t1,#D9D4CB);margin:1.4rem 0 0;max-width:18ch;text-wrap:balance;}
:where(.page-freedom) .fr-hero h1 em{font-style:italic;color:var(--sage-2,#94A691);}
:where(.page-freedom) .fr-hero-row{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:clamp(2rem,5vw,6rem);margin-top:2.5rem;}
:where(.page-freedom) .fr-hero-sub{font-size:clamp(16px,1.4vw,19px);color:var(--t2,#A7B0AA);line-height:1.7;max-width:60ch;}
:where(.page-freedom) .fr-hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.75rem;}

/* Positioning + contrast */
:where(.page-freedom) .fr-pos-head{max-width:780px;}
:where(.page-freedom) .fr-pos-head .body-l{margin-top:1.25rem;}
:where(.page-freedom) .fr-compare2{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line,rgba(217,212,203,.08));border:1px solid var(--line,rgba(217,212,203,.08));margin-top:clamp(2.5rem,4vw,3.5rem);}
:where(.page-freedom) .fr-c2{background:var(--bg,#071218);padding:clamp(1.75rem,3vw,2.6rem);display:flex;flex-direction:column;gap:1.4rem;}
:where(.page-freedom) .fr-c2-on{background:linear-gradient(180deg,rgba(127,148,124,.07),transparent);border-top:2px solid var(--sage,#7F947C);}
:where(.page-freedom) .fr-c2-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;}
:where(.page-freedom) .fr-c2-tag{font-size:10px;letter-spacing:.22em;text-transform:uppercase;}
:where(.page-freedom) .fr-c2-dim .fr-c2-tag{color:#fff);}
:where(.page-freedom) .fr-c2-on .fr-c2-tag{color:var(--sage,#7F947C);}
:where(.page-freedom) .fr-c2-badge{font-family:var(--f-display,serif);font-style:italic;font-size:18px;color:var(--sage-2,#94A691);}
:where(.page-freedom) .fr-c2 ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9rem;}
:where(.page-freedom) .fr-c2 li{display:flex;gap:.8rem;align-items:flex-start;font-size:14.5px;line-height:1.45;}
:where(.page-freedom) .fr-c2 li::before{flex-shrink:0;font-size:13px;line-height:1.5;}
:where(.page-freedom) .fr-c2 li.x{color:var(#fff);}
:where(.page-freedom) .fr-c2 li.x::before{content:"\2715";color:var(--t4,#4A524D);}
:where(.page-freedom) .fr-c2 li.v{color:var(--t1,#D9D4CB);}
:where(.page-freedom) .fr-c2 li.v::before{content:"\2713";color:var(--sage,#7F947C);}
@media(max-width:760px){:where(.page-freedom) .fr-compare2{grid-template-columns:1fr;}}

/* How it works */
:where(.page-freedom) .fr-how{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:start;}
:where(.page-freedom) .fr-how-intro{position:sticky;top:120px;}
:where(.page-freedom) .fr-how-note{margin-top:1.5rem;padding:1.25rem 1.4rem;border:1px solid var(--line,rgba(217,212,203,.08));background:var(--bg-2,#0B1715);}
:where(.page-freedom) .fr-how-note p{font-size:14px;color:var(--t2,#A7B0AA);line-height:1.65;margin:0;}
:where(.page-freedom) .fr-how-note strong{color:var(--sage-2,#94A691);font-weight:500;}
:where(.page-freedom) .fr-steps{display:flex;flex-direction:column;}
:where(.page-freedom) .fr-step{display:grid;grid-template-columns:auto 1fr;gap:clamp(1rem,2vw,1.75rem);padding:1.7rem 0;border-top:1px solid var(--line,rgba(217,212,203,.08));align-items:start;}
:where(.page-freedom) .fr-step:first-child{border-top:0;}
:where(.page-freedom) .fr-step-n{font-family:var(--f-display,serif);font-size:30px;font-weight:300;color:var(--sage-dim,#5A6E58);line-height:1;letter-spacing:-.03em;min-width:2.2ch;}
:where(.page-freedom) .fr-step h3{font-family:var(--f-display,serif);font-size:clamp(20px,1.9vw,26px);font-weight:300;color:var(--t1,#D9D4CB);letter-spacing:-.01em;margin:0 0 .4rem;line-height:1.15;}
:where(.page-freedom) .fr-step h3 em{font-style:italic;color:var(--sage-2,#94A691);}
:where(.page-freedom) .fr-step p{font-size:14px;color:var(--t3,#6B7570);line-height:1.65;margin:0;max-width:54ch;}
:where(.page-freedom) .fr-step-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0 0;padding:0;list-style:none;}
:where(.page-freedom) .fr-step-list li{font-size:11px;letter-spacing:.06em;color:var(--t2,#A7B0AA);border:1px solid var(--line-2,rgba(217,212,203,.16));padding:.35rem .7rem;}
:where(.page-freedom) .fr-step-media{width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;background-repeat:no-repeat;filter:brightness(.60) saturate(.95);border:1px solid var(--line,rgba(217,212,203,.08));margin-bottom:1.1rem;transition:filter .5s var(--ease-out,ease);}
:where(.page-freedom) .fr-step:hover .fr-step-media{filter:brightness(.80) saturate(1);}
@media(max-width:860px){:where(.page-freedom) .fr-how{grid-template-columns:1fr;}:where(.page-freedom) .fr-how-intro{position:static;}}

/* Image-card mosaic gradients */
:where(.page-freedom) .fr-tile-media{filter:brightness(.95) saturate(.95);}
:where(.page-freedom) .fr-t1 .fr-tile-media{background-image:url('images/freedom-coach.jpg'),radial-gradient(110% 120% at 75% 10%,rgba(127,148,124,.55),transparent 55%),linear-gradient(150deg,#11262a,#071218);}
:where(.page-freedom) .fr-t2 .fr-tile-media{background-image:url('images/freedom-fitness.jpg'),radial-gradient(120% 120% at 20% 0%,rgba(148,166,145,.45),transparent 55%),linear-gradient(160deg,#0f2024,#071218);}
:where(.page-freedom) .fr-t3 .fr-tile-media{background-image:url('images/freedom-nutrition.jpg'),radial-gradient(120% 120% at 85% 90%,rgba(201,183,131,.32),transparent 55%),linear-gradient(160deg,#0e1c1f,#071218);}
:where(.page-freedom) .fr-t4 .fr-tile-media{background-image:url('images/freedom-doctors.jpg'),radial-gradient(120% 120% at 50% 0%,rgba(127,148,124,.4),transparent 55%),linear-gradient(160deg,#0d2226,#071218);}
:where(.page-freedom) .fr-t5 .fr-tile-media{background-image:url('images/freedom-dietitian.jpg'),radial-gradient(120% 120% at 10% 80%,rgba(201,183,131,.3),transparent 55%),linear-gradient(160deg,#0f1f1c,#071218);}
:where(.page-freedom) .fr-t6 .fr-tile-media{background-image:url('images/freedom-track.jpg'),radial-gradient(120% 120% at 90% 10%,rgba(148,166,145,.4),transparent 55%),linear-gradient(160deg,#0e1d20,#071218);}
:where(.page-freedom) .fr-t7 .fr-tile-media{background-image:url('images/freedom-monitoring.jpg'),radial-gradient(120% 120% at 30% 100%,rgba(94,110,88,.5),transparent 55%),linear-gradient(160deg,#101e1b,#071218);}
:where(.page-freedom) .fr-t8 .fr-tile-media{background-image:url('images/freedom-ecosystem.jpg'),radial-gradient(120% 120% at 70% 0%,rgba(127,148,124,.42),transparent 55%),linear-gradient(160deg,#0e1d21,#071218);}

/* Technology, included */
:where(.page-freedom) .fr-tech{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line,rgba(217,212,203,.08));border:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-freedom) .fr-tech-card{background:var(--bg,#071218);padding:clamp(1.75rem,3vw,2.5rem) 1.7rem;display:flex;flex-direction:column;gap:1rem;transition:background .4s;}
:where(.page-freedom) .fr-tech-card:hover{background:var(--bg-2,#0B1715);}
:where(.page-freedom) .fr-tech-badge{align-self:flex-start;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage,#7F947C);border:1px solid var(--sage-dim,#5A6E58);padding:.32rem .65rem;}
:where(.page-freedom) .fr-tech-card svg{width:30px;height:30px;color:var(--sage,#7F947C);stroke-width:1.3;}
:where(.page-freedom) .fr-tech-h{font-family:var(--f-display,serif);font-size:clamp(20px,1.9vw,25px);font-weight:300;color:var(--t1,#D9D4CB);letter-spacing:-.01em;line-height:1.1;}
:where(.page-freedom) .fr-tech-h em{font-style:italic;color:var(--sage-2,#94A691);}
:where(.page-freedom) .fr-tech-p{font-size:13.5px;color:var(--t3,#6B7570);line-height:1.6;}
@media(max-width:820px){:where(.page-freedom) .fr-tech{grid-template-columns:1fr;}}

/* Testing panel */
:where(.page-freedom) .fr-test{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:84vh;overflow:hidden;}
:where(.page-freedom) .fr-test-visual{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:clamp(2rem,4vw,4rem);background:radial-gradient(120% 100% at 70% 20%,rgba(127,148,124,.18),transparent 60%),linear-gradient(160deg,#0c1a1d,#071218);}
:where(.page-freedom) .fr-test-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;z-index:0;}
:where(.page-freedom) .fr-test-video-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(7,18,24,.92) 0%,rgba(7,18,24,.35) 55%,rgba(7,18,24,.2) 100%);}
:where(.page-freedom) .fr-test-visual .fr-panel{position:relative;z-index:2;}
:where(.page-freedom) .fr-panel{width:100%;max-width:460px;border:1px solid var(--line-2,rgba(217,212,203,.16));background:linear-gradient(180deg,rgba(127,148,124,.05),transparent);backdrop-filter:blur(6px);padding:clamp(1.5rem,3vw,2.25rem);}
:where(.page-freedom) .fr-panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:1.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-freedom) .fr-live{display:inline-flex;align-items:center;gap:.55rem;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--sage,#7F947C);}
:where(.page-freedom) .fr-dot{width:6px;height:6px;border-radius:50%;background:var(--sage,#7F947C);animation:frPulse 2s ease-in-out infinite;}
@keyframes frPulse{0%,100%{box-shadow:0 0 0 0 rgba(127,148,124,.4);}50%{box-shadow:0 0 0 8px transparent;}}
:where(.page-freedom) .fr-panel-cap{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--t3,#6B7570);}
:where(.page-freedom) .fr-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line,rgba(217,212,203,.08));}
:where(.page-freedom) .fr-metric{background:var(--bg,#071218);padding:1.25rem 1.1rem;display:flex;flex-direction:column;gap:.5rem;}
:where(.page-freedom) .fr-metric-l{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--t3,#6B7570);}
:where(.page-freedom) .fr-metric-v{font-family:var(--f-display,serif);font-size:30px;font-weight:300;color:var(--t1,#D9D4CB);line-height:1;letter-spacing:-.01em;}
:where(.page-freedom) .fr-metric-v small{font-size:12px;color:var(--t3,#6B7570);margin-left:.25rem;}
:where(.page-freedom) .fr-bar{height:2px;background:var(--line,rgba(217,212,203,.12));margin-top:.35rem;overflow:hidden;}
:where(.page-freedom) .fr-bar i{display:block;height:100%;background:var(--sage,#7F947C);width:0;animation:frFill 1.6s cubic-bezier(.2,.7,.2,1) forwards;}
@keyframes frFill{to{width:var(--w,70%);}}
:where(.page-freedom) .fr-test-body{background:var(--bg-2,#0B1715);display:flex;flex-direction:column;justify-content:center;gap:1.25rem;padding:clamp(3rem,6vw,6rem) clamp(2rem,5vw,5rem);}
:where(.page-freedom) .fr-test-list{display:flex;flex-direction:column;margin-top:1rem;}
:where(.page-freedom) .fr-test-list>*+*{border-top:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-freedom) .fr-test-item{padding:1.25rem 0;}
:where(.page-freedom) .fr-test-tag{font-family:var(--f-mono,monospace);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage,#7F947C);}
:where(.page-freedom) .fr-test-item h3{font-family:var(--f-display,serif);font-size:clamp(19px,1.8vw,25px);font-weight:300;color:var(--t1,#D9D4CB);letter-spacing:-.005em;margin:.3rem 0 .35rem;}
:where(.page-freedom) .fr-test-item h3 em{font-style:italic;color:var(--sage-2,#94A691);}
:where(.page-freedom) .fr-test-item p{font-size:13.5px;color:var(--t3,#6B7570);line-height:1.6;max-width:50ch;}
@media(max-width:900px){:where(.page-freedom) .fr-test{grid-template-columns:1fr;}:where(.page-freedom) .fr-test-visual{min-height:56vh;}}

/* Everything included checklist */
:where(.page-freedom) .fr-incl{list-style:none;padding:0;margin:0;columns:2;column-gap:clamp(2rem,5vw,5rem);}
:where(.page-freedom) .fr-incl li{break-inside:avoid;display:flex;gap:.85rem;align-items:flex-start;padding:.8rem 0;border-bottom:1px solid var(--line,rgba(217,212,203,.08));font-size:14.5px;color:var(--t1,#D9D4CB);line-height:1.45;}
:where(.page-freedom) .fr-incl li svg{width:16px;height:16px;color:var(--sage,#7F947C);flex-shrink:0;margin-top:3px;}
:where(.page-freedom) .fr-incl li b{font-weight:500;}
:where(.page-freedom) .fr-incl li span{color:var(--t3,#6B7570);font-weight:400;}
@media(max-width:680px){:where(.page-freedom) .fr-incl{columns:1;}}

/* Ideal-for */
:where(.page-freedom) .fr-ideal{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line,rgba(217,212,203,.08));border:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-freedom) .fr-ideal-cell{background:var(--bg,#071218);padding:clamp(1.75rem,3vw,2.5rem);display:flex;gap:1.1rem;align-items:flex-start;transition:background .4s;}
:where(.page-freedom) .fr-ideal-cell:hover{background:var(--bg-2,#0B1715);}
:where(.page-freedom) .fr-ideal-cell svg{width:22px;height:22px;color:var(--sage,#7F947C);flex-shrink:0;margin-top:2px;}
:where(.page-freedom) .fr-ideal-cell p{font-size:15px;color:var(--t1,#D9D4CB);line-height:1.55;margin:0;}
:where(.page-freedom) .fr-ideal-cell p span{display:block;font-size:13.5px;color:var(--t3,#6B7570);margin-top:.25rem;}
@media(max-width:700px){:where(.page-freedom) .fr-ideal{grid-template-columns:1fr;}}

@media(max-width:600px){:where(.page-freedom) .fr-hero h1{font-size:clamp(42px,12vw,60px);}}

/* ── Two levels: Freedom and Freedom Active ── */
:where(.page-freedom) .fr-levels{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line,rgba(217,212,203,.08));border:1px solid var(--line,rgba(217,212,203,.08));margin-top:clamp(2.5rem,4vw,3.5rem);}
:where(.page-freedom) .fr-lv{position:relative;background:var(--bg,#071218);display:flex;flex-direction:column;}
:where(.page-freedom) .fr-lv-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#0b1715;}
:where(.page-freedom) .fr-lv-media img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.82) saturate(.92);transition:transform .8s var(--ease-out,ease),filter .5s;}
:where(.page-freedom) .fr-lv:hover .fr-lv-media img{transform:scale(1.03);filter:brightness(.92) saturate(1);}
:where(.page-freedom) .fr-lv-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#071218 0%,rgba(7,18,24,.35) 45%,rgba(7,18,24,0) 75%);}
:where(.page-freedom) .fr-lv-flag{position:absolute;top:1.1rem;left:1.1rem;z-index:2;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:#071218;background:var(--sage,#7F947C);padding:.38rem .7rem;font-weight:500;}
:where(.page-freedom) .fr-lv-active .fr-lv-flag{background:var(--gold,#C9B783);}
:where(.page-freedom) .fr-lv-body{display:flex;flex-direction:column;gap:1.1rem;padding:clamp(1.6rem,3vw,2.5rem);flex:1;}
:where(.page-freedom) .fr-lv-tag{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage,#7F947C);}
:where(.page-freedom) .fr-lv-active .fr-lv-tag{color:var(--gold,#C9B783);}
:where(.page-freedom) .fr-lv-name{font-family:var(--f-display,serif);font-weight:300;font-size:clamp(34px,3.6vw,50px);line-height:1;letter-spacing:-.02em;color:var(--t1,#D9D4CB);margin:0;}
:where(.page-freedom) .fr-lv-name em{font-style:italic;color:var(--sage-2,#94A691);}
:where(.page-freedom) .fr-lv-active .fr-lv-name em{color:var(--gold,#C9B783);}
:where(.page-freedom) .fr-lv-name sup{font-size:.35em;color:var(--sage,#7F947C);vertical-align:super;margin-left:.1em;font-style:normal;}

/* US pricing */
:where(.page-freedom) .px{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin:.1rem 0 .2rem;}
:where(.page-freedom) .px-v{font-family:var(--f-display,serif);font-weight:300;font-size:clamp(34px,3.4vw,46px);line-height:1;color:var(--t1,#D9D4CB);letter-spacing:-.02em;}
:where(.page-freedom) .px-u{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--t2,#A7B0AA);}
:where(.page-freedom) .px-r{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage,#7F947C);border:1px solid var(--sage-dim,#5A6E58);padding:.25rem .55rem;}
:where(.page-freedom) .px-gold .px-v{color:var(--gold,#C9B783);}
:where(.page-freedom) .px-gold .px-r{color:var(--gold,#C9B783);border-color:rgba(201,183,131,.5);}
:where(.page-freedom) .px-fee{font-size:11.5px;letter-spacing:.06em;color:var(--t2,#A7B0AA);margin-top:-.2rem;}
:where(.page-freedom) .px-note{font-size:13px;color:var(--t2,#A7B0AA);line-height:1.6;}
:where(.page-freedom) .fr-connect-note{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;margin-top:1px;padding:1.4rem clamp(1.4rem,2.4vw,2rem);background:var(--bg,#071218);border:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-freedom) .fr-connect-note p{margin:0;font-size:14px;color:var(--t2,#A7B0AA);line-height:1.6;max-width:70ch;}
:where(.page-freedom) .fr-connect-note b{color:var(--t1,#D9D4CB);font-weight:500;}
:where(.page-freedom) .fr-lv-desc{font-size:15px;color:var(--t2,#A7B0AA);line-height:1.65;margin:0;max-width:52ch;}
:where(.page-freedom) .fr-lv ul{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column;}
:where(.page-freedom) .fr-lv li{display:flex;gap:.8rem;align-items:flex-start;padding:.75rem 0;border-top:1px solid var(--line,rgba(217,212,203,.08));font-size:14px;color:var(--t1,#D9D4CB);line-height:1.45;}
:where(.page-freedom) .fr-lv li svg{width:15px;height:15px;color:var(--sage,#7F947C);flex-shrink:0;margin-top:3px;}
:where(.page-freedom) .fr-lv-active li svg{color:var(--gold,#C9B783);}
:where(.page-freedom) .fr-lv li.plus{color:var(--gold,#C9B783);}
:where(.page-freedom) .fr-lv-foot{margin-top:auto;padding-top:1.4rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;}
:where(.page-freedom) .fr-lv-note{font-size:12px;letter-spacing:.06em;color:var(--t3,#6B7570);}
:where(.page-freedom) .fr-lv-active{background:linear-gradient(180deg,rgba(201,183,131,.06),transparent 40%),var(--bg,#071218);box-shadow:inset 0 2px 0 var(--gold,#C9B783);}
:where(.page-freedom) .fr-lv-active .btn{background:var(--gold,#C9B783);border-color:var(--gold,#C9B783);color:#071218;}
@media(max-width:860px){:where(.page-freedom) .fr-levels{grid-template-columns:1fr;}}

/* Inside a Freedom Active session */
:where(.page-freedom) .fr-session{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line,rgba(217,212,203,.08));border:1px solid var(--line,rgba(217,212,203,.08));margin-top:1px;}
:where(.page-freedom) .fr-ses{background:var(--bg-2,#0B1715);padding:clamp(1.4rem,2.4vw,2rem);display:flex;flex-direction:column;gap:.6rem;}
:where(.page-freedom) .fr-ses-n{font-family:var(--f-display,serif);font-size:28px;font-weight:300;color:var(--gold,#C9B783);line-height:1;}
:where(.page-freedom) .fr-ses h4{font-family:var(--f-display,serif);font-size:clamp(19px,1.7vw,23px);font-weight:300;color:var(--t1,#D9D4CB);margin:0;line-height:1.15;}
:where(.page-freedom) .fr-ses h4 em{font-style:italic;color:var(--sage-2,#94A691);}
:where(.page-freedom) .fr-ses p{font-size:13.5px;color:var(--t2,#A7B0AA);line-height:1.6;margin:0;}
:where(.page-freedom) .fr-session-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;padding:1.25rem clamp(1.4rem,2.4vw,2rem);background:var(--bg-2,#0B1715);border:1px solid var(--line,rgba(217,212,203,.08));border-bottom:0;margin-top:clamp(2rem,3vw,2.75rem);}
:where(.page-freedom) .fr-session-head span{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold,#C9B783);}
:where(.page-freedom) .fr-session-head p{margin:0;font-size:13.5px;color:var(--t2,#A7B0AA);}
@media(max-width:980px){:where(.page-freedom) .fr-session{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){:where(.page-freedom) .fr-session{grid-template-columns:1fr;}}
:where(.page-freedom) .fr-incl li.fr-incl-plus{color:var(--gold,#C9B783);}
:where(.page-freedom) .fr-incl li.fr-incl-plus svg{color:var(--gold,#C9B783);}
:where(.page-freedom) .fr-incl li.fr-incl-plus span span{color:var(--t3,#6B7570);}


/* ── Hero stats col — matched from index.php ── */
:where(.page-freedom) .hero-stats-col {
  display: flex;
  flex-direction: column;
  align-self: flex-end;
  flex-shrink: 0;
  width: clamp(260px, 28vw, 380px);
}
:where(.page-freedom) .hero-stat-rule {
  width: 100%;
  height: 0.5px;
  background: rgba(168, 196, 184, 0.25);
}
:where(.page-freedom) .hero-stat-item { display: flex; flex-direction: column; }
:where(.page-freedom) .hero-stat-inner {
  display: flex;
  align-items: flex-start;
  gap: 1.1rem;
  padding: 1rem 0;
}
:where(.page-freedom) .hero-stat-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border: 0.5px solid rgba(141, 187, 163, 0.3);
}
:where(.page-freedom) .hero-stat-icon svg {
  width: 18px;
  height: 18px;
  stroke: rgba(141, 187, 163, 0.85);
}
:where(.page-freedom) .hero-stat-text { display: flex; flex-direction: column; gap: 0.2rem; padding-top: 0.2rem; }
:where(.page-freedom) .hero-stat-label {
  font-family: var(--f-body);
  font-size: clamp(12px, 1vw, 18px);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(224, 216, 204, 0.9);
  line-height: 1.2;
}
@media (max-width: 860px) {
  :where(.page-freedom) .fr-hero-row { flex-direction: column !important; align-items: flex-start; gap: 2rem; }
  :where(.page-freedom) .hero-stats-col { width: 100%; display: grid; grid-template-columns: 1fr 1fr; align-self: auto; }
  :where(.page-freedom) .hero-stat-rule:last-child { display: none; }
}
@media (max-width: 600px) {
  :where(.page-freedom) .hero-stats-col { grid-template-columns: 1fr; }
}
:where(.page-freedom) .fr-info-panel{grid-column:span 3;background:linear-gradient(145deg,rgba(127,148,124,.09) 0%,transparent 55%),linear-gradient(180deg,#0d2020,#071218);border-left:1px solid var(--line,rgba(217,212,203,.08));display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1rem,3.5vw,1rem) clamp(1.75rem,3.5vw,3.5rem);gap:0;min-height:420px;}
:where(.page-freedom) .fr-ip-eyebrow{display:block;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--sage,#7F947C);margin-bottom:.9rem;}
:where(.page-freedom) .fr-ip-h{font-family:var(--f-display,serif);font-size:clamp(22px,2.4vw,34px);font-weight:300;color:var(--t1,#D9D4CB);line-height:1.1;letter-spacing:-.02em;margin:0 0 .85rem;}
:where(.page-freedom) .fr-ip-h em{font-style:italic;color:var(--sage-2,#94A691);}
:where(.page-freedom) .fr-ip-sub{font-size:13.5px;color:var(--t3,#6B7570);line-height:1.65;max-width:150ch;margin:0;}
:where(.page-freedom) .fr-ip-stats{display:flex;align-items:flex-start;gap:clamp(1rem,2.5vw,2rem);padding:clamp(1.25rem,2vw,1.75rem) 0;border-top:1px solid var(--line,rgba(217,212,203,.08));border-bottom:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-freedom) .fr-ip-stat{display:flex;flex-direction:column;align-items:center;gap:.65rem;flex:1;}
:where(.page-freedom) .fr-ip-ring{position:relative;width:72px;height:72px;flex-shrink:0;}
:where(.page-freedom) .fr-ip-ring svg{width:100%;height:100%;transform:rotate(-90deg);}
:where(.page-freedom) .fr-ring-bg{fill:none;stroke:rgba(217,212,203,.07);stroke-width:4;}
:where(.page-freedom) .fr-ring-fg{fill:none;stroke-width:4;stroke-linecap:round;}
:where(.page-freedom) .fr-ip-ring-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--f-display,serif);font-size:clamp(12px,1.2vw,16px);font-weight:300;color:var(--t1,#D9D4CB);letter-spacing:-.02em;line-height:1;}
:where(.page-freedom) .fr-ip-ring-val sup{font-size:.5em;color:var(--sage-2,#94A691);vertical-align:super;}
:where(.page-freedom) .fr-ip-stat-lbl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#fff);text-align:center;line-height:1.5;}
:where(.page-freedom) .fr-ip-rows{display:flex;flex-direction:column;gap:0;padding-top:clamp(1rem,1.5vw,1.5rem);}
:where(.page-freedom) .fr-ip-row{display:flex;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line,rgba(217,212,203,.06));}
:where(.page-freedom) .fr-ip-row-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(127,148,124,.25);flex-shrink:0;}
:where(.page-freedom) .fr-ip-row-icon svg{width:16px;height:16px;color:var(--sage,#7F947C);}
:where(.page-freedom) .fr-ip-row-body{display:flex;flex-direction:column;gap:.2rem;flex:1;}
:where(.page-freedom) .fr-ip-row-body strong{font-size:13px;font-weight:500;color:var(--t1,#D9D4CB);}
:where(.page-freedom) .fr-ip-row-body span{font-size:12px;color:#fff);line-height:1.5;}
:where(.page-freedom) .fr-ip-row-tag{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage,#7F947C);border:1px solid var(--sage-dim,#5A6E58);padding:.28rem .6rem;flex-shrink:0;}
:where(.page-freedom) .fr-ip-row--cta{border-bottom:none;gap:.85rem;padding-top:1.1rem;}
:where(.page-freedom) .fr-ip-btn{display:inline-flex;align-items:center;gap:.55rem;font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--bg,#071218);background:var(--sage,#7F947C);padding:.72rem 1.4rem;text-decoration:none;transition:background .3s;}
:where(.page-freedom) .fr-ip-btn:hover{background:var(--sage-2,#94A691);}
:where(.page-freedom) .fr-ip-btn-ghost{display:inline-flex;align-items:center;font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--sage,#7F947C);border:1px solid var(--sage-dim,#5A6E58);padding:.72rem 1.4rem;text-decoration:none;transition:border-color .3s,color .3s;}
:where(.page-freedom) .fr-ip-btn-ghost:hover{border-color:var(--sage-2,#94A691);color:var(--sage-2,#94A691);}
@media(max-width:1024px){:where(.page-freedom) .fr-info-panel{grid-column:span 2;}}
@media(max-width:640px){:where(.page-freedom) .fr-info-panel{grid-column:span 1;min-height:auto;}:where(.page-freedom) .fr-ip-stats{flex-wrap:wrap;justify-content:center;}:where(.page-freedom) .fr-ip-row--cta{flex-direction:column;align-items:flex-start;}}
/* accent for this page */
:where(.page-freedom) .tg-trust,:where(.page-freedom) .tg-faq{--tg-accent:var(--sage,#7F947C);}
/* Trust strip + FAQ (shared component) */
:where(.page-freedom) .tg-trust{border-top:1px solid var(--line,rgba(217,212,203,.08));border-bottom:1px solid var(--line,rgba(217,212,203,.08));background:var(--bg-2,#0B1715);}
:where(.page-freedom) .tg-trust-inner{max-width:1480px;margin:0 auto;padding:1.5rem clamp(1.5rem,4vw,4rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.1rem 2.6rem;}
:where(.page-freedom) .tg-trust-item{display:flex;align-items:center;gap:.6rem;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--t2,#A7B0AA);}
:where(.page-freedom) .tg-trust-item svg{width:16px;height:16px;color:var(--tg-accent,var(--sage,#7F947C));flex-shrink:0;}
:where(.page-freedom) .tg-faq{max-width:900px;margin:0 auto;}
:where(.page-freedom) .tg-faq details{border-bottom:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-freedom) .tg-faq details:first-child{border-top:1px solid var(--line,rgba(217,212,203,.08));}
:where(.page-freedom) .tg-faq summary{list-style:none;cursor:pointer;padding:1.45rem 0;display:flex;justify-content:space-between;align-items:center;gap:1.25rem;font-family:var(--f-display,serif);font-size:clamp(18px,1.7vw,24px);font-weight:300;color:var(--t1,#D9D4CB);transition:color .3s;}
:where(.page-freedom) .tg-faq summary::-webkit-details-marker{display:none;}
:where(.page-freedom) .tg-faq summary:hover{color:var(--tg-accent,var(--sage,#7F947C));}
:where(.page-freedom) .tg-qi{flex-shrink:0;width:20px;height:20px;position:relative;}
:where(.page-freedom) .tg-qi::before,:where(.page-freedom) .tg-qi::after{content:"";position:absolute;background:var(--tg-accent,var(--sage,#7F947C));transition:transform .3s var(--ease-out,ease);}
:where(.page-freedom) .tg-qi::before{top:50%;left:1px;right:1px;height:1.5px;transform:translateY(-50%);}
:where(.page-freedom) .tg-qi::after{left:50%;top:1px;bottom:1px;width:1.5px;transform:translateX(-50%);}
:where(.page-freedom) .tg-faq details[open] .tg-qi::after{transform:translateX(-50%) scaleY(0);}
:where(.page-freedom) .tg-faq details p{padding:0 0 1.5rem;margin:0;font-size:14.5px;color:var(--t3,#6B7570);line-height:1.7;max-width:74ch;}


/* ═══════════════════════════════════════════════════════════
   PAGE: hormonal-health.php  (scoped to html.page-hormonal-health)
═══════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════
   HORMONAL HEALTH — page-specific styles
   Built on bhc.css tokens; no global overrides.
═══════════════════════════════════════════════════════════ */

/* ── Hero aside ── */
:where(.page-hormonal-health) .hh-hero-aside { display: flex; flex-direction: column; gap: 1.5rem; }
:where(.page-hormonal-health) .hh-hero-rule { height: 1px; background: var(--line-2); width: 100%; }
:where(.page-hormonal-health) .hh-hero-note {
  font-size: 14.5px;
  line-height: 1.8;
  color: var(--t2);
  max-width: 42ch;
}
:where(.page-hormonal-health) .hh-hero-note--dim { color: var(--t3); font-size: 13px; }

/* ── Sticky jump nav ── */
:where(.page-hormonal-health) .hh-jump {
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(11,23,21,0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
:where(.page-hormonal-health) .hh-jump-inner {
  display: flex;
  align-items: center;
  gap: 1.75rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  overflow-x: auto;
  scrollbar-width: none;
}
:where(.page-hormonal-health) .hh-jump-inner::-webkit-scrollbar { display: none; }
:where(.page-hormonal-health) .hh-jump-label {
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--t4);
  white-space: nowrap;
  flex-shrink: 0;
}
:where(.page-hormonal-health) .hh-jump a {
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--t3);
  white-space: nowrap;
  padding-bottom: 2px;
  border-bottom: 1px solid transparent;
  transition: color 0.3s var(--ease-out), border-color 0.3s var(--ease-out);
}
:where(.page-hormonal-health) .hh-jump a:hover { color: var(--sage-2); border-bottom-color: var(--sage); }

/* Offset anchor targets so the sticky bar never covers a heading */
:where(.page-hormonal-health) #signs, :where(.page-hormonal-health) #men, :where(.page-hormonal-health) #women, :where(.page-hormonal-health) #everyone, :where(.page-hormonal-health) #fuelling, :where(.page-hormonal-health) #support, :where(.page-hormonal-health) #help { scroll-margin-top: 90px; }

/* ── Influence grid ── */
:where(.page-hormonal-health) .hh-influence-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
:where(.page-hormonal-health) .hh-influence {
  background: var(--bg);
  padding: clamp(1.75rem, 2.5vw, 2.5rem) clamp(1.25rem, 2vw, 2rem);
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  transition: background 0.5s var(--ease-out);
}
:where(.page-hormonal-health) .hh-influence:hover { background: var(--bg-2); }
:where(.page-hormonal-health) .hh-influence-n {
  font-family: var(--f-mono);
  font-size: 10.5px;
  letter-spacing: 0.2em;
  color: var(--sage);
}
:where(.page-hormonal-health) .hh-influence-t {
  font-family: var(--f-display);
  font-size: clamp(19px, 1.9vw, 24px);
  font-weight: 300;
  color: var(--t1);
  line-height: 1.2;
  letter-spacing: -0.01em;
}

/* ── Signs grid ── */
:where(.page-hormonal-health) .hh-signs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid var(--line);
}
:where(.page-hormonal-health) .hh-sign {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 1.1rem 0;
  font-size: 15px;
  color: var(--t2);
  line-height: 1.6;
  border-bottom: 1px solid var(--line);
}
:where(.page-hormonal-health) .hh-signs > .hh-sign:nth-child(odd) { padding-right: clamp(1rem, 3vw, 3rem); }
:where(.page-hormonal-health) .hh-signs > .hh-sign:nth-child(even) { padding-left: clamp(1rem, 3vw, 3rem); border-left: 1px solid var(--line); }
:where(.page-hormonal-health) .hh-pip {
  width: 5px; height: 5px;
  background: var(--sage);
  flex-shrink: 0;
  transform: rotate(45deg);
}

/* ── Note bands ── */
:where(.page-hormonal-health) .hh-note-band {
  margin-top: 2.5rem;
  padding: 1.75rem clamp(1.5rem, 3vw, 2.5rem);
  background: var(--bg-3);
  border-left: 2px solid var(--sage);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
:where(.page-hormonal-health) .hh-note-band p { font-size: 14.5px; color: var(--t2); line-height: 1.8; max-width: 90ch; }
:where(.page-hormonal-health) .hh-note-mark {
  font-family: var(--f-mono);
  font-size: 9.5px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--sage);
}

:where(.page-hormonal-health) .hh-inline-note {
  padding: 1.35rem 1.5rem;
  background: var(--bg-3);
  border-left: 2px solid var(--sage);
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
:where(.page-hormonal-health) .hh-inline-note p { font-size: 14px; color: var(--t2); line-height: 1.75; }

/* ── Warning callout (gold = clinical caution) ── */
:where(.page-hormonal-health) .hh-warn {
  padding: 1.35rem 1.5rem;
  background: rgba(201,183,131,0.06);
  border-left: 2px solid var(--gold);
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
:where(.page-hormonal-health) .hh-warn p { font-size: 14px; color: var(--t1); line-height: 1.75; }
:where(.page-hormonal-health) .hh-warn-mark {
  font-family: var(--f-mono);
  font-size: 9.5px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--gold);
}

/* ── Feature-card mini lists (women's section) ── */
:where(.page-hormonal-health) .hh-mini-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.35rem;
}
:where(.page-hormonal-health) .hh-mini-list span {
  font-size: 11px;
  letter-spacing: 0.06em;
  color: var(--t3);
  border: 1px solid var(--line-2);
  padding: 0.35rem 0.7rem;
  line-height: 1.3;
}

/* ── Tri cards: thyroid / insulin / cortisol ── */
:where(.page-hormonal-health) .hh-tri {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
:where(.page-hormonal-health) .hh-tri-card {
  background: var(--bg-2);
  padding: clamp(2rem, 3vw, 3rem) clamp(1.5rem, 2.2vw, 2.25rem);
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  transition: background 0.5s var(--ease-out);
}
:where(.page-hormonal-health) .hh-tri-card:hover { background: var(--bg-3); }
:where(.page-hormonal-health) .hh-tri-num {
  font-family: var(--f-mono);
  font-size: 10.5px;
  letter-spacing: 0.2em;
  color: var(--sage);
}
:where(.page-hormonal-health) .hh-tri-title {
  font-family: var(--f-display);
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 300;
  color: var(--t1);
  line-height: 1.15;
  letter-spacing: -0.01em;
}
:where(.page-hormonal-health) .hh-tri-title em { font-style: italic; color: var(--sage-2); }
:where(.page-hormonal-health) .hh-tri-desc { font-size: 14.5px; color: var(--t2); line-height: 1.75; }
:where(.page-hormonal-health) .hh-tri-foot {
  margin-top: auto;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
  font-size: 13px;
  color: var(--t3);
  line-height: 1.7;
}

:where(.page-hormonal-health) .hh-split-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 0.5rem; }
:where(.page-hormonal-health) .hh-split-h {
  display: block;
  font-family: var(--f-mono);
  font-size: 9.5px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--sage);
  margin-bottom: 0.75rem;
}
:where(.page-hormonal-health) .hh-split-list ul { list-style: none; display: flex; flex-direction: column; gap: 0.45rem; }
:where(.page-hormonal-health) .hh-split-list li {
  font-size: 13.5px;
  color: var(--t2);
  line-height: 1.5;
  padding-left: 0.9rem;
  position: relative;
}
:where(.page-hormonal-health) .hh-split-list li::before {
  content: "";
  position: absolute;
  left: 0; top: 0.55em;
  width: 4px; height: 1px;
  background: var(--sage-dim);
}

/* ── REDs warning-sign chips ── */
:where(.page-hormonal-health) .hh-reds { display: flex; flex-wrap: wrap; gap: 0.4rem; }
:where(.page-hormonal-health) .hh-reds span {
  font-size: 11.5px;
  color: var(--t2);
  border: 1px solid var(--line-2);
  padding: 0.4rem 0.75rem;
  line-height: 1.3;
}

/* ── When to seek help — two columns of four ── */
:where(.page-hormonal-health) #help .k-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(4, auto);
  grid-auto-flow: column;
  column-gap: clamp(2rem, 4vw, 4.5rem);
  row-gap: 0;
  border: 0;
}
:where(.page-hormonal-health) #help .k-list .k-item {
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--line);
}

/* ── Support pillars — centred heading on top, boxes beneath ── */
:where(.page-hormonal-health) #support .science-inner {
  display: block;
}

/* Heading block: centred, sitting above the boxes */
:where(.page-hormonal-health) #support .hh-support-head {
  max-width: 1000px;
  margin: 0 auto clamp(2.75rem, 5vw, 4rem);
  text-align: center;
  position: static;
  top: auto;
}
:where(.page-hormonal-health) #support .hh-support-head .eyebrow { justify-content: center; }
:where(.page-hormonal-health) #support .hh-support-head h2 { margin-top: 1.5rem; }
:where(.page-hormonal-health) #support .hh-support-head p {
  margin: 1.5rem auto 0;
  max-width: 100ch;
}
:where(.page-hormonal-health) #support .hh-support-head .btn { margin-top: 2.25rem; }

/* Boxes: full-width grid with hairline dividers */
:where(.page-hormonal-health) #support .science-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  width: 100%;
  margin: 0;
  background: none;
  border: 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
:where(.page-hormonal-health) #support .science-pillars .pillar {
  margin: 0;
  background: none;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: clamp(1.75rem, 2.6vw, 2.5rem);
}
:where(.page-hormonal-health) .hh-pillars .pillar--wide { grid-column: 1 / -1; }


/* ── Takeaway mantra ── */
:where(.page-hormonal-health) .hh-mantra {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-top: 2.5rem;
}
:where(.page-hormonal-health) .hh-mantra span {
  background: var(--bg-2);
  flex: 1 1 220px;
  padding: 1.5rem 1.25rem;
  font-family: var(--f-display);
  font-size: clamp(17px, 1.7vw, 21px);
  font-weight: 300;
  font-style: italic;
  color: var(--sage-2);
  letter-spacing: -0.005em;
  line-height: 1.25;
}

/* ── Disclaimer ── */
:where(.page-hormonal-health) .hh-disclaimer {
  background: var(--ink);
  border-top: 1px solid var(--line);
  padding: 2.5rem 0;
}
:where(.page-hormonal-health) .hh-disclaimer p {
  font-size: 12px;
  color: var(--t4);
  line-height: 1.75;
  max-width: 100ch;
  font-style: italic;
}

/* ── Shared feature band (reuses .wm-feature grid from index) ── */
:where(.page-hormonal-health) .hh-band { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
:where(.page-hormonal-health) .hh-band .wm-feature-body { gap: 1.35rem; }

/* Grid + inset image treatment, mirroring the Weight Management band */
:where(.page-hormonal-health) .hh-band.wm-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: unset;
  align-items: center;
  gap: 0;
}
:where(.page-hormonal-health) .hh-band .wm-feature-media {
  position: relative;
  background: var(--bg-2);
  padding: clamp(2.5rem, 4vw, 4rem);
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
}
:where(.page-hormonal-health) .hh-band .wm-feature-media::after { display: none; }
:where(.page-hormonal-health) .hh-band .wm-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--bg);
}
:where(.page-hormonal-health) .hh-band .wm-img-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.4s var(--ease-out);
}
:where(.page-hormonal-health) .hh-band:hover .wm-img-wrap img { transform: scale(1.03); }
:where(.page-hormonal-health) .hh-band .wm-feature-body { background: #071218; }

/* Alternating: image on the right */
:where(.page-hormonal-health) .hh-band--flip .wm-feature-media { order: 2; }
:where(.page-hormonal-health) .hh-band--flip .wm-feature-body { order: 1; }

/* ── Responsive ── */
@media (max-width: 1100px) {
  :where(.page-hormonal-health) .hh-influence-grid { grid-template-columns: repeat(2, 1fr); }
  :where(.page-hormonal-health) #support .science-pillars { grid-template-columns: repeat(2, 1fr); }
  :where(.page-hormonal-health) .hh-tri { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  :where(.page-hormonal-health) #help .k-list {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
  }
  :where(.page-hormonal-health) .hh-band.wm-feature { grid-template-columns: 1fr; }
  :where(.page-hormonal-health) .hh-band--flip .wm-feature-media,
  :where(.page-hormonal-health) .hh-band .wm-feature-media { order: 1; padding: 1.5rem 1.25rem 0; align-self: auto; }
  :where(.page-hormonal-health) .hh-band--flip .wm-feature-body,
  :where(.page-hormonal-health) .hh-band .wm-feature-body { order: 2; padding: 2rem 1.25rem 2.5rem; }
  :where(.page-hormonal-health) .hh-band .wm-img-wrap { aspect-ratio: 16/9; }

  :where(.page-hormonal-health) .hh-signs { grid-template-columns: 1fr; }
  :where(.page-hormonal-health) .hh-signs > .hh-sign:nth-child(odd) { padding-right: 0; }
  :where(.page-hormonal-health) .hh-signs > .hh-sign:nth-child(even) { padding-left: 0; border-left: 0; }
}

@media (max-width: 700px) {
  :where(.page-hormonal-health) .hh-influence-grid { grid-template-columns: 1fr; }
  :where(.page-hormonal-health) #support .science-pillars { grid-template-columns: 1fr; }
  :where(.page-hormonal-health) .hh-split-list { grid-template-columns: 1fr; gap: 1.25rem; }
  :where(.page-hormonal-health) .hh-mantra span { flex: 1 1 100%; }
  :where(.page-hormonal-health) .hh-jump-inner { gap: 1.25rem; }
  :where(.page-hormonal-health) .hh-jump-label { display: none; }
}


/* ═══════════════════════════════════════════════════════════
   PAGE: how-it-works.php  (scoped to html.page-how-it-works)
═══════════════════════════════════════════════════════════ */
/* ── How It Works: 6-step process + membership-design visual ── */
  :where(.page-how-it-works) .process-strip .ps-steps { grid-template-columns: repeat(6, 1fr); }
  :where(.page-how-it-works) .process-strip .ps-icon { width: 66px; height: 66px; }
  :where(.page-how-it-works) .process-strip .ps-icon svg { width: 26px; height: 26px; }
  @media (max-width: 1024px){ :where(.page-how-it-works) .process-strip .ps-steps { grid-template-columns: repeat(3,1fr); } }
  @media (max-width: 640px){ :where(.page-how-it-works) .process-strip .ps-steps { grid-template-columns: repeat(2,1fr); } }
  :where(.page-how-it-works) .ps-step.ps-step--key .ps-icon { border-color: var(--sage); background: var(--sage-glow); }
  :where(.page-how-it-works) .ps-step.ps-step--key .ps-title { color: var(--sage-2); }

  :where(.page-how-it-works) .step-img-col.mship-col .mship-viz { position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center; padding: clamp(1.5rem,3vw,2.25rem); }
  :where(.page-how-it-works) .mship-card { width:100%; max-width:340px; background:rgba(7,18,24,0.66); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border:1px solid var(--line-2); padding:1.6rem 1.5rem; display:flex; flex-direction:column; gap:1.2rem; box-shadow:0 36px 70px -34px rgba(0,0,0,0.7); }
  :where(.page-how-it-works) .mship-head { display:flex; align-items:center; justify-content:space-between; }
  :where(.page-how-it-works) .mship-eyebrow { font-family:var(--f-mono); font-size:9px; letter-spacing:0.22em; text-transform:uppercase; color:var(--sage); }
  :where(.page-how-it-works) .mship-badge { font-family:var(--f-display); font-style:italic; font-weight:300; font-size:19px; color:var(--gold); white-space:nowrap; }
  :where(.page-how-it-works) .mship-factors { display:flex; flex-wrap:wrap; gap:0.42rem; }
  :where(.page-how-it-works) .mship-factors span { font-size:10.5px; color:var(--t2); border:1px solid var(--line-2); padding:0.34rem 0.56rem; white-space:nowrap; }
  :where(.page-how-it-works) .mship-meters { display:flex; flex-direction:column; gap:0.78rem; }
  :where(.page-how-it-works) .mship-meter { display:flex; flex-direction:column; gap:0.42rem; }
  :where(.page-how-it-works) .mm-top { display:flex; align-items:center; justify-content:space-between; font-family:var(--f-mono); font-size:9px; letter-spacing:0.16em; text-transform:uppercase; color:var(--t3); }
  :where(.page-how-it-works) .mm-top b { color:var(--sage); font-weight:400; }
  :where(.page-how-it-works) .mm-track { display:flex; gap:3px; }
  :where(.page-how-it-works) .mm-track i { flex:1; height:5px; background:var(--line-2); }
  :where(.page-how-it-works) .mm-track i.on { background:var(--sage); }
  :where(.page-how-it-works) .mm-track i.cur { background:var(--sage-2); }
  :where(.page-how-it-works) .mship-fee { display:flex; align-items:baseline; justify-content:space-between; padding-top:0.95rem; border-top:1px solid var(--line); }
  :where(.page-how-it-works) .mf-label { font-size:11px; color:var(--t3); white-space:nowrap; }
  :where(.page-how-it-works) .mf-val { font-family:var(--f-display); font-style:italic; font-weight:300; font-size:21px; color:var(--sage-2); white-space:nowrap; }
  @media (max-width:1024px){ :where(.page-how-it-works) .step-img-col.mship-col { min-height:420px; } }

  /* ── Live biomedical infographics (Technology band) ── */
  :where(.page-how-it-works) .bioviz-head { margin: clamp(2.75rem,4.5vw,4rem) 0 clamp(1.5rem,2.5vw,2.25rem); }
  :where(.page-how-it-works) .bioviz-head h3 { font-family: var(--f-display); font-weight: 300; font-size: clamp(24px,2.6vw,34px); color: var(--t1); letter-spacing: -0.02em; line-height: 1.1; }
  :where(.page-how-it-works) .bioviz-head h3 em { font-style: italic; color: var(--sage-2); }
  :where(.page-how-it-works) .bioviz-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
  :where(.page-how-it-works) .bioviz { background: var(--bg-2); padding: 1.6rem 1.6rem 1.45rem; display: flex; flex-direction: column; gap: 1.05rem; transition: background 0.35s ease; }
  :where(.page-how-it-works) .bioviz:hover { background: var(--bg-3); }
  :where(.page-how-it-works) .bioviz-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
  :where(.page-how-it-works) .bioviz-label { font-family: var(--f-mono); font-size: 9.5px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--sage); line-height: 1.4; }
  :where(.page-how-it-works) .bioviz-val { font-family: var(--f-display); font-weight: 300; font-size: 30px; color: var(--t1); letter-spacing: -0.02em; line-height: 0.9; white-space: nowrap; }
  :where(.page-how-it-works) .bioviz-val em { font-style: italic; color: var(--sage-2); }
  :where(.page-how-it-works) .bioviz-val .u { font-family: var(--f-mono); font-size: 10px; color: var(--t3); margin-left: 3px; letter-spacing: 0.02em; }
  :where(.page-how-it-works) .bioviz-svg { width: 100%; height: auto; display: block; }
  :where(.page-how-it-works) .bioviz-cap { font-size: 11.5px; color: var(--t3); line-height: 1.55; }
  :where(.page-how-it-works) .bioviz-cap b { color: var(--sage); font-weight: 500; }
  :where(.page-how-it-works) .bv-pulse { animation: bvpulse 2.6s ease-in-out infinite; }
  @keyframes bvpulse { 0%,100% { opacity: 0.45; } 50% { opacity: 1; } }
  @media (prefers-reduced-motion: reduce){ :where(.page-how-it-works) .bv-pulse { animation: none; } }
  @media (max-width: 1024px){ :where(.page-how-it-works) .bioviz-grid { grid-template-columns: repeat(2,1fr); } }
  @media (max-width: 560px){ :where(.page-how-it-works) .bioviz-grid { grid-template-columns: 1fr; } }
/* ── Timeline illustrations ── */
:where(.page-how-it-works) .tl-illustration {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding-left: 2.5rem;
}

:where(.page-how-it-works) .tl-illustration--right {
  justify-content: flex-end;
  padding-left: 0;
  padding-right: 2.5rem;
}

/* 6-icon grid variant — no padding, fills the column width */
:where(.page-how-it-works) .tl-illustration--grid {
  padding-left: 2rem;
  padding-right: 0;
  justify-content: flex-start;
  align-items: flex-start;
}

:where(.page-how-it-works) .tl-svg {
  width: 100%;
  max-width: 220px;
  height: auto;
  display: block;
  opacity: 0.92;
  transition: opacity 0.4s ease;
}

/* Grid SVG gets more width to breathe across two tile rows */
:where(.page-how-it-works) .tl-svg--grid {
  max-width: 260px;
}

:where(.page-how-it-works) .tl-item:hover .tl-svg {
  opacity: 1;
}

@media (max-width: 900px) {
  :where(.page-how-it-works) .tl-illustration,
  :where(.page-how-it-works) .tl-illustration--right,
  :where(.page-how-it-works) .tl-illustration--grid {
    display: none;
  }
}
/* ── Final CTA — background image override ── */

:where(.page-how-it-works) .hiw-page-cta--bg {
  background: var(--bg);           /* fallback if image fails */
  border-top: none;
  padding: clamp(6rem, 14vw, 12rem) 0;
  min-height: 70vh;
  display: flex;
  align-items: center;
}

/* Image layer — full bleed, absolute */
:where(.page-how-it-works) .hiw-cta-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

:where(.page-how-it-works) .hiw-cta-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
}

/* Dual veil: uniform dark wash + sage radial glow at bottom */
:where(.page-how-it-works) .hiw-cta-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(ellipse 60% 50% at 50% 110%, rgba(127,148,124,0.18), transparent 70%),
    linear-gradient(to bottom,
      rgba(7,18,24,0.55) 0%,
      rgba(7,18,24,0.65) 40%,
      rgba(7,18,24,0.82) 100%);
  pointer-events: none;
}

/* Override ::before radial (already handled by veil) */
:where(.page-how-it-works) .hiw-page-cta--bg::before { display: none; }

/* Inner content sits above both layers */
:where(.page-how-it-works) .hiw-page-cta--bg .wrap {
  position: relative;
  z-index: 2;
  width: 100%;
}

/* Lift text contrast slightly on image background */
:where(.page-how-it-works) .hiw-page-cta--bg .hiw-cta-inner h2 {
  color: #fff;
  text-shadow: 0 2px 40px rgba(7,18,24,0.6);
}

:where(.page-how-it-works) .hiw-page-cta--bg .hiw-cta-inner p {
  color: rgba(217,212,203,0.85);
}

/* Ghost button needs stronger border on image bg */
:where(.page-how-it-works) .hiw-page-cta--bg .btn-ghost {
  border-color: rgba(217,212,203,0.45);
}
:where(.page-how-it-works) .hiw-page-cta--bg .btn-ghost:hover {
  border-color: rgba(217,212,203,0.85);
  background: rgba(217,212,203,0.06);
}

@media (max-width: 600px) {
  :where(.page-how-it-works) .hiw-page-cta--bg {
    min-height: 60vh;
  }
  :where(.page-how-it-works) .hiw-cta-media img {
    object-position: center center;
  }
}


/* ═══════════════════════════════════════════════════════════
   PAGE: index.php  (scoped to html.page-index)
═══════════════════════════════════════════════════════════ */
/* ── Hero: two-column — copy left, stats right ── */
  :where(.page-index) .hero-inner--split {
    display: flex !important;
    grid-template-columns: unset !important;
    flex-direction: row !important;
    align-items: flex-end;
    justify-content: space-between;
    gap: clamp(2rem, 5vw, 6rem);
    max-width: unset;
    margin: 0;
    padding-bottom: clamp(4rem, 6vw, 6rem);
    width: 100%;
    padding-left: clamp(1.5rem, 4vw, 4rem);
    padding-right: clamp(1.5rem, 4vw, 4rem);
    padding-top: 100px;
  }

  :where(.page-index) .hero-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 580px;
    flex-shrink: 0;
  }

  /* ── Right column: editorial stat list ── */
  :where(.page-index) .hero-stats-col {
    display: flex;
    flex-direction: column;
    align-self: flex-end;
    flex-shrink: 0;
    width: clamp(260px, 28vw, 380px);
  }

  :where(.page-index) .hero-stat-rule {
    width: 100%;
    height: 0.5px;
    background: rgba(168, 196, 184, 0.25);
  }

  :where(.page-index) .hero-stat-item {
    display: flex;
    flex-direction: column;
  }

  :where(.page-index) .hero-stat-inner {
    display: flex;
    align-items: flex-start;
    gap: 1.1rem;
    padding: 1rem 0;
  }

  :where(.page-index) .hero-stat-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.6rem;
    height: 2.6rem;
    border: 0.5px solid rgba(141, 187, 163, 0.3);
    color: rgba(141, 187, 163, 0.85);
  }

  :where(.page-index) .hero-stat-icon svg {
    width: 18px;
    height: 18px;
    stroke: rgba(141, 187, 163, 0.85);
  }

  :where(.page-index) .hero-stat-text {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding-top: 0.2rem;
  }

  :where(.page-index) .hero-stat-label {
    font-family: var(--f-body);
    font-size: clamp(12px, 1vw, 18px);
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(224, 216, 204, 0.9);
    line-height: 1.2;
  }

  :where(.page-index) .hero-stat-sub {
    font-family: var(--f-body);
    font-size: clamp(10.5px, 0.8vw, 12px);
    font-weight: 300;
    color: rgba(122, 148, 136, 0.85);
    line-height: 1.5;
    letter-spacing: 0.01em;
  }

  @media (max-width: 900px) {
    :where(.page-index) .hero-inner--split {
      flex-direction: column !important;
      align-items: flex-start;
      gap: 2.5rem;
    }
    :where(.page-index) .hero-stats-col {
      width: 100%;
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-self: auto;
    }
    :where(.page-index) .hero-stat-rule:last-child { display: none; }
  }
	  /* ── How It Works: 6-step process + membership-design visual ── */
  :where(.page-index) .process-strip .ps-steps { grid-template-columns: repeat(6, 1fr); }
  :where(.page-index) .process-strip .ps-icon { width: 66px; height: 66px; }
  :where(.page-index) .process-strip .ps-icon svg { width: 26px; height: 26px; }
  @media (max-width: 1024px){ :where(.page-index) .process-strip .ps-steps { grid-template-columns: repeat(3,1fr); } }
  @media (max-width: 640px){ :where(.page-index) .process-strip .ps-steps { grid-template-columns: repeat(2,1fr); } }
  :where(.page-index) .ps-step.ps-step--key .ps-icon { border-color: var(--sage); background: var(--sage-glow); }
  :where(.page-index) .ps-step.ps-step--key .ps-title { color: var(--sage-2); }


  @media (max-width: 600px) {
    :where(.page-index) .hero-copy { max-width: 100%; }
    :where(.page-index) .hero-stats-col { grid-template-columns: 1fr; }
  }
  
  :where(.page-index) .cf2-pillpoints {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    margin: 1.25rem 0 1.25rem;
  }
  :where(.page-index) .cf2-pillpoint {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    font-size: 14px;
    font-weight: 300;
    color: rgba(224, 216, 204, 0.85);
    letter-spacing: 0.02em;
  }
  :where(.page-index) .cf2-pip {
    display: block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(141, 187, 163, 0.7);
    flex-shrink: 0;
  }
  
/* ─── Clarity Framework v2 ─── */

:where(.page-index) .cf2 {
  background: var(--bg-2);
}

/* Intro band */
:where(.page-index) .cf2-intro {
  padding: clamp(4rem, 8vw, 7rem) 0 clamp(3rem, 5vw, 5rem);
  border-bottom: 1px solid var(--line);
}

:where(.page-index) .cf2-intro-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 6vw, 8rem);
  align-items: start;
}

:where(.page-index) .cf2-headline {
  font-size: clamp(40px, 5.5vw, 62px);
  margin-top: 1.5rem;
  line-height: 1.05;
}

:where(.page-index) .cf2-lead {
  font-size: 16px;
  color: var(--t2);
  line-height: 1.85;
  max-width: 58ch;
}

:where(.page-index) .cf2-tagline {
  margin-top: 1.5rem;
  font-family: var(--f-display);
  font-size: clamp(16px, 1.6vw, 20px);
  font-weight: 300;
  color: var(--t2);
  letter-spacing: -0.01em;
  line-height: 1.4;
}

:where(.page-index) .cf2-tagline em {
  font-style: italic;
  color: var(--sage-2);
}

/* Four-pillar grid */
:where(.page-index) .cf2-pillars {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  background: var(--line);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

:where(.page-index) .cf2-pillar {
  background: var(--bg-2);
  padding: clamp(2rem, 3vw, 3rem) clamp(1.75rem, 2.5vw, 2.5rem);
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  text-decoration: none;
  color: inherit;
  transition: background 0.4s var(--ease-out);
  position: relative;
  overflow: hidden;
}

:where(.page-index) .cf2-pillar::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--sage);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s var(--ease-out);
}

:where(.page-index) .cf2-pillar:hover {
  background: var(--bg-3);
}

:where(.page-index) .cf2-pillar:hover::after {
  transform: scaleX(1);
}

:where(.page-index) .cf2-pillar-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

:where(.page-index) .cf2-idx {
  font-family: var(--f-mono);
  font-size: 10px;
  color: var(--t4);
  letter-spacing: 0.12em;
}

:where(.page-index) .cf2-tag {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--sage);
}

:where(.page-index) .cf2-pillar-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

:where(.page-index) .cf2-title {
  font-family: var(--f-display);
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--t1);
}

:where(.page-index) .cf2-title em {
  font-style: italic;
  color: var(--sage-2);
  display: block;
}

:where(.page-index) .cf2-text {
  font-size: 14px;
  color: var(--t3);
  line-height: 1.8;
}

:where(.page-index) .cf2-pillar-foot {
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
}

:where(.page-index) .cf2-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--sage);
  transition: gap 0.3s var(--ease-out), color 0.3s var(--ease-out);
}

:where(.page-index) .cf2-pillar:hover .cf2-cta {
  gap: 0.85rem;
  color: var(--sage-2);
}

:where(.page-index) .cf2-arrow {
  transition: transform 0.3s var(--ease-out);
}

:where(.page-index) .cf2-pillar:hover .cf2-arrow {
  transform: translateX(3px);
}

/* Responsive */
@media (max-width: 1100px) {
  :where(.page-index) .cf2-pillars { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  :where(.page-index) .cf2-intro-inner { grid-template-columns: 1fr; gap: 2rem; }
  :where(.page-index) .cf2-pillars { grid-template-columns: 1fr; background: none; }
  :where(.page-index) .cf2-pillar::after { display: none; }
  :where(.page-index) .cf2-pillar { border-bottom: 1px solid var(--line); }
  :where(.page-index) .cf2-pillar:last-child { border-bottom: none; }
}
  :where(.page-index) .hbr { position: relative; min-height: 100vh; display: flex; align-items: center; overflow: hidden; padding: 8rem clamp(1.5rem,4vw,4rem) clamp(4rem,7vw,7rem); border-top: 1px solid var(--line); }
  :where(.page-index) .hbr-media { position: absolute; inset: 0; z-index: 0; }
  :where(.page-index) .hbr-media img { width: 100%; height: 100%; object-fit: cover; object-position: 75% 30%; }
  :where(.page-index) .hbr-veil { position: absolute; inset: 0; z-index: 1; background:
      radial-gradient(circle at 18% 78%, var(--sage-glow), transparent 55%),
      linear-gradient(90deg, var(--bg) 0%, rgba(7,18,24,.93) 36%, rgba(7,18,24,.6) 64%, rgba(7,18,24,.4) 100%),
      linear-gradient(to top, var(--bg) 0%, rgba(7,18,24,0) 35%),
      linear-gradient(to bottom, var(--bg) 0%, rgba(7,18,24,0) 18%); }
  :where(.page-index) .hbr-inner { position: relative; z-index: 2; max-width: 1480px; width: 100%; margin: 0 auto; display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(2rem,6vw,6rem); align-items: center; }
  :where(.page-index) .hbr-new { display: inline-flex; align-items: center; gap: .75rem; border: 1px solid rgba(201,183,131,.45); padding: .5rem .9rem; font-size: 10.5px; letter-spacing: .28em; text-transform: uppercase; color: var(--gold); }
  :where(.page-index) .hbr-pip { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); animation: hbrPulse 2.2s infinite; }
  @keyframes hbrPulse { 0% { box-shadow: 0 0 0 0 rgba(201,183,131,.55); } 70% { box-shadow: 0 0 0 10px rgba(201,183,131,0); } 100% { box-shadow: 0 0 0 0 rgba(201,183,131,0); } }
  :where(.page-index) .hbr-title { font-family: "Cormorant Garamond", "Playfair Display", serif; font-weight: 300; font-size: clamp(50px, 6.6vw, 98px); line-height: 1; letter-spacing: -.022em; color: var(--t1); margin-top: 1.5rem; text-wrap: balance; }
  :where(.page-index) .hbr-title em { font-style: italic; color: var(--sage-2); }
  :where(.page-index) .hbr-lead { font-size: 18px; line-height: 1.75; color: var(--t1); opacity: .86; max-width: 56ch; margin-top: 1.75rem; }
  :where(.page-index) .hbr-points { display: flex; margin-top: 1.75rem; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); max-width: 640px; }
  :where(.page-index) .hbr-points div { flex: 1; padding: 1rem 1.25rem 1rem 0; }
  :where(.page-index) .hbr-points div + div { padding-left: 1.25rem; border-left: 1px solid var(--line-2); }
  :where(.page-index) .hbr-points b { display: block; font-family: "Cormorant Garamond", serif; font-weight: 400; font-size: 23px; color: var(--t1); line-height: 1.15; }
  :where(.page-index) .hbr-points span { font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--t3); }
  :where(.page-index) .hbr-stack { position: relative; display: block; height: min(68vh, 620px); }
  :where(.page-index) .hbr-stack img { position: absolute; width: 58%; border: 1px solid var(--line-2); box-shadow: 0 40px 80px -20px rgba(0,0,0,.75); transition: transform .8s var(--ease-out); }
  :where(.page-index) .hbr-stack .h1i { left: 2%; top: 6%; transform: rotate(-5deg); z-index: 1; }
  :where(.page-index) .hbr-stack .h2i { right: 2%; top: 0; transform: rotate(3deg); z-index: 2; }
  :where(.page-index) .hbr-stack .h3i { left: 22%; top: 24%; transform: rotate(-1deg); z-index: 3; }
  :where(.page-index) .hbr-stack:hover .h1i { transform: rotate(-8deg) translateX(-14px); }
  :where(.page-index) .hbr-stack:hover .h2i { transform: rotate(6deg) translateX(14px); }
  :where(.page-index) .hbr-stack:hover .h3i { transform: rotate(0) translateY(-10px); }
  :where(.page-index) .hbr-tag { position: absolute; z-index: 4; left: 8%; bottom: 2%; background: rgba(7,18,24,.88); border: 1px solid var(--line-2); padding: .8rem 1.1rem; font-family: "Cormorant Garamond", serif; font-size: 22px; color: var(--t1); backdrop-filter: blur(6px); }
  :where(.page-index) .hbr-tag span { display: block; font-family: var(--f-body); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--t3); }
  @media (max-width: 900px) { :where(.page-index) .hbr-inner { grid-template-columns: 1fr; } :where(.page-index) .hbr-stack { height: 440px; } }
  @media (max-width: 560px) { :where(.page-index) .hbr-stack { height: 340px; } :where(.page-index) .hbr-points { flex-direction: column; } :where(.page-index) .hbr-points div + div { border-left: 0; padding-left: 0; border-top: 1px solid var(--line-2); } }
  
/* ── Hormonal Health — inherits .wm-feature layout ── */

/* Separates this band from the Weight Management band below it,
   since both share the --bg-2 background. */
:where(.page-index) .hh-feature { border-bottom: 1px solid var(--line); }

/* Small clinical/compliance note under the stat row */
:where(.page-index) .hh-feature .hh-note {
  font-size: 12px;
  line-height: 1.65;
  color: var(--t2);
  opacity: 0.78;
  max-width: 52ch;
  margin-top: -0.25rem;
}

/* Optional: swap to image-on-the-right so the two stacked bands
   don't mirror each other. Add "hh-flip" to the section class list. */
:where(.page-index) .hh-feature.hh-flip .wm-feature-media { order: 2; }
:where(.page-index) .hh-feature.hh-flip .wm-feature-body  { order: 1; }
@media (max-width: 900px) {
  :where(.page-index) .hh-feature.hh-flip .wm-feature-media { order: 1; }
  :where(.page-index) .hh-feature.hh-flip .wm-feature-body  { order: 2; }
}
/* ── Weight Management — image sized like a video box ── */

/* Section becomes a side-by-side grid: media left, body right */
:where(.page-index) .wm-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: unset;
  align-items: center;
  gap: 0;
}

/* Media column: add padding so image sits inset, not full-bleed */
:where(.page-index) .wm-feature-media {
  position: relative;
  background: var(--bg-2);
  padding: clamp(2.5rem, 4vw, 4rem);
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
}

/* Remove the old gradient overlay pseudo-element */
:where(.page-index) .wm-feature-media::after {
  display: none;
}

/* The video-sized image wrapper — 4:3 to match .foundation-vid-wrap */
:where(.page-index) .wm-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--bg);
}

:where(.page-index) .wm-img-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.4s var(--ease-out);
}

:where(.page-index) .wm-feature:hover .wm-img-wrap img {
  transform: scale(1.03);
}

/* Body column keeps its own background */
:where(.page-index) .wm-feature-body {
  background: var(--bg-2);
}

/* Responsive — stack vertically below 900px */
@media (max-width: 900px) {
  :where(.page-index) .wm-feature {
    grid-template-columns: 1fr;
  }
  :where(.page-index) .wm-feature-media {
    padding: 1.5rem 1.25rem 0;
    align-self: auto;
  }
  :where(.page-index) .wm-img-wrap {
    aspect-ratio: 16/9;
  }
  :where(.page-index) .wm-feature-body {
    padding: 2rem 1.25rem 2.5rem;
  }
}
  /* ── Membership Pricing Section ── */
  :root:where(.page-index) { --f-display: "Cormorant Garamond", "Playfair Display", "Times New Roman", serif; }

  :where(.page-index) .pr-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(2.5rem, 5vw, 5rem); align-items: start; }
  @media (max-width: 920px) { :where(.page-index) .pr-grid { grid-template-columns: 1fr; gap: 2.5rem; } }

  :where(.page-index) .pr-sub { font-family: var(--f-mono); font-size: 9.5px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--sage); display: block; margin-bottom: 1.25rem; }

  :where(.page-index) .pr-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
  @media (max-width: 520px) { :where(.page-index) .pr-inputs { grid-template-columns: 1fr; } }
  :where(.page-index) .pr-input { background: var(--bg-2); padding: 1.2rem 1.35rem; display: flex; align-items: center; gap: 0.9rem; transition: background 0.4s var(--ease-out); }
  :where(.page-index) .pr-input:hover { background: var(--bg-3); }
  :where(.page-index) .pr-input .n { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.16em; color: var(--sage); flex-shrink: 0; }
  :where(.page-index) .pr-input .t { font-size: 14px; color: var(--t1); line-height: 1.35; }

  :where(.page-index) .pr-panel { border: 1px solid var(--line-2); background: linear-gradient(180deg, rgba(127,148,124,0.05), transparent); padding: clamp(1.85rem, 3vw, 2.6rem); display: flex; flex-direction: column; gap: 1.6rem; }
  :where(.page-index) .pr-panel-stat { display: flex; align-items: baseline; gap: 0.85rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--line); }
  :where(.page-index) .pr-panel-stat .n { font-family: var(--f-display); font-weight: 300; font-size: clamp(46px, 5vw, 60px); line-height: 0.82; color: var(--sage-2); letter-spacing: -0.025em; }
  :where(.page-index) .pr-panel-stat .c { font-size: 12.5px; color: var(--t2); line-height: 1.4; max-width: 18ch; }
  :where(.page-index) .pr-point { display: grid; grid-template-columns: auto 1fr; gap: 0.9rem; align-items: start; }
  :where(.page-index) .pr-point .pi { width: 8px; height: 8px; border-radius: 50%; background: var(--sage); margin-top: 7px; flex-shrink: 0; }
  :where(.page-index) .pr-point .ph { font-family: var(--f-display); font-size: 20px; font-weight: 400; color: var(--t1); line-height: 1.2; letter-spacing: -0.005em; }
  :where(.page-index) .pr-point .ph em { font-style: italic; color: var(--sage-2); }
  :where(.page-index) .pr-point .pd { font-size: 13.5px; color: var(--t2); line-height: 1.65; margin-top: 0.3rem; }
  :where(.page-index) .pr-fee { margin-top: 0.25rem; padding-top: 1.5rem; border-top: 1px solid var(--line); font-size: 13.5px; color: var(--t2); line-height: 1.75; }
  :where(.page-index) .pr-fee strong { color: var(--t1); font-weight: 500; }

  :where(.page-index) .pr-proof { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(2.5rem,5vw,5rem); align-items: center; margin-bottom: clamp(3.25rem,5.5vw,5rem); }
  @media (max-width: 900px){ :where(.page-index) .pr-proof { grid-template-columns: 1fr; gap: 2.5rem; } }
  :where(.page-index) .pr-proof-l h3 em { font-style: italic; color: var(--sage-2); }
  :where(.page-index) .pr-proof-link { display: inline-flex; align-items: center; gap: 0.6rem; margin-top: 1.75rem; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--sage); transition: gap 0.35s var(--ease-out), color 0.35s var(--ease-out); }
  :where(.page-index) .pr-proof-link:hover { gap: 0.95rem; color: var(--sage-2); }
  :where(.page-index) .pr-proof-link span { font-size: 14px; }
  :where(.page-index) .pr-proof-r { display: flex; flex-direction: column; }
  :where(.page-index) .pr-proof-point { padding: clamp(1.05rem,2vw,1.5rem) 0; border-top: 1px solid var(--line); }
  :where(.page-index) .pr-proof-point:first-child { border-top: none; padding-top: 0; }
  :where(.page-index) .pr-proof-point .ph { font-family: var(--f-display); font-style: italic; font-weight: 300; font-size: clamp(20px,2.2vw,26px); color: var(--t1); display: block; line-height: 1.15; }
  :where(.page-index) .pr-proof-point .ph b { font-style: normal; font-weight: 300; color: var(--sage-2); }
  :where(.page-index) .pr-proof-point .pd { font-size: 13.5px; color: var(--t2); line-height: 1.65; margin-top: 0.45rem; }

  :where(.page-index) .pr-story-beats { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: clamp(2rem,3.5vw,3rem); }
  :where(.page-index) .pr-beat { background: var(--bg-2); padding: clamp(1.75rem,3vw,2.5rem); display: flex; flex-direction: column; gap: 0.8rem; transition: background 0.4s var(--ease-out); }
  :where(.page-index) .pr-beat:hover { background: var(--bg-3); }
  :where(.page-index) .pr-beat-n { font-family: var(--f-display); font-weight: 300; font-size: clamp(40px,4vw,56px); color: var(--sage-2); line-height: 0.8; letter-spacing: -0.03em; opacity: 0.9; }
  :where(.page-index) .pr-beat-k { font-family: var(--f-mono); font-size: 9.5px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--sage); }
  :where(.page-index) .pr-beat-t { font-family: var(--f-display); font-weight: 300; font-size: clamp(21px,2.2vw,27px); color: var(--t1); line-height: 1.18; letter-spacing: -0.01em; margin: 0; }
  :where(.page-index) .pr-beat-t em { font-style: italic; color: var(--sage-2); }
  :where(.page-index) .pr-beat-d { font-size: 13px; color: var(--t2); line-height: 1.65; margin: 0; }
  @media (max-width: 820px){ :where(.page-index) .pr-story-beats { grid-template-columns: 1fr; } }
  :where(.page-index) .bleed-quote--cta { text-align: center; }
  :where(.page-index) .bleed-quote--cta::after { background: linear-gradient(180deg, rgba(7,18,24,0.55), rgba(7,18,24,0.88)); }
  :where(.page-index) .bq-sub { font-size: clamp(14px,1.3vw,17px); color: rgba(217,212,203,0.82); line-height: 1.75; max-width: 46ch; margin: 1.5rem auto 0; }
  :where(.page-index) .bq-cta-row { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; margin-top: clamp(2rem,3.5vw,2.75rem); }
  :where(.page-index) .bq-cta-btn { display: flex; align-items: center; gap: 1.25rem; text-align: left; padding: 1.15rem 1.4rem 1.15rem 1.6rem; border: 1px solid rgba(127,148,124,0.4); background: rgba(7,18,24,0.45); cursor: pointer; transition: border-color .4s, background .4s, transform .4s; min-width: 300px; text-decoration: none; backdrop-filter: blur(6px); }
  :where(.page-index) .bq-cta-btn:hover { transform: translateY(-3px); }
  :where(.page-index) .bq-btn-txt { display: flex; flex-direction: column; gap: 0.25rem; flex: 1; }
  :where(.page-index) .bq-btn-lbl { font-family: var(--f-display); font-weight: 400; font-size: 20px; letter-spacing: -0.01em; color: #fff; line-height: 1.1; }
  :where(.page-index) .bq-btn-sub { font-size: 11.5px; color: rgba(141,187,163,0.75); letter-spacing: 0.01em; line-height: 1.4; }
  :where(.page-index) .bq-btn-ar { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(127,148,124,0.5); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: border-color .4s, background .4s, transform .4s; }
  :where(.page-index) .bq-btn-ar svg { width: 16px; height: 16px; stroke: rgba(141,187,163,0.9); }
  :where(.page-index) .bq-cta-btn:hover .bq-btn-ar { transform: translateX(3px); }
  :where(.page-index) .bq-cta-btn--primary { border-color: rgba(127,148,124,0.7); background: linear-gradient(180deg, rgba(127,148,124,0.18), rgba(127,148,124,0.06)); }
  :where(.page-index) .bq-cta-btn--primary .bq-btn-ar { border-color: rgba(127,148,124,0.8); background: rgba(127,148,124,0.85); }
  :where(.page-index) .bq-cta-btn--primary .bq-btn-ar svg { stroke: #071218; }
  :where(.page-index) .bq-cta-btn--primary:hover { border-color: rgba(180,210,190,0.8); }
  :where(.page-index) .bq-cta-btn--ghost:hover { border-color: rgba(127,148,124,0.7); background: rgba(127,148,124,0.1); }
  @media (max-width: 680px) { :where(.page-index) .bq-cta-btn { min-width: 0; width: 100%; } }
/* ── Powered By Research band ── */
:where(.page-index) .powered-by {
  background: var(--ink, #050B0E);
  border-top: 1px solid rgba(217,212,203,0.07);
  padding: clamp(2.5rem, 4vw, 3.5rem) clamp(1.5rem, 4vw, 4rem);
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* subtle radial so it doesn't look completely flat */
:where(.page-index) .powered-by::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 120% at 50% 100%, rgba(127,148,124,0.06), transparent 70%);
  pointer-events: none;
}

:where(.page-index) .powered-by-inner {
  position: relative;
  z-index: 1;
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}

:where(.page-index) .powered-by-title {
  font-family: var(--f-body);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--t3, #6B7570);
}

:where(.page-index) .powered-by-rule {
  width: 32px;
  height: 1px;
  background: rgba(127,148,124,0.4);
}

:where(.page-index) .powered-by-logos {
  display: flex;
  align-items: center;
  justify-content: center;
}
:where(.page-index) .powered-by-img {
  width: auto;
  max-width: 100%;
  display: block;
  opacity: 0.80;
  transition: opacity 0.4s ease;
}

:where(.page-index) .powered-by:hover .powered-by-img {
  opacity: 0.9;
}

@media (max-width: 600px) {
  :where(.page-index) .powered-by-img {
    height: 22px;
  }
}
/* ─── Base box-sizing & overflow prevention ─── */
:where(.page-index) *, :where(.page-index) *::before, :where(.page-index) *::after { box-sizing: border-box; }
:where(.page-index) body { overflow-x: hidden; }

/* ════════════════════════════════
   BREAKPOINT: ≤ 768px  (tablet / large phone)
════════════════════════════════ */
@media (max-width: 768px) {

  /* ── Global wrap ── */
  :where(.page-index) .wrap {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  /* ── Hero ── */
  :where(.page-index) .hero-inner {
    flex-direction: column;
    gap: 2rem;
    padding: 0 1.25rem;
    justify-content: flex-end;
    padding-bottom: 0rem;
  }

  :where(.page-index) .hero-inner h1 {
    font-size: clamp(42px, 11vw, 64px);
  }

  :where(.page-index) .hero-tag {
    font-size: clamp(22px, 5.5vw, 32px) !important;
    max-width: 100% !important;
  }

  :where(.page-index) .hero-meta { width: 100%; }

  :where(.page-index) .hero-actions {
    flex-direction: column;
    gap: 0.75rem;
    align-items: stretch;
  }

  :where(.page-index) .hero-actions .btn,
  :where(.page-index) .hero-actions .btn-ghost {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  :where(.page-index) .hero-bottom {
    padding: 0 1.25rem 1.25rem;
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  /* ── Section headings ── */
  :where(.page-index) .sec-head {
    flex-direction: column;
    gap: 1.5rem;
  }

  :where(.page-index) .sec-head h2,
  :where(.page-index) .h2 {
    font-size: clamp(30px, 8vw, 44px);
  }

  /* ── Clarity grid → single column ── */
  :where(.page-index) .clarity-grid {
    grid-template-columns: 1fr;
  }

  /* ── Foundation header ── */
  :where(.page-index) .foundation-header {
    flex-direction: column;
    gap: 2rem;
  }

  :where(.page-index) .foundation-header-video {
    width: 100%;
  }

  :where(.page-index) .foundation-vid-wrap {
    width: 100%;
    aspect-ratio: 16/9;
  }

  /* ── Card grid ── */
  :where(.page-index) .card-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  /* ── Split section ── */
  :where(.page-index) .split {
    flex-direction: column;
  }

  :where(.page-index) .split-img {
    width: 100%;
    min-height: 55vw;
    max-height: 280px;
  }

  :where(.page-index) .split-body {
    padding: 2.5rem 1.25rem;
  }

  /* ── Feature showcase (4-tile + 3-tile) ── */
  :where(.page-index) .feat-showcase {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
  }

  :where(.page-index) .feat-showcase.cols-3 {
    grid-template-columns: 1fr;
  }

  :where(.page-index) .feat-tile {
    min-height: 240px;
  }

  /* Grey frosted border behind card text */
  :where(.page-index) .feat-tile-bot {
    background: rgba(10, 14, 18, 0.52);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid rgba(180, 180, 180, 0.13);
    border-bottom: none;
    border-left: none;
    border-right: none;
    border-top: 1px solid rgba(200, 200, 200, 0.12);
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.22);
  }

  /* ── Weight management feature ── */
  :where(.page-index) .wm-feature {
    grid-template-columns: 1fr;
  }

  :where(.page-index) .wm-feature-media {
    width: 100%;
    padding: 1.5rem 1.25rem 0;
  }

  :where(.page-index) .wm-img-wrap {
    aspect-ratio: 16/9;
    width: 100%;
  }

  :where(.page-index) .wm-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  :where(.page-index) .wm-feature-body {
    padding: 2rem 1.25rem 2.5rem;
  }

  :where(.page-index) .wm-feature-cta {
    flex-direction: column;
    gap: 0.75rem;
    align-items: stretch;
  }

  :where(.page-index) .wm-feature-cta .btn,
  :where(.page-index) .wm-feature-cta .btn-ghost {
    width: 100%;
    justify-content: center;
  }

  :where(.page-index) .wm-feature-points {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem;
  }

  /* ── How It Works ── */
  :where(.page-index) .hiw-inner {
    flex-direction: column;
    gap: 2.5rem;
    padding: 3rem 1.25rem;
  }

  :where(.page-index) .hiw-headline {
    font-size: clamp(32px, 8.5vw, 48px);
  }

  :where(.page-index) .hiw-left,
  :where(.page-index) .hiw-right {
    width: 100%;
  }

  /* ── Membership tiers ── */
  :where(.page-index) .tiers {
    flex-direction: column;
    gap: 1.25rem;
  }

  :where(.page-index) .tier {
    width: 100%;
  }

  /* ── Bleed quote ── */
  :where(.page-index) .bq-inner h2 {
    font-size: clamp(26px, 7vw, 40px);
    text-align: center;
  }

  /* ── FAQ ── */
  :where(.page-index) .faq-list { gap: 0; }

  :where(.page-index) .faq-q {
    padding: 1.1rem 0;
    font-size: 15px;
  }

  /* ── Final CTA ── */
  :where(.page-index) .final-cta-inner {
    padding: 3.5rem 1.25rem;
    text-align: center;
  }

  :where(.page-index) .cta-actions {
    flex-direction: column;
    gap: 0.75rem;
    align-items: stretch;
  }

  :where(.page-index) .cta-actions .btn,
  :where(.page-index) .cta-actions .btn-ghost {
    width: 100%;
    justify-content: center;
  }

  /* ── Clarity problem row → single column ── */
  :where(.page-index) .clarity-problem-row {
    grid-template-columns: 1fr;
  }
}

/* ════════════════════════════════
   BREAKPOINT: ≤ 480px  (small phone)
════════════════════════════════ */
@media (max-width: 480px) {

  /* Hero */
  :where(.page-index) .hero-inner h1 {
    font-size: clamp(36px, 10vw, 52px);
  }

  :where(.page-index) .hero-sub {
    font-size: 15px !important;
  }

  /* Feature showcase: 4-tile collapses to single column */
  :where(.page-index) .feat-showcase {
    grid-template-columns: 1fr;
  }

  :where(.page-index) .feat-tile {
    min-height: 260px;
  }

  :where(.page-index) .feat-tile-bot {
    background: rgba(10, 14, 18, 0.52);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }

  /* Ticker — slow it slightly & ensure text fits */
  :where(.page-index) .ticker-track {
    gap: 2rem;
    font-size: 13px;
  }

  /* Section heads */
  :where(.page-index) .h2 {
    font-size: clamp(28px, 8.5vw, 38px);
  }

  /* Clarity card padding */
  :where(.page-index) .clarity-card {
    padding: 1.5rem 1.25rem;
  }

  /* HIW steps */
  :where(.page-index) .hiw-step {
    flex-wrap: wrap;
    gap: 0.4rem;
  }

  :where(.page-index) .hiw-rule {
    display: none;
  }

  /* Membership tiers image */
  :where(.page-index) .tier img {
    height: 200px;
    width: 100%;
    object-fit: cover;
  }

  /* Kicker / eyebrow text */
  :where(.page-index) .kicker,
  :where(.page-index) .eyebrow {
    font-size: 10px;
    letter-spacing: 0.14em;
  }

  /* WM feature points */
  :where(.page-index) .wm-feature-points {
    gap: 0.75rem;
  }

  /* Bleed quote tighter */
  :where(.page-index) .bq-inner {
    padding: 3rem 1.25rem;
  }

  /* Body-l paragraph */
  :where(.page-index) .body-l {
    font-size: 15px;
  }
}


/* ═══════════════════════════════════════════════════════════
   PAGE: membership-pricing.php  (scoped to html.page-membership-pricing)
═══════════════════════════════════════════════════════════ */
:root:where(.page-membership-pricing) { --f-display: "Cormorant Garamond", "Playfair Display", "Times New Roman", serif; }
  html:where(.page-membership-pricing) { scroll-behavior: smooth; scroll-padding-top: 100px; }
  :where(.page-membership-pricing) .media-fill { position: absolute; inset: 0; width: 100%; height: 100%; }
  :where(.page-membership-pricing) section[id] { scroll-margin-top: 100px; }

  /* ── Pricing section ─────────────────────────────────────── */
  :where(.page-membership-pricing) .pr-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(2.5rem, 5vw, 5rem); align-items: start; }
  @media (max-width: 920px) { :where(.page-membership-pricing) .pr-grid { grid-template-columns: 1fr; gap: 2.5rem; } }

  :where(.page-membership-pricing) .pr-sub { font-family: var(--f-mono); font-size: 9.5px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--sage); display: block; margin-bottom: 1.25rem; }

  :where(.page-membership-pricing) .pr-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
  @media (max-width: 520px) { :where(.page-membership-pricing) .pr-inputs { grid-template-columns: 1fr; } }
  :where(.page-membership-pricing) .pr-input { background: var(--bg-2); padding: 1.2rem 1.35rem; display: flex; align-items: center; gap: 0.85rem; transition: background 0.4s var(--ease-out); }
  :where(.page-membership-pricing) .pr-input:hover { background: var(--bg-3); }
  :where(.page-membership-pricing) .pr-input .n { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.16em; color: var(--sage); flex-shrink: 0; }
  :where(.page-membership-pricing) .pr-input .t { font-size: 14px; color: var(--t1); line-height: 1.35; }
  :where(.page-membership-pricing) .pr-tick { flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%; background: rgba(127,148,124,0.18); border: 1px solid rgba(127,148,124,0.45); display: flex; align-items: center; justify-content: center; transition: background 0.4s, border-color 0.4s; }
  :where(.page-membership-pricing) .pr-tick svg { width: 9px; height: 9px; stroke: var(--sage); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; fill: none; }
  :where(.page-membership-pricing) .pr-input:hover .pr-tick { background: rgba(127,148,124,0.32); border-color: rgba(127,148,124,0.8); }

  :where(.page-membership-pricing) .pr-panel { border: 1px solid var(--line-2); background: linear-gradient(180deg, rgba(127,148,124,0.05), transparent); padding: clamp(1.85rem, 3vw, 2.6rem); display: flex; flex-direction: column; gap: 1.6rem; }
  :where(.page-membership-pricing) .pr-panel-stat { display: flex; align-items: baseline; gap: 0.85rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--line); }
  :where(.page-membership-pricing) .pr-panel-stat .n { font-family: var(--f-display); font-weight: 300; font-size: clamp(46px, 5vw, 60px); line-height: 0.82; color: var(--sage-2); letter-spacing: -0.025em; }
  :where(.page-membership-pricing) .pr-panel-stat .c { font-size: 12.5px; color: var(--t2); line-height: 1.4; max-width: 18ch; }
  :where(.page-membership-pricing) .pr-point { display: grid; grid-template-columns: auto 1fr; gap: 0.9rem; align-items: start; }
  :where(.page-membership-pricing) .pr-point .pi { width: 8px; height: 8px; border-radius: 50%; background: var(--sage); margin-top: 7px; flex-shrink: 0; }
  :where(.page-membership-pricing) .pr-point .ph { font-family: var(--f-display); font-size: 20px; font-weight: 400; color: var(--t1); line-height: 1.2; letter-spacing: -0.005em; }
  :where(.page-membership-pricing) .pr-point .ph em { font-style: italic; color: var(--sage-2); }
  :where(.page-membership-pricing) .pr-point .pd { font-size: 13.5px; color: var(--t2); line-height: 1.65; margin-top: 0.3rem; }
  :where(.page-membership-pricing) .pr-fee { margin-top: 0.25rem; padding-top: 1.5rem; border-top: 1px solid var(--line); font-size: 13.5px; color: var(--t2); line-height: 1.75; }
  :where(.page-membership-pricing) .pr-fee strong { color: var(--t1); font-weight: 500; }

  :where(.page-membership-pricing) .pr-rhythm { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); margin-top: clamp(2.5rem, 4vw, 3.5rem); }
  :where(.page-membership-pricing) .pr-rhythm > div { padding: clamp(1.75rem, 3vw, 2.5rem) 1.5rem; border-right: 1px solid var(--line); text-align: center; display: flex; flex-direction: column; gap: 0.55rem; }
  :where(.page-membership-pricing) .pr-rhythm > div:last-child { border-right: 0; }
  :where(.page-membership-pricing) .pr-rhythm .rn { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.2em; color: var(--sage); }
  :where(.page-membership-pricing) .pr-rhythm .rw { font-family: var(--f-display); font-style: italic; font-weight: 300; font-size: clamp(24px, 2.6vw, 32px); color: var(--t1); }
  @media (max-width: 760px) {
    :where(.page-membership-pricing) .pr-rhythm { grid-template-columns: 1fr 1fr; }
    :where(.page-membership-pricing) .pr-rhythm > div:nth-child(2) { border-right: 0; }
    :where(.page-membership-pricing) .pr-rhythm > div:nth-child(1), :where(.page-membership-pricing) .pr-rhythm > div:nth-child(2) { border-bottom: 1px solid var(--line); }
  }

  /* level scales — monitoring / care / testing */
  :where(.page-membership-pricing) .pr-levels-head { margin: clamp(3rem,5vw,4.5rem) 0 clamp(1.75rem,3vw,2.5rem); max-width: 780px; }
  :where(.page-membership-pricing) .pr-levels { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
  @media (max-width: 820px) { :where(.page-membership-pricing) .pr-levels { grid-template-columns: 1fr; } }
  :where(.page-membership-pricing) .pr-level { background: var(--bg-2); padding: clamp(1.75rem,3vw,2.25rem); display: flex; flex-direction: column; gap: 1rem; transition: background 0.4s var(--ease-out); }
  :where(.page-membership-pricing) .pr-level:hover { background: var(--bg-3); }
  :where(.page-membership-pricing) .pr-level-top { display: flex; align-items: center; justify-content: space-between; }
  :where(.page-membership-pricing) .pr-level .lbl { font-family: var(--f-display); font-weight: 300; font-size: clamp(26px,3vw,34px); color: var(--t1); letter-spacing: -0.01em; }
  :where(.page-membership-pricing) .pr-level .lbl em { font-style: italic; color: var(--sage-2); }
  :where(.page-membership-pricing) .pr-level .ico { width: 22px; height: 22px; color: var(--sage); stroke: currentColor; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
  :where(.page-membership-pricing) .pr-level .desc { font-size: 13.5px; color: var(--t2); line-height: 1.7; }
  :where(.page-membership-pricing) .pr-level-scale { margin-top: auto; padding-top: 0.75rem; display: flex; flex-direction: column; gap: 0.6rem; }
  :where(.page-membership-pricing) .pr-level-track { display: flex; gap: 4px; align-items: center; }
  :where(.page-membership-pricing) .pr-level-seg { flex: 1; height: 6px; background: var(--line-2); }
  :where(.page-membership-pricing) .pr-level-seg.on { background: var(--sage); }
  :where(.page-membership-pricing) .pr-level-seg.cur { background: var(--sage-2); animation: prpulse 2.4s ease-in-out infinite; }
  @keyframes prpulse { 0%,100% { box-shadow: 0 0 0 0 var(--sage-glow); } 50% { box-shadow: 0 0 0 5px transparent; } }
  :where(.page-membership-pricing) .pr-level-range { display: flex; justify-content: space-between; font-family: var(--f-mono); font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--t3); }
  :where(.page-membership-pricing) .pr-levels-note { margin-top: 1.5rem; display: inline-flex; align-items: center; gap: 0.7rem; font-size: 12.5px; color: var(--sage); letter-spacing: 0.01em; }
  :where(.page-membership-pricing) .pr-levels-note svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }

  /* evolves-over-time timeline */
  :where(.page-membership-pricing) .pr-evolve-head { margin: clamp(3rem,5vw,4.5rem) 0 0; max-width: 780px; }
  :where(.page-membership-pricing) .pr-evolve { display: grid; grid-template-columns: repeat(4,1fr); gap: clamp(1rem,2vw,1.75rem); margin-top: clamp(2.5rem,4vw,3.5rem); }
  :where(.page-membership-pricing) .pr-era { position: relative; padding-top: 2.6rem; }
  :where(.page-membership-pricing) .pr-era::before { content: ""; position: absolute; top: 4px; left: 0; right: 0; height: 1px; background: var(--line-2); }
  :where(.page-membership-pricing) .pr-era-dot { position: absolute; top: 0; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--sage); box-shadow: 0 0 0 4px var(--bg); }
  :where(.page-membership-pricing) .pr-era-when { display: block; font-family: var(--f-mono); font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); margin-bottom: .5rem; }
  :where(.page-membership-pricing) .pr-era-name { font-family: var(--f-display); font-weight: 300; font-size: clamp(22px,2.3vw,28px); color: var(--t1); letter-spacing: -0.01em; line-height: 1.1; }
  :where(.page-membership-pricing) .pr-era-name em { color: var(--sage-2); font-style: italic; }
  :where(.page-membership-pricing) .pr-era-focus { font-size: 13px; color: var(--t2); line-height: 1.65; margin-top: .55rem; max-width: 26ch; }
  :where(.page-membership-pricing) .pr-era-tag { display: inline-block; margin-top: .9rem; font-family: var(--f-mono); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: var(--sage); border: 1px solid var(--line-2); padding: .4rem .7rem; }
  @media (max-width: 820px) {
    :where(.page-membership-pricing) .pr-evolve { grid-template-columns: 1fr; gap: 0; }
    :where(.page-membership-pricing) .pr-era { padding-top: 0; padding-left: 2rem; padding-bottom: 2rem; }
    :where(.page-membership-pricing) .pr-era::before { top: 5px; bottom: 0; left: 4px; right: auto; width: 1px; height: auto; }
    :where(.page-membership-pricing) .pr-era:last-child::before { bottom: auto; height: 22px; }
    :where(.page-membership-pricing) .pr-era-dot { top: 5px; left: 0; }
    :where(.page-membership-pricing) .pr-era-focus { max-width: none; }
  }

  /* ── Emotional taglines ── */
  :where(.page-membership-pricing) .pr-tagline { text-align: center; margin: clamp(3.5rem,7vw,6.5rem) auto; padding: 0 1.5rem; max-width: 1000px; }
  :where(.page-membership-pricing) .pr-tagline .k { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--sage); display: block; margin-bottom: clamp(1.1rem,2vw,1.6rem); }
  :where(.page-membership-pricing) .pr-tagline p { font-family: var(--f-display); font-weight: 300; font-size: clamp(29px,4.2vw,54px); line-height: 1.1; letter-spacing: -0.02em; color: var(--t1); text-wrap: balance; margin: 0; }
  :where(.page-membership-pricing) .pr-tagline p em { font-style: italic; color: var(--sage-2); }
  :where(.page-membership-pricing) .pr-tagline-rule { width: 34px; height: 1px; background: var(--sage); opacity: 0.55; margin: clamp(1.3rem,2.5vw,2rem) auto 0; }
  :where(.page-membership-pricing) .pr-tagline--sm { max-width: 860px; margin: clamp(3rem,5.5vw,5rem) auto; }
  :where(.page-membership-pricing) .pr-tagline--sm p { font-size: clamp(24px,2.9vw,38px); }

  /* ── Hero evolving taglines ── */
  :where(.page-membership-pricing) .pr-hero-tag { font-family: var(--f-display); font-weight: 300; font-size: clamp(20px,2.3vw,30px); line-height: 1.25; letter-spacing: -0.01em; color: var(--t1); margin-top: clamp(1.15rem,2vw,1.7rem); max-width: 24ch; text-wrap: balance; }
  :where(.page-membership-pricing) .pr-hero-tag em { font-style: italic; color: var(--sage-2); }
  :where(.page-membership-pricing) .pr-hero-sub { font-family: var(--f-display); font-style: italic; font-weight: 300; font-size: clamp(15px,1.5vw,19px); color: var(--t2); margin-top: clamp(0.7rem,1.3vw,1rem); line-height: 1.45; max-width: 32ch; }
  :where(.page-membership-pricing) .pr-hero-sub em { color: var(--sage-2); font-style: italic; }

  /* ── Emotional CTA buttons ── */
  :where(.page-membership-pricing) .pr-cta { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; margin-top: clamp(2.5rem,4vw,3.75rem); }
  :where(.page-membership-pricing) .pr-cta-btn { display: flex; align-items: center; gap: 1.25rem; text-align: left; padding: 1.15rem 1.4rem 1.15rem 1.6rem; border: 1px solid var(--line-2); background: var(--bg-2); cursor: pointer; transition: border-color .4s var(--ease-out), background .4s var(--ease-out), transform .4s var(--ease-out); min-width: 300px; }
  :where(.page-membership-pricing) .pr-cta-btn:hover { transform: translateY(-3px); }
  :where(.page-membership-pricing) .pr-cta-btn .txt { display: flex; flex-direction: column; gap: 0.25rem; }
  :where(.page-membership-pricing) .pr-cta-btn .lbl { font-family: var(--f-display); font-weight: 400; font-size: 20px; letter-spacing: -0.01em; color: var(--t1); line-height: 1.1; }
  :where(.page-membership-pricing) .pr-cta-btn .sub { font-size: 11.5px; color: var(--t3); letter-spacing: 0.01em; line-height: 1.4; }
  :where(.page-membership-pricing) .pr-cta-btn .ar { margin-left: auto; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line-2); display: flex; align-items: center; justify-content: center; color: var(--sage); flex-shrink: 0; transition: border-color .4s, background .4s, color .4s, transform .4s; }
  :where(.page-membership-pricing) .pr-cta-btn .ar svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
  :where(.page-membership-pricing) .pr-cta-btn:hover .ar { transform: translateX(3px); }
  :where(.page-membership-pricing) .pr-cta-btn--primary { border-color: var(--sage); background: linear-gradient(180deg, rgba(127,148,124,0.12), rgba(127,148,124,0.04)); }
  :where(.page-membership-pricing) .pr-cta-btn--primary .ar { border-color: var(--sage); background: var(--sage); color: var(--bg); }
  :where(.page-membership-pricing) .pr-cta-btn--primary:hover { border-color: var(--sage-2); }
  :where(.page-membership-pricing) .pr-cta-btn--primary:hover .ar { background: var(--sage-2); }
  :where(.page-membership-pricing) .pr-cta-btn--ghost:hover { border-color: var(--sage); background: var(--bg-3); }
  :where(.page-membership-pricing) .pr-cta-btn--ghost:hover .ar { border-color: var(--sage); color: var(--sage-2); }
  @media (max-width: 560px){ :where(.page-membership-pricing) .pr-cta-btn { min-width: 0; width: 100%; } }

  /* ── Success & sustainability (proof) ── */
  :where(.page-membership-pricing) .pr-proof { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(2.5rem,5vw,5rem); align-items: center; margin-bottom: clamp(3.25rem,5.5vw,5rem); }
  @media (max-width: 900px){ :where(.page-membership-pricing) .pr-proof { grid-template-columns: 1fr; gap: 2.5rem; } }
  :where(.page-membership-pricing) .pr-proof-l h3 em { font-style: italic; color: var(--sage-2); }
  :where(.page-membership-pricing) .pr-proof-link { display: inline-flex; align-items: center; gap: 0.6rem; margin-top: 1.75rem; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--sage); transition: gap 0.35s var(--ease-out), color 0.35s var(--ease-out); }
  :where(.page-membership-pricing) .pr-proof-link:hover { gap: 0.95rem; color: var(--sage-2); }
  :where(.page-membership-pricing) .pr-proof-link span { font-size: 14px; }
  :where(.page-membership-pricing) .pr-proof-r { display: flex; flex-direction: column; }
  :where(.page-membership-pricing) .pr-proof-point { padding: clamp(1.05rem,2vw,1.5rem) 0; border-top: 1px solid var(--line); }
  :where(.page-membership-pricing) .pr-proof-point:first-child { border-top: none; padding-top: 0; }
  :where(.page-membership-pricing) .pr-proof-point .ph { font-family: var(--f-display); font-style: italic; font-weight: 300; font-size: clamp(20px,2.2vw,26px); color: var(--t1); display: block; line-height: 1.15; }
  :where(.page-membership-pricing) .pr-proof-point .ph b { font-style: normal; font-weight: 300; color: var(--sage-2); }
  :where(.page-membership-pricing) .pr-proof-point .pd { font-size: 13.5px; color: var(--t2); line-height: 1.65; margin-top: 0.45rem; }

  /* ── Benefits grid ── */
  :where(.page-membership-pricing) .pr-sec-head { max-width: 800px; margin: clamp(3.25rem,5.5vw,5rem) 0 0; display: flex; flex-direction: column; }
  :where(.page-membership-pricing) .pr-benefits { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: clamp(1.75rem,3vw,2.25rem); }
  :where(.page-membership-pricing) .pr-benefit { background: var(--bg-2); padding: clamp(1.6rem,2.5vw,2.1rem); display: flex; flex-direction: column; gap: 0.7rem; transition: background 0.4s var(--ease-out); }
  :where(.page-membership-pricing) .pr-benefit:hover { background: var(--bg-3); }
  :where(.page-membership-pricing) .pr-benefit .bn { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.2em; color: var(--sage); }
  :where(.page-membership-pricing) .pr-benefit h4 { font-family: var(--f-display); font-weight: 300; font-size: clamp(20px,2.1vw,25px); color: var(--t1); letter-spacing: -0.01em; line-height: 1.15; margin: 0; }
  :where(.page-membership-pricing) .pr-benefit h4 em { font-style: italic; color: var(--sage-2); }
  :where(.page-membership-pricing) .pr-benefit p { font-size: 13px; color: var(--t2); line-height: 1.65; margin: 0; }
  @media (max-width: 820px){ :where(.page-membership-pricing) .pr-benefits { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 540px){ :where(.page-membership-pricing) .pr-benefits { grid-template-columns: 1fr; } }

  /* ── Goals grid ── */
  :where(.page-membership-pricing) .pr-goals { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: clamp(1.75rem,3vw,2.25rem); }
  :where(.page-membership-pricing) .pr-goal { background: var(--bg-2); padding: clamp(1.5rem,2.4vw,1.9rem); display: flex; flex-direction: column; gap: 1rem; transition: background 0.4s var(--ease-out); }
  :where(.page-membership-pricing) .pr-goal:hover { background: var(--bg-3); }
  :where(.page-membership-pricing) .pr-goal .gt { font-family: var(--f-display); font-weight: 300; font-size: clamp(18px,1.9vw,22px); color: var(--t1); line-height: 1.18; letter-spacing: -0.01em; }
  :where(.page-membership-pricing) .pr-goal .gt em { font-style: italic; color: var(--sage-2); }
  :where(.page-membership-pricing) .pr-goal ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; }
  :where(.page-membership-pricing) .pr-goal li { font-size: 12px; color: var(--t2); line-height: 1.5; padding-left: 0.9rem; position: relative; }
  :where(.page-membership-pricing) .pr-goal li::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 4px; height: 4px; border-radius: 50%; background: var(--sage); opacity: 0.65; }
  @media (max-width: 1000px){ :where(.page-membership-pricing) .pr-goals { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 540px){ :where(.page-membership-pricing) .pr-goals { grid-template-columns: 1fr; } }

  /* ── Human split (photo) ── */
  :where(.page-membership-pricing) .pr-human { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: clamp(2rem,4vw,4rem); align-items: center; margin-top: clamp(3.25rem,5.5vw,5rem); }
  @media (max-width: 820px){ :where(.page-membership-pricing) .pr-human { grid-template-columns: 1fr; gap: 2rem; } }
  :where(.page-membership-pricing) .pr-human-media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border: 1px solid var(--line-2); }
  @media (max-width: 820px){ :where(.page-membership-pricing) .pr-human-media { aspect-ratio: 16 / 10; } }
  :where(.page-membership-pricing) .pr-human-media image-slot { position: absolute; inset: 0; width: 100%; height: 100%; }
  :where(.page-membership-pricing) .pr-human-text h3 { margin: 0; font-size: clamp(30px,3.4vw,46px) !important; line-height: 1.1; }
  :where(.page-membership-pricing) .pr-human-text h3 em { font-style: italic; color: var(--sage-2); }

  /* ── Image quote band (photo) ── */
  :where(.page-membership-pricing) .pr-imgband { position: relative; overflow: hidden; border: 1px solid var(--line-2); margin-top: clamp(3.25rem,5.5vw,5rem); min-height: clamp(280px,38vw,440px); display: flex; align-items: center; justify-content: center; text-align: center; padding: clamp(2.5rem,5vw,4rem); }
  :where(.page-membership-pricing) .pr-imgband image-slot { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
  :where(.page-membership-pricing) .pr-imgband .veil { position: absolute; inset: 0; z-index: 1; background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(7,18,24,0.42), rgba(7,18,24,0.8)); }
  :where(.page-membership-pricing) .pr-imgband .q { position: relative; z-index: 2; max-width: 800px; }
  :where(.page-membership-pricing) .pr-imgband .q .k { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--sage); display: block; margin-bottom: 1.25rem; }
  :where(.page-membership-pricing) .pr-imgband .q p { font-family: var(--f-display); font-weight: 300; font-size: clamp(28px,4vw,50px); line-height: 1.12; letter-spacing: -0.02em; color: #fff; text-wrap: balance; margin: 0; }
  :where(.page-membership-pricing) .pr-imgband .q p em { font-style: italic; color: var(--sage-2); }

  /* ── Goal icons ── */
  :where(.page-membership-pricing) .pr-goal .gi { width: 28px; height: 28px; color: var(--sage); stroke: currentColor; fill: none; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }

  /* ── CTA band (photo) ── */
  :where(.page-membership-pricing) .pr-cta-band { position: relative; overflow: hidden; border: 1px solid var(--line-2); margin-top: clamp(3.5rem,6vw,5.5rem); padding: clamp(3rem,6vw,5.5rem) clamp(1.5rem,4vw,3rem); text-align: center; }
  :where(.page-membership-pricing) .pr-cta-band image-slot { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
  :where(.page-membership-pricing) .pr-cta-band .veil { position: absolute; inset: 0; z-index: 1; background: radial-gradient(ellipse 60% 50% at 50% 115%, rgba(127,148,124,0.22), transparent 70%), linear-gradient(180deg, rgba(7,18,24,0.76), rgba(7,18,24,0.9)); }
  :where(.page-membership-pricing) .pr-cta-band .inner { position: relative; z-index: 2; max-width: 740px; margin: 0 auto; }
  :where(.page-membership-pricing) .pr-cta-band .inner .k { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--sage); display: block; margin-bottom: 1.25rem; }
  :where(.page-membership-pricing) .pr-cta-band .inner h2 { color: #fff; }
  :where(.page-membership-pricing) .pr-cta-band .inner p { color: rgba(217,212,203,0.85); font-size: 15px; line-height: 1.7; max-width: 48ch; margin: 1.35rem auto 0; }
  :where(.page-membership-pricing) .pr-cta-band .pr-cta { margin-top: clamp(2rem,3.5vw,2.75rem); }

  /* ── Storyboard (why this pricing) ── */
  :where(.page-membership-pricing) .pr-story-beats { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: clamp(2rem,3.5vw,3rem); }
  :where(.page-membership-pricing) .pr-beat { background: var(--bg-2); padding: clamp(1.75rem,3vw,2.5rem); display: flex; flex-direction: column; gap: 0.8rem; transition: background 0.4s var(--ease-out); }
  :where(.page-membership-pricing) .pr-beat:hover { background: var(--bg-3); }
  :where(.page-membership-pricing) .pr-beat-n { font-family: var(--f-display); font-weight: 300; font-size: clamp(40px,4vw,56px); color: var(--sage-2); line-height: 0.8; letter-spacing: -0.03em; opacity: 0.9; }
  :where(.page-membership-pricing) .pr-beat-k { font-family: var(--f-mono); font-size: 9.5px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--sage); }
  :where(.page-membership-pricing) .pr-beat-t { font-family: var(--f-display); font-weight: 300; font-size: clamp(21px,2.2vw,27px); color: var(--t1); line-height: 1.18; letter-spacing: -0.01em; margin: 0; }
  :where(.page-membership-pricing) .pr-beat-t em { font-style: italic; color: var(--sage-2); }
  :where(.page-membership-pricing) .pr-beat-d { font-size: 13px; color: var(--t2); line-height: 1.65; margin: 0; }
  @media (max-width: 820px){ :where(.page-membership-pricing) .pr-story-beats { grid-template-columns: 1fr; } }
    :where(.page-membership-pricing) .us-px{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:clamp(2rem,4vw,3rem) 0 clamp(3.5rem,6vw,5.5rem);}
    :where(.page-membership-pricing) .us-px-c{background:var(--bg-2);padding:clamp(1.6rem,2.8vw,2.4rem);display:flex;flex-direction:column;gap:.85rem;}
    :where(.page-membership-pricing) .us-px-c.gold{box-shadow:inset 0 2px 0 var(--gold);background:linear-gradient(180deg,rgba(201,183,131,.06),transparent 45%),var(--bg-2);}
    :where(.page-membership-pricing) .us-px-k{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);}
    :where(.page-membership-pricing) .us-px-c.gold .us-px-k{color:var(--gold);}
    :where(.page-membership-pricing) .us-px-n{font-family:var(--f-display);font-weight:300;font-style:italic;font-size:clamp(26px,2.6vw,34px);color:var(--t1);line-height:1.05;}
    :where(.page-membership-pricing) .us-px-v{font-family:var(--f-display);font-weight:300;font-size:clamp(44px,4.6vw,60px);line-height:.95;color:var(--sage-2);letter-spacing:-.02em;}
    :where(.page-membership-pricing) .us-px-c.gold .us-px-v{color:var(--gold);}
    :where(.page-membership-pricing) .us-px-v small{font-family:var(--f-body);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--t2);margin-left:.4rem;}
    :where(.page-membership-pricing) .us-px-v.var{font-size:clamp(22px,2.2vw,28px);font-style:italic;color:var(--t1);line-height:1.15;}
    :where(.page-membership-pricing) .us-px-d{font-size:13.5px;color:var(--t2);line-height:1.65;margin:0;}
    :where(.page-membership-pricing) .us-px-c a{margin-top:auto;padding-top:.5rem;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);}
    :where(.page-membership-pricing) .us-px-c.gold a{color:var(--gold);}
    :where(.page-membership-pricing) .us-act{display:grid;grid-template-columns:1.1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-top:0;margin-top:calc(-1 * clamp(3.5rem,6vw,5.5rem));margin-bottom:clamp(3.5rem,6vw,5.5rem);}
    :where(.page-membership-pricing) .us-act>div{background:var(--bg-2);padding:clamp(1.6rem,2.8vw,2.4rem);display:flex;flex-direction:column;gap:.75rem;}
    :where(.page-membership-pricing) .us-act-v{font-family:var(--f-display);font-weight:300;font-size:clamp(38px,4vw,52px);line-height:1;color:var(--gold);}
    :where(.page-membership-pricing) .us-act-v small{font-family:var(--f-body);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--t2);margin-left:.4rem;}
    :where(.page-membership-pricing) .us-act-h{font-family:var(--f-display);font-size:clamp(22px,2.2vw,28px);font-weight:300;color:var(--t1);line-height:1.15;}
    :where(.page-membership-pricing) .us-act-h em{font-style:italic;color:var(--sage-2);}
    :where(.page-membership-pricing) .us-act p{font-size:13.5px;color:var(--t2);line-height:1.65;margin:0;}
    :where(.page-membership-pricing) .us-act ul{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;}
    :where(.page-membership-pricing) .us-act li{font-size:11px;letter-spacing:.08em;color:var(--t1);border:1px solid var(--line-2);padding:.35rem .7rem;}
    :where(.page-membership-pricing) .us-pay{display:flex;flex-direction:column;}
    :where(.page-membership-pricing) .us-pay-row{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px solid var(--line);font-size:14px;color:var(--t2);}
    :where(.page-membership-pricing) .us-pay-row:first-of-type{border-top:0;}
    :where(.page-membership-pricing) .us-pay-row b{font-weight:500;color:var(--t1);white-space:nowrap;}
    :where(.page-membership-pricing) .us-pay-row.tot b{color:var(--gold);}
    @media(max-width:860px){:where(.page-membership-pricing) .us-px{grid-template-columns:1fr;}:where(.page-membership-pricing) .us-act{grid-template-columns:1fr;}}


/* ═══════════════════════════════════════════════════════════
   PAGE: terms-and-conditions.php  (scoped to html.page-terms-and-conditions)
═══════════════════════════════════════════════════════════ */
/* ── CSS VARIABLES ── */
:root:where(.page-terms-and-conditions){
  --navy:#0B1715;
  --navy-mid:#0B1715;
  --navy-card:#0B1715;
  --navy-light:#0f2338;
  --green:##7f947c;
  --green-dim:##7f947c;
  --green-pale:rgba(128,195,65,.09);
  --red:#ed1f24;
  --red-pale:rgba(237,31,36,.08);
  --text-primary:#f0f4f8;
  --text-secondary:#ccc;
  --text-muted:#999;
  --border:rgba(255,255,255,.07);
  --border-mid:rgba(255,255,255,.12);
  --max-w:1200px;
}

:where(.page-terms-and-conditions) *,:where(.page-terms-and-conditions) *::before,:where(.page-terms-and-conditions) *::after{box-sizing:border-box;margin:0;padding:0}
html:where(.page-terms-and-conditions){scroll-behavior:smooth}
:where(.page-terms-and-conditions) body{
  font-family:'Plus Jakarta Sans',sans-serif;
  background:var(--navy);
  color:var(--text-secondary);
  font-size:15px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

/* ── TOP BAR ── */
:where(.page-terms-and-conditions) .topbar{
  background:var(--green);
  padding:.42rem 1.5rem;
  text-align:center;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--navy);
  text-transform:uppercase;
}
:where(.page-terms-and-conditions) .topbar span{opacity:.65;margin:0 .9rem;font-weight:400;text-transform:none;letter-spacing:0}

/* ── NAV ── */
:where(.page-terms-and-conditions) .nav{
  position:sticky;
  top:0;
  z-index:100;
  background:##0B1715;
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  padding:.9rem 2rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
:where(.page-terms-and-conditions) .nav-brand{
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:.6rem;
}
:where(.page-terms-and-conditions) .nav-brand img.logo{
  height:36px;
  width:auto;
  display:block;
}
:where(.page-terms-and-conditions) .nav-brand .tm{font-size:.6rem;font-family:'Plus Jakarta Sans',sans-serif;color:var(--text-muted);vertical-align:super;font-style:normal}
:where(.page-terms-and-conditions) .nav-pill{
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  background:var(--green-pale);
  color:var(--green);
  border:1px solid rgba(128,195,65,.2);
  border-radius:100px;
  padding:.28rem .85rem;
}
:where(.page-terms-and-conditions) .nav-actions{display:flex;align-items:center;gap:.75rem}
:where(.page-terms-and-conditions) .btn-green{
  background:var(--green);
  color:var(--navy);
  padding:.62rem 1.5rem;
  border-radius:8px;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.01em;
  border:none;
  cursor:pointer;
  text-decoration:none;
  display:inline-block;
  transition:all .2s;
}
:where(.page-terms-and-conditions) .btn-green:hover{background:var(--green-dim);transform:translateY(-1px);box-shadow:0 6px 20px rgba(128,195,65,.3)}
:where(.page-terms-and-conditions) .btn-ghost{
  background:transparent;
  color:var(--text-secondary);
  padding:.62rem 1.3rem;
  border-radius:8px;
  font-size:.78rem;
  font-weight:500;
  border:1px solid var(--border-mid);
  cursor:pointer;
  text-decoration:none;
  display:inline-block;
  transition:all .2s;
}
:where(.page-terms-and-conditions) .btn-ghost:hover{border-color:var(--green);color:var(--green)}

/* ── PAGE HERO ── */
:where(.page-terms-and-conditions) .page-hero{
  background:var(--navy);
  padding:1rem 2rem 1rem;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--border);
	min-height: 30vh;
}
:where(.page-terms-and-conditions) .page-hero::before{
  content:'';
  position:absolute;
  top:-180px;right:-80px;
  width:650px;height:650px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(128,195,65,.07) 0%,transparent 65%);
}
:where(.page-terms-and-conditions) .page-hero::after{
  content:'';
  position:absolute;
  bottom:-80px;left:-40px;
  width:420px;height:420px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(237,31,36,.04) 0%,transparent 65%);
}
:where(.page-terms-and-conditions) .hero-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(128,195,65,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(128,195,65,.022) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 70% at 60% 40%,black 20%,transparent 100%);
}
:where(.page-terms-and-conditions) .hero-inner{max-width:var(--max-w);margin:0 auto;position:relative;z-index:1}
:where(.page-terms-and-conditions) .eyebrow{
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--green);
  display:flex;
  align-items:center;
  gap:.7rem;
  margin-bottom:1rem;
}
:where(.page-terms-and-conditions) .eyebrow::before{content:'';width:24px;height:1.5px;background:var(--green);flex-shrink:0}
:where(.page-terms-and-conditions) .hero-h1{
  font-family:'Instrument Serif',serif;
  font-size:clamp(2rem,3.5vw,3.2rem);
  font-weight:400;
  line-height:1.18;
  color:var(--text-primary);
}
:where(.page-terms-and-conditions) .hero-h1 em{font-style:italic;color:var(--green)}
:where(.page-terms-and-conditions) .hero-sub{
  font-size:.9rem;
  color:var(--text-secondary);
  line-height:1.85;
  margin-top:1rem;
  font-weight:300;
  max-width:640px;
}
:where(.page-terms-and-conditions) .meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:2rem;
}
:where(.page-terms-and-conditions) .meta-tag{
  background:rgba(255,255,255,.04);
  border:1px solid var(--border-mid);
  border-radius:100px;
  padding:.3rem 1rem;
  font-size:.68rem;
  font-weight:600;
  color:var(--text-secondary);
  letter-spacing:.04em;
}
:where(.page-terms-and-conditions) .meta-tag em{color:var(--green);font-style:normal;margin-right:.3rem}

:where(.page-terms-and-conditions) .powered-row{margin-top:2rem}
:where(.page-terms-and-conditions) .powered-logo{height:28px;width:auto;opacity:.7;filter:brightness(0) invert(1);transition:opacity .2s}
:where(.page-terms-and-conditions) .powered-logo:hover{opacity:1}

:where(.page-terms-and-conditions) .trust-bar{
  background:var(--green);
  overflow:hidden;
  padding:.7rem 0;
}
:where(.page-terms-and-conditions) .trust-track{display:flex;animation:marquee 30s linear infinite;white-space:nowrap}
:where(.page-terms-and-conditions) .trust-item{
  display:flex;align-items:center;gap:.55rem;
  font-size:.7rem;color:var(--navy);
  padding:0 2.5rem;flex-shrink:0;
  letter-spacing:.05em;font-weight:700;
}
:where(.page-terms-and-conditions) .trust-sep{color:var(--navy);font-size:.55rem;opacity:.45}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── LAYOUT ── */
:where(.page-terms-and-conditions) .layout{
  max-width:var(--max-w);
  margin:0 auto;
  display:grid;
  grid-template-columns:272px 1fr;
  gap:0;
  align-items:start;
  padding:0 2rem;
}

/* ── SIDEBAR ── */
:where(.page-terms-and-conditions) .sidebar{
  position:sticky;
  top:56px;
  padding:2rem 0;
  max-height:calc(100vh - 60px);
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(128,195,65,.25) transparent;
}
:where(.page-terms-and-conditions) .sidebar::-webkit-scrollbar{width:3px}
:where(.page-terms-and-conditions) .sidebar::-webkit-scrollbar-thumb{background:rgba(128,195,65,.3);border-radius:3px}
:where(.page-terms-and-conditions) .nav-label{
  font-size:.6rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:.9rem;
  padding-left:4px;
}
:where(.page-terms-and-conditions) .sidenav{list-style:none}
:where(.page-terms-and-conditions) .sidenav li{margin-bottom:2px}
:where(.page-terms-and-conditions) .sidenav a{
  display:flex;align-items:center;gap:.6rem;
  padding:.52rem .9rem;
  font-size:.75rem;font-weight:500;
  color:var(--text-secondary);
  text-decoration:none;
  border-radius:8px;
  border-left:2px solid transparent;
  transition:all .18s;
}
:where(.page-terms-and-conditions) .sidenav a:hover,:where(.page-terms-and-conditions) .sidenav a.active{
  background:var(--green-pale);
  color:var(--green);
  border-left-color:var(--green);
  padding-left:1.1rem;
}
:where(.page-terms-and-conditions) .sidenav .doc-num{
  font-size:.6rem;font-weight:700;
  color:var(--text-muted);
  letter-spacing:.06em;
  background:rgba(255,255,255,.05);
  border-radius:4px;
  padding:.1rem .38rem;
  flex-shrink:0;
}
:where(.page-terms-and-conditions) .sidenav a:hover .doc-num,:where(.page-terms-and-conditions) .sidenav a.active .doc-num{
  color:var(--green);background:rgba(128,195,65,.12);
}
:where(.page-terms-and-conditions) .side-divider{height:1px;background:var(--border);margin:.8rem 0}
:where(.page-terms-and-conditions) .side-print{
  display:flex;align-items:center;gap:.5rem;
  padding:.6rem .9rem;
  font-size:.73rem;font-weight:600;
  color:var(--text-muted);cursor:pointer;
  border-radius:8px;border:1px solid var(--border);
  transition:all .2s;background:transparent;
  width:100%;text-align:left;margin-top:.75rem;
}
:where(.page-terms-and-conditions) .side-print:hover{border-color:rgba(128,195,65,.3);color:var(--green)}
:where(.page-terms-and-conditions) .side-updated{
  margin-top:1.2rem;
  padding:.7rem .9rem;
  background:var(--navy-card);
  border:1px solid var(--border);
  border-radius:8px;
  font-size:.68rem;
  color:var(--text-muted);
  line-height:1.6;
}
:where(.page-terms-and-conditions) .side-updated strong{color:var(--text-secondary);display:block;margin-bottom:.15rem}

/* ── MAIN ── */
:where(.page-terms-and-conditions) .main{padding:3rem 0 5rem 3rem;border-left:1px solid var(--border)}

/* ── DOC SECTION ── */
:where(.page-terms-and-conditions) .doc-section{
  margin-bottom:5rem;
  padding-bottom:5rem;
  border-bottom:1px solid var(--border);
  scroll-margin-top:72px;
}
:where(.page-terms-and-conditions) .doc-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}

:where(.page-terms-and-conditions) .section-hd{
  display:flex;align-items:flex-start;gap:1.1rem;
  margin-bottom:2rem;
  padding-bottom:1.5rem;
  border-bottom:1px solid var(--border);
}
:where(.page-terms-and-conditions) .section-num-badge{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.6rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--green);
  background:var(--green-pale);
  border:1px solid rgba(128,195,65,.2);
  border-radius:6px;
  padding:.3rem .7rem;
  flex-shrink:0;margin-top:.35rem;
}
:where(.page-terms-and-conditions) .section-title{
  font-family:'Instrument Serif',serif;
  font-size:1.8rem;font-weight:400;
  color:var(--text-primary);line-height:1.22;
  margin-bottom:.2rem;
}
:where(.page-terms-and-conditions) .section-title em{font-style:italic;color:var(--green)}
:where(.page-terms-and-conditions) .section-sub{
  font-size:.67rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--text-muted);
}

/* ── CONTENT TYPOGRAPHY ── */
:where(.page-terms-and-conditions) .section-body{margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--border)}
:where(.page-terms-and-conditions) .section-body:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}

:where(.page-terms-and-conditions) h2{
  font-family:'Instrument Serif',serif;
  font-size:1.3rem;font-weight:400;
  color:var(--text-primary);
  margin:2rem 0 .6rem;line-height:1.3;
}
:where(.page-terms-and-conditions) h2 em{font-style:italic;color:var(--green)}
:where(.page-terms-and-conditions) h3{
  font-size:.68rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--green);
  margin:1.5rem 0 .5rem;
  display:flex;align-items:center;gap:.5rem;
}
:where(.page-terms-and-conditions) h3::before{content:'';width:14px;height:1.5px;background:var(--green);flex-shrink:0}
:where(.page-terms-and-conditions) p{
  color:var(--text-secondary);
  font-size:.875rem;
  line-height:1.85;
  margin-bottom:.85rem;
  font-weight:300;
}
:where(.page-terms-and-conditions) p:last-child{margin-bottom:0}
:where(.page-terms-and-conditions) strong{color:var(--text-primary);font-weight:600}
:where(.page-terms-and-conditions) ul,:where(.page-terms-and-conditions) ol{
  padding-left:1.3rem;
  margin-bottom:.85rem;
  color:var(--text-secondary);
  font-size:.875rem;
  font-weight:300;
  line-height:1.85;
}
:where(.page-terms-and-conditions) li{margin-bottom:.3rem}
:where(.page-terms-and-conditions) li::marker{color:var(--green)}
:where(.page-terms-and-conditions) a{color:var(--green);text-decoration:none}
:where(.page-terms-and-conditions) a:hover{text-decoration:underline}
:where(.page-terms-and-conditions) code{
  font-size:.78rem;color:var(--green);
  background:var(--green-pale);
  border-radius:4px;padding:.1rem .38rem;
}

/* ── NOTICE BOXES ── */
:where(.page-terms-and-conditions) .notice{
  border-radius:10px;padding:1.1rem 1.3rem;
  margin:1.2rem 0;
  display:flex;gap:.9rem;align-items:flex-start;
}
:where(.page-terms-and-conditions) .notice-info{background:rgba(128,195,65,.06);border:1px solid rgba(128,195,65,.18);border-left:3px solid var(--green)}
:where(.page-terms-and-conditions) .notice-warn{background:rgba(232,160,32,.05);border:1px solid rgba(232,160,32,.18);border-left:3px solid #e8a020}
:where(.page-terms-and-conditions) .notice-alert{background:rgba(237,31,36,.05);border:1px solid rgba(237,31,36,.15);border-left:3px solid var(--red)}
:where(.page-terms-and-conditions) .notice-icon{font-size:1.05rem;flex-shrink:0;margin-top:.1rem}
:where(.page-terms-and-conditions) .notice-body{font-size:.82rem;line-height:1.75;color:var(--text-secondary);font-weight:300}
:where(.page-terms-and-conditions) .notice-body strong{color:var(--text-primary)}

/* ── DATA TABLE ── */
:where(.page-terms-and-conditions) .tbl-wrap{overflow-x:auto;margin:1.2rem 0 1.5rem;border-radius:10px;border:1px solid var(--border)}
:where(.page-terms-and-conditions) table{width:100%;border-collapse:collapse;font-size:.78rem}
:where(.page-terms-and-conditions) thead th{
  background:var(--navy-card);
  color:var(--text-primary);padding:.75rem 1rem;
  text-align:left;font-weight:700;
  font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;
  border-bottom:1px solid var(--border-mid);
}
:where(.page-terms-and-conditions) thead th:first-child{border-radius:10px 0 0 0}
:where(.page-terms-and-conditions) thead th:last-child{border-radius:0 10px 0 0}
:where(.page-terms-and-conditions) tbody td{padding:.7rem 1rem;border-bottom:1px solid var(--border);color:var(--text-secondary);vertical-align:top;font-weight:300;line-height:1.65}
:where(.page-terms-and-conditions) tbody tr:last-child td{border-bottom:none}
:where(.page-terms-and-conditions) tbody tr:hover td{background:rgba(255,255,255,.02)}
:where(.page-terms-and-conditions) tbody td strong{color:var(--text-primary)}

/* ── QUICK-REF CARDS ── */
:where(.page-terms-and-conditions) .quick-ref{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.85rem;margin:1.2rem 0;
}
:where(.page-terms-and-conditions) .qr-card{
  background:var(--navy-card);
  border:1px solid var(--border);
  border-radius:10px;padding:1rem 1.1rem;
  border-top:2px solid var(--green);
}
:where(.page-terms-and-conditions) .qr-label{font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:.4rem}
:where(.page-terms-and-conditions) .qr-value{font-size:.85rem;font-weight:700;color:var(--text-primary);line-height:1.35}
:where(.page-terms-and-conditions) .qr-sub{font-size:.7rem;color:var(--text-muted);margin-top:.18rem;font-weight:300}

/* ── CONTACT BLOCK ── */
:where(.page-terms-and-conditions) .contact-block{
  background:var(--navy-card);
  border:1px solid var(--border);
  border-radius:8px;padding:.8rem 1rem;
  margin-top:1rem;font-size:.78rem;
  color:var(--text-muted);
  display:flex;align-items:center;gap:.55rem;
}
:where(.page-terms-and-conditions) .contact-block span{color:var(--green);font-size:.95rem;flex-shrink:0}
:where(.page-terms-and-conditions) .contact-block a{color:var(--green);font-weight:600;text-decoration:none}

/* ── ADDRESS CARDS ── */
:where(.page-terms-and-conditions) .address-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin:1.5rem 0}
:where(.page-terms-and-conditions) .address-card{
  background:var(--navy-card);
  border:1px solid var(--border);
  border-radius:12px;padding:1.2rem 1.3rem;
  border-top:2px solid var(--green);
  transition:all .25s;
}
:where(.page-terms-and-conditions) .address-card:hover{box-shadow:0 8px 28px rgba(0,0,0,.3);border-color:rgba(128,195,65,.25)}
:where(.page-terms-and-conditions) .address-card .region{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:.65rem}
:where(.page-terms-and-conditions) .address-card address{font-style:normal;font-size:.8rem;color:var(--text-secondary);line-height:1.75;font-weight:300}

/* ── CERT CHIPS ── */
:where(.page-terms-and-conditions) .cert-row{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.1rem 0}
:where(.page-terms-and-conditions) .cert-chip{
  background:rgba(255,255,255,.04);
  border:1px solid var(--border-mid);
  padding:.32rem .9rem;
  border-radius:100px;
  font-size:.68rem;color:var(--text-secondary);
  letter-spacing:.03em;font-weight:500;
}
:where(.page-terms-and-conditions) .cert-chip span{color:var(--green);margin-right:.3rem}

/* ── FOOTER ── */
:where(.page-terms-and-conditions) .footer{
  background:var(--navy-mid);
  border-top:1px solid var(--border);
  padding:3.5rem 2rem 2.5rem;
  margin-top:0;
}
:where(.page-terms-and-conditions) .footer-inner{max-width:var(--max-w);margin:0 auto}
:where(.page-terms-and-conditions) .footer-top{
  display:grid;
  grid-template-columns:1.4fr repeat(3,1fr);
  gap:3rem;
  margin-bottom:3rem;
  padding-bottom:2.5rem;
  border-bottom:1px solid var(--border);
}
:where(.page-terms-and-conditions) .footer-brand{
  font-family:'Instrument Serif',serif;
  font-size:1.1rem;
  color:var(--text-primary);
  margin-bottom:.75rem;
}
:where(.page-terms-and-conditions) .footer-brand em{color:var(--green);font-style:italic}
:where(.page-terms-and-conditions) .footer-tagline{font-size:.78rem;color:var(--text-muted);font-weight:300;line-height:1.75}
:where(.page-terms-and-conditions) .footer-col h4{font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.9rem}
:where(.page-terms-and-conditions) .footer-col ul{list-style:none;padding:0}
:where(.page-terms-and-conditions) .footer-col li{margin-bottom:.45rem}
:where(.page-terms-and-conditions) .footer-col a{font-size:.8rem;color:var(--text-secondary);font-weight:300;transition:color .18s}
:where(.page-terms-and-conditions) .footer-col a:hover{color:var(--green);text-decoration:none}
:where(.page-terms-and-conditions) .footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:1rem;
}
:where(.page-terms-and-conditions) .footer-copy{font-size:.72rem;color:var(--text-muted);font-weight:300}
:where(.page-terms-and-conditions) .footer-legal{display:flex;gap:1.5rem;flex-wrap:wrap}
:where(.page-terms-and-conditions) .footer-legal a{font-size:.72rem;color:var(--text-muted);text-decoration:none}
:where(.page-terms-and-conditions) .footer-legal a:hover{color:var(--green)}

/* ── MOBILE TOC BUTTON ── */
:where(.page-terms-and-conditions) .mob-toc-btn{
  display:none;
  align-items:center;gap:.5rem;
  background:var(--green-pale);
  border:1px solid rgba(128,195,65,.25);
  color:var(--green);
  border-radius:8px;
  padding:.55rem 1rem;
  font-size:.72rem;font-weight:700;letter-spacing:.04em;
  cursor:pointer;margin-bottom:1.5rem;width:100%;
  text-align:left;
}
:where(.page-terms-and-conditions) .mob-toc-btn svg{flex-shrink:0}
:where(.page-terms-and-conditions) .mob-sidebar-close{display:none}

/* ── SCROLL REVEAL ── */
:where(.page-terms-and-conditions) .reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
:where(.page-terms-and-conditions) .reveal.visible{opacity:1;transform:none}

/* ── RESPONSIVE ── */

/* Tablet (≤880px) */
@media(max-width:880px){
  :where(.page-terms-and-conditions) .layout{grid-template-columns:1fr;padding:0 1.2rem}
  :where(.page-terms-and-conditions) .sidebar{display:none}
  :where(.page-terms-and-conditions) .sidebar.mob-open{
    display:block;
    position:fixed;inset:0;z-index:200;
    background:var(--navy);
    overflow-y:auto;
    padding:1.5rem 1.5rem 3rem;
    animation:slideInLeft .22s ease;
  }
  @keyframes slideInLeft{from{transform:translateX(-100%)}to{transform:translateX(0)}}
  :where(.page-terms-and-conditions) .mob-sidebar-close{
    display:flex;align-items:center;justify-content:flex-end;
    margin-bottom:1.2rem;
  }
  :where(.page-terms-and-conditions) .mob-sidebar-close button{
    background:rgba(255,255,255,.07);border:1px solid var(--border-mid);
    color:var(--text-secondary);border-radius:8px;
    padding:.45rem .85rem;font-size:.8rem;cursor:pointer;
  }
  :where(.page-terms-and-conditions) .main{padding:2rem 0 3rem;border:none}
  :where(.page-terms-and-conditions) .quick-ref{grid-template-columns:1fr 1fr}
  :where(.page-terms-and-conditions) .footer-top{grid-template-columns:1fr 1fr;gap:2rem}
  :where(.page-terms-and-conditions) .nav-actions .btn-ghost{display:none}
  :where(.page-terms-and-conditions) .section-title{font-size:1.5rem}
  :where(.page-terms-and-conditions) .mob-toc-btn{display:flex}
  :where(.page-terms-and-conditions) .page-hero{padding:2rem 1.2rem 2rem}
  :where(.page-terms-and-conditions) .meta-row{gap:.4rem}
  :where(.page-terms-and-conditions) .contact-block{flex-direction:column;align-items:flex-start;gap:.3rem}
  :where(.page-terms-and-conditions) .contact-block span{display:none}
  :where(.page-terms-and-conditions) .notice{gap:.6rem}
}

/* Mobile (≤580px) */
@media(max-width:580px){
  :where(.page-terms-and-conditions) body{font-size:14px}

  /* Nav */
  :where(.page-terms-and-conditions) .nav{padding:.75rem 1rem}
  :where(.page-terms-and-conditions) .nav-pill{display:none}
  :where(.page-terms-and-conditions) .nav-brand img.logo{height:28px}
  :where(.page-terms-and-conditions) .btn-green{padding:.5rem 1rem;font-size:.72rem}

  /* Hero */
  :where(.page-terms-and-conditions) .page-hero{padding:2rem 1rem 1.8rem;min-height:auto}
  :where(.page-terms-and-conditions) .hero-h1{font-size:clamp(1.7rem,7vw,2.4rem)}
  :where(.page-terms-and-conditions) .hero-sub{font-size:.82rem}
  :where(.page-terms-and-conditions) .eyebrow{font-size:.6rem}
  :where(.page-terms-and-conditions) .meta-row{gap:.35rem;margin-top:1.2rem}
  :where(.page-terms-and-conditions) .meta-tag{font-size:.62rem;padding:.25rem .75rem}

  /* Layout */
  :where(.page-terms-and-conditions) .layout{padding:0 .9rem}
  :where(.page-terms-and-conditions) .main{padding:1.5rem 0 2.5rem}

  /* Section headers */
  :where(.page-terms-and-conditions) .section-hd{gap:.7rem;margin-bottom:1.2rem;padding-bottom:1rem}
  :where(.page-terms-and-conditions) .section-title{font-size:1.35rem}
  :where(.page-terms-and-conditions) .section-num-badge{font-size:.55rem;padding:.25rem .55rem}
  :where(.page-terms-and-conditions) .doc-section{margin-bottom:3rem;padding-bottom:3rem;scroll-margin-top:60px}

  /* Content */
  :where(.page-terms-and-conditions) h2{font-size:1.1rem;margin:1.4rem 0 .5rem}
  :where(.page-terms-and-conditions) p,:where(.page-terms-and-conditions) ul,:where(.page-terms-and-conditions) ol{font-size:.83rem}
  :where(.page-terms-and-conditions) .section-body{margin-bottom:1.8rem;padding-bottom:1.8rem}

  /* Quick ref cards: stack */
  :where(.page-terms-and-conditions) .quick-ref{grid-template-columns:1fr}

  /* Tables: horizontal scroll with min widths */
  :where(.page-terms-and-conditions) .tbl-wrap{-webkit-overflow-scrolling:touch;border-radius:8px}
  :where(.page-terms-and-conditions) table{min-width:420px}
  :where(.page-terms-and-conditions) thead th,:where(.page-terms-and-conditions) tbody td{padding:.55rem .75rem;font-size:.72rem}

  /* Notices */
  :where(.page-terms-and-conditions) .notice{padding:.85rem 1rem;flex-direction:row;gap:.55rem}
  :where(.page-terms-and-conditions) .notice-body{font-size:.78rem}

  /* Address grid */
  :where(.page-terms-and-conditions) .address-grid{grid-template-columns:1fr}

  /* Contact block */
  :where(.page-terms-and-conditions) .contact-block{padding:.7rem .85rem;flex-direction:column;gap:.2rem;font-size:.73rem}

  /* Footer */
  :where(.page-terms-and-conditions) .footer{padding:2.5rem 1rem 2rem}
  :where(.page-terms-and-conditions) .footer-top{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem}
  :where(.page-terms-and-conditions) .footer-bottom{flex-direction:column;align-items:flex-start;gap:.75rem}
  :where(.page-terms-and-conditions) .footer-legal{gap:1rem}
  :where(.page-terms-and-conditions) .topbar{font-size:.65rem;padding:.35rem 1rem}

  /* Trust bar */
  :where(.page-terms-and-conditions) .trust-item{font-size:.65rem;padding:0 1.5rem}

  /* Cert chips */
  :where(.page-terms-and-conditions) .cert-chip{font-size:.62rem;padding:.28rem .7rem}

  /* Section body border spacing */
  :where(.page-terms-and-conditions) .section-body:last-child{padding-bottom:0;margin-bottom:0}
}

/* Very small screens (≤360px) */
@media(max-width:360px){
  :where(.page-terms-and-conditions) .nav{padding:.65rem .85rem}
  :where(.page-terms-and-conditions) .layout{padding:0 .75rem}
  :where(.page-terms-and-conditions) .hero-h1{font-size:1.55rem}
  :where(.page-terms-and-conditions) .btn-green{padding:.45rem .8rem;font-size:.68rem}
  :where(.page-terms-and-conditions) table{min-width:360px}
}
@media print{
  :where(.page-terms-and-conditions) .topbar,:where(.page-terms-and-conditions) .nav,:where(.page-terms-and-conditions) .sidebar,:where(.page-terms-and-conditions) .trust-bar,:where(.page-terms-and-conditions) .footer{display:none}
  :where(.page-terms-and-conditions) .layout{display:block;padding:0}
  :where(.page-terms-and-conditions) .main{padding:0;border:none}
  :where(.page-terms-and-conditions) body{background:#fff;color:#000}
}
@media(prefers-reduced-motion:reduce){
  :where(.page-terms-and-conditions) .reveal{transition:none}
  :where(.page-terms-and-conditions) .trust-track{animation:none}
  :where(.page-terms-and-conditions) *{transition-duration:.01ms!important}
}


/* ═══════════════════════════════════════════════════════════
   PAGE: the-science.php  (scoped to html.page-the-science)
═══════════════════════════════════════════════════════════ */
:root:where(.page-the-science) { --f-display: "Cormorant Garamond", "Playfair Display", "Times New Roman", serif; }
  html:where(.page-the-science) { scroll-behavior: smooth; scroll-padding-top: 152px; }
  :where(.page-the-science) .media-fill { position: absolute; inset: 0; width: 100%; height: 100%; }

  /* ── Sticky sub-nav ─────────────────────────────────────── */
  :where(.page-the-science) .sci-subnav {
    position: sticky; top: 114px; z-index: 70;
    background: rgba(7,18,24,0.82);
    backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  :where(.page-the-science) .sci-subnav-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; height: 56px; }
  :where(.page-the-science) .sci-subnav-label {
    font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase;
    color: var(--sage); flex-shrink: 0;
  }
  :where(.page-the-science) .sci-subnav-links { display: flex; align-items: center; gap: clamp(1.25rem, 2.5vw, 2.5rem); overflow-x: auto; scrollbar-width: none; }
  :where(.page-the-science) .sci-subnav-links::-webkit-scrollbar { display: none; }
  :where(.page-the-science) .sci-subnav-links a {
    font-family: var(--f-body); font-size: 11px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--t3); white-space: nowrap; padding: 0.4rem 0; position: relative;
    transition: color 0.3s var(--ease-out);
  }
  :where(.page-the-science) .sci-subnav-links a:hover { color: var(--t1); }
  :where(.page-the-science) .sci-subnav-links a.active { color: var(--t1); }
  :where(.page-the-science) .sci-subnav-links a.active::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 1px; background: var(--sage);
  }
  :where(.page-the-science) .sci-subnav .btn { padding: 0.7rem 1.3rem; flex-shrink: 0; }
  @media (max-width: 920px) { :where(.page-the-science) .sci-subnav-label, :where(.page-the-science) .sci-subnav .btn { display: none; } :where(.page-the-science) .sci-subnav-inner { justify-content: flex-start; } }

  /* ── Lead band ──────────────────────────────────────────── */
  :where(.page-the-science) .sci-lead-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
  :where(.page-the-science) .sci-principle {
    margin-top: 2rem; padding: 1.75rem 0 0; border-top: 1px solid var(--line-2);
    font-family: var(--f-display); font-size: clamp(22px, 2.4vw, 30px); font-weight: 300;
    color: var(--t1); line-height: 1.35; letter-spacing: -0.01em;
  }
  :where(.page-the-science) .sci-principle em { font-style: italic; color: var(--sage-2); }
  @media (max-width: 900px) { :where(.page-the-science) .sci-lead-grid { grid-template-columns: 1fr; gap: 2rem; } }

  /* ── Measure block ──────────────────────────────────────── */
  :where(.page-the-science) .sci-measures { display: flex; flex-direction: column; }
  :where(.page-the-science) .sci-measure { padding: clamp(2.75rem, 5vw, 4.5rem) 0; border-top: 1px solid var(--line); }
  :where(.page-the-science) .sci-measure:first-child { border-top: 0; padding-top: 0; }
  :where(.page-the-science) .sci-measure-head { display: flex; align-items: baseline; gap: 1.5rem; margin-bottom: 2.25rem; flex-wrap: wrap; }
  :where(.page-the-science) .sci-measure-n { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.2em; color: var(--sage); padding-top: 0.4rem; }
  :where(.page-the-science) .sci-measure-title { font-family: var(--f-display); font-weight: 300; font-size: clamp(30px, 4vw, 50px); line-height: 1.04; letter-spacing: -0.02em; color: var(--t1); }
  :where(.page-the-science) .sci-measure-title em { font-style: italic; color: var(--sage-2); }
  :where(.page-the-science) .sci-measure-tag {
    font-family: var(--f-mono); font-size: 9.5px; letter-spacing: 0.18em; text-transform: uppercase;
    color: var(--gold); border: 1px solid var(--line-2); padding: 0.45rem 0.8rem; align-self: center;
  }
  :where(.page-the-science) .sci-measure-body { display: flex; gap: clamp(1.75rem, 3.5vw, 3.5rem); align-items: stretch; }
  :where(.page-the-science) .sci-measure:nth-child(even) .sci-measure-body { flex-direction: row-reverse; }
  :where(.page-the-science) .sci-measure-media {
    flex: 0 0 30%; position: relative; min-height: 360px; overflow: hidden;
    background: var(--bg-2); border: 1px solid var(--line); align-self: stretch;
  }
  :where(.page-the-science) .sci-measure-media image-slot { position: absolute; inset: 0; width: 100%; height: 100%; }
  :where(.page-the-science) .sci-measure-media::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(180deg, transparent 55%, rgba(7,18,24,0.5));
  }
  :where(.page-the-science) .sci-measure-content { flex: 1; display: grid; grid-template-columns: 1.25fr 1fr; gap: clamp(1.5rem, 3vw, 3rem); }
  :where(.page-the-science) .sci-measure-narr > p { color: var(--t2); font-size: 16px; line-height: 1.85; max-width: 56ch; }
  @media (max-width: 1040px) {
    :where(.page-the-science) .sci-measure-body, :where(.page-the-science) .sci-measure:nth-child(even) .sci-measure-body { flex-direction: column; }
    :where(.page-the-science) .sci-measure-media { flex: none; width: 100%; min-height: 0; aspect-ratio: 16/9; }
  }
  @media (max-width: 760px) { :where(.page-the-science) .sci-measure-content { grid-template-columns: 1fr; gap: 1.75rem; } }

  /* Evidence callout */
  :where(.page-the-science) .sci-evidence { margin-top: 1.75rem; padding-top: 1.4rem; border-top: 1px solid var(--line-2); }
  :where(.page-the-science) .sci-evidence-label { font-family: var(--f-mono); font-size: 9.5px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--sage); display: block; margin-bottom: 0.7rem; }
  :where(.page-the-science) .sci-evidence p { color: var(--t2); font-size: 14.5px; line-height: 1.8; max-width: 58ch; }
  :where(.page-the-science) .sci-evidence strong { color: var(--t1); font-weight: 500; }

  /* Reveals list */
  :where(.page-the-science) .sci-reveals-label { font-family: var(--f-mono); font-size: 9.5px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--t3); margin-bottom: 1.1rem; }
  :where(.page-the-science) .sci-reveals { display: flex; flex-direction: column; gap: 0.85rem; }
  :where(.page-the-science) .sci-reveals li { display: grid; grid-template-columns: auto 1fr; gap: 0.85rem; align-items: baseline; font-size: 14.5px; color: var(--t1); line-height: 1.5; }
  :where(.page-the-science) .sci-reveals li::before { content: "—"; color: var(--sage); }

  /* Inline reference superscript */
  :where(.page-the-science) sup.sci-ref { font-family: var(--f-mono); font-size: 9px; letter-spacing: 0.02em; vertical-align: super; line-height: 0; margin-left: 1px; }
  :where(.page-the-science) sup.sci-ref a { color: var(--sage); padding: 0 1px; transition: color 0.2s; }
  :where(.page-the-science) sup.sci-ref a:hover { color: var(--sage-2); }

  /* ── Helps cards ────────────────────────────────────────── */
  :where(.page-the-science) .sci-helps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
  @media (max-width: 820px) { :where(.page-the-science) .sci-helps { grid-template-columns: 1fr; } }
  :where(.page-the-science) .sci-help { background: var(--bg); padding: clamp(2rem, 3vw, 2.75rem); display: flex; flex-direction: column; gap: 1.1rem; }
  :where(.page-the-science) .sci-help-n { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.2em; color: var(--sage); }
  :where(.page-the-science) .sci-help-title { font-family: var(--f-display); font-weight: 300; font-size: clamp(26px, 3vw, 36px); line-height: 1.05; letter-spacing: -0.01em; color: var(--t1); }
  :where(.page-the-science) .sci-help-title em { font-style: italic; color: var(--sage-2); }
  :where(.page-the-science) .sci-help-body { font-size: 14.5px; color: var(--t2); line-height: 1.8; }
  :where(.page-the-science) .sci-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.25rem; }
  :where(.page-the-science) .sci-chip { font-size: 11.5px; letter-spacing: 0.02em; color: var(--t2); border: 1px solid var(--line-2); padding: 0.4rem 0.75rem; }
  :where(.page-the-science) .sci-help .sci-evidence { margin-top: auto; }

  /* ── Philosophy band ────────────────────────────────────── */
  :where(.page-the-science) .sci-philo-steps { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); margin-top: clamp(2rem, 4vw, 3rem); }
  :where(.page-the-science) .sci-philo-step { padding: clamp(1.75rem, 3vw, 2.5rem) 1.5rem; border-right: 1px solid var(--line); text-align: center; display: flex; flex-direction: column; gap: 0.6rem; }
  :where(.page-the-science) .sci-philo-step:last-child { border-right: 0; }
  :where(.page-the-science) .sci-philo-n { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.2em; color: var(--sage); }
  :where(.page-the-science) .sci-philo-word { font-family: var(--f-display); font-style: italic; font-weight: 300; font-size: clamp(22px, 2.4vw, 30px); color: var(--t1); }
  @media (max-width: 820px) { :where(.page-the-science) .sci-philo-steps { grid-template-columns: 1fr; } :where(.page-the-science) .sci-philo-step { border-right: 0; border-bottom: 1px solid var(--line); } :where(.page-the-science) .sci-philo-step:last-child { border-bottom: 0; } }

  /* ── References ─────────────────────────────────────────── */
  :where(.page-the-science) .sci-refnote { font-size: 12.5px; color: var(--t3); line-height: 1.7; max-width: 100ch; margin-bottom: clamp(2rem, 3vw, 2.75rem); font-style: italic; }
  :where(.page-the-science) .sci-reflist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); list-style: none; counter-reset: ref; }
  @media (max-width: 820px) { :where(.page-the-science) .sci-reflist { grid-template-columns: 1fr; } }
  :where(.page-the-science) .sci-reflist li { background: var(--bg-2); padding: 1.5rem 1.6rem; display: grid; grid-template-columns: auto 1fr; gap: 1.1rem; scroll-margin-top: 160px; }
  :where(.page-the-science) .sci-reflist li:target { background: var(--bg-3); }
  :where(.page-the-science) .sci-refnum { font-family: var(--f-mono); font-size: 11px; color: var(--sage); letter-spacing: 0.1em; padding-top: 0.2rem; }
  :where(.page-the-science) .sci-reftitle { font-family: var(--f-display); font-size: 19px; font-weight: 400; color: var(--t1); letter-spacing: -0.005em; line-height: 1.25; }
  :where(.page-the-science) .sci-refdesc { font-size: 13px; color: var(--t2); line-height: 1.65; margin: 0.4rem 0 0.7rem; }
  :where(.page-the-science) .sci-reflink { font-family: var(--f-mono); font-size: 10.5px; letter-spacing: 0.06em; color: var(--sage); border-bottom: 1px solid var(--line-2); padding-bottom: 1px; transition: color 0.25s, border-color 0.25s; word-break: break-word; }
  :where(.page-the-science) .sci-reflink:hover { color: var(--sage-2); border-color: var(--sage-2); }
  :where(.page-the-science) .sci-reffinding { font-size: 12.5px; color: var(--t2); line-height: 1.7; margin-top: 0.7rem; padding-top: 0.75rem; border-top: 1px solid var(--line); }
  :where(.page-the-science) .sci-reffinding-k { display: block; font-family: var(--f-mono); font-size: 8.5px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--sage); margin-bottom: 0.4rem; }

  /* ── Engagement layer ─────────────────────────────────────── */
  :where(.page-the-science) .sci-svg { width: 100%; height: 100%; display: block; stroke: currentColor; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

  /* Measure header icon */
  :where(.page-the-science) .sci-measure-head { align-items: center; }
  :where(.page-the-science) .sci-measure-icon { width: 30px; height: 30px; color: var(--sage); flex-shrink: 0; }

  /* At-a-glance overview grid */
  :where(.page-the-science) .sci-overview { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-bottom: clamp(2.75rem, 5vw, 4.5rem); }
  @media (max-width: 760px) { :where(.page-the-science) .sci-overview { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 460px) { :where(.page-the-science) .sci-overview { grid-template-columns: 1fr; } }
  :where(.page-the-science) .sci-ov-tile { background: var(--bg-3); padding: 1.4rem 1.5rem; display: flex; align-items: center; gap: 1rem; position: relative; transition: background .35s var(--ease-out); }
  :where(.page-the-science) .sci-ov-tile:hover { background: var(--sage-glow); }
  :where(.page-the-science) .sci-ov-tile::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: var(--sage); transform: scaleY(0); transform-origin: top; transition: transform .4s var(--ease-out); }
  :where(.page-the-science) .sci-ov-tile:hover::after { transform: scaleY(1); }
  :where(.page-the-science) .sci-ov-icon { width: 30px; height: 30px; color: var(--sage); flex-shrink: 0; transition: transform .4s var(--ease-out); }
  :where(.page-the-science) .sci-ov-tile:hover .sci-ov-icon { transform: translateY(-2px); }
  :where(.page-the-science) .sci-ov-meta { display: flex; flex-direction: column; gap: 0.2rem; }
  :where(.page-the-science) .sci-ov-n { font-family: var(--f-mono); font-size: 10px; letter-spacing: .2em; color: var(--sage); }
  :where(.page-the-science) .sci-ov-name { font-family: var(--f-display); font-size: 18px; font-weight: 400; color: var(--t1); line-height: 1.1; letter-spacing: -0.005em; }
  :where(.page-the-science) .sci-ov-name em { font-style: italic; color: var(--sage-2); }

  /* Measure media hover-zoom */
  :where(.page-the-science) .sci-measure-media { transition: border-color .4s var(--ease-out); }
  :where(.page-the-science) .sci-measure-media:hover { border-color: var(--line-3); }
  :where(.page-the-science) .sci-measure-media image-slot { transition: transform .9s var(--ease-out); }
  :where(.page-the-science) .sci-measure-media:hover image-slot { transform: scale(1.045); }

  /* Hero value chips */
  :where(.page-the-science) .sci-hero-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.6rem; }
  :where(.page-the-science) .sci-hero-chips a { font-family: var(--f-mono); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--t2); border: 1px solid var(--line-2); padding: .55rem .9rem; transition: color .3s var(--ease-out), background .3s var(--ease-out), border-color .3s var(--ease-out); }
  :where(.page-the-science) .sci-hero-chips a:hover { color: var(--ink); background: var(--sage); border-color: var(--sage); }

  /* Benefit cards: icon + hover */
  :where(.page-the-science) .sci-help { transition: background .4s var(--ease-out); }
  :where(.page-the-science) .sci-help:hover { background: var(--bg-2); }
  :where(.page-the-science) .sci-help-top { display: flex; align-items: center; justify-content: space-between; }
  :where(.page-the-science) .sci-help-icon { width: 34px; height: 34px; color: var(--sage); }
  :where(.page-the-science) .metric-n em { font-variant-numeric: tabular-nums; }

  /* ── NGS technology band ──────────────────────────────────── */
  :where(.page-the-science) .sci-ngs-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(2.5rem, 5vw, 5rem); align-items: center; }
  @media (max-width: 940px) { :where(.page-the-science) .sci-ngs-grid { grid-template-columns: 1fr; gap: 2.5rem; } }
  :where(.page-the-science) .sci-ngs-media { position: relative; aspect-ratio: 4/3; overflow: hidden; background: var(--bg-2); border: 1px solid var(--line); }
  :where(.page-the-science) .sci-ngs-media image-slot { position: absolute; inset: 0; width: 100%; height: 100%; }
  :where(.page-the-science) .sci-ngs-reads { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 1.75rem; }
  :where(.page-the-science) .sci-ngs-read { background: var(--bg-2); padding: 1rem 1.25rem; display: grid; grid-template-columns: auto 1fr; gap: 0.9rem; align-items: center; font-size: 14px; color: var(--t1); }
  :where(.page-the-science) .sci-ngs-read .rk { font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.16em; color: var(--sage); }

  /* Brain card spans full width */
  :where(.page-the-science) .sci-help.sci-help--wide { grid-column: 1 / -1; }
  :where(.page-the-science) .sci-help--wide .sci-help-body { max-width: 70ch; }
  :where(.page-the-science) .sci-help--wide .sci-chips { max-width: none; }

  /* Brain & Cognition — image left layout */
  :where(.page-the-science) .sci-help--with-img {
    display: flex !important;
    flex-direction: row !important;
    gap: 0 !important;
    padding: 0 !important;
    align-items: stretch;
  }
  :where(.page-the-science) .sci-help-img-slot {
    flex: 0 0 50%;
    position: relative;
    overflow: hidden;
    background: var(--bg-2);
    border-right: 1px solid var(--line);
    min-height: 340px;
  }
  :where(.page-the-science) .sci-help-img-slot img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.9s var(--ease-out);
  }
  :where(.page-the-science) .sci-help--with-img:hover .sci-help-img-slot img {
    transform: scale(1.04);
  }
  :where(.page-the-science) .sci-help-img-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    padding: clamp(2rem, 3vw, 2.75rem);
  }
  @media (max-width: 820px) {
    :where(.page-the-science) .sci-help--with-img {
      flex-direction: column !important;
    }
    :where(.page-the-science) .sci-help-img-slot {
      flex: none;
      width: 100%;
      min-height: 0;
      aspect-ratio: 16/9;
      border-right: none;
      border-bottom: 1px solid var(--line);
    }
    :where(.page-the-science) .sci-help-img-slot img {
      position: absolute;
      inset: 0;
      height: 100%;
    }
  }

  /* ── Breadth claim ────────────────────────────────────────── */
  :where(.page-the-science) .sci-claim { margin-top: clamp(3rem, 5vw, 4.5rem); padding-top: clamp(2.5rem, 4vw, 3.5rem); border-top: 1px solid var(--line-2); text-align: center; }
  :where(.page-the-science) .sci-claim-eyebrow { font-family: var(--f-mono); font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--sage); display: block; margin-bottom: 1.25rem; }
  :where(.page-the-science) .sci-claim-line { font-family: var(--f-display); font-weight: 300; font-size: clamp(28px, 4vw, 50px); line-height: 1.18; letter-spacing: -0.015em; color: var(--t1); max-width: 24ch; margin: 0 auto; }
  :where(.page-the-science) .sci-claim-line em { font-style: italic; color: var(--sage-2); }

  /* ── Bioinformatics comparison ────────────────────────────── */
  :where(.page-the-science) .sci-compare2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: clamp(2.5rem, 4vw, 3.5rem); }
  @media (max-width: 760px) { :where(.page-the-science) .sci-compare2 { grid-template-columns: 1fr; } }
  :where(.page-the-science) .sci-col { background: var(--bg-2); padding: clamp(1.75rem, 3vw, 2.5rem); }
  :where(.page-the-science) .sci-col--accent { background: var(--bg-3); }
  :where(.page-the-science) .sci-col-head { margin-bottom: 1.5rem; }
  :where(.page-the-science) .sci-col-k { display: block; font-family: var(--f-mono); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--sage); }
  :where(.page-the-science) .sci-col--accent .sci-col-k { color: var(--gold); }
  :where(.page-the-science) .sci-col-sub { display: block; font-size: 12px; color: var(--t3); margin-top: .4rem; letter-spacing: .02em; }
  :where(.page-the-science) .sci-col-list { display: flex; flex-direction: column; gap: .85rem; }
  :where(.page-the-science) .sci-col-list li { display: grid; grid-template-columns: auto 1fr; gap: .8rem; align-items: baseline; font-size: 14.5px; color: var(--t1); line-height: 1.5; }
  :where(.page-the-science) .sci-col-list li::before { content: "—"; color: var(--sage); }
  :where(.page-the-science) .sci-col--accent .sci-col-list li::before { content: "+"; color: var(--gold); font-weight: 500; }
  :where(.page-the-science) .sci-compare-line { text-align: center; font-family: var(--f-display); font-weight: 300; font-size: clamp(22px, 2.6vw, 32px); line-height: 1.3; color: var(--t1); max-width: 32ch; margin: clamp(2.5rem, 4vw, 3rem) auto 0; letter-spacing: -0.01em; }
  :where(.page-the-science) .sci-compare-line em { font-style: italic; color: var(--sage-2); }

  /* ── Journey timeline ─────────────────────────────────────── */
  :where(.page-the-science) .sci-journey { display: grid; grid-template-columns: repeat(5, 1fr); gap: clamp(1rem, 2vw, 1.75rem); margin-top: clamp(2.75rem, 4vw, 3.75rem); }
  :where(.page-the-science) .sci-step { position: relative; padding-top: 2.75rem; }
  :where(.page-the-science) .sci-step::before { content: ""; position: absolute; top: 4px; left: 0; right: 0; height: 1px; background: var(--line-2); }
  :where(.page-the-science) .sci-step-dot { position: absolute; top: 0; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--sage); box-shadow: 0 0 0 4px var(--bg-2); }
  :where(.page-the-science) .sci-step-icon { display: block; width: 26px; height: 26px; color: var(--sage); margin-bottom: 0.9rem; }
  :where(.page-the-science) .sci-step-when { display: block; font-family: var(--f-mono); font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); margin-bottom: .5rem; }
  :where(.page-the-science) .sci-step-title { font-family: var(--f-display); font-weight: 300; font-size: clamp(21px, 2.3vw, 28px); color: var(--t1); letter-spacing: -0.01em; line-height: 1.12; }
  :where(.page-the-science) .sci-step-title em { color: var(--sage-2); font-style: italic; }
  :where(.page-the-science) .sci-step-body { font-size: 13.5px; color: var(--t2); line-height: 1.7; margin-top: .6rem; max-width: 26ch; }
  :where(.page-the-science) .sci-loop { margin-top: clamp(2.5rem, 4vw, 3.5rem); padding-top: 2rem; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: center; gap: .9rem; text-align: center; }
  :where(.page-the-science) .sci-loop svg { width: 24px; height: 24px; color: var(--sage); flex-shrink: 0; }
  :where(.page-the-science) .sci-loop p { font-family: var(--f-display); font-style: italic; font-weight: 300; font-size: clamp(18px, 2.2vw, 26px); color: var(--t1); letter-spacing: -0.01em; }
  :where(.page-the-science) .sci-loop em { color: var(--sage-2); }
  @media (max-width: 820px) {
    :where(.page-the-science) .sci-journey { grid-template-columns: 1fr; gap: 0; }
    :where(.page-the-science) .sci-step { padding-top: 0; padding-left: 2rem; padding-bottom: 2.25rem; }
    :where(.page-the-science) .sci-step::before { top: 5px; bottom: 0; left: 4px; right: auto; width: 1px; height: auto; }
    :where(.page-the-science) .sci-step:last-child::before { bottom: auto; height: 22px; }
    :where(.page-the-science) .sci-step-dot { top: 5px; left: 0; }
    :where(.page-the-science) .sci-step-body { max-width: none; }
  }

  :where(.page-the-science) section[id] { scroll-margin-top: 152px; }
