/* Shared clinical hubs; keep existing page and navigation styles isolated. */
.seo-hub {
  --sh-ink: #292927;
  --sh-muted: #5d5a53;
  --sh-paper: #f7f5f0;
  --sh-line: #ded9cf;
  --sh-accent: #78653e;
  width: min(1100px, 100%);
  margin: 0 auto;
  padding: 58px 30px 64px;
  color: var(--sh-ink);
  line-height: 1.85;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.seo-hub, .seo-hub * { box-sizing: border-box; }
.seo-hub-page { padding-top: 64px; }
.seo-hub-supplement { border-top: 1px solid var(--sh-line); }
.seo-hub-supplement--compact { padding-top: 38px; padding-bottom: 40px; }
.seo-hub [id] { scroll-margin-top: calc(var(--public-shell-header-height, 88px) + 30px); }
.seo-hub h1, .seo-hub h2, .seo-hub h3 { color: var(--sh-ink); line-height: 1.4; letter-spacing: -.035em; }
.seo-hub h1 { max-width: 860px; margin: 14px 0 22px; font-size: clamp(30px, 4vw, 46px); font-weight: 650; }
.seo-hub h2 { margin: 0 0 15px; font-size: clamp(23px, 2.65vw, 31px); font-weight: 650; }
.seo-hub h3 { margin: 0 0 12px; font-size: 18px; font-weight: 650; }
.seo-hub p { margin: 0 0 14px; color: var(--sh-muted); font-size: 15px; }
.seo-hub p:last-child { margin-bottom: 0; }
.seo-hub a { color: #645432; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.seo-hub a:hover { color: #292927; }
.seo-hub a:focus-visible, .seo-hub summary:focus-visible, .seo-hub [tabindex="0"]:focus-visible { outline: 3px solid var(--sh-accent); outline-offset: 4px; }
.seo-hub .seo-hub-kicker { margin: 0 0 10px; color: var(--sh-accent); font-size: 12px; font-weight: 700; letter-spacing: .045em; }
.seo-hub-hero { padding-bottom: 40px; border-bottom: 1px solid var(--sh-line); }
.seo-hub .seo-hub-lead { max-width: 840px; font-size: 17px; }
.seo-hub-jumps, .seo-hub-links { display: flex; gap: 10px 16px; flex-wrap: wrap; align-items: center; }
.seo-hub-jumps { margin-top: 25px; }
.seo-hub-jumps a, .seo-hub-links a { display: inline-flex; min-height: 44px; align-items: center; padding: 8px 0; font-size: 14px; font-weight: 600; }
.seo-hub-jumps a { padding: 9px 16px; border: 1px solid var(--sh-line); background: var(--sh-paper); color: var(--sh-ink); text-decoration: none; }
.seo-hub-jumps a:hover { border-color: var(--sh-accent); }
.seo-hub-section { margin-top: 46px; }
.seo-hub-section-heading { max-width: 920px; margin-bottom: 23px; }
.seo-hub-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.seo-hub-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.seo-hub-card { min-width: 0; padding: 24px; border: 1px solid var(--sh-line); background: var(--sh-paper); }
.seo-hub-card p { font-size: 14px; }
.seo-hub-note { margin: 24px 0; padding: 22px 24px; border-left: 3px solid #a28c60; background: var(--sh-paper); }
.seo-hub-note h3 { font-size: 17px; }
.seo-hub-note ul { margin: 8px 0 0; padding-left: 22px; color: var(--sh-muted); font-size: 14px; }
.seo-hub-note li + li { margin-top: 5px; }
.seo-hub-table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; border: 1px solid var(--sh-line); background: #fff; scrollbar-width: thin; }
.seo-hub-table { width: 100%; min-width: 680px; border-collapse: collapse; text-align: left; font-size: 14px; line-height: 1.75; }
.seo-hub-table caption { padding: 15px 18px; background: var(--sh-paper); color: var(--sh-muted); font-size: 12px; font-weight: 500; text-align: left; caption-side: top; }
.seo-hub-table th, .seo-hub-table td { padding: 17px 18px; vertical-align: top; border-top: 1px solid var(--sh-line); }
.seo-hub-table thead th { background: #eeebe4; font-weight: 650; color: var(--sh-ink); }
.seo-hub-table tbody th { width: 22%; font-weight: 600; }
.seo-hub-table td { color: var(--sh-muted); }
.seo-hub-comparison { min-width: 850px; }
.seo-hub-comparison tbody th { width: 18%; }
.seo-hub-comparison td { width: 27%; }
.seo-hub-comparison td:last-child { width: 28%; }
.seo-hub-table-detail { display: block; margin-top: 7px; color: var(--sh-muted); font-size: 12px; font-weight: 400; }
.seo-hub-price-table tbody th { width: 39%; }
.seo-hub-price-table td:last-child { width: 43%; }
.seo-hub-price-table .seo-hub-price { color: var(--sh-ink); font-size: 17px; font-weight: 650; white-space: nowrap; font-variant-numeric: tabular-nums; }
.seo-hub .seo-hub-small { margin-top: 15px; font-size: 12px; line-height: 1.8; }
.seo-hub-article-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; list-style: none; margin: 0; padding: 0; }
.seo-hub-article-list li { min-width: 0; border-top: 1px solid var(--sh-line); }
.seo-hub-article-list a { display: block; min-height: 52px; padding: 15px 0; color: var(--sh-ink); font-size: 14px; text-decoration: none; }
.seo-hub-article-list a:hover { color: var(--sh-accent); text-decoration: underline; }
.seo-hub-disclosure { margin-top: 16px; border-top: 1px solid var(--sh-line); }
.seo-hub-disclosure summary { min-height: 48px; padding: 13px 0; color: var(--sh-accent); font-size: 14px; font-weight: 600; cursor: pointer; }
.seo-hub-disclosure[open] summary { margin-bottom: 6px; }
.seo-hub-steps { counter-reset: sh-step; margin: 0; padding: 0; list-style: none; }
.seo-hub-steps li { position: relative; padding: 23px 0 23px 54px; border-top: 1px solid var(--sh-line); }
.seo-hub-steps li::before { counter-increment: sh-step; content: counter(sh-step, decimal-leading-zero); position: absolute; top: 23px; left: 0; color: var(--sh-accent); font-size: 19px; font-variant-numeric: tabular-nums; }
.seo-hub-steps h3 { font-size: 18px; }
.seo-hub-contact { margin-top: 46px; padding: 28px; background: #30302e; color: #fff; }
.seo-hub-contact h2 { color: #fff; font-size: 24px; }
.seo-hub-contact p { color: #e6e1d7; font-size: 14px; }
.seo-hub-contact a { color: #f1dfb7; }
.seo-hub-contact a:hover { color: #fff; }
.seo-hub-sources { margin-top: 32px; padding-top: 22px; border-top: 1px solid var(--sh-line); }
.seo-hub-sources h2 { font-size: 15px; margin-bottom: 12px; }
.seo-hub-sources p, .seo-hub-sources li { color: var(--sh-muted); font-size: 12px; }
.seo-hub-sources ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 22px; margin: 0 0 16px; padding-left: 17px; }
.seo-hub-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 760px) {
  .seo-hub { padding: 38px 20px 44px; }
  .seo-hub-page { padding-top: 40px; }
  .seo-hub-hero { padding-bottom: 28px; }
  .seo-hub h1 { font-size: 31px; }
  .seo-hub .seo-hub-lead { font-size: 15px; }
  .seo-hub-section { margin-top: 34px; }
  .seo-hub-grid, .seo-hub-grid--three, .seo-hub-article-list, .seo-hub-sources ul { grid-template-columns: 1fr; }
  .seo-hub-grid { gap: 12px; }
  .seo-hub-card { padding: 20px; }
  .seo-hub-note { padding: 20px; }
  .seo-hub-jumps { gap: 8px; }
  .seo-hub-jumps a { padding: 9px 12px; font-size: 13px; }
  .seo-hub-contact { padding: 24px 20px; margin-top: 34px; }
  .seo-hub-contact h2 { font-size: 22px; }
  .seo-hub-table th, .seo-hub-table td { padding: 15px; }
}
@media print {
  .seo-hub { width: 100%; padding: 24px 0; }
  .seo-hub-table-wrap { overflow: visible; }
  .seo-hub-table { min-width: 0; font-size: 10px; }
  .seo-hub-table th, .seo-hub-table td { padding: 8px; }
  .seo-hub-card, .seo-hub-contact { break-inside: avoid; }
  .seo-hub-contact { background: #fff; border: 1px solid var(--sh-line); }
  .seo-hub-contact h2, .seo-hub-contact p, .seo-hub-contact a { color: var(--sh-ink); }
}
