/* =============================================================================
   CVF Site — forms, widgets, news, reports, timeline, resources, media area.
   Uses the --cvf-* tokens of the CVF Editorial theme (with fallbacks).
   ========================================================================== */

/* ---- Footer legal links ---- */
.cvf-foot-legal { display: inline; }
.cvf-foot-legal a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.cvf-foot-sep { opacity: 0.55; margin: 0 0.35em; }

/* ---- Notices ---- */
.cvf-notice {
  margin: 0 0 1.5rem;
  padding: 1rem 1.25rem;
  border-radius: var(--cvf-radius, 12px);
  border: 1px solid var(--cvf-mauve, #E0B9E3);
  background: var(--cvf-mauve-soft, #F4E6F5);
  color: var(--cvf-navy, #17304A);
  font-weight: 500;
}
.cvf-notice--ok { border-color: #8fd0a9; background: #e7f6ec; }
.cvf-notice--error { border-color: #e7a3ab; background: #fdecee; }

/* ---- Forms ---- */
.cvf-form { max-width: 40rem; }
.cvf-field { margin: 0 0 1.25rem; }
.cvf-field label { display: block; font-weight: 600; margin-bottom: 0.4rem; color: var(--cvf-navy, #17304A); }
.cvf-field small { display: block; margin-top: 0.3rem; color: var(--cvf-ink-2, #4B5563); font-size: 0.875rem; }
.cvf-form input[type="text"],
.cvf-form input[type="email"],
.cvf-form input[type="url"],
.cvf-form input[type="password"],
.cvf-form select,
.cvf-form textarea,
.cvf-media-card .login-username input,
.cvf-media-card .login-password input {
  width: 100%;
  padding: 0.8rem 1rem;
  font: inherit;
  color: var(--cvf-navy, #17304A);
  background: #fff;
  border: 1.5px solid #c9cfd8;
  border-radius: var(--cvf-radius, 12px);
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.cvf-form textarea { min-height: 9rem; resize: vertical; }
.cvf-form input:focus,
.cvf-form select:focus,
.cvf-form textarea:focus,
.cvf-media-card input:focus {
  outline: none;
  border-color: var(--cvf-pink, #B957B8);
  box-shadow: 0 0 0 3px rgba(185, 87, 184, 0.25);
}
.cvf-field--check label { display: flex; gap: 0.75rem; align-items: flex-start; font-weight: 400; }
.cvf-field--check input { margin-top: 0.3rem; flex: none; width: 1.1rem; height: 1.1rem; accent-color: var(--cvf-pink, #B957B8); }
.cvf-req { color: #b3261e; }
.cvf-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cvf-form__actions { margin: 1.5rem 0 0.75rem; }
.cvf-form__fine { font-size: 0.875rem; color: var(--cvf-ink-2, #4B5563); margin: 0; }
.cvf-form .cvf-btn { cursor: pointer; border: 0; font: inherit; font-weight: 700; }

/* Shared pink button fallback (if the theme class is missing on a button element) */
button.cvf-btn-pink {
  display: inline-block; padding: 0.85rem 1.6rem; border-radius: 999px;
  background: var(--cvf-pink, #B957B8); color: #fff;
}
button.cvf-btn-pink:hover { background: var(--cvf-plum, #4A254A); }

/* Contact page layout */
.cvf-contact-cols { gap: clamp(2rem, 4vw, 4rem); align-items: flex-start; }
.cvf-contact-cols h2 { margin-top: 0; }

/* ---- Stacked tables on phones (privacy table, etc.) ---- */
.cvf-table-stack table { width: 100%; border-collapse: collapse; }
.cvf-table-stack th, .cvf-table-stack td { text-align: left; padding: 0.75rem 0.9rem; border-bottom: 1px solid #e5e7eb; vertical-align: top; }
.cvf-table-stack thead th { background: var(--cvf-mauve-soft, #F4E6F5); color: var(--cvf-navy, #17304A); }
@media (max-width: 680px) {
  .cvf-table-stack thead { position: absolute; left: -9999px; }
  .cvf-table-stack table, .cvf-table-stack tbody, .cvf-table-stack tr, .cvf-table-stack td { display: block; width: 100%; }
  .cvf-table-stack tr { margin-bottom: 1rem; border: 1px solid #e5e7eb; border-radius: var(--cvf-radius, 12px); overflow: hidden; }
  .cvf-table-stack td { border-bottom: 1px solid #f0f0f3; }
  .cvf-table-stack td::before { content: attr(data-label); display: block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690); margin-bottom: 0.15rem; }
}

/* ---- Reference lists on long pages ---- */
.entry-content ol li[id^="ref-"],
.entry-content ol li[id^="tref-"] { font-size: 0.9rem; overflow-wrap: anywhere; margin-bottom: 0.4rem; }
.entry-content sup a { text-decoration: none; font-weight: 600; }
.entry-content li[id]:target { background: var(--cvf-mauve-soft, #F4E6F5); border-radius: 6px; }

/* ---- Clean-air widgets ---- */
.cvf-air-facts { margin: 2rem 0; gap: 1.5rem; }
.cvf-air-facts .wp-block-column {
  background: var(--cvf-mauve-soft, #F4E6F5);
  border-radius: var(--cvf-radius-lg, 20px);
  padding: 1.5rem;
}
.cvf-air-facts h3 { margin-top: 0; }
.cvf-air-facts p { margin-bottom: 0; }

.cvf-airwidget, .cvf-goodair {
  margin: clamp(2rem, 4vw, 3.5rem) 0;
  padding: clamp(1.5rem, 1rem + 2.5vw, 3rem);
  border-radius: var(--cvf-radius-lg, 20px);
  box-sizing: border-box;
}
.cvf-airwidget {
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: var(--cvf-shadow-sm, 0 4px 18px rgba(23, 48, 74, 0.08));
  --aw-bad: #b3261e; --aw-warn: #9a6100; --aw-good: #12704a;
  --aw-bad-bg: #fdeef0; --aw-warn-bg: #fbf3e1; --aw-good-bg: #e8f7f1;
}
.cvf-airwidget h3, .cvf-goodair h3 { margin: 0 0 0.75rem; font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem); line-height: 1.15; }
.cvf-aw-intro { max-width: 62ch; }
.cvf-aw-small { font-size: 0.875rem; color: var(--cvf-ink-2, #4B5563); margin: 0.25rem 0 1.5rem; }
.cvf-aw-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.cvf-aw-metric { padding: 1.25rem; background: #faf9fb; border: 1px solid #ece8ee; border-radius: var(--cvf-radius, 12px); }
.cvf-aw-metric p { margin: 0; }
.cvf-aw-metric__label { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-aw-metric__value { font-size: clamp(2.25rem, 1.6rem + 2.5vw, 3.5rem); font-weight: 800; line-height: 1.1; margin-top: 0.4rem !important; color: var(--cvf-navy, #17304A); font-variant-numeric: tabular-nums; }
.cvf-aw-metric__unit { font-size: 0.875rem; color: var(--cvf-ink-2, #4B5563); }
.cvf-aw-bar { height: 10px; border-radius: 999px; background: #e9e5ec; margin: 0.9rem 0 0.5rem; overflow: hidden; }
.cvf-aw-bar span { display: block; height: 100%; border-radius: 999px; transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.3s; }
.cvf-aw-bar .is-bad { background: var(--aw-bad); } .cvf-aw-bar .is-warn { background: var(--aw-warn); } .cvf-aw-bar .is-good { background: var(--aw-good); }
.cvf-aw-metric__status { font-weight: 700; }
.cvf-aw-metric__value.is-bad, .cvf-aw-metric__status.is-bad { color: var(--aw-bad); }
.cvf-aw-metric__status.is-warn { color: var(--aw-warn); } .cvf-aw-metric__status.is-good { color: var(--aw-good); }
.cvf-aw-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; margin: 1.25rem 0; padding: 0.4rem; background: #f4f1f6; border-radius: 999px; }
.cvf-aw-tabs button {
  appearance: none; border: 0; cursor: pointer; font: inherit; font-weight: 600;
  padding: 0.75rem 0.5rem; border-radius: 999px; background: transparent; color: var(--cvf-navy, #17304A);
  transition: background-color 0.2s, color 0.2s; line-height: 1.2;
}
.cvf-aw-tabs button:hover { background: rgba(185, 87, 184, 0.12); }
.cvf-aw-tabs button[aria-pressed="true"] { background: var(--cvf-plum, #4A254A); color: #fff; }
.cvf-aw-tabs button:focus-visible { outline: 3px solid var(--cvf-pink, #B957B8); outline-offset: 2px; }
.cvf-aw-note { padding: 1.1rem 1.25rem; border-left: 5px solid var(--aw-bad); background: var(--aw-bad-bg); border-radius: 0 var(--cvf-radius, 12px) var(--cvf-radius, 12px) 0; transition: background-color 0.3s, border-color 0.3s; }
.cvf-aw-note.is-warn { border-color: var(--aw-warn); background: var(--aw-warn-bg); }
.cvf-aw-note.is-good { border-color: var(--aw-good); background: var(--aw-good-bg); }
.cvf-aw-sources { font-size: 0.8125rem; color: var(--cvf-ink-2, #4B5563); margin: 1.25rem 0 0; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .cvf-aw-metrics { grid-template-columns: 1fr; }
  .cvf-aw-tabs { border-radius: var(--cvf-radius, 12px); grid-template-columns: 1fr; }
  .cvf-aw-tabs button { border-radius: 10px; }
}
@media (prefers-reduced-motion: reduce) { .cvf-aw-bar span, .cvf-aw-note { transition: none; } }

.cvf-goodair { background: var(--cvf-navy, #17304A); color: #fff; }
.cvf-goodair h3 { color: #fff; }
.cvf-goodair .cvf-eyebrow { color: var(--cvf-mauve, #E0B9E3); }
.cvf-ga-lead { max-width: 62ch; color: rgba(255, 255, 255, 0.88); }
.cvf-ga-grid { list-style: none; margin: 1.75rem 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.cvf-ga-grid li { padding: 1.25rem; background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.14); border-radius: var(--cvf-radius, 12px); margin: 0; }
.cvf-ga-grid p { margin: 0; color: rgba(255, 255, 255, 0.85); }
.cvf-ga-stat { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem; margin-bottom: 0.5rem !important; }
.cvf-ga-num { font-size: clamp(2rem, 1.5rem + 2vw, 3rem); font-weight: 800; color: var(--cvf-mauve, #E0B9E3); line-height: 1; }
.cvf-ga-unit { font-weight: 600; color: #fff; }
.cvf-ga-sources { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.72); margin: 0; }
.cvf-ga-sources a { color: #fff; }
@media (max-width: 600px) { .cvf-ga-grid { grid-template-columns: 1fr; } }

ol.cvf-asks { list-style: none; counter-reset: ask; padding: 0; margin: 1.5rem 0 2rem; display: grid; gap: 1rem; }
ol.cvf-asks li { counter-increment: ask; display: grid; grid-template-columns: 3rem 1fr; column-gap: 1rem; padding: 1.25rem 1.5rem; background: #fff; border: 1px solid #e5e7eb; border-radius: var(--cvf-radius-lg, 20px); margin: 0; scroll-margin-top: 6rem; }
ol.cvf-asks li::before { content: counter(ask); grid-row: 1 / span 2; width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border-radius: 50%; background: var(--cvf-mauve, #E0B9E3); color: var(--cvf-plum, #4A254A); font-weight: 800; font-size: 1.15rem; }
ol.cvf-asks h3 { margin: 0 0 0.25rem; font-size: 1.2rem; }
ol.cvf-asks p { margin: 0; }

/* ---- Reports ---- */
ul.cvf-reports { list-style: none; margin: 2rem 0; padding: 0; display: grid; gap: clamp(1.5rem, 3vw, 2.5rem); }
.cvf-report { display: grid; grid-template-columns: minmax(150px, 230px) 1fr; gap: clamp(1.25rem, 3vw, 2.5rem); align-items: center; padding: clamp(1rem, 2vw, 1.75rem); background: #fff; border: 1px solid #e5e7eb; border-radius: var(--cvf-radius-lg, 20px); box-shadow: var(--cvf-shadow-sm, 0 4px 18px rgba(23, 48, 74, 0.06)); margin: 0; }
.cvf-report:nth-child(3n+1) { background: var(--cvf-mauve-soft, #F4E6F5); border-color: transparent; }
.cvf-report__cover { display: block; border-radius: var(--cvf-radius, 12px); overflow: hidden; box-shadow: var(--cvf-shadow, 0 10px 30px rgba(23, 48, 74, 0.18)); transition: transform 0.2s ease; }
.cvf-report__cover:hover { transform: translateY(-3px) rotate(-0.5deg); }
.cvf-report__cover img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; }
.cvf-report__date { margin: 0 0 0.4rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-report h2 { margin: 0 0 0.75rem; font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem); line-height: 1.2; }
.cvf-report p { margin: 0 0 1rem; }
.cvf-report__cta { margin-bottom: 0 !important; }
.cvf-report-soon { padding: 1.25rem 1.5rem; border-left: 5px solid var(--cvf-mauve, #E0B9E3); background: var(--cvf-mauve-soft, #F4E6F5); border-radius: 0 var(--cvf-radius, 12px) var(--cvf-radius, 12px) 0; }
@media (max-width: 640px) { .cvf-report { grid-template-columns: 1fr; } .cvf-report__cover { max-width: 240px; } }

/* ---- Press coverage list ---- */
.cvf-news__tools { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; justify-content: space-between; margin: 1.5rem 0 2rem; }
.cvf-news__search { flex: 1 1 18rem; max-width: 26rem; padding: 0.75rem 1rem; font: inherit; border: 1.5px solid #c9cfd8; border-radius: 999px; background: #fff; }
.cvf-news__search:focus { outline: none; border-color: var(--cvf-pink, #B957B8); box-shadow: 0 0 0 3px rgba(185, 87, 184, 0.25); }
.cvf-news__years { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.cvf-news__years a { padding: 0.35rem 0.9rem; border: 1px solid #d9d4dc; border-radius: 999px; font-weight: 600; font-size: 0.9rem; text-decoration: none; color: var(--cvf-navy, #17304A); }
.cvf-news__years a:hover { background: var(--cvf-mauve-soft, #F4E6F5); border-color: var(--cvf-mauve, #E0B9E3); }
.cvf-news__year { margin-top: 2.5rem; scroll-margin-top: 6rem; }
.cvf-news__year > h2 { font-size: 1.5rem; margin: 0 0 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--cvf-mauve, #E0B9E3); }
.cvf-news__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.25rem; }
.cvf-news__item { display: grid; grid-template-columns: minmax(130px, 210px) 1fr; gap: 1.25rem; padding: 1rem; background: #fff; border: 1px solid #ece8ee; border-radius: var(--cvf-radius, 12px); margin: 0; }
.cvf-news__item[hidden] { display: none; }
.cvf-news__img { display: block; border-radius: 10px; overflow: hidden; aspect-ratio: 3 / 2; background: linear-gradient(135deg, var(--cvf-mauve, #E0B9E3), var(--cvf-mauve-soft, #F4E6F5)); }
.cvf-news__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cvf-news__img.is-broken img { display: none; }
.cvf-news__meta { margin: 0 0 0.35rem; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-news__text h3 { margin: 0 0 0.5rem; font-size: clamp(1.05rem, 1rem + 0.4vw, 1.3rem); line-height: 1.3; }
.cvf-news__text h3 a { color: var(--cvf-navy, #17304A); text-decoration: none; }
.cvf-news__text h3 a:hover { text-decoration: underline; }
.cvf-news__ex { margin: 0 0 0.6rem; color: var(--cvf-ink-2, #4B5563); font-size: 0.95rem; }
.cvf-news__more { margin: 0; font-weight: 600; font-size: 0.9rem; }
.cvf-news__empty { padding: 1rem 1.25rem; background: var(--cvf-mauve-soft, #F4E6F5); border-radius: var(--cvf-radius, 12px); }
@media (max-width: 620px) { .cvf-news__item { grid-template-columns: 1fr; } .cvf-news__img { max-height: 220px; aspect-ratio: 16 / 9; } }

/* ---- Timeline ---- */
.cvf-tl-era { margin: 3.5rem 0 1.25rem !important; padding: 0.5rem 1.1rem; display: inline-block; background: var(--cvf-plum, #4A254A); color: #fff !important; border-radius: 999px; font-size: clamp(1rem, 0.95rem + 0.3vw, 1.2rem) !important; letter-spacing: 0.02em; }
ol.cvf-timeline { list-style: none; margin: 0 0 1rem; padding: 0 0 0 1.75rem; position: relative; }
ol.cvf-timeline::before { content: ""; position: absolute; left: 0.45rem; top: 0.5rem; bottom: 0.5rem; width: 3px; background: linear-gradient(var(--cvf-mauve, #E0B9E3), var(--cvf-pink, #B957B8)); border-radius: 3px; }
.cvf-tl-item { position: relative; margin: 0 0 1.5rem; padding: 1.1rem 1.35rem; background: #fff; border: 1px solid #ece8ee; border-radius: var(--cvf-radius, 12px); }
.cvf-tl-item::before { content: ""; position: absolute; left: -1.75rem; top: 1.45rem; width: 0.95rem; height: 0.95rem; border-radius: 50%; background: #fff; border: 3px solid var(--cvf-pink, #B957B8); box-sizing: border-box; transform: translateX(0); }
.cvf-tl-item.cvf-tl-cvf { background: var(--cvf-mauve-soft, #F4E6F5); border-color: var(--cvf-mauve, #E0B9E3); }
.cvf-tl-item.cvf-tl-cvf::before { background: var(--cvf-pink, #B957B8); }
.cvf-tl-date { display: block; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690); margin-bottom: 0.25rem; }
.cvf-tl-title { margin: 0 0 0.35rem !important; font-size: clamp(1.05rem, 1rem + 0.4vw, 1.25rem) !important; line-height: 1.3; }
.cvf-tl-text { margin: 0 !important; font-size: 0.98rem; }
.cvf-tl-cvf .cvf-tl-date::after { content: " · CVF"; color: var(--cvf-plum, #4A254A); }

/* ---- Resource hub ---- */
.cvf-resource-card { margin: 2rem 0; padding: clamp(1.25rem, 1rem + 1.5vw, 2.25rem); background: #fff; border: 1px solid #e5e7eb; border-left: 6px solid var(--cvf-mauve, #E0B9E3); border-radius: var(--cvf-radius-lg, 20px); box-shadow: var(--cvf-shadow-sm, 0 4px 18px rgba(23, 48, 74, 0.06)); scroll-margin-top: 6rem; }
.cvf-resource-card:nth-of-type(even) { border-left-color: var(--cvf-pink, #B957B8); }
.cvf-resource-card > h3 { margin-top: 0; }
.cvf-resource-card ul { padding-left: 1.2rem; }
.cvf-resource-card li { margin-bottom: 0.4rem; }
.cvf-resource-card p:last-child { margin-bottom: 0; }

/* ---- Media area ---- */
.cvf-media-gate { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1rem, 3vw, 2rem); margin: 2rem 0; align-items: start; }
.cvf-media-card { padding: clamp(1.25rem, 1rem + 1.5vw, 2rem); background: #fff; border: 1px solid #e5e7eb; border-radius: var(--cvf-radius-lg, 20px); box-shadow: var(--cvf-shadow-sm, 0 4px 18px rgba(23, 48, 74, 0.06)); }
.cvf-media-card:first-child { background: var(--cvf-mauve-soft, #F4E6F5); border-color: transparent; }
.cvf-media-card h2 { margin: 0 0 0.75rem; font-size: 1.5rem; }
.cvf-media-card form p { margin: 0 0 1.1rem; }
.cvf-media-card .login-remember label { font-weight: 400; display: flex; gap: 0.6rem; align-items: center; }
.cvf-media-card .login-remember input { accent-color: var(--cvf-pink, #B957B8); width: 1.1rem; height: 1.1rem; }
.cvf-media-card .login-submit input[type="submit"] { padding: 0.85rem 1.6rem; border: 0; border-radius: 999px; background: var(--cvf-pink, #B957B8); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.cvf-media-card .login-submit input[type="submit"]:hover { background: var(--cvf-plum, #4A254A); }
.cvf-media-forgot { margin: 0.5rem 0 0 !important; font-size: 0.95rem; }
.cvf-media-note { color: var(--cvf-ink-2, #4B5563); font-size: 0.95rem; }
.cvf-media-bar { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; justify-content: space-between; margin: 0 0 2rem; padding: 0.9rem 1.25rem; background: var(--cvf-mauve-soft, #F4E6F5); border-radius: var(--cvf-radius, 12px); font-size: 0.95rem; }
.cvf-media-bar p { margin: 0; }
.cvf-press-list { display: grid; gap: 1.5rem; }
.cvf-press-item { padding: clamp(1.25rem, 1rem + 1.5vw, 2rem); background: #fff; border: 1px solid #e5e7eb; border-radius: var(--cvf-radius-lg, 20px); }
.cvf-press-item.is-embargoed { border: 2px solid #b3261e; background: #fffafa; }
.cvf-press-item h2 { margin: 0.6rem 0; font-size: clamp(1.3rem, 1.1rem + 0.9vw, 1.8rem); line-height: 1.25; }
.cvf-press-item__meta { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin: 0; font-size: 0.875rem; color: var(--cvf-ink-2, #4B5563); }
.cvf-press-badge { display: inline-block; padding: 0.2rem 0.7rem; border-radius: 999px; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; background: var(--cvf-mauve-soft, #F4E6F5); color: var(--cvf-plum, #4A254A); }
.cvf-press-badge--report { background: var(--cvf-plum, #4A254A); color: #fff; }
.cvf-press-badge--embargo { background: #b3261e; color: #fff; }
.cvf-press-badge--released { background: #e7f6ec; color: #12704a; }
.cvf-press-item__warn { color: #b3261e; margin: 0.5rem 0; }
.cvf-press-item__body summary { cursor: pointer; font-weight: 600; margin: 0.75rem 0; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-press-item__content { padding: 0.5rem 0 0.25rem 1rem; border-left: 3px solid var(--cvf-mauve, #E0B9E3); }
.cvf-press-item__actions { margin: 1rem 0 0; }
@media (max-width: 760px) { .cvf-media-gate { grid-template-columns: 1fr; } }

/* ---- Wide-content pages: give the information / timeline / hub pages a comfortable measure ---- */
.page-id-0 .entry-content { max-width: none; }

/* =====================================================================
   "What is clinical vulnerability?" explainer  (.cvf-info)
   Three levels: scan (cards, timeline, statements) > understand > verify.
   ===================================================================== */
.cvf-info { --i-gap: clamp(2.5rem, 6vw, 4.5rem); }
.cvf-info-hero { background: var(--cvf-mauve-soft, #F4E6F5); border-radius: var(--cvf-radius-lg, 20px); padding: clamp(1.5rem, 4vw, 3rem); margin: 0 0 1.5rem; position: relative; overflow: hidden; }
.cvf-info-hero::after { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: var(--cvf-mauve, #E0B9E3); opacity: 0.35; pointer-events: none; }
.cvf-info-def { position: relative; z-index: 1; font-size: clamp(1.5rem, 3.4vw, 2.3rem); line-height: 1.3; font-weight: 600; color: var(--cvf-navy, #17304A); max-width: 48rem; margin: 0.25rem 0 1.25rem; letter-spacing: -0.01em; }
.cvf-info-explains { position: relative; z-index: 1; max-width: 42rem; font-size: 1rem; color: var(--cvf-ink-2, #3b4a5c); margin: 0; padding-top: 1.1rem; border-top: 1px solid rgba(74, 37, 74, 0.18); }

.cvf-info-nav { margin: 0 0 var(--i-gap); }
.cvf-info-nav__label { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690); margin: 0 0 0.6rem; }
.cvf-info-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.cvf-info-nav li { margin: 0; }
.cvf-info-nav a { display: inline-block; padding: 0.45rem 0.95rem; border: 1px solid #d9c3db; border-radius: 999px; background: #fff; color: var(--cvf-navy, #17304A); font-size: 0.92rem; font-weight: 600; text-decoration: none; }
.cvf-info-nav a:hover { background: var(--cvf-mauve-soft, #F4E6F5); border-color: var(--cvf-mauve-ink, #8A4690); }
.cvf-info a:focus-visible, .cvf-info button:focus-visible, .cvf-info summary:focus-visible { outline: 3px solid var(--cvf-pink, #B957B8); outline-offset: 3px; border-radius: 6px; }

.cvf-info-sec, .cvf-info-blunt, .cvf-info-inquiry { margin: 0 0 var(--i-gap); scroll-margin-top: 6rem; }
.cvf-info-sec > h2, .cvf-info-blunt > h2, .cvf-info-inquiry > h2, .cvf-info-refsec > h2 { margin-top: 0.15rem; }
.cvf-info-intro { font-size: 1.12rem; max-width: 46rem; }
.cvf-info-h3 { margin: 2.5rem 0 1rem; }

/* cards: vulnerable to what */
.cvf-info-cards { list-style: none; margin: 1.75rem 0 1.25rem; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(6, 1fr); }
.cvf-info-card { grid-column: span 2; margin: 0; background: #fff; border: 1px solid #e5e7eb; border-radius: var(--cvf-radius-lg, 20px); padding: 1.35rem 1.4rem; box-shadow: var(--cvf-shadow-sm, none); border-top: 4px solid var(--cvf-mauve, #E0B9E3); }
.cvf-info-card--lead { grid-column: span 4; background: var(--cvf-mauve-soft, #F4E6F5); border-top-color: var(--cvf-pink, #B957B8); }
.cvf-info-card:nth-child(n+3) { grid-column: span 3; }
.cvf-info-card h3 { margin: 0 0 0.5rem; font-size: 1.2rem; }
.cvf-info-card p { margin: 0; font-size: 0.98rem; }
.cvf-info-note { max-width: 46rem; padding: 1rem 1.25rem; border-left: 4px solid var(--cvf-mauve, #E0B9E3); background: #fff; border-radius: 0 var(--cvf-radius, 12px) var(--cvf-radius, 12px) 0; color: var(--cvf-ink-2, #3b4a5c); }
@media (max-width: 860px) { .cvf-info-cards { grid-template-columns: 1fr 1fr; } .cvf-info-card, .cvf-info-card:nth-child(n+3) { grid-column: span 1; } .cvf-info-card--lead { grid-column: 1 / -1; } }
@media (max-width: 560px) { .cvf-info-cards { grid-template-columns: 1fr; } }

/* timeline tweaks for the UK terms */
.cvf-timeline--terms { margin-top: 2rem; }
.cvf-timeline--terms .cvf-tl-item--aside .cvf-tl-date { background: transparent; border: 1px solid var(--cvf-mauve-ink, #8A4690); color: var(--cvf-mauve-ink, #8A4690); }
.cvf-timeline--terms .cvf-tl-item--now { background: var(--cvf-mauve-soft, #F4E6F5); border-radius: var(--cvf-radius-lg, 20px); padding: 1.25rem 1.4rem; }
.cvf-timeline--terms .cvf-tl-item--now .cvf-tl-title { font-size: 1.5rem; }
.cvf-timeline--terms .cvf-tl-item--now .cvf-tl-date { background: var(--cvf-plum, #4A254A); color: #fff; }

/* blunt categories */
.cvf-info-blunt { background: var(--cvf-mauve-soft, #F4E6F5); border-radius: var(--cvf-radius-lg, 20px); padding: clamp(1.5rem, 4vw, 3rem); }
.cvf-info-pull { font-size: clamp(1.3rem, 2.6vw, 1.85rem); line-height: 1.35; font-weight: 600; color: var(--cvf-plum, #4A254A); max-width: 40rem; margin: 0.75rem 0 1rem; }
.cvf-info-blunt__rest { max-width: 44rem; margin: 0 0 1.5rem; }
.cvf-info-three { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); counter-reset: three; }
.cvf-info-three li { margin: 0; background: #fff; border-radius: var(--cvf-radius-lg, 20px); padding: 1.3rem 1.4rem; counter-increment: three; border: 1px solid #e8d3ea; }
.cvf-info-three li::before { content: counter(three); display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--cvf-plum, #4A254A); color: #fff; font-weight: 800; margin-bottom: 0.75rem; }
.cvf-info-three h3 { margin: 0 0 0.4rem; font-size: 1.15rem; }
.cvf-info-three p { margin: 0; font-size: 0.98rem; }
.cvf-info-blunt__foot { max-width: 44rem; margin: 0; color: var(--cvf-ink-2, #3b4a5c); }
@media (max-width: 760px) { .cvf-info-three { grid-template-columns: 1fr; } }

/* who is at greater risk */
.cvf-info-warn { max-width: 46rem; margin: 1rem 0 1.5rem; padding: 0.85rem 1.1rem; border: 1px dashed var(--cvf-mauve-ink, #8A4690); border-radius: var(--cvf-radius, 12px); background: #fff; font-size: 0.98rem; }
.cvf-info-index { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 0.6rem; grid-template-columns: repeat(3, 1fr); }
.cvf-info-index li { margin: 0; }
.cvf-info-index a { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; height: 100%; padding: 0.85rem 1rem; background: #fff; border: 1px solid #e5e7eb; border-radius: var(--cvf-radius, 12px); color: var(--cvf-navy, #17304A); font-weight: 600; font-size: 0.95rem; line-height: 1.3; text-decoration: none; }
.cvf-info-index a:hover { border-color: var(--cvf-mauve-ink, #8A4690); background: var(--cvf-mauve-soft, #F4E6F5); }
.cvf-info-index__go { color: var(--cvf-pink, #B957B8); font-size: 1.1rem; }
@media (max-width: 860px) { .cvf-info-index { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .cvf-info-index { grid-template-columns: 1fr; } }
.cvf-info-tools { margin: 0 0 1rem; text-align: right; }
.cvf-info-toggle { font: inherit; font-size: 0.9rem; font-weight: 600; background: none; border: 1px solid var(--cvf-mauve-ink, #8A4690); color: var(--cvf-mauve-ink, #8A4690); border-radius: 999px; padding: 0.4rem 1rem; cursor: pointer; }
.cvf-info-toggle:hover { background: var(--cvf-mauve-soft, #F4E6F5); }
.cvf-group { background: #fff; border: 1px solid #e5e7eb; border-radius: var(--cvf-radius-lg, 20px); margin: 0 0 0.75rem; scroll-margin-top: 6rem; }
.cvf-group[open] { border-color: #d9c3db; box-shadow: var(--cvf-shadow-sm, none); }
.cvf-group summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.3rem; }
.cvf-group summary::-webkit-details-marker { display: none; }
.cvf-group summary h3 { margin: 0; font-size: 1.12rem; line-height: 1.3; }
.cvf-group summary::after { content: "+"; flex: none; width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: var(--cvf-mauve, #E0B9E3); color: var(--cvf-plum, #4A254A); font-weight: 800; font-size: 1.25rem; line-height: 1; }
.cvf-group[open] summary::after { content: "\2212"; }
.cvf-group__body { padding: 0 1.3rem 1.2rem; max-width: 50rem; }
.cvf-group__body p { margin: 0; }
@media print { .cvf-group > .cvf-group__body { display: block !important; } .cvf-info-tools { display: none; } }

/* summary table */
.cvf-info-tablewrap { margin: 0 0 1rem; }
.cvf-info-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 0.97rem; background: #fff; border: 1px solid #e5e7eb; border-radius: var(--cvf-radius-lg, 20px); overflow: hidden; }
.cvf-info-table th, .cvf-info-table td { text-align: left; vertical-align: top; padding: 0.95rem 1.1rem; border-bottom: 1px solid #eee; }
.cvf-info-table thead th { background: var(--cvf-plum, #4A254A); color: #fff; font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; border-bottom: 0; }
.cvf-info-table tbody th { font-weight: 700; color: var(--cvf-navy, #17304A); width: 22%; }
.cvf-info-table tbody tr:nth-child(even) > * { background: #faf5fb; }
.cvf-info-table tbody tr:last-child > * { border-bottom: 0; }
.cvf-info-table__refs { white-space: nowrap; font-size: 0.85rem; }
.cvf-info-table sup a { margin-right: 0.15rem; }
@media (max-width: 760px) {
  .cvf-info-table, .cvf-info-table tbody, .cvf-info-table tr, .cvf-info-table th, .cvf-info-table td { display: block; width: 100%; }
  .cvf-info-table { background: none; border: 0; }
  .cvf-info-table thead { position: absolute; left: -9999px; }
  .cvf-info-table tr { background: #fff; border: 1px solid #e5e7eb; border-radius: var(--cvf-radius-lg, 20px); margin: 0 0 0.85rem; overflow: hidden; }
  .cvf-info-table tbody tr:nth-child(even) > * { background: transparent; }
  .cvf-info-table tbody th { width: 100%; background: var(--cvf-mauve-soft, #F4E6F5) !important; font-size: 1.05rem; }
  .cvf-info-table td { border-bottom: 1px solid #f0f0f3; }
  .cvf-info-table td::before { content: attr(data-label); display: block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690); margin-bottom: 0.15rem; }
  .cvf-info-table__refs { white-space: normal; }
}

/* setting */
.cvf-info-quote { margin: 1.25rem 0 1.5rem; padding: 0.25rem 0 0.25rem 1.5rem; border-left: 6px solid var(--cvf-pink, #B957B8); }
.cvf-info-quote p { margin: 0; font-size: clamp(1.45rem, 3.2vw, 2.2rem); line-height: 1.3; font-weight: 700; color: var(--cvf-navy, #17304A); max-width: 38rem; letter-spacing: -0.01em; }
.cvf-info-eq { margin: 2rem 0; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: stretch; gap: 0.6rem; }
.cvf-info-eq figcaption { grid-column: 1 / -1; font-size: 0.88rem; color: var(--cvf-ink-2, #3b4a5c); margin-top: 0.5rem; }
.cvf-eq-part { background: #fff; border: 1px solid #e5e7eb; border-radius: var(--cvf-radius-lg, 20px); padding: 1rem 1.1rem; }
.cvf-eq-part h3 { margin: 0 0 0.3rem; font-size: 1.05rem; }
.cvf-eq-part p { margin: 0; font-size: 0.92rem; color: var(--cvf-ink-2, #3b4a5c); }
.cvf-eq-part--result { background: var(--cvf-plum, #4A254A); border-color: var(--cvf-plum, #4A254A); }
.cvf-eq-part--result h3, .cvf-eq-part--result p { color: #fff; }
.cvf-eq-op { align-self: center; font-size: 1.6rem; font-weight: 700; color: var(--cvf-mauve-ink, #8A4690); }
@media (max-width: 860px) { .cvf-info-eq { grid-template-columns: 1fr; } .cvf-eq-op { justify-self: center; line-height: 1; } }
.cvf-info-inset { margin: 2rem 0 0; padding: 1.5rem 1.6rem; background: var(--cvf-mauve-soft, #F4E6F5); border: 1px solid #d9c3db; border-radius: var(--cvf-radius-lg, 20px); max-width: 50rem; }
.cvf-info-inset h3 { margin: 0.1rem 0 0.6rem; font-size: 1.3rem; }
.cvf-info-inset p:last-child { margin: 0; }

/* hierarchy of controls */
.cvf-info-layers { list-style: none; margin: 1.75rem 0; padding: 0; display: grid; gap: 0.9rem; max-width: 50rem; }
.cvf-info-layers li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; align-items: start; margin: 0; padding: 1.15rem 1.35rem; background: #fff; border: 1px solid #e5e7eb; border-radius: var(--cvf-radius-lg, 20px); position: relative; }
.cvf-info-layers li:nth-child(1) { margin-right: 0; }
.cvf-info-layers li:nth-child(2) { margin-left: 1rem; }
.cvf-info-layers li:nth-child(3) { margin-left: 2rem; }
.cvf-info-layers li:nth-child(4) { margin-left: 3rem; }
.cvf-info-layers li:not(:last-child)::after { content: "\2193"; position: absolute; left: 2.15rem; bottom: -1.05rem; width: 1.3rem; height: 1.3rem; line-height: 1.3rem; text-align: center; border-radius: 50%; background: var(--cvf-mauve, #E0B9E3); color: var(--cvf-plum, #4A254A); font-size: 0.85rem; font-weight: 700; z-index: 1; }
.cvf-layer-n { width: 2.6rem; height: 2.6rem; display: grid; place-items: center; border-radius: 50%; background: var(--cvf-plum, #4A254A); color: #fff; font-weight: 800; }
.cvf-info-layers h3 { margin: 0 0 0.3rem; font-size: 1.2rem; }
.cvf-info-layers p { margin: 0; font-size: 0.98rem; }
@media (max-width: 640px) { .cvf-info-layers li:nth-child(n) { margin-left: 0; } .cvf-info-layers li { grid-template-columns: 2.4rem 1fr; } }
.cvf-info-nav-cards, .cvf-info-reports { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); }
.cvf-info-reports { grid-template-columns: repeat(2, 1fr); }
.cvf-info-nav-cards li, .cvf-info-reports li { margin: 0; }
.cvf-info-nav-cards a, .cvf-info-reports a { display: flex; flex-direction: column; gap: 0.35rem; height: 100%; padding: 1.3rem 1.4rem; background: #fff; border: 1px solid #e5e7eb; border-radius: var(--cvf-radius-lg, 20px); color: var(--cvf-navy, #17304A); text-decoration: none; }
.cvf-info-nav-cards a:hover, .cvf-info-reports a:hover { border-color: var(--cvf-pink, #B957B8); box-shadow: var(--cvf-shadow, 0 6px 20px rgba(0,0,0,.08)); }
.cvf-info-nav-cards strong, .cvf-info-reports strong { font-size: 1.25rem; line-height: 1.25; }
.cvf-info-nav-cards span:not(.cvf-eyebrow):not(.cvf-info-arrow) { font-size: 0.95rem; color: var(--cvf-ink-2, #3b4a5c); }
.cvf-info-arrow { margin-top: auto; padding-top: 0.5rem; font-weight: 700; color: var(--cvf-mauve-ink, #8A4690); }
@media (max-width: 760px) { .cvf-info-nav-cards, .cvf-info-reports { grid-template-columns: 1fr; } }

/* inquiry feature */
.cvf-info-inquiry { background: var(--cvf-navy, #17304A); color: #fff; border-radius: var(--cvf-radius-lg, 20px); padding: clamp(1.5rem, 4vw, 3rem); }
.cvf-info-inquiry h2, .cvf-info-inquiry p, .cvf-info-inquiry .cvf-eyebrow { color: #fff; }
.cvf-info-inquiry .cvf-eyebrow { color: var(--cvf-mauve, #E0B9E3); }
.cvf-info-inquiry > p { max-width: 46rem; font-size: 1.05rem; }
.cvf-info-inquiry .cvf-info-reports a { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.25); color: #fff; }
.cvf-info-inquiry .cvf-info-reports a:hover { background: rgba(255,255,255,0.16); border-color: var(--cvf-mauve, #E0B9E3); }
.cvf-info-inquiry .cvf-info-reports .cvf-info-arrow { color: var(--cvf-mauve, #E0B9E3); }

/* last reviewed + CTA */
.cvf-info-reviewed { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 1.25rem; margin: 0 0 var(--i-gap); padding: 1rem 1.3rem; border: 1px solid #d9c3db; border-radius: var(--cvf-radius, 12px); background: #fff; }
.cvf-info-reviewed p { margin: 0; }
.cvf-info-reviewed__k { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-info-reviewed__v { font-weight: 700; color: var(--cvf-navy, #17304A); }
.cvf-info-reviewed__t { flex: 1 1 100%; font-size: 0.93rem; color: var(--cvf-ink-2, #3b4a5c); max-width: 48rem; }
.cvf-info-cta { padding-top: clamp(3rem, 7vw, 5rem) !important; padding-bottom: clamp(3rem, 7vw, 5rem) !important; }
.cvf-info-cta h2 { font-size: clamp(2rem, 4.5vw, 3rem); }

/* references */
.cvf-info-refsec { margin-top: var(--i-gap); }
.cvf-info-refs__intro { font-size: 0.95rem; color: var(--cvf-ink-2, #3b4a5c); max-width: 46rem; }
.cvf-info-refs { margin: 1.25rem 0 0; padding-left: 1.75rem; max-width: 52rem; }
.cvf-info-refs li { font-size: 0.9rem; line-height: 1.55; padding: 0.7rem 0 0.7rem 0.25rem; margin: 0; border-top: 1px solid #e5e7eb; overflow-wrap: anywhere; scroll-margin-top: 6rem; }
.cvf-info-refs li::marker { font-weight: 700; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-info-refs li:target { background: var(--cvf-mauve-soft, #F4E6F5); border-radius: 6px; }
.cvf-info sup a { font-weight: 700; text-decoration: none; padding: 0 0.1em; }
.cvf-info sup a:hover { text-decoration: underline; }

/* theme list resets, so our grids align with the headings */
.cvf-info ul { margin-left: 0; padding-left: 0; }
.cvf-info ol.cvf-info-layers { margin-left: 0; padding-left: 0; }
.cvf-info ol.cvf-info-refs { padding-left: 1.75rem; margin-left: 0; }
.cvf-info ul.cvf-info-cards { margin-bottom: 1.25rem; }
.cvf-info-inquiry a { color: var(--cvf-mauve, #E0B9E3); }
.cvf-info-inquiry .cvf-info-reports a { color: #fff; }
.cvf-info-table th, .cvf-info-table td { border-left: 0; border-right: 0; }
.cvf-info-table thead th { border-top: 0; }

/* ---- explainer: beyond-infection cards, layered protection ---- */
.cvf-info-beyond { margin: 0 0 2.5rem; }
.cvf-info-h3--tight { margin-top: 0.1rem; }
.cvf-info-cards--beyond .cvf-info-card, .cvf-info-cards--beyond .cvf-info-card--lead, .cvf-info-cards--beyond .cvf-info-card:nth-child(n+3) { grid-column: span 3; }
.cvf-info-cards--beyond .cvf-info-card:last-child { grid-column: 1 / -1; }
.cvf-info-cards--beyond .cvf-info-card--lead { background: #fff; border-top-color: var(--cvf-mauve, #E0B9E3); }
.cvf-info-card h4 { margin: 0 0 0.5rem; font-size: 1.15rem; }
@media (max-width: 860px) { .cvf-info-cards--beyond .cvf-info-card, .cvf-info-cards--beyond .cvf-info-card:nth-child(n+3), .cvf-info-cards--beyond .cvf-info-card--lead { grid-column: 1 / -1; } }
.cvf-info-tablenote { margin: -0.5rem 0 0.75rem; font-size: 0.9rem; color: var(--cvf-ink-2, #3b4a5c); }
.cvf-info-intro--strong { font-size: 1.3rem; font-weight: 600; color: var(--cvf-navy, #17304A); line-height: 1.4; }

.cvf-info ul.cvf-info-layers { list-style: none; position: relative; display: grid; gap: 0.7rem; max-width: 50rem; margin: 1.75rem 0 2.5rem; padding: 0; }
.cvf-info ul.cvf-info-layers::before { content: ""; position: absolute; left: 1.05rem; top: 1.4rem; bottom: 1.4rem; width: 3px; border-radius: 2px; background: var(--cvf-mauve, #E0B9E3); }
.cvf-info-layers li, .cvf-info-layers li:nth-child(n) { margin: 0; padding: 0; background: none; border: 0; border-radius: 0; display: grid; grid-template-columns: 2.1rem 1fr; gap: 1rem; align-items: start; position: relative; }
.cvf-info-layers li::after { content: none !important; }
.cvf-info-layers li > div { background: #fff; border: 1px solid #e5e7eb; border-radius: var(--cvf-radius-lg, 20px); padding: 0.85rem 1.2rem 0.95rem; }
.cvf-layer-dot { position: relative; z-index: 1; width: 2.1rem; height: 2.1rem; margin-top: 0.55rem; border-radius: 50%; background: var(--cvf-mauve, #E0B9E3); border: 4px solid var(--cvf-bg, #FCFAF7); box-sizing: border-box; display: block; }
.cvf-layer-dot::after { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: var(--cvf-plum, #4A254A); }
.cvf-info-layers h3 { margin: 0 0 0.15rem; font-size: 1.1rem; text-transform: none; }
.cvf-layer-tag { margin: 0 0 0.35rem !important; font-size: 0.78rem !important; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-info-layers li > div p:last-child { font-size: 0.95rem; line-height: 1.5; }
.cvf-info-explore { margin: 2rem 0 0; }
.cvf-info-explore h3 { margin: 0.1rem 0 0; font-size: 1.4rem; }
.cvf-info-explore + .cvf-info-nav-cards { margin-top: 1rem; }

/* =====================================================================
   Timeline as an editorial history: chapters, turning points, photo breaks
   ===================================================================== */
.cvf-tl-nav { margin: 1.5rem 0 3rem; }
.cvf-chapter { margin: 0 0 clamp(3rem, 7vw, 5rem); scroll-margin-top: 6rem; }
.cvf-chapter__head { margin: 0 0 1.75rem; padding-top: 1.75rem; border-top: 1px solid #d9c3db; }
.cvf-chapter__title { margin: 0.2rem 0 0 !important; font-size: clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem) !important; line-height: 1.15 !important; letter-spacing: -0.015em; color: var(--cvf-navy, #17304A) !important; background: none !important; padding: 0 !important; border-radius: 0 !important; display: block !important; max-width: 40rem; }

/* ordinary entries: lighter, no card */
.cvf-chapter ol.cvf-timeline { padding-left: 2.25rem; margin-bottom: 0.5rem; }
.cvf-chapter ol.cvf-timeline::before { left: 0.55rem; top: 0.9rem; bottom: 0.9rem; width: 3px; background: var(--cvf-mauve, #E0B9E3); }
.cvf-chapter .cvf-tl-item { background: none; border: 0; border-radius: 0; padding: 0 0 1.6rem; margin: 0; }
.cvf-chapter .cvf-tl-item::before { left: -2.25rem; top: 0.3rem; width: 1.15rem; height: 1.15rem; border: 3px solid var(--cvf-mauve-ink, #8A4690); background: var(--cvf-bg, #FCFAF7); }
.cvf-chapter .cvf-tl-title { font-size: 1.15rem !important; }
.cvf-chapter .cvf-tl-text { max-width: 44rem; }

/* turning points */
.cvf-chapter .cvf-tl-item--milestone { background: var(--cvf-mauve-soft, #F4E6F5); border: 1px solid #e3cbe5; border-radius: var(--cvf-radius-lg, 20px); padding: 1.35rem 1.6rem 1.45rem; margin: 0.4rem 0 1.9rem -0.25rem; }
.cvf-chapter .cvf-tl-item--milestone::before { top: 1.65rem; left: -2.0rem; width: 1.5rem; height: 1.5rem; background: var(--cvf-plum, #4A254A); border-color: var(--cvf-mauve, #E0B9E3); }
.cvf-chapter .cvf-tl-item--milestone .cvf-tl-date { color: var(--cvf-plum, #4A254A); }
.cvf-chapter .cvf-tl-item--milestone .cvf-tl-title { font-size: clamp(1.35rem, 1.1rem + 1vw, 1.75rem) !important; line-height: 1.22; color: var(--cvf-navy, #17304A); }
.cvf-chapter .cvf-tl-item--milestone .cvf-tl-text { font-size: 1.02rem; }

/* CVF's own moments */
.cvf-chapter .cvf-tl-item.cvf-tl-cvf { background: #fff; border: 1px solid #e5e7eb; border-left: 5px solid var(--cvf-pink, #B957B8); border-radius: var(--cvf-radius, 12px); padding: 1.1rem 1.35rem 1.2rem; margin: 0.3rem 0 1.6rem; }
.cvf-chapter .cvf-tl-item.cvf-tl-cvf::before { top: 1.3rem; left: -2.25rem; background: var(--cvf-pink, #B957B8); border-color: var(--cvf-pink, #B957B8); }
.cvf-chapter .cvf-tl-item.cvf-tl-cvf.cvf-tl-item--milestone { background: var(--cvf-mauve-soft, #F4E6F5); }

/* photographs */
.cvf-photo { margin: 0.5rem 0 2.25rem; }
.cvf-photo img { display: block; width: 100%; aspect-ratio: 16 / 7.5; object-fit: cover; border-radius: var(--cvf-radius-lg, 20px); background: var(--cvf-mauve-soft, #F4E6F5); }
.cvf-photo figcaption { margin-top: 0.6rem; font-size: 0.85rem; line-height: 1.45; color: var(--cvf-ink-2, #3b4a5c); display: flex; flex-direction: column; gap: 0.1rem; max-width: 46rem; }
.cvf-photo__credit { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-photo figcaption a { color: inherit; text-decoration-color: var(--cvf-mauve, #E0B9E3); }
@media (max-width: 640px) { .cvf-photo img { aspect-ratio: 4 / 3; } .cvf-chapter .cvf-tl-item--milestone { margin-left: 0; padding: 1.1rem 1.2rem 1.2rem; } .cvf-chapter .cvf-tl-item--milestone::before { left: -2.25rem; } }

/* ---------- Covid Inquiry hub ---------- */
.cvf-inq-hero{margin:0 0 1rem}
.cvf-core{font-style:normal;font-weight:700;color:var(--cvf-pink)}
.cvf-inq-meta{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin:1.25rem 0 1.5rem;padding:1rem 0;border-top:1px solid var(--cvf-mauve);border-bottom:1px solid var(--cvf-mauve)}
.cvf-inq-meta div{display:grid;gap:.1rem}
.cvf-inq-meta dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cvf-pink);font-weight:700}
.cvf-inq-meta dd{margin:0;font-weight:600;color:var(--cvf-navy)}
.cvf-inq-jump{display:flex;align-items:center;gap:.4rem;overflow-x:auto;white-space:nowrap;padding:.25rem 0 .5rem;-webkit-overflow-scrolling:touch}
.cvf-inq-jump__label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cvf-ink-2);font-weight:700;margin-right:.4rem}
.cvf-inq-jump a{flex:none;padding:.3rem .8rem;border-radius:999px;border:1px solid var(--cvf-mauve);color:var(--cvf-plum);text-decoration:none;font-size:.88rem}
.cvf-inq-jump a:hover,.cvf-inq-jump a:focus{background:var(--cvf-mauve-soft)}
.cvf-inq-sec{margin:4rem 0 0;scroll-margin-top:5rem}
.cvf-inq-sec>.cvf-eyebrow{margin-bottom:.25rem}
.cvf-inq-h{margin:0 0 .75rem;color:var(--cvf-navy)}
.cvf-inq-intro{max-width:62ch;color:var(--cvf-ink-2)}
.cvf-inq-note{color:var(--cvf-ink-2);max-width:62ch;margin-top:1.5rem}
/* timeline */
.cvf-inq-timeline{list-style:none;margin:1.75rem 0 0;padding:0 0 0 1.5rem;border-left:2px solid var(--cvf-mauve)}
.cvf-inq-tl{position:relative;margin:0 0 1.25rem;padding:0}
.cvf-inq-tl::before{content:"";position:absolute;left:-1.95rem;top:.35rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--cvf-pink);box-shadow:0 0 0 4px var(--cvf-bg,#fff)}
.cvf-inq-tl p{margin:.1rem 0 0;max-width:62ch}
.cvf-inq-date{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--cvf-plum)}
.cvf-inq-tl.is-major{background:var(--cvf-mauve-soft);border-radius:var(--cvf-radius);padding:1rem 1.25rem;margin-bottom:1.5rem}
.cvf-inq-tl.is-major::before{width:1rem;height:1rem;left:-2.1rem;top:1.15rem;background:var(--cvf-plum)}
/* evidence archive */
.cvf-inq-panel{background:var(--cvf-plum);color:#fff;border-radius:var(--cvf-radius-lg);padding:2rem clamp(1.25rem,4vw,2.5rem)}
.cvf-inq-panel .cvf-eyebrow{color:var(--cvf-mauve)}
.cvf-inq-panel .cvf-inq-h{color:#fff}
.cvf-inq-panel p{max-width:62ch;margin:0}
.cvf-mod{margin:3rem 0 0}
.cvf-mod__name{margin:0;color:var(--cvf-plum)}
.cvf-mod__sub{margin:.15rem 0 1rem;color:var(--cvf-ink-2)}
.cvf-mod__intro{background:var(--cvf-mauve-soft);border-radius:var(--cvf-radius);padding:1rem 1.25rem;margin-bottom:1rem}
.cvf-mod__intro p{margin:0;max-width:66ch}
.cvf-docs{list-style:none;margin:0;padding:0;border:1px solid var(--cvf-mauve-soft);border-radius:var(--cvf-radius);overflow:hidden;background:#fff}
.cvf-docs li{display:grid;grid-template-columns:9rem 1fr 9.5rem 8.5rem;gap:1rem;align-items:baseline;padding:.6rem 1rem;border-top:1px solid var(--cvf-mauve-soft);font-size:.92rem;margin:0}
.cvf-docs li:first-child{border-top:0}
.cvf-docs__head{background:var(--cvf-mauve-soft);font-size:.7rem!important;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--cvf-plum)}
.cvf-doc__type{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--cvf-pink)}
.cvf-doc__title{font-weight:600}.cvf-doc__title a{color:var(--cvf-plum);text-decoration-thickness:1px;text-underline-offset:3px}.cvf-doc__size{display:inline-block;margin-left:.4rem;font-size:.75rem;font-weight:600;color:var(--cvf-ink-2)}.cvf-docgroup{margin:1.75rem 0 .5rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cvf-plum)}
.cvf-doc__date{color:var(--cvf-ink-2)}
.cvf-doc__ref{font-size:.8rem;color:var(--cvf-ink-2);font-variant-numeric:tabular-nums}
@media(max-width:760px){.cvf-docs__head{display:none!important}.cvf-docs li{grid-template-columns:1fr;gap:.1rem;padding:.8rem 1rem}}
/* experts */
.cvf-inq-experts{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem;margin-top:1.5rem}
.cvf-expert{background:#fff;border:1px solid var(--cvf-mauve-soft);border-radius:var(--cvf-radius-lg);padding:1.25rem 1.4rem}
.cvf-expert h3{margin:.1rem 0 .3rem;color:var(--cvf-plum)}
.cvf-expert p{margin:.4rem 0}
.cvf-expert__title{color:var(--cvf-ink-2);font-size:.95rem}
.cvf-expert--lead{grid-row:span 2;background:var(--cvf-mauve-soft);border-color:var(--cvf-mauve);display:flex;flex-direction:column;justify-content:center}
.cvf-expert--lead h3{font-size:1.6rem}
@media(max-width:760px){.cvf-inq-experts{grid-template-columns:1fr}.cvf-expert--lead{grid-row:auto}}
.cvf-arrow{font-weight:600;color:var(--cvf-plum);text-decoration:none;border-bottom:1px solid var(--cvf-pink)}
.cvf-arrow::after{content:" \2192";color:var(--cvf-pink)}
.cvf-arrow:hover,.cvf-arrow:focus{color:var(--cvf-pink)}
/* findings */
.cvf-brief{background:#fff;border:1px solid var(--cvf-mauve);border-left:6px solid var(--cvf-pink);border-radius:var(--cvf-radius-lg);padding:1.5rem clamp(1.1rem,3vw,2rem);margin:1.5rem 0;box-shadow:var(--cvf-shadow-sm)}
.cvf-brief header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;border-bottom:1px solid var(--cvf-mauve-soft);padding-bottom:.6rem;margin-bottom:.5rem}
.cvf-brief header p{margin:0}
.cvf-brief__date{font-weight:700;color:var(--cvf-pink);letter-spacing:.06em;text-transform:uppercase;font-size:.85rem}
.cvf-brief__pt{margin:1.1rem 0}
.cvf-brief__pt h3{margin:.3rem 0 .2rem;color:var(--cvf-navy);font-size:1.15rem}
.cvf-brief__pt p{margin:0;max-width:66ch}
.cvf-src{display:inline-block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;padding:.15rem .6rem;border-radius:999px}
.cvf-src--inq{background:var(--cvf-navy);color:#fff}
.cvf-src--cvf{background:var(--cvf-mauve);color:var(--cvf-plum)}
.cvf-brief__links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:1.25rem 0 0}
.cvf-await-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}
.cvf-await{border:1px dashed var(--cvf-pink);background:var(--cvf-mauve-soft);border-radius:var(--cvf-radius-lg);padding:1.25rem 1.4rem}
.cvf-await h3{margin:0 0 .3rem;color:var(--cvf-plum)}
.cvf-await__tag{display:inline-block;margin:0 0 .5rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--cvf-pink)}
.cvf-await p:last-child{margin-bottom:0}
/* articles */
.cvf-art-feature{background:var(--cvf-mauve-soft);border-radius:var(--cvf-radius-lg);padding:1.75rem clamp(1.25rem,3vw,2.25rem);margin:1.25rem 0}
.cvf-art-feature h3{margin:.25rem 0 .5rem;font-size:clamp(1.4rem,1.1rem+1vw,1.9rem);line-height:1.2}
.cvf-art-feature h3 a{color:var(--cvf-navy);text-decoration:none}
.cvf-art-feature p{max-width:60ch}
.cvf-art__date{display:block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--cvf-pink)}
.cvf-art-list{list-style:none;margin:0;padding:0}
.cvf-art-list li{display:grid;grid-template-columns:9rem 1fr auto;gap:1rem;align-items:baseline;padding:.85rem 0;border-bottom:1px solid var(--cvf-mauve-soft);margin:0}
.cvf-art-list a{color:var(--cvf-navy);font-weight:600;text-decoration:none}
.cvf-art-list a:hover,.cvf-art-list a:focus{color:var(--cvf-pink)}
.cvf-art__go{color:var(--cvf-pink)}
@media(max-width:640px){.cvf-art-list li{grid-template-columns:1fr auto}.cvf-art-list .cvf-art__date{grid-column:1/-1}}
/* closing */
.cvf-inq-close{margin:4.5rem 0 1rem;background:var(--cvf-plum);color:#fff;border-radius:var(--cvf-radius-lg);padding:2.5rem clamp(1.25rem,4vw,3rem)}
.cvf-inq-close .cvf-eyebrow{color:var(--cvf-mauve)}
.cvf-inq-close h2{color:#fff;margin:.2rem 0 .6rem}
.cvf-inq-close p{max-width:58ch}
.cvf-inq-close__links{display:flex;flex-wrap:wrap;gap:.75rem 2rem;margin-top:1.25rem}
.cvf-inq-close__links a{color:#fff;font-weight:600;border-bottom:1px solid var(--cvf-mauve);text-decoration:none}
.cvf-inq-close__links a:hover,.cvf-inq-close__links a:focus{color:var(--cvf-mauve)}
.cvf-tl-nav ul { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: .5rem 0 0; padding: 0; }
.cvf-tl-nav li { margin: 0; }
.cvf-tl-nav a { display: inline-block; padding: .45rem 1.1rem; border-radius: 999px; background: var(--cvf-mauve-soft); color: var(--cvf-plum); font-weight: 700; text-decoration: none; }
.cvf-tl-nav a:hover, .cvf-tl-nav a:focus { background: var(--cvf-mauve); }

/* ---------- Explainer v2 additions ---------- */
.cvf-info-nav__label--gap { margin-top: 2rem; }
.cvf-info-callout { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem 2rem; margin: 1.5rem 0; padding: clamp(1.25rem, 3vw, 2rem); background: var(--cvf-mauve-soft, #F4E6F5); border: 1px solid #d9c3db; border-radius: var(--cvf-radius-lg, 20px); }
.cvf-info-callout > div { flex: 1 1 24rem; max-width: 44rem; }
.cvf-info-callout h3 { margin: 0.1rem 0 0.5rem; font-size: 1.35rem; }
.cvf-info-callout p:last-child { margin: 0; }
.cvf-info-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.25rem 0 0; }
.cvf-info-duo > div { background: #fff; border: 1px solid #e5e7eb; border-top: 4px solid var(--cvf-pink, #B957B8); border-radius: var(--cvf-radius-lg, 20px); padding: 1.3rem 1.4rem; }
.cvf-info-duo > div:first-child { border-top-color: var(--cvf-plum, #4A254A); }
.cvf-info-duo h3 { margin: 0 0 0.5rem; font-size: 1.2rem; }
.cvf-info-duo p { margin: 0; font-size: 0.98rem; }
@media (max-width: 760px) { .cvf-info-duo { grid-template-columns: 1fr; } }
.cvf-info-layers li:nth-child(5) { margin-left: 4rem; }
@media (max-width: 640px) { .cvf-info-layers li:nth-child(n) { margin-left: 0; } }
.cvf-layers-end { margin: 1.5rem 0 0; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-layers-end--top::before { content: "\2191\00a0"; }
.cvf-layers-end--bottom { margin: 0 0 1.5rem; }
.cvf-layers-end--bottom::before { content: "\2193\00a0"; }
.cvf-info-layers { counter-reset: layer; }
.cvf-info-layers .cvf-layer-dot { counter-increment: layer; display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--cvf-plum, #4A254A); color: #fff; font-weight: 800; }
.cvf-info-layers .cvf-layer-dot::before { content: counter(layer); }
.cvf-risklist { margin: 0; }
.cvf-risklist dt { margin: 1rem 0 0.25rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-risklist dt:first-child { margin-top: 0; }
.cvf-risklist dd { margin: 0; font-size: 0.98rem; }
.cvf-group__body--wide { max-width: none; }
.cvf-group--table .cvf-info-table { font-size: 0.9rem; }
.cvf-group--table .cvf-info-table th, .cvf-group--table .cvf-info-table td { padding: 0.75rem 0.8rem; }
.cvf-group--table .cvf-info-table tbody th { width: 15%; }
.cvf-group--table .cvf-info-table sup a { white-space: nowrap; }
.cvf-info-layers .cvf-layer-dot::after { content: none; }
.cvf-info-layers .cvf-layer-dot { border: 0; margin-top: 0; }
.cvf-info-layers { list-style: none; padding: 0; }
.cvf-layer-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 0.6rem; }
.cvf-layer-pair > div { background: var(--cvf-mauve-soft, #F4E6F5); border-radius: var(--cvf-radius, 12px); padding: 0.9rem 1.1rem; }
.cvf-layer-pair h4 { margin: 0 0 0.35rem; font-size: 1.05rem; }
.cvf-layer-pair p { margin: 0; font-size: 0.95rem; }
@media (max-width: 860px) { .cvf-layer-pair { grid-template-columns: 1fr; } }
.cvf-info-layers li:nth-child(4) { margin-left: 3rem; }
.cvf-info-layers li:nth-child(5) { margin-left: 0; }
@media (max-width: 640px) { .cvf-info-layers li:nth-child(n) { margin-left: 0; } }
