/* Compound Review — WordPress theme layer.
   Sits on top of the design tokens and shared component CSS carried over from
   the Astro build; only styles the markup this theme introduces. */

.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 8px; top: 8px; background: #fff; padding: 8px 12px; z-index: 100; }

.container { width: min(100% - 2rem, 72rem); margin-inline: auto; }
.prose { max-width: 46rem; }
.article-shell { padding: 32px 0 48px; }
@media (min-width: 1024px) { .article-shell { padding: 48px 0 64px; } }

/* RUO banner — dark, full disclosure. This is the site's primary compliance
   surface; it is deliberately loud and deliberately long. */
.cr-ruo-banner {
  background: #14171a; color: #e8eaed;
  padding: 12px 16px; text-align: center;
}
.cr-ruo-banner__title {
  margin: 0 0 4px; font-weight: 700; font-size: 0.9375rem;
  color: var(--color-amber-300, #e8c37a);
}
.cr-ruo-banner__body {
  margin: 0 auto; max-width: 68rem;
  font-size: 0.8125rem; line-height: 1.5; font-weight: 500;
}

.cr-masthead { border-bottom: 1px solid var(--color-border, #e2e2df); }
.cr-masthead-top {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 20px 0 16px;
}
.cr-wordmark {
  font-family: var(--font-serif, Georgia, serif);
  font-weight: 700; font-size: 1.5rem; letter-spacing: -0.01em;
  text-decoration: none; color: inherit;
}
.cr-subscribe-btn {
  border: 1px solid var(--color-border, #cfd3d8); border-radius: 3px;
  padding: 9px 18px; font-size: 0.9375rem; font-weight: 600;
  text-decoration: none; color: inherit; white-space: nowrap;
}
.cr-subscribe-btn:hover { border-color: #8a9099; background: rgba(0,0,0,0.03); }
.cr-nav {
  display: flex; flex-wrap: wrap; gap: 22px;
  padding: 4px 0 12px; font-size: 0.9375rem;
  border-top: 1px solid var(--color-border, #e2e2df);
  padding-top: 12px;
}
.cr-nav a {
  /* shared.css underlines links globally; the masthead is navigation, not prose,
     so only the current page carries an underline. */
  text-decoration: none; border-bottom: none;
  color: inherit; padding-bottom: 3px;
}
.cr-nav a:hover { text-decoration: underline; }
.cr-nav a[aria-current="page"] {
  font-weight: 600;
  border-bottom: 2px solid var(--color-teal-600, #35706a);
}

.cr-article-head { margin-bottom: 24px; }
.cr-eyebrow { text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.75rem; opacity: 0.6; margin: 0 0 8px; }
.cr-standfirst { font-size: 1.125rem; line-height: 1.6; opacity: 0.85; }
.cr-identity, .cr-provenance { font-size: 0.8125rem; opacity: 0.7; margin: 4px 0; }

/* Evidence scorecard: literature volume, never a claim about efficacy. */
.cr-evidence { border: 1px solid var(--color-border, #e2e2df); border-radius: 8px; padding: 16px 20px; margin: 24px 0; }
.cr-evidence h2 { margin-top: 0; font-size: 1rem; }
.cr-evidence dl { display: flex; flex-wrap: wrap; gap: 20px; margin: 0; }
.cr-evidence dt { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; opacity: 0.6; }
.cr-evidence dd { margin: 2px 0 0; font-size: 1.125rem; font-weight: 600; }
.cr-evidence-note { font-size: 0.75rem; opacity: 0.7; margin: 12px 0 0; }

.cr-references ol { padding-left: 1.25rem; }
.cr-references li { margin-bottom: 8px; }
.cr-tier { font-size: 0.6875rem; opacity: 0.6; border: 1px solid currentColor; border-radius: 3px; padding: 0 4px; }
.cr-corrections li { margin-bottom: 6px; }

.cr-compliance-note {
  border-left: 3px solid var(--color-border, #e2e2df);
  padding: 8px 0 8px 16px; margin: 32px 0; font-size: 0.875rem; opacity: 0.8;
}

.cr-archive { padding: 32px 0 64px; }
.cr-card-grid { list-style: none; padding: 0; display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); }
.cr-card { border: 1px solid var(--color-border, #e2e2df); border-radius: 8px; padding: 20px; }
.cr-card h2 { font-size: 1.0625rem; margin: 0 0 8px; }
.cr-card-link { text-decoration: none; color: inherit; }
.cr-card-link:hover h2 { text-decoration: underline; }
.cr-card p { font-size: 0.875rem; opacity: 0.8; margin: 0 0 6px; }

.cr-short-def { font-weight: 500; }
.cr-aliases, .cr-see-also { font-size: 0.8125rem; opacity: 0.75; }

.cr-footer { border-top: 1px solid var(--color-border, #e2e2df); margin-top: 48px; padding: 32px 0 48px; font-size: 0.875rem; }
.cr-footer-brand { font-weight: 700; margin: 0 0 8px; }
.cr-compliance { max-width: 46rem; opacity: 0.75; line-height: 1.6; }
.cr-footer-nav { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 16px; }
.cr-footer-nav a { color: inherit; }


/* ---------- CR HOME PAGE ----------
   Section styles lifted from the Astro homepage's scoped <style> blocks. They
   were compiled into the Astro CSS bundle, which this theme does not ship, so
   without them the homepage renders as unstyled sections. */
.hero{padding:64px 0 48px}.hero-grid{display:grid;grid-template-columns:1fr;gap:32px}.hero h1{font-family:var(--font-serif);font-size:3.75rem;font-weight:600;line-height:1.1;letter-spacing:-.012em;color:var(--slate-950);margin:0 0 16px}.hero .lede{font-family:var(--font-serif);font-size:1.5rem;font-weight:400;font-style:italic;line-height:1.45;color:var(--slate-700);margin:0 0 24px;max-width:36ch}.hero p{font-family:var(--font-sans);font-size:1.125rem;line-height:1.65;color:var(--slate-700);margin:0;max-width:60ch}@media(min-width:1024px){.hero-grid{grid-template-columns:minmax(0,1fr) 420px;gap:64px;align-items:start}}@media(max-width:767px){.hero{padding:32px 0 24px}.hero h1{font-size:2.5rem}.hero .lede{font-size:1.25rem}.hero p{font-size:1rem}}.featured-research,.featured,.method,.about-block{padding:64px 0}.featured-research{background:#fff;border-bottom:1px solid var(--slate-200)}.featured{background:var(--slate-50)}.method{background:var(--teal-50)}.about-block{background:var(--slate-100)}.about-block-body{font-family:var(--font-sans);font-size:1.125rem;line-height:1.65;color:var(--slate-700);max-width:720px;margin:0 0 24px}.about-block-links{display:flex;gap:24px;flex-wrap:wrap;font-family:var(--font-sans);font-size:1rem;font-weight:500}.featured-research-grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:center}@media(min-width:900px){.featured-research-grid{grid-template-columns:1.2fr 1fr;gap:48px}}.featured-research-figure{margin:0}.featured-research-figure a{display:block;border:1px solid var(--slate-200);background:var(--slate-50);border-radius:2px;padding:16px;text-decoration:none;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.featured-research-figure a:hover{border-color:var(--slate-400);box-shadow:0 2px 8px #131a2114}.featured-research-figure img{display:block;width:100%;height:auto}.featured-research-figure figcaption{margin-top:12px;font-family:var(--font-sans);font-size:.875rem;line-height:1.5;color:var(--slate-600)}.featured-research-body{font-family:var(--font-sans);font-size:1.125rem;line-height:1.65;color:var(--slate-700);margin:16px 0 24px}.featured-research-cta{margin:0;font-family:var(--font-sans);font-size:1rem;font-weight:600}.featured-research-cta a{color:var(--teal-700);border-bottom:1px solid var(--teal-300)}.featured-research-cta a:hover{color:var(--teal-900);border-color:var(--teal-700)}

/* Visually-hidden utility.
   Lived in src/styles/app.css, which is a Tailwind entrypoint we do not ship —
   so it was never carried, and every sr-only label on the site (the signup
   form's "Email address", skip links) was rendering visibly. */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


/* ---------- CR ARTICLE HEADER ----------
   Scoped styles from the Astro brief layout: eyebrow, byline, freshness
   callout, and the compound identity card. */
.seq-diagram{margin:16px 0 0}.seq-pills{display:flex;flex-wrap:wrap;column-gap:4px;row-gap:8px;align-items:center;user-select:none}.seq-pill{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;font-family:var(--font-mono);font-weight:500;font-size:16px;line-height:1;border:1px solid var(--slate-300);border-radius:2px;font-feature-settings:"liga" 0}.seq-hydrophobic{background:var(--slate-100);color:var(--slate-700)}.seq-polar{background:var(--teal-50);color:var(--teal-700)}.seq-charged{background:var(--amber-100);color:var(--amber-700)}.seq-unknown{background:var(--slate-50);color:var(--slate-500);border-style:dashed}.seq-caption{margin:12px 0 0;font-family:var(--font-sans);font-style:italic;font-size:.875rem;color:var(--slate-600);line-height:1.5}.seq-legend{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-family:var(--font-sans);font-size:.8125rem;color:var(--slate-700)}.seq-legend li{display:inline-flex;align-items:center;gap:8px}.evidence-scorecard{margin:24px 0;padding:20px 24px;background:var(--color-surface-muted, #fafafa);border:1px solid var(--color-accent-muted, #d4d4d4);border-radius:4px}.scorecard-heading{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin:0 0 16px;color:var(--color-text-muted, #555)}.evidence-scorecard dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:0}.evidence-scorecard dl>.full{grid-column:1 / -1}.evidence-scorecard dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted, #555);margin-bottom:4px}.evidence-scorecard dd{margin:0;font-size:1rem}.evidence-scorecard .count{font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums}.evidence-scorecard .note{display:block;font-size:.875rem;color:var(--color-text-muted, #555);margin-top:2px}.scorecard-disclaimer{font-size:.75rem;color:var(--color-text-muted, #555);margin:16px 0 0;font-style:italic}
.update-log{font-size:.875rem;color:var(--color-text-muted, #555);margin:16px 0 24px;padding:12px 16px;border-left:3px solid var(--color-accent-muted, #d4d4d4);background:var(--color-surface-muted, #fafafa)}.update-log-meta{margin:0}.update-log-meta .sep{margin:0 6px;opacity:.6}.corrections{margin-top:8px}.corrections summary{cursor:pointer;font-weight:500}.corrections ul{margin:8px 0 0;padding-left:20px}.corrections li{margin:4px 0}.corrections time{font-variant-numeric:tabular-nums}
.article-shell{padding:32px 0 48px}@media(min-width:1024px){.article-shell{padding:48px 0 64px}}


/* ---------- CR ARCHIVE ----------
   Card grid and section intro, extracted from the Astro CSS bundle (they were
   never inline, which is why the first pass carried nothing). */
.card-grid{grid-template-columns:1fr;gap:24px;display:grid}
.card-grid{grid-template-columns:repeat(2,1fr)}
.card-grid{grid-template-columns:repeat(3,1fr)}
.card{border:1px solid var(--slate-200);color:inherit;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:#fff;padding:24px;text-decoration:none;display:block}
.card:hover{border-color:var(--slate-400);box-shadow:0 2px 8px #131a211a}
.card:hover .card-title{text-decoration:underline;-webkit-text-decoration-color:var(--slate-400);text-decoration-color:var(--slate-400);text-underline-offset:3px}
.card-eyebrow{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--teal-700);margin:0 0 8px;font-size:.6875rem;font-weight:700}
.card-eyebrow.method{color:var(--slate-700)}
.card-compound{font-family:var(--font-mono);color:var(--slate-500);margin:0 0 4px;font-size:.75rem}
.card-title{font-family:var(--font-serif);color:var(--slate-900);margin:0 0 12px;font-size:1.375rem;font-weight:600;line-height:1.25}
.card-desc{font-family:var(--font-sans);color:var(--slate-700);margin:0 0 16px;font-size:.9375rem;line-height:1.55}
.card-meta{font-family:var(--font-sans);color:var(--slate-500);justify-content:space-between;align-items:center;margin:0;font-size:.75rem;display:flex}
.card-meta .read{color:var(--teal-700);font-weight:600}
.section-intro{color:var(--slate-600);max-width:720px;margin:0 0 32px;font-size:1.125rem;line-height:1.55}
@media(min-width:768px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.card-grid{grid-template-columns:repeat(3,1fr)}}
/* Archive heading: serif display, matching the article h1. Outside .prose it
   was falling back to the sans body face. */
.archive-header h1 {
  font-family: var(--font-serif, "Source Serif 4", Georgia, serif);
  font-weight: 600;
  font-size: clamp(2rem, 1.4rem + 2vw, 2.75rem);
  line-height: 1.15;
  letter-spacing: -0.015em;
  margin: 8px 0 16px;
}
.archive-header .section-intro { max-width: 46rem; }

/* ---------- mobile masthead ---------- */
.cr-nav-toggle {
  display: none;
  font: inherit; font-size: 1.5rem; line-height: 1;
  background: none; border: 1px solid var(--color-border, #cfd3d8);
  border-radius: 3px; padding: 4px 12px; cursor: pointer; color: inherit;
}
.cr-ruo-banner__body { font-size: 0.8125rem; }

@media (max-width: 899px) {
  .cr-nav-toggle { display: inline-block; }
  /* Collapsed by default; the toggle reveals it. */
  .cr-nav { display: none; }
  .cr-nav[data-open] { display: flex; flex-direction: column; gap: 0; }
  .cr-nav[data-open] a { padding: 10px 0; border-bottom: 1px solid var(--color-border, #e2e2df); }
  .cr-wordmark { font-size: 1.125rem; white-space: nowrap; }
  /* The three-item row (wordmark / Subscribe / toggle) overflowed the viewport
     at 375px and clipped the toggle. Let the wordmark shrink and tighten the
     button so the row always fits. */
  .cr-masthead-top { gap: 8px; }
  .cr-subscribe-btn { padding: 8px 12px; font-size: 0.875rem; }
  .cr-nav-toggle { padding: 4px 10px; flex: 0 0 auto; }
  .cr-ruo-banner { padding: 10px 14px; }
  .cr-ruo-banner__title { font-size: 0.875rem; }
  .cr-ruo-banner__body { font-size: 0.75rem; line-height: 1.45; }
  .cr-masthead-top { padding: 14px 0 12px; }
}


/* ---------- CR GLOSSARY ----------
   Index box, entry sections and anchor links, from the Astro bundle. */
.prose .lede{font-family:var(--font-serif);color:var(--slate-600);border-left:2px solid var(--teal-300);margin:0 0 32px;padding-left:16px;font-size:1.375rem;font-style:italic;font-weight:400;line-height:1.45}
.prose .lede{font-size:1.125rem}
.brief-eyebrow{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--teal-700);margin:0 0 12px;font-size:.75rem;font-weight:700}
@media(max-width:767px){.prose h1{font-size:2.25rem}.prose .lede{font-size:1.125rem}.prose h2{margin:40px 0 12px;font-size:1.875rem}.prose h3{margin:28px 0 10px;font-size:1.375rem}.prose p,.prose ul,.prose ol{font-size:1rem}}

/* ---------- CR GLOSSARY PAGE ----------
   Index box and entry styles from the glossary page's own scoped block — they
   were never in the shared bundle, which is why the first extraction found
   nothing and the index rendered as a plain bulleted list. */
.article-shell{padding:32px 0 48px}@media(min-width:1024px){.article-shell{padding:48px 0 64px}}.glossary-toc{margin:24px 0 32px;padding:16px 20px;background:var(--color-surface-muted, #fafafa);border-left:3px solid var(--color-accent-muted, #d4d4d4)}.glossary-toc h2{margin:0 0 8px;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.glossary-toc ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px}.glossary-entry{margin:48px 0;scroll-margin-top:24px}.glossary-entry h2{margin-bottom:8px}.anchor-link{color:inherit;text-decoration:none}.anchor-link:hover{text-decoration:underline}.glossary-aliases{font-size:.875rem;color:var(--color-text-muted, #555);font-style:italic;margin-top:0}.glossary-related{font-size:.875rem;margin-top:16px;padding-top:12px;border-top:1px dashed var(--color-accent-muted, #d4d4d4)}

/* ---- Paid-ad landing surface (2026-09-02) --------------------------------- */
.cr-landing-hero .hero-grid{align-items:start}
/* Mobile: headline, then the form, then the paragraph — the input must sit inside the first screen. Desktop: copy under the headline, form in the right column spanning both rows. */
.cr-landing-grid{grid-template-columns:1fr}
.cr-landing-intro{order:1}.cr-landing-form{order:2}.cr-landing-copy{order:3}
.cr-landing-copy p{font-family:var(--font-sans);font-size:1.0625rem;line-height:1.65;color:var(--slate-700);margin:0;max-width:60ch}
@media(min-width:1024px){.cr-landing-grid{grid-template-columns:minmax(0,1fr) 420px;grid-template-rows:auto auto;gap:24px 64px}.cr-landing-intro{grid-column:1;grid-row:1;order:0}.cr-landing-copy{grid-column:1;grid-row:2;order:0}.cr-landing-form{grid-column:2;grid-row:1/span 2;order:0}}
@media(max-width:767px){.cr-landing-hero{padding-top:20px}.cr-landing-hero h1{font-size:1.875rem;margin-bottom:10px}.cr-landing-hero .lede{font-size:1.125rem;margin-bottom:14px}.cr-landing-form{margin-bottom:8px}}
.cr-landing-hero h1{font-size:3rem}
.cr-landing-form .signup-card{margin:0}
.cr-landing-form .signup-card h2{font-family:var(--font-serif);font-size:1.5rem;line-height:1.2;margin:0 0 8px}
.cr-landing-form .signup-card input[type=email]{font-size:1rem;min-height:44px}
.cr-landing-expect{font-family:var(--font-sans);font-size:.8125rem;line-height:1.5;color:var(--slate-600);margin:12px 0 0;max-width:60ch}
.cr-landing-section{padding:48px 0;border-top:1px solid var(--slate-200)}
.cr-landing-covers{background:#fff}
.cr-landing-steps{background:var(--teal-50)}
.cr-landing-trust{background:var(--slate-50)}
.cr-landing-faq{background:#fff}
.cr-landing-list{font-family:var(--font-sans);font-size:1.0625rem;line-height:1.6;color:var(--slate-700);max-width:60ch;padding-left:1.25rem;margin:0 0 16px}
.cr-landing-list li{margin:0 0 10px}
.cr-landing-list--steps li{padding-left:.25rem}
.cr-landing-note,.cr-landing-body{font-family:var(--font-sans);font-size:1.0625rem;line-height:1.65;color:var(--slate-700);max-width:60ch;margin:0 0 16px}
.cr-landing-note{font-size:.9375rem;color:var(--slate-600)}
.cr-landing-links{font-family:var(--font-sans);font-size:1rem;font-weight:500;margin:0}
.cr-landing-operator{font-family:var(--font-sans);font-size:.9375rem;line-height:1.55;color:var(--slate-600);max-width:60ch;margin:0}
.cr-landing-dl{max-width:60ch;margin:0 0 24px}
.cr-landing-dl dt{font-family:var(--font-sans);font-weight:600;font-size:1.0625rem;margin:16px 0 4px}
.cr-landing-dl dd{font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--slate-700);margin:0}
.cr-landing-cta{margin:8px 0 0}
@media(max-width:767px){.cr-landing-hero h1{font-size:2.125rem}.cr-landing-section{padding:32px 0}}

/* Lean mode, phones: the fixed consent banner must not cover the email field on first load
   (measured 2026-09-02: 217px banner vs form at 587–688 on 375×812). Compact banner + tighter card. */
@media(max-width:767px){
  body.cr-lean #cr-cookie-banner{padding:.625rem .875rem;font-size:.8125rem;line-height:1.35}
  body.cr-lean #cr-cookie-banner h2{display:none}
  body.cr-lean .cr-cookie-banner__inner{gap:.5rem}
  body.cr-lean .cr-cookie-banner__actions{width:100%;justify-content:space-between;flex-wrap:nowrap}
  body.cr-lean .cr-cookie-banner__btn{padding:.4rem .5rem;min-height:36px;flex:1 1 0}
  body.cr-lean .cr-landing-form .signup-card{padding:18px}
  body.cr-lean .cr-landing-form .signup-card h2{font-size:1.25rem;margin-bottom:6px}
  body.cr-lean .cr-landing-form .signup-card p{font-size:.9375rem;line-height:1.45;margin:0 0 10px}
}
