@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root {
  --ink: #1a1a2e;
  --muted: #52525c;
  --paper: #f9f9f7;
  --paper-strong: #f0f0ec;
  --panel: #ffffff;
  --line: #e4e4e0;
  --line-strong: #bec8bb;
  --forest: #2d5a4a;
  --blue: #2c5282;
  --gold: #d4a843;
  --gold-soft: #faf3e0;
  --amber: #94601a;
  --rose: #9b3a4e;
  --shadow: 0 4px 20px rgba(26,26,46,0.06);
  --shadow-hover: 0 8px 30px rgba(26,26,46,0.12);
  --shadow-card: 0 2px 12px rgba(26,26,46,0.05);
}

* {
  box-sizing: border-box;
}

html {
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.7;
  scroll-behavior: smooth;
  font-size: 1.0625rem;
}

body {
  margin: 0;
}

.visually-hidden {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

a {
  color: var(--blue);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
  transition: color 0.2s ease;
}

a:focus-visible,
.button:focus-visible,
.input:focus-visible,
.select:focus-visible,
.search-submit:focus-visible,
.newsletter-form button:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}

.report-lead-form button:focus-visible,
.inline-lead-form button:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}

.site-shell {
  min-height: 100vh;
}

.topbar {
  border-bottom: 2px solid var(--ink);
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 10;
}

.topbar-inner,
.page-band-inner {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}

.topbar-inner {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--ink);
  text-decoration: none;
  font-weight: 850;
  letter-spacing: 0;
}

.brand::after {
  width: 9px;
  height: 9px;
  display: inline-block;
  background: var(--gold);
  border: 1px solid var(--ink);
  border-radius: 50%;
  margin-left: -5px;
  transform: translateY(-10px);
}

.brand-mark {
  width: 34px;
  height: 34px;
  display: block;
}

.nav {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.94rem;
}

.nav a {
  color: var(--ink);
  text-decoration: none;
  border-radius: 7px;
  padding: 8px 10px;
}

.nav a:hover {
  background: var(--gold-soft);
  color: var(--ink);
}

.page-band {
  padding: 40px 0;
}

.peptide-detail-hero {
  padding: 48px 0;
}

.peptide-detail-hero-grid {
  align-items: center;
  display: grid;
  gap: 44px;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
}

.peptide-detail-hero-copy .lede {
  max-width: 720px;
}

.peptide-detail-hero-media {
  aspect-ratio: 16 / 9;
  background: var(--paper-strong);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: var(--shadow-hover);
  margin: 0;
  overflow: hidden;
}

.peptide-detail-hero-media img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.page-band + .page-band {
  border-top: 1px solid var(--line);
}

@media (max-width: 820px) {
  .peptide-detail-hero {
    padding: 34px 0 40px;
  }

  .peptide-detail-hero-grid {
    gap: 28px;
    grid-template-columns: 1fr;
  }

  .peptide-detail-hero-media {
    border-radius: 9px;
  }
}

.intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 36px;
  align-items: center;
}

.eyebrow {
  color: var(--forest);
  font-size: 0.82rem;
  font-weight: 760;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 12px;
}

h1,
h2,
h3 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0;
}

h1 {
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  max-width: 900px;
}

h2 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
}

h3 {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
}

.lede {
  color: var(--muted);
  font-size: 1.15rem;
  line-height: 1.6;
  max-width: 760px;
  margin: 18px 0 0;
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: #fff;
  padding: 0 16px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 720;
  font-size: 0.94rem;
  transition: all 0.2s ease;
}

.button:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow);
}

.button.secondary {
  background: transparent;
  color: var(--ink);
  border-color: var(--line);
}

.visual-panel {
  min-height: 320px;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: var(--shadow);
  display: grid;
  place-items: center;
  overflow: hidden;
}

.visual-panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.metric-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.metric {
  background: var(--panel);
  padding: 18px;
}

.metric strong {
  display: block;
  font-size: 1.65rem;
}

.metric span {
  color: var(--muted);
  font-size: 0.9rem;
}

.section-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  margin-bottom: 22px;
}

.section-head p {
  color: var(--muted);
  max-width: 620px;
  margin: 8px 0 0;
}

.grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 24px;
  min-height: 100%;
  box-shadow: var(--shadow-card);
  transition: all 0.2s ease;
}

.card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

.card h3 a {
  color: var(--ink);
  text-decoration: none;
}

.card p {
  color: var(--muted);
}

.card-meta {
  font-size: 0.86rem;
}

.tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}

.tag {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px 9px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 680;
}

.tag.status {
  color: var(--forest);
  border-color: rgba(31, 95, 75, 0.28);
  background: rgba(31, 95, 75, 0.08);
}

.tag.review {
  color: var(--blue);
  border-color: rgba(36, 91, 143, 0.28);
  background: rgba(36, 91, 143, 0.08);
}

.tag.watch {
  color: var(--amber);
  border-color: rgba(184, 110, 27, 0.28);
  background: rgba(184, 110, 27, 0.08);
}

.tag.urgent {
  color: var(--rose);
  border-color: rgba(166, 61, 84, 0.28);
  background: rgba(166, 61, 84, 0.08);
}

.tag-row.compact {
  gap: 6px;
  margin: 10px 0 0;
}

.table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  background: var(--panel);
}

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

th,
td {
  padding: 14px 16px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--line);
}

th {
  font-size: 0.78rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: var(--paper-strong);
  font-weight: 700;
}

tr:last-child td {
  border-bottom: 0;
}

.search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 12px;
  margin: 0;
}

.input,
.select {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 12px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.claim-list {
  display: grid;
  gap: 12px;
  margin: 22px 0 0;
}

.claim {
  border-left: 4px solid var(--forest);
  background: #fff;
  padding: 14px 16px;
}

.claim p {
  margin: 6px 0 0;
  color: var(--muted);
}

.source-list {
  display: grid;
  gap: 12px;
}

.source-item {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 24px;
  box-shadow: var(--shadow-card);
  transition: all 0.2s ease;
}
.source-item:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

.source-meta {
  color: var(--muted);
  font-size: 0.88rem;
  margin-top: 6px;
}
.source-registry-toolbar { display: grid; grid-template-columns: minmax(0, 2fr) minmax(220px, .7fr); gap: 16px; margin-bottom: 18px; }
.source-registry-toolbar label { display: grid; gap: 7px; font-weight: 800; }
.source-registry-toolbar input, .source-registry-toolbar select { width: 100%; padding: 12px 14px; border: 1px solid var(--line); border-radius: 7px; background: var(--panel); color: var(--ink); font: inherit; }
.source-usage { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: .82rem; }
.source-usage code { overflow-wrap: anywhere; color: var(--forest); }
.source-registry-list .source-item[hidden] { display: none; }
@media (max-width: 768px) { .source-registry-toolbar { grid-template-columns: 1fr; } .source-usage { align-items: start; flex-direction: column; gap: 6px; } }

.note-band {
  background: #eef4ef;
}

.publisher-masthead {
  background: var(--gold);
  border-bottom: 2px solid var(--ink);
  padding: 40px 0 28px;
}

.publisher-masthead h1 {
  font-size: clamp(2.2rem, 5vw, 4rem);
  max-width: 860px;
}

.publisher-masthead p:not(.publisher-kicker) {
  max-width: 720px;
  color: #2e3027;
  font-size: 1.14rem;
  margin: 16px 0 0;
}

.publisher-kicker,
.article-label {
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  margin: 0 0 10px;
  text-transform: uppercase;
}

.category-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.category-links a {
  background: #fff;
  border: 1.5px solid var(--ink);
  border-radius: 999px;
  color: var(--ink);
  font-size: 0.92rem;
  font-weight: 760;
  padding: 8px 13px;
  text-decoration: none;
}

.category-links a:hover {
  background: var(--ink);
  color: #fff;
}

.publisher-section {
  padding: 40px 0;
}

.publisher-section + .publisher-section,
.stats-strip + .publisher-section {
  border-top: 1px solid var(--line);
}

.money-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, 0.85fr);
  gap: 24px;
  align-items: stretch;
}

.lead-story {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  border-bottom: 2px solid var(--ink);
  padding-bottom: 24px;
}

.lead-copy {
  align-self: start;
}

.lead-copy h2 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(1.8rem, 4vw, 3rem);
}

.lead-copy h2 a,
.article-card h3 a {
  color: var(--ink);
  text-decoration: none;
}

.lead-copy h2 a:hover,
.article-card h3 a:hover {
  text-decoration: underline;
}

.lead-copy p:not(.article-label),
.article-copy p:not(.article-label),
.newsletter-box p {
  color: var(--muted);
}

.article-meta {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 720;
  margin-top: 14px;
}

.article-art {
  align-items: end;
  aspect-ratio: 4 / 3;
  background: var(--ink);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: #fff;
  display: flex;
  min-height: 170px;
  overflow: hidden;
  padding: 16px;
  position: relative;
  text-decoration: none;
}

.article-art img,
.thumb-art img,
.video-art img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.article-art::before {
  background:
    linear-gradient(180deg, rgba(5, 5, 44, 0.02) 0%, rgba(5, 5, 44, 0.18) 42%, rgba(5, 5, 44, 0.78) 100%),
    linear-gradient(90deg, rgba(5, 5, 44, 0.42), transparent 56%);
  inset: 0;
  z-index: 1;
}

.article-art span {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(1.5rem, 3vw, 2.8rem);
  font-weight: 850;
  line-height: 0.95;
  position: relative;
  text-shadow: 0 2px 18px rgba(5, 5, 44, 0.4);
  z-index: 2;
}

.article-art img + span {
  display: none;
}

.lead-art {
  min-height: 320px;
}

.money-rankings {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 24px;
  box-shadow: var(--shadow-card);
}

.rankings-head {
  border-bottom: 1px solid var(--line);
  padding-bottom: 14px;
}

.rankings-head h2 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.75rem;
}

.ranking-list {
  display: grid;
}

.ranking-link {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  padding: 15px 0;
  text-decoration: none;
}

.ranking-link:last-child {
  border-bottom: 0;
}

.rank-number {
  align-items: center;
  background: #bbb;
  border: 1px solid #999;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-weight: 850;
  height: 32px;
  justify-content: center;
  width: 32px;
}

.ranking-link strong,
.ranking-link em {
  display: block;
}

.ranking-link em {
  color: var(--muted);
  font-size: 0.82rem;
  font-style: normal;
  margin-top: 3px;
}

.money-section-head {
  align-items: end;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 20px;
}

.money-section-head h2 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
}

.publisher-search {
  display: grid;
  grid-template-columns: minmax(180px, 260px) 180px;
  gap: 10px;
}

.money-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.article-card {
  background: #fff;
  border-top: 2px solid var(--ink);
  padding-top: 16px;
  transition: transform 0.2s ease;
}
.article-card:hover {
  transform: translateY(-2px);
}

.article-card[hidden] {
  display: none;
}

.article-card .article-art {
  margin-bottom: 14px;
}

.article-card h3 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.3rem;
}

.stats-strip {
  background: #fff;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.stats-grid div {
  border-right: 1px solid var(--line);
  padding: 18px 20px;
}

.stats-grid div:last-child {
  border-right: 0;
}

.stats-grid strong {
  display: block;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 2rem;
  line-height: 1;
}

.stats-grid span {
  color: var(--muted);
  display: block;
  font-size: 0.78rem;
  font-weight: 800;
  margin-top: 6px;
  text-transform: uppercase;
}

.newsletter-band {
  background: var(--ink);
  color: #fff;
}

.newsletter-box {
  align-items: center;
  display: flex;
  gap: 24px;
  justify-content: space-between;
}

.newsletter-box h2 {
  color: #fff;
  font-size: clamp(1.7rem, 3vw, 3rem);
  max-width: 780px;
}

.newsletter-box p,
.newsletter-box .article-label {
  color: #f2f2e8;
}

.newsletter-box .button {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
  flex: 0 0 auto;
}

.index-hero {
  background:
    linear-gradient(115deg, rgba(45, 90, 74, 0.1), rgba(44, 82, 130, 0.04) 46%, rgba(148, 96, 26, 0.08)),
    var(--paper);
}

.index-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
  gap: 30px;
  align-items: end;
}

.index-hero .lede {
  max-width: 660px;
}

.index-status-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: var(--shadow);
}

.index-status-panel div {
  min-height: 96px;
  padding: 18px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.index-status-panel div:nth-child(2n) {
  border-right: 0;
}

.index-status-panel div:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.index-status-panel span {
  display: block;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
}

.index-status-panel strong {
  display: block;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 720;
  margin-top: 8px;
  text-transform: uppercase;
}

.workspace-band {
  padding-top: 28px;
}

.workspace-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 18px;
  align-items: start;
}

.watchlist-panel,
.review-panel {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.82);
}

.panel-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 460px);
  gap: 18px;
  align-items: end;
  padding: 18px;
  border-bottom: 1px solid var(--line);
}

.panel-head p,
.review-panel p {
  color: var(--muted);
  margin: 7px 0 0;
}

.watch-list {
  display: grid;
}

.watch-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 245px;
  gap: 18px;
  padding: 18px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.watch-row:last-child {
  border-bottom: 0;
}

.watch-row[hidden] {
  display: none;
}

.watch-titleline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.watch-titleline h3 a {
  color: var(--ink);
  text-decoration: none;
}

.watch-main p {
  color: var(--muted);
  margin: 11px 0 0;
  max-width: 720px;
}

.watch-meta {
  border-left: 1px solid var(--line);
  padding-left: 18px;
}

.watch-meta dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.watch-meta div {
  display: grid;
  gap: 2px;
}

.watch-meta dt {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.watch-meta dd {
  margin: 0;
  font-size: 0.9rem;
}

.row-link {
  display: inline-flex;
  margin-top: 14px;
  font-weight: 760;
}

.review-panel {
  padding: 18px;
  position: sticky;
  top: 80px;
}

.review-panel h2 {
  font-size: 1.25rem;
}

.review-stack {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.review-item {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px 14px;
  color: var(--ink);
  text-decoration: none;
  background: #fff;
  transition: all 0.2s ease;
}
.review-item:hover {
  box-shadow: var(--shadow-card);
  transform: translateY(-1px);
}

.review-item strong {
  color: var(--rose);
  font-size: 0.85rem;
}

.method-note {
  border-top: 1px solid var(--line);
  margin-top: 18px;
  padding-top: 16px;
}

.footer {
  border-top: 1px solid var(--line);
  padding: 40px 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.footer a {
  color: var(--ink);
}

.affiliate-disclosure-footer {
  font-size: 0.8rem;
  color: var(--muted);
  margin-top: 14px;
  line-height: 1.5;
  opacity: 0.85;
}

.affiliate-disclosure-footer a {
  text-decoration: underline;
}

.affiliate-disclosure-section {
  padding: 32px 0;
}

.affiliate-disclosure-box {
  background: var(--gold-soft);
  border: 1px solid var(--gold);
  border-radius: 8px;
  padding: 24px 28px;
}

.affiliate-disclosure-heading {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--ink);
}

.affiliate-disclosure-box p {
  font-size: 0.88rem;
  color: var(--muted);
  line-height: 1.65;
  margin: 10px 0 0;
}

.affiliate-disclosure-box p a {
  color: var(--blue);
}

/* --- Mobile Nav --- */

/* FinanceBuzz-inspired homepage hub */
.site-header {
  background: #fff;
  border-top: 4px solid #161618;
  border-bottom: 1px solid #e7ebf1;
  position: sticky;
  top: 0;
  z-index: 40;
}

.site-header-inner {
  align-items: center;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  min-height: 68px;
  padding: 0 18px;
  position: relative;
  width: 100%;
}

.site-header-left {
  align-items: center;
  display: flex;
  gap: 22px;
  min-width: 0;
}

.site-wordmark {
  align-items: center;
  color: #0b0a33;
  display: inline-flex;
  font-size: 1.2rem;
  font-style: italic;
  font-weight: 900;
  letter-spacing: -0.01em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-wordmark span:last-child {
  background: #2253c7;
  color: #fff;
  display: inline-block;
  margin-left: 3px;
  padding: 4px 7px 5px;
  transform: skew(-8deg);
}

.site-wordmark span:last-child::first-letter {
  color: #fff;
}

.site-search {
  align-items: center;
  border: 1.5px solid #b8bac2;
  border-radius: 999px;
  display: grid;
  grid-template-columns: minmax(180px, 430px) 48px;
  height: 50px;
  margin: 0;
  max-width: 480px;
  overflow: hidden;
  width: min(34vw, 480px);
}

.site-search:focus-within {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}

.site-search input {
  border: 0;
  color: #0b0a33;
  font: inherit;
  height: 100%;
  min-width: 0;
  outline: 0;
  padding: 0 20px;
}

.site-search input::placeholder {
  color: #969caa;
}

.search-submit {
  background: #0b0a33;
  border: 0;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  height: 42px;
  justify-self: end;
  margin-right: 4px;
  width: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
}

.search-submit:hover {
  background: #1a1a4e;
}

.search-submit .icon-search {
  display: block;
}

.buzz-home-hero {
  background: #eef1f5;
  min-height: 628px;
  overflow: hidden;
  padding: 70px 0;
  position: relative;
}

.buzz-geometry {
  inset: 0 auto 0 0;
  opacity: 0.42;
  pointer-events: none;
  width: 430px;
}

.buzz-geometry::before,
.buzz-geometry::after {
  border-bottom: 92px solid transparent;
  border-left: 160px solid rgba(255, 255, 255, 0.34);
  border-top: 92px solid transparent;
  height: 0;
  left: 0;
  width: 0;
}

.buzz-geometry::before {
  top: 70px;
}

.buzz-geometry::after {
  border-left-width: 230px;
  left: 128px;
  top: 158px;
}

.buzz-home-inner {
  margin: 0 auto;
  max-width: 1410px;
  padding: 0 32px;
  position: relative;
  z-index: 1;
}

.buzz-home-inner h1 {
  color: #0b0a33;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 3rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0 auto;
  max-width: none;
  text-align: center;
}

.buzz-hero-kicker {
  background: var(--gold);
  border-radius: 999px;
  color: var(--ink);
  display: table;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  margin: 0 auto 18px;
  padding: 7px 14px;
  text-transform: uppercase;
}

.buzz-hero-subtitle {
  color: #0b0a33;
  font-size: 1.1rem;
  margin: 18px auto 18px;
  max-width: 780px;
  text-align: center;
}

.buzz-hero-offer-strip {
  align-items: center;
  color: #0b0a33;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.82rem;
  font-weight: 900;
  gap: 10px;
  justify-content: center;
  margin: 0 auto 38px;
  text-transform: uppercase;
}

.buzz-hero-offer-strip span {
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(11, 10, 51, 0.12);
  border-radius: 999px;
  padding: 6px 12px;
}

.buzz-hub-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 1120px;
}

.buzz-hub-grid.lower {
  align-items: stretch;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 20px;
}

.buzz-hub-tile,
.buzz-mini-tile {
  background: #fff;
  border-radius: 10px;
  box-shadow: var(--shadow-card);
  border: 1px solid var(--line);
  color: #0b0a33;
  text-decoration: none;
  transition: all 0.2s ease;
}
.buzz-hub-tile:hover,
.buzz-mini-tile:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

.buzz-hub-tile {
  align-items: center;
  display: grid;
  gap: 24px;
  grid-template-columns: 48px minmax(0, 1fr);
  min-height: 126px;
  padding: 30px 34px;
}

.buzz-hub-tile.is-featured,
.buzz-mini-tile {
  border-top: 4px solid var(--gold);
}

.buzz-hub-tile.is-featured {
  box-shadow: var(--shadow-hover);
}

.buzz-hub-tile strong {
  display: block;
  font-size: 1.36rem;
  font-weight: 900;
  letter-spacing: -0.01em;
  line-height: 1.1;
}

.buzz-hub-tile em {
  display: block;
  font-size: 0.9rem;
  font-style: normal;
  font-weight: 650;
  letter-spacing: 0.01em;
  margin-top: 5px;
  text-transform: uppercase;
}

.buzz-mini-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.buzz-mini-tile {
  display: grid;
  gap: 14px;
  min-height: 126px;
  padding: 18px 14px;
  position: relative;
}

.buzz-mini-tile::before {
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 0;
  border-bottom: 12px solid #fff;
  left: 50%;
  top: -13px;
  transform: translateX(-50%);
}

.buzz-mini-badge {
  align-items: center;
  color: #0b0a33;
  display: flex;
  font-size: 0.72rem;
  font-style: italic;
  font-weight: 800;
  gap: 7px;
}

.buzz-mini-tile strong {
  color: #0b0a33;
  font-size: 0.9rem;
  font-weight: 900;
  line-height: 1.24;
  text-decoration: underline;
  text-transform: uppercase;
}

.buzz-card-icon,
.mini-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  height: 40px;
  position: relative;
  width: 40px;
  color: var(--ink);
}

.buzz-card-icon svg,
.tile-icon svg {
  width: 24px;
  height: 24px;
}

.mini-icon {
  height: 18px;
  width: 18px;
  color: var(--ink);
}

.mini-icon svg {
  width: 16px;
  height: 16px;
}

.tile-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  width: 40px;
  color: var(--ink);
}

.mini-icon::after {
}

.icon-regulatory::after,
.buzz-show-more {
  align-items: center;
  background: rgba(255, 255, 255, 0.58);
  color: #0b0a33;
  display: flex;
  font-size: 1.05rem;
  font-weight: 900;
  justify-content: center;
  margin: 26px auto 0;
  max-width: 1120px;
  min-height: 45px;
  text-decoration: none;
}

.buzz-show-more span {
  color: #52617f;
  font-size: 1rem;
  margin-left: 8px;
}

.buzz-feature-band {
  background: #fff;
  padding: 56px 0 36px;
}

.buzz-feature-wrap {
  margin: 0 auto;
  max-width: 1120px;
  padding: 0 32px;
}

.buzz-feature-card {
  background:
    radial-gradient(circle at 18% 12%, rgba(111, 177, 255, 0.62), transparent 28%),
    linear-gradient(118deg, #2d7ef2 0%, #1647a5 46%, #07164f 100%);
  border-radius: 12px;
  box-shadow: var(--shadow-hover);
  color: #fff;
  display: grid;
  gap: 34px;
  grid-template-columns: 330px minmax(0, 1fr);
  min-height: 330px;
  overflow: hidden;
  padding: 48px;
  position: relative;
}

.buzz-feature-card::before {
  border: 1px solid rgba(255, 255, 255, 0.45);
  inset: 18px;
  pointer-events: none;
}

.buzz-feature-media {
  align-self: center;
  aspect-ratio: 1.5 / 1;
  border-radius: 8px;
  box-shadow: 0 14px 30px rgba(4, 12, 34, 0.28);
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.buzz-feature-media img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.buzz-feature-copy {
  align-self: center;
  position: relative;
  z-index: 1;
}

.buzz-offer-label {
  background: var(--gold);
  color: var(--ink);
  display: inline-block;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin: 0 0 18px;
  padding: 4px 12px;
}

.buzz-feature-copy h2 {
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 3.5rem;
  font-weight: 850;
  line-height: 1;
}

.buzz-feature-copy p {
  color: rgba(255, 255, 255, 0.92);
  font-size: 1.08rem;
  font-weight: 700;
  margin: 18px 0 0;
  max-width: 620px;
}

.buzz-feature-stats {
  color: rgba(255, 255, 255, 0.9);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.86rem;
  gap: 9px;
  margin-top: 20px;
}

.buzz-feature-stats span {
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 999px;
  padding: 4px 10px;
}

.buzz-feature-button {
  align-items: center;
  background: #aeea4f;
  box-shadow: var(--shadow-card);
  color: #0b0a33;
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  margin-top: 26px;
  min-height: 54px;
  padding: 0 28px;
  text-decoration: none;
  transition: all 0.2s ease;
}
.buzz-feature-button:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

.buzz-feature-label {
  color: #7c8291;
  font-size: 0.78rem;
  margin: 14px 0 0;
  text-align: right;
  text-transform: uppercase;
}

.buzz-latest-band {
  background: #fff;
  border-top: 1px solid var(--line);
  padding: 40px 0 48px;
}

@media (max-width: 1100px) {
  .buzz-hub-grid.lower {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .buzz-mini-grid {
    grid-column: 1 / -1;
  }
}

@media (max-width: 980px) {
  .index-hero-grid,
  .workspace-layout,
  .panel-head,
  .money-layout,
  .lead-story,
  .video-watch-layout {
    grid-template-columns: 1fr;
  }

  .review-panel {
    position: static;
  }

  .lead-art {
    aspect-ratio: 16 / 9;
    min-height: 0;
  }

  .lead-copy {
    order: -1;
  }

  .money-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .money-section-head,
  .newsletter-box {
    align-items: flex-start;
    flex-direction: column;
  }

  .site-header-inner {
    min-height: 76px;
  }

  .site-search {
    width: min(42vw, 360px);
  }

  .buzz-home-hero {
    padding: 54px 0;
  }

  .buzz-home-inner h1 {
    font-size: 2.35rem;
  }

  .buzz-feature-media {
    max-width: 380px;
  }
}

@media (max-width: 640px) {
  .topbar-inner {
    align-items: flex-start;
    flex-direction: column;
    padding: 14px 0;
  }

  .nav {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .intro-grid,
  .grid,
  .metric-strip,
  .search-row,
  .watch-row,
  .publisher-search,
  .money-card-grid,
  .stats-grid {
    grid-template-columns: 1fr;
  }

  .visual-panel {
    min-height: 220px;
  }

  .section-head {
    display: block;
  }

  .watch-meta {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding-left: 0;
    padding-top: 14px;
  }

  .publisher-masthead {
    padding: 34px 0 24px;
  }

  .category-links a {
    font-size: 0.86rem;
    padding: 7px 11px;
  }

  .article-art,
  .lead-art {
    min-height: 210px;
  }

  .stats-grid div {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .stats-grid div:last-child {
    border-bottom: 0;
  }

  .site-header-inner {
    gap: 14px;
    min-height: 68px;
    padding: 0 16px;
  }

  .site-header-left {
    gap: 14px;
  }

  .site-wordmark {
    font-size: 1.05rem;
  }

  .site-search {
    border: 0;
    display: block;
    height: 42px;
    width: 42px;
  }

  .site-search input {
    display: none;
  }

  .search-submit {
    height: 42px;
    margin: 0;
    width: 42px;
  }

  .buzz-home-hero {
    min-height: 0;
    padding: 34px 0 42px;
  }

  .buzz-home-inner {
    padding: 0 16px;
  }

  .buzz-home-inner h1 {
    font-size: 2rem;
  }

  .buzz-hero-subtitle {
    font-size: 1rem;
    margin-bottom: 28px;
  }

  .buzz-hub-tile {
    gap: 18px;
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 112px;
    padding: 24px 22px;
  }

  .buzz-hub-grid,
  .buzz-hub-grid.lower {
    grid-template-columns: 1fr;
  }

  .buzz-hub-tile strong {
    font-size: 1.2rem;
  }

  .buzz-mini-grid {
    grid-template-columns: 1fr;
  }

  .buzz-mini-tile {
    min-height: 90px;
  }

  .buzz-feature-band {
    padding: 32px 0;
  }

  .buzz-feature-wrap {
    padding: 0 16px;
  }

  .buzz-feature-card {
    gap: 22px;
    grid-template-columns: 1fr;
    padding: 28px;
  }

  .buzz-feature-card::before {
    inset: 12px;
  }

  .buzz-feature-copy h2 {
    font-size: 2.15rem;
  }

  .buzz-feature-stats {
    display: grid;
  }

  .buzz-feature-button {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .index-status-panel {
    grid-template-columns: 1fr;
  }

  .index-status-panel div,
  .index-status-panel div:nth-child(2n),
  .index-status-panel div:nth-last-child(-n + 2) {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .index-status-panel div:last-child {
    border-bottom: 0;
  }
}

/* Money-style publication surface */
.money-header {
  background: #fff;
  border-bottom: 1px solid #e2e2dc;
  position: sticky;
  top: 0;
  z-index: 30;
}

.money-header-inner {
  align-items: center;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  gap: 22px;
  min-height: 48px;
}

.money-header-left {
  align-items: center;
  display: flex;
  gap: 12px;
  min-width: 0;
}

.money-icon {
  background: transparent;
  border: 0;
  cursor: default;
  height: 24px;
  padding: 0;
  position: relative;
  width: 24px;
}

.menu-icon::before,
.menu-icon::after,
.search-icon::before,
.search-icon::after {
}

.menu-icon::before {
  border-top: 2px solid var(--ink);
  border-bottom: 2px solid var(--ink);
  height: 10px;
  left: 3px;
  top: 6px;
  width: 18px;
}

.menu-icon::after {
  border-top: 2px solid var(--ink);
  left: 3px;
  top: 12px;
  width: 18px;
}

.search-icon::before {
  border: 2px solid var(--ink);
  border-radius: 50%;
  height: 12px;
  left: 3px;
  top: 3px;
  width: 12px;
}

.search-icon::after {
  background: var(--ink);
  height: 9px;
  left: 16px;
  top: 15px;
  transform: rotate(-45deg);
  width: 2px;
}

.money-wordmark {
  color: #05052c;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.65rem;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.money-header-nav {
  display: flex;
  gap: 22px;
}

.money-header-nav a {
  color: var(--ink);
  font-size: 0.92rem;
  font-weight: 720;
  text-decoration: none;
}

.money-subscribe {
  border: 1px solid #c89153;
  border-radius: 999px;
  color: #7c5229;
  font-size: 0.82rem;
  font-weight: 760;
  padding: 6px 14px;
  text-decoration: none;
}

.money-cover {
  background:
    linear-gradient(rgba(26, 26, 46, 0.74), rgba(26, 26, 46, 0.86)),
    radial-gradient(circle at 18% 14%, rgba(44, 82, 130, 0.55), transparent 34%),
    #1a1a2e;
  color: #fff;
  padding: 48px 0 38px;
}

.money-cover-brand {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 4rem;
  font-weight: 850;
  line-height: 1;
  margin: 0;
  text-align: center;
}

.money-cover h1 {
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 2rem;
  font-weight: 700;
  margin: 14px auto 0;
  max-width: 760px;
  text-align: center;
}

.money-cover-subtitle {
  color: rgba(255, 255, 255, 0.86);
  font-size: 1.02rem;
  margin: 12px auto 0;
  max-width: 720px;
  text-align: center;
}

.money-guide-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 34px;
}

.money-guide-tile {
  background: #fff;
  border-radius: 10px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-card);
  color: #080834;
  display: grid;
  gap: 10px;
  min-height: 210px;
  padding: 28px 24px;
  text-decoration: none;
  transition: all 0.2s ease;
}
.money-guide-tile:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

.money-guide-tile strong {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.55rem;
  line-height: 1.08;
}

.money-guide-tile span:last-child {
  color: #20243c;
  font-size: 1rem;
}

.tile-icon {
  display: block;
  height: 54px;
  position: relative;
  width: 64px;
}

.money-editorial-section {
  background: #fff;
  padding: 40px 0;
}

.money-editorial-grid {
  display: grid;
  gap: 34px;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
}

.money-section-title {
  border-top: 4px solid #060606;
  color: #05052c;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 0.95rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  margin: 0 0 18px;
  padding-top: 16px;
  text-transform: uppercase;
}

.money-section-title.centered {
  text-align: center;
}

.money-featured-card {
  display: grid;
  gap: 12px;
}

.money-featured-card h3 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.75rem;
}

.money-featured-card h3 a,
.top-story-item h3 a,
.trending-item h3 a,
.best-guide-card h3 a,
.money-category-card {
  color: var(--ink);
  text-decoration: none;
}

.money-featured-card p:not(.article-label),
.money-section-copy,
.best-guide-card p {
  color: var(--muted);
}

.story-meta {
  color: #05118f;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.03em;
  margin: 0;
  text-transform: uppercase;
}

.top-story-list {
  display: grid;
  gap: 18px;
}

.top-story-item {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 14px;
  grid-template-columns: 132px minmax(0, 1fr);
  padding-bottom: 18px;
}

.top-story-item h3 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.15rem;
}

.thumb-art {
  aspect-ratio: 1 / 0.78;
  background: #17201c;
  border-radius: 6px;
  border: 1px solid var(--line);
  display: block;
  overflow: hidden;
  position: relative;
}

.trending-section {
  padding-top: 16px;
}

.trending-list {
  border-top: 1px solid var(--line);
}

.trending-item {
  align-items: start;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 16px;
  grid-template-columns: 42px minmax(0, 1fr);
  padding: 18px 0;
}

.trending-item > span {
  align-items: center;
  background: #5f6670;
  border: 1px solid #515862;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-weight: 850;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.trending-item h3 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.1rem;
}

.video-watch-section {
  background: #fff;
  border-top: 1px solid var(--line);
  padding: 40px 0 44px;
}

.video-watch-method {
  border: 1px solid var(--ink);
  border-radius: 999px;
  color: var(--ink);
  flex: 0 0 auto;
  font-size: 0.84rem;
  font-weight: 850;
  min-height: 38px;
  padding: 8px 16px;
  text-decoration: none;
}

.video-watch-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 10px;
}

.video-watch-all {
  background: var(--ink);
  color: #fff;
}

.video-watch-layout {
  align-items: start;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, 0.82fr);
}

.video-watch-list {
  display: grid;
  gap: 16px;
}

.video-watch-card {
  align-content: start;
  background: #fff;
  border-top: 2px solid var(--ink);
  display: grid;
  gap: 14px;
  padding-top: 16px;
  transition: transform 0.2s ease;
}
.video-watch-card:hover {
  transform: translateY(-2px);
}

.lead-video {
  border-top-width: 4px;
}

.video-art {
  aspect-ratio: 16 / 9;
  background: #05052c;
  border: 1px solid var(--line);
  display: block;
  overflow: hidden;
  position: relative;
}

.video-art::after {
  background: linear-gradient(180deg, transparent 42%, rgba(5, 5, 44, 0.58));
  inset: 0;
}

.play-mark {
  align-items: center;
  background: #f5803d;
  border: 2px solid #fff;
  border-radius: 50%;
  bottom: 16px;
  display: flex;
  height: 54px;
  justify-content: center;
  right: 16px;
  width: 54px;
  z-index: 2;
}

.play-mark::before {
  border-bottom: 12px solid transparent;
  border-left: 18px solid #fff;
  border-top: 12px solid transparent;
  margin-left: 4px;
}

.video-copy h3 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.2rem;
}

.lead-video .video-copy h3 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.75rem;
}

.video-copy h3 a {
  color: var(--ink);
  text-decoration: none;
}

.video-copy p {
  color: var(--muted);
  margin: 9px 0 0;
}

.video-meta,
.video-signal,
.video-note {
  font-size: 0.82rem;
}

.video-signal {
  color: #05118f;
  font-weight: 850;
}

.video-note {
  border-left: 3px solid var(--gold);
  padding-left: 10px;
  color: var(--muted);
}

.video-note-label {
  display: block;
  margin-bottom: 4px;
  color: var(--ink);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.video-note p {
  margin: 0;
}

.video-library-hero {
  background: var(--ink);
  color: #fff;
  padding: 64px 0 58px;
}

.video-library-hero .eyebrow {
  color: #f4c95d;
}

.video-library-hero h1 {
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(2.5rem, 6vw, 4.8rem);
  line-height: 0.98;
  max-width: 820px;
}

.video-library-hero .lede {
  color: rgba(255, 255, 255, 0.82);
  max-width: 780px;
}

.video-library-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  margin-top: 30px;
}

.video-library-stats span {
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.9rem;
}

.video-library-stats strong {
  color: #fff;
  font-size: 1.15rem;
}

.video-library-section {
  background: #fff;
  padding: 40px 0 64px;
}

.video-library-toolbar {
  align-items: end;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.video-library-search {
  display: grid;
  gap: 8px;
  max-width: 620px;
}

.video-library-search span {
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.video-library-search input {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  font: inherit;
  min-height: 48px;
  padding: 11px 18px;
  width: 100%;
}

.video-library-search input:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(5, 17, 143, 0.12);
  outline: none;
}

.video-library-count {
  color: var(--muted);
  font-size: 0.9rem;
  margin: 0 0 12px;
  white-space: nowrap;
}

.video-library-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0 34px;
}

.video-library-filter {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 780;
  min-height: 38px;
  padding: 8px 14px;
}

.video-library-filter:hover,
.video-library-filter.is-active {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}

.video-library-grid {
  display: grid;
  gap: 38px 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.video-library-card {
  align-content: start;
  border-top: 2px solid var(--ink);
  display: grid;
  gap: 14px;
  min-width: 0;
  padding-top: 14px;
}

.video-library-card[hidden] {
  display: none;
}

.video-library-card .video-copy h2 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.28rem;
  line-height: 1.1;
}

.video-library-card .video-copy h2 a {
  color: var(--ink);
  text-decoration: none;
}

.video-library-card .video-copy p {
  color: var(--muted);
  margin: 9px 0 0;
}

.video-library-card .video-signal {
  color: #05118f;
}

.video-library-pick {
  background: #f4c95d;
  border-radius: 999px;
  color: var(--ink);
  font-size: 0.72rem;
  font-weight: 900;
  left: 12px;
  letter-spacing: 0.06em;
  padding: 7px 10px;
  position: absolute;
  text-transform: uppercase;
  top: 12px;
  z-index: 3;
}

.video-library-empty {
  background: var(--gold-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  margin: 0;
  padding: 28px;
  text-align: center;
}

.supplier-directory-hero,
.rankings-index-hero {
  background: var(--ink);
  color: #fff;
  padding: 64px 0 58px;
}

.supplier-directory-hero .eyebrow,
.rankings-index-hero .eyebrow {
  color: #f4c95d;
}

.supplier-directory-hero h1,
.rankings-index-hero h1 {
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(2.45rem, 5.5vw, 4.6rem);
  line-height: 1;
  max-width: 940px;
}

.supplier-directory-hero .lede,
.rankings-index-hero .lede {
  color: rgba(255, 255, 255, 0.82);
  max-width: 860px;
}

.supplier-directory-stats,
.rankings-index-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  margin-top: 30px;
}

.supplier-directory-stats span,
.rankings-index-stats span {
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.9rem;
}

.supplier-directory-stats strong,
.rankings-index-stats strong {
  color: #fff;
  font-size: 1.15rem;
}

.supplier-directory-section,
.rankings-index-section {
  background: #fff;
  padding: 42px 0 64px;
}

.supplier-directory-toolbar {
  align-items: end;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(280px, 1.5fr) minmax(210px, 0.75fr) minmax(220px, 0.85fr);
}

.supplier-directory-toolbar label {
  display: grid;
  gap: 8px;
}

.supplier-directory-toolbar label > span {
  color: var(--ink);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.supplier-directory-toolbar input,
.supplier-directory-toolbar select {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  font: inherit;
  min-height: 48px;
  padding: 10px 13px;
  width: 100%;
}

.supplier-directory-toolbar input:focus,
.supplier-directory-toolbar select:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(5, 17, 143, 0.12);
  outline: none;
}

.supplier-directory-result-row {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin: 18px 0 30px;
}

.supplier-directory-result-row p {
  color: var(--muted);
  margin: 0;
}

.supplier-directory-result-row a,
.supplier-directory-links a {
  color: var(--blue);
  font-weight: 780;
}

.supplier-directory-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.supplier-directory-card {
  border: 1px solid var(--line);
  border-top: 4px solid var(--ink);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  padding: 22px;
}

.supplier-directory-card.is-editor-choice {
  background: linear-gradient(145deg, #fffdf5 0%, #ffffff 58%);
  border-color: var(--gold);
  border-top-color: var(--gold);
  box-shadow: 0 16px 38px rgba(128, 91, 15, 0.12);
}

.supplier-directory-card.is-editor-choice .access-badge {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}

/* Stack checker severity badges */
.badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.badge-info {
  background: #3b82f6;
  color: #fff;
}

.badge-caution {
  background: #eab308;
  color: #000;
}

.badge-warning {
  background: #f97316;
  color: #fff;
}

.badge-avoid {
  background: #ef4444;
  color: #fff;
}

/* Stack Checker */
.stack-selector-card h2 {
  margin-bottom: 4px;
}

.stack-presets-block {
  margin: 12px 0 20px 0;
  padding: 14px 16px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.stack-presets-label {
  margin: 0 0 10px 0;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.stack-preset-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.stack-preset-chip {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 8px 12px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: var(--panel);
  color: var(--ink);
  font: inherit;
  cursor: pointer;
  transition: all 0.15s ease;
}

.stack-preset-chip:hover {
  border-color: var(--forest);
  background: var(--forest);
  color: #fff;
}

.stack-preset-chip:hover .stack-preset-compounds {
  color: rgba(255, 255, 255, 0.8);
}

.stack-preset-name {
  font-weight: 700;
  font-size: 0.88rem;
}

.stack-preset-compounds {
  font-size: 0.74rem;
  color: var(--muted);
}

.stack-presets-note {
  margin: 10px 0 0 0;
  font-size: 0.78rem;
}

.stack-chip-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 10px;
  margin: 16px 0 20px 0;
}

.stack-chip {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.stack-chip:hover {
  border-color: var(--line-strong);
  box-shadow: var(--shadow-card);
}

.stack-chip[aria-pressed="true"] {
  background: var(--forest);
  border-color: var(--forest);
  color: #fff;
}

.stack-chip[aria-pressed="true"] .stack-chip-cat {
  color: rgba(255, 255, 255, 0.75);
}

.stack-chip-name {
  font-weight: 600;
  font-size: 0.94rem;
}

.stack-chip-cat {
  font-size: 0.78rem;
  color: var(--muted);
}

.stack-selected-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.stack-sticky-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--panel);
  border-top: 2px solid var(--forest);
  box-shadow: 0 -4px 24px rgba(26,26,46,0.14);
  z-index: 100;
  padding: 14px 16px;
}

.stack-sticky-bar-inner {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 16px;
}

.stack-sticky-count {
  font-weight: 700;
  font-size: 0.94rem;
  white-space: nowrap;
}

.stack-sticky-names {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.88rem;
}

.stack-sticky-bar .button {
  flex-shrink: 0;
  min-height: 48px;
  padding: 0 24px;
  font-size: 1rem;
  font-weight: 700;
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(45, 90, 74, 0.35);
}

.stack-sticky-bar .button:hover:not([disabled]) {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(45, 90, 74, 0.45);
}

.stack-sticky-bar .button[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

@media (max-width: 640px) {
  .stack-sticky-names {
    display: none;
  }
  .stack-sticky-bar-inner {
    justify-content: space-between;
  }
}

.stack-selected-row .button[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.stack-results {
  margin-top: 28px;
}

.stack-results h2 {
  margin-bottom: 16px;
}

.stack-warning {
  margin-bottom: 16px;
}

.stack-warning-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 8px;
}

.stack-legend {
  list-style: none;
  padding: 0;
  margin: 8px 0 0 0;
}

.stack-legend li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.stack-legend li .badge {
  flex-shrink: 0;
  min-width: 68px;
  text-align: center;
}

@media (max-width: 720px) {
  .stack-chip-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  }
}

/* Community-reported combinations (distinct from clinical stack warnings) */
.community-results {
  margin-top: 28px;
}

.community-results h2 {
  margin-bottom: 8px;
}

.community-note {
  margin: 0 0 16px 0;
  font-size: 0.88rem;
}

.community-card {
  margin-bottom: 16px;
  border: 2px dashed #7c3aed;
  background: #faf7ff;
}

.community-card .stack-warning-head {
  margin-bottom: 8px;
}

.badge-community {
  background: #7c3aed;
  color: #fff;
}

.supplier-directory-card.is-sponsored,
.market-result-card.is-sponsored {
  background: #fff;
  box-shadow: none;
}

.supplier-directory-card.is-sponsored {
  border-color: var(--line);
  border-top-color: var(--ink);
}

.market-result-card.is-sponsored {
  border-color: #d7dcd7;
}

.commercial-inline-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background-color: transparent;
  color: #77746e;
  padding: 0;
  font-size: 0.67rem;
  line-height: 1.3;
}

.commercial-inline-banner strong {
  flex: 0 0 auto;
  color: #74716b;
  font-weight: 720;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.commercial-why-link {
  color: #6d6a65 !important;
  font-size: 0.68rem;
  font-weight: 620 !important;
  text-decoration: underline;
  text-decoration-color: #c9c6bf;
  text-underline-offset: 2px;
}

.commercial-inline-link {
  display: inline-flex;
  align-items: center;
  background: transparent;
  color: #474a50 !important;
  font-weight: 720 !important;
  padding: 0;
  text-decoration: underline;
  text-decoration-color: #b9bbc0;
  text-underline-offset: 3px;
}

.commercial-inline-disclosure {
  display: block;
  color: #77746e;
  font-size: 0.7rem;
  line-height: 1.45;
}

.supplier-directory-choice-reason {
  color: var(--ink);
  font-size: 0.92rem;
  font-weight: 700;
  margin: -4px 0 2px;
}

.supplier-directory-card[hidden] {
  display: none;
}

.supplier-directory-head {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.supplier-directory-reviewed,
.supplier-directory-region,
.supplier-directory-status {
  color: var(--muted);
  font-size: 0.82rem;
}

.supplier-directory-card h2 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.75rem;
  line-height: 1.05;
}

.supplier-directory-region,
.supplier-directory-status,
.supplier-directory-note {
  margin: 0;
}

.supplier-directory-facts {
  display: grid;
  gap: 0;
  margin: 4px 0 0;
}

.supplier-directory-facts div {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 12px;
  grid-template-columns: 118px minmax(0, 1fr);
  padding: 11px 0;
}

.supplier-directory-facts dt {
  color: var(--ink);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.supplier-directory-facts dd {
  color: var(--muted);
  margin: 0;
}

.supplier-directory-note {
  background: var(--gold-soft);
  border-left: 3px solid var(--gold);
  color: var(--muted);
  font-size: 0.84rem;
  padding: 11px 12px;
}

.supplier-directory-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.supplier-directory-empty,
.supplier-directory-boundary {
  background: var(--gold-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-top: 28px;
  padding: 24px;
}

.supplier-directory-empty {
  color: var(--muted);
  text-align: center;
}

.supplier-directory-boundary h2 {
  font-size: 1.4rem;
}

.supplier-directory-boundary p {
  color: var(--muted);
  margin-bottom: 0;
}

.rankings-index-alt {
  background: var(--gold-soft);
  border-top: 1px solid var(--line);
}

.rankings-index-heading {
  align-items: end;
  display: flex;
  gap: 28px;
  justify-content: space-between;
  margin-bottom: 26px;
}

.rankings-index-heading h2 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 2rem;
}

.rankings-index-heading > p {
  color: var(--muted);
  margin: 0;
  max-width: 480px;
}

.rankings-index-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rankings-index-card {
  background: #fff;
  border: 1px solid var(--line);
  border-top: 4px solid var(--ink);
  border-radius: 8px;
  color: var(--ink);
  display: grid;
  gap: 10px;
  min-height: 230px;
  padding: 22px;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.rankings-index-card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

.rankings-index-card > span {
  color: var(--blue);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.rankings-index-card h3 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.35rem;
  line-height: 1.1;
}

.rankings-index-card p {
  color: var(--muted);
  margin: 0;
}

.money-rankings-section {
  background: var(--gold-soft);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 40px 0;
}

.money-rankings-head {
  align-items: end;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 22px;
}

.money-rankings-head h2,
.money-categories-section h2,
.money-best-section h2 {
  color: #05052c;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.75rem;
}

.money-rankings-head p {
  color: var(--muted);
  max-width: 520px;
}

.ranking-card-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.best-guide-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  display: grid;
  gap: 12px;
  padding: 24px;
  box-shadow: var(--shadow-card);
  transition: all 0.2s ease;
}
.best-guide-card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

.best-guide-card h3 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.3rem;
}

.money-button {
  align-self: end;
  background: #f5803d;
  border-radius: 8px;
  color: var(--ink);
  display: inline-flex;
  font-weight: 850;
  justify-content: center;
  min-height: 38px;
  padding: 9px 14px;
  text-decoration: none;
}

.money-newsletter-section {
  background:
    radial-gradient(circle at 18% 20%, rgba(255, 255, 255, 0.15), transparent 32%),
    #1a1a2e;
  color: #fff;
  padding: 60px 0;
  text-align: center;
}

.money-newsletter-box h2 {
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 2.5rem;
  margin: 0 auto;
  max-width: 780px;
}

.money-newsletter-box p {
  color: rgba(255, 255, 255, 0.88);
  margin: 14px auto 0;
  max-width: 620px;
}

.money-newsletter-form {
  display: grid;
  gap: 14px;
  margin: 28px auto 0;
  max-width: 540px;
}

.money-newsletter-form input,
.money-newsletter-form button {
  border: 0;
  border-radius: 10px;
  font: inherit;
  min-height: 58px;
}

.money-newsletter-form input {
  padding: 0 18px;
}

.money-newsletter-form button {
  background: #f5803d;
  color: var(--ink);
  font-weight: 850;
  text-transform: uppercase;
}

.money-best-section {
  background: #1a1a2e;
  color: #fff;
  padding: 40px 0 44px;
}

.money-best-section h2 {
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.08em;
  margin-bottom: 20px;
  text-transform: uppercase;
}

.money-best-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.best-card {
  background: transparent;
  border-top: 0;
  color: #fff;
}

.best-card h3 a,
.best-card .article-copy p,
.best-card .article-meta,
.best-card .article-label {
  color: #fff;
}

.best-card .article-art {
  border-color: rgba(255, 255, 255, 0.34);
}

.money-section-row {
  align-items: end;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 20px;
}

.money-categories-section {
  background: #fff;
  padding: 40px 0;
}

.money-categories-section h2 {
  margin-bottom: 20px;
}

.money-category-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.money-category-card {
  border: 1px solid var(--line);
  border-radius: 10px;
  display: grid;
  gap: 8px;
  min-height: 112px;
  padding: 24px;
  box-shadow: var(--shadow-card);
  transition: all 0.2s ease;
}
.money-category-card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

.money-category-card strong {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.35rem;
}

.money-category-card span {
  color: var(--muted);
}

@media (max-width: 980px) {
  .money-header-inner {
    grid-template-columns: 1fr auto;
  }

  .money-header-nav {
    display: none;
  }

  .money-guide-grid,
  .ranking-card-grid,
  .money-best-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .money-editorial-grid {
    grid-template-columns: 1fr;
  }

  .video-watch-layout {
    grid-template-columns: 1fr;
  }

  .video-library-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .supplier-directory-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .supplier-directory-toolbar label:first-child {
    grid-column: 1 / -1;
  }

  .rankings-index-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .money-rankings-head,
  .money-section-row {
    align-items: start;
    flex-direction: column;
  }
}

@media (max-width: 640px) {
  h1 {
    font-size: 2rem;
  }

  h2 {
    font-size: 1.5rem;
  }

  .money-header-inner {
    gap: 10px;
  }

  .money-wordmark {
    font-size: 1.25rem;
  }

  .money-subscribe {
    display: none;
  }

  .money-cover {
    padding: 32px 0 28px;
  }

  .money-cover-brand {
    font-size: 3rem;
  }

  .money-cover h1 {
    font-size: 1.55rem;
  }

  .money-guide-grid,
  .ranking-card-grid,
  .money-best-grid,
  .money-category-grid {
    grid-template-columns: 1fr;
  }

  .money-guide-tile {
    min-height: 160px;
    padding: 22px;
  }

  .top-story-item {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  .money-newsletter-box h2 {
    font-size: 2rem;
  }

  .lead-video .video-copy h3 {
    font-size: 1.55rem;
  }

  .play-mark {
    height: 44px;
    width: 44px;
  }

  .money-section-title.centered {
    text-align: left;
  }

  .video-library-hero {
    padding: 46px 0 42px;
  }

  .video-library-hero h1 {
    font-size: 2.65rem;
  }

  .video-library-toolbar,
  .video-library-grid {
    grid-template-columns: 1fr;
  }

  .supplier-directory-hero,
  .rankings-index-hero {
    padding: 46px 0 42px;
  }

  .supplier-directory-hero h1,
  .rankings-index-hero h1 {
    font-size: 2.5rem;
  }

  .supplier-directory-toolbar,
  .supplier-directory-grid,
  .rankings-index-grid {
    grid-template-columns: 1fr;
  }

  .supplier-directory-toolbar label:first-child {
    grid-column: auto;
  }

  .supplier-directory-result-row,
  .rankings-index-heading {
    align-items: start;
    flex-direction: column;
  }

  .supplier-directory-facts div {
    grid-template-columns: 1fr;
  }

  .video-library-count {
    margin: 0;
  }

  .video-watch-actions {
    width: 100%;
  }
}

/* ===== MONEY.COM-STYLE HOMEPAGE SECTIONS ===== */

/* --- Sponsor/Lead-Gen Banner Strip --- */
.buzz-sponsor-strip {
  background: var(--ink);
  padding: 28px 0;
  border-bottom: 1px solid rgba(212, 168, 67, 0.3);
}
.buzz-sponsor-inner {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.buzz-sponsor-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: all 0.2s ease;
}
.buzz-sponsor-card:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.15);
}
.buzz-sponsor-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 0;
}
.buzz-sponsor-card h3 {
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.3;
}
.buzz-sponsor-card p {
  color: rgba(255,255,255,0.65);
  font-size: 0.75rem;
  margin: 0;
  line-height: 1.4;
  flex: 1;
}
.buzz-sponsor-cta {
  color: var(--gold);
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
  margin-top: 4px;
}
.buzz-sponsor-cta:hover {
  text-decoration: underline;
}

/* --- Access Paths / Tools --- */
.access-preview-section,
.tool-preview-section {
  background: #fff;
  border-bottom: 1px solid var(--line);
  padding: 42px 0;
}

.access-path-grid,
.access-detail-grid,
.survey-track-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.access-path-card,
.access-detail-card,
.survey-track-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-card);
  color: var(--ink);
  display: grid;
  gap: 12px;
  min-height: 100%;
  padding: 22px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.access-path-card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

.access-path-card strong,
.access-detail-card h2,
.survey-track-card h2 {
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.35rem;
  line-height: 1.15;
}

.access-path-card span:last-child,
.access-detail-card p,
.survey-track-card p {
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.55;
}

.access-detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.access-detail-card {
  align-content: start;
  min-height: 340px;
}

.access-detail-card ul,
.calc-notes ul,
.survey-principles ul {
  color: var(--muted);
  margin: 0;
  padding-left: 20px;
}

.access-detail-card li,
.calc-notes li,
.survey-principles li {
  margin-top: 8px;
}

.access-badge {
  background: var(--gold-soft);
  border: 1px solid rgba(148, 96, 26, 0.22);
  border-radius: 999px;
  color: var(--amber);
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 850;
  justify-self: start;
  letter-spacing: 0.06em;
  padding: 4px 10px;
  text-transform: uppercase;
}

.supplier-closed-badge {
  background: #fdecea;
  border: 1px solid rgba(185, 28, 28, 0.35);
  border-radius: 999px;
  color: #b91c1c;
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 850;
  justify-self: start;
  letter-spacing: 0.06em;
  padding: 4px 10px;
  text-transform: uppercase;
}

.supplier-directory-card.is-closed {
  border-color: rgba(185, 28, 28, 0.4);
  background: linear-gradient(180deg, #fffafa 0%, var(--panel) 45%);
}

.supplier-directory-card.is-closed .supplier-directory-head {
  flex-wrap: wrap;
}

.supplier-closed-note {
  border-left: 3px solid #b91c1c;
  background: #fdecea;
  color: #7f1d1d;
  font-size: 0.86rem;
  font-weight: 700;
  margin: 12px 0;
  padding: 10px 12px;
}

.tool-preview-grid {
  align-items: center;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.tool-preview-grid p {
  color: var(--muted);
  max-width: 660px;
}

.calc-layout,
.survey-principles,
.report-cta-grid {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr);
}

.calc-card,
.calc-notes,
.survey-invite-card,
.report-cta-grid,
.report-lead-form,
.inline-lead-form {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-card);
}

.calc-card,
.calc-notes,
.survey-invite-card {
  padding: 24px;
}

.calc-card,
.report-lead-form,
.inline-lead-form {
  display: grid;
  gap: 16px;
}

.calc-card label,
.report-lead-form label,
.inline-lead-form label {
  display: grid;
  gap: 7px;
}

.calc-card label span,
.report-lead-form label span,
.inline-lead-form label span {
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.calc-card input,
.calc-card select,
.report-lead-form input,
.report-lead-form select,
.inline-lead-form input,
.inline-lead-form select {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--ink);
  font: inherit;
  min-height: 44px;
  padding: 0 12px;
  width: 100%;
}

.calc-input-row {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) 110px;
}

.calc-result {
  background: var(--gold-soft);
  border: 1px solid rgba(148, 96, 26, 0.22);
  border-radius: 8px;
  display: grid;
  gap: 4px;
  padding: 18px;
}

.calc-result span {
  color: var(--amber);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.calc-result strong {
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 2rem;
  line-height: 1.1;
}

.calc-result em {
  color: var(--muted);
  font-style: normal;
  overflow-wrap: anywhere;
}

.calc-notes {
  display: grid;
  gap: 18px;
}

.calc-submit-button {
  background: #f5803d;
  border: 0;
  border-radius: 8px;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  min-height: 46px;
  padding: 0 16px;
}

.calc-submit-button:hover {
  background: #e0702e;
}

.calc-submit-button:active {
  transform: scale(0.98);
}

.calculator-hero .page-band-inner {
  max-width: 720px;
  text-align: center;
}

.calculator-hero .lede {
  color: var(--muted);
  font-size: 1.05rem;
}

/* Result box: locked (before email gate) and unlocked states */
.calc-result-locked {
  background: var(--gold-soft);
  border: 1px solid rgba(148, 96, 26, 0.22);
  border-radius: 8px;
  display: grid;
  gap: 6px;
  padding: 18px;
  text-align: center;
}

.calc-result-locked .lock-hint {
  color: var(--amber);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.calc-result-locked .lock-icon {
  color: var(--amber);
  font-size: 1.6rem;
  line-height: 1;
}

/* Email gate overlay */
.email-gate-overlay {
  background: rgba(26, 26, 46, 0.55);
  bottom: 0;
  display: flex;
  left: 0;
  padding: 20px;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 9999;
}

.email-gate-overlay[hidden] {
  display: none;
}

.email-gate-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 8px 40px rgba(26, 26, 46, 0.20);
  display: grid;
  gap: 14px;
  margin: auto;
  max-width: 440px;
  padding: 32px 28px 24px;
  position: relative;
  width: 100%;
}

.email-gate-card .eyebrow {
  color: var(--amber);
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}

.email-gate-card h2 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.55rem;
  line-height: 1.2;
  margin: 0;
}

.email-gate-copy {
  color: var(--muted);
  font-size: 0.9rem;
  margin: 0;
}

.email-gate-close {
  background: none;
  border: 0;
  color: var(--muted);
  cursor: pointer;
  font-size: 1.6rem;
  line-height: 1;
  padding: 4px 8px;
  right: 8px;
  top: 4px;
}

.email-gate-close:hover {
  color: var(--ink);
}

.email-gate-form {
  display: grid;
  gap: 14px;
}

.email-gate-form label {
  display: grid;
  gap: 7px;
}

.email-gate-form label span {
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.email-gate-form input[type="email"] {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--ink);
  font: inherit;
  min-height: 46px;
  padding: 0 12px;
  width: 100%;
}

.email-gate-form button[type="submit"] {
  background: #f5803d;
  border: 0;
  border-radius: 8px;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  min-height: 46px;
}

.email-gate-form button[type="submit"]:hover {
  background: #e0702e;
}

.email-gate-form button[type="submit"]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.email-gate-foot {
  color: var(--muted);
  font-size: 0.78rem;
  margin: 0;
  text-align: center;
}

/* Toast for confirmation after email submit */
.email-gate-toast {
  background: var(--forest);
  border-radius: 8px;
  color: #fff;
  font-size: 0.88rem;
  font-weight: 600;
  left: 50%;
  padding: 12px 24px;
  position: fixed;
  top: 24px;
  transform: translateX(-50%);
  z-index: 10000;
}

.email-gate-toast[hidden] {
  display: none;
}

@media (max-width: 600px) {
  .email-gate-card {
    padding: 24px 20px 18px;
  }
}

.privacy-note {
  color: var(--muted);
  font-size: 0.82rem;
  margin: 10px 0 0;
}

.hl-note {
  display: block;
  font-size: 0.82rem;
  color: var(--muted);
  font-style: italic;
  margin-top: 4px;
}

.hl-source-note {
  margin-top: 16px;
  font-size: 0.88rem;
  color: var(--muted);
}

.report-cta-band {
  background: var(--gold-soft);
}

.report-cta-grid {
  padding: 26px;
}

.report-cta-grid p {
  color: var(--muted);
}

.report-lead-form,
.inline-lead-form {
  padding: 20px;
}

.report-lead-form {
  margin: 24px auto 0;
  max-width: 680px;
}

.inline-lead-form {
  align-self: stretch;
}

.report-lead-form button,
.inline-lead-form button {
  background: var(--gold);
  border: 0;
  border-radius: 7px;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  min-height: 46px;
  padding: 0 16px;
}

.buzz-newsletter-section .report-lead-form {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: none;
  max-width: 720px;
  text-align: left;
}

.buzz-newsletter-section .report-lead-form label span {
  color: rgba(255, 255, 255, 0.88);
}

.buzz-newsletter-section .report-lead-form button {
  background: var(--gold);
}

.survey-track-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.survey-principles {
  align-items: stretch;
}

.survey-invite-card .report-lead-form {
  margin-top: 16px;
}

/* --- Featured Article Hero --- */
.buzz-featured-section {
  padding: 40px 0 24px;
  background: var(--paper);
}
.buzz-featured-hero {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 32px;
  align-items: center;
  background: var(--panel);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--shadow-hover);
  border: 1px solid var(--line);
}
.buzz-featured-image {
  display: block;
  height: 320px;
  overflow: hidden;
}
.buzz-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.buzz-featured-copy {
  padding: 28px 32px 28px 0;
}
.buzz-featured-label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--forest);
  margin: 0 0 8px;
}
.buzz-featured-copy h2 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.8rem;
  font-weight: 850;
  line-height: 1.2;
  margin: 0 0 12px;
}
.buzz-featured-copy h2 a {
  color: var(--ink);
  text-decoration: none;
}
.buzz-featured-copy h2 a:hover {
  color: var(--blue);
}
.buzz-featured-deck {
  font-size: 1rem;
  color: var(--muted);
  line-height: 1.5;
  margin: 0 0 12px;
}
.buzz-featured-meta {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--muted);
  margin: 0;
}

/* --- Top Stories --- */
.buzz-top-stories-section {
  padding: 40px 0;
  background: var(--paper-strong);
}
.buzz-top-stories-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.buzz-top-story {
  background: var(--panel);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: var(--shadow-card);
  border: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  transition: all 0.2s ease;
}
.buzz-top-story:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}
.buzz-top-story .thumb-art {
  height: 160px;
  overflow: hidden;
}
.buzz-top-story .thumb-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.buzz-top-story > div {
  padding: 16px 18px;
}
.buzz-story-tag {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--blue);
  margin: 0 0 6px;
}
.buzz-top-story h3 {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 6px;
}
.buzz-top-story h3 a {
  color: var(--ink);
  text-decoration: none;
}
.buzz-top-story h3 a:hover {
  color: var(--blue);
}
.buzz-story-meta {
  font-size: 0.75rem;
  color: var(--muted);
  margin: 0;
}

/* --- Trending --- */
.buzz-trending-section {
  padding: 40px 0;
  background: var(--paper);
}
.buzz-trending-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 32px;
}
.buzz-trending-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.buzz-trending-item .buzz-rank-num {
  font-size: 1.5rem;
  font-weight: 850;
  color: #666d76;
  min-width: 28px;
  line-height: 1;
}
.buzz-trending-item h3 {
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 4px;
}
.buzz-trending-item h3 a {
  color: var(--ink);
  text-decoration: none;
}
.buzz-trending-item h3 a:hover {
  color: var(--blue);
}
.buzz-trending-item .buzz-story-meta {
  font-size: 0.7rem;
}

/* --- Rankings (Best Of) --- */
.buzz-rankings-section {
  padding: 40px 0;
  background: var(--paper-strong);
}
.buzz-rankings-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 20px;
}
.buzz-rankings-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.buzz-ranking-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: var(--shadow-card);
  transition: all 0.2s ease;
}
.buzz-ranking-card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}
.buzz-ranking-card h3 {
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.3;
  margin: 0;
}
.buzz-ranking-card p {
  font-size: 0.85rem;
  color: var(--muted);
  margin: 0;
  flex: 1;
}
.buzz-ranking-cta {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--blue);
  text-decoration: none;
  margin-top: 4px;
}
.buzz-ranking-cta:hover {
  text-decoration: underline;
}

/* --- Newsletter --- */
.buzz-newsletter-section {
  padding: 48px 0;
  background: #1a1a2e;
}
.buzz-newsletter-box {
  text-align: center;
  max-width: 560px;
  margin: 0 auto;
}
.buzz-newsletter-kicker {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 0 0 10px;
}
.buzz-newsletter-section h2 {
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 10px;
}
.buzz-newsletter-sub {
  color: rgba(255,255,255,0.85);
  font-size: 1rem;
  margin: 0 0 20px;
}
.newsletter-form {
  display: flex;
  gap: 10px;
  max-width: 420px;
  margin: 0 auto;
}
.newsletter-form input {
  flex: 1;
  padding: 12px 16px;
  border: none;
  border-radius: 6px;
  font-size: 0.95rem;
  outline: none;
}
.newsletter-form button {
  background: var(--gold);
  color: var(--ink);
  border: none;
  border-radius: 6px;
  padding: 12px 24px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
}
.newsletter-form button:hover {
  background: #fff;
  transform: translateY(-1px);
}
.buzz-social-proof {
  display: flex;
  justify-content: center;
  gap: 28px;
  margin-top: 24px;
  flex-wrap: wrap;
}
.buzz-social-proof span {
  color: rgba(255,255,255,0.8);
  font-size: 0.85rem;
}
.buzz-social-proof strong {
  color: var(--gold);
  font-size: 1.3rem;
  font-weight: 850;
  display: block;
}

/* --- Section Row (title + see all) --- */
.buzz-section-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 16px;
}
.buzz-see-all {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--blue);
  text-decoration: none;
}
.buzz-see-all:hover {
  text-decoration: underline;
}

/* --- Video Claim Scanner --- */
.buzz-video-scanner-section {
  padding: 40px 0;
  background: var(--paper);
}
.buzz-video-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.buzz-video-card {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 16px;
  background: var(--panel);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: var(--shadow-card);
  border: 1px solid var(--line);
  transition: all 0.2s ease;
}
.buzz-video-card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}
.buzz-video-art {
  display: block;
  height: 100%;
  min-height: 120px;
  overflow: hidden;
  position: relative;
}
.buzz-video-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.buzz-video-copy {
  padding: 14px 16px 14px 0;
}
.buzz-video-copy h3 {
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 6px;
}
.buzz-video-copy h3 a {
  color: var(--ink);
  text-decoration: none;
}
.buzz-video-copy h3 a:hover {
  color: var(--blue);
}
.buzz-video-meta {
  font-size: 0.7rem;
  color: var(--muted);
  margin: 0 0 4px;
}

/* --- Regulatory Watch Alerts --- */
.buzz-reg-watch-section {
  padding: 40px 0;
  background: var(--paper-strong);
}
.buzz-reg-watch-head {
  margin-bottom: 16px;
}
.buzz-reg-watch-brand {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rose);
  margin: 0 0 4px;
}
.buzz-reg-watch-head h2 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.5rem;
  font-weight: 850;
  margin: 0;
}
.buzz-reg-alert-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.buzz-reg-alert-card {
  background: var(--panel);
  border-left: 4px solid var(--rose);
  border-radius: 6px;
  padding: 18px 20px;
  box-shadow: var(--shadow-card);
  border: 1px solid var(--line);
  border-left: 4px solid var(--rose);
  transition: all 0.2s ease;
}
.buzz-reg-alert-card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}
.buzz-reg-alert-card h3 {
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 8px;
}
.buzz-reg-alert-card h3 a {
  color: var(--ink);
  text-decoration: none;
}
.buzz-reg-alert-card h3 a:hover {
  color: var(--blue);
}
.buzz-reg-next {
  font-size: 0.75rem;
  color: var(--muted);
  margin: 0 0 8px;
}
.buzz-reg-link {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--blue);
  text-decoration: none;
}
.buzz-reg-link:hover {
  text-decoration: underline;
}

/* --- Categories Grid --- */
.buzz-categories-section {
  padding: 40px 0 48px;
  background: var(--paper);
}
.buzz-categories-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.buzz-category-link {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 20px 22px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.2s ease;
  box-shadow: var(--shadow-card);
}
.buzz-category-link:hover {
  border-color: var(--blue);
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}
.buzz-category-link strong {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--ink);
}
.buzz-category-link span {
  font-size: 0.75rem;
  color: var(--muted);
}

.ranking-disclaimer {
  background: var(--gold-soft);
  border: 1px solid var(--gold);
  border-radius: 6px;
  padding: 12px 16px;
  font-size: 0.85rem;
  color: var(--ink);
  margin-top: 16px;
}

/* --- Mobile Nav --- */
.buzz-leaderboard-section {
  padding: 40px 0;
  background: var(--paper);
}
.buzz-leaderboard-sub {
  font-size: 0.9rem;
  color: var(--muted);
  margin: 6px 0 0;
  max-width: 700px;
}
.buzz-leaderboard-table {
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
  background: var(--panel);
  box-shadow: var(--shadow-card);
}
.buzz-leaderboard-head {
  display: grid;
  grid-template-columns: 40px 1.5fr 1.2fr 1fr 1fr 1fr;
  gap: 8px;
  padding: 14px 18px;
  background: var(--ink);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.buzz-leaderboard-row {
  display: grid;
  grid-template-columns: 40px 1.5fr 1.2fr 1fr 1fr 1fr;
  gap: 8px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  align-items: center;
  font-size: 0.85rem;
  transition: background 0.2s ease;
}
.buzz-leaderboard-row:last-child {
  border-bottom: none;
}
.buzz-leaderboard-row:hover {
  background: var(--paper-strong);
}
.buzz-leaderboard-row .col-name strong {
  display: block;
  font-weight: 700;
}
.buzz-leaderboard-row .col-name em {
  display: block;
  font-style: normal;
  font-size: 0.75rem;
  color: var(--muted);
}
.buzz-score-bar {
  display: inline-block;
  width: 80px;
  height: 6px;
  background: var(--line);
  border-radius: 3px;
  overflow: hidden;
  vertical-align: middle;
  margin-right: 8px;
}
.buzz-score-fill {
  display: block;
  height: 100%;
  border-radius: 3px;
}
.buzz-score-num {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--muted);
}
.buzz-supplier-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 0.7rem;
  font-weight: 600;
}
.buzz-supplier-status.status-good {
  background: #e8f5e9;
  color: #2e7d32;
}
.buzz-supplier-status.status-review {
  background: var(--gold-soft);
  color: var(--amber);
}
.buzz-supplier-status.status-warning {
  background: #fff3e0;
  color: #883400;
}
.buzz-supplier-status.status-danger {
  background: #ffebee;
  color: #c62828;
}
.buzz-leaderboard-disclaimer {
  font-size: 0.75rem;
  color: var(--muted);
  margin-top: 12px;
  line-height: 1.5;
}

/* --- Mobile Nav --- */
.mobile-nav {
  display: none;
  flex-direction: column;
  background: var(--ink);
  padding: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.mobile-nav.mobile-nav-open {
  display: flex;
  max-height: 300px;
}
.mobile-nav a {
  color: #fff;
  padding: 12px 24px;
  text-decoration: none;
  font-size: 0.95rem;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.mobile-nav a:hover {
  background: rgba(255,255,255,0.08);
}
.menu-icon-active {
  background: rgba(255,255,255,0.1);
}

@media (max-width: 768px) {
  .site-header-inner {
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 16px 12px;
  }
  .site-header-left {
    width: 100%;
  }
  .site-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    height: 44px;
    max-width: none;
    order: 2;
    width: 100%;
  }
  .site-search input {
    display: block;
    padding: 0 15px;
    width: 100%;
  }
  .search-submit {
    height: 36px;
    width: 36px;
  }
  .mobile-nav.mobile-nav-open { display: flex; }
}

.outreach-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.outreach-toolbar label { display: grid; gap: 7px; font-weight: 750; }
.outreach-toolbar select { min-width: 220px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); color: var(--ink); }
.outreach-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.outreach-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.outreach-heading h2 { margin-top: 4px; }
.outreach-card label { display: grid; gap: 7px; margin: 18px 0 12px; font-weight: 750; }
.outreach-card textarea { width: 100%; padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); color: var(--ink); resize: vertical; font: inherit; font-weight: 400; }
.outreach-copy { padding: 10px 15px; border: 0; border-radius: 5px; background: var(--blue); color: white; font-weight: 800; cursor: pointer; }
.partner-readiness-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .7fr); gap: 34px; align-items: start; }
.partner-funnel { display: grid; gap: 12px; margin: 24px 0 0; padding: 0; list-style: none; counter-reset: funnel; }
.partner-funnel li { display: grid; grid-template-columns: minmax(140px, .35fr) 1fr; gap: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 7px; background: var(--panel); counter-increment: funnel; }
.partner-funnel strong::before { content: counter(funnel) ". "; color: var(--gold); }
.partner-event-grid, .partner-control-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.partner-event-grid article, .partner-control-grid article { padding: 18px; border: 1px solid var(--line); border-radius: 7px; background: var(--panel); }
.partner-event-grid strong, .partner-event-grid span { display: block; }
.partner-event-grid strong { margin-bottom: 8px; color: var(--blue); }
.partner-event-grid span, .partner-control-grid p { line-height: 1.55; }
@media (max-width: 768px) { .outreach-grid { grid-template-columns: 1fr; } .outreach-toolbar { align-items: stretch; flex-direction: column; } }
@media (max-width: 768px) { .partner-readiness-layout, .partner-event-grid, .partner-control-grid { grid-template-columns: 1fr; } .partner-funnel li { grid-template-columns: 1fr; gap: 6px; } }

/* --- Breadcrumbs --- */
.breadcrumb {
  padding: 12px 0;
  background: var(--paper-strong);
  border-bottom: 1px solid var(--line);
}
.breadcrumb .page-band-inner {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
  color: var(--muted);
}
.breadcrumb a {
  color: var(--blue);
  text-decoration: none;
}
.breadcrumb a:hover {
  text-decoration: underline;
}
.breadcrumb span {
  color: var(--muted);
}

/* --- Search Results Dropdown --- */
.search-results {
  position: absolute;
  top: 100%;
  right: 0;
  width: min(360px, calc(100vw - 36px));
  max-height: 400px;
  overflow-y: auto;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  z-index: 100;
  margin-top: 4px;
}

@media (max-width: 768px) {
  .search-results {
    left: 16px;
    right: 16px;
    width: auto;
  }
}
.search-result-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 16px;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  color: var(--ink);
}
.search-result-item:hover {
  background: var(--paper-strong);
}
.search-result-item:last-child {
  border-bottom: none;
}
.search-result-item strong {
  font-size: 0.9rem;
}
.search-result-item span {
  font-size: 0.75rem;
  color: var(--muted);
}
.search-empty {
  padding: 16px;
  text-align: center;
  color: var(--muted);
  font-size: 0.85rem;
  margin: 0;
}

/* --- Related Compounds --- */
.related-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-decoration: none;
  color: var(--ink);
  transition: all 0.2s ease;
}
.related-card:hover {
  border-color: var(--blue);
  box-shadow: var(--shadow-card);
}
.related-card h3 {
  font-size: 1rem;
  margin: 0;
}
.related-card p {
  font-size: 0.8rem;
  color: var(--muted);
  margin: 0;
  flex: 1;
}

/* --- Section Title --- */
.money-section-title {
  font-size: 1.3rem;
  font-weight: 850;
  margin: 0 0 4px;
  color: var(--ink);
}

/* --- Responsive --- */
@media (max-width: 900px) {
  .buzz-sponsor-inner { grid-template-columns: repeat(2, 1fr); }
  .access-path-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .access-detail-grid,
  .survey-track-grid,
  .calc-layout,
  .survey-principles,
  .report-cta-grid { grid-template-columns: 1fr; }
  .tool-preview-grid {
    align-items: start;
    grid-template-columns: 1fr;
  }
  .buzz-featured-hero { grid-template-columns: 1fr; }
  .buzz-featured-image { height: 200px; }
  .buzz-featured-copy { padding: 20px; }
  .buzz-top-stories-grid { grid-template-columns: 1fr; }
  .buzz-trending-list { grid-template-columns: 1fr; }
  .buzz-rankings-grid { grid-template-columns: 1fr; }
  .buzz-video-grid { grid-template-columns: 1fr; }
  .buzz-reg-alert-grid { grid-template-columns: repeat(2, 1fr); }
  .buzz-categories-grid { grid-template-columns: repeat(2, 1fr); }
  .newsletter-form { flex-direction: column; }
  .buzz-social-proof { gap: 16px; }
  .buzz-newsletter-section h2 { font-size: 1.5rem; }
}

@media (max-width: 600px) {
  .buzz-sponsor-inner { grid-template-columns: 1fr; }
  .access-path-grid { grid-template-columns: 1fr; }
  .calc-input-row { grid-template-columns: 1fr; }
  .report-cta-grid,
  .calc-card,
  .calc-notes,
  .survey-invite-card,
  .report-lead-form,
  .inline-lead-form {
    padding: 18px;
  }
  .buzz-reg-alert-grid { grid-template-columns: 1fr; }
  .buzz-categories-grid { grid-template-columns: 1fr; }
  .buzz-video-card { grid-template-columns: 1fr; }
  .buzz-video-art { min-height: 160px; }
  .buzz-leaderboard-head { display: none; }
  .buzz-leaderboard-row {
    grid-template-columns: 30px 1fr;
    gap: 4px;
    padding: 12px;
  }
  .buzz-leaderboard-row .col-rank { grid-row: 1; }
  .buzz-leaderboard-row .col-name { grid-row: 1; grid-column: 2; }
  .buzz-leaderboard-row .col-score { grid-column: 2; }
  .buzz-leaderboard-row .col-coa { grid-column: 2; font-size: 0.75rem; color: var(--muted); }
  .buzz-leaderboard-row .col-third { grid-column: 2; font-size: 0.75rem; color: var(--muted); }
  .buzz-leaderboard-row .col-status { grid-column: 2; }
}

/* --- Lead CTA section (compound pages) --- */
.lead-cta-band {
  background: var(--gold-soft);
  padding: 40px 0;
}
.lead-cta-band h2 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.6rem;
  font-weight: 850;
  margin: 4px 0 20px;
}
.lead-cta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}
.lead-cta-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-card);
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 20px 22px;
  text-decoration: none;
  color: var(--ink);
  transition: box-shadow 0.2s, transform 0.2s;
}
.lead-cta-card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}
.lead-cta-icon {
  font-size: 1.5rem;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 2px;
}
.lead-cta-newsletter .lead-cta-icon { color: var(--forest); }
.lead-cta-video .lead-cta-icon { color: var(--rose); }
.lead-cta-compare .lead-cta-icon { color: var(--blue); }
.lead-cta-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}
.lead-cta-copy strong {
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.35;
}
.lead-cta-copy span {
  font-size: 0.85rem;
  color: var(--muted);
  line-height: 1.5;
}
.lead-cta-copy span a {
  color: var(--blue);
  text-decoration: underline;
}
.lead-cta-links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
}
.lead-cta-links a {
  color: var(--blue);
  text-decoration: underline;
  font-size: 0.85rem;
}
.lead-cta-arrow {
  font-size: 1.3rem;
  color: var(--gold);
  flex-shrink: 0;
  align-self: center;
}
.lead-cta-card:hover .lead-cta-arrow {
  color: var(--amber);
}

@media (max-width: 600px) {
  .lead-cta-grid { grid-template-columns: 1fr; }
  .lead-cta-band h2 { font-size: 1.35rem; }
}

/* Bacteriostatic water calculator: mode toggle */
.calc-mode-toggle {
  display: flex;
  gap: 8px;
  margin-bottom: 4px;
}

.calc-mode-btn {
  flex: 1 1 0;
  background: var(--paper-strong);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  min-height: 44px;
  padding: 0 12px;
  text-align: center;
  transition: all 0.2s ease;
}

.calc-mode-btn:hover {
  border-color: var(--line-strong);
  color: var(--ink);
}

.calc-mode-active {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}

.calc-mode-active:hover {
  color: #fff;
}

@media (max-width: 600px) {
  .calc-mode-toggle {
    flex-direction: column;
  }
}

/* Company graph and Regulatory Watch */
.company-logo {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  justify-content: center;
  overflow: hidden;
  padding: 10px 16px;
}

.company-logo-dark {
  background: var(--ink);
  border-color: var(--ink);
}

.company-logo img {
  display: block;
  height: 100%;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  width: 100%;
}

.company-logo-card {
  height: 92px;
  margin-bottom: 2px;
}

.company-logo-card.company-logo-brand-mark img {
  max-width: 72px;
}

.company-logo-placeholder {
  background: #f7f7f3;
  border-style: dashed;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.company-logo-profile {
  height: 112px;
  margin-bottom: 24px;
  max-width: 280px;
}

.company-logo-profile.company-logo-brand-mark {
  max-width: 140px;
}

.company-logo-ranking {
  flex: 0 0 104px;
  height: 58px;
  padding: 5px 8px;
}

.company-logo-ranking.company-logo-brand-mark {
  flex-basis: 58px;
}

.company-logo-inline {
  border-radius: 5px;
  flex: 0 0 42px;
  height: 34px;
  padding: 3px;
}

.buzz-company-name {
  align-items: center;
  display: flex !important;
  gap: 9px;
}

.buzz-company-name > span:last-child {
  min-width: 0;
}

.company-profile-actions,
.claim-profile-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.button-link-secondary {
  background: transparent !important;
  border: 1px solid var(--ink);
  color: var(--ink) !important;
}

.company-compare-index {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.company-compare-index h2 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.45rem;
}

.company-compare-toolbar {
  align-items: end;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 22px;
}

.company-compare-toolbar p {
  color: var(--muted);
  margin-bottom: 0;
}

.company-compare-toolbar button,
.claim-profile-actions button {
  background: var(--ink);
  border: 0;
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  padding: 11px 18px;
}

.claim-profile-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.claim-profile-honeypot {
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.claim-consent {
  align-items: start;
  display: grid !important;
  gap: 10px !important;
  grid-template-columns: auto minmax(0, 1fr);
}

.claim-consent input {
  margin-top: 3px;
  width: auto !important;
}

.claim-consent span {
  font-size: 0.9rem !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  line-height: 1.5;
  text-transform: none !important;
}

.claim-status,
.owner-profile-status {
  border-radius: 7px;
  font-weight: 750;
  padding: 0;
}

.claim-status:not(:empty),
.owner-profile-status {
  background: #eef3ff;
  border: 1px solid #b7c9f7;
  padding: 14px 16px;
}

.claim-status.is-success,
.owner-profile-status.is-success {
  background: #eaf8ef;
  border-color: #8bcaa0;
  color: #155d31;
}

.claim-status.is-error,
.owner-profile-status.is-error {
  background: #fff0ef;
  border-color: #df9e98;
  color: #8f251d;
}

.company-compare-options {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.company-compare-option {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  min-height: 62px;
  padding: 9px 10px;
}

.company-compare-option > label {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 8px;
  grid-template-columns: auto 42px minmax(0, 1fr);
}

.company-compare-option:has(input:checked) {
  border-color: var(--blue);
  box-shadow: 0 0 0 2px rgba(34, 83, 199, 0.12);
}

.company-compare-option .company-logo-inline {
  width: 42px;
}

.company-compare-option-copy,
.company-compare-option-copy strong {
  display: block;
  min-width: 0;
}

.company-compare-commercial {
  border-top: 1px solid #eceae5;
  display: grid;
  gap: 7px;
  margin-top: 9px;
  padding-top: 8px;
}

.company-compare-commercial .commercial-inline-banner {
  align-items: flex-start;
  flex-direction: column;
  gap: 2px;
}

.company-compare-message {
  color: var(--muted);
  font-weight: 700;
  margin: 16px 0;
}

.supplier-comparison-filters {
  display: grid;
  grid-template-columns: 1.4fr 1fr 0.8fr;
  gap: 14px;
  margin: 22px 0;
}

.supplier-comparison-filters label {
  display: grid;
  gap: 6px;
  font-weight: 750;
}

.supplier-comparison-filters input,
.supplier-comparison-filters select {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 11px 12px;
  font: inherit;
}

.company-compare-option small {
  color: var(--muted);
  display: block;
  font-size: 0.72rem;
}

.documentation-score-head {
  align-items: end;
  display: flex;
  justify-content: space-between;
  gap: 24px;
}

.documentation-score-head > strong {
  font-size: 1.1rem;
}

.documentation-score-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 22px;
}

.documentation-score-grid div {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
}

.documentation-score-grid span,
.documentation-score-grid strong {
  display: block;
}

.documentation-score-grid span {
  color: var(--muted);
  font-size: 0.72rem;
  text-transform: capitalize;
}

.testing-report-table-wrap {
  overflow-x: auto;
}

.testing-report-table {
  border-collapse: collapse;
  min-width: 920px;
  width: 100%;
}

.testing-report-table th,
.testing-report-table td {
  border: 1px solid var(--line);
  padding: 12px;
  text-align: left;
  vertical-align: top;
}

.testing-report-table th {
  background: var(--ink);
  color: #fff;
}

.company-compare-table-wrap,
.admin-company-table-wrap {
  overflow-x: auto;
}

.company-compare-table,
.admin-company-table {
  border-collapse: collapse;
  min-width: 760px;
  width: 100%;
}

.company-compare-table th,
.company-compare-table td,
.admin-company-table th,
.admin-company-table td {
  border: 1px solid var(--line);
  padding: 14px;
  text-align: left;
  vertical-align: top;
}

.company-compare-table thead th,
.admin-company-table thead th {
  background: var(--ink);
  color: #fff;
}

.commercial-placement {
  background: #fff;
  border-top: 1px solid var(--line);
}

.commercial-context-placement {
  padding-top: 28px;
}

.commercial-context-heading {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
}

.commercial-context-heading .eyebrow {
  color: #77746e;
  font-size: 0.68rem;
  margin: 0;
}

.video-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.7fr);
  gap: 30px;
  align-items: start;
}

.video-detail-hero {
  background: var(--ink);
  color: #fff;
}

.video-detail-hero h1,
.video-detail-hero .lede {
  color: #fff;
}

.video-detail-hero .eyebrow {
  color: #f4c95d;
}

.video-embed {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 12px;
  background: #08081e;
}

.video-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.video-review-panel {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 24px;
  background: var(--gold-soft);
}

.commercial-placement-intro {
  max-width: 760px;
  color: var(--muted);
}

.commercial-offer-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  padding: 18px;
}

.commercial-offer-brand {
  align-items: center;
  display: flex;
  gap: 12px;
}

.commercial-offer-brand .company-logo-inline {
  flex-basis: 54px;
  height: 40px;
}

.commercial-offer-meta {
  display: flex;
  flex: 1;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.commercial-offer-fact {
  color: var(--muted);
  font-size: 0.78rem;
}

.commercial-offer-link {
  color: #3f4349;
  font-size: 0.86rem;
  font-weight: 760;
  text-decoration: underline;
  text-decoration-color: #b9bbc0;
  text-underline-offset: 3px;
}

.commercial-offer-card small {
  display: block;
  margin-top: 14px;
  color: var(--muted);
  line-height: 1.45;
}

.calculator-sponsor-placement .page-band-inner {
  max-width: 820px;
}

.calculator-sponsor-card {
  background: #fff;
  border-color: #d7dcd7;
  border-radius: 8px;
  border-style: solid;
  border-width: 1px;
  box-shadow: none;
  padding: 14px 16px;
}

.calculator-sponsor-row {
  align-items: center;
  display: grid;
  gap: 14px;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  margin-top: 12px;
}

.calculator-sponsor-row .company-logo-inline {
  height: 38px;
}

.calculator-sponsor-copy {
  display: grid;
  gap: 2px;
}

.calculator-sponsor-copy span,
.calculator-sponsor-foot {
  color: var(--muted);
  font-size: 0.74rem;
}

.calculator-sponsor-foot {
  align-items: start;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 12px;
  grid-template-columns: auto minmax(0, 1fr);
  line-height: 1.5;
  margin-top: 12px;
  padding-top: 10px;
}

.calculator-sponsor-foot a {
  color: var(--blue);
  font-weight: 700;
}

.calculator-sponsor-foot small {
  color: var(--muted);
  font-size: 0.7rem;
}

@media (max-width: 600px) {
  .calculator-sponsor-row,
  .calculator-sponsor-foot {
    grid-template-columns: 1fr;
  }

  .calculator-sponsor-row .company-logo-inline {
    width: 90px;
  }
}

.company-profile-commercial {
  border-bottom: 1px solid #dedfe2;
  border-top: 1px solid #dedfe2;
  display: grid;
  gap: 9px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 20px;
  max-width: 780px;
  padding: 12px 0;
}

.company-profile-commercial .commercial-inline-banner,
.company-profile-commercial .commercial-inline-disclosure {
  grid-column: 1 / -1;
}

.company-profile-commercial-copy {
  display: grid;
  gap: 3px;
}

.company-profile-commercial-copy span {
  color: var(--muted);
  font-size: 0.82rem;
}

.offer-admin-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap: 32px;
  margin-top: 28px;
  align-items: start;
}

.offer-admin-layout[hidden] {
  display: none;
}

.offer-admin-form,
.offer-live-list article {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 24px;
  background: #fff;
}

.offer-admin-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.offer-admin-fields label {
  display: grid;
  gap: 7px;
  font-weight: 700;
}

.offer-admin-fields input,
.offer-admin-fields select,
.offer-admin-fields textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  font: inherit;
}

.offer-admin-fields .offer-wide {
  grid-column: 1 / -1;
}

.offer-live-list {
  display: grid;
  gap: 14px;
}

.admin-repo-offers {
  margin-top: 44px;
}

@media (max-width: 900px) {
  .offer-admin-layout,
  .offer-admin-fields,
  .video-detail-layout {
    grid-template-columns: 1fr;
  }

  .offer-admin-fields .offer-wide {
    grid-column: auto;
  }

  .supplier-comparison-filters,
  .documentation-score-grid {
    grid-template-columns: 1fr;
  }

  .documentation-score-head {
    align-items: start;
    flex-direction: column;
  }
}

.company-compare-table tbody th {
  background: var(--gold-soft);
  min-width: 180px;
  width: 18%;
}

.company-compare-table td {
  color: #303344;
  line-height: 1.55;
  min-width: 230px;
}

.company-compare-logo {
  background: #fff;
  border-radius: 5px;
  display: block;
  height: 52px;
  margin-bottom: 8px;
  object-fit: contain;
  padding: 5px;
  width: 104px;
}

.company-compare-logo.is-dark {
  background: var(--ink);
}

.company-compare-table thead a {
  color: #fff;
}

.claim-profile-layout {
  align-items: start;
  display: grid;
  gap: 34px;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.7fr);
}

.claim-profile-form {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.claim-profile-form label {
  display: grid;
  gap: 7px;
}

.claim-profile-form label > span {
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.claim-profile-form input,
.claim-profile-form select,
.claim-profile-form textarea {
  border: 1px solid var(--line);
  border-radius: 7px;
  font: inherit;
  padding: 11px 12px;
  width: 100%;
}

.claim-profile-wide {
  grid-column: 1 / -1;
}

.claim-profile-boundary {
  background: var(--gold-soft);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 24px;
}

.claim-profile-boundary h2 {
  font-size: 1.25rem;
}

.admin-operations-hero {
  background: var(--ink);
  color: #fff;
}

.admin-operations-hero h1,
.admin-operations-hero .lede {
  color: #fff;
}

.admin-operations-hero .eyebrow {
  color: #f4c95d;
}

.admin-status-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 28px;
}

.admin-status-grid article {
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  padding: 18px;
}

.admin-status-grid strong {
  font-size: 2rem;
}

.admin-status-grid span {
  color: var(--muted);
  text-transform: capitalize;
}

.owner-profile-shell {
  max-width: 980px;
}

.owner-profile-form {
  margin-top: 24px;
}

.owner-company-heading {
  background: var(--gold-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 4px;
  padding: 16px;
}

.owner-company-heading span {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.owner-company-heading strong {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.5rem;
}

.owner-update-history {
  margin-top: 36px;
}

.owner-update-history article {
  border-top: 1px solid var(--line);
  padding: 14px 0;
}

.admin-auth-panel {
  align-items: end;
  background: var(--gold-soft);
  border: 1px solid var(--line);
  border-radius: 10px;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(220px, 1fr) minmax(180px, 0.5fr) auto;
  margin-bottom: 32px;
  padding: 20px;
}

.admin-auth-panel label {
  display: grid;
  gap: 6px;
}

.admin-auth-panel label span {
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.admin-auth-panel input,
.admin-auth-panel select,
.admin-auth-panel button,
.admin-claim-card textarea {
  border: 1px solid var(--line);
  border-radius: 7px;
  font: inherit;
  padding: 10px 12px;
  width: 100%;
}

.admin-auth-panel button {
  background: var(--ink);
  color: #fff;
  cursor: pointer;
  font-weight: 800;
  width: auto;
}

.admin-auth-panel p {
  grid-column: 1 / -1;
  margin: 0;
}

.admin-private-queue {
  margin-bottom: 42px;
}

.admin-claim-card {
  border: 1px solid var(--line);
  border-radius: 9px;
  margin: 14px 0;
  padding: 20px;
}

.admin-claim-card h3 {
  margin-top: 0;
}

.admin-claim-card p {
  white-space: pre-wrap;
}

.company-offer-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.company-offer-grid article {
  border-color: var(--line);
  border-radius: 8px;
}

.company-offer-grid article > span,
.company-offer-grid small {
  display: block;
  font-size: 0.72rem;
  font-weight: 680;
  letter-spacing: 0.01em;
}

.company-offer-grid small {
  color: var(--muted);
  margin-top: 14px;
}

@media (max-width: 900px) {
  .company-compare-index,
  .company-compare-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .claim-profile-layout {
    grid-template-columns: 1fr;
  }
  .admin-auth-panel {
    grid-template-columns: 1fr;
  }
  .admin-auth-panel p {
    grid-column: auto;
  }
}

@media (max-width: 600px) {
  .company-compare-index,
  .company-compare-options,
  .claim-profile-form,
  .admin-status-grid,
  .company-offer-grid {
    grid-template-columns: 1fr;
  }
  .claim-profile-wide {
    grid-column: auto;
  }
  .company-compare-toolbar {
    align-items: start;
    flex-direction: column;
  }
}

.company-directory-toolbar {
  grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
}

.company-profile-hero {
  background: linear-gradient(145deg, #f7f9fc 0%, #ffffff 62%);
  border-bottom: 1px solid var(--line);
}

.company-editor-choice {
  background: var(--gold-soft);
  border-left: 4px solid var(--gold);
  max-width: 760px;
  padding: 14px 16px;
}

.company-profile-facts {
  border: 1px solid var(--line);
  border-radius: 8px;
  margin: 22px 0 0;
}

.company-profile-facts div {
  display: grid;
  gap: 20px;
  grid-template-columns: 180px minmax(0, 1fr);
  padding: 16px 18px;
}

.company-profile-facts div + div {
  border-top: 1px solid var(--line);
}

.company-profile-facts dt {
  font-weight: 850;
}

.company-profile-facts dd {
  color: var(--muted);
  margin: 0;
}

.company-profile-columns {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 24px;
}

.company-profile-columns > div,
.regulatory-action-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 20px;
}

.regulatory-action-list {
  display: grid;
  gap: 20px;
  margin-top: 22px;
}

.regulatory-action-card {
  border-top: 4px solid var(--rose);
}

.regulatory-action-card h2,
.regulatory-action-card h3 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.55rem;
  margin: 10px 0;
}

.regulatory-action-card h2 a,
.regulatory-action-card h3 a {
  color: var(--ink);
  text-decoration: none;
}

.regulatory-action-card h2 a:hover,
.regulatory-action-card h3 a:hover {
  color: var(--blue);
}

.regulatory-action-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.regulatory-action-meta span,
.regulatory-action-meta time {
  background: #f3f5f8;
  border-radius: 999px;
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 800;
  padding: 6px 10px;
}

.regulatory-action-source {
  color: var(--blue);
  font-weight: 800;
}

.regulatory-stage {
  color: var(--muted);
  font-size: 0.88rem;
  margin: -2px 0 12px;
}

.regulatory-action-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 18px;
}

.regulatory-action-links a {
  font-weight: 800;
}

.regulatory-filter-toolbar {
  align-items: end;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(260px, 1.5fr) repeat(2, minmax(180px, 1fr));
}

.regulatory-filter-toolbar label {
  display: grid;
  gap: 7px;
}

.regulatory-filter-toolbar label span {
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.regulatory-filter-toolbar input,
.regulatory-filter-toolbar select {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--ink);
  font: inherit;
  min-height: 46px;
  padding: 0 12px;
  width: 100%;
}

.regulatory-results,
.regulatory-feed-link {
  color: var(--muted);
  font-size: 0.88rem;
}

.regulatory-watch-hero .regulatory-feed-link,
.regulatory-watch-hero .regulatory-feed-link a {
  color: #f4c95d;
}

.regulatory-record-hero .button-link {
  margin-top: 22px;
}

.regulatory-record-grid {
  display: grid;
  gap: 42px;
  grid-template-columns: minmax(0, 1.55fr) minmax(260px, 0.8fr);
}

.regulatory-record-grid aside {
  border-left: 1px solid var(--line);
  padding-left: 30px;
}

.regulatory-timeline {
  display: grid;
  gap: 0;
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
}

.regulatory-timeline li {
  align-items: center;
  border-left: 3px solid var(--gold);
  display: grid;
  gap: 6px 18px;
  grid-template-columns: 150px minmax(0, 1fr) auto;
  padding: 12px 0 12px 18px;
}

.regulatory-timeline time {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 750;
}

@media (max-width: 700px) {
  .company-directory-toolbar,
  .company-profile-columns,
  .regulatory-filter-toolbar,
  .regulatory-record-grid {
    grid-template-columns: 1fr;
  }

  .regulatory-record-grid aside {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding-left: 0;
    padding-top: 24px;
  }

  .regulatory-timeline li {
    grid-template-columns: 1fr;
  }

  .company-profile-facts div {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

.arrow-icon {
  display: inline-block;
  vertical-align: -2px;
  margin-left: 4px;
  transition: transform 0.2s ease;
}

a:hover .arrow-icon {
  transform: translateX(3px);
}

.lead-cta-arrow {
  display: inline-block;
  vertical-align: -2px;
  margin-left: 4px;
}

/* --- Exit-intent popup --- */
.exit-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(11, 10, 51, 0.72);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.exit-popup-overlay.exit-popup-visible {
  opacity: 1;
  visibility: visible;
}
.exit-popup-card {
  position: relative;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
  max-width: 460px;
  width: calc(100% - 32px);
  padding: 36px 32px 28px;
  text-align: center;
  transform: translateY(20px) scale(0.96);
  transition: transform 0.3s ease;
}
.exit-popup-overlay.exit-popup-visible .exit-popup-card {
  transform: translateY(0) scale(1);
}
.exit-popup-close {
  top: 12px;
  right: 14px;
  background: none;
  border: none;
  font-size: 1.6rem;
  line-height: 1;
  color: var(--muted);
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  transition: color 0.2s, background 0.2s;
}
.exit-popup-close:hover {
  color: var(--ink);
  background: var(--paper-strong);
}
.exit-popup-kicker {
  color: var(--gold);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0 0 10px;
}
.exit-popup-card h2 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 12px;
  color: var(--ink);
}
.exit-popup-sub {
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0 0 22px;
}
.exit-popup-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.exit-popup-form input[type="email"] {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 14px;
  font-size: 0.95rem;
  font-family: inherit;
  outline: none;
  transition: border-color 0.2s;
}
.exit-popup-form input[type="email"]:focus {
  border-color: var(--blue);
}
.exit-popup-form button {
  min-height: 44px;
  border: none;
  border-radius: 8px;
  background: var(--ink);
  color: #fff;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}
.exit-popup-form button:hover {
  background: var(--forest);
  transform: translateY(-1px);
}
.exit-popup-thanks {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--forest);
  margin: 12px 0;
}
.exit-popup-disclaimer {
  color: var(--muted);
  font-size: 0.78rem;
  margin: 16px 0 0;
}

@media (max-width: 600px) {
  .exit-popup-card { padding: 28px 20px 22px; }
  .exit-popup-card h2 { font-size: 1.35rem; }
}

/* --- Welcome / autoresponder confirmation page --- */
.welcome-hero {
  background:
    radial-gradient(circle at 20% 30%, rgba(212, 168, 67, 0.08), transparent 40%),
    linear-gradient(180deg, #1a1a2e 0%, #0b0a33 100%);
  padding: 64px 0 48px;
  text-align: center;
}

.welcome-hero-inner {
  max-width: 720px;
  margin: 0 auto;
}

.welcome-hero .eyebrow {
  color: var(--gold);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 12px;
}

.welcome-hero h1 {
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0 0 18px;
}

.welcome-hero .lede {
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.15rem;
  margin: 0 auto;
  max-width: 600px;
}

.welcome-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 40px;
  align-items: start;
}

.welcome-content-main h2 {
  margin: 0 0 18px;
}

.welcome-content-main h2:not(:first-child) {
  margin-top: 36px;
}

.welcome-content-main > p {
  color: var(--muted);
  max-width: 620px;
  margin: 12px 0;
  line-height: 1.7;
}

.welcome-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 16px;
}

.welcome-list li {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 18px 20px;
  box-shadow: var(--shadow-card);
  transition: box-shadow 0.2s ease;
}

.welcome-list li:hover {
  box-shadow: var(--shadow-hover);
}

.welcome-list li strong {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 4px;
}

.welcome-list li span {
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.6;
}

.welcome-privacy-note {
  background: var(--paper-strong);
  border-left: 4px solid var(--forest);
  border-radius: 0 8px 8px 0;
  padding: 20px 24px;
  margin-top: 28px;
}

.welcome-privacy-note h3 {
  margin: 0 0 8px;
  color: var(--forest);
}

.welcome-privacy-note p {
  color: var(--muted);
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.6;
}

.welcome-sidebar {
  display: grid;
  gap: 20px;
  position: sticky;
  top: 80px;
}

.welcome-sidebar-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 24px;
  box-shadow: var(--shadow-card);
}

.welcome-sidebar-card-alt {
  background: var(--gold-soft);
  border-color: rgba(212, 168, 67, 0.3);
}

.welcome-sidebar-card h3 {
  margin: 0 0 10px;
  font-size: 1.1rem;
}

.welcome-sidebar-card p {
  color: var(--muted);
  font-size: 0.9rem;
  margin: 0 0 14px;
}

.welcome-sidebar-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.welcome-sidebar-links li a {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.92rem;
  font-weight: 600;
}

.welcome-sidebar-links li a::before {
  content: "→";
  color: var(--blue);
  font-weight: 700;
}

.welcome-next-steps {
  background: var(--paper-strong);
  border-top: 1px solid var(--line);
}

.welcome-next-steps h2 {
  margin: 0 0 22px;
}

.welcome-next-steps-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.welcome-step-card h3 {
  margin: 0 0 8px;
}

.welcome-step-card h3 a,
.welcome-step-card h3 {
  color: var(--ink);
  text-decoration: none;
}

.welcome-step-card p {
  color: var(--muted);
  margin: 0;
}

@media (max-width: 900px) {
  .welcome-content-grid {
    grid-template-columns: 1fr;
  }
  .welcome-sidebar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .welcome-hero { padding: 48px 0 36px; }
  .welcome-next-steps-grid { grid-template-columns: 1fr; }
  .welcome-sidebar { grid-template-columns: 1fr; }
}

/* ── Peptide Research Tracker ──────────────────────────────── */
.tracker-list {
  display: grid;
  gap: 16px;
  margin-top: 16px;
}

.tracker-entry {
  padding: 20px;
}

.tracker-entry-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 8px;
}

.tracker-entry-header h3 {
  margin: 0;
}

.tracker-entry-category {
  color: var(--muted);
  font-size: 0.86rem;
  margin: 4px 0 0;
}

.tracker-entry-notes {
  color: var(--ink);
  font-size: 0.94rem;
  margin: 8px 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.tracker-entry-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}

.tracker-review-date {
  color: var(--muted);
  font-size: 0.84rem;
}

.tracker-remove-btn {
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--rose);
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  padding: 6px 14px;
  transition: all 0.2s ease;
}

.tracker-remove-btn:hover {
  background: rgba(166, 61, 84, 0.08);
  border-color: var(--rose);
}

.tracker-export-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

#tracker-peptide-select,
#tracker-source-status {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 0 12px;
  width: 100%;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

#tracker-notes {
  width: 100%;
  min-height: 80px;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 10px 12px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  resize: vertical;
}

#tracker-review-date {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 0 12px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

/* --- Supplier Comparison Tool --- */
.sct-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-end;
  margin-bottom: 20px;
  padding: 20px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: var(--shadow-card);
}
.sct-filter-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sct-filter-group label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}
.sct-filter-group select {
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 0.85rem;
  cursor: pointer;
}
.sct-reset-btn {
  padding: 8px 16px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--paper);
  color: var(--ink);
  font: inherit;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background 0.2s ease;
}
.sct-reset-btn:hover {
  background: var(--paper-strong);
}
.sct-result-count {
  font-size: 0.8rem;
  color: var(--muted);
  margin: 0 0 12px;
}
.sct-table-wrapper {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  box-shadow: var(--shadow-card);
}
.sct-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.sct-table thead tr {
  background: var(--ink);
  color: #fff;
}
.sct-table th {
  padding: 14px 16px;
  text-align: left;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.sct-table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
}
.sct-table tbody tr:last-child td {
  border-bottom: none;
}
.sct-table tbody tr:hover {
  background: var(--paper-strong);
}
.sct-col-compare {
  width: 50px;
  text-align: center;
}
.sct-col-compare input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
}
.sct-col-name strong {
  font-weight: 700;
}
.sct-col-score {
  white-space: nowrap;
}
.sct-col-coa,
.sct-col-third {
  font-size: 0.8rem;
  color: var(--muted);
}
.sct-col-status {
  white-space: nowrap;
}
.sct-compare-bar {
  position: sticky;
  bottom: 0;
  background: var(--ink);
  color: #fff;
  padding: 14px 20px;
  border-radius: 10px;
  margin-top: 16px;
}
.sct-compare-bar-inner {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.sct-compare-count {
  font-size: 0.85rem;
  font-weight: 600;
  margin-right: auto;
}
.sct-compare-bar .money-button {
  margin: 0;
}
.sct-compare-bar .sct-reset-btn {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,0.3);
}
.sct-compare-bar .sct-reset-btn:hover {
  background: rgba(255,255,255,0.1);
}
.sct-compare-panel {
  margin-top: 32px;
  padding: 24px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 10px;
}
.sct-compare-panel h2 {
  margin: 0 0 20px;
}
.sct-compare-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
}
.sct-compare-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 20px;
  box-shadow: var(--shadow-card);
}
.sct-compare-card h3 {
  margin: 0 0 12px;
  font-size: 1.05rem;
}
.sct-compare-score {
  margin-bottom: 16px;
}
.sct-compare-attr {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
  font-size: 0.85rem;
}
.sct-compare-attr:last-of-type {
  border-bottom: none;
}
.sct-compare-attr dt {
  font-weight: 600;
  color: var(--muted);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  flex-shrink: 0;
}
.sct-compare-attr dd {
  margin: 0;
  text-align: right;
}
.sct-compare-link {
  display: inline-block;
  margin-top: 16px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--blue);
  text-decoration: none;
}
.sct-compare-link:hover {
  text-decoration: underline;
}
.sct-related-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}
.sct-related-links li {
  padding: 12px 16px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 0.85rem;
}
.sct-related-links li a {
  font-weight: 600;
  color: var(--blue);
  text-decoration: none;
}
.sct-related-links li a:hover {
  text-decoration: underline;
}
@media (max-width: 768px) {
  .sct-filters {
    flex-direction: column;
    gap: 12px;
  }
  .sct-filter-group {
    width: 100%;
  }
  .sct-filter-group select {
    width: 100%;
  }
  .sct-table {
    font-size: 0.8rem;
  }
  .sct-table th,
  .sct-table td {
    padding: 10px 8px;
  }
  .sct-col-coa,
  .sct-col-third {
    display: none;
  }
  .sct-compare-grid {
    grid-template-columns: 1fr;
  }
}

/* --- Ranking Entry Cards (expanded format) --- */
.ranking-entries {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.ranking-entry-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 28px;
  box-shadow: var(--shadow-card);
  transition: border-color 0.2s ease;
}
.ranking-entry-card:hover {
  border-color: var(--line-strong);
}
.ranking-entry-header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
}
.ranking-entry-rank {
  flex-shrink: 0;
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--muted);
  line-height: 1.1;
  min-width: 48px;
}
.ranking-entry-title-block {
  flex: 1;
  min-width: 0;
}
.ranking-entry-name {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 4px 0;
  line-height: 1.2;
}
.ranking-entry-url {
  display: inline-block;
  font-size: 0.85rem;
  color: var(--muted);
  text-decoration: none;
  word-break: break-all;
}
.ranking-entry-url:hover {
  text-decoration: underline;
  color: var(--forest);
}
.ranking-entry-tier {
  flex-shrink: 0;
  align-self: flex-start;
  margin-top: 2px;
}
.ranking-entry-note {
  font-size: 0.9rem;
  color: var(--ink);
  margin: 0 0 16px 0;
  padding: 10px 14px;
  background: var(--paper);
  border-radius: 6px;
  border-left: 3px solid var(--line-strong);
}
.ranking-entry-section {
  margin-bottom: 16px;
}
.ranking-entry-section:last-of-type {
  margin-bottom: 0;
}
.ranking-entry-label {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
  margin: 0 0 6px 0;
}
.ranking-entry-section p {
  font-size: 0.9rem;
  color: var(--ink);
  line-height: 1.55;
  margin: 0;
}
.ranking-pros-cons {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ranking-pros-cons li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.9rem;
  color: var(--ink);
  line-height: 1.45;
}
.rank-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 1px;
}
.ranking-pros .rank-icon {
  color: var(--forest);
}
.ranking-cons .rank-icon {
  color: var(--rose);
}
.ranking-pros-cons li span {
  flex: 1;
}
.ranking-entry-verdict {
  margin-top: 20px;
  padding: 16px 20px;
  background: var(--paper);
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  border-left: 4px solid var(--forest);
}
.ranking-entry-verdict p {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.55;
  margin: 0;
}
@media (max-width: 768px) {
  .ranking-entry-card {
    padding: 20px 16px;
  }
  .ranking-entry-header {
    flex-wrap: wrap;
    gap: 10px;
  }
  .ranking-entry-rank {
    font-size: 1.2rem;
    min-width: 40px;
  }
  .ranking-entry-name {
    font-size: 1.15rem;
  }
  .company-logo-ranking {
    flex-basis: 76px;
    height: 48px;
  }
  .ranking-entry-verdict {
    padding: 14px 16px;
  }
}

/* --- Category page: opinionated commentary sections --- */
.cat-intro {
  max-width: 760px;
  margin-top: 12px;
}

.cat-verdict-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 0;
}

.cat-verdict-block {
  border-radius: 10px;
  padding: 28px 24px;
  border: 1px solid var(--line);
}

.cat-verdict--hit {
  background: #f0f7f3;
  border-color: #c8ddc9;
}

.cat-verdict--spec {
  background: #fdf6f0;
  border-color: #e8d5c0;
}

.cat-verdict-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}

.cat-verdict-header h2 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.4rem;
  font-weight: 850;
  margin: 0;
  color: var(--ink);
  line-height: 1.2;
}

.cat-verdict-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 1rem;
  font-weight: 800;
  flex-shrink: 0;
}

.cat-verdict--hit .cat-verdict-icon {
  background: var(--forest);
  color: #fff;
}

.cat-verdict--spec .cat-verdict-icon {
  background: var(--gold);
  color: #fff;
}

.cat-verdict-subtitle {
  color: var(--muted);
  font-size: 0.92rem;
  margin: 0 0 16px;
}

.cat-compound-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cat-compound-chip {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 24px;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.cat-verdict--hit .cat-compound-chip {
  background: #fff;
  color: var(--forest);
  border: 1px solid #c8ddc9;
}

.cat-verdict--hit .cat-compound-chip:hover {
  background: var(--forest);
  color: #fff;
  border-color: var(--forest);
}

.cat-verdict--spec .cat-compound-chip {
  background: #fff;
  color: var(--amber);
  border: 1px solid #e8d5c0;
}

.cat-verdict--spec .cat-compound-chip:hover {
  background: var(--amber);
  color: #fff;
  border-color: var(--amber);
}

/* --- Regulatory risk band --- */
.cat-regulatory-band {
  background: var(--paper-strong);
  border-top: 1px solid var(--line);
}

.cat-regulatory {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.cat-regulatory-label {
  display: inline-block;
  background: var(--ink);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 4px;
  flex-shrink: 0;
  white-space: nowrap;
  margin-top: 2px;
}

.cat-regulatory p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--ink);
}

@media (max-width: 768px) {
  .cat-verdict-grid {
    grid-template-columns: 1fr;
  }
  .cat-regulatory {
    flex-direction: column;
    gap: 10px;
  }
  .cat-regulatory-label {
    align-self: flex-start;
  }
}

/* Evidence-depth components */
.research-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
  gap: 1rem;
  align-items: start;
}

.research-overview-copy p {
  font-size: 1.08rem;
  line-height: 1.7;
}

.research-overview-facts {
  margin: 0;
}

.research-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.research-detail-card ul,
.unresolved-question-list {
  margin: .85rem 0 0;
  padding-left: 1.2rem;
}

.research-detail-card li,
.unresolved-question-list li {
  margin: .55rem 0;
  line-height: 1.55;
}

.research-citations {
  margin: .85rem 0 0;
  color: var(--muted);
  font-size: .86rem;
}

.research-timeline {
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.research-timeline li {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem 0;
  border-top: 1px solid var(--line);
}

.research-timeline time {
  font-weight: 800;
}

.research-timeline p {
  margin: 0;
}

.research-faq-list {
  display: grid;
  gap: .7rem;
  margin-top: 1.25rem;
}

.research-faq-list details {
  border: 1px solid var(--line);
  border-radius: .75rem;
  padding: 1rem 1.1rem;
  background: var(--surface);
}

.research-faq-list summary {
  cursor: pointer;
  font-weight: 800;
}

.research-faq-list details > p {
  margin: .8rem 0 0;
}

.deep-context-map-band {
  background:
    linear-gradient(135deg, rgba(34, 95, 104, .08), rgba(180, 119, 64, .07)),
    var(--paper);
}

#evidence-snapshot,
#context-map,
#research-overview,
#study-records,
#evidence-timeline,
#frequently-asked-questions,
#tracked-claims,
#page-sources {
  scroll-margin-top: 140px;
}

.deep-context-map-intro {
  max-width: 52rem;
  margin: .65rem 0 1.4rem;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.65;
}

.deep-context-map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.deep-context-layer {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 1.15rem;
  border: 1px solid var(--line);
  border-top: 5px solid var(--context-accent, var(--brand));
  border-radius: .85rem;
  background: var(--surface);
  box-shadow: var(--shadow-card);
}

.deep-context-layer-studied-context {
  --context-accent: #246b73;
}

.deep-context-layer-observed-market {
  --context-accent: #a8662b;
}

.deep-context-layer-community-signal {
  --context-accent: #6e5d91;
}

.deep-context-layer-head {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: .75rem;
  align-items: start;
}

.deep-context-step {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 999px;
  background: var(--context-accent);
  color: #fff;
  font-weight: 850;
}

.deep-context-kind {
  margin: 0 0 .2rem;
  color: var(--context-accent);
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.deep-context-layer h3 {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.3;
}

.deep-context-summary {
  margin: .9rem 0 0;
  line-height: 1.55;
}

.deep-context-facts {
  margin: .85rem 0 1rem;
  padding-left: 1.15rem;
}

.deep-context-facts li {
  margin: .5rem 0;
  line-height: 1.5;
}

.deep-context-record-links,
.deep-context-signal-records,
.deep-context-record-counts {
  margin-top: auto;
}

.deep-context-record-links {
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.55;
}

.deep-context-record-counts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  margin-bottom: 0;
}

.deep-context-record-counts div {
  padding: .65rem;
  border-radius: .6rem;
  background: color-mix(in srgb, var(--context-accent) 8%, var(--paper));
}

.deep-context-record-counts div:last-child {
  grid-column: 1 / -1;
}

.deep-context-record-counts dt {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.deep-context-record-counts dd {
  margin: .25rem 0 0;
  font-weight: 800;
}

.deep-context-provenance-list {
  display: grid;
  gap: .35rem;
  margin: .75rem 0 0;
  padding: 0;
  list-style: none;
}

.deep-context-provenance-list li {
  align-items: baseline;
  display: flex;
  gap: .75rem;
  justify-content: space-between;
  color: var(--muted);
  font-size: .82rem;
}

.deep-context-provenance-list strong {
  color: var(--ink);
}

.deep-context-market-link {
  margin: .75rem 0 0;
  font-size: .88rem;
  font-weight: 800;
}

.deep-context-signal-records {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .75rem;
  align-items: center;
}

.deep-context-signal-records p {
  width: 100%;
  margin: 0;
  color: var(--muted);
  font-size: .86rem;
  font-weight: 750;
}

.deep-context-signal-records a {
  font-size: .9rem;
  font-weight: 800;
}

.deep-context-boundary {
  margin: 1rem 0 0;
  padding-top: .85rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .research-overview-grid,
  .research-detail-grid,
  .research-timeline li {
    grid-template-columns: 1fr;
  }

  .deep-context-map {
    grid-template-columns: 1fr;
  }
}

.video-claim-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.25rem;
}

.video-claim-card {
  padding: 1.1rem;
  border: 1px solid var(--line);
  border-radius: .8rem;
  background: var(--surface);
}

.video-claim-card.is-high-risk {
  border-color: var(--amber);
  box-shadow: inset 4px 0 0 var(--amber);
}

.video-claim-head {
  display: flex;
  justify-content: space-between;
  gap: .8rem;
  align-items: flex-start;
}

.video-claim-timestamp {
  display: inline-flex;
  padding: .3rem .55rem;
  border-radius: .4rem;
  background: var(--ink);
  color: white;
  font-size: .8rem;
  font-weight: 800;
  text-decoration: none;
}

.video-claim-timestamp.is-unavailable {
  background: var(--paper-strong);
  color: var(--muted);
}

.video-claim-card h3 {
  margin: 1rem 0 .65rem;
}

.video-claim-note,
.source-gap {
  color: var(--muted);
}

.video-claim-boundary,
.video-transcript-warning {
  padding: .8rem;
  border-left: 3px solid var(--amber);
  background: var(--paper-strong);
}

@media (max-width: 760px) {
  .video-claim-grid {
    grid-template-columns: 1fr;
  }

  .video-claim-head {
    flex-direction: column;
  }
}

.ranking-method-card {
  margin-top: 1.5rem;
  padding: 1.2rem;
  border: 1px solid var(--line);
  border-radius: .8rem;
  background: var(--paper-strong);
}

.ranking-method-card > p {
  margin: .45rem 0;
}

.ranking-method-grid,
.ranking-state-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.ranking-method-grid h2 {
  margin: 1rem 0 .55rem;
  font-size: 1rem;
}

.ranking-method-grid ul,
.ranking-finding-list,
.ranking-source-links {
  margin: .5rem 0 0;
  padding-left: 1.15rem;
}

.ranking-entry-v2 .ranking-entry-header {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.ranking-state-grid p {
  margin: 0;
}

@media (max-width: 760px) {
  .ranking-method-grid,
  .ranking-state-grid {
    grid-template-columns: 1fr;
  }

  .ranking-entry-v2 .ranking-entry-header {
    grid-template-columns: 1fr;
  }
}

.company-intelligence-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.25rem;
}

.company-intelligence-limit {
  color: var(--muted);
}

.company-audit-band h2 {
  max-width: 980px;
}

.company-audit-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.75rem 0 1.25rem;
}

.company-audit-stats article {
  display: grid;
  align-content: start;
  gap: .35rem;
  min-height: 130px;
  padding: 1.2rem 1.25rem;
  border: 1px solid rgba(38, 91, 73, .18);
  border-radius: .75rem;
  background: rgba(255, 255, 255, .82);
}

.company-audit-stats strong {
  color: var(--ink);
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.1;
}

.company-audit-stats span {
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.45;
}

.company-audit-note {
  max-width: 1050px;
  color: var(--ink);
}

.company-intelligence-sources {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .8rem;
}

.company-intelligence-sources a {
  padding: .32rem .5rem;
  border: 1px solid var(--line);
  border-radius: .35rem;
  font-size: .78rem;
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  .company-intelligence-grid,
  .company-audit-stats {
    grid-template-columns: 1fr;
  }

  .company-audit-stats article {
    min-height: 0;
  }
}

.comparison-method-card {
  margin-top: 1.25rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: .75rem;
  background: var(--paper-strong);
}

.comparison-method-card p {
  margin: .45rem 0;
}

.comparison-cell-sources {
  margin-top: .55rem;
  color: var(--muted);
  font-size: .78rem;
}

/* Shared editorial controls */
.button-link {
  align-items: center;
  background: var(--ink);
  border: 1px solid var(--ink);
  border-radius: 7px;
  color: #fff !important;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  line-height: 1.2;
  min-height: 44px;
  padding: 11px 16px;
  text-decoration: none;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}

.button-link:hover {
  background: var(--forest);
  border-color: var(--forest);
}

.button-link.button-link-secondary {
  background: transparent !important;
  border-color: var(--ink);
  color: var(--ink) !important;
}

.button-link.button-link-secondary:hover {
  background: var(--ink) !important;
  color: #fff !important;
}

.supplier-directory-hero .tag {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .35);
  color: #fff;
}

.buzz-newsletter-section .lead-privacy {
  color: rgba(255, 255, 255, .82);
}

.buzz-newsletter-section .lead-privacy a {
  color: #f4c95d;
}

.button-link:focus-visible,
.testing-report-table-wrap:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}

/* Market Explorer */
.market-hero {
  background: linear-gradient(135deg, #0b0a33 0%, #1a2755 72%, #244d57 100%);
  color: #fff;
  padding: clamp(3.5rem, 7vw, 6.75rem) 0 clamp(2.75rem, 5vw, 4.5rem);
}

.market-hero .eyebrow {
  color: #f2d170;
}

.market-hero h1 {
  color: #fff;
  font-size: clamp(2.55rem, 5.4vw, 5.6rem);
  letter-spacing: -0.055em;
  line-height: 0.98;
  max-width: 920px;
}

.market-hero .lede {
  color: rgba(255, 255, 255, 0.82);
  max-width: 780px;
}

.market-hero-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 2.5rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.16);
}

.market-hero-stats span {
  display: grid;
  gap: 0.25rem;
  min-height: 108px;
  align-content: center;
  padding: 1.15rem 1.35rem;
  background: rgba(9, 13, 48, 0.56);
  color: rgba(255, 255, 255, 0.72);
}

.market-hero-stats strong {
  color: #fff;
  font-size: 1.8rem;
}

.market-explorer-band {
  background: #f4f6f3;
  padding: clamp(2.5rem, 5vw, 5rem) 0;
}

.market-explorer-shell {
  display: grid;
  gap: 1.25rem;
}

.market-view-tabs {
  display: flex;
  gap: 0.45rem;
  overflow-x: auto;
  padding: 0.25rem 0 0.55rem;
  scrollbar-width: thin;
}

.market-view-tabs button {
  flex: 0 0 auto;
  min-height: 44px;
  border: 1px solid #cbd1cc;
  border-radius: 999px;
  background: #fff;
  color: #28293d;
  padding: 0.65rem 1rem;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.market-view-tabs button[aria-selected="true"] {
  border-color: #0b0a33;
  background: #0b0a33;
  color: #fff;
}

.market-filter-panel {
  display: grid;
  grid-template-columns: minmax(240px, 2fr) repeat(4, minmax(150px, 1fr)) auto;
  gap: 0.8rem;
  align-items: end;
  padding: 1rem;
  border: 1px solid #d7dcd7;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 35px rgba(15, 25, 30, 0.06);
}

.market-filter-panel label {
  display: grid;
  gap: 0.38rem;
  min-width: 0;
  color: #4e5261;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.market-filter-panel label[hidden] {
  display: none;
}

.market-filter-panel input,
.market-filter-panel select {
  width: 100%;
  min-height: 46px;
  border: 1px solid #cbd1cc;
  border-radius: 10px;
  background: #fff;
  color: #17182c;
  padding: 0.65rem 0.75rem;
  font: inherit;
  font-size: 0.92rem;
  letter-spacing: normal;
  text-transform: none;
}

.market-filter-panel button,
.market-toolbar button,
.market-compare-actions button,
.market-compare-chip button {
  border: 1px solid #aeb7b0;
  border-radius: 9px;
  background: #fff;
  color: #17182c;
  min-height: 44px;
  padding: 0.6rem 0.85rem;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.market-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: #595e66;
}

.market-result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.market-result-card {
  min-width: 0;
  border: 1px solid #d7dcd7;
  border-radius: 18px;
  background: #fff;
  padding: clamp(1.1rem, 2vw, 1.5rem);
  box-shadow: 0 10px 30px rgba(15, 25, 30, 0.045);
}

.market-result-card .commercial-inline-banner {
  margin-bottom: 1rem;
}

.market-result-top,
.market-result-identity,
.market-result-actions,
.market-badges,
.market-compare-actions,
.market-compare-items {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.market-result-top {
  justify-content: space-between;
  align-items: flex-start;
}

.market-result-identity {
  min-width: 0;
  align-items: flex-start;
}

.market-result-identity h3 {
  margin: 0.12rem 0 0;
  font-size: clamp(1.18rem, 2vw, 1.48rem);
  line-height: 1.16;
}

.market-result-identity h3 a {
  color: #11122c;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.market-result-eyebrow {
  margin: 0;
  color: #28705a;
  font-size: 0.73rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.market-result-logo {
  display: grid;
  width: 58px;
  height: 48px;
  flex: 0 0 58px;
  place-items: center;
  overflow: hidden;
  border: 1px solid #e1e4e1;
  border-radius: 9px;
  background: #fff;
  padding: 0.35rem;
}

.market-result-logo.is-dark {
  background: #111329;
}

.market-result-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.market-compare-choice {
  display: flex;
  align-items: center;
  gap: 0.38rem;
  flex: 0 0 auto;
  color: #3f4350;
  font-size: 0.82rem;
  font-weight: 750;
  cursor: pointer;
}

.market-compare-choice input {
  width: 18px;
  height: 18px;
  accent-color: #0b0a33;
}

.market-badges {
  flex-wrap: wrap;
  margin: 1rem 0;
}

.market-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border-radius: 999px;
  background: #edf0ed;
  color: #45494e;
  padding: 0.28rem 0.65rem;
  font-size: 0.76rem;
  font-weight: 750;
}

.market-badge-positive {
  background: #e3f1e9;
  color: #205a45;
}

.market-result-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid #e5e8e5;
}

.market-result-facts div {
  min-width: 0;
  padding: 0.8rem 0.5rem 0.8rem 0;
  border-bottom: 1px solid #e5e8e5;
}

.market-result-facts dt {
  color: #6b7077;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.market-result-facts dd {
  margin: 0.3rem 0 0;
  color: #252636;
  font-size: 0.9rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.market-result-note {
  margin: 0.9rem 0 0;
  color: #525761;
  font-size: 0.88rem;
  line-height: 1.55;
}

.market-result-actions {
  flex-wrap: wrap;
  margin-top: 1rem;
}

.market-result-actions a {
  color: #174f84;
  font-size: 0.86rem;
  font-weight: 750;
}

.market-empty {
  grid-column: 1 / -1;
  border: 1px dashed #b8bfba;
  border-radius: 16px;
  background: #fff;
  padding: 2rem;
  text-align: center;
}

.market-activity-list {
  display: grid;
  gap: 0;
  border: 1px solid #d7dcd7;
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
}

.market-activity-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 1.5rem;
  padding: 1.2rem 1.35rem;
  border-bottom: 1px solid #e3e7e3;
}

.market-activity-card:last-child {
  border-bottom: 0;
}

.market-activity-card h3,
.market-activity-card p {
  margin: 0.2rem 0;
}

.market-activity-date {
  color: #4e5360;
  font-size: 0.88rem;
  font-weight: 750;
}

.market-compare-tray {
  position: sticky;
  z-index: 20;
  bottom: 0.75rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid #4f5871;
  border-radius: 18px;
  background: #111329;
  color: #fff;
  padding: 1rem;
  box-shadow: 0 20px 50px rgba(6, 8, 24, 0.3);
}

.market-compare-tray[hidden] {
  display: none;
}

.market-compare-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.market-compare-head h2,
.market-compare-head p {
  margin: 0;
  color: #fff;
}

.market-compare-head p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.84rem;
}

.market-compare-actions button {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.market-compare-items {
  flex-wrap: wrap;
  margin: 0.8rem 0;
}

.market-compare-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  padding: 0.28rem 0.35rem 0.28rem 0.65rem;
  font-size: 0.82rem;
  font-weight: 750;
}

.market-compare-chip button {
  min-height: 28px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  padding: 0.22rem 0.5rem;
  font-size: 0.72rem;
}

.market-compare-table-wrap {
  display: none;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  max-height: min(45vh, 430px);
  overflow: auto;
  border-radius: 10px;
  background: #fff;
}

.market-compare-tray.is-expanded .market-compare-table-wrap {
  display: block;
}

.market-compare-table {
  width: 100%;
  min-width: 650px;
  border-collapse: collapse;
  color: #242535;
  font-size: 0.84rem;
}

.market-compare-table th,
.market-compare-table td {
  padding: 0.7rem;
  border: 1px solid #e0e4e0;
  text-align: left;
  vertical-align: top;
}

.market-compare-table tbody th {
  width: 180px;
  background: #f1f3f1;
}

.market-methodology-grid,
.market-follow-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
}

.market-methodology-grid article,
.market-methodology-grid aside,
.market-follow-card {
  border: 1px solid #dce0dc;
  border-radius: 18px;
  background: #fff;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.market-methodology-list {
  display: grid;
  gap: 0.8rem;
  padding-left: 1.25rem;
}

.market-follow-band {
  background: #f7efd9;
}

.market-follow-form {
  display: grid;
  gap: 0.8rem;
}

.market-follow-form label {
  display: grid;
  gap: 0.35rem;
  font-weight: 750;
}

.market-follow-form input[type="email"] {
  min-height: 48px;
  border: 1px solid #a9a99e;
  border-radius: 9px;
  padding: 0.7rem 0.8rem;
  font: inherit;
}

.market-follow-form button {
  min-height: 48px;
  border: 0;
  border-radius: 9px;
  background: #0b0a33;
  color: #fff;
  padding: 0.75rem 1rem;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.market-boundary-note {
  color: #5d5f62;
  font-size: 0.84rem;
  line-height: 1.55;
}

@media (max-width: 1100px) {
  .market-filter-panel {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .market-filter-panel label:first-child {
    grid-column: span 2;
  }
}

@media (max-width: 760px) {
  .market-hero-stats,
  .market-result-grid,
  .market-methodology-grid,
  .market-follow-grid {
    grid-template-columns: 1fr;
  }

  .market-hero-stats span {
    min-height: 84px;
  }

  .market-filter-panel {
    grid-template-columns: 1fr 1fr;
  }

  .market-filter-panel label:first-child {
    grid-column: 1 / -1;
  }

  .market-activity-card {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .market-compare-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .market-compare-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  .market-compare-actions button {
    min-width: 0;
    padding-inline: 0.55rem;
  }
}

@media (max-width: 480px) {
  .market-filter-panel,
  .market-result-facts {
    grid-template-columns: 1fr;
  }

  .market-filter-panel label:first-child {
    grid-column: auto;
  }

  .market-toolbar,
  .market-result-top {
    align-items: flex-start;
    flex-direction: column;
  }

  .market-compare-tray {
    bottom: 0.35rem;
    border-radius: 13px;
  }

  .market-compare-head p {
    display: none;
  }

  .market-compare-actions {
    grid-template-columns: 1fr 1fr;
  }

  .market-compare-actions button:last-child {
    grid-column: 1 / -1;
  }
}

.video-audit-summary .video-library-stats span {
  color: var(--muted);
}

.video-audit-summary .video-library-stats strong {
  color: var(--ink);
}

.video-audit-dates,
.table-scroll-cue {
  color: var(--muted);
  font-size: .85rem;
}

.ranking-entry-v2 .ranking-entry-tier {
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
}

.source-registry-heading {
  margin-top: 2rem;
}

.compound-jump-nav {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  padding: 14px 0;
}

.compound-jump-nav .page-band-inner {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}

.compound-jump-nav a {
  align-items: center;
  display: inline-flex;
  font-size: .86rem;
  font-weight: 750;
  min-height: 44px;
  padding: 7px 2px;
}

@media (max-width: 760px) {
  .company-profile-commercial {
    grid-template-columns: 1fr;
  }

  .company-profile-commercial .commercial-inline-link,
  .company-profile-commercial .commercial-inline-banner,
  .company-profile-commercial .commercial-inline-disclosure {
    grid-column: 1;
  }

  .testing-report-table-wrap {
    overflow: visible;
  }

  .testing-report-table {
    display: block;
    min-width: 0;
  }

  .testing-report-table thead {
    display: none;
  }

  .testing-report-table tbody {
    display: grid;
    gap: 14px;
  }

  .testing-report-table tr {
    border: 1px solid var(--line);
    border-radius: 9px;
    display: block;
    overflow: hidden;
  }

  .testing-report-table td {
    border: 0;
    border-bottom: 1px solid var(--line);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(88px, .7fr) minmax(0, 1.3fr);
    overflow-wrap: anywhere;
    width: 100%;
  }

  .testing-report-table td:last-child {
    border-bottom: 0;
  }

  .testing-report-table td::before {
    color: var(--muted);
    content: attr(data-label);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
}
