/* ============================================================
   PURE CITY RESEARCH — Design System v3
   Premium clinical editorial. Drop-in replacement for v2.
   All pcr-* class names preserved.

   Elevates: spacing rhythm (8px grid), modular type scale,
   layered warm neutrals, tinted elevation ladder, purposeful
   teal accent, signature evidence badges, refined micro-
   interactions, editorial article typography, accessible.
   Mobile-first, WCAG AA.
   ============================================================ */

:root {
  /* ---- Warm neutral surfaces (retuned: alt is a warm step, not grey) ---- */
  --pcr-bg:            #F7F6F2;
  --pcr-surface:       #FFFFFF;   /* cards sit as clean paper on warm bg */
  --pcr-surface-2:     #FBFAF6;   /* secondary surface */
  --pcr-surface-alt:   #F2F0EA;   /* alt section — warm, subtle, not grey */
  --pcr-border:        #E2DFD7;   /* softer hairline */
  --pcr-border-strong: #CFCBC1;   /* interactive / hover border */
  --pcr-border-soft:   #ECE9E2;

  /* ---- Ink ---- */
  --pcr-text:          #26231C;
  --pcr-text-muted:    #6E6C65;   /* AA on bg & surface (>4.5:1) */
  --pcr-text-faint:    #9A988F;   /* large/decorative only */

  /* ---- Primary (Nexus Hydra Teal) ---- */
  --pcr-primary:       #01696F;
  --pcr-primary-hover: #0C4E54;
  --pcr-primary-deep:  #093B40;
  --pcr-primary-soft:  #E5F0F0;
  --pcr-primary-tint:  #F1F7F7;

  /* ---- Semantic (retuned for meaning + AA) ---- */
  --pcr-success:       #2F7D32;   /* Strong */
  --pcr-success-soft:  #EAF3E9;
  --pcr-gold:          #9A6B00;   /* Weak — amber, NOT a warning */
  --pcr-gold-soft:     #F6EFDD;
  --pcr-warning:       #964219;   /* caution */
  --pcr-warning-soft:  #F6E9E1;
  --pcr-error:         #A12C7B;   /* risk / destructive */
  --pcr-error-soft:    #F5E2EE;
  --pcr-neutral-soft:  #EDEBE4;   /* Insufficient */

  /* ---- Type ---- */
  --pcr-font-head: "Source Serif 4", Georgia, "Times New Roman", serif;
  --pcr-font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pcr-font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;

  /* Modular scale (1.25) — confident display tier */
  --pcr-fs-display: clamp(2.4rem, 1.6rem + 3.6vw, 3.75rem);
  --pcr-fs-h1:      clamp(2.1rem, 1.5rem + 2.6vw, 3rem);
  --pcr-fs-h2:      clamp(1.6rem, 1.25rem + 1.5vw, 2.15rem);
  --pcr-fs-h3:      clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  --pcr-fs-h4:      1.125rem;
  --pcr-fs-body:    1.0625rem;   /* 17px */
  --pcr-fs-sm:      0.9375rem;   /* 15px */
  --pcr-fs-xs:      0.8125rem;   /* 13px */
  --pcr-fs-eyebrow: 0.75rem;

  /* ---- Spacing scale (8px grid) ---- */
  --pcr-s1: 4px;  --pcr-s2: 8px;  --pcr-s3: 12px; --pcr-s4: 16px;
  --pcr-s5: 24px; --pcr-s6: 32px; --pcr-s7: 40px; --pcr-s8: 56px;
  --pcr-s9: 72px; --pcr-s10: 96px;
  --pcr-section-y: clamp(56px, 4vw + 40px, 96px);

  /* ---- Radius ---- */
  --pcr-radius:    14px;
  --pcr-radius-lg: 20px;
  --pcr-radius-sm: 9px;
  --pcr-radius-pill: 999px;

  /* ---- Elevation ladder (tinted with ink, not pure black) ---- */
  --pcr-shadow-xs: 0 1px 2px rgba(38,35,28,.05);
  --pcr-shadow-sm: 0 1px 2px rgba(38,35,28,.05), 0 2px 6px rgba(38,35,28,.05);
  --pcr-shadow:    0 1px 3px rgba(38,35,28,.05), 0 8px 24px -6px rgba(38,35,28,.10);
  --pcr-shadow-lg: 0 2px 6px rgba(38,35,28,.06), 0 20px 48px -12px rgba(38,35,28,.16);
  --pcr-shadow-primary: 0 6px 18px -6px rgba(1,105,111,.40);

  /* ---- Motion ---- */
  --pcr-ease: cubic-bezier(.2,.7,.2,1);
  --pcr-ease-out: cubic-bezier(.16,1,.3,1);

  --pcr-maxw: 1200px;
  --pcr-content-w: 1100px;   /* ~68ch measure */
  --pcr-focus: 0 0 0 3px rgba(1,105,111,.35);
}

/* ---------- Base ---------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  background: var(--pcr-bg);
  color: var(--pcr-text);
  font-family: var(--pcr-font-body);
  font-size: var(--pcr-fs-body);
  line-height: 1.65;
  margin: 0;
  font-feature-settings: "kern" 1;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--pcr-font-head);
  font-weight: 600;
  line-height: 1.15;
  color: var(--pcr-text);
  margin: 1.5em 0 .5em;
  text-wrap: balance;
  font-feature-settings: "kern" 1, "liga" 1, "onum" 1;
}
h1:first-child, h2:first-child, h3:first-child { margin-top: 0; }
h1 { font-size: var(--pcr-fs-h1); letter-spacing: -0.02em; }
h2 { font-size: var(--pcr-fs-h2); letter-spacing: -0.015em; }
h3 { font-size: var(--pcr-fs-h3); letter-spacing: -0.01em; }
h4 { font-size: var(--pcr-fs-h4); font-weight: 600; }

p { margin: 0 0 1.15em; text-wrap: pretty; }

a {
  color: var(--pcr-primary);
  text-decoration: none;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  transition: color .15s var(--pcr-ease), text-decoration-color .15s var(--pcr-ease);
}
a:hover { color: var(--pcr-primary-hover); text-decoration: underline; text-decoration-color: rgba(1,105,111,.4); }
img { max-width: 100%; height: auto; }

:focus-visible {
  outline: none;
  box-shadow: var(--pcr-focus);
  border-radius: 4px;
}
::selection { background: var(--pcr-primary-soft); color: var(--pcr-primary-deep); }

.entry-content { max-width: var(--pcr-content-w); margin: 0 auto; padding: 0 20px; }

/* ---------- Layout containers ---------- */
.pcr-container { max-width: var(--pcr-maxw); margin: 0 auto; padding: 0 24px; }
.pcr-section { padding: 64px 0; position: relative; }
.pcr-section:first-of-type { padding-top: 56px; }
.pcr-section--alt { background: var(--pcr-surface-alt); padding: 64px 0; }
.pcr-section--tint {
  background: linear-gradient(180deg, var(--pcr-primary-tint), var(--pcr-bg));
  border-top: 1px solid var(--pcr-border);
}

/* ---------- Header ---------- */
.site-header {
  background: rgba(247,246,242,.80);
  border-bottom: 1px solid var(--pcr-border);
  position: sticky; top: 0; z-index: 100;
  backdrop-filter: saturate(160%) blur(14px);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
}
.inside-header { padding: 14px 24px !important; max-width: var(--pcr-maxw); margin: 0 auto; }
.main-navigation .main-nav ul li a {
  font-family: var(--pcr-font-body); font-weight: 500; font-size: 14.5px;
  letter-spacing: .005em; color: var(--pcr-text) !important; padding: 10px 14px !important;
  position: relative;
}
.main-navigation .main-nav ul li a::after {
  content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 2px;
  background: var(--pcr-primary); border-radius: 2px;
  transform: scaleX(0); transform-origin: left; transition: transform .22s var(--pcr-ease-out);
}
.main-navigation .main-nav ul li a:hover { color: var(--pcr-primary) !important; }
.main-navigation .main-nav ul li a:hover::after,
.main-navigation .main-nav ul li.current-menu-item a::after { transform: scaleX(1); }
.site-title, .site-title a {
  font-family: var(--pcr-font-head) !important; font-weight: 600;
  font-size: 1.4rem !important; letter-spacing: -0.02em;
}
.site-title a { color: var(--pcr-primary) !important; }

/* ---------- Hero ---------- */
.pcr-hero {
  background: radial-gradient(900px 400px at 85% -20%, var(--pcr-primary-soft), transparent 55%), var(--pcr-bg);
  border-bottom: 1px solid var(--pcr-border);
  padding: 72px 0 80px;
}
.pcr-hero__inner { display: grid; grid-template-columns: 1.2fr .85fr; gap: clamp(32px, 4vw, 64px); align-items: center; }
.pcr-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--pcr-font-body); font-weight: 600; font-size: var(--pcr-fs-eyebrow);
  letter-spacing: .16em; text-transform: uppercase; color: var(--pcr-primary);
  margin-bottom: var(--pcr-s4);
}
.pcr-hero__eyebrow::before {
  content: ""; width: 22px; height: 2px; background: var(--pcr-primary); border-radius: 2px;
}
.pcr-hero__title {
  font-size: var(--pcr-fs-display); line-height: 1.04; letter-spacing: -0.025em;
  margin: 0 0 var(--pcr-s5); max-width: 15ch;
}
.pcr-hero__lede { font-size: 1.15rem; color: var(--pcr-text-muted); max-width: 54ch; line-height: 1.6; margin-bottom: var(--pcr-s6); }
.pcr-hero__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; }

.pcr-hero__panel {
  position: relative;
  background: var(--pcr-surface); border: 1px solid var(--pcr-border);
  border-radius: var(--pcr-radius-lg); padding: var(--pcr-s6) var(--pcr-s6);
  box-shadow: var(--pcr-shadow-lg);
}
.pcr-hero__panel::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 4px;
  background: linear-gradient(90deg, var(--pcr-primary), color-mix(in srgb, var(--pcr-primary) 55%, #4FA5AB));
  border-radius: var(--pcr-radius-lg) var(--pcr-radius-lg) 0 0;
}
.pcr-hero__panel-label { font-size: var(--pcr-fs-xs); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pcr-text-muted); }
.pcr-hero__panel-stat { display: flex; align-items: baseline; gap: 10px; margin: var(--pcr-s3) 0 var(--pcr-s2); }
.pcr-hero__panel-num {
  font-family: var(--pcr-font-head); font-size: clamp(2.6rem, 5vw, 3.2rem); font-weight: 700;
  color: var(--pcr-primary); line-height: 1; letter-spacing: -0.02em;
  font-feature-settings: "lnum" 1, "tnum" 1;
}
.pcr-hero__panel-unit { font-size: var(--pcr-fs-sm); color: var(--pcr-text-muted); font-weight: 500; }
.pcr-hero__panel-desc { font-size: var(--pcr-fs-sm); color: var(--pcr-text-muted); margin-bottom: var(--pcr-s5); line-height: 1.55; }
.pcr-hero__panel-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--pcr-border-soft); padding-top: var(--pcr-s4); }
.pcr-hero__panel-list li { font-size: var(--pcr-fs-sm); color: var(--pcr-text); padding: 8px 0 8px 28px; position: relative; }
.pcr-hero__panel-list li + li { border-top: 1px solid var(--pcr-border-soft); }
.pcr-hero__panel-list li::before {
  content: "✓"; position: absolute; left: 0; top: 8px; color: var(--pcr-success); font-weight: 700;
  width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--pcr-success-soft); border-radius: 50%; font-size: 11px;
}

/* ---------- Grid & tiles ---------- */
.pcr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(248px,1fr)); gap: var(--pcr-s4); }
.pcr-grid--trust { grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); }

.pcr-tile {
  display: flex; flex-direction: column; position: relative;
  background: var(--pcr-surface); border: 1px solid var(--pcr-border);
  border-radius: var(--pcr-radius); padding: var(--pcr-s5);
  box-shadow: var(--pcr-shadow-sm);
  transition: transform .22s var(--pcr-ease-out), box-shadow .22s var(--pcr-ease-out), border-color .18s var(--pcr-ease);
  color: var(--pcr-text); text-decoration: none; min-height: 152px; overflow: hidden;
}
.pcr-tile::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 3px;
  background: var(--pcr-primary); transform: scaleX(0); transform-origin: left;
  transition: transform .28s var(--pcr-ease-out);
}
.pcr-tile:hover {
  transform: translateY(-4px); box-shadow: var(--pcr-shadow-lg);
  border-color: var(--pcr-border-strong); text-decoration: none;
}
.pcr-tile:hover::before { transform: scaleX(1); }
.pcr-tile:focus-visible { box-shadow: var(--pcr-focus), var(--pcr-shadow); }

.pcr-tile__icon {
  width: 46px; height: 46px; border-radius: 12px;
  background: linear-gradient(150deg, var(--pcr-primary-soft), var(--pcr-primary-tint));
  box-shadow: inset 0 0 0 1px rgba(1,105,111,.14);
  display: flex; align-items: center; justify-content: center; margin-bottom: var(--pcr-s4);
  color: var(--pcr-primary); font-size: 21px; font-weight: 600;
}
.pcr-tile__title { font-family: var(--pcr-font-head); font-weight: 600; font-size: 1.15rem; margin-bottom: var(--pcr-s2); line-height: 1.25; letter-spacing: -0.01em; }
.pcr-tile__desc { font-size: var(--pcr-fs-sm); color: var(--pcr-text-muted); line-height: 1.5; flex: 1; }
.pcr-tile__badge { margin-top: var(--pcr-s4); }

/* Ingredient tiles: evidence badge promoted to top-right status pill */
.pcr-tile--ingredient { padding-top: var(--pcr-s5); }
.pcr-tile--ingredient .pcr-tile__badge { margin-top: auto; padding-top: var(--pcr-s4); }
.pcr-tile--ingredient .pcr-tile__title { padding-right: 96px; }
.pcr-tile--ingredient .pcr-tile__badge--corner {
  position: absolute; top: var(--pcr-s5); right: var(--pcr-s5); margin: 0;
}

.pcr-tile--trust { background: var(--pcr-surface-2); }
.pcr-tile--trust .pcr-tile__icon {
  background: var(--pcr-surface); color: var(--pcr-primary);
  font-family: var(--pcr-font-head); box-shadow: inset 0 0 0 1px var(--pcr-border-strong);
}

/* ---------- Section heading ---------- */
.pcr-section-head { max-width: 640px; margin: 0 auto var(--pcr-s7); text-align: center; }
.pcr-section-head .pcr-eyebrow { display: block; margin-bottom: var(--pcr-s3); }
.pcr-section-head h2 { margin: 0 0 var(--pcr-s3); }
.pcr-section-head p { color: var(--pcr-text-muted); font-size: 1.075rem; margin: 0; }
.pcr-eyebrow {
  font-weight: 600; font-size: var(--pcr-fs-eyebrow); letter-spacing: .16em;
  text-transform: uppercase; color: var(--pcr-primary);
}
.pcr-center-cta { text-align: center; margin-top: var(--pcr-s7); }

/* ---------- Buttons ---------- */
.pcr-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--pcr-primary); color: #fff !important;
  font-family: var(--pcr-font-body); font-weight: 600; font-size: 15px;
  padding: 13px 24px; border-radius: var(--pcr-radius-sm); border: 1px solid var(--pcr-primary);
  cursor: pointer; line-height: 1; text-decoration: none;
  box-shadow: var(--pcr-shadow-primary);
  transition: background .16s var(--pcr-ease), transform .16s var(--pcr-ease), box-shadow .16s var(--pcr-ease);
}
.pcr-btn:hover { background: var(--pcr-primary-hover); border-color: var(--pcr-primary-hover); transform: translateY(-1px); text-decoration: none; box-shadow: 0 10px 24px -8px rgba(1,105,111,.5); color:#fff !important; }
.pcr-btn:active { transform: translateY(0); box-shadow: var(--pcr-shadow-primary); }
.pcr-btn svg { transition: transform .2s var(--pcr-ease); }
.pcr-btn:hover svg { transform: translateX(3px); }
.pcr-btn--ghost {
  background: transparent; color: var(--pcr-primary) !important; border-color: var(--pcr-border-strong);
  box-shadow: none;
}
.pcr-btn--ghost:hover { background: var(--pcr-primary-soft); border-color: var(--pcr-primary); box-shadow: none; color: var(--pcr-primary-hover) !important; }

/* ---------- Callouts ---------- */
.pcr-callout, .entry-content .pcr-callout {
  position: relative;
  border-radius: var(--pcr-radius); border: 1px solid var(--pcr-border);
  border-left: 4px solid var(--pcr-primary); background: var(--pcr-surface);
  padding: var(--pcr-s5) var(--pcr-s5); margin: var(--pcr-s6) 0; font-size: var(--pcr-fs-sm);
  box-shadow: var(--pcr-shadow-xs); line-height: 1.6;
}
.pcr-callout p:last-child { margin-bottom: 0; }
.pcr-callout--info    { border-left-color: var(--pcr-primary); background: var(--pcr-primary-tint); }
.pcr-callout--success { border-left-color: var(--pcr-success); background: var(--pcr-success-soft); }
.pcr-callout--warning { border-left-color: var(--pcr-warning); background: var(--pcr-warning-soft); }
.pcr-callout--error   { border-left-color: var(--pcr-error);   background: var(--pcr-error-soft); }
.pcr-callout__label {
  font-weight: 700; font-size: var(--pcr-fs-xs); letter-spacing: .08em; text-transform: uppercase;
  margin-bottom: var(--pcr-s2); display: inline-flex; align-items: center; gap: 7px; color: var(--pcr-primary);
}
.pcr-callout--success .pcr-callout__label { color: var(--pcr-success); }
.pcr-callout--warning .pcr-callout__label { color: var(--pcr-warning); }
.pcr-callout--error   .pcr-callout__label { color: var(--pcr-error); }

/* ---------- Badges (signature evidence rank system) ---------- */
.pcr-badge {
  display: inline-flex; align-items: center; gap: 7px; font-size: var(--pcr-fs-xs); font-weight: 600;
  padding: 5px 12px 5px 10px; border-radius: var(--pcr-radius-pill); background: var(--pcr-neutral-soft);
  color: var(--pcr-text-muted); border: 1px solid transparent; line-height: 1.3; white-space: nowrap;
}
.pcr-badge::before {
  content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: none;
}
.pcr-badge--strong       { background: var(--pcr-success-soft); color: var(--pcr-success); }
.pcr-badge--moderate     { background: var(--pcr-primary-soft);  color: var(--pcr-primary); }
.pcr-badge--weak         { background: var(--pcr-gold-soft);     color: var(--pcr-gold); }
.pcr-badge--insufficient { background: var(--pcr-neutral-soft);  color: var(--pcr-text-muted); }
.pcr-badge--risk         { background: var(--pcr-error-soft);    color: var(--pcr-error); }
/* Solid variant for hero / emphasis */
.pcr-badge--solid { color: #fff; border-color: transparent; }
.pcr-badge--solid.pcr-badge--strong   { background: var(--pcr-success); }
.pcr-badge--solid.pcr-badge--moderate { background: var(--pcr-primary); }
.pcr-badge--solid.pcr-badge--risk     { background: var(--pcr-error); }
.pcr-badge--solid::before { background: rgba(255,255,255,.9); }

/* ---------- Tables ---------- */
.pcr-table-wrap { width: 100%; overflow-x: auto; margin: var(--pcr-s6) 0; -webkit-overflow-scrolling: touch; border-radius: var(--pcr-radius); border: 1px solid var(--pcr-border); box-shadow: var(--pcr-shadow-xs); }
.pcr-table, .entry-content table {
  width: 100%; border-collapse: collapse; font-size: var(--pcr-fs-sm);
  background: var(--pcr-surface); overflow: hidden;
  font-feature-settings: "tnum" 1, "lnum" 1;
}
/* standalone table (not wrapped) still gets border/radius */
.pcr-table:not(.pcr-table-wrap .pcr-table), .entry-content > table {
  border: 1px solid var(--pcr-border); border-radius: var(--pcr-radius); margin: var(--pcr-s6) 0;
}
.pcr-table th, .entry-content table th {
  background: var(--pcr-primary-tint); text-align: left; font-weight: 700; font-size: var(--pcr-fs-xs);
  letter-spacing: .03em; text-transform: uppercase; color: var(--pcr-primary-deep); padding: 14px 16px;
  border-bottom: 1px solid var(--pcr-border);
}
.pcr-table td, .entry-content table td { padding: 14px 16px; border-bottom: 1px solid var(--pcr-border-soft); vertical-align: top; }
.pcr-table tbody tr:nth-child(even) td, .entry-content table tbody tr:nth-child(even) td { background: var(--pcr-surface-2); }
.pcr-table tbody tr:hover td, .entry-content table tbody tr:hover td { background: var(--pcr-primary-tint); }
.pcr-table tr:last-child td, .entry-content table tr:last-child td { border-bottom: none; }
.pcr-table td:first-child, .entry-content table td:first-child { font-weight: 600; color: var(--pcr-text); }
.pcr-table .num, .pcr-table td.num { text-align: right; font-variant-numeric: tabular-nums; }

/* ---------- Methodology aside ---------- */
.pcr-aside, .entry-content .pcr-aside {
  background: var(--pcr-surface-2); border: 1px solid var(--pcr-border);
  border-radius: var(--pcr-radius); padding: var(--pcr-s5) var(--pcr-s5); font-size: var(--pcr-fs-sm);
  color: var(--pcr-text-muted); margin: var(--pcr-s6) 0; line-height: 1.6; box-shadow: var(--pcr-shadow-xs);
}
.pcr-aside strong { color: var(--pcr-text); }
.pcr-aside ul, .pcr-aside ol { margin: var(--pcr-s2) 0; padding-left: 20px; }

/* Infographic text-equivalent disclosure */
.pcr-text-version, .entry-content .pcr-text-version {
  background: var(--pcr-surface-2); border: 1px solid var(--pcr-border);
  border-radius: var(--pcr-radius); padding: 0 var(--pcr-s5); margin: var(--pcr-s3) 0 var(--pcr-s6);
}
.pcr-text-version summary { cursor: pointer; font-size: var(--pcr-fs-sm); font-weight: 600; color: var(--pcr-text-muted); padding: var(--pcr-s4) 0; list-style: none; display: flex; align-items: center; gap: 10px; }
.pcr-text-version summary::-webkit-details-marker { display: none; }
.pcr-text-version summary::before { content: "›"; color: var(--pcr-primary); font-weight: 700; font-size: 18px; transition: transform .2s var(--pcr-ease); }
.pcr-text-version[open] summary::before { transform: rotate(90deg); }
.pcr-text-version__body { padding-bottom: var(--pcr-s4); font-size: var(--pcr-fs-sm); }

/* ---------- Article meta ---------- */
.pcr-article-meta, .entry-content .pcr-article-meta {
  display: flex; flex-wrap: wrap; gap: var(--pcr-s5); font-size: var(--pcr-fs-xs); color: var(--pcr-text-muted);
  padding: var(--pcr-s4) 0; border-top: 1px solid var(--pcr-border-soft); border-bottom: 1px solid var(--pcr-border-soft); margin: var(--pcr-s6) 0;
}
.pcr-article-meta strong { color: var(--pcr-text); font-weight: 600; }

/* ---------- FAQ ---------- */
.pcr-faq, .entry-content .pcr-faq { border-top: 1px solid var(--pcr-border-soft); margin-top: var(--pcr-s6); }
.pcr-faq details { border-bottom: 1px solid var(--pcr-border-soft); }
.pcr-faq summary {
  cursor: pointer; font-weight: 600; font-size: 1.0625rem; color: var(--pcr-text); list-style: none;
  display: flex; align-items: flex-start; gap: var(--pcr-s3); padding: var(--pcr-s5) 8px;
  border-radius: var(--pcr-radius-sm); transition: background .15s var(--pcr-ease);
}
.pcr-faq summary:hover { background: var(--pcr-primary-tint); }
.pcr-faq summary::-webkit-details-marker { display: none; }
.pcr-faq summary::before {
  content: "+"; flex: none; width: 24px; height: 24px; border-radius: 50%;
  background: var(--pcr-primary-soft); color: var(--pcr-primary); font-weight: 700; font-size: 18px;
  display: inline-flex; align-items: center; justify-content: center; line-height: 1;
  transition: transform .22s var(--pcr-ease), background .15s var(--pcr-ease); margin-top: 1px;
}
.pcr-faq details[open] summary::before { content: "−"; background: var(--pcr-primary); color: #fff; }
.pcr-faq details p { margin: 0 8px var(--pcr-s5) 44px; font-size: var(--pcr-fs-sm); color: var(--pcr-text-muted); }

/* ---------- SVG infographics ---------- */
.entry-content svg { max-width: 100%; height: auto; display: block; }
.pcr-infographic-wrap, .entry-content .pcr-infographic-wrap {
  background: var(--pcr-surface); border: 1px solid var(--pcr-border); border-radius: var(--pcr-radius-lg);
  padding: var(--pcr-s6); margin: var(--pcr-s6) 0; overflow-x: auto; box-shadow: var(--pcr-shadow-sm);
}
.pcr-infographic-wrap svg { margin: 0 auto; }
.pcr-figcaption { font-size: var(--pcr-fs-xs); color: var(--pcr-text-muted); text-align: center; margin-top: var(--pcr-s3); font-style: italic; }

/* ---------- Article body typography ---------- */
.entry-content { font-size: 1.09rem; }
.entry-content h2 { margin-top: 1.9em; }
.entry-content h2::after { content: ""; display: block; width: 44px; height: 3px; background: var(--pcr-primary); border-radius: 2px; margin-top: var(--pcr-s3); }
.entry-content h3 { margin-top: 1.6em; }
.entry-content ul, .entry-content ol { margin: 0 0 1.25em; padding-left: 1.4em; }
.entry-content li { margin-bottom: .5em; }
.entry-content li::marker { color: var(--pcr-primary); }
.entry-content blockquote {
  border-left: 3px solid var(--pcr-primary); padding: 4px 0 4px 22px; color: var(--pcr-text);
  font-family: var(--pcr-font-head); font-size: 1.25rem; line-height: 1.45; font-style: italic;
  margin: var(--pcr-s6) 0;
}
.entry-content figure { margin: var(--pcr-s6) 0; }
.entry-content figcaption { font-size: var(--pcr-fs-xs); color: var(--pcr-text-muted); text-align: center; margin-top: var(--pcr-s2); }
/* Optional editorial drop cap on lede */
.entry-content .pcr-lede::first-letter {
  font-family: var(--pcr-font-head); font-weight: 600; font-size: 3.4em; line-height: .8;
  float: left; padding: 6px 10px 0 0; color: var(--pcr-primary);
}
.entry-content code { font-family: var(--pcr-font-mono); font-size: .9em; background: var(--pcr-surface-alt); padding: 2px 6px; border-radius: 5px; }
.entry-content hr { border: none; border-top: 1px solid var(--pcr-border); margin: var(--pcr-s7) 0; }

/* ---------- Footer ---------- */
.site-footer { background: #201E18; color: #C8C5BC; padding: var(--pcr-s8) 0 var(--pcr-s6); margin-top: var(--pcr-s9); font-size: var(--pcr-fs-sm); }
.site-footer h3, .site-footer h4 { color: #F4F2EC; font-size: var(--pcr-fs-xs); letter-spacing: .08em; text-transform: uppercase; font-family: var(--pcr-font-body); font-weight: 700; margin-bottom: var(--pcr-s3); }
.site-footer a { color: #DAD7CE; transition: color .15s var(--pcr-ease); }
.site-footer a:hover { color: #4FA5AB; text-decoration: none; }
.footer-bar { padding-top: var(--pcr-s5); border-top: 1px solid #3A382F; margin-top: var(--pcr-s6); font-size: var(--pcr-fs-xs); color: #918E85; }

/* ---------- Source list ---------- */
.pcr-source-group { margin: var(--pcr-s6) 0; }
.pcr-source-group h2 { border-bottom: 1px solid var(--pcr-border); padding-bottom: var(--pcr-s3); }
.pcr-source-group h2::after { display: none; }

/* ============================================================
   GENERATEPRESS OVERRIDES
   ============================================================ */
body.home .site-content, body.page .site-content { display: block !important; max-width: none !important; }
body.home .content-area, body.home .inside-article, body.home .entry-content,
body.page .content-area, body.page .inside-article, body.page .entry-content {
  width: 100% !important; max-width: none !important; margin: 0 !important;
  padding-left: 0 !important; padding-right: 0 !important; float: none !important;
}
body.home .widget-area, body.home #right-sidebar, body.home #left-sidebar, body.home .sidebar,
body.page .widget-area, body.page #right-sidebar, body.page #left-sidebar, body.page .sidebar,
body.single-post .widget-area, body.single-post #right-sidebar, body.single-post .sidebar { display: none !important; }
body.home .entry-header, body.page .entry-header { display: none !important; }
body.home .site-main, body.page .site-main { margin: 0 !important; }
body.home .inside-article, body.page .inside-article,
body.single-post .inside-article { box-shadow: none !important; border: none !important; padding: 0 !important; border-radius: 0 !important; background: transparent !important; }
body.single-post .entry-content { padding: 40px 20px 60px; font-size: 18px; }
body, button, input, select, textarea { font-family: var(--pcr-font-body) !important; }
h1,h2,h3,h4,h5,h6, .site-title, .entry-title { font-family: var(--pcr-font-head) !important; }
.entry-title { font-family: var(--pcr-font-head) !important; color: var(--pcr-text) !important; }
a { color: var(--pcr-primary); }

/* Article title bar */
body.single-post .entry-header { display: block !important; text-align: center; padding: var(--pcr-s8) 20px var(--pcr-s5); border-bottom: 1px solid var(--pcr-border-soft); background: linear-gradient(180deg, var(--pcr-primary-tint), transparent); }
body.single-post .entry-title { font-size: clamp(2rem, 4vw, 2.9rem); max-width: 720px; margin: 0 auto var(--pcr-s3); letter-spacing: -0.02em; line-height: 1.1; }
body.single-post .entry-meta { justify-content: center; font-size: var(--pcr-fs-xs); color: var(--pcr-text-muted); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {
  .pcr-hero__inner { grid-template-columns: 1fr; gap: var(--pcr-s7); }
  .pcr-hero__panel { order: 2; }
}
@media (max-width: 768px) {
  body { font-size: 17px; }
  .pcr-container { padding: 0 20px; }
  .inside-header { padding: 12px 20px !important; }
  .pcr-grid { grid-template-columns: 1fr 1fr; gap: var(--pcr-s3); }
  .pcr-tile { padding: var(--pcr-s4); min-height: 132px; }
  .pcr-tile__title { font-size: 1.02rem; }
  .pcr-tile__desc { font-size: var(--pcr-fs-xs); }
  .pcr-tile--ingredient .pcr-tile__title { padding-right: 0; }
  .pcr-tile--ingredient .pcr-tile__badge--corner { position: static; margin-top: var(--pcr-s3); }
  .pcr-hero__lede { font-size: 1.05rem; }
  .pcr-hero__panel { padding: var(--pcr-s5); }
  .pcr-hero__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; }
  .pcr-btn { width: 100%; padding: 14px 22px; }
  .pcr-section-head { max-width: 720px; margin: 0 auto 48px; text-align: center; }
  .entry-content { padding: 0 18px; font-size: 1.05rem; }
  body.single-post .entry-content { padding: 40px 20px 60px; font-size: 18px; }
  .pcr-callout, .pcr-aside { padding: var(--pcr-s4); }
  .pcr-infographic-wrap { padding: var(--pcr-s4); }
  .pcr-table, .entry-content table { font-size: var(--pcr-fs-xs); }
  .pcr-table th, .pcr-table td, .entry-content table th, .entry-content table td { padding: 11px 12px; }
}
@media (max-width: 480px) {
  .pcr-grid { grid-template-columns: 1fr; }
  .pcr-hero__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; }
  .pcr-tile { min-height: auto; }
}

/* Mobile menu toggle (GeneratePress) */
@media (max-width: 768px) {
  .main-navigation.toggled .main-nav>ul { display: block !important; }
  .menu-toggle { display: block !important; }
  .main-navigation .main-nav ul li a::after { display: none; }
}

/* ---------- Motion preferences ---------- */
@media (hover: none) {
  .pcr-tile:hover { transform: none; }
  .pcr-btn:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important; animation-iteration-count: 1 !important;
    transition-duration: .001ms !important; scroll-behavior: auto !important;
  }
  .pcr-tile:hover { transform: none; }
  .pcr-btn:hover { transform: none; }
}




/* === Trust page component styles (from standalone pages) === */

/* ============================================================
   PURE CITY RESEARCH — Design System v3
   Premium clinical editorial. Drop-in replacement for v2.
   All pcr-* class names preserved.

   Elevates: spacing rhythm (8px grid), modular type scale,
   layered warm neutrals, tinted elevation ladder, purposeful
   teal accent, signature evidence badges, refined micro-
   interactions, editorial article typography, accessible.
   Mobile-first, WCAG AA.
   ============================================================ */

:root {
  /* ---- Warm neutral surfaces (retuned: alt is a warm step, not grey) ---- */
  --pcr-bg:            #F7F6F2;
  --pcr-surface:       #FFFFFF;   /* cards sit as clean paper on warm bg */
  --pcr-surface-2:     #FBFAF6;   /* secondary surface */
  --pcr-surface-alt:   #F2F0EA;   /* alt section — warm, subtle, not grey */
  --pcr-border:        #E2DFD7;   /* softer hairline */
  --pcr-border-strong: #CFCBC1;   /* interactive / hover border */
  --pcr-border-soft:   #ECE9E2;

  /* ---- Ink ---- */
  --pcr-text:          #26231C;
  --pcr-text-muted:    #6E6C65;   /* AA on bg & surface (>4.5:1) */
  --pcr-text-faint:    #9A988F;   /* large/decorative only */

  /* ---- Primary (Nexus Hydra Teal) ---- */
  --pcr-primary:       #01696F;
  --pcr-primary-hover: #0C4E54;
  --pcr-primary-deep:  #093B40;
  --pcr-primary-soft:  #E5F0F0;
  --pcr-primary-tint:  #F1F7F7;

  /* ---- Semantic (retuned for meaning + AA) ---- */
  --pcr-success:       #2F7D32;   /* Strong */
  --pcr-success-soft:  #EAF3E9;
  --pcr-gold:          #9A6B00;   /* Weak — amber, NOT a warning */
  --pcr-gold-soft:     #F6EFDD;
  --pcr-warning:       #964219;   /* caution */
  --pcr-warning-soft:  #F6E9E1;
  --pcr-error:         #A12C7B;   /* risk / destructive */
  --pcr-error-soft:    #F5E2EE;
  --pcr-neutral-soft:  #EDEBE4;   /* Insufficient */

  /* ---- Type ---- */
  --pcr-font-head: "Source Serif 4", Georgia, "Times New Roman", serif;
  --pcr-font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pcr-font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;

  /* Modular scale (1.25) — confident display tier */
  --pcr-fs-display: clamp(2.4rem, 1.6rem + 3.6vw, 3.75rem);
  --pcr-fs-h1:      clamp(2.1rem, 1.5rem + 2.6vw, 3rem);
  --pcr-fs-h2:      clamp(1.6rem, 1.25rem + 1.5vw, 2.15rem);
  --pcr-fs-h3:      clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  --pcr-fs-h4:      1.125rem;
  --pcr-fs-body:    1.0625rem;   /* 17px */
  --pcr-fs-sm:      0.9375rem;   /* 15px */
  --pcr-fs-xs:      0.8125rem;   /* 13px */
  --pcr-fs-eyebrow: 0.75rem;

  /* ---- Spacing scale (8px grid) ---- */
  --pcr-s1: 4px;  --pcr-s2: 8px;  --pcr-s3: 12px; --pcr-s4: 16px;
  --pcr-s5: 24px; --pcr-s6: 32px; --pcr-s7: 40px; --pcr-s8: 56px;
  --pcr-s9: 72px; --pcr-s10: 96px;
  --pcr-section-y: clamp(56px, 4vw + 40px, 96px);

  /* ---- Radius ---- */
  --pcr-radius:    14px;
  --pcr-radius-lg: 20px;
  --pcr-radius-sm: 9px;
  --pcr-radius-pill: 999px;

  /* ---- Elevation ladder (tinted with ink, not pure black) ---- */
  --pcr-shadow-xs: 0 1px 2px rgba(38,35,28,.05);
  --pcr-shadow-sm: 0 1px 2px rgba(38,35,28,.05), 0 2px 6px rgba(38,35,28,.05);
  --pcr-shadow:    0 1px 3px rgba(38,35,28,.05), 0 8px 24px -6px rgba(38,35,28,.10);
  --pcr-shadow-lg: 0 2px 6px rgba(38,35,28,.06), 0 20px 48px -12px rgba(38,35,28,.16);
  --pcr-shadow-primary: 0 6px 18px -6px rgba(1,105,111,.40);

  /* ---- Motion ---- */
  --pcr-ease: cubic-bezier(.2,.7,.2,1);
  --pcr-ease-out: cubic-bezier(.16,1,.3,1);

  --pcr-maxw: 1200px;
  --pcr-content-w: 1100px;   /* ~68ch measure */
  --pcr-focus: 0 0 0 3px rgba(1,105,111,.35);
}

/* ---------- Layout containers ---------- */
.pcr-container { max-width: var(--pcr-maxw); margin: 0 auto; padding: 0 24px; }

.pcr-section { padding: 64px 0; position: relative; }
.pcr-section:first-of-type { padding-top: 56px; }

.pcr-section--alt { background: var(--pcr-surface-alt); padding: 64px 0; }

.pcr-section--tint {
  background: linear-gradient(180deg, var(--pcr-primary-tint), var(--pcr-bg));
  border-top: 1px solid var(--pcr-border);
}

/* ---------- Hero ---------- */
.pcr-hero {
  background: radial-gradient(900px 400px at 85% -20%, var(--pcr-primary-soft), transparent 55%), var(--pcr-bg);
  border-bottom: 1px solid var(--pcr-border);
  padding: 72px 0 80px;
}

.pcr-hero__inner { display: grid; grid-template-columns: 1.2fr .85fr; gap: clamp(32px, 4vw, 64px); align-items: center; }

.pcr-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--pcr-font-body); font-weight: 600; font-size: var(--pcr-fs-eyebrow);
  letter-spacing: .16em; text-transform: uppercase; color: var(--pcr-primary);
  margin-bottom: var(--pcr-s4);
}

.pcr-hero__eyebrow::before {
  content: ""; width: 22px; height: 2px; background: var(--pcr-primary); border-radius: 2px;
}

.pcr-hero__title {
  font-size: var(--pcr-fs-display); line-height: 1.04; letter-spacing: -0.025em;
  margin: 0 0 var(--pcr-s5); max-width: 15ch;
}

.pcr-hero__lede { font-size: 1.15rem; color: var(--pcr-text-muted); max-width: 54ch; line-height: 1.6; margin-bottom: var(--pcr-s6); }

.pcr-hero__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; }

.pcr-hero__panel {
  position: relative;
  background: var(--pcr-surface); border: 1px solid var(--pcr-border);
  border-radius: var(--pcr-radius-lg); padding: var(--pcr-s6) var(--pcr-s6);
  box-shadow: var(--pcr-shadow-lg);
}

.pcr-hero__panel::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 4px;
  background: linear-gradient(90deg, var(--pcr-primary), color-mix(in srgb, var(--pcr-primary) 55%, #4FA5AB));
  border-radius: var(--pcr-radius-lg) var(--pcr-radius-lg) 0 0;
}

.pcr-hero__panel-label { font-size: var(--pcr-fs-xs); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pcr-text-muted); }

.pcr-hero__panel-stat { display: flex; align-items: baseline; gap: 10px; margin: var(--pcr-s3) 0 var(--pcr-s2); }

.pcr-hero__panel-num {
  font-family: var(--pcr-font-head); font-size: clamp(2.6rem, 5vw, 3.2rem); font-weight: 700;
  color: var(--pcr-primary); line-height: 1; letter-spacing: -0.02em;
  font-feature-settings: "lnum" 1, "tnum" 1;
}

.pcr-hero__panel-unit { font-size: var(--pcr-fs-sm); color: var(--pcr-text-muted); font-weight: 500; }

.pcr-hero__panel-desc { font-size: var(--pcr-fs-sm); color: var(--pcr-text-muted); margin-bottom: var(--pcr-s5); line-height: 1.55; }

.pcr-hero__panel-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--pcr-border-soft); padding-top: var(--pcr-s4); }

.pcr-hero__panel-list li { font-size: var(--pcr-fs-sm); color: var(--pcr-text); padding: 8px 0 8px 28px; position: relative; }

.pcr-hero__panel-list li + li { border-top: 1px solid var(--pcr-border-soft); }

.pcr-hero__panel-list li::before {
  content: "✓"; position: absolute; left: 0; top: 8px; color: var(--pcr-success); font-weight: 700;
  width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--pcr-success-soft); border-radius: 50%; font-size: 11px;
}

/* ---------- Grid & tiles ---------- */
.pcr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(248px,1fr)); gap: var(--pcr-s4); }

.pcr-grid--trust { grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); }

.pcr-tile {
  display: flex; flex-direction: column; position: relative;
  background: var(--pcr-surface); border: 1px solid var(--pcr-border);
  border-radius: var(--pcr-radius); padding: var(--pcr-s5);
  box-shadow: var(--pcr-shadow-sm);
  transition: transform .22s var(--pcr-ease-out), box-shadow .22s var(--pcr-ease-out), border-color .18s var(--pcr-ease);
  color: var(--pcr-text); text-decoration: none; min-height: 152px; overflow: hidden;
}

.pcr-tile::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 3px;
  background: var(--pcr-primary); transform: scaleX(0); transform-origin: left;
  transition: transform .28s var(--pcr-ease-out);
}

.pcr-tile:hover {
  transform: translateY(-4px); box-shadow: var(--pcr-shadow-lg);
  border-color: var(--pcr-border-strong); text-decoration: none;
}

.pcr-tile:hover::before { transform: scaleX(1); }

.pcr-tile:focus-visible { box-shadow: var(--pcr-focus), var(--pcr-shadow); }

.pcr-tile__icon {
  width: 46px; height: 46px; border-radius: 12px;
  background: linear-gradient(150deg, var(--pcr-primary-soft), var(--pcr-primary-tint));
  box-shadow: inset 0 0 0 1px rgba(1,105,111,.14);
  display: flex; align-items: center; justify-content: center; margin-bottom: var(--pcr-s4);
  color: var(--pcr-primary); font-size: 21px; font-weight: 600;
}

.pcr-tile__title { font-family: var(--pcr-font-head); font-weight: 600; font-size: 1.15rem; margin-bottom: var(--pcr-s2); line-height: 1.25; letter-spacing: -0.01em; }

.pcr-tile__desc { font-size: var(--pcr-fs-sm); color: var(--pcr-text-muted); line-height: 1.5; flex: 1; }

.pcr-tile__badge { margin-top: var(--pcr-s4); }

/* Ingredient tiles: evidence badge promoted to top-right status pill */
.pcr-tile--ingredient { padding-top: var(--pcr-s5); }

.pcr-tile--ingredient .pcr-tile__badge { margin-top: auto; padding-top: var(--pcr-s4); }

.pcr-tile--ingredient .pcr-tile__title { padding-right: 96px; }

.pcr-tile--ingredient .pcr-tile__badge--corner {
  position: absolute; top: var(--pcr-s5); right: var(--pcr-s5); margin: 0;
}

.pcr-tile--trust { background: var(--pcr-surface-2); }

.pcr-tile--trust .pcr-tile__icon {
  background: var(--pcr-surface); color: var(--pcr-primary);
  font-family: var(--pcr-font-head); box-shadow: inset 0 0 0 1px var(--pcr-border-strong);
}

/* ---------- Section heading ---------- */
.pcr-section-head { max-width: 640px; margin: 0 auto var(--pcr-s7); text-align: center; }

.pcr-section-head .pcr-eyebrow { display: block; margin-bottom: var(--pcr-s3); }

.pcr-section-head h2 { margin: 0 0 var(--pcr-s3); }

.pcr-section-head p { color: var(--pcr-text-muted); font-size: 1.075rem; margin: 0; }

.pcr-eyebrow {
  font-weight: 600; font-size: var(--pcr-fs-eyebrow); letter-spacing: .16em;
  text-transform: uppercase; color: var(--pcr-primary);
}

.pcr-center-cta { text-align: center; margin-top: var(--pcr-s7); }

/* ---------- Buttons ---------- */
.pcr-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--pcr-primary); color: #fff !important;
  font-family: var(--pcr-font-body); font-weight: 600; font-size: 15px;
  padding: 13px 24px; border-radius: var(--pcr-radius-sm); border: 1px solid var(--pcr-primary);
  cursor: pointer; line-height: 1; text-decoration: none;
  box-shadow: var(--pcr-shadow-primary);
  transition: background .16s var(--pcr-ease), transform .16s var(--pcr-ease), box-shadow .16s var(--pcr-ease);
}

.pcr-btn:hover { background: var(--pcr-primary-hover); border-color: var(--pcr-primary-hover); transform: translateY(-1px); text-decoration: none; box-shadow: 0 10px 24px -8px rgba(1,105,111,.5); color:#fff !important; }

.pcr-btn:active { transform: translateY(0); box-shadow: var(--pcr-shadow-primary); }

.pcr-btn svg { transition: transform .2s var(--pcr-ease); }

.pcr-btn:hover svg { transform: translateX(3px); }

.pcr-btn--ghost {
  background: transparent; color: var(--pcr-primary) !important; border-color: var(--pcr-border-strong);
  box-shadow: none;
}

.pcr-btn--ghost:hover { background: var(--pcr-primary-soft); border-color: var(--pcr-primary); box-shadow: none; color: var(--pcr-primary-hover) !important; }

/* ---------- Callouts ---------- */
.pcr-callout, .entry-content .pcr-callout {
  position: relative;
  border-radius: var(--pcr-radius); border: 1px solid var(--pcr-border);
  border-left: 4px solid var(--pcr-primary); background: var(--pcr-surface);
  padding: var(--pcr-s5) var(--pcr-s5); margin: var(--pcr-s6) 0; font-size: var(--pcr-fs-sm);
  box-shadow: var(--pcr-shadow-xs); line-height: 1.6;
}

.pcr-callout p:last-child { margin-bottom: 0; }

.pcr-callout--info    { border-left-color: var(--pcr-primary); background: var(--pcr-primary-tint); }

.pcr-callout--success { border-left-color: var(--pcr-success); background: var(--pcr-success-soft); }

.pcr-callout--warning { border-left-color: var(--pcr-warning); background: var(--pcr-warning-soft); }

.pcr-callout--error   { border-left-color: var(--pcr-error);   background: var(--pcr-error-soft); }

.pcr-callout__label {
  font-weight: 700; font-size: var(--pcr-fs-xs); letter-spacing: .08em; text-transform: uppercase;
  margin-bottom: var(--pcr-s2); display: inline-flex; align-items: center; gap: 7px; color: var(--pcr-primary);
}

.pcr-callout--success .pcr-callout__label { color: var(--pcr-success); }

.pcr-callout--warning .pcr-callout__label { color: var(--pcr-warning); }

.pcr-callout--error   .pcr-callout__label { color: var(--pcr-error); }

/* ---------- Badges (signature evidence rank system) ---------- */
.pcr-badge {
  display: inline-flex; align-items: center; gap: 7px; font-size: var(--pcr-fs-xs); font-weight: 600;
  padding: 5px 12px 5px 10px; border-radius: var(--pcr-radius-pill); background: var(--pcr-neutral-soft);
  color: var(--pcr-text-muted); border: 1px solid transparent; line-height: 1.3; white-space: nowrap;
}

.pcr-badge::before {
  content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: none;
}

.pcr-badge--strong       { background: var(--pcr-success-soft); color: var(--pcr-success); }

.pcr-badge--moderate     { background: var(--pcr-primary-soft);  color: var(--pcr-primary); }

.pcr-badge--weak         { background: var(--pcr-gold-soft);     color: var(--pcr-gold); }

.pcr-badge--insufficient { background: var(--pcr-neutral-soft);  color: var(--pcr-text-muted); }

.pcr-badge--risk         { background: var(--pcr-error-soft);    color: var(--pcr-error); }

/* Solid variant for hero / emphasis */
.pcr-badge--solid { color: #fff; border-color: transparent; }

.pcr-badge--solid.pcr-badge--strong   { background: var(--pcr-success); }

.pcr-badge--solid.pcr-badge--moderate { background: var(--pcr-primary); }

.pcr-badge--solid.pcr-badge--risk     { background: var(--pcr-error); }

.pcr-badge--solid::before { background: rgba(255,255,255,.9); }

/* ---------- Tables ---------- */
.pcr-table-wrap { width: 100%; overflow-x: auto; margin: var(--pcr-s6) 0; -webkit-overflow-scrolling: touch; border-radius: var(--pcr-radius); border: 1px solid var(--pcr-border); box-shadow: var(--pcr-shadow-xs); }

.pcr-table, .entry-content table {
  width: 100%; border-collapse: collapse; font-size: var(--pcr-fs-sm);
  background: var(--pcr-surface); overflow: hidden;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

/* standalone table (not wrapped) still gets border/radius */
.pcr-table:not(.pcr-table-wrap .pcr-table), .entry-content > table {
  border: 1px solid var(--pcr-border); border-radius: var(--pcr-radius); margin: var(--pcr-s6) 0;
}

.pcr-table th, .entry-content table th {
  background: var(--pcr-primary-tint); text-align: left; font-weight: 700; font-size: var(--pcr-fs-xs);
  letter-spacing: .03em; text-transform: uppercase; color: var(--pcr-primary-deep); padding: 14px 16px;
  border-bottom: 1px solid var(--pcr-border);
}

.pcr-table td, .entry-content table td { padding: 14px 16px; border-bottom: 1px solid var(--pcr-border-soft); vertical-align: top; }

.pcr-table tbody tr:nth-child(even) td, .entry-content table tbody tr:nth-child(even) td { background: var(--pcr-surface-2); }

.pcr-table tbody tr:hover td, .entry-content table tbody tr:hover td { background: var(--pcr-primary-tint); }

.pcr-table tr:last-child td, .entry-content table tr:last-child td { border-bottom: none; }

.pcr-table td:first-child, .entry-content table td:first-child { font-weight: 600; color: var(--pcr-text); }

.pcr-table .num, .pcr-table td.num { text-align: right; font-variant-numeric: tabular-nums; }

/* ---------- Methodology aside ---------- */
.pcr-aside, .entry-content .pcr-aside {
  background: var(--pcr-surface-2); border: 1px solid var(--pcr-border);
  border-radius: var(--pcr-radius); padding: var(--pcr-s5) var(--pcr-s5); font-size: var(--pcr-fs-sm);
  color: var(--pcr-text-muted); margin: var(--pcr-s6) 0; line-height: 1.6; box-shadow: var(--pcr-shadow-xs);
}

.pcr-aside strong { color: var(--pcr-text); }

.pcr-aside ul, .pcr-aside ol { margin: var(--pcr-s2) 0; padding-left: 20px; }

/* Infographic text-equivalent disclosure */
.pcr-text-version, .entry-content .pcr-text-version {
  background: var(--pcr-surface-2); border: 1px solid var(--pcr-border);
  border-radius: var(--pcr-radius); padding: 0 var(--pcr-s5); margin: var(--pcr-s3) 0 var(--pcr-s6);
}

.pcr-text-version summary { cursor: pointer; font-size: var(--pcr-fs-sm); font-weight: 600; color: var(--pcr-text-muted); padding: var(--pcr-s4) 0; list-style: none; display: flex; align-items: center; gap: 10px; }

.pcr-text-version summary::-webkit-details-marker { display: none; }

.pcr-text-version summary::before { content: "›"; color: var(--pcr-primary); font-weight: 700; font-size: 18px; transition: transform .2s var(--pcr-ease); }

.pcr-text-version[open] summary::before { transform: rotate(90deg); }

.pcr-text-version__body { padding-bottom: var(--pcr-s4); font-size: var(--pcr-fs-sm); }

/* ---------- Article meta ---------- */
.pcr-article-meta, .entry-content .pcr-article-meta {
  display: flex; flex-wrap: wrap; gap: var(--pcr-s5); font-size: var(--pcr-fs-xs); color: var(--pcr-text-muted);
  padding: var(--pcr-s4) 0; border-top: 1px solid var(--pcr-border-soft); border-bottom: 1px solid var(--pcr-border-soft); margin: var(--pcr-s6) 0;
}

.pcr-article-meta strong { color: var(--pcr-text); font-weight: 600; }

/* ---------- FAQ ---------- */
.pcr-faq, .entry-content .pcr-faq { border-top: 1px solid var(--pcr-border-soft); margin-top: var(--pcr-s6); }

.pcr-faq details { border-bottom: 1px solid var(--pcr-border-soft); }

.pcr-faq summary {
  cursor: pointer; font-weight: 600; font-size: 1.0625rem; color: var(--pcr-text); list-style: none;
  display: flex; align-items: flex-start; gap: var(--pcr-s3); padding: var(--pcr-s5) 8px;
  border-radius: var(--pcr-radius-sm); transition: background .15s var(--pcr-ease);
}

.pcr-faq summary:hover { background: var(--pcr-primary-tint); }

.pcr-faq summary::-webkit-details-marker { display: none; }

.pcr-faq summary::before {
  content: "+"; flex: none; width: 24px; height: 24px; border-radius: 50%;
  background: var(--pcr-primary-soft); color: var(--pcr-primary); font-weight: 700; font-size: 18px;
  display: inline-flex; align-items: center; justify-content: center; line-height: 1;
  transition: transform .22s var(--pcr-ease), background .15s var(--pcr-ease); margin-top: 1px;
}

.pcr-faq details[open] summary::before { content: "−"; background: var(--pcr-primary); color: #fff; }

.pcr-faq details p { margin: 0 8px var(--pcr-s5) 44px; font-size: var(--pcr-fs-sm); color: var(--pcr-text-muted); }

.pcr-infographic-wrap, .entry-content .pcr-infographic-wrap {
  background: var(--pcr-surface); border: 1px solid var(--pcr-border); border-radius: var(--pcr-radius-lg);
  padding: var(--pcr-s6); margin: var(--pcr-s6) 0; overflow-x: auto; box-shadow: var(--pcr-shadow-sm);
}

.pcr-infographic-wrap svg { margin: 0 auto; }

.pcr-figcaption { font-size: var(--pcr-fs-xs); color: var(--pcr-text-muted); text-align: center; margin-top: var(--pcr-s3); font-style: italic; }

/* Optional editorial drop cap on lede */
.entry-content .pcr-lede::first-letter {
  font-family: var(--pcr-font-head); font-weight: 600; font-size: 3.4em; line-height: .8;
  float: left; padding: 6px 10px 0 0; color: var(--pcr-primary);
}

/* ---------- Source list ---------- */
.pcr-source-group { margin: var(--pcr-s6) 0; }

.pcr-source-group h2 { border-bottom: 1px solid var(--pcr-border); padding-bottom: var(--pcr-s3); }

.pcr-source-group h2::after { display: none; }
.pcr-hero__panel { order: 2; }

.pcr-container { padding: 0 20px; }


.pcr-tile { padding: var(--pcr-s4); min-height: 132px; }

.pcr-tile__title { font-size: 1.02rem; }

.pcr-tile__desc { font-size: var(--pcr-fs-xs); }

.pcr-tile--ingredient .pcr-tile__title { padding-right: 0; }

.pcr-tile--ingredient .pcr-tile__badge--corner { position: static; margin-top: var(--pcr-s3); }

.pcr-hero__lede { font-size: 1.05rem; }

.pcr-hero__panel { padding: var(--pcr-s5); }

.pcr-hero__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; }

.pcr-btn { width: 100%; padding: 14px 22px; }

.pcr-section-head { max-width: 720px; margin: 0 auto 48px; text-align: center; }

.pcr-callout, .pcr-aside { padding: var(--pcr-s4); }

.pcr-infographic-wrap { padding: var(--pcr-s4); }

.pcr-table, .entry-content table { font-size: var(--pcr-fs-xs); }

.pcr-table th, .pcr-table td, .entry-content table th, .entry-content table td { padding: 11px 12px; }


.pcr-hero__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; }

.pcr-tile { min-height: auto; }

.pcr-tile:hover { transform: none; }

.pcr-btn:hover { transform: none; }

/* ============================================================
   v4 OVERRIDES — artifact fixes + trust-page components
   ============================================================ */

/* ---- HERO: remove the blurry white rectangle artifact ----
   The old hero used a compact radial-gradient that ended at 60% with a hard
   falloff, which read as a semi-transparent box behind the panel. We replace it
   with two very large, very soft washes that fade fully to transparent, plus a
   faint top sheen. No edges, no rectangle. */
.pcr-hero {
  background:
    radial-gradient(1400px 900px at 100% -25%,
      color-mix(in srgb, var(--pcr-primary-soft) 70%, transparent) 0%,
      transparent 55%),
    radial-gradient(1100px 800px at -10% 120%,
      color-mix(in srgb, var(--pcr-primary-soft) 45%, transparent) 0%,
      transparent 55%),
    linear-gradient(180deg, var(--pcr-surface-2), var(--pcr-bg));
}

.pcr-nav { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0;
  background: transparent; border: 0; box-shadow: none; }

.pcr-nav a {
  font-family: var(--pcr-font-body); font-weight: 500; font-size: 14.5px;
  color: var(--pcr-text); padding: 9px 13px; border-radius: var(--pcr-radius-sm);
  position: relative; text-decoration: none; white-space: nowrap;
  transition: color .16s var(--pcr-ease), background .16s var(--pcr-ease);
}

.pcr-nav a::after {
  content: ""; position: absolute; left: 13px; right: 13px; bottom: 5px; height: 2px;
  background: var(--pcr-primary); border-radius: 2px; transform: scaleX(0);
  transform-origin: left; transition: transform .22s var(--pcr-ease-out);
}

.pcr-nav a:hover { color: var(--pcr-primary); text-decoration: none; }

.pcr-nav a:hover::after, .pcr-nav a[aria-current="page"]::after { transform: scaleX(1); }

.pcr-nav a[aria-current="page"] { color: var(--pcr-primary); }

.pcr-brand { display: flex; align-items: center; gap: 11px; text-decoration: none; }

.pcr-brand:hover { text-decoration: none; }

.pcr-brand__mark {
  width: 34px; height: 34px; border-radius: 9px; flex: none;
  background: linear-gradient(150deg, var(--pcr-primary), var(--pcr-primary-deep));
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-family: var(--pcr-font-head); font-weight: 700; font-size: 18px;
  box-shadow: var(--pcr-shadow-primary);
}

.pcr-brand__name { font-family: var(--pcr-font-head); font-weight: 600; font-size: 1.28rem;
  letter-spacing: -0.02em; color: var(--pcr-primary); }

.pcr-nav-wrap { display: flex; align-items: center; gap: 18px; }

.pcr-nav { display: none; }

.pcr-brand__name { font-size: 1.15rem; }

/* ---- PAGE HEADER (trust pages) ---- */
.pcr-page-header {
  position: relative; overflow: hidden;
  background:
    radial-gradient(1200px 700px at 88% -30%,
      color-mix(in srgb, var(--pcr-primary-soft) 75%, transparent) 0%, transparent 55%),
    linear-gradient(180deg, var(--pcr-primary-tint), var(--pcr-bg));
  border-bottom: 1px solid var(--pcr-border);
  padding: clamp(52px, 6vw, 84px) 0 clamp(40px, 4vw, 60px);
}

.pcr-page-header__inner { max-width: var(--pcr-maxw); margin: 0 auto; padding: 0 24px; }

.pcr-page-header .pcr-eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 18px; }

.pcr-page-header .pcr-eyebrow::before {
  content: ""; width: 22px; height: 2px; background: var(--pcr-primary); border-radius: 2px; }

.pcr-page-header h1 { font-size: var(--pcr-fs-h1); margin: 0 0 16px; max-width: 20ch; letter-spacing: -0.02em; }

.pcr-page-header__lede { font-size: 1.18rem; color: var(--pcr-text-muted); max-width: 60ch; line-height: 1.6; margin: 0; }

.pcr-breadcrumb { font-size: var(--pcr-fs-xs); color: var(--pcr-text-muted); margin-bottom: 20px; letter-spacing:.01em; }

.pcr-breadcrumb a { color: var(--pcr-text-muted); }

.pcr-breadcrumb a:hover { color: var(--pcr-primary); }

/* ---- Prose block (readable measure inside sections) ---- */
.pcr-prose { max-width: 100%; margin: 0; }

.pcr-prose > p { color: var(--pcr-text); }

.pcr-lead { font-size: 1.2rem; line-height: 1.6; color: var(--pcr-text); }

.pcr-section-title { display: flex; align-items: center; gap: 14px; margin: 0 0 8px; }

.pcr-section-title h2 { margin: 0; }

.pcr-section-title__num {
  font-family: var(--pcr-font-head); font-weight: 700; font-size: .95rem; color: var(--pcr-primary);
  width: 34px; height: 34px; flex: none; border-radius: 9px; display: flex; align-items: center; justify-content: center;
  background: var(--pcr-primary-soft); box-shadow: inset 0 0 0 1px rgba(1,105,111,.16);
}



.pcr-rule { border: 0; border-top: 1px solid var(--pcr-border); margin: 0; }

/* ---- Numbered / principle tiles ---- */
.pcr-tile__num {
  width: 40px; height: 40px; border-radius: 11px; flex: none; margin-bottom: 16px;
  background: linear-gradient(150deg, var(--pcr-primary-soft), var(--pcr-primary-tint));
  color: var(--pcr-primary); display: flex; align-items: center; justify-content: center;
  font-family: var(--pcr-font-head); font-weight: 700; font-size: 1.05rem;
  box-shadow: inset 0 0 0 1px rgba(1,105,111,.14);
}

.pcr-tile--flat { box-shadow: var(--pcr-shadow-xs); }

.pcr-tile--flat:hover { transform: none; box-shadow: var(--pcr-shadow-sm); }

/* ---- Checklist / X-list ---- */
.pcr-check, .pcr-cross { list-style: none; padding: 0; margin: 20px 0; display: grid; gap: 12px; }

.pcr-check li, .pcr-cross li {
  position: relative; padding: 14px 16px 14px 50px; background: var(--pcr-surface);
  border: 1px solid var(--pcr-border); border-radius: var(--pcr-radius); font-size: var(--pcr-fs-sm);
  line-height: 1.5; box-shadow: var(--pcr-shadow-xs);
}

.pcr-check li strong, .pcr-cross li strong { color: var(--pcr-text); }

.pcr-check li::before, .pcr-cross li::before {
  position: absolute; left: 15px; top: 14px; width: 22px; height: 22px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800;
}

.pcr-check li::before { content: "\2713"; background: var(--pcr-success-soft); color: var(--pcr-success); }

.pcr-cross li::before { content: "\2715"; background: var(--pcr-error-soft); color: var(--pcr-error); }

/* ---- Ordered step list ---- */
.pcr-steps { list-style: none; counter-reset: step; padding: 0; margin: 24px 0; display: grid; gap: 14px; }

.pcr-steps li {
  counter-increment: step; position: relative; padding: 18px 20px 18px 62px;
  background: var(--pcr-surface); border: 1px solid var(--pcr-border); border-radius: var(--pcr-radius);
  box-shadow: var(--pcr-shadow-xs); font-size: var(--pcr-fs-sm); line-height: 1.55;
}

.pcr-steps li::before {
  content: counter(step); position: absolute; left: 16px; top: 16px; width: 32px; height: 32px;
  border-radius: 50%; background: var(--pcr-primary); color: #fff; font-family: var(--pcr-font-head);
  font-weight: 700; font-size: 15px; display: flex; align-items: center; justify-content: center;
}

.pcr-steps li strong { display: block; color: var(--pcr-text); font-family: var(--pcr-font-head);
  font-size: 1.05rem; margin-bottom: 3px; }

/* ---- Source cards (Our Sources) ---- */
.pcr-source-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--pcr-s5); margin: 24px 0; }

.pcr-source-card {
  background: var(--pcr-surface); border: 1px solid var(--pcr-border); border-radius: var(--pcr-radius-lg);
  padding: var(--pcr-s5); box-shadow: var(--pcr-shadow-sm); display: flex; flex-direction: column;
  position: relative; overflow: hidden;
}

.pcr-source-card::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 4px;
  background: linear-gradient(90deg, var(--pcr-primary), color-mix(in srgb, var(--pcr-primary) 55%, #4FA5AB));
}

.pcr-source-card__head { display: flex; align-items: center; gap: 12px; margin-bottom: 6px; }

.pcr-source-card__icon {
  width: 42px; height: 42px; border-radius: 11px; flex: none; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(150deg, var(--pcr-primary-soft), var(--pcr-primary-tint)); color: var(--pcr-primary);
  box-shadow: inset 0 0 0 1px rgba(1,105,111,.14);
}

.pcr-source-card__icon svg { width: 22px; height: 22px; }

.pcr-source-card h3 { margin: 0; font-size: 1.18rem; }

.pcr-source-card__sub { font-size: var(--pcr-fs-xs); color: var(--pcr-text-muted); font-weight:600; letter-spacing:.04em; text-transform:uppercase; margin: 2px 0 0; }

.pcr-source-list { list-style: none; padding: 0; margin: 14px 0 0; }

.pcr-source {
  padding: 13px 0; border-top: 1px solid var(--pcr-border-soft);
}

.pcr-source:first-child { border-top: 0; }

.pcr-source__name { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }

.pcr-source__name a { font-weight: 600; font-size: var(--pcr-fs-sm); }

.pcr-source__name .pcr-ext { font-size: 11px; color: var(--pcr-text-faint); }

.pcr-source__desc { font-size: var(--pcr-fs-xs); color: var(--pcr-text-muted); line-height: 1.5; margin: 3px 0 0; }

.pcr-source__tag {
  display:inline-block; margin-top:6px; font-size: 11px; font-weight:600; letter-spacing:.03em;
  padding: 2px 8px; border-radius: var(--pcr-radius-pill); background: var(--pcr-surface-alt); color: var(--pcr-text-muted);
}

.pcr-source__tag--caution { background: var(--pcr-gold-soft); color: var(--pcr-gold); }

/* ---- Evidence hierarchy ladder ---- */
.pcr-ladder { display: grid; gap: 10px; margin: 24px 0; }

.pcr-ladder__row {
  display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 16px;
  background: var(--pcr-surface); border: 1px solid var(--pcr-border); border-radius: var(--pcr-radius);
  padding: 14px 18px; box-shadow: var(--pcr-shadow-xs); position: relative;
}

.pcr-ladder__rank { font-family: var(--pcr-font-head); font-weight: 700; font-size: 1.3rem; color: var(--pcr-primary); text-align: center; }

.pcr-ladder__body strong { display:block; font-family: var(--pcr-font-head); font-size: 1.06rem; color: var(--pcr-text); }

.pcr-ladder__body span { font-size: var(--pcr-fs-xs); color: var(--pcr-text-muted); }

/* ---- Definition / meta rows ---- */
.pcr-def { display: grid; gap: 0; margin: 20px 0; border: 1px solid var(--pcr-border); border-radius: var(--pcr-radius); overflow:hidden; box-shadow: var(--pcr-shadow-xs); }

.pcr-def__row { display: grid; grid-template-columns: 210px 1fr; gap: 0; }

.pcr-def__row + .pcr-def__row { border-top: 1px solid var(--pcr-border-soft); }

.pcr-def__key { background: var(--pcr-surface-2); padding: 14px 18px; font-weight: 600; font-size: var(--pcr-fs-sm); color: var(--pcr-text); }

.pcr-def__val { background: var(--pcr-surface); padding: 14px 18px; font-size: var(--pcr-fs-sm); color: var(--pcr-text-muted); }

.pcr-def__row { grid-template-columns: 1fr; }

.pcr-def__key { border-bottom: 1px solid var(--pcr-border-soft);}

/* ---- Founder / profile card ---- */
.pcr-profile {
  display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center;
  background: var(--pcr-surface); border: 1px solid var(--pcr-border); border-radius: var(--pcr-radius-lg);
  padding: var(--pcr-s6); box-shadow: var(--pcr-shadow-sm); margin: 24px 0;
}

.pcr-profile__avatar {
  width: 76px; height: 76px; border-radius: 50%; flex: none; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(150deg, var(--pcr-primary), var(--pcr-primary-deep)); color: #fff;
  font-family: var(--pcr-font-head); font-weight: 700; font-size: 1.7rem; box-shadow: var(--pcr-shadow-primary);
}

.pcr-profile h3 { margin: 0 0 4px; }

.pcr-profile p { margin: 0; font-size: var(--pcr-fs-sm); color: var(--pcr-text-muted); }

.pcr-profile { grid-template-columns: 1fr; text-align:center; justify-items:center; }

/* ---- Grade legend chips ---- */
.pcr-grade-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: 14px; margin: 22px 0; }

.pcr-grade { background: var(--pcr-surface); border: 1px solid var(--pcr-border); border-radius: var(--pcr-radius); padding: 16px 18px; box-shadow: var(--pcr-shadow-xs); border-left: 4px solid var(--pcr-border-strong); }

.pcr-grade h4 { margin: 0 0 4px; font-family: var(--pcr-font-body); font-size: var(--pcr-fs-sm); font-weight: 700; }

.pcr-grade p { margin: 0; font-size: var(--pcr-fs-xs); color: var(--pcr-text-muted); line-height:1.5; }

.pcr-grade--strong { border-left-color: var(--pcr-success); }

.pcr-grade--strong h4 { color: var(--pcr-success); }

.pcr-grade--moderate { border-left-color: var(--pcr-primary); }

.pcr-grade--moderate h4 { color: var(--pcr-primary); }

.pcr-grade--weak { border-left-color: var(--pcr-gold); }

.pcr-grade--weak h4 { color: var(--pcr-gold); }

.pcr-grade--insufficient { border-left-color: var(--pcr-text-muted); }

.pcr-grade--insufficient h4 { color: var(--pcr-text-muted); }

.pcr-updated { font-size: var(--pcr-fs-xs); color: var(--pcr-text-muted); font-style: italic; }

.pcr-anchor-nav { display:flex; flex-wrap:wrap; gap:8px; margin: 22px 0 6px; }

.pcr-anchor-nav a {
  font-size: var(--pcr-fs-xs); font-weight:600; padding: 7px 14px; border-radius: var(--pcr-radius-pill);
  background: var(--pcr-surface); border: 1px solid var(--pcr-border); color: var(--pcr-text-muted); text-decoration:none;
}

.pcr-anchor-nav a:hover { border-color: var(--pcr-primary); color: var(--pcr-primary); background: var(--pcr-primary-tint); text-decoration:none; }

@media (max-width: 900px) {
  .pcr-hero__inner { grid-template-columns: 1fr; gap: var(--pcr-s7); }
  .pcr-hero__panel { order: 2; }
}

@media (max-width: 768px) {
  body { font-size: 17px; }
  .pcr-container { padding: 0 20px; }
  .inside-header { padding: 12px 20px !important; }
  .pcr-grid { grid-template-columns: 1fr 1fr; gap: var(--pcr-s3); }
  .pcr-tile { padding: var(--pcr-s4); min-height: 132px; }
  .pcr-tile__title { font-size: 1.02rem; }
  .pcr-tile__desc { font-size: var(--pcr-fs-xs); }
  .pcr-tile--ingredient .pcr-tile__title { padding-right: 0; }
  .pcr-tile--ingredient .pcr-tile__badge--corner { position: static; margin-top: var(--pcr-s3); }
  .pcr-hero__lede { font-size: 1.05rem; }
  .pcr-hero__panel { padding: var(--pcr-s5); }
  .pcr-hero__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; }
  .pcr-btn { width: 100%; padding: 14px 22px; }
  .pcr-section-head { max-width: 720px; margin: 0 auto 48px; text-align: center; }
  .entry-content { padding: 0 18px; font-size: 1.05rem; }
  body.single-post .entry-content { padding: 40px 20px 60px; font-size: 18px; }
  .pcr-callout, .pcr-aside { padding: var(--pcr-s4); }
  .pcr-infographic-wrap { padding: var(--pcr-s4); }
  .pcr-table, .entry-content table { font-size: var(--pcr-fs-xs); }
  .pcr-table th, .pcr-table td, .entry-content table th, .entry-content table td { padding: 11px 12px; }
}

@media (max-width: 480px) {
  .pcr-grid { grid-template-columns: 1fr; }
  .pcr-hero__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; }
  .pcr-tile { min-height: auto; }
}

@media (hover: none) {
  .pcr-tile:hover { transform: none; }
  .pcr-btn:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important; animation-iteration-count: 1 !important;
    transition-duration: .001ms !important; scroll-behavior: auto !important;
  }
  .pcr-tile:hover { transform: none; }
  .pcr-btn:hover { transform: none; }
}


/* ============================================================
   v4 OVERRIDES — artifact fixes + trust-page components
   ============================================================ */

/* ---- HERO: remove the blurry white rectangle artifact ----
   The old hero used a compact radial-gradient that ended at 60% with a hard
   falloff, which read as a semi-transparent box behind the panel. We replace it
   with two very large, very soft washes that fade fully to transparent, plus a
   faint top sheen. No edges, no rectangle. */
.pcr-hero {
  background:
    radial-gradient(1400px 900px at 100% -25%,
      color-mix(in srgb, var(--pcr-primary-soft) 70%, transparent) 0%,
      transparent 55%),
    radial-gradient(1100px 800px at -10% 120%,
      color-mix(in srgb, var(--pcr-primary-soft) 45%, transparent) 0%,
      transparent 55%),
    linear-gradient(180deg, var(--pcr-surface-2), var(--pcr-bg));
}
/* soft hairline grid of dots is intentionally omitted to keep it clean */

/* ---- HEADER / NAV: sit naturally on the off-white header ----
   Nav list is transparent (no white pill / box); items are plain links on the
   translucent header surface. */
.site-header { background: rgba(247,246,242,.86); }
.inside-header {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.pcr-nav { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0;
  background: transparent; border: 0; box-shadow: none; }
.pcr-nav a {
  font-family: var(--pcr-font-body); font-weight: 500; font-size: 14.5px;
  color: var(--pcr-text); padding: 9px 13px; border-radius: var(--pcr-radius-sm);
  position: relative; text-decoration: none; white-space: nowrap;
  transition: color .16s var(--pcr-ease), background .16s var(--pcr-ease);
}
.pcr-nav a::after {
  content: ""; position: absolute; left: 13px; right: 13px; bottom: 5px; height: 2px;
  background: var(--pcr-primary); border-radius: 2px; transform: scaleX(0);
  transform-origin: left; transition: transform .22s var(--pcr-ease-out);
}
.pcr-nav a:hover { color: var(--pcr-primary); text-decoration: none; }
.pcr-nav a:hover::after, .pcr-nav a[aria-current="page"]::after { transform: scaleX(1); }
.pcr-nav a[aria-current="page"] { color: var(--pcr-primary); }
.pcr-brand { display: flex; align-items: center; gap: 11px; text-decoration: none; }
.pcr-brand:hover { text-decoration: none; }
.pcr-brand__mark {
  width: 34px; height: 34px; border-radius: 9px; flex: none;
  background: linear-gradient(150deg, var(--pcr-primary), var(--pcr-primary-deep));
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-family: var(--pcr-font-head); font-weight: 700; font-size: 18px;
  box-shadow: var(--pcr-shadow-primary);
}
.pcr-brand__name { font-family: var(--pcr-font-head); font-weight: 600; font-size: 1.28rem;
  letter-spacing: -0.02em; color: var(--pcr-primary); }
.pcr-nav-wrap { display: flex; align-items: center; gap: 18px; }
@media (max-width: 820px) {
  .pcr-nav { display: none; }
}

@media (max-width: 640px){ .pcr-def__row { grid-template-columns: 1fr; } .pcr-def__key { border-bottom: 1px solid var(--pcr-border-soft);} }

/* ---- Founder / profile card ---- */
.pcr-profile {
  display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center;
  background: var(--pcr-surface); border: 1px solid var(--pcr-border); border-radius: var(--pcr-radius-lg);
  padding: var(--pcr-s6); box-shadow: var(--pcr-shadow-sm); margin: 24px 0;
}
.pcr-profile__avatar {
  width: 76px; height: 76px; border-radius: 50%; flex: none; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(150deg, var(--pcr-primary), var(--pcr-primary-deep)); color: #fff;
  font-family: var(--pcr-font-head); font-weight: 700; font-size: 1.7rem; box-shadow: var(--pcr-shadow-primary);
}
.pcr-profile h3 { margin: 0 0 4px; }
.pcr-profile p { margin: 0; font-size: var(--pcr-fs-sm); color: var(--pcr-text-muted); }
@media (max-width: 560px){ .pcr-profile { grid-template-columns: 1fr; text-align:center; justify-items:center; } }

/* Hide author byline on single posts */
body.single-post .entry-meta { display: none !important; }
body.single-post .entry-header { padding-bottom: 16px !important; }




/* ============================================================
   FULL-WIDTH LAYOUT — entire site (articles, pages, sections)
   ============================================================ */

/* Remove GeneratePress width constraints everywhere */
.site.grid-container, .site.container,
.separate-containers .site-main,
.one-container .site-main,
body .site {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}

/* Content area full width on ALL page types */
.content-area,
#primary,
body.home .content-area, body.page .content-area,
body.single-post .content-area, body.single .content-area,
body.archive .content-area, body.category .content-area {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 0 !important;
}

/* Remove sidebars entirely everywhere */
.widget-area, #secondary, #right-sidebar, #left-sidebar, .sidebar {
  display: none !important;
}

/* Article/page containers full width, no padding/border/shadow */
.inside-article, .separate-containers .inside-article,
.one-container .inside-article {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
}

/* Entry content — full width with comfortable max-width for reading */
.entry-content,
body.home .entry-content, body.page .entry-content,
body.single-post .entry-content, body.single .entry-content {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  width: 100% !important;
}

/* For articles: use a readable measure for text but let tables/infographics go wider */
body.single-post .entry-content {
  max-width: 1100px !important;
  padding: 0 32px !important;
}

/* But tables, infographics, and full-width elements use the full content width */
body.single-post .entry-content table,
body.single-post .entry-content .pcr-infographic-wrap,
body.single-post .entry-content svg,
body.single-post .entry-content .pcr-table {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Entry header full width */
.entry-header, body.single-post .entry-header {
  max-width: 100% !important;
  width: 100% !important;
  padding: 48px 24px 24px !important;
}
body.single-post .entry-title {
  max-width: 760px !important;
  margin: 0 auto 12px !important;
}

/* Page header (trust pages) full width */
.pcr-page-header, .pcr-hero, .pcr-section {
  max-width: 100% !important;
  width: 100% !important;
}
.pcr-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

/* Remove the separate-containers padding */
.separate-containers .page-header,
.separate-containers .inside-article {
  padding: 0 !important;
}

/* Footer full width */
.site-footer, .site-info {
  max-width: 100% !important;
  width: 100% !important;
}

/* Archive/category pages full width */
body.archive .entry-content, body.category .entry-content {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

/* Mobile padding */
@media (max-width: 768px) {
  .entry-content, body.single-post .entry-content,
  body.home .entry-content, body.page .entry-content { padding: 0 18px !important; }
  .pcr-container { padding: 0 18px !important; }
}


/* ===== ARTICLE FULL-WIDTH (single post) — aggressive override ===== */
body.single-post.right-sidebar .site-content,
body.single-post .site-content {
  display: block !important;
}
body.single-post .grid-container,
body.single-post .container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}
body.single-post .content-area,
body.single-post #primary {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-post #secondary,
body.single-post .widget-area,
body.single-post .sidebar {
  display: none !important;
}
body.single-post .inside-article {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}
body.single-post .entry-content {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 32px 48px !important;
  width: 100% !important;
}
/* Center text elements but let tables/infographics use full width */

body.single-post .entry-content table,
body.single-post .entry-content .pcr-table,
body.single-post .entry-content .pcr-infographic-wrap,
body.single-post .entry-content svg {
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block;
}
/* Entry header centered */
body.single-post .entry-header {
  max-width: 1100px !important;
  margin: 0 auto !important;
  text-align: center !important;
  padding: 48px 32px 24px !important;
}
body.single-post .entry-title {
  max-width: 760px;
  margin: 0 auto 12px !important;
}


/* ============================================================
   FULL WIDTH — every page, every section, no wasted whitespace
   ============================================================ */

/* --- Global container: full width, centered max 1200px --- */
.pcr-container, .pcr-prose, .entry-content, .inside-article,
.content-area, #primary, .site-main, .site.grid-container {
  max-width: 1200px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  float: none !important;
}

/* --- Trust pages: prose uses full width, not 760px --- */
.pcr-prose, .pcr-prose p, .pcr-prose ul, .pcr-prose ol, .pcr-prose li,
.pcr-aside, .pcr-callout, .pcr-section-head, .pcr-section-head p,
.pcr-section-head h2, .pcr-section-head h3 {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* --- Articles: text uses full content width (1100px), not 760px --- */
body.single-post .entry-content > p,
body.single-post .entry-content > h2,
body.single-post .entry-content > h3,
body.single-post .entry-content > h4,
body.single-post .entry-content > ul,
body.single-post .entry-content > ol,
body.single-post .entry-content > blockquote,
body.single-post .entry-content > .pcr-aside,
body.single-post .entry-content > .pcr-callout,
body.single-post .entry-content > .pcr-faq,
body.single-post .entry-content > .pcr-article-meta,
body.single-post .entry-content > .pcr-text-version,
body.single-post .entry-content > section,
body.single-post .entry-content > table,
body.single-post .entry-content > .pcr-table,
body.single-post .entry-content > .pcr-infographic-wrap,
body.single-post .entry-content > svg,
body.single-post .entry-title {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* --- Article entry-content: full width --- */
body.single-post .entry-content {
  max-width: 1100px !important;
  width: 100% !important;
  padding: 0 32px 48px !important;
}
body.single-post .entry-header {
  max-width: 1100px !important;
  width: 100% !important;
  padding: 48px 32px 24px !important;
}

/* --- Tables: never overflow, always fit container --- */
body.single-post .entry-content table,
body.single-post .entry-content .pcr-table,
.entry-content table, .pcr-table {
  max-width: 100% !important;
  width: 100% !important;
  table-layout: auto !important;
  display: block !important;
  overflow-x: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* --- Category/archive pages: full width --- */
body.archive .content-area, body.category .content-area,
body.archive #primary, body.category #primary,
body.archive .inside-article, body.category .inside-article,
body.archive .entry-content, body.category .entry-content,
body.archive .entry-summary, body.category .entry-summary,
body.archive .post, body.category .post {
  width: 100% !important;
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  padding: 24px !important;
}
body.archive .site.grid-container, body.category .site.grid-container,
body.archive .container, body.category .container {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* --- All page wrappers: remove any narrow constraints --- */
body .site, body .site.grid-container, body .container {
  max-width: 100% !important;
  width: 100% !important;
}
body .inside-article {
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* --- Section headings: full width, centered text is fine but container is full --- */
.pcr-section-head {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.pcr-section-head h2, .pcr-section-head p {
  max-width: 100% !important;
}

/* --- Mobile --- */
@media (max-width: 768px) {
  .pcr-container, .pcr-prose, .entry-content, .inside-article,
  .content-area, #primary {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}


/* ===== ARCHIVE / CATEGORY / TAG pages — FORCE FULL WIDTH ===== */
body.archive.right-sidebar .site-content .content-area,
body.category.right-sidebar .site-content .content-area,
body.archive .content-area, body.category .content-area,
body.archive #primary, body.category #primary,
body.tag .content-area, body.tag #primary,
body.author .content-area, body.author #primary,
body.search .content-area, body.search #primary,
body.archive .site-content .content-area, body.category .site-content .content-area {
  width: 100% !important;
  max-width: 1100px !important;
  float: none !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

/* Hide sidebar on all archives */
body.archive #secondary, body.category #secondary,
body.archive .widget-area, body.category .widget-area,
body.archive .sidebar, body.category .sidebar,
body.tag #secondary, body.tag .widget-area, body.tag .sidebar,
body.search #secondary, body.search .widget-area, body.search .sidebar {
  display: none !important;
}

/* Archive container full width */
body.archive .site.grid-container, body.category .site.grid-container,
body.archive .site.container, body.category .site.container,
body.archive .container, body.category .container,
body.tag .site.grid-container, body.search .site.grid-container {
  max-width: 1200px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* Archive articles/cards full width */
body.archive .inside-article, body.category .inside-article,
body.archive .post, body.category .post,
body.archive .entry-content, body.category .entry-content,
body.archive .entry-summary, body.category .entry-summary,
body.archive .entry-header, body.category .entry-header {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 24px !important;
  float: none !important;
}

/* Archive page header full width */
body.archive .page-header, body.category .page-header,
body.archive .archive-page-header, body.category .archive-page-header {
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 32px 24px !important;
}

/* GeneratePress content-area width override (kills the 70% constraint) */
.site-content .content-area { width: 100% !important; max-width: 1100px !important; }
.site-content { padding: 0 !important; }


/* ===== CRITICAL: Override GeneratePress flex+70% on ALL archives ===== */
.site-content { display: block !important; padding: 0 !important; }
.site-content .content-area { width: 100% !important; max-width: 1100px !important; margin: 0 auto !important; float: none !important; padding: 0 24px !important; }
.site-content .content-area .site-main { width: 100% !important; max-width: 100% !important; }
.site-content .content-area .inside-article { width: 100% !important; max-width: 100% !important; padding: 32px 0 !important; margin: 0 !important; }
.site-content .content-area .inside-article .entry-content,
.site-content .content-area .inside-article .entry-summary,
.site-content .content-area .inside-article .entry-header { width: 100% !important; max-width: 100% !important; }
/* The site grid-container has a max-width — make it hold 1200px centered */
.site.grid-container, .site.container { max-width: 1200px !important; width: 100% !important; margin: 0 auto !important; }
/* Archive page header */
.archive .page-header, .category .page-header { width: 100% !important; max-width: 1100px !important; margin: 0 auto !important; padding: 32px 24px !important; }


/* ===== CATEGORY / ARCHIVE article card styling ===== */
body.archive .inside-article, body.category .inside-article,
body.archive .post, body.category .post {
  padding: 28px 32px !important;
  margin-bottom: 20px !important;
  background: var(--pcr-surface, #F9F8F5) !important;
  border: 1px solid var(--pcr-border, #D4D1CA) !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 3px rgba(40,37,29,.04) !important;
}
body.archive .entry-header, body.category .entry-header {
  padding: 0 0 12px 0 !important;
  margin: 0 !important;
  text-align: left !important;
  border-bottom: 1px solid var(--pcr-border-soft, #E4E1DA);
}
body.archive .entry-title, body.category .entry-title {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  font-size: 1.5rem !important;
  line-height: 1.3 !important;
}
body.archive .entry-title a, body.category .entry-title a {
  color: var(--pcr-text, #28251D) !important;
  text-decoration: none !important;
}
body.archive .entry-title a:hover, body.category .entry-title a:hover {
  color: var(--pcr-primary, #01696F) !important;
}
body.archive .entry-meta, body.category .entry-meta {
  font-size: 13px !important;
  color: var(--pcr-text-muted, #7A7974) !important;
  margin: 0 !important;
}
body.archive .entry-summary, body.category .entry-summary,
body.archive .entry-content, body.category .entry-content {
  padding: 16px 0 0 0 !important;
  margin: 0 !important;
  font-size: 16px !important;
  color: var(--pcr-text-muted, #7A7974) !important;
  line-height: 1.6 !important;
}
body.archive .entry-summary p, body.category .entry-summary p,
body.archive .entry-content p, body.category .entry-content p {
  margin: 0 0 12px 0 !important;
}
/* Read more link */
body.archive .entry-content a, body.category .entry-content a,
body.archive .entry-summary a, body.category .entry-summary a {
  color: var(--pcr-primary, #01696F) !important;
  font-weight: 600 !important;
}


/* ===== CATEGORY/ARCHIVE: full-width left-aligned titles, hide byline ===== */
body.archive .entry-title, body.category .entry-title,
body.archive h2.entry-title, body.category h2.entry-title,
body.archive .entry-header .entry-title, body.category .entry-header .entry-title {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 0 10px 0 !important;
  text-align: left !important;
  font-size: 1.5rem !important;
  line-height: 1.3 !important;
}
/* Hide the byline on archive/category pages (author is hidden) */
body.archive .entry-meta, body.category .entry-meta,
body.archive .byline, body.category .byline,
body.archive .posted-on, body.category .posted-on {
  display: none !important;
}
body.archive .entry-header, body.category .entry-header {
  padding: 0 0 14px 0 !important;
  margin: 0 0 16px 0 !important;
  border-bottom: 1px solid var(--pcr-border-soft, #E4E1DA);
}
body.archive .inside-article, body.category .inside-article {
  padding: 28px 36px !important;
}


/* ===== QC FIXES ===== */

/* Mobile table scroll wrapper — prevent clipping */
.entry-content table, .pcr-table {
  display: block !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  max-width: 100% !important;
  white-space: nowrap;
}
.entry-content table tbody, .entry-content table thead {
  display: table !important;
  width: max-content !important;
  max-width: 100% !important;
}


/* Remove the broken empty footer bars */
.site-footer .footer-widgets, .site-footer .footer-widgets-container {
  display: none !important;
}
.site-footer .inside-site-info.grid-container {
  display: block !important;
}

/* Hide comment form on articles (off-brand default) */
.single-post #comments, .single-post .comments-area,
.single-post #respond, .single-post .comment-form,
.single-post .comment-respond {
  display: none !important;
}

/* Hide duplicate H1 on pages (keep only the first/title) */
.page .entry-header .entry-title { display: none !important; }
body.page .entry-content h1:first-of-type { display: none !important; }

/* Fix mobile menu duplicate toggle */
.main-navigation .menu-toggle + .menu-toggle { display: none !important; }

/* Our Sources: fix numbering + overflow */
.pcr-ladder__row { min-width: 0 !important; }
.pcr-source-card { max-width: 100% !important; overflow: hidden !important; }

/* Health Concerns: fix tile overflow on mobile */
.pcr-tile--flat { min-width: 0 !important; overflow-wrap: break-word !important; word-wrap: break-word !important; }
.pcr-grid { min-width: 0 !important; }

/* Category page: hide comment links in meta */
body.archive .entry-meta .comments-link, body.category .entry-meta .comments-link {
  display: none !important;
}


/* ===== FOOTER FIX — remove Built with GeneratePress ===== */
.site-footer .copyright-bar {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 12px 0 !important;
  font-size: 14px !important;
}
.site-footer .copyright-bar .copyright {
  display: inline !important;
}
/* Hide the "Built with GeneratePress" text and link */
.site-footer .copyright-bar > *:not(.copyright) {
  display: none !important;
}
.site-footer .copyright-bar a[href*="generatepress"] {
  display: none !important;
}
/* Remove the bullet/separator before "Built with" */
.site-footer .copyright-bar {
  font-size: 0 !important;
}
.site-footer .copyright-bar .copyright {
  font-size: 14px !important;
}

/* Hide byline on category/archive pages */
body.archive.category .inside-article .entry-meta,
body.archive .inside-article .entry-meta .byline,
body.category .inside-article .entry-meta .byline,
body.archive .byline, body.category .byline {
  display: none !important;
}
body.archive .inside-article .entry-meta,
body.category .inside-article .entry-meta {
  display: none !important;
}

/* Fix .pcr-tile--flat mobile overflow */
.pcr-tile--flat { width: 100% !important; max-width: 100% !important; }
@media (max-width: 768px) {
  .pcr-tile--flat { width: 100% !important; max-width: 100% !important; padding-left: 60px !important; position: relative !important; }
  .pcr-tile--flat .pcr-tile__num { position: absolute !important; left: 16px !important; top: 20px !important; }
}

/* Fix tile interior clipping */
.pcr-tile { overflow: hidden !important; }
.pcr-tile__desc, .pcr-check, .pcr-cross, .pcr-tile ul, .pcr-tile li {
  max-width: 100% !important; overflow-wrap: break-word !important; word-wrap: break-word !important;
}
.pcr-check li, .pcr-cross li { padding-right: 8px !important; box-sizing: border-box !important; }
