/*
 * BIOS Mature System
 * Editorial product language for every public page except patients-life.html.
 * This file intentionally sits above the legacy layers instead of changing
 * site.css: the patient-life canon remains byte-for-byte and visually intact.
 */

:root {
  --mature-ink: #111114;
  --mature-ink-soft: #2d2d32;
  --mature-muted: #6e6e73;
  --mature-line: rgba(17, 17, 20, .105);
  --mature-paper: #fff;
  --mature-soft: #f5f5f7;
  --mature-soft-2: #fafafa;
  --mature-blue: #0071e3;
  --mature-blue-hover: #0077ed;
  --mature-green: #248a5b;
  --mature-radius: 28px;
  --mature-radius-small: 20px;
  --container: 1180px;
  --ink: var(--mature-ink);
  --ink-2: var(--mature-ink-soft);
  --muted: var(--mature-muted);
  --muted-2: #86868b;
  --line: var(--mature-line);
  --line-strong: rgba(17, 17, 20, .18);
  --surface: var(--mature-paper);
  --surface-soft: var(--mature-soft);
  --surface-dark: var(--mature-ink);
  --blue: var(--mature-blue);
  --violet: var(--mature-blue);
  --violet-dark: var(--mature-blue);
  --gradient: linear-gradient(90deg, var(--mature-blue), var(--mature-blue));
  --shadow-sm: none;
  --shadow-lg: none;
  --radius-sm: 14px;
  --radius: var(--mature-radius-small);
  --radius-lg: var(--mature-radius);
  --font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Arial, sans-serif;
}

html { background: var(--mature-paper); }

body {
  color: var(--mature-ink);
  background: var(--mature-paper);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.5;
  letter-spacing: -.006em;
}

main { overflow: clip; }

h1, h2, h3, h4, h5, h6 {
  color: var(--mature-ink);
  font-family: var(--font-display);
  font-synthesis: none;
  text-wrap: balance;
}

p { text-wrap: pretty; }

.gradient-text,
h1 .gradient-text,
h2 .gradient-text,
.clinic-v2-hero h1 span,
.clinic-v2-heading h2 span,
.clinic-v2-thesis span,
.product-offer-intro h2 span,
.clarity-statement h2 span {
  color: inherit;
  background: none;
  -webkit-text-fill-color: currentColor;
  -webkit-background-clip: border-box;
  background-clip: border-box;
}

.shell { width: min(var(--container), calc(100% - 56px)); }

/* Header: one calm line, with the current page action kept visible. */
.site-header {
  border-bottom: 1px solid rgba(17, 17, 20, .06);
  background: rgba(255, 255, 255, .86);
  backdrop-filter: saturate(180%) blur(20px);
}

.site-header.is-scrolled {
  border-color: var(--mature-line);
  box-shadow: none;
}

.header-inner {
  min-height: 68px;
  gap: 30px;
}

.brand {
  gap: 9px;
  color: var(--mature-ink);
  font-size: 20px;
  font-weight: 680;
  letter-spacing: -.035em;
}

.brand img { width: 28px; height: 28px; }

.main-nav { gap: clamp(18px, 2vw, 30px); }
.main-nav a {
  padding: 24px 0 22px;
  color: #3f3f44;
  font-size: 13px;
  font-weight: 500;
}

.main-nav a::after {
  bottom: 14px;
  height: 1px;
  background: var(--mature-ink);
}

/* Actions are the only place where saturated color is structural. */
.btn {
  min-height: 48px;
  padding: 0 21px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 560;
  letter-spacing: -.01em;
  box-shadow: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.btn:hover { transform: none; }
.btn-primary,
.btn-dark {
  color: #fff;
  border-color: var(--mature-blue);
  background: var(--mature-blue);
  box-shadow: none;
}

.btn-primary:hover,
.btn-dark:hover { background: var(--mature-blue-hover); }

.btn-light {
  color: var(--mature-blue);
  border-color: var(--mature-blue);
  background: transparent;
}

.btn-light:hover {
  color: #fff;
  border-color: var(--mature-blue-hover);
  background: var(--mature-blue-hover);
  box-shadow: none;
}

.btn-text,
.text-link,
.document-link { color: var(--mature-blue); }
.btn-small { min-height: 40px; padding-inline: 17px; font-size: 13px; }

.eyebrow,
.clinic-v2-kicker {
  display: block;
  margin: 0 0 20px;
  color: var(--mature-ink-soft);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .01em;
  text-transform: none;
}

.eyebrow::before { display: none; }

/* Product heroes: one message, one support line, one next step. */
.hero,
.page-hero {
  min-height: auto;
  padding: clamp(100px, 10vw, 156px) 0 clamp(108px, 11vw, 168px);
  background: var(--mature-soft);
}

.hero::before,
.page-hero::before { display: none; }

.hero-grid,
.page-hero-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
  gap: clamp(56px, 7vw, 108px);
}

.hero-copy h1,
.page-hero h1 {
  max-width: 880px;
  margin: 0;
  color: var(--mature-ink);
  font-size: clamp(48px, 4.7vw, 66px);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: .98;
}

.hero-copy .lead,
.page-hero .lead,
.clinic-v2-lead {
  max-width: 700px;
  margin-top: 30px;
  color: var(--mature-muted);
  font-size: clamp(18px, 1.45vw, 21px);
  font-weight: 430;
  line-height: 1.48;
}

.hero-actions { gap: 12px; margin-top: 34px; }
.hero-note,
.clinic-v2-note {
  max-width: 620px;
  margin-top: 22px;
  color: #86868b;
  font-size: 13px;
  line-height: 1.45;
}

.signal-visual,
.hero-stat-grid,
.memory-states,
.media-lockup,
.clinic-v2-console {
  border: 0;
  border-radius: var(--mature-radius);
  background: var(--mature-paper);
  box-shadow: none;
}

.signal-visual { min-height: 520px; }
.signal-visual::before { display: none; }
.signal-chip { border-color: var(--mature-line); border-radius: 14px; box-shadow: none; }
.visual-core { border-color: var(--mature-line); box-shadow: none; }
.visual-core::before,
.visual-core::after { border-color: rgba(0, 113, 227, .16); }

.hero-stat-grid { gap: 1px; overflow: hidden; background: #dedee3; }
.hero-stat {
  min-height: 160px;
  padding: 25px;
  border: 0;
  border-radius: 0;
  background: var(--mature-paper);
  box-shadow: none;
}
.hero-stat strong { font-size: 17px; font-weight: 600; }
.hero-stat p { color: var(--mature-muted); }

/* Editorial sections. */
.section { padding: clamp(104px, 10vw, 156px) 0; }
.section-tight { padding: clamp(80px, 8vw, 112px) 0; }
.section-soft { background: var(--mature-soft); }
.section-dark {
  color: #f5f5f7;
  background: var(--mature-ink);
}

.section-dark h2,
.section-dark h3,
.section-dark strong { color: #f5f5f7; }
.section-dark .section-lead,
.section-dark .muted,
.section-dark p { color: #a1a1a6; }
.section-dark .eyebrow { color: #d2d2d7; }

.section-head {
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .55fr);
  align-items: end;
  gap: clamp(36px, 6vw, 92px);
  margin-bottom: clamp(48px, 6vw, 78px);
}

.section-head.single { max-width: 940px; }
.section-head h2,
.legal-hero h1,
.clinic-v2-heading h2 {
  max-width: 960px;
  margin: 0;
  color: inherit;
  font-size: clamp(44px, 4.7vw, 66px);
  font-weight: 600;
  letter-spacing: -.052em;
  line-height: 1;
}

.section-lead,
.clinic-v2-heading > p:last-child {
  max-width: 570px;
  color: var(--mature-muted);
  font-size: 17px;
  line-height: 1.55;
}

.section-head.single .section-lead { max-width: 700px; margin-top: 26px; }

/* Cards read as product surfaces, not dashboard widgets. */
.problem-grid,
.card-grid,
.metric-grid,
.source-grid,
.trust-grid,
.audience-grid,
.integration-columns,
.use-case-grid {
  gap: 16px;
  border: 0;
}

.card-grid > .card,
.card,
.problem-card,
.trust-card,
.role-panel,
.source-card,
.metric-card,
.contact-card,
.audience-card,
.pilot-step,
.roadmap-phase,
.thesis-card,
.app-card,
.result-card,
.evidence-cell {
  border: 0;
  border-radius: var(--mature-radius-small);
  background: var(--mature-soft);
  box-shadow: none;
}

.section-soft .card-grid > .card,
.section-soft .card,
.section-soft .problem-card,
.section-soft .trust-card,
.section-soft .source-card,
.section-soft .metric-card,
.section-soft .audience-card,
.section-soft .pilot-step,
.section-soft .roadmap-phase,
.section-soft .thesis-card { background: var(--mature-paper); }

.card-grid > .card,
.card,
.problem-card,
.trust-card,
.source-card,
.metric-card { padding: clamp(28px, 3vw, 40px); }

.card-grid > .card:hover,
.card:hover { transform: none; box-shadow: none; }

.card-index,
.metric-code,
.stage-code,
.offer-number {
  color: var(--mature-muted);
  font-size: 12px;
  font-weight: 550;
  letter-spacing: .01em;
}

.card-index { margin-bottom: 56px; }
.card h3,
.problem-card h3,
.trust-card h3,
.source-card h3,
.metric-card h3 {
  color: var(--mature-ink);
  font-size: clamp(21px, 2vw, 28px);
  font-weight: 600;
  letter-spacing: -.035em;
  line-height: 1.08;
}

.card p,
.problem-card p,
.trust-card p,
.source-card p,
.metric-card p { color: var(--mature-muted); font-size: 16px; line-height: 1.5; }
.problem-card { min-height: 300px; }
.problem-card strong { margin-top: 52px; font-size: clamp(24px, 2.2vw, 32px); font-weight: 600; line-height: 1.08; }

.status {
  border: 0;
  color: var(--mature-muted);
  background: #ececf0;
  font-weight: 550;
}
.status::before { display: none; }
.status.available { color: #216e4b; background: #e9f6ef; }
.status.beta,
.status.pilot,
.status.preparing { color: #55555a; background: #ececf0; }

/* Processes and technical material become simple evidence planes. */
.process-flow,
.steps-line,
.architecture,
.memory-states,
.stage-strip,
.care-network,
.hypothesis-card,
.form-shell,
.product-frame,
.demo-shell,
.cta-shell {
  border-color: var(--mature-line);
  border-radius: var(--mature-radius);
  box-shadow: none;
}

.process-flow { background: var(--mature-soft); }
.process-step { min-height: 280px; padding: 34px 28px; }
.process-step h3 { margin-top: 64px; font-size: 23px; font-weight: 600; }
.process-step p { color: var(--mature-muted); }
.process-step .trust-line { color: var(--mature-muted); }

.architecture { padding: 28px; background: var(--mature-paper); }
.architecture-module,
.architecture-module.core {
  min-height: 72px;
  border: 0;
  border-radius: 14px;
  background: var(--mature-soft);
  box-shadow: none;
}

.memory-states { padding: 28px; }
.memory-state { border-radius: 16px; background: var(--mature-soft); }
.steps-line { overflow: hidden; background: var(--mature-soft); }
.step-line-item { background: transparent; }

.faq-list details {
  border-color: var(--mature-line);
  background: transparent;
}
.faq-list summary { font-size: 19px; font-weight: 580; }

.form-shell { background: var(--mature-soft); }
.field input,
.field select,
.field textarea {
  min-height: 52px;
  border-color: transparent;
  border-radius: 14px;
  background: var(--mature-paper);
}

/* CTAs and footer close pages with one clear action. */
.cta-band { padding: clamp(84px, 8vw, 120px) 0; background: var(--mature-paper); }
.cta-shell {
  padding: clamp(42px, 6vw, 76px);
  color: #f5f5f7;
  background: var(--mature-ink);
}
.cta-shell::after { display: none; }
.cta-shell h2 { color: #f5f5f7; font-size: clamp(38px, 4vw, 58px); font-weight: 600; letter-spacing: -.05em; }
.cta-shell p { color: #a1a1a6; }
.cta-shell .btn-light { color: #fff; border-color: #fff; }

.site-footer {
  padding-top: 68px;
  color: #d2d2d7;
  background: var(--mature-ink);
}
.site-footer .brand { color: #f5f5f7; }
.site-footer .footer-wordmark { content: url("brand/bios-wordmark-light-original.png"); }
.footer-grid { gap: 42px 30px; }
.footer-brand p,
.footer-column a,
.footer-bottom { color: #a1a1a6; }
.footer-column h3 { color: #f5f5f7; font-size: 13px; font-weight: 600; }
.footer-column a { font-size: 12px; }
.footer-bottom { border-color: rgba(255, 255, 255, .12); font-size: 11px; }

/* Legal and utility pages stay dense enough to scan, without looking secondary. */
.legal-hero { padding: clamp(92px, 9vw, 138px) 0 68px; background: var(--mature-soft); }
.legal-hero p { color: var(--mature-muted); font-size: 18px; }
.legal-meta { border-color: var(--mature-line); color: var(--mature-muted); }
.legal-copy { max-width: 820px; }
.legal-copy h2 { margin-top: 64px; font-size: 30px; font-weight: 600; letter-spacing: -.035em; }
.legal-copy h3 { font-size: 19px; }

/* Special product families retain their information architecture, but use the same voice. */
.concept-apple,
.clinic-strategy { --patient-ink: var(--mature-ink); }

.concept-apple .page-hero,
.clinic-v2-hero { background: var(--mature-soft); }

.clinic-v2-hero { padding: clamp(100px, 9vw, 144px) 0; }
.clinic-v2-hero h1 {
  max-width: 820px;
  font-size: clamp(48px, 4.6vw, 66px);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: 1;
}
.clinic-v2-hero h1 span { display: inline; }
.clinic-v2-console,
.clinic-v2-product-card,
.clinic-v2-problem-card { box-shadow: none; }

@media (max-width: 1080px) {
  .shell { width: min(var(--container), calc(100% - 40px)); }
  .main-nav { gap: 18px; }
  .header-actions .btn-light { display: none; }
  .hero-grid,
  .page-hero-grid { grid-template-columns: 1fr 1fr; gap: 44px; }
}

@media (max-width: 860px) {
  .header-inner { min-height: 64px; }
  .main-nav { top: 64px; }
  .hero-grid,
  .page-hero-grid,
  .clinic-v2-hero-grid { grid-template-columns: 1fr; }
  .hero-copy h1,
  .page-hero h1,
  .clinic-v2-hero h1 { max-width: 760px; font-size: clamp(46px, 8.5vw, 66px); }
  .section-head { grid-template-columns: 1fr; align-items: start; gap: 24px; }
  .section-lead { max-width: 680px; }
}

@media (max-width: 720px) {
  .shell { width: calc(100% - 40px); }
  body { font-size: 16px; }

  .site-header { background: rgba(255, 255, 255, .92); }
  .brand { font-size: 18px; }
  .brand img { width: 26px; height: 26px; }
  .header-actions { gap: 7px; }
  .header-actions .btn-primary { min-height: 38px; max-width: 148px; padding-inline: 14px; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .mobile-toggle { width: 40px; height: 40px; }

  .hero,
  .page-hero,
  .clinic-v2-hero { padding: 78px 0 92px; }
  .hero-grid,
  .page-hero-grid,
  .clinic-v2-hero-grid { gap: 58px; }
  .hero-copy h1,
  .page-hero h1,
  .clinic-v2-hero h1 {
    max-width: 100%;
    font-size: clamp(42px, 12vw, 54px);
    letter-spacing: -.055em;
    line-height: .98;
  }
  .hero-copy .lead,
  .page-hero .lead,
  .clinic-v2-lead { margin-top: 24px; font-size: 18px; line-height: 1.45; }
  .hero-actions { margin-top: 28px; }
  .hero-actions .btn { min-height: 46px; }
  .signal-visual { min-height: 420px; }
  .page-hero .media-lockup { display: none; }
  .page-hero-grid:has(.media-lockup) { gap: 0; }

  .section { padding: 96px 0; }
  .section-tight { padding: 74px 0; }
  .section-head { margin-bottom: 44px; }
  .section-head h2,
  .legal-hero h1,
  .clinic-v2-heading h2 {
    font-size: clamp(40px, 11vw, 50px);
    letter-spacing: -.05em;
    line-height: 1;
  }
  .section-head.single .section-lead { margin-top: 22px; }

  /* Apple-like mobile rail: a few large surfaces, not a wall of tiny cards. */
  .card-grid.cols-3,
  .card-grid.cols-4,
  .metric-grid,
  .source-grid,
  .trust-grid,
  .audience-grid,
  .use-case-grid {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: min(84vw, 360px);
    gap: 14px;
    margin-right: -20px;
    padding-right: 20px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-left: 20px;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }
  .card-grid.cols-3::-webkit-scrollbar,
  .card-grid.cols-4::-webkit-scrollbar,
  .metric-grid::-webkit-scrollbar,
  .source-grid::-webkit-scrollbar,
  .trust-grid::-webkit-scrollbar,
  .audience-grid::-webkit-scrollbar,
  .use-case-grid::-webkit-scrollbar { display: none; }
  .card-grid.cols-3 > *,
  .card-grid.cols-4 > *,
  .metric-grid > *,
  .source-grid > *,
  .trust-grid > *,
  .audience-grid > *,
  .use-case-grid > * { min-width: 0; scroll-snap-align: start; }

  .card-grid.cols-2,
  .problem-grid,
  .integration-columns { grid-template-columns: 1fr; }
  .card,
  .problem-card,
  .trust-card,
  .source-card,
  .metric-card { padding: 30px; }
  .card-index { margin-bottom: 64px; }
  .problem-card { min-height: 310px; }

  .process-flow { grid-template-columns: 1fr; }
  .process-step { min-height: 240px; border-right: 0; border-bottom: 1px solid var(--mature-line); }
  .process-step:last-child { border-bottom: 0; }
  .steps-line { grid-template-columns: 1fr; }
  .architecture { min-width: 680px; }
  .architecture + .hero-actions { margin-top: 28px; }

  .cta-band { padding: 72px 0; }
  .cta-shell { padding: 42px 28px; border-radius: 24px; }
  .cta-shell h2 { font-size: 40px; }
  .cta-actions { align-items: stretch; }
  .cta-actions .btn { width: 100%; }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px 20px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; }

  .legal-hero { padding: 82px 0 58px; }
  .legal-copy h2 { margin-top: 54px; font-size: 28px; }
}

@media (max-width: 430px) {
  .shell { width: calc(100% - 32px); }
  .header-actions .btn-primary { max-width: 124px; }
  .hero-copy h1,
  .page-hero h1,
  .clinic-v2-hero h1 { font-size: clamp(39px, 11.5vw, 48px); }
  .hero-copy .lead,
  .page-hero .lead,
  .clinic-v2-lead { font-size: 17px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .btn { width: 100%; }
  .section-head h2,
  .legal-hero h1,
  .clinic-v2-heading h2 { font-size: clamp(37px, 10.8vw, 46px); }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* High-specificity bridge for the two earlier standalone product themes. */
body[data-page="patients"] .gradient-text,
body[data-page="patients"] .page-hero h1 span,
body[data-page="patients"].concept-apple .gradient-text,
body[data-page="clinics"].clinic-strategy .clinic-v2-hero h1 span,
body[data-page="clinics"].clinic-strategy .clinic-v2-thesis span {
  color: inherit;
  background: none;
  -webkit-text-fill-color: currentColor;
  -webkit-background-clip: border-box;
  background-clip: border-box;
}

body[data-page="patients"] .page-hero .btn-primary,
body[data-page="patients"].concept-apple .btn-primary,
body[data-page="clinics"].clinic-strategy .btn-primary,
body[data-page="clinics"].clinic-strategy .header-actions .btn-primary {
  color: #fff;
  border-color: var(--mature-blue);
  background: var(--mature-blue);
  box-shadow: none;
}

body[data-page="patients"] .btn-light,
body[data-page="patients"].concept-apple .btn-light,
body[data-page="clinics"].clinic-strategy .btn-light {
  color: var(--mature-blue);
  border-color: var(--mature-blue);
  background: transparent;
}

body[data-page="patients"] .btn-light:hover,
body[data-page="patients"].concept-apple .btn-light:hover,
body[data-page="clinics"].clinic-strategy .btn-light:hover {
  color: #fff;
  background: var(--mature-blue-hover);
}

/*
 * Final editorial pass for company, technology and partner pages.
 * Home, patient pages and the dedicated clinics-life concept are deliberately
 * excluded so their established visual systems remain unchanged.
 */
body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .page-hero {
  padding: clamp(88px, 7vw, 118px) 0 clamp(92px, 8vw, 128px);
}

body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .page-hero-grid {
  gap: clamp(48px, 6vw, 84px);
}

body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .page-hero h1 {
  max-width: 920px;
  font-size: clamp(46px, 4.25vw, 60px);
  line-height: 1;
}

body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .section {
  padding: clamp(88px, 8vw, 118px) 0;
}

body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .section-head {
  margin-bottom: clamp(40px, 5vw, 62px);
}

body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .section-head h2,
body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .legal-hero h1 {
  font-size: clamp(40px, 3.8vw, 54px);
  line-height: 1.02;
}

body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .card-index {
  margin-bottom: 42px;
}

body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .card h3,
body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .problem-card h3,
body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .trust-card h3,
body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .source-card h3,
body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .metric-card h3 {
  font-size: clamp(21px, 1.75vw, 25px);
  line-height: 1.12;
}

body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .cta-shell h2 {
  font-size: clamp(36px, 3.5vw, 50px);
}

body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) :is(section, .legal-copy) [id] {
  scroll-margin-top: 84px;
}

@media (max-width: 720px) {
  body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .page-hero {
    padding: 64px 0 76px;
  }

  body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .page-hero-grid {
    gap: 44px;
  }

  body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .page-hero h1 {
    font-size: clamp(36px, 10.2vw, 42px);
    letter-spacing: -.05em;
    line-height: 1.01;
  }

  body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .page-hero .lead {
    margin-top: 22px;
    font-size: 17px;
  }

  body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .section {
    padding: 72px 0;
  }

  body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .section-head {
    margin-bottom: 38px;
  }

  body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .section-head h2,
  body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .legal-hero h1 {
    font-size: clamp(34px, 9.8vw, 40px);
    letter-spacing: -.045em;
    line-height: 1.04;
  }

  body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .card,
  body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .problem-card,
  body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .trust-card,
  body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .source-card,
  body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .metric-card {
    padding: 26px;
  }

  body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .card-index {
    margin-bottom: 44px;
  }

  body:not([data-page="home"]):not([data-page="patients"]):not([data-page="early-access"]):not([data-page="clinics"]) .cta-shell h2 {
    font-size: 36px;
  }
}
