/* Site-wide alignment and reading width for ordinary pages (not the home page, which has its own layout).
   - Text blocks keep a comfortable line length (about 75 characters) and line up with the page title.
   - Plain sections (groups without a background) don't add a second indent inside the first. */
body.page:not(.home) .entry-content > p, body.page:not(.home) .entry-content > h2, body.page:not(.home) .entry-content > h3, body.page:not(.home) .entry-content > h4, body.page:not(.home) .entry-content > h5, body.page:not(.home) .entry-content > ul, body.page:not(.home) .entry-content > ol, body.page:not(.home) .entry-content > blockquote, body.page:not(.home) .entry-content > .wp-block-quote, body.page:not(.home) .entry-content > .wp-block-buttons, body.page:not(.home) .entry-content > .wp-block-table { max-width: calc(48rem + 80px); margin-left: 0 !important; margin-right: auto !important; }
body.page:not(.home) .entry-content > :is(p, h2, h3, h4, h5, ul, ol, blockquote, .wp-block-quote, .wp-block-buttons, .wp-block-table) { max-width: calc(48rem + 80px); margin-left: 0 !important; margin-right: auto !important; }
body.page:not(.home) .entry-content > ul, body.page:not(.home) .entry-content > ol { padding-left: calc(40px + 1.25em) !important; }
body.page:not(.home) .entry-content > :is(ul, ol) { padding-left: calc(40px + 1.25em) !important; }
body.page:not(.home) .entry-content > .wp-block-group:not(.has-background):not(.alignfull):not(.cvf-mauve):not(.cvf-mauve-soft):not(.cvf-plum):not(.cvf-dark):not(.cvf-grey):not(.cvf-white) > .wp-block-group__inner-container { padding-left: 0; padding-right: 0; }
body.page:not(.home) .entry-content > .wp-block-group:not(.has-background):not(.alignfull) > .wp-block-group__inner-container > p, body.page:not(.home) .entry-content > .wp-block-group:not(.has-background):not(.alignfull) > .wp-block-group__inner-container > ul, body.page:not(.home) .entry-content > .wp-block-group:not(.has-background):not(.alignfull) > .wp-block-group__inner-container > ol, body.page:not(.home) .entry-content > .wp-block-group:not(.has-background):not(.alignfull) > .wp-block-group__inner-container > h2, body.page:not(.home) .entry-content > .wp-block-group:not(.has-background):not(.alignfull) > .wp-block-group__inner-container > h3 { max-width: 48rem; }
body.page:not(.home) .entry-content > .wp-block-group:not(.has-background):not(.alignfull) > .wp-block-group__inner-container > :is(p, ul, ol, h2, h3) { max-width: 48rem; }

/* Support & information: coloured panels start at the title's edge, with their text inset (as on other pages). */
.cvf-support-hub .entry-content > .cvf-hub-jump, .cvf-support-hub .entry-content > .cvf-hub-note, .cvf-support-hub .entry-content > .cvf-hub-sec { margin-left: 40px !important; margin-right: 40px !important; }
.cvf-support-hub .entry-content > :is(.cvf-hub-jump, .cvf-hub-note, .cvf-hub-sec) { margin-left: 40px !important; margin-right: 40px !important; }
.cvf-support-hub .entry-content > .cvf-hub-pair { padding-left: 40px !important; padding-right: 40px !important; }
.cvf-support-hub .entry-content > .cvf-hub-sec:not(.cvf-hub-sec--feature):not(.cvf-hub-sec--lilac) { padding-left: 0 !important; padding-right: 0 !important; }
.cvf-support-hub .entry-content > .cvf-hub-disclaimer, .cvf-support-hub .entry-content > .cvf-lead, .cvf-support-hub .entry-content > h2 { max-width: calc(48rem + 80px); margin-left: 0 !important; margin-right: auto !important; }
.cvf-support-hub .entry-content > :is(.cvf-hub-disclaimer, .cvf-lead, h2) { max-width: calc(48rem + 80px); margin-left: 0 !important; margin-right: auto !important; }
@media (max-width: 768px) {
  .cvf-support-hub .entry-content > .cvf-hub-jump, .cvf-support-hub .entry-content > .cvf-hub-note, .cvf-support-hub .entry-content > .cvf-hub-sec, .cvf-support-hub .entry-content > .cvf-hub-end { margin-left: 20px !important; margin-right: 20px !important; }
.cvf-support-hub .entry-content > :is(.cvf-hub-jump, .cvf-hub-note, .cvf-hub-sec, .cvf-hub-end) { margin-left: 20px !important; margin-right: 20px !important; }
  .cvf-support-hub .entry-content > .cvf-hub-pair { padding-left: 20px !important; padding-right: 20px !important; }
}

/* Covid Inquiry record: closing panel starts at the title's edge like other panels. */
body.page .entry-content > .cvf-inq-close { margin-left: 40px; margin-right: 40px; }
@media (max-width: 768px) { body.page .entry-content > .cvf-inq-close { margin-left: 20px; margin-right: 20px; } }

/* Panels and quotes with a background start at the title's edge (text inset), instead of bleeding past it. */
body.page:not(.home) .entry-content > .cvf-resource-card, body.page:not(.home) .entry-content > .cvf-media-bar, body.page:not(.home) .entry-content > .cvf-report-soon, body.page:not(.home) .entry-content > .wp-block-quote, body.page:not(.home) .entry-content > .cvf-airwidget, body.page:not(.home) .entry-content > .cvf-goodair { margin-left: 40px !important; margin-right: 40px !important; }
body.page:not(.home) .entry-content > :is(.cvf-resource-card, .cvf-media-bar, .cvf-report-soon, .wp-block-quote, .cvf-airwidget, .cvf-goodair) { margin-left: 40px !important; margin-right: 40px !important; }
@media (max-width: 768px) {
  body.page:not(.home) .entry-content > .cvf-resource-card, body.page:not(.home) .entry-content > .cvf-media-bar, body.page:not(.home) .entry-content > .cvf-report-soon, body.page:not(.home) .entry-content > .wp-block-quote, body.page:not(.home) .entry-content > .cvf-airwidget, body.page:not(.home) .entry-content > .cvf-goodair { margin-left: 20px !important; margin-right: 20px !important; }
body.page:not(.home) .entry-content > :is(.cvf-resource-card, .cvf-media-bar, .cvf-report-soon, .wp-block-quote, .cvf-airwidget, .cvf-goodair) { margin-left: 20px !important; margin-right: 20px !important; }
}

/* In the news: coverage cards line up with the title (no list indent). */
.cvf-news__list { padding-left: 0 !important; margin-left: 0 !important; }

/* Phones: the theme's side padding is smaller, so lists and the Support page ending follow it. */
@media (max-width: 768px) {
  body.page:not(.home) .entry-content > ul, body.page:not(.home) .entry-content > ol { padding-left: calc(20px + 1.25em) !important; }
body.page:not(.home) .entry-content > :is(ul, ol) { padding-left: calc(20px + 1.25em) !important; }
  .cvf-support-hub .entry-content > .cvf-hub-end { padding-left: 20px !important; padding-right: 20px !important; }
}


/* ---- Newsletter: intro on the left, sign-up panel on the right ---- */
.cvf-signup { gap: clamp(1.5rem, 4vw, 4rem) !important; align-items: flex-start !important; margin-top: .5rem; }
.cvf-signup__intro .cvf-lead { font-size: var(--cvf-text-h3); line-height: 1.35; color: var(--cvf-navy, #17304A); margin-top: 0; }
.cvf-signup__intro p { max-width: 34rem; }
.cvf-signup__list { list-style: none; padding: 0 !important; margin: 1.5rem 0 0; }
.cvf-signup__list li { position: relative; padding: .55rem 0 .55rem 1.9rem; margin: 0; border-top: 1px solid var(--cvf-grey, #E8E6EB); }
.cvf-signup__list li:last-child { border-bottom: 1px solid var(--cvf-grey, #E8E6EB); }
.cvf-signup__list li::before { content: ""; position: absolute; left: .2rem; top: 1.05rem; width: .8rem; height: .45rem; border-left: 3px solid var(--cvf-mauve-ink, #8A4690); border-bottom: 3px solid var(--cvf-mauve-ink, #8A4690); transform: rotate(-45deg); }
.cvf-signup__panel {
  position: relative; overflow: hidden; isolation: isolate;
  background: var(--cvf-mauve-soft, #F3E6F4); border-radius: var(--cvf-radius-lg, 20px);
  padding: clamp(1.5rem, 3vw, 2.5rem) !important; box-shadow: var(--cvf-shadow-sm);
}
.cvf-signup__panel::before { /* a soft, cropped circle: restrained CVF motif */
  content: ""; position: absolute; z-index: -1; right: -90px; top: -90px; width: 260px; height: 260px; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, rgba(224,185,227,.75), rgba(224,185,227,0) 70%);
}
.cvf-signup__title { font-size: var(--cvf-text-h3) !important; margin: 0 0 1.25rem !important; color: var(--cvf-navy, #17304A); }

/* MailPoet form, styled to match the site (newsletter page and home page). */
.mailpoet_form { padding: 0 !important; }
.mailpoet_form .mailpoet_paragraph { margin: 0 0 1rem !important; }
.mailpoet_form .mailpoet_text_label { display: block; font-weight: 700; font-size: .95rem; color: var(--cvf-navy, #17304A); margin-bottom: .35rem; }
.mailpoet_form input.mailpoet_text {
  width: 100% !important; max-width: none !important; box-sizing: border-box; height: 52px; padding: 0 1rem !important;
  border: 1px solid #C9C2D0 !important; border-radius: var(--cvf-radius, 12px) !important; background: #fff !important;
  font-size: 1rem !important; color: var(--cvf-navy, #17304A);
}
.mailpoet_form input.mailpoet_text:focus { outline: 3px solid var(--cvf-mauve-ink, #8A4690) !important; outline-offset: 1px; border-color: var(--cvf-mauve-ink, #8A4690) !important; }
.mailpoet_form .mailpoet_paragraph:not(:has(input)) { font-size: .9rem; color: var(--cvf-ink-2, #4B5563); line-height: 1.5; }
.mailpoet_form .mailpoet_paragraph a { color: var(--cvf-plum, #4A254A); font-weight: 600; }
.mailpoet_form input.mailpoet_submit {
  width: 100% !important; max-width: none !important; min-height: 54px; border: 0 !important; cursor: pointer;
  border-radius: var(--cvf-radius-pill, 999px) !important; background: var(--cvf-pink, #9A3F9B) !important; color: #fff !important;
  font-weight: 700 !important; font-size: 1.05rem !important; margin-top: .25rem;
  transition: background-color var(--cvf-dur-fast, 180ms) ease, transform var(--cvf-dur-fast, 180ms) ease;
}
.mailpoet_form input.mailpoet_submit:hover { background: var(--cvf-pink-dark, #7A2F7B) !important; transform: translateY(-1px); }
.mailpoet_form input.mailpoet_submit:focus-visible { outline: 3px solid var(--cvf-navy, #17304A) !important; outline-offset: 2px; }
.mailpoet_form .mailpoet_message p { margin: .75rem 0 0; font-weight: 600; }
@media (max-width: 781px) {
  .cvf-signup { flex-direction: column; }
  .cvf-signup > .wp-block-column { flex-basis: 100% !important; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .mailpoet_form input.mailpoet_submit:hover { transform: none; } }

/* ---- Text pages: reading column on the left, a helpful panel on the right (like WHO) ---- */
@media (min-width: 1100px) {
  body.cvf-reading .inside-article { display: grid; grid-template-columns: minmax(0, 1fr) 340px; column-gap: clamp(2rem, 4vw, 4.5rem); align-items: start; }
  body.cvf-reading .inside-article > * { grid-column: 1; }
  body.cvf-reading .inside-article > .entry-header { justify-self: stretch; width: auto; margin-left: 0 !important; margin-right: 0 !important; }
  body.cvf-reading .inside-article > .cvf-aside { grid-column: 2; grid-row: 1 / span 6; position: sticky; top: 110px; margin-top: .5rem; }
  body.cvf-reading .entry-content > .alignfull { margin-left: 0 !important; margin-right: 0 !important; width: auto !important; max-width: none; border-radius: var(--cvf-radius-lg, 20px); }
}
.cvf-aside { display: grid; gap: 1.25rem; margin: 2.5rem 40px 0; }
.cvf-aside__card { background: var(--cvf-mauve-soft, #F3E6F4); border-radius: var(--cvf-radius-lg, 20px); padding: 1.6rem 1.5rem; position: relative; overflow: hidden; isolation: isolate; }
.cvf-aside__card--plain { background: var(--cvf-white, #fff); border: 1px solid var(--cvf-grey, #E8E6EB); }
.cvf-aside__card::before { content: ""; position: absolute; z-index: -1; right: -70px; top: -70px; width: 180px; height: 180px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, rgba(224,185,227,.7), rgba(224,185,227,0) 70%); }
.cvf-aside__card--plain::before { display: none; }
.cvf-aside__label { margin: 0 0 .4rem; font-size: var(--cvf-text-eyebrow, .75rem); font-weight: 800; letter-spacing: var(--cvf-tracking-caps, .14em); text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-aside__title { margin: 0 0 .5rem; font-size: 1.25rem; line-height: 1.25; color: var(--cvf-navy, #17304A); }
.cvf-aside__card p { margin: 0 0 1rem; font-size: .97rem; line-height: 1.55; color: var(--cvf-ink-2, #4B5563); }
.cvf-aside__links { list-style: none; margin: 0; padding: 0; }
.cvf-aside__links li { margin: 0; border-top: 1px solid rgba(74, 37, 74, .12); }
.cvf-aside__links a { display: block; padding: .6rem 0; font-weight: 700; color: var(--cvf-plum, #4A254A); text-decoration: none; }
.cvf-aside__links a:hover, .cvf-aside__links a:focus-visible { text-decoration: underline; }
.cvf-aside__btn { display: inline-flex; align-items: center; gap: .5em; padding: .8rem 1.4rem; border-radius: var(--cvf-radius-pill, 999px); background: var(--cvf-pink, #9A3F9B); color: #fff !important; font-weight: 700; text-decoration: none; }
.cvf-aside__btn:hover { background: var(--cvf-pink-dark, #7A2F7B); }
.cvf-aside__btn--outline { background: transparent; color: var(--cvf-navy, #17304A) !important; border: 2px solid var(--cvf-navy, #17304A); }
.cvf-aside__btn--outline:hover { background: var(--cvf-navy, #17304A); color: #fff !important; }
@media (max-width: 768px) { .cvf-aside { margin-left: 20px; margin-right: 20px; } }

/* ---- Dark blue sections beyond the home page ----
   Group block classes: "cvf-dark" (dark blue), plus optional "cvf-gradient" (dark blue easing into plum),
   "cvf-shape-tr" / "cvf-shape-bl" (the mauve shape) and "cvf-panel" (a rounded card inside the text column). */
.cvf-dark.cvf-gradient { background: linear-gradient(135deg, var(--cvf-navy, #17304A) 0%, var(--cvf-navy, #17304A) 48%, #2A2B50 78%, var(--cvf-plum, #4A254A) 118%) !important; }
.entry-content > .cvf-panel { border-radius: var(--cvf-radius-lg, 20px); padding: clamp(1.5rem, 1rem + 2.5vw, 2.75rem) !important; margin: 0 0 2.5rem; }
.cvf-panel > .wp-block-group__inner-container { padding: 0 !important; }
.cvf-panel .wp-block-columns { align-items: center; gap: clamp(1.25rem, 3vw, 2.5rem); margin: 0; }
.cvf-panel .cvf-lead, .cvf-panel p { color: rgba(250, 249, 246, .92); }
.cvf-panel .cvf-lead { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); line-height: 1.5; }
.cvf-panel figure { margin: 0; }
.cvf-panel figure img { display: block; width: 100%; border-radius: var(--cvf-radius, 12px); box-shadow: 0 18px 40px rgba(0, 0, 0, .28); }
.cvf-dark figcaption { color: rgba(250, 249, 246, .72) !important; font-size: .8rem; margin-top: .5rem; }
.cvf-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--cvf-mauve, #E0B9E3); color: var(--cvf-navy, #17304A) !important; }
.cvf-dark .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--cvf-white, #fff); }
.cvf-dark .wp-block-button .wp-block-button__link[href*="/donate"] { background: var(--cvf-pink, #9A3F9B) !important; color: #fff !important; border-color: var(--cvf-pink, #9A3F9B) !important; }
.cvf-dark .wp-block-button .wp-block-button__link[href*="/donate"]:hover { background: var(--cvf-pink-dark, #7A2F7B) !important; }
.cvf-panel > .cvf-lead:last-child, .cvf-panel > p:last-child { margin-bottom: 0; }
/* Panel with its photo across the top: add "cvf-panel--photo-top" to the group. */
.cvf-panel--photo-top .wp-block-columns { flex-direction: column-reverse; align-items: stretch; }
.cvf-panel--photo-top .wp-block-columns > .wp-block-column { flex-basis: 100% !important; width: 100%; }
.cvf-panel--photo-top figure img { aspect-ratio: 3 / 2; height: auto; object-fit: cover; object-position: 50% 40%; }

/* ---- One right edge (site-wide, pages): text uses the full content width, so it lines up with boxes, cards and images ---- */
body.page:not(.home) .entry-content > p, body.page:not(.home) .entry-content > h2, body.page:not(.home) .entry-content > h3, body.page:not(.home) .entry-content > h4, body.page:not(.home) .entry-content > h5, body.page:not(.home) .entry-content > ul, body.page:not(.home) .entry-content > ol, body.page:not(.home) .entry-content > blockquote, body.page:not(.home) .entry-content > .wp-block-quote, body.page:not(.home) .entry-content > .wp-block-buttons, body.page:not(.home) .entry-content > .wp-block-table, body.page:not(.home) .entry-content > .wp-block-group:not(.has-background):not(.alignfull) > .wp-block-group__inner-container > p, body.page:not(.home) .entry-content > .wp-block-group:not(.has-background):not(.alignfull) > .wp-block-group__inner-container > ul, body.page:not(.home) .entry-content > .wp-block-group:not(.has-background):not(.alignfull) > .wp-block-group__inner-container > ol, body.page:not(.home) .entry-content > .wp-block-group:not(.has-background):not(.alignfull) > .wp-block-group__inner-container > h2, body.page:not(.home) .entry-content > .wp-block-group:not(.has-background):not(.alignfull) > .wp-block-group__inner-container > h3, .cvf-support-hub .entry-content > .cvf-hub-disclaimer, .cvf-support-hub .entry-content > .cvf-lead, .cvf-support-hub .entry-content > h2 { max-width: none !important; }
body.page:not(.home) .entry-content > :is(p, h2, h3, h4, h5, ul, ol, blockquote, .wp-block-quote, .wp-block-buttons, .wp-block-table),
body.page:not(.home) .entry-content > .wp-block-group:not(.has-background):not(.alignfull) > .wp-block-group__inner-container > :is(p, ul, ol, h2, h3),
.cvf-support-hub .entry-content > :is(.cvf-hub-disclaimer, .cvf-lead, h2) { max-width: none !important; }
body.page:not(.home) .entry-content > p, body.page:not(.home) .entry-content > ul, body.page:not(.home) .entry-content > ol, body.page:not(.home) .entry-content > h2, body.page:not(.home) .entry-content > h3, body.page:not(.home) .entry-content > h4 { margin-right: 0 !important; }
body.page:not(.home) .entry-content > :is(p, ul, ol, h2, h3, h4) { margin-right: 0 !important; }

/* A wide photo on an ordinary page, cropped to a banner */
.entry-content .cvf-page-photo { margin: 1.75rem 0 2rem; }
.entry-content .cvf-page-photo img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; object-position: 50% 30%; border-radius: var(--cvf-radius-lg, 20px); }
@media (max-width: 640px) { .entry-content .cvf-page-photo img { aspect-ratio: 3 / 2; object-position: 55% 30%; } }

/* Reference lists: closed by default behind a "Show references" button */
.cvf-refs-more { margin: 1rem 0 0; }
.cvf-refs-more > summary { display: inline-flex; align-items: center; gap: .6rem; cursor: pointer; list-style: none; font-weight: 700; color: var(--cvf-plum, #4A254A); background: #fff; padding: .55rem 1.15rem; border: 2px solid var(--cvf-mauve, #E0B9E3); border-radius: 999px; }
.cvf-refs-more > summary::-webkit-details-marker { display: none; }
.cvf-refs-more > summary::after { content: ""; width: .45rem; height: .45rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.cvf-refs-more[open] > summary::after { transform: translateY(2px) rotate(-135deg); }
.cvf-refs-more > summary:hover { background: #F3E6F4; }
.cvf-refs-more > summary:focus-visible { outline: 3px solid #9A3F9B; outline-offset: 2px; }
.cvf-refs-more[open] > summary { margin-bottom: 1.25rem; }
.cvf-refs-more .cvf-refs-hide, .cvf-refs-more[open] .cvf-refs-show { display: none; }
.cvf-refs-more[open] .cvf-refs-hide { display: inline; }
.cvf-refs-more li:target { background: #F3E6F4; border-radius: 6px; }
@media print { .cvf-refs-more > summary { display: none; } }

/* A single link inside a sentence stays inline, so the words after it do not wrap onto a new line */
.entry-content > p > a:only-child { display: inline; }

/* Phones: tap-to-open sections and the risk table as one card per group (built by assets/phone.js) */
.cvf-acc-hide { display: none !important; }
.cvf-acc-btn { all: unset; box-sizing: border-box; display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: .9rem; width: 100%; cursor: pointer; font: inherit; color: inherit; text-align: left; -webkit-tap-highlight-color: transparent; }
.cvf-acc-btn:focus-visible { outline: 3px solid #9A3F9B; outline-offset: 3px; border-radius: 8px; }
.cvf-acc-label { grid-column: 1; grid-row: 1; }
.cvf-acc-chev { grid-column: 2; grid-row: 1; position: relative; width: 2rem; height: 2rem; border-radius: 50%; background: var(--cvf-mauve-soft, #F4E6F5); flex: none; }
.cvf-acc-chev::before { content: ""; position: absolute; left: 50%; top: 50%; width: .5rem; height: .5rem; border-right: 2.5px solid var(--cvf-plum, #4A254A); border-bottom: 2.5px solid var(--cvf-plum, #4A254A); transform: translate(-50%, -70%) rotate(45deg); transition: transform .2s; }
.cvf-acc-btn[aria-expanded="true"] .cvf-acc-chev::before { transform: translate(-50%, -30%) rotate(-135deg); }
.cvf-acc-pills { grid-column: 1 / -1; grid-row: 2; display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .45rem; }
.cvf-acc-pill { font-size: .74rem; font-weight: 700; line-height: 1.2; color: var(--cvf-plum, #4A254A); background: #fff; border: 1px solid var(--cvf-mauve, #E0B9E3); border-radius: 999px; padding: .2rem .55rem; }
.cvf-acc-pill::before { content: "✓ "; }

/* Section headings on long pages */
@media (max-width: 760px) {
	.entry-content h2.cvf-acc-h { font-size: 1.3rem; line-height: 1.25; margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0; padding-bottom: 0; border-top: 1px solid #E7E1EA; }
	.entry-content h2.cvf-acc-h .cvf-acc-btn { padding: 1rem 0; }
	.entry-content h2.cvf-acc-h:has(.cvf-acc-btn[aria-expanded="true"]) { margin-bottom: .5rem !important; }
	.entry-content h2.cvf-acc-h:has(.cvf-acc-btn[aria-expanded="true"]) .cvf-acc-chev { background: var(--cvf-plum, #4A254A); }
	.entry-content h2.cvf-acc-h:has(.cvf-acc-btn[aria-expanded="true"]) .cvf-acc-chev::before { border-color: #fff; }
	.entry-content .cvf-info-sec:has(> h2.cvf-acc-h .cvf-acc-btn[aria-expanded="false"]) { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; }
	.entry-content .cvf-info-sec:has(> h2.cvf-acc-h) > .cvf-eyebrow { margin: 1rem 0 0 !important; }

	/* The risk table: one card per group, closed to its name and ticks */
	.entry-content .cvf-info-table.cvf-acc-table tbody th { padding: 0 !important; }
	.entry-content .cvf-info-table.cvf-acc-table tbody th .cvf-acc-btn { padding: .85rem 1rem; }
	.entry-content .cvf-info-table.cvf-acc-table tr:not(.cvf-acc-open) th { border-bottom: 0; }
	.entry-content .cvf-info-table.cvf-acc-table tr { margin-bottom: .6rem; }
	.entry-content .cvf-info-table.cvf-acc-table td.cvf-cell { display: grid; grid-template-columns: 1fr auto; column-gap: .75rem; align-items: center; padding: .55rem 1rem; color: #9CA3AF; }
	.entry-content .cvf-info-table.cvf-acc-table td.cvf-cell::before { grid-column: 1; margin: 0; font-size: .92rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--cvf-navy, #17304A); }
	.entry-content .cvf-info-table.cvf-acc-table td.cvf-cell > span[aria-hidden="true"] { grid-column: 2; grid-row: 1; margin: 0; font-size: 1.3rem; }
	.entry-content .cvf-info-table.cvf-acc-table td.cvf-cell .cvf-cell-note { grid-column: 1 / -1; display: block; margin-top: .1rem; font-size: .8rem; }
	.entry-content .cvf-info-table.cvf-acc-table td.cvf-cell .cvf-cell-refs { grid-column: 1 / -1; margin-top: .15rem; font-size: .75rem; }
}
.cvf-acc-chev { background: #fff; box-shadow: inset 0 0 0 1px var(--cvf-mauve, #E0B9E3); }
@media (max-width: 760px) {
	.entry-content .cvf-eyebrow + h2.cvf-acc-h { border-top: 0; }
	.entry-content .cvf-eyebrow:has(+ h2.cvf-acc-h) { border-top: 1px solid #E7E1EA; padding-top: 1rem; margin-bottom: 0 !important; }
	.entry-content .cvf-info-blunt .cvf-eyebrow:has(+ h2.cvf-acc-h) { border-top: 0; padding-top: 0; }
	.entry-content .cvf-info-sec:has(> h2.cvf-acc-h) > .cvf-eyebrow { margin-top: 0 !important; }
	.entry-content h2.cvf-acc-h .cvf-acc-btn { padding: .35rem 0 1rem; }
	.entry-content h2.cvf-acc-h:not(.cvf-eyebrow + *) .cvf-acc-btn { padding-top: 1rem; }
}
@media (max-width: 760px) {
	.entry-content .cvf-acc-closed { margin-bottom: 0 !important; padding-bottom: 0 !important; }
	.entry-content h2.cvf-acc-h { font-size: 1.3rem !important; line-height: 1.25 !important; }
	.entry-content .cvf-eyebrow:has(+ h2.cvf-acc-h) { border-top: 0; padding-top: 0; }
	.entry-content .cvf-info-sec > .cvf-eyebrow:has(+ h2.cvf-acc-h) { border-top: 1px solid #E7E1EA; padding-top: 1rem; }
	.entry-content .cvf-info-blunt > .cvf-eyebrow:has(+ h2.cvf-acc-h) { border-top: 0; padding-top: 0; }
	.entry-content header:has(> h2.cvf-acc-h) { padding-top: 1rem !important; }
}

@media (max-width: 760px) {
	.entry-content h3.cvf-acc-h { margin-bottom: .25rem !important; }
	.entry-content h3.cvf-acc-h .cvf-acc-btn { padding: .2rem 0; }
	.entry-content h3.cvf-acc-h .cvf-acc-chev { width: 1.7rem; height: 1.7rem; }
	.entry-content .cvf-mod.cvf-acc-closed { padding-bottom: 1rem !important; }
}

/* Contact page */
.cvf-contact .cvf-lead { margin: 0 0 clamp(1.75rem, 3vw, 2.5rem); max-width: 46rem; }
.cvf-contact .cvf-contact-routes__title { font-size: clamp(1.35rem, 1.1rem + .8vw, 1.75rem); margin: 0 0 1rem; }
.cvf-contact-routes { list-style: none; margin: 0 0 clamp(2.25rem, 4vw, 3.25rem) !important; padding: 0 !important; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.cvf-contact-routes li { margin: 0; }
.cvf-contact-routes a { display: flex; flex-direction: column; gap: .35rem; height: 100%; box-sizing: border-box; padding: 1.25rem 1.2rem 1.3rem; border-radius: var(--cvf-radius-lg, 20px); background: var(--cvf-mauve-soft, #F4E6F5); color: var(--cvf-navy, #17304A); text-decoration: none; border: 1px solid transparent; transition: transform .25s var(--cvf-ease, ease), box-shadow .25s var(--cvf-ease, ease), border-color .25s; }
.cvf-contact-routes li:nth-child(2) a { background: #EAF2FB; }
.cvf-contact-routes li:nth-child(3) a { background: #F7EEF2; }
.cvf-contact-routes li:nth-child(4) a { background: #EEF0F6; }
.cvf-contact-routes a:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(23, 48, 74, .12); border-color: var(--cvf-mauve, #E0B9E3); }
.cvf-contact-routes a:focus-visible { outline: 3px solid #9A3F9B; outline-offset: 3px; }
.cvf-contact-routes strong { font-size: 1.08rem; line-height: 1.25; }
.cvf-contact-routes strong::after { content: " \2192"; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-contact-routes span:not(.cvf-contact-routes__icon) { font-size: .93rem; line-height: 1.45; color: var(--cvf-ink-2, #4B5563); }
.cvf-contact-routes__icon { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; margin-bottom: .35rem; border-radius: 50%; background: #fff; color: var(--cvf-plum, #4A254A); }
.cvf-contact-routes__icon svg { width: 1.45rem; height: 1.45rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.cvf-contact-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: clamp(1.25rem, 3vw, 2.25rem); align-items: start; }
.cvf-contact-card { scroll-margin-top: 6rem; background: #fff; border: 1px solid #E8E6EB; border-radius: var(--cvf-radius-lg, 20px); padding: clamp(1.4rem, 3vw, 2.25rem); box-shadow: 0 18px 44px rgba(23, 48, 74, .08); position: relative; overflow: hidden; }
.cvf-contact-card::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 5px; background: linear-gradient(90deg, var(--cvf-plum, #4A254A), var(--cvf-mauve, #E0B9E3)); }
.cvf-contact-card h2 { margin: 0 0 1.25rem; }
.cvf-contact-card .cvf-eyebrow { margin: 0 0 .4rem; }
.cvf-contact-side { display: grid; gap: 1rem; }
.cvf-contact-panel { border-radius: var(--cvf-radius-lg, 20px); padding: 1.4rem 1.4rem 1.5rem; background: #fff; border: 1px solid #E8E6EB; }
.cvf-contact-panel h3 { margin: 0 0 .6rem; font-size: 1.2rem; }
.cvf-contact-panel p { margin: 0 0 .8rem; }
.cvf-contact-panel p:last-child { margin-bottom: 0; }
.cvf-contact-panel--dark { position: relative; overflow: hidden; border: 0; background: linear-gradient(140deg, var(--cvf-navy, #17304A) 0%, #2E2A55 55%, var(--cvf-plum, #4A254A) 100%); color: #F4EEF6; }
.cvf-contact-panel--dark::after { content: ""; position: absolute; right: -70px; top: -70px; width: 200px; height: 200px; border-radius: 50%; background: radial-gradient(circle, rgba(224, 185, 227, .35), rgba(224, 185, 227, 0) 70%); pointer-events: none; }
.cvf-contact-panel--dark h3 { color: #fff; font-size: 1.35rem; line-height: 1.25; }
.cvf-contact-panel--dark .cvf-eyebrow { color: var(--cvf-mauve, #E0B9E3) !important; margin-bottom: .45rem; }
.cvf-contact-panel--dark p { color: #F4EEF6; }
.cvf-contact-panel--dark blockquote { margin: 1rem 0 1.2rem; padding: .9rem 1rem; border: 0; border-left: 3px solid var(--cvf-mauve, #E0B9E3); border-radius: 0 12px 12px 0; background: rgba(255, 255, 255, .08); }
.cvf-contact-panel--dark blockquote p { margin: 0 0 .4rem; font-size: 1rem; font-style: italic; color: #fff; }
.cvf-contact-panel--dark cite { font-size: .85rem; font-style: normal; font-weight: 700; color: var(--cvf-mauve, #E0B9E3); }
.cvf-contact-panel__btn .cvf-btn { display: inline-flex; gap: .4rem; }
.cvf-contact-panel--lilac { background: var(--cvf-mauve-soft, #F4E6F5); border-color: transparent; }
.cvf-contact-social { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: .5rem; }
.cvf-contact-social li { margin: 0; }
.cvf-contact-social a { display: flex; align-items: center; gap: .7rem; padding: .35rem .4rem; border-radius: 12px; color: var(--cvf-navy, #17304A); font-weight: 700; text-decoration: none; }
.cvf-contact-social a:hover { background: var(--cvf-mauve-soft, #F4E6F5); }
.cvf-contact-social__icon { display: grid; place-items: center; flex: none; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--cvf-plum, #4A254A); color: #fff; }
.cvf-contact-social__icon svg { width: 1.15rem; height: 1.15rem; fill: currentColor; }
.cvf-contact-social__handle { margin-left: auto; font-weight: 400; font-size: .88rem; color: var(--cvf-ink-2, #4B5563); }
@media (max-width: 980px) { .cvf-contact-routes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .cvf-contact-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 480px) { .cvf-contact-routes { grid-template-columns: minmax(0, 1fr); } .cvf-contact-routes a { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: .8rem; } .cvf-contact-routes__icon { margin: 0; } .cvf-contact-routes span:not(.cvf-contact-routes__icon) { flex-basis: 100%; } }
@media (prefers-reduced-motion: reduce) { .cvf-contact-routes a { transition: none; } .cvf-contact-routes a:hover { transform: none; } }

/* Contact page: "How can we help?" sits under the form, in the front-page card style
   (white card, lilac tab, faint line drawing in the corner) */
.cvf-contact-more { margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.cvf-contact-more .cvf-contact-routes { margin-bottom: 0 !important; }
.cvf-contact-routes li a,
.cvf-contact-routes li:nth-child(n) a { position: relative; isolation: isolate; overflow: hidden; min-height: 11.5rem; padding: 1.7rem 1.3rem 1.4rem; gap: .45rem; background: var(--cvf-white, #fff); border: 1px solid var(--cvf-grey, #E8E6EB); border-radius: var(--cvf-radius, 12px); box-shadow: 0 1px 2px rgba(23, 48, 74, .04); }
.cvf-contact-routes li a::before { content: ""; position: absolute; left: 1.3rem; top: 0; width: 2rem; height: 4px; border-radius: 0 0 3px 3px; background: var(--cvf-mauve, #E0B9E3); }
.cvf-contact-routes li a::after { content: ""; position: absolute; z-index: -1; top: 0; right: 0; bottom: 0; left: 0; inset: 0; pointer-events: none; background: no-repeat right -6% bottom -10% / 56% auto; opacity: .16; }
.cvf-contact-routes li.is-story a::after { background-image: url(contact-story.svg); }
.cvf-contact-routes li.is-community a::after { background-image: url(contact-community.svg); }
.cvf-contact-routes li.is-media a::after { background-image: url(contact-media.svg); }
.cvf-contact-routes li.is-organisation a::after { background-image: url(contact-organisation.svg); }
.cvf-contact-routes li a:hover { border-color: var(--cvf-mauve, #E0B9E3); box-shadow: 0 14px 30px rgba(23, 48, 74, .1); }
.cvf-contact-routes li a:hover::after { opacity: .24; }
.cvf-contact-routes strong { font-size: 1.12rem; }
.cvf-contact-routes span { max-width: 26ch; }

.cvf-contact-routes li a, .cvf-contact-routes li:nth-child(n) a { min-height: 13rem; }
.cvf-contact-routes li a::after { background-size: 46% auto; background-position: right -4% bottom -8%; opacity: .11; }
.cvf-contact-routes li a:hover::after { opacity: .18; }

/* Jumping to a section stops clear of the sticky menu bar, so the heading shows */
.entry-content [id] { scroll-margin-top: 7rem; }

/* Jumping to a section stops clear of the sticky menu bar, so the heading shows */
.entry-content [id] { scroll-margin-top: 7rem; }

/* Faint corner drawings in small boxes: one size, fully inside the bottom-right corner, never clipped */
body .cvf-campaigns .wp-block-post.post-12::after, body .cvf-campaigns .wp-block-post.post-14::after, body .cvf-campaigns .wp-block-post.post-15::after, body .cvf-start-card::after, body .cvf-contact-routes li a::after, body #uk-terms .cvf-info-reports a::after {
	top: auto !important; left: auto !important; right: 1rem !important; bottom: 1rem !important;
	width: 6.5rem !important; height: 6.5rem !important;
	background-position: right bottom !important; background-size: contain !important; background-repeat: no-repeat !important;
}
body .cvf-campaigns .wp-block-post:is(.post-12, .post-14, .post-15)::after,
body .cvf-start-card::after,
body .cvf-contact-routes li a::after,
body #uk-terms .cvf-info-reports a::after {
	top: auto !important; left: auto !important; right: 1rem !important; bottom: 1rem !important;
	width: 6.5rem !important; height: 6.5rem !important;
	background-position: right bottom !important; background-size: contain !important; background-repeat: no-repeat !important;
}
body .cvf-info .cvf-info-eq > .cvf-eq-part::after,
body .cvf-info .cvf-layer-pair > div::after {
	top: auto !important; left: auto !important; right: .9rem !important; bottom: .9rem !important;
	width: 4.5rem !important; height: 4.5rem !important;
	background-position: right bottom !important; background-size: contain !important; background-repeat: no-repeat !important;
}

/* A front-page-style hero for ordinary pages (first used on The Right to Protect Your Health) */
.entry-content > .cvf-fade-hero.cvf-fade-hero--page { position: relative; isolation: isolate; overflow: hidden; min-height: 400px; display: flex; align-items: center; margin: 0 0 2rem var(--cvf-gutter, 40px) !important; padding: 0 !important; max-width: none; border-radius: var(--cvf-radius-lg, 20px); background: var(--cvf-warm-white, #FAF9F6); }
.cvf-fade-hero--page .cvf-fade-hero__img { position: absolute; z-index: -1; top: 0; right: 0; width: 58%; height: 100% !important; max-width: none; object-fit: cover; object-position: 62% 30%; border-radius: 0 var(--cvf-radius-lg, 20px) var(--cvf-radius-lg, 20px) 0; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.15) 10%, rgba(0,0,0,.5) 22%, rgba(0,0,0,.85) 34%, #000 46%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.15) 10%, rgba(0,0,0,.5) 22%, rgba(0,0,0,.85) 34%, #000 46%); }
.cvf-fade-hero--page::before { content: ""; position: absolute; z-index: 1; left: -6%; bottom: -16%; width: 56%; height: 28%; background: var(--cvf-mauve, #E0B9E3); clip-path: polygon(0 55%, 22% 22%, 100% 0, 92% 70%, 60% 100%, 0 100%); opacity: .95; pointer-events: none; }
.cvf-fade-hero--page .cvf-fade-hero__text { position: relative; z-index: 2; width: 52%; padding: 1.5rem 0 3.5rem 0; }
.cvf-fade-hero--page .cvf-fade-hero__text .cvf-lead { margin: 0 !important; padding: 0 !important; max-width: none; font-size: clamp(1.15rem, 1rem + .45vw, 1.3rem); line-height: 1.42; font-weight: 600; color: var(--cvf-navy, #17304A); text-shadow: 0 0 18px rgba(250, 249, 246, .95); }
body.page-id-13 .featured-image.page-header-image { display: none; }
@media (max-width: 768px) {
	.entry-content > .cvf-fade-hero.cvf-fade-hero--page { display: block; min-height: 0; border-radius: 0; background: none; margin: 0 20px 1.75rem !important; overflow: visible; }
	.cvf-fade-hero--page .cvf-fade-hero__img { position: relative; z-index: 0; width: 100%; height: auto !important; aspect-ratio: 4 / 3; object-position: 62% 30%; border-radius: var(--cvf-radius-lg, 20px); -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent 100%); mask-image: linear-gradient(180deg, #000 70%, transparent 100%); }
	.cvf-fade-hero--page::before { display: none; }
	.cvf-fade-hero--page .cvf-fade-hero__text { width: auto; margin-top: -.75rem; padding: 0; }
	.cvf-fade-hero--page .cvf-fade-hero__text .cvf-lead { font-size: 1.15rem; }
}

/* Full-width hero (front-page style) on pages that ask for one */
.cvf-full-hero { position: relative; isolation: isolate; overflow: hidden; min-height: min(72vh, 640px); display: flex; align-items: center; background: var(--cvf-warm-white, #FAF9F6); }
.cvf-full-hero__img { position: absolute; z-index: -1; top: 0; right: 0; width: 58%; height: 100% !important; max-width: none; object-fit: cover; object-position: 62% 30%; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.15) 10%, rgba(0,0,0,.5) 20%, rgba(0,0,0,.85) 32%, #000 45%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.15) 10%, rgba(0,0,0,.5) 20%, rgba(0,0,0,.85) 32%, #000 45%); }
.cvf-full-hero::before { content: ""; position: absolute; z-index: 1; left: -6%; bottom: -14%; width: 60%; height: 32%; background: var(--cvf-mauve, #E0B9E3); clip-path: polygon(0 55%, 22% 22%, 100% 0, 92% 70%, 60% 100%, 0 100%); opacity: .95; pointer-events: none; }
.cvf-full-hero__inner { position: relative; z-index: 2; width: 100%; max-width: var(--cvf-container, 1200px); margin: 0 auto; padding: clamp(3rem, 2rem + 5vw, 6rem) var(--cvf-gutter, 40px) clamp(4.5rem, 3rem + 5vw, 7.5rem); box-sizing: border-box; }
.cvf-full-hero__title { margin: 0 0 1.25rem; max-width: min(46%, 13ch); font-size: var(--cvf-text-display, clamp(2.75rem, 2rem + 3vw, 4.25rem)); font-weight: 800; line-height: 1.06; letter-spacing: -.035em; color: var(--cvf-navy, #17304A); }
.cvf-full-hero__title::after { content: ""; display: block; width: 64px; height: 5px; margin-top: 1.1rem; border-radius: 3px; background: var(--cvf-mauve, #E0B9E3); }
.cvf-full-hero__lead { margin: 0 0 1.75rem; max-width: min(46%, 38ch); font-size: clamp(1.1rem, 1rem + .45vw, 1.3rem); line-height: 1.5; color: var(--cvf-navy, #17304A); text-shadow: 0 0 18px rgba(250, 249, 246, .95); }
.cvf-full-hero__actions { margin: 0; }
.cvf-has-full-hero .featured-image.page-header-image { display: none; }
@media (max-width: 768px) {
	.cvf-full-hero { display: block; min-height: 0; overflow: visible; }
	.cvf-full-hero__img { position: relative; z-index: 0; width: 100%; height: auto !important; aspect-ratio: 4 / 3; -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent 100%); mask-image: linear-gradient(180deg, #000 70%, transparent 100%); }
	.cvf-full-hero::before { display: none; }
	.cvf-full-hero__inner { margin-top: -1rem; padding: 0 20px 2rem; }
	.cvf-full-hero__title { max-width: none; font-size: clamp(2.1rem, 1.6rem + 3vw, 2.6rem); }
	.cvf-full-hero__lead { max-width: none; font-size: 1.12rem; }
}

/* Corner drawings: bigger again, bleeding off the bottom-right corner, the same in every box */
body .cvf-campaigns .wp-block-post.post-12::after, body .cvf-campaigns .wp-block-post.post-14::after, body .cvf-campaigns .wp-block-post.post-15::after, body .cvf-start-card::after, body .cvf-contact-routes li a::after, body #uk-terms .cvf-info-reports a::after { right: -1.25rem !important; bottom: -1.5rem !important; width: 11rem !important; height: 11rem !important; }
body .cvf-campaigns .wp-block-post:is(.post-12, .post-14, .post-15)::after,
body .cvf-start-card::after,
body .cvf-contact-routes li a::after,
body #uk-terms .cvf-info-reports a::after { right: -1.25rem !important; bottom: -1.5rem !important; width: 11rem !important; height: 11rem !important; }
body .cvf-info .cvf-info-eq > .cvf-eq-part::after,
body .cvf-info .cvf-layer-pair > div::after { right: -14px !important; bottom: -16px !important; width: 104px !important; height: 104px !important; }

.cvf-has-full-hero #page { margin-top: clamp(2rem, 4vw, 3rem); }

/* Page hero at the full content width (as on the Support page): the page title, then a rounded box with the
   photo fading in from the right and the opening line beside it */
.cvf-wide-hero { max-width: var(--cvf-container, 1200px); margin: 0 auto; padding: clamp(2rem, 1.5rem + 2vw, 3.3rem) 0 0; box-sizing: border-box; }
.cvf-wide-hero__title { margin: 0 var(--cvf-gutter, 40px) clamp(2.5rem, 4vw, 4rem); font-size: 3rem; font-weight: 800; line-height: 1; letter-spacing: -.03em; color: var(--cvf-navy, #17304A); }
.cvf-wide-hero__title::after { content: ""; display: block; width: 72px; height: 6px; margin-top: 1rem; border-radius: 3px; background: var(--cvf-mauve, #E0B9E3); }
.cvf-wide-hero__box { position: relative; isolation: isolate; overflow: hidden; min-height: clamp(340px, 34vw, 430px); display: flex; align-items: center; border-radius: var(--cvf-radius-lg, 20px); background: var(--cvf-warm-white, #FAF9F6); }
.cvf-wide-hero__img { position: absolute; z-index: -1; top: 0; right: 0; width: 62%; height: 100% !important; max-width: none; object-fit: cover; object-position: 62% 30%; border-radius: 0 var(--cvf-radius-lg, 20px) var(--cvf-radius-lg, 20px) 0; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.15) 10%, rgba(0,0,0,.5) 22%, rgba(0,0,0,.85) 36%, #000 50%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.15) 10%, rgba(0,0,0,.5) 22%, rgba(0,0,0,.85) 36%, #000 50%); }
.cvf-wide-hero__box::before { content: ""; position: absolute; z-index: 1; left: -6%; bottom: -16%; width: 52%; height: 30%; background: var(--cvf-mauve, #E0B9E3); clip-path: polygon(0 55%, 22% 22%, 100% 0, 92% 70%, 60% 100%, 0 100%); opacity: .95; pointer-events: none; }
.cvf-wide-hero__text { position: relative; z-index: 2; width: min(46%, 540px); padding: clamp(1.5rem, 3vw, 2.5rem) 0 clamp(3rem, 5vw, 4.25rem) var(--cvf-gutter, 40px); }
.cvf-wide-hero__lead { margin: 0 0 1.5rem; font-size: clamp(1.2rem, 1rem + .6vw, 1.5rem); line-height: 1.35; font-weight: 600; letter-spacing: -.01em; color: var(--cvf-navy, #17304A); text-shadow: 0 0 18px rgba(250, 249, 246, .95); }
.cvf-wide-hero__actions { margin: 0; }
.cvf-has-full-hero #page { margin-top: clamp(2rem, 4vw, 3rem); }
@media (max-width: 768px) {
	.cvf-wide-hero { padding: 1.75rem 20px 0; }
	.cvf-wide-hero__title { margin: 0 0 1.5rem; font-size: clamp(2.1rem, 1.6rem + 3vw, 2.6rem); }
	.cvf-wide-hero__box { display: block; min-height: 0; border-radius: 0; background: none; overflow: visible; }
	.cvf-wide-hero__img { position: relative; z-index: 0; width: 100%; height: auto !important; aspect-ratio: 4 / 3; border-radius: var(--cvf-radius-lg, 20px); -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent 100%); mask-image: linear-gradient(180deg, #000 70%, transparent 100%); }
	.cvf-wide-hero__box::before { display: none; }
	.cvf-wide-hero__text { width: auto; margin-top: -.75rem; padding: 0; }
	.cvf-wide-hero__lead { font-size: 1.15rem; }
}

/* Front page focus areas: a sideways-scrolling row */
.home .cvf-campaigns .wp-block-post-template { display: flex !important; grid-template-columns: none !important; gap: 1.25rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; padding: .25rem 2px 1rem !important; scrollbar-width: thin; scrollbar-color: var(--cvf-mauve, #E0B9E3) transparent; }
.home .cvf-campaigns .wp-block-post { flex: 0 0 calc((100% - 2.5rem) / 3); min-width: 0; height: auto; scroll-snap-align: start; min-height: 17rem; }
.home .cvf-campaigns .wp-block-post:first-child { display: flex !important; flex-direction: column; grid-column: auto; padding: 28px !important; border-radius: 12px; }
.home .cvf-campaigns .wp-block-post:first-child::before { left: 28px; }
.home .cvf-campaigns .wp-block-post:first-child > :not(.wp-block-post-featured-image) { padding: 0 !important; max-width: none !important; }
.home .cvf-campaigns .wp-block-post:first-child .wp-block-post-title { font-size: var(--cvf-text-h3); max-width: none; }
.home .cvf-campaigns .wp-block-post:first-child .wp-block-post-excerpt__excerpt { font-size: inherit; max-width: none; }
.home .cvf-campaigns .wp-block-post:first-child .wp-block-post-featured-image { position: relative; top: auto; right: auto; bottom: auto; left: auto; inset: auto; width: auto; height: auto; margin: -28px -28px 1.25rem; }
.home .cvf-campaigns .wp-block-post:first-child .wp-block-post-featured-image img { position: static; height: auto; aspect-ratio: 16 / 10; clip-path: none; }
.cvf-scroll-nav { display: flex; justify-content: flex-end; gap: .6rem; margin: .5rem 0 0; }
.cvf-scroll-nav[hidden] { display: none; }
.cvf-scroll-nav__btn { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; border-radius: 50%; border: 2px solid var(--cvf-mauve, #E0B9E3); background: #fff; color: var(--cvf-plum, #4A254A); font-size: 1.15rem; font-weight: 700; cursor: pointer; transition: background .2s, border-color .2s; }
.cvf-scroll-nav__btn:hover:not(:disabled) { background: var(--cvf-mauve-soft, #F3E6F4); border-color: var(--cvf-mauve-ink, #8A4690); }
.cvf-scroll-nav__btn:focus-visible { outline: 3px solid #9A3F9B; outline-offset: 2px; }
.cvf-scroll-nav__btn:disabled { opacity: .35; cursor: default; }
@media (max-width: 1023px) { .home .cvf-campaigns .wp-block-post { flex-basis: calc((100% - 1.25rem) / 2); } }
@media (max-width: 640px) { .home .cvf-campaigns .wp-block-post { flex-basis: 84%; } }
@media (prefers-reduced-motion: reduce) { .home .cvf-campaigns .wp-block-post-template { scroll-behavior: auto; } }

.home .cvf-campaigns .wp-block-post:first-child .wp-block-post-excerpt__excerpt, .home .cvf-campaigns .wp-block-post:first-child .wp-block-post-excerpt { font-size: 16px !important; line-height: 1.6 !important; }
.home .cvf-campaigns .wp-block-post:first-child .wp-block-post-excerpt__excerpt { color: var(--cvf-navy, #17304A); }

/* ---- Get involved ---- */
.page-id-20 .cvf-wide-hero__img { object-position: 50% 53%; }
.cvf-gi-ways { margin: 0 0 clamp(2.5rem, 5vw, 4rem) !important; }
.cvf-gi-cards { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; max-width: none !important; }
.cvf-gi-card { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; margin: 0; padding: 2rem 1.6rem 1.6rem; background: #fff; border: 1px solid #E8E6EB; border-radius: var(--cvf-radius-lg, 20px); box-shadow: 0 1px 2px rgba(23, 48, 74, .04); }
.cvf-gi-card.is-community { background: var(--cvf-mauve-soft, #F3E6F4); border-color: transparent; }
.cvf-gi-card::before { content: ""; position: absolute; left: 1.6rem; top: 0; width: 2.75rem; height: 5px; border-radius: 0 0 3px 3px; background: var(--cvf-mauve, #E0B9E3); }
.cvf-gi-card.is-community::before { background: var(--cvf-mauve-ink, #8A4690); }
.cvf-gi-card::after { content: ""; position: absolute; z-index: -1; right: -1.25rem; bottom: -1.5rem; width: 11rem; height: 11rem; background: no-repeat right bottom / contain; opacity: .14; pointer-events: none; }
.cvf-gi-card.is-community::after { background-image: url(contact-community.svg); }
.cvf-gi-card.is-story::after { background-image: url(contact-story.svg); }
.cvf-gi-card.is-amplify::after { background-image: url(contact-megaphone.svg); }
.cvf-gi-card .cvf-eyebrow { margin: 0 0 .4rem !important; }
.cvf-gi-card h3 { margin: 0 0 .65rem !important; font-size: 1.35rem; line-height: 1.25; }
.cvf-gi-card p { margin: 0; color: var(--cvf-ink-2, #3B4A5C); line-height: 1.6; }
.cvf-gi-card__go { margin: auto 0 0 !important; padding-top: 1.25rem; }
.cvf-gi-social { list-style: none; display: flex; flex-wrap: wrap; gap: .6rem; margin: auto 0 0 !important; padding: 1.25rem 0 0 !important; }
.cvf-gi-social li { margin: 0; }
.cvf-gi-social a { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--cvf-plum, #4A254A); color: #fff; transition: background .2s, transform .2s; }
.cvf-gi-social a:hover { background: var(--cvf-mauve-ink, #8A4690); transform: translateY(-2px); }
.cvf-gi-social a:focus-visible { outline: 3px solid #9A3F9B; outline-offset: 2px; }
.cvf-gi-social svg { width: 1.2rem; height: 1.2rem; fill: currentColor; }
.cvf-btn.cvf-btn-outline { display: inline-flex; align-items: center; gap: .4rem; padding: .75rem 1.3rem; border: 2px solid var(--cvf-plum, #4A254A); border-radius: var(--cvf-radius, 12px); background: transparent; color: var(--cvf-plum, #4A254A); font-weight: 700; text-decoration: none; }
.cvf-btn.cvf-btn-outline:hover { background: var(--cvf-plum, #4A254A); color: #fff; }
.cvf-btn.cvf-btn-outline::after { content: "\2192"; }

.cvf-gi-surveys { position: relative; overflow: hidden; margin: 0 0 clamp(2.5rem, 5vw, 4rem) !important; padding: clamp(1.75rem, 4vw, 3rem) !important; border-radius: var(--cvf-radius-lg, 20px); background: var(--cvf-mauve-soft, #F3E6F4); max-width: none !important; }
.cvf-gi-surveys::after { content: ""; position: absolute; right: -90px; top: -90px; width: 260px; height: 260px; border-radius: 50%; background: var(--cvf-mauve, #E0B9E3); opacity: .45; pointer-events: none; }
.cvf-gi-surveys > .cvf-eyebrow { margin: 0 0 .4rem !important; }
.cvf-gi-surveys > h2 { margin: 0 0 1.5rem !important; }
.cvf-gi-survey-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.cvf-gi-survey { display: flex; flex-direction: column; padding: 1.6rem; background: #fff; border-radius: var(--cvf-radius-lg, 20px); box-shadow: 0 10px 28px rgba(23, 48, 74, .07); }
.cvf-gi-survey.is-open { border-top: 5px solid var(--cvf-pink, #9A3F9B); }
.cvf-gi-survey.is-closed { background: rgba(255, 255, 255, .7); box-shadow: none; }
.cvf-gi-survey h3 { margin: .6rem 0 .5rem !important; font-size: 1.3rem; }
.cvf-gi-survey p { margin: 0; color: var(--cvf-ink-2, #3B4A5C); }
.cvf-gi-badge { display: inline-flex; align-self: flex-start; align-items: center; gap: .45rem; margin: 0 !important; padding: .3rem .75rem; border-radius: 999px; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.is-open .cvf-gi-badge { background: var(--cvf-pink, #9A3F9B); color: #fff !important; }
.is-open .cvf-gi-badge::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: #fff; animation: cvfGiPulse 1.8s ease-in-out infinite; }
.is-closed .cvf-gi-badge { background: #ECEAF0; color: #4B5563 !important; }
@keyframes cvfGiPulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .is-open .cvf-gi-badge::before { animation: none; } .cvf-gi-social a:hover { transform: none; } }
@media (max-width: 900px) { .cvf-gi-cards { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .cvf-gi-survey-grid { grid-template-columns: 1fr; } }

.entry-content > .cvf-gi-surveys { margin-left: var(--cvf-gutter, 40px) !important; margin-right: var(--cvf-gutter, 40px) !important; }
@media (max-width: 768px) { .entry-content > .cvf-gi-surveys { margin-left: 20px !important; margin-right: 20px !important; padding: 1.5rem 1.1rem !important; } }

/* UK terms: shorter cards, so a smaller drawing that only bleeds off the bottom and right */
body #uk-terms .cvf-info-reports a::after { width: 7.5rem !important; height: 7.5rem !important; right: -1rem !important; bottom: -1.4rem !important; opacity: .16 !important; }

/* Get involved: the peer support card in the dark blue style */
.cvf-gi-card.is-community { background: linear-gradient(140deg, var(--cvf-navy, #17304A) 0%, #2E2A55 58%, var(--cvf-plum, #4A254A) 100%); border-color: transparent; box-shadow: 0 14px 34px rgba(23, 48, 74, .18); }
.cvf-gi-card.is-community::before { background: var(--cvf-mauve, #E0B9E3); }
.cvf-gi-card.is-community::after { filter: brightness(0) invert(1); opacity: .12; }
.cvf-gi-card.is-community .cvf-eyebrow { color: var(--cvf-mauve, #E0B9E3) !important; }
.cvf-gi-card.is-community h3 { color: #fff; }
.cvf-gi-card.is-community p { color: #E6E8F0; }

/* ---- Our work ---- */
.page-id-11 .cvf-wide-hero__img { object-position: 60% 50%; }
.cvf-ow-areas { margin: 0 0 clamp(2.5rem, 5vw, 4rem) !important; }
.cvf-ow-areas > .cvf-eyebrow { margin: 0 0 .4rem !important; }
.cvf-ow-areas > h2 { margin: 0 0 1.5rem !important; }
.cvf-ow-grid { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; max-width: none !important; }
.cvf-ow-card { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; margin: 0; min-height: 16rem; padding: 2rem 1.6rem 1.5rem; background: #fff; border: 1px solid #E8E6EB; border-radius: var(--cvf-radius, 12px); box-shadow: 0 1px 2px rgba(23, 48, 74, .04); transition: transform .25s var(--cvf-ease, ease), border-color .25s, box-shadow .25s; }
.cvf-ow-card::before { content: ""; position: absolute; left: 1.6rem; top: 0; width: 2.75rem; height: 5px; border-radius: 0 0 3px 3px; background: var(--cvf-mauve, #E0B9E3); }
.cvf-ow-card::after { content: ""; position: absolute; z-index: -1; right: -1.25rem; bottom: -1.5rem; width: 11rem; height: 11rem; background: no-repeat right bottom / contain; opacity: .16; pointer-events: none; }
.cvf-ow-card.is-voting::after { background-image: url(/wp-content/themes/cvf-editorial/assets/icons/icon-ballot.png); }
.cvf-ow-card.is-air::after { background-image: url(/wp-content/themes/cvf-editorial/assets/icons/icon-wind.png); }
.cvf-ow-card.is-schools::after { background-image: url(/wp-content/themes/cvf-editorial/assets/icons/icon-checklist.png); }
.cvf-ow-card.is-inquiry::after { background-image: url(/wp-content/themes/cvf-editorial/assets/icons/rings-motif.png); opacity: .22; }
.cvf-ow-card.is-reports::after { background-image: url(contact-report.svg); }
.cvf-ow-card.is-inquiry { grid-column: span 2; background: var(--cvf-mauve-soft, #F3E6F4); border-color: transparent; }
.cvf-ow-card.is-inquiry::before { background: var(--cvf-mauve-ink, #8A4690); }
.cvf-ow-card .cvf-eyebrow { margin: 0 0 .4rem !important; }
.cvf-ow-card h3 { margin: 0 0 .6rem !important; font-size: 1.35rem; line-height: 1.25; }
.cvf-ow-card h3 a { color: var(--cvf-navy, #17304A); text-decoration: none; }
.cvf-ow-card h3 a::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; z-index: 2; }
.cvf-ow-card h3 a:focus-visible { outline: none; }
.cvf-ow-card:has(h3 a:focus-visible) { outline: 3px solid #9A3F9B; outline-offset: 3px; }
.cvf-ow-card p { margin: 0; color: var(--cvf-ink-2, #3B4A5C); line-height: 1.6; }
.cvf-ow-card.is-inquiry > p:not(.cvf-eyebrow):not(.cvf-ow-card__more) { max-width: 46ch; }
.cvf-ow-card .cvf-ow-card__more { margin-top: auto !important; padding-top: 1.1rem; color: var(--cvf-mauve-ink, #8A4690); font-weight: 700; }
.cvf-ow-card:hover { transform: translateY(-3px); border-color: var(--cvf-mauve, #E0B9E3); box-shadow: 0 14px 30px rgba(23, 48, 74, .1); }

/* Behind everything we do: a round icon on each card */
.page-id-11 .cvf-cards > .wp-block-column > h3::before { content: ""; display: block; width: 2.75rem; height: 2.75rem; margin: 0 0 .85rem; border-radius: 50%; background: var(--cvf-mauve-soft, #F3E6F4) no-repeat center / 1.5rem; }
.page-id-11 .cvf-cards > .wp-block-column:nth-child(1) > h3::before { background-image: url(work-research.svg); }
.page-id-11 .cvf-cards > .wp-block-column:nth-child(2) > h3::before { background-image: url(work-education.svg); }
.page-id-11 .cvf-cards > .wp-block-column:nth-child(3) > h3::before { background-image: url(work-support.svg); }
.page-id-11 .cvf-cards > .wp-block-column:nth-child(4) > h3::before { background-image: url(work-legal.svg); }

/* The open survey, as on Get involved */
.entry-content > .cvf-ow-survey { margin-left: var(--cvf-gutter, 40px) !important; margin-right: var(--cvf-gutter, 40px) !important; }
.cvf-ow-survey .cvf-gi-survey-grid { grid-template-columns: 1fr; }
.cvf-ow-survey .cvf-gi-survey { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 2rem; }
.cvf-ow-survey .cvf-gi-survey > div { flex: 1 1 22rem; }
.cvf-ow-survey .cvf-gi-survey .cvf-gi-card__go { margin: 0 !important; padding-top: 1rem; }

@media (max-width: 900px) { .cvf-ow-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .cvf-ow-grid { grid-template-columns: 1fr; } .cvf-ow-card.is-inquiry { grid-column: auto; } }
@media (max-width: 768px) { .entry-content > .cvf-ow-survey { margin-left: 20px !important; margin-right: 20px !important; } }
@media (prefers-reduced-motion: reduce) { .cvf-ow-card { transition: none; } .cvf-ow-card:hover { transform: none; } }

/* Reports: a hero with a 90-degree fan of report covers, the newest on top */
.entry-content > .cvf-reports-hero { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; gap: 1rem; min-height: clamp(380px, 36vw, 460px); margin: 1.5rem var(--cvf-gutter, 40px) clamp(2rem, 4vw, 3rem) !important; padding: 0 !important; max-width: none !important; border-radius: var(--cvf-radius-lg, 20px); background: radial-gradient(ellipse at 72% 85%, rgba(224, 185, 227, .55) 0%, rgba(224, 185, 227, 0) 60%), var(--cvf-warm-white, #FAF9F6); }
.cvf-reports-hero::before { content: ""; position: absolute; z-index: 0; left: -6%; bottom: -16%; width: 52%; height: 30%; background: var(--cvf-mauve, #E0B9E3); clip-path: polygon(0 55%, 22% 22%, 100% 0, 92% 70%, 60% 100%, 0 100%); opacity: .95; pointer-events: none; }
.cvf-reports-hero__text { position: relative; z-index: 1; padding: clamp(1.5rem, 3vw, 2.5rem) 0 clamp(3.5rem, 5vw, 4.5rem) clamp(1.25rem, 3vw, 2.5rem); }
.cvf-reports-hero__text .cvf-eyebrow { margin: 0 0 .6rem !important; }
.cvf-reports-hero__text .cvf-lead { margin: 0 !important; padding: 0 !important; max-width: 30ch; font-size: clamp(1.3rem, 1rem + 1vw, 1.8rem); line-height: 1.3; font-weight: 600; color: var(--cvf-navy, #17304A); }
.cvf-fan { position: relative; z-index: 1; height: clamp(330px, 32vw, 420px); }
.cvf-fan__card { position: absolute; left: 50%; bottom: clamp(-2rem, -2vw, -1rem); width: clamp(140px, 13vw, 190px); height: auto; aspect-ratio: 5 / 7; object-fit: cover; border-radius: 6px; box-shadow: 0 10px 26px rgba(23, 48, 74, .22), 0 2px 6px rgba(23, 48, 74, .12); transform-origin: 50% 100%; transform: translateX(-50%) rotate(var(--a)); z-index: var(--z); background: #fff; }
.cvf-fan__card:last-child { box-shadow: 0 18px 40px rgba(23, 48, 74, .3), 0 3px 8px rgba(23, 48, 74, .14); }
@media (prefers-reduced-motion: no-preference) {
	.cvf-fan__card { animation: cvfFanOut .9s cubic-bezier(.2, .8, .2, 1) both; animation-delay: calc(var(--z) * 60ms); }
	@keyframes cvfFanOut { from { transform: translateX(-50%) rotate(0deg); } to { transform: translateX(-50%) rotate(var(--a)); } }
}
@media (max-width: 760px) {
	.entry-content > .cvf-reports-hero { grid-template-columns: 1fr; margin: 1.25rem 20px 1.75rem !important; }
	.cvf-reports-hero::before { display: none; }
	.cvf-reports-hero__text { padding: 1.5rem 1.25rem 0; }
	.cvf-fan { height: 270px; }
	.cvf-fan__card { width: 120px; bottom: -1.25rem; }
}

.cvf-fan__card { width: clamp(160px, 17.5vw, 235px); bottom: clamp(-3.25rem, -2.6vw, -1.25rem); }
@media (max-width: 760px) { .cvf-fan__card { width: 130px; bottom: -1.5rem; } }

/* Reports: a slimmer findings band, and every report card in pink */
.page-id-17 .entry-content > .cvf-dark.cvf-section { padding-top: clamp(2.25rem, 4vw, 3.25rem) !important; padding-bottom: clamp(2.25rem, 4vw, 3.25rem) !important; }
.page-id-17 .entry-content > .cvf-dark.cvf-section h2 { margin-bottom: 1.25rem !important; }
.page-id-17 .entry-content > .cvf-dark.cvf-section .cvf-stats { margin-top: 0 !important; margin-bottom: 0 !important; }
.cvf-reports .cvf-report, .cvf-reports .cvf-report:nth-child(n) { background: var(--cvf-mauve-soft, #F3E6F4); border-color: transparent; }

.page-id-17 .entry-content > .cvf-dark.cvf-section > .wp-block-group__inner-container { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Reports: lift the fan so the top cover sits inside the hero; white "More to come" */
.cvf-fan__card { bottom: clamp(1rem, 2vw, 1.75rem); }
@media (max-width: 760px) { .cvf-fan__card { bottom: 1rem; } }
.page-id-17 .entry-content > .cvf-report-soon { background: #fff !important; }

/* Reports fan: every cover ends at the bottom edge of the top cover */
.cvf-fan { clip-path: inset(-100vw -100vw 0 -100vw); transform: translateY(calc(-1 * clamp(1rem, 2vw, 1.75rem))); }
.cvf-fan__card, .cvf-fan__card:nth-child(n) { bottom: 0 !important; }
@media (max-width: 760px) { .cvf-fan { transform: translateY(-1rem); } }

/* Reports fan sits on the hero's bottom edge */
.cvf-reports-hero > .cvf-fan, .cvf-fan { align-self: end; margin-bottom: 0 !important; transform: none !important; }

/* ---- Rolling logo coin (assets/cvf-coin.js) ---- */
.cvf-coin-canvas { position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; }
.cvf-hero > .wp-block-cover__inner-container { z-index: 3; } /* text stays above the coin and the white fade */
.home .cvf-hero::before { display: none !important; } /* no lilac wedge: the logo's paint trail runs there instead */

/* ---- Phones: tighter vertical rhythm (less white space) ---- */
@media (max-width: 768px) {
	:root { --cvf-section-y: 2.25rem; --cvf-space-7: 2rem; --cvf-space-8: 2.5rem; --cvf-space-9: 3rem; }
	/* GeneratePress pads every group's inner box by 30px; nested groups stacked it up */
	.site-main .wp-block-group__inner-container { padding-top: 0; padding-bottom: 0; }
	.entry-header, .page-header { padding-top: 1.5rem; padding-bottom: 1rem; }
	.cvf-hero .wp-block-cover__inner-container { padding: 1.75rem var(--cvf-gutter) 2rem; }
	.cvf-inquiry .wp-block-cover__inner-container { padding-top: 2.5rem; padding-bottom: 2.5rem; }
	.entry-content > .wp-block-group.alignfull[style*="padding"] { padding-top: var(--cvf-section-y) !important; padding-bottom: var(--cvf-section-y) !important; }
	.entry-content .wp-block-columns { margin-bottom: 1.25rem; }
	.entry-content .wp-block-column > .wp-block-quote, .entry-content .wp-block-column > blockquote { margin-top: 0; margin-bottom: 0; }
	.entry-content > .wp-block-group.cvf-dark .cvf-stats { margin: 1.5rem 0; }
	.entry-content > .cvf-ow-areas, .entry-content > .cvf-gi-ways, .entry-content > .cvf-gi-surveys { margin-bottom: 1.75rem !important; }
	.cvf-nation { padding-bottom: 1.5rem; }
}
@media (max-width: 768px) {
	body .entry-content .cvf-hub-sec { margin-bottom: 1.25rem !important; }
	body .entry-content .cvf-nation { padding-bottom: 1.75rem !important; }
}

/* About: strip for the rolling logo between the title and the intro */
.page-id-10 .entry-header { padding-bottom: 0 !important; }
.cvf-coin-strip { position: relative; height: clamp(88px, 8vw, 104px); margin: 0 0 0.75rem; overflow: hidden; pointer-events: none; }
.cvf-coin-strip .cvf-coin-canvas { z-index: 0; }
.cvf-coin-strip { overflow: visible; } /* the coin's canvas runs the full window width (data-cvf-coin-bleed) */
.cvf-coin-strip { height: clamp(100px, 9.5vw, 120px); }

/* Hero wedges: bigger, so the pink shape sweeps across into the photo (desktop) */
@media (min-width: 769px) {
	.cvf-wide-hero__box::before, .cvf-fade-hero::before, .cvf-fade-hero--page::before, .cvf-full-hero::before { width: 80% !important; height: 40% !important; }
	.cvf-reports-hero::before { width: 80% !important; height: 34% !important; }
}
@media (min-width: 769px) {
	.cvf-wide-hero__box::before, .cvf-fade-hero::before, .cvf-fade-hero--page::before, .cvf-full-hero::before { width: 66% !important; height: 34% !important; }
	.cvf-reports-hero::before { width: 66% !important; height: 31% !important; }
}
@media (min-width: 769px) {
	.cvf-fade-hero:has(img[src*="not-expendable"])::before { width: 58% !important; } /* stays clear of the placard */
}

/* Clean Air page in blue: the pale blue and sky blue of the ventilation quote on Clinical vulnerability */
.page-id-14 { --air-soft: #E6F0FB; --air-sky: #7DB3EC; --air-ink: #2E6DA4; }
.cvf-air-facts .wp-block-column { background: var(--air-soft, #E6F0FB); }
.page-id-14 .entry-header .entry-title::after { background: var(--air-sky); }
.page-id-14 .entry-content p.cvf-eyebrow, .page-id-14 .cvf-aw-metric__label { color: var(--air-ink) !important; }
.page-id-14 .cvf-goodair p.cvf-eyebrow, .page-id-14 .cvf-ga-num, .page-id-14 .entry-content > .wp-block-group.alignfull p.cvf-eyebrow { color: var(--air-sky) !important; }
.page-id-14 .cvf-aw-tabs button[aria-pressed="true"], .page-id-14 .cvf-aw-tabs button[aria-selected="true"], .page-id-14 .cvf-aw-tabs button.is-active { background: var(--air-ink) !important; border-color: var(--air-ink) !important; }
.page-id-14 .cvf-aw-sources a { color: var(--air-ink); }
.page-id-14 ol.cvf-asks > li::before { background: var(--air-sky); color: #17304A; }
.page-id-14 .entry-content > .wp-block-group.alignfull:not(.cvf-goodair) { background-color: #17304A !important; }
.page-id-14 .entry-content > .wp-block-group.alignfull::before { background: var(--air-sky) !important; }
.page-id-14 .entry-content > .wp-block-group.alignfull .wp-block-button__link { background: var(--air-sky) !important; color: #17304A !important; }

/* Clean Air fact cards: photo across the top of the card */
.cvf-air-facts .wp-block-column { overflow: hidden; }
.cvf-air-facts .cvf-air-fact__img { margin: -1.5rem -1.5rem 1.1rem !important; max-width: none; }
.cvf-air-facts .cvf-air-fact__img img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; }
.page-id-14 .cvf-aw-tabs button:hover { background: rgba(125, 179, 236, 0.22); }
.page-id-14 .cvf-aw-tabs button[aria-pressed="true"]:hover { background: #255C8C !important; }
.page-id-14 .cvf-aw-tabs button:focus-visible { outline-color: var(--air-ink, #2E6DA4); }
/* Clean Air calculator: its lilac-greys become blue-greys */
.page-id-14 .cvf-aw-tabs { background: #EEF2F7; }
.page-id-14 .cvf-aw-bar { background: #E2E8F0; }
.page-id-14 .cvf-aw-metric { border-color: #E1E8F0; }
.page-id-14 .cvf-airwidget { border-color: #E1E8F0; }
.page-id-14 .cvf-aw-metric { background: #F6F9FC; }

/* ---- About CVF ---- */
.entry-content > .cvf-ab-intro, .entry-content > .cvf-ab-aims, .entry-content > .cvf-ab-voices, .entry-content > .cvf-ab-structure, .entry-content > .cvf-ab-next { max-width: none !important; margin: 0 0 clamp(2.5rem, 5vw, 4rem) !important; }
.entry-content > :is(.cvf-ab-intro, .cvf-ab-aims, .cvf-ab-voices, .cvf-ab-structure, .cvf-ab-next) { max-width: none !important; margin: 0 0 clamp(2.5rem, 5vw, 4rem) !important; }
.cvf-ab-aims > .cvf-eyebrow, .cvf-ab-voices > .cvf-eyebrow, .cvf-ab-next > .cvf-eyebrow, .cvf-ab-structure .cvf-eyebrow { margin: 0 0 .4rem !important; }
.cvf-ab-aims > h2, .cvf-ab-voices > h2, .cvf-ab-next > h2 { margin: 0 0 1.5rem !important; }

/* Intro and key facts */
.cvf-ab-intro { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.cvf-ab-intro p { margin: 0 0 1rem; color: var(--cvf-ink-2, #3B4A5C); line-height: 1.65; }
.cvf-ab-intro .cvf-ab-lead { font-size: clamp(1.2rem, 1rem + .8vw, 1.5rem); line-height: 1.45; font-weight: 500; color: var(--cvf-navy, #17304A); }
.cvf-ab-facts { margin: 0; padding: 1.5rem 1.6rem; display: grid; gap: 1.1rem; background: var(--cvf-mauve-soft, #F3E6F4); border-radius: var(--cvf-radius-lg, 20px); }
.cvf-ab-facts > div { padding-left: .9rem; border-left: 3px solid var(--cvf-mauve-ink, #8A4690); }
.cvf-ab-facts dt { margin: 0 0 .15rem; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-ab-facts dd { margin: 0; font-size: 1.05rem; font-weight: 700; line-height: 1.35; color: var(--cvf-navy, #17304A); }

/* Aims */
.cvf-ab-cards, .cvf-ab-quotes, .cvf-ab-links { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.cvf-ab-card { position: relative; isolation: isolate; overflow: hidden; margin: 0; min-height: 13rem; padding: 2rem 1.6rem 1.75rem; background: #fff; border: 1px solid #E8E6EB; border-radius: var(--cvf-radius-lg, 20px); box-shadow: 0 1px 2px rgba(23, 48, 74, .04); }
.cvf-ab-card.is-educate { background: var(--cvf-mauve-soft, #F3E6F4); border-color: transparent; }
.cvf-ab-card::before { content: ""; position: absolute; left: 1.6rem; top: 0; width: 2.75rem; height: 5px; border-radius: 0 0 3px 3px; background: var(--cvf-mauve, #E0B9E3); }
.cvf-ab-card.is-educate::before { background: var(--cvf-mauve-ink, #8A4690); }
.cvf-ab-card::after { content: ""; position: absolute; z-index: -1; right: -1.25rem; bottom: -1.5rem; width: 11rem; height: 11rem; background: no-repeat right bottom / contain; opacity: .14; pointer-events: none; }
.cvf-ab-card.is-support::after { background-image: url(contact-community.svg); }
.cvf-ab-card.is-educate::after { background-image: url(work-education.svg); }
.cvf-ab-card.is-assist::after { background-image: url(work-support.svg); }
.cvf-ab-card__num { margin: 0 0 .5rem !important; font-size: .8rem; font-weight: 800; letter-spacing: .12em; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-ab-card h3 { margin: 0 0 .6rem !important; font-size: 1.45rem; }
.cvf-ab-card p { margin: 0; color: var(--cvf-ink-2, #3B4A5C); line-height: 1.6; max-width: 30ch; }

/* Vision and mission, in the dark band */
.cvf-ab-vm { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2rem); margin-top: 1.25rem; }
.cvf-ab-vm > div { padding: 1.6rem 1.75rem; border-radius: var(--cvf-radius-lg, 20px); background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); }
.cvf-ab-vm .cvf-ab-vm__label { margin: 0 0 .6rem; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--cvf-mauve, #E0B9E3) !important; }
.cvf-ab-vm .cvf-ab-vm__text { margin: 0; font-size: clamp(1.2rem, 1rem + .9vw, 1.6rem); line-height: 1.38; font-weight: 600; color: #fff !important; }

/* Community quotes */
.cvf-ab-quote { margin: 0; display: flex; }
.cvf-ab-quote blockquote { position: relative; display: flex; flex-direction: column; width: 100%; margin: 0 !important; padding: 2.75rem 1.5rem 1.4rem !important; background: #fff; border: 1px solid #E8E6EB !important; border-radius: var(--cvf-radius-lg, 20px); font-size: 1rem; font-style: normal; }
.cvf-ab-quote:nth-child(3n+2) blockquote { background: var(--cvf-mauve-soft, #F3E6F4); border-color: transparent !important; }
.cvf-ab-quote blockquote::before { content: "\201C"; position: absolute; top: .35rem; left: 1.3rem; font-family: Georgia, "Times New Roman", serif; font-size: 4.2rem; line-height: 1; color: var(--cvf-mauve, #E0B9E3); }
.cvf-ab-quote blockquote p { margin: 0 0 1.25rem !important; padding: 0 !important; font-family: var(--cvf-font-serif, Georgia, serif); font-style: italic; font-size: 1.12rem; line-height: 1.5; color: var(--cvf-navy, #17304A); }
.cvf-ab-quote footer { margin-top: auto; display: flex; align-items: center; gap: .7rem; }
.cvf-ab-quote__avatar { flex: none; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--cvf-mauve-soft, #F3E6F4); color: var(--cvf-mauve-ink, #8A4690); font-size: .82rem; font-weight: 800; letter-spacing: .03em; }
.cvf-ab-quote:nth-child(3n+2) .cvf-ab-quote__avatar { background: #fff; }
.cvf-ab-quote cite { font-style: normal; font-weight: 700; font-size: .95rem; color: var(--cvf-navy, #17304A); }

/* Structure and registered details */
.cvf-ab-structure { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.cvf-ab-structure h2 { margin: 0 0 1rem !important; }
.cvf-ab-structure p { margin: 0 0 1rem; color: var(--cvf-ink-2, #3B4A5C); line-height: 1.65; }
.cvf-ab-company { position: relative; overflow: hidden; margin-top: 2.6rem; padding: 1.5rem 1.6rem; background: #fff; border: 1px solid #E8E6EB; border-radius: var(--cvf-radius-lg, 20px); }
.cvf-ab-company::before { content: ""; position: absolute; left: 1.6rem; top: 0; width: 2.75rem; height: 5px; border-radius: 0 0 3px 3px; background: var(--cvf-mauve, #E0B9E3); }
.cvf-ab-structure .cvf-ab-company p { margin: 0 0 .3rem; color: var(--cvf-navy, #17304A); }
.cvf-ab-structure .cvf-ab-company .cvf-ab-company__label { margin: 0 0 .6rem; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-ab-structure .cvf-ab-company .cvf-ab-company__name { font-weight: 700; }
.cvf-ab-company__num { font-variant-numeric: tabular-nums; font-weight: 700; }

/* More about us */
.cvf-ab-link { position: relative; margin: 0; padding: 1.4rem 1.5rem; background: #fff; border: 1px solid #E8E6EB; border-radius: var(--cvf-radius, 12px); transition: transform .25s var(--cvf-ease, ease), border-color .25s, box-shadow .25s; }
.cvf-ab-link h3 { margin: 0 0 .35rem !important; font-size: 1.2rem; }
.cvf-ab-link h3 a { color: var(--cvf-navy, #17304A); text-decoration: none; }
.cvf-ab-link h3 a::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; }
.cvf-ab-link h3 a:focus-visible { outline: none; }
.cvf-ab-link:has(a:focus-visible) { outline: 3px solid #9A3F9B; outline-offset: 3px; }
.cvf-ab-link p { margin: 0; color: var(--cvf-ink-2, #3B4A5C); font-size: .95rem; line-height: 1.55; }
.cvf-ab-link .cvf-ab-link__go { margin-top: .8rem; color: var(--cvf-mauve-ink, #8A4690); font-weight: 700; }
.cvf-ab-link:hover { transform: translateY(-3px); border-color: var(--cvf-mauve, #E0B9E3); box-shadow: 0 14px 30px rgba(23, 48, 74, .1); }

/* Join / support panel */
.entry-content > .cvf-ab-cta { position: relative; overflow: hidden; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; max-width: none !important; margin: 0 var(--cvf-gutter, 40px) clamp(2.5rem, 5vw, 4rem) !important; padding: clamp(1.75rem, 4vw, 3rem) !important; border-radius: var(--cvf-radius-lg, 20px); background: var(--cvf-mauve-soft, #F3E6F4); }
.cvf-ab-cta::after { content: ""; position: absolute; right: -90px; top: -90px; width: 260px; height: 260px; border-radius: 50%; background: var(--cvf-mauve, #E0B9E3); opacity: .45; pointer-events: none; }
.cvf-ab-cta > * { position: relative; z-index: 1; }
.cvf-ab-cta h2 { margin: 0 0 .4rem !important; }
.cvf-ab-cta p { margin: 0; color: var(--cvf-ink-2, #3B4A5C); max-width: 46ch; }
.cvf-ab-cta .cvf-ab-cta__btns { display: flex; flex-wrap: wrap; gap: .75rem; max-width: none; }

@media (max-width: 900px) {
	.cvf-ab-intro, .cvf-ab-structure { grid-template-columns: 1fr; }
	.cvf-ab-cards, .cvf-ab-links, .cvf-ab-vm { grid-template-columns: 1fr; }
	.cvf-ab-quotes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cvf-ab-company { margin-top: 0; }
	.cvf-ab-card { min-height: 0; }
}
@media (max-width: 600px) { .cvf-ab-quotes { grid-template-columns: 1fr; } }
@media (max-width: 768px) { .entry-content > .cvf-ab-cta { margin-left: 20px !important; margin-right: 20px !important; } }
@media (prefers-reduced-motion: reduce) { .cvf-ab-link { transition: none; } .cvf-ab-link:hover { transform: none; } }

/* ==== Type standard (modelled on WHO fact sheets; agreed Oct 2026) ====
   Body 17px on all screens, line height 1.5.
   Page title 28px (phone) to 48px (desktop); section heading 22px to 26px; sub/card heading 19px.
   Nothing a reader needs is smaller than 14px. Line length: see the "one right edge" rules above. */
:root {
	--cvf-text-body: 1.0625rem;
	--cvf-leading-body: 1.5;
	--cvf-text-h1: clamp(1.75rem, 1.05rem + 2.9vw, 3rem);
	--cvf-text-h2: clamp(1.375rem, 1.27rem + 0.45vw, 1.625rem);
	--cvf-text-h3: 1.1875rem;
	--cvf-text-h4: 1.0625rem;
	--cvf-text-small: 0.875rem;
	--cvf-text-eyebrow: 0.875rem;
}
body, button, input, select, textarea { font-size: var(--cvf-text-body); line-height: var(--cvf-leading-body); }
.entry-header .entry-title, .page-header h1 { font-size: var(--cvf-text-h1) !important; }

/* Headings inside the page content: one size per level */
.site-main .entry-content h2:not(.cvf-display) { font-size: var(--cvf-text-h2) !important; line-height: 1.2; }
.site-main .entry-content h3 { font-size: var(--cvf-text-h3) !important; line-height: 1.3; }
.site-main .entry-content h4 { font-size: var(--cvf-text-h4) !important; line-height: 1.35; }
/* WHO rhythm for headings in running text: space above, smaller equal-ish space below */
.site-main .entry-content > h2 { margin-top: 1.6em; margin-bottom: 0.6em; }
.site-main .entry-content > h3 { margin-top: 1.4em; margin-bottom: 0.5em; }

/* Labels, captions, tags and small print: never under 14px */
.site-main .cvf-eyebrow, .site-main .cvf-ab-card__num, .site-main .cvf-ab-vm__label, .site-main .cvf-ab-company__label, .site-main .cvf-ab-facts dt, .site-main .cvf-ab-quote__avatar, .site-main .cvf-person__role, .site-main .cvf-imp-month, .site-main .cvf-imp-label, .site-main .cvf-imp-step__label, .site-main .cvf-start-card__label, .site-main .cvf-nation, .site-main .cvf-res__region, .site-main .cvf-layers-end, .site-main .cvf-layer-term, .site-main .cvf-layer-tag, .site-main .cvf-vac__tags, .site-main .cvf-vt__label, .site-main .cvf-cell-note, .site-main .cvf-info-reviewed__k, .site-main .cvf-gi-badge, .site-main .cvf-aw-metric__label, .site-main .cvf-aw-sources, .site-main .cvf-ga-sources, .site-main .cvf-news__meta, .site-main .cvf-credit, .site-main figcaption, .site-main .wp-element-caption {
	font-size: 0.875rem !important;
}
.site-main :is(.cvf-eyebrow, .cvf-ab-card__num, .cvf-ab-vm__label, .cvf-ab-company__label, .cvf-ab-facts dt, .cvf-ab-quote__avatar,
	.cvf-person__role, .cvf-imp-month, .cvf-imp-label, .cvf-imp-step__label, .cvf-start-card__label, .cvf-nation, .cvf-res__region,
	.cvf-layers-end, .cvf-layer-term, .cvf-layer-tag, .cvf-vac__tags, .cvf-vt__label, .cvf-cell-note, .cvf-info-reviewed__k,
	.cvf-gi-badge, .cvf-aw-metric__label, .cvf-aw-sources, .cvf-ga-sources, .cvf-news__meta, .cvf-credit, figcaption, .wp-element-caption) {
	font-size: 0.875rem !important;
}

/* Type standard, continued: the last outliers */
.site-main .cvf-vp__badge, .site-main .cvf-photo__credit, .site-main .cvf-tl-date { font-size: 0.875rem !important; }
.site-main :is(.cvf-vp__badge, .cvf-photo__credit, .cvf-tl-date) { font-size: 0.875rem !important; }
.site-main .entry-content table th { font-size: 0.875rem !important; }
.site-main .cvf-aside__title { font-size: var(--cvf-text-h3) !important; }
.site-main .entry-content h3.cvf-tl-title { font-size: var(--cvf-text-h3) !important; }

/* WHO-style reading column on Clinical vulnerability and Clean Air: fit the wide pieces into it */
@media (min-width: 1100px) {
	body.cvf-reading .cvf-info-cards, body.cvf-reading .cvf-info-three { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	body.cvf-reading .cvf-info-cover .cvf-info-def { font-size: clamp(1.3rem, 1rem + .7vw, 1.55rem) !important; }
	body.cvf-reading .entry-content table.cvf-info-table { width: 100% !important; max-width: 100%; table-layout: fixed; }
	body.cvf-reading .entry-content table.cvf-info-table th, body.cvf-reading .entry-content table.cvf-info-table td { overflow-wrap: anywhere; }
body.cvf-reading .entry-content table.cvf-info-table :is(th, td) { overflow-wrap: anywhere; }
}

/* Home newsletter form: same side spacing as the text, sensible field width */
.entry-content > .mailpoet_form { padding-left: var(--cvf-gutter, 40px) !important; padding-right: var(--cvf-gutter, 40px) !important; box-sizing: border-box; }
.entry-content > .mailpoet_form .mailpoet_paragraph, .entry-content > .mailpoet_form form { max-width: 36rem; }
.entry-content > .mailpoet_form :is(.mailpoet_paragraph, form) { max-width: 36rem; }
.entry-content > .mailpoet_form input:not([type="hidden"]):not([type="checkbox"]) { width: 100% !important; box-sizing: border-box; }
@media (max-width: 768px) { .entry-content > .mailpoet_form { padding-left: 20px !important; padding-right: 20px !important; } }

/* Cards that point to the Inquiry: navy with the soft lilac shape, like the dark bands */
.home .cvf-campaigns .wp-block-post.post-638, .cvf-ow-card.is-inquiry, .cvf-info li > a[href*="covid-inquiry"] {
	position: relative; isolation: isolate; overflow: hidden; background: #17304A !important; border-color: transparent !important; color: #FAF9F6 !important;
}
.home .cvf-campaigns .wp-block-post.post-638::before, .cvf-ow-card.is-inquiry::before, .cvf-info li > a[href*="covid-inquiry"]::before {
	content: ""; position: absolute; z-index: -1; left: auto; right: -30%; top: -38%; width: 78%; height: auto; aspect-ratio: 1; border-radius: 38% 62% 55% 45% / 45% 40% 60% 55% !important; background: #E0B9E3 !important; opacity: .22; pointer-events: none;
}
.home .cvf-campaigns .post-638 h3, .home .cvf-campaigns .post-638 h3 a, .cvf-ow-card.is-inquiry h3 a, .cvf-info li > a[href*="covid-inquiry"] strong { color: #fff !important; }
.home .cvf-campaigns .post-638 :is(h3, h3 a), .cvf-ow-card.is-inquiry h3 a, .cvf-info li > a[href*="covid-inquiry"] strong { color: #fff !important; }
.home .cvf-campaigns .post-638 .wp-block-post-excerpt, .home .cvf-campaigns .post-638 .wp-block-post-excerpt p, .cvf-ow-card.is-inquiry > p:not(.cvf-eyebrow):not(.cvf-ow-card__more) { color: rgba(250, 249, 246, .86) !important; }
.home .cvf-campaigns .post-638 :is(.wp-block-post-excerpt, .wp-block-post-excerpt p), .cvf-ow-card.is-inquiry > p:not(.cvf-eyebrow):not(.cvf-ow-card__more) { color: rgba(250, 249, 246, .86) !important; }
.home .cvf-campaigns .post-638 .cvf-eyebrow, .cvf-ow-card.is-inquiry .cvf-eyebrow, .cvf-info li > a[href*="covid-inquiry"] .cvf-eyebrow { color: #E0B9E3 !important; }
.home .cvf-campaigns .post-638 .wp-block-post-excerpt__more-link, .cvf-ow-card.is-inquiry .cvf-ow-card__more, .cvf-info li > a[href*="covid-inquiry"] .cvf-info-arrow { color: #E0B9E3 !important; }
.home .cvf-campaigns .post-638 .wp-block-post-excerpt__more-link { background: none !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; font-weight: 700; }
.cvf-ow-card.is-inquiry::after { opacity: .35; filter: brightness(1.6); }
.cvf-ow-card.is-inquiry:hover { border-color: transparent !important; }

/* Our Work: the Inquiry card is one card like its neighbours; Reports takes the wide slot */
.cvf-ow-card.is-inquiry { grid-column: auto !important; }
@media (min-width: 601px) { .cvf-ow-card.is-reports { grid-column: span 2; } }
/* The home Inquiry card gets its circles drawing in the corner, like its neighbours' drawings */
.home .cvf-campaigns .wp-block-post.post-638::after { content: ""; position: absolute; z-index: 0; right: -20px; bottom: -24px; width: 176px; height: 176px; background: url(/wp-content/themes/cvf-editorial/assets/icons/rings-motif.png) no-repeat right bottom / contain; opacity: .3; filter: brightness(1.8); pointer-events: none; }
.cvf-info li > a[href*="covid-inquiry"]::after { content: ""; position: absolute; z-index: -1; right: -14px; bottom: -18px; width: 104px; height: 104px; background: url(/wp-content/themes/cvf-editorial/assets/icons/rings-motif.png) no-repeat right bottom / contain; opacity: .3; filter: brightness(1.8); pointer-events: none; }

/* ---- Stat cards: a small picture of each number (assets/cvf-stats.js) ---- */
.cvf-model { --on: var(--cvf-mauve-ink, #8A4690); --off: #E6E1EA; --core: var(--cvf-plum, #4A254A); margin: .55rem 0 .9rem; }
.cvf-dark .cvf-model, .has-contrast-background-color .cvf-model { --on: #E0B9E3; --off: rgba(255, 255, 255, .16); --core: #fff; }
.cvf-model span { display: block; background: var(--off); transition: background-color .35s ease, transform .35s ease; }
.cvf-model.is-on span.is-fill { background: var(--on); }
.cvf-model.is-on span.is-core { background: var(--core); }
.cvf-model--waffle { display: grid; grid-template-columns: repeat(10, 9px); gap: 3px; }
.cvf-model--waffle span { width: 9px; height: 9px; border-radius: 50%; }
.cvf-model--tiles { display: grid; grid-template-columns: repeat(10, 18px); gap: 4px; }
.cvf-model--tiles span { width: 18px; height: 24px; border-radius: 3px; }
.cvf-model--field { display: grid; grid-template-columns: repeat(25, 4px); gap: 2px; }
.cvf-model--field span { width: 4px; height: 4px; border-radius: 50%; }
.cvf-model--field.is-on span.is-fill { transition-duration: .2s; }
.cvf-model--people { display: flex; gap: 10px; }
.cvf-model--people span { width: 30px; height: 40px; background: none; }
.cvf-model--people svg { width: 100%; height: 100%; fill: var(--off); transition: fill .5s ease .3s; }
.cvf-model--people.is-on span.is-fill svg { fill: var(--on); }
.cvf-model--first svg { width: 64px; height: 64px; transform: scale(.6) rotate(-12deg); opacity: 0; transition: transform .6s cubic-bezier(.2, 1.4, .4, 1), opacity .4s; }
.cvf-model--first.is-on svg { transform: none; opacity: 1; }
.cvf-model--first .r { fill: var(--on); opacity: .7; }
.cvf-model--first .m { fill: var(--on); }
.cvf-model--first .i { fill: none; stroke: rgba(23, 48, 74, .35); stroke-width: 2; }
.cvf-model--first text { font: 800 15px var(--cvf-font-sans, sans-serif); fill: #17304A; }
.cvf-stats .cvf-stat-number { font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) { .cvf-model span, .cvf-model svg { transition: none !important; } }
.cvf-model--people span, .cvf-model.cvf-model--people.is-on span.is-fill { background: none !important; }

/* ==== Topic colours for tiles, site-wide ====
   Inquiry: navy with circles. Clean air: soft sky blue with a white wind drawing.
   Education: white. Health: pink. Voting: Electoral Commission navy (#003057) with cyan (#25B2D3). */

/* Inquiry: the circles sit in the top-left corner, so only that side is cut off */
.home .cvf-campaigns .wp-block-post.post-638::after, .cvf-ow-card.is-inquiry::after {
	left: -38px !important; top: -38px !important; right: auto !important; bottom: auto !important; width: 150px !important; height: 150px !important; background-position: left top !important; opacity: .28 !important;
}

/* Clean air */
.home .cvf-campaigns .wp-block-post.post-14, .cvf-ow-card.is-air { background: #A9D2F5 !important; border-color: transparent !important; }
.home .cvf-campaigns .wp-block-post.post-14::after, .cvf-ow-card.is-air::after { filter: brightness(0) invert(1); opacity: .85 !important; }
.home .cvf-campaigns .wp-block-post.post-14::before, .cvf-ow-card.is-air::before { background: #fff !important; }
.home .cvf-campaigns .post-14 h3, .home .cvf-campaigns .post-14 h3 a, .cvf-ow-card.is-air h3 a { color: #17304A !important; }
.home .cvf-campaigns .post-14 :is(h3, h3 a), .cvf-ow-card.is-air h3 a { color: #17304A !important; }
.home .cvf-campaigns .post-14 .wp-block-post-excerpt, .home .cvf-campaigns .post-14 .wp-block-post-excerpt p, .cvf-ow-card.is-air > p:not(.cvf-eyebrow):not(.cvf-ow-card__more) { color: #1D3A57 !important; }
.home .cvf-campaigns .post-14 :is(.wp-block-post-excerpt, .wp-block-post-excerpt p), .cvf-ow-card.is-air > p:not(.cvf-eyebrow):not(.cvf-ow-card__more) { color: #1D3A57 !important; }
.home .cvf-campaigns .post-14 .cvf-eyebrow, .home .cvf-campaigns .post-14 .wp-block-post-excerpt__more-link, .cvf-ow-card.is-air .cvf-eyebrow, .cvf-ow-card.is-air .cvf-ow-card__more { color: #164F80 !important; }
.home .cvf-campaigns .post-14 :is(.cvf-eyebrow, .wp-block-post-excerpt__more-link), .cvf-ow-card.is-air :is(.cvf-eyebrow, .cvf-ow-card__more) { color: #164F80 !important; }

/* Voting: Electoral Commission colours */
.home .cvf-campaigns .wp-block-post.post-12, .cvf-ow-card.is-voting { background: #003057 !important; border-color: transparent !important; }
.home .cvf-campaigns .wp-block-post.post-12::after, .cvf-ow-card.is-voting::after { filter: brightness(0) invert(1); opacity: .22 !important; }
.home .cvf-campaigns .wp-block-post.post-12::before, .cvf-ow-card.is-voting::before { background: #25B2D3 !important; }
.home .cvf-campaigns .post-12 h3, .home .cvf-campaigns .post-12 h3 a, .cvf-ow-card.is-voting h3 a { color: #fff !important; }
.home .cvf-campaigns .post-12 :is(h3, h3 a), .cvf-ow-card.is-voting h3 a { color: #fff !important; }
.home .cvf-campaigns .post-12 .wp-block-post-excerpt, .home .cvf-campaigns .post-12 .wp-block-post-excerpt p, .cvf-ow-card.is-voting > p:not(.cvf-eyebrow):not(.cvf-ow-card__more) { color: rgba(255, 255, 255, .86) !important; }
.home .cvf-campaigns .post-12 :is(.wp-block-post-excerpt, .wp-block-post-excerpt p), .cvf-ow-card.is-voting > p:not(.cvf-eyebrow):not(.cvf-ow-card__more) { color: rgba(255, 255, 255, .86) !important; }
.home .cvf-campaigns .post-12 .cvf-eyebrow, .home .cvf-campaigns .post-12 .wp-block-post-excerpt__more-link, .cvf-ow-card.is-voting .cvf-eyebrow, .cvf-ow-card.is-voting .cvf-ow-card__more { color: #5CCBE6 !important; }
.home .cvf-campaigns .post-12 :is(.cvf-eyebrow, .wp-block-post-excerpt__more-link), .cvf-ow-card.is-voting :is(.cvf-eyebrow, .cvf-ow-card__more) { color: #5CCBE6 !important; }
.cvf-ow-card.is-voting:hover, .cvf-ow-card.is-air:hover { border-color: transparent !important; }

/* Education: white */
.home .cvf-campaigns .wp-block-post.post-15, .cvf-ow-card.is-schools { background: #fff !important; }

/* Support page: Health pink; Voting in Electoral Commission colours; Children and families white */
.cvf-support-hub #health, body.page .entry-content > #health { background: var(--cvf-mauve-soft, #F3E6F4) !important; border-color: transparent !important; }
.entry-content > #children-and-families, .entry-content #children-and-families { background: #fff !important; }
.entry-content > #voting { background: #003057 !important; border-color: transparent !important; color: #fff; }
.entry-content > #voting h2, .entry-content > #voting h3 { color: #fff !important; }
.entry-content > #voting :is(h2, h3) { color: #fff !important; }
.entry-content > #voting > .wp-block-group__inner-container > p, .entry-content > #voting > p { color: rgba(255, 255, 255, .88) !important; }
.entry-content > #voting .cvf-eyebrow { color: #5CCBE6 !important; }
.entry-content > #voting .cvf-res { background: #fff; }
.cvf-hub-jump__list a[href="#health"] { background: var(--cvf-mauve-soft, #F3E6F4) !important; border-color: transparent !important; }
.cvf-hub-jump__list a[href="#voting"] { background: #003057 !important; border-color: transparent !important; color: #fff !important; }
.cvf-hub-jump__list a[href="#voting"]::before { filter: brightness(0) invert(1); }
.cvf-hub-jump__list a[href="#children-and-families"] { background: #fff !important; }
.entry-content > #voting .cvf-res { color: var(--cvf-navy, #17304A); }
.entry-content > #voting .cvf-res p, .entry-content > #voting .cvf-res li, .entry-content > #voting .cvf-res h4 { color: var(--cvf-ink-2, #3B4A5C) !important; }
.entry-content > #voting .cvf-res :is(p, li, h4) { color: var(--cvf-ink-2, #3B4A5C) !important; }
.entry-content > #voting .cvf-res h4 { color: var(--cvf-navy, #17304A) !important; }
.entry-content > #voting .cvf-res .cvf-res__go, .entry-content > #voting .cvf-res .cvf-res__go a { color: var(--cvf-mauve-ink, #8A4690) !important; }
/* Inquiry circles: bottom-right corner, mostly visible (only the outer edge is cut off) */
.home .cvf-campaigns .wp-block-post.post-638::after, .cvf-ow-card.is-inquiry::after {
	left: auto !important; top: auto !important; right: -22px !important; bottom: -22px !important; width: 140px !important; height: 140px !important; background-position: right bottom !important;
}
/* Clean air: the white wind blends into the blue, like the other tiles' drawings */
.home .cvf-campaigns .wp-block-post.post-14::after, .cvf-ow-card.is-air::after { opacity: .45 !important; }

/* Education: white cards with the Department for Education's brighter secondary blue (#347CA9, DfE design system) as the accent */
.home .cvf-campaigns .wp-block-post.post-15::before, .cvf-ow-card.is-schools::before { background: #347CA9 !important; }
.home .cvf-campaigns .post-15 .cvf-eyebrow, .home .cvf-campaigns .post-15 .wp-block-post-excerpt__more-link, .cvf-ow-card.is-schools .cvf-eyebrow, .cvf-ow-card.is-schools .cvf-ow-card__more { color: #347CA9 !important; }
.home .cvf-campaigns .post-15 :is(.cvf-eyebrow, .wp-block-post-excerpt__more-link), .cvf-ow-card.is-schools :is(.cvf-eyebrow, .cvf-ow-card__more) { color: #347CA9 !important; }
.home .cvf-campaigns .wp-block-post.post-15::after, .cvf-ow-card.is-schools::after {
	background: #347CA9 !important;
	-webkit-mask: url(/wp-content/themes/cvf-editorial/assets/icons/icon-checklist.png) no-repeat right bottom / contain;
	mask: url(/wp-content/themes/cvf-editorial/assets/icons/icon-checklist.png) no-repeat right bottom / contain;
	opacity: .14 !important;
}
.cvf-ow-card.is-schools:hover { border-color: #7FA3C2 !important; }
.entry-content #children-and-families { border-top: 4px solid #347CA9 !important; }
.entry-content #children-and-families > .wp-block-group__inner-container > h3, .entry-content #children-and-families > h3 { color: #347CA9 !important; }
.cvf-hub-jump__list a[href="#children-and-families"] { box-shadow: inset 0 4px 0 #347CA9; color: #347CA9 !important; }

/* ==== Topic pages in their accent colours ====
   Voting Accessibility: Electoral Commission navy and cyan. Schools & Attendance: Department for Education blues.
   (Clean Air is already blue; the Inquiry pages keep the site's navy and pink.) */
body.page-id-12 { --t-dark: #003057; --t-acc: #25B2D3; --t-text: #007292; --t-mid: #BFE7F2; --t-soft: #E6F6FA; --t-btn-text: #003057; }
body.page-id-15 { --t-dark: #003764; --t-acc: #347CA9; --t-text: #347CA9; --t-mid: #C9DDEB; --t-soft: #EAF2F8; --t-btn-text: #fff; }
body.page-id-12 .entry-header .entry-title::after, body.page-id-15 .entry-header .entry-title::after { background: var(--t-acc) !important; }
:is(body.page-id-12, body.page-id-15) .entry-header .entry-title::after { background: var(--t-acc) !important; }
body.page-id-12 .entry-content > .cvf-dark::before, body.page-id-15 .entry-content > .cvf-dark::before { background: var(--t-acc) !important; }
:is(body.page-id-12, body.page-id-15) .entry-content > .cvf-dark::before { background: var(--t-acc) !important; }
body.page-id-12 .entry-content > .wp-block-group.alignfull.has-base-2-background-color, body.page-id-15 .entry-content > .wp-block-group.alignfull.has-base-2-background-color { background: var(--t-mid) !important; }
:is(body.page-id-12, body.page-id-15) .entry-content > .wp-block-group.alignfull.has-base-2-background-color { background: var(--t-mid) !important; }
body.page-id-12 .entry-content blockquote.wp-block-quote, body.page-id-15 .entry-content blockquote.wp-block-quote { background: var(--t-soft) !important; }
:is(body.page-id-12, body.page-id-15) .entry-content blockquote.wp-block-quote { background: var(--t-soft) !important; }
body.page-id-12 .entry-content blockquote.wp-block-quote::before, body.page-id-15 .entry-content blockquote.wp-block-quote::before { color: var(--t-acc) !important; }
:is(body.page-id-12, body.page-id-15) .entry-content blockquote.wp-block-quote::before { color: var(--t-acc) !important; }
body.page-id-12 .entry-content blockquote.wp-block-quote cite, body.page-id-15 .entry-content blockquote.wp-block-quote cite { color: var(--t-dark) !important; }
:is(body.page-id-12, body.page-id-15) .entry-content blockquote.wp-block-quote cite { color: var(--t-dark) !important; }
body.page-id-12 .entry-content blockquote.wp-block-quote cite::before, body.page-id-15 .entry-content blockquote.wp-block-quote cite::before { background: var(--t-acc) !important; }
:is(body.page-id-12, body.page-id-15) .entry-content blockquote.wp-block-quote cite::before { background: var(--t-acc) !important; }
body.page-id-12 .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link, body.page-id-15 .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--t-acc) !important; color: var(--t-btn-text) !important; border-color: var(--t-acc) !important; }
:is(body.page-id-12, body.page-id-15) .entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--t-acc) !important; color: var(--t-btn-text) !important; border-color: var(--t-acc) !important; }
body.page-id-12 .entry-content .wp-block-button.is-style-outline .wp-block-button__link, body.page-id-15 .entry-content .wp-block-button.is-style-outline .wp-block-button__link { border-color: var(--t-dark) !important; color: var(--t-dark) !important; }
:is(body.page-id-12, body.page-id-15) .entry-content .wp-block-button.is-style-outline .wp-block-button__link { border-color: var(--t-dark) !important; color: var(--t-dark) !important; }
body.page-id-12 .entry-content .wp-block-post::before, body.page-id-15 .entry-content .wp-block-post::before { background: var(--t-acc) !important; }
:is(body.page-id-12, body.page-id-15) .entry-content .wp-block-post::before { background: var(--t-acc) !important; }
body.page-id-12 .entry-content .wp-block-post-date, body.page-id-15 .entry-content .wp-block-post-date, body.page-id-12 .entry-content .wp-block-post-date time, body.page-id-15 .entry-content .wp-block-post-date time { color: var(--t-text) !important; }
:is(body.page-id-12, body.page-id-15) .entry-content .wp-block-post-date, :is(body.page-id-12, body.page-id-15) .entry-content .wp-block-post-date time { color: var(--t-text) !important; }
body.page-id-12 .entry-content .cvf-eyebrow, body.page-id-15 .entry-content .cvf-eyebrow { color: var(--t-text) !important; }
:is(body.page-id-12, body.page-id-15) .entry-content .cvf-eyebrow { color: var(--t-text) !important; }
body.page-id-12 .cvf-aside__card, body.page-id-15 .cvf-aside__card { background: var(--t-soft) !important; }
:is(body.page-id-12, body.page-id-15) .cvf-aside__card { background: var(--t-soft) !important; }
body.page-id-12 .cvf-aside__card.cvf-aside__card--plain, body.page-id-15 .cvf-aside__card.cvf-aside__card--plain { background: #fff !important; }
:is(body.page-id-12, body.page-id-15) .cvf-aside__card.cvf-aside__card--plain { background: #fff !important; }
body.page-id-12 .cvf-aside__links li, body.page-id-15 .cvf-aside__links li { border-top-color: var(--t-mid) !important; }
:is(body.page-id-12, body.page-id-15) .cvf-aside__links li { border-top-color: var(--t-mid) !important; }
body.page-id-12 .cvf-aside__links a, body.page-id-15 .cvf-aside__links a, body.page-id-12 .cvf-aside__links a span, body.page-id-15 .cvf-aside__links a span { color: var(--t-dark) !important; }
:is(body.page-id-12, body.page-id-15) .cvf-aside__links a, :is(body.page-id-12, body.page-id-15) .cvf-aside__links a span { color: var(--t-dark) !important; }
body.page-id-12 .cvf-aside__btn:not(.cvf-aside__btn--outline), body.page-id-15 .cvf-aside__btn:not(.cvf-aside__btn--outline) { background: var(--t-acc) !important; color: var(--t-btn-text) !important; border-color: var(--t-acc) !important; }
:is(body.page-id-12, body.page-id-15) .cvf-aside__btn:not(.cvf-aside__btn--outline) { background: var(--t-acc) !important; color: var(--t-btn-text) !important; border-color: var(--t-acc) !important; }
body.page-id-12 .cvf-aside__btn--outline, body.page-id-15 .cvf-aside__btn--outline { border-color: var(--t-dark) !important; color: var(--t-dark) !important; }
:is(body.page-id-12, body.page-id-15) .cvf-aside__btn--outline { border-color: var(--t-dark) !important; color: var(--t-dark) !important; }
/* Topic pages, continued: stat figures, the sidebar cards' corner glow, and Donate stays CVF pink */
body.page-id-12 .entry-content p[style*="#ad49b2" i], body.page-id-15 .entry-content p[style*="#ad49b2" i] { color: var(--t-text) !important; }
:is(body.page-id-12, body.page-id-15) .entry-content p[style*="#ad49b2" i] { color: var(--t-text) !important; }
body.page-id-12 .cvf-aside__card::before, body.page-id-15 .cvf-aside__card::before { background-image: radial-gradient(circle at 35% 35%, color-mix(in srgb, var(--t-acc) 45%, transparent), transparent 70%) !important; }
:is(body.page-id-12, body.page-id-15) .cvf-aside__card::before { background-image: radial-gradient(circle at 35% 35%, color-mix(in srgb, var(--t-acc) 45%, transparent), transparent 70%) !important; }
body.page-id-12 .cvf-aside__btn[href*="/donate"], body.page-id-15 .cvf-aside__btn[href*="/donate"] { background: var(--cvf-pink, #9A3F9B) !important; color: #fff !important; border-color: var(--cvf-pink, #9A3F9B) !important; }
:is(body.page-id-12, body.page-id-15) .cvf-aside__btn[href*="/donate"] { background: var(--cvf-pink, #9A3F9B) !important; color: #fff !important; border-color: var(--cvf-pink, #9A3F9B) !important; }

/* About: the usual gap between the title's pink line and the text again. The still coin and its trail sit in the
   space beside the title (the strip takes no room in the page flow); the trail runs through the middle of the gap. */
.page-id-10 .entry-header { padding-bottom: 40px !important; }
.page-id-10 .cvf-coin-strip { height: 104px !important; margin: -110px 0 6px !important; position: relative; z-index: 0; }
.page-id-10 .entry-content { position: relative; z-index: 1; }
@media (max-width: 768px) {
	.page-id-10 .entry-header { padding-bottom: 1rem !important; }
	.page-id-10 .cvf-coin-strip { margin: -98px 0 -6px !important; }
}
/* About: the trail runs through the middle of the gap (measured), the strip still takes no room */
.page-id-10 .cvf-coin-strip { margin: -93px 0 -11px !important; }
@media (max-width: 768px) { .page-id-10 .cvf-coin-strip { margin: -81px 0 -23px !important; } }

/* Reports cards are pink everywhere (as on the Reports page) */
.cvf-ow-card.is-reports { background: var(--cvf-mauve-soft, #F3E6F4) !important; border-color: transparent !important; }
.cvf-ow-card.is-reports::before { background: var(--cvf-mauve-ink, #8A4690) !important; }

/* About: spacing in WHO's rhythm (headings 0.8em above content, 16px between paragraphs), with slightly
   more room between the boxed sections: 40px desktop / 32px phone. */
.page-id-10 .entry-content > .cvf-ab-intro, .page-id-10 .entry-content > .cvf-ab-aims, .page-id-10 .entry-content > .cvf-ab-voices, .page-id-10 .entry-content > .cvf-ab-structure, .page-id-10 .entry-content > .cvf-ab-next { margin-bottom: 40px !important; }
.page-id-10 .entry-content > :is(.cvf-ab-intro, .cvf-ab-aims, .cvf-ab-voices, .cvf-ab-structure, .cvf-ab-next) { margin-bottom: 40px !important; }
.page-id-10 .entry-content > .cvf-dark { padding-top: 48px !important; padding-bottom: 48px !important; margin-bottom: 40px !important; }
.page-id-10 .entry-content .cvf-ab-aims > h2, .page-id-10 .entry-content .cvf-ab-voices > h2, .page-id-10 .entry-content .cvf-ab-next > h2, .page-id-10 .cvf-ab-structure h2, .page-id-10 .entry-content > .cvf-dark h2 { margin-bottom: 0.8em !important; }
.page-id-10 .entry-content :is(.cvf-ab-aims, .cvf-ab-voices, .cvf-ab-next) > h2, .page-id-10 .cvf-ab-structure h2, .page-id-10 .entry-content > .cvf-dark h2 { margin-bottom: 0.8em !important; }
.page-id-10 .cvf-ab-vm { margin-top: 0 !important; }
.page-id-10 .entry-content > .cvf-ab-cta { margin-bottom: 48px !important; }
@media (max-width: 768px) {
	.page-id-10 .entry-content > .cvf-ab-intro, .page-id-10 .entry-content > .cvf-ab-aims, .page-id-10 .entry-content > .cvf-ab-voices, .page-id-10 .entry-content > .cvf-ab-structure, .page-id-10 .entry-content > .cvf-ab-next { margin-bottom: 32px !important; }
.page-id-10 .entry-content > :is(.cvf-ab-intro, .cvf-ab-aims, .cvf-ab-voices, .cvf-ab-structure, .cvf-ab-next) { margin-bottom: 32px !important; }
	.page-id-10 .entry-content > .cvf-dark { padding-top: 32px !important; padding-bottom: 32px !important; margin-bottom: 32px !important; }
	.page-id-10 .entry-content > .cvf-ab-cta { margin-bottom: 32px !important; }
}

/* Home focus areas: sideways scrolling only (no up-and-down scrollbar) */
.home .cvf-campaigns .wp-block-post-template { overflow-y: hidden !important; padding-top: 8px !important; }

/* Latest from CVF (home): the smaller story cards all have the same 3:2 picture, cropped to fill.
   (The featured story's picture fills its whole card behind the headline, so it is left as designed.) */
.cvf-stories .wp-block-post:not(:first-child) .wp-block-post-featured-image { aspect-ratio: 3 / 2 !important; height: auto !important; overflow: hidden; margin-bottom: 1rem !important; }
.cvf-stories .wp-block-post:not(:first-child) .wp-block-post-featured-image a { display: block; width: 100%; height: 100%; }
.cvf-stories .wp-block-post:not(:first-child) .wp-block-post-featured-image img { width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: cover !important; }

/* Latest from CVF (home): the first story is an ordinary card too, so three equal stories sit in a row */
@media (min-width: 782px) {
	.cvf-stories .wp-block-post:first-child, .cvf-stories .wp-block-post:first-child:has(.wp-block-post-featured-image) {
		grid-area: auto !important; min-height: 0 !important; justify-content: flex-start !important;
		padding: 22.58px !important; background: #fff !important; border-color: #E8E6EB !important;
	}
	.cvf-stories .wp-block-post:first-child:has(.wp-block-post-featured-image)::after { content: none !important; }
	.cvf-stories .wp-block-post:first-child .wp-block-post-featured-image { position: relative !important; top: auto !important; right: auto !important; bottom: auto !important; left: auto !important; inset: auto !important; margin: 0 0 1rem !important; aspect-ratio: 3 / 2; overflow: hidden; }
	.cvf-stories .wp-block-post:first-child .wp-block-post-featured-image a { display: block; width: 100%; height: 100%; }
	.cvf-stories .wp-block-post:first-child .wp-block-post-featured-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
	.cvf-stories .wp-block-post:first-child .wp-block-post-title { font-size: var(--cvf-text-h3) !important; max-width: none !important; }
	.cvf-stories .wp-block-post:first-child .wp-block-post-title a, .cvf-stories .wp-block-post:first-child:has(.wp-block-post-featured-image) .wp-block-post-title a { color: var(--cvf-navy, #17304A) !important; }
	.cvf-stories .wp-block-post:first-child .wp-block-post-date, .cvf-stories .wp-block-post:first-child:has(.wp-block-post-featured-image) .wp-block-post-date { color: var(--cvf-mauve-ink, #8A4690) !important; }
	.cvf-stories .wp-block-post:first-child .wp-block-post-excerpt__excerpt, .cvf-stories .wp-block-post:first-child:has(.wp-block-post-featured-image) .wp-block-post-excerpt__excerpt { color: var(--cvf-ink-2, #3B4A5C) !important; font-size: inherit !important; }
	.cvf-stories .wp-block-post:first-child::before { background: var(--cvf-mauve, #E0B9E3) !important; }
}
@media (min-width: 782px) { .cvf-stories .wp-block-post:first-child, .cvf-stories .wp-block-post:first-child:has(.wp-block-post-featured-image) { padding: 28px !important; } }
.cvf-stories .wp-block-post:first-child .wp-block-post-featured-image { aspect-ratio: 3 / 2 !important; height: auto !important; overflow: hidden; }
.cvf-stories .wp-block-post:first-child .wp-block-post-featured-image a { display: block; width: 100%; height: 100%; }
.cvf-stories .wp-block-post:first-child .wp-block-post-featured-image img { width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: cover !important; }

/* ---- Media area ---- */
/* What approved journalists get */
.entry-content > .cvf-media-perks { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1.25rem var(--cvf-gutter, 40px) 2rem !important; padding: 0 !important; max-width: none !important; }
.cvf-media-perks li { position: relative; margin: 0; padding: 1rem 1.1rem 1rem 3.9rem; background: #fff; border: 1px solid #E8E6EB; border-radius: var(--cvf-radius, 12px); }
.cvf-media-perks li::before { content: ""; position: absolute; left: 1rem; top: 1rem; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--cvf-mauve-soft, #F3E6F4) no-repeat center / 1.3rem; }
.cvf-media-perks .is-release::before { background-image: url(/wp-content/plugins/cvf-extras/assets/contact-megaphone.svg); }
.cvf-media-perks .is-embargo::before { background-image: url(/wp-content/plugins/cvf-extras/assets/contact-report.svg); }
.cvf-media-perks .is-alerts::before { background-image: url(/wp-content/plugins/cvf-extras/assets/contact-media.svg); }
.cvf-media-perks strong { display: block; color: var(--cvf-navy, #17304A); margin-bottom: .2rem; }
.cvf-media-perks span { display: block; color: var(--cvf-ink-2, #3B4A5C); font-size: .95rem; line-height: 1.5; }

/* Login and request cards */
.cvf-media-gate { gap: 1.25rem !important; margin: 0 0 1.5rem !important; }
.cvf-media-card { position: relative; border-radius: var(--cvf-radius-lg, 20px) !important; box-shadow: 0 1px 2px rgba(23, 48, 74, .04); }
.cvf-media-card::before { content: ""; position: absolute; left: clamp(1.25rem, 1rem + 1.5vw, 2rem); top: 0; width: 2.75rem; height: 5px; border-radius: 0 0 3px 3px; background: var(--cvf-mauve, #E0B9E3); }
.cvf-media-card.cvf-media-card--login { background: #fff !important; border: 1px solid #E8E6EB !important; }
.cvf-media-card.cvf-media-card--login::before { background: var(--cvf-navy, #17304A); }
.cvf-media-card.cvf-media-card--apply { background: var(--cvf-mauve-soft, #F3E6F4) !important; border-color: transparent !important; }
.cvf-media-card.cvf-media-card--apply::before { background: var(--cvf-mauve-ink, #8A4690); }
.cvf-media-card h2 { font-size: var(--cvf-text-h2) !important; }
.cvf-media-card input[type="text"], .cvf-media-card input[type="email"], .cvf-media-card input[type="url"], .cvf-media-card input[type="password"] { width: 100%; padding: .75rem .95rem; border: 1px solid #D9D4DE; border-radius: 10px; background: #fff; font: inherit; color: var(--cvf-navy, #17304A); box-sizing: border-box; }
.cvf-media-card :is(input[type="text"], input[type="email"], input[type="url"], input[type="password"]) { width: 100%; padding: .75rem .95rem; border: 1px solid #D9D4DE; border-radius: 10px; background: #fff; font: inherit; color: var(--cvf-navy, #17304A); box-sizing: border-box; }
.cvf-media-card input[type="text"]:focus, .cvf-media-card input[type="email"]:focus, .cvf-media-card input[type="url"]:focus, .cvf-media-card input[type="password"]:focus { outline: none; border-color: var(--cvf-pink, #9A3F9B); box-shadow: 0 0 0 3px rgba(154, 63, 155, .22); }
.cvf-media-card :is(input[type="text"], input[type="email"], input[type="url"], input[type="password"]):focus { outline: none; border-color: var(--cvf-pink, #9A3F9B); box-shadow: 0 0 0 3px rgba(154, 63, 155, .22); }
.cvf-media-card label { font-weight: 600; color: var(--cvf-navy, #17304A); }
.cvf-media-card .login-username label, .cvf-media-card .login-password label { display: block; margin-bottom: .4rem; }
.cvf-media-card .login-submit input[type="submit"] { width: 100%; background: var(--cvf-navy, #17304A) !important; }
.cvf-media-card .login-submit input[type="submit"]:hover { background: var(--cvf-plum, #4A254A) !important; }
.cvf-media-card--apply .cvf-form__actions .cvf-btn { width: 100%; }
.cvf-media-forgot { text-align: center; }
.cvf-media-note.cvf-media-note--panel { margin: 0 var(--cvf-gutter, 40px) 2.5rem !important; padding: 1rem 1.25rem !important; max-width: none !important; background: #fff; border: 1px solid #E8E6EB; border-left: 4px solid var(--cvf-mauve, #E0B9E3); border-radius: 0; color: var(--cvf-ink-2, #3B4A5C); }

/* Logged in: welcome bar */
.entry-content > .cvf-media-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 1.5rem; position: relative; overflow: hidden; padding: clamp(1.25rem, 1rem + 1.5vw, 2rem) !important; margin-bottom: 1.5rem !important; background: #17304A !important; border: 0 !important; border-radius: var(--cvf-radius-lg, 20px) !important; color: #FAF9F6; }
.cvf-media-bar::after { content: ""; position: absolute; z-index: 0; right: -70px; top: -90px; width: 230px; height: 230px; border-radius: 38% 62% 55% 45% / 45% 40% 60% 55%; background: #E0B9E3; opacity: .2; pointer-events: none; }
.cvf-media-bar > * { position: relative; z-index: 1; }
.cvf-media-bar .cvf-eyebrow { color: #E0B9E3 !important; margin: 0 0 .25rem !important; }
.cvf-media-bar .cvf-media-bar__hello { margin: 0; font-size: 1.3rem; color: #fff; }
.cvf-media-bar .cvf-media-bar__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; }
.cvf-media-alerts, .cvf-media-logout { display: inline-flex; align-items: center; gap: .3rem; padding: .55rem 1rem; border-radius: 999px; font-weight: 600; font-size: .95rem; text-decoration: none; }
.cvf-media-alerts { background: rgba(255, 255, 255, .1); color: #fff !important; border: 1px solid rgba(255, 255, 255, .28); }
.cvf-media-alerts.is-on::before { content: ""; width: .55rem; height: .55rem; border-radius: 50%; background: #7BD3A0; }
.cvf-media-alerts.is-off::before { content: ""; width: .55rem; height: .55rem; border-radius: 50%; background: rgba(255, 255, 255, .45); }
.cvf-media-alerts__act { font-weight: 400; opacity: .8; }
.cvf-media-logout { background: #fff; color: #17304A !important; }
.cvf-media-alerts:hover { background: rgba(255, 255, 255, .2); }
.cvf-media-logout:hover { background: #E0B9E3; }

/* Logged in: releases and reports */
.cvf-press-list { gap: 1.25rem !important; margin: 0 0 1.5rem; }
.cvf-press-item { position: relative; padding-left: calc(clamp(1.25rem, 1rem + 1.5vw, 2rem) + 3.2rem) !important; border-radius: var(--cvf-radius-lg, 20px) !important; border: 1px solid #E8E6EB !important; border-left: 5px solid var(--cvf-mauve-ink, #8A4690) !important; background: #fff !important; }
.cvf-press-item--report { border-left-color: #17304A !important; }
.cvf-press-item.is-embargoed { border-left-color: #B3261E !important; background: #FFFAFA !important; }
.cvf-press-item::before { content: ""; position: absolute; left: clamp(1.25rem, 1rem + 1.5vw, 2rem); top: clamp(1.25rem, 1rem + 1.5vw, 2rem); width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--cvf-mauve-soft, #F3E6F4) url(/wp-content/plugins/cvf-extras/assets/contact-megaphone.svg) no-repeat center / 1.35rem; }
.cvf-press-item--report::before { background-color: #E7EDF3; background-image: url(/wp-content/plugins/cvf-extras/assets/contact-report.svg); }
.cvf-press-badge { background: var(--cvf-mauve-soft, #F3E6F4); color: var(--cvf-mauve-ink, #8A4690); }
.cvf-press-badge--release { background: var(--cvf-mauve-soft, #F3E6F4); color: var(--cvf-mauve-ink, #8A4690); }
.cvf-press-badge--report { background: #17304A !important; color: #fff !important; }
.cvf-press-item h2 { font-size: var(--cvf-text-h2) !important; }
.cvf-press-item__ex { color: var(--cvf-ink-2, #3B4A5C); margin: 0 0 .5rem; }
.cvf-press-item__warn { padding: .5rem .8rem; background: #FDECEC; border-radius: 8px; font-size: .95rem; }
.cvf-press-item__body summary { display: inline-flex; align-items: center; gap: .4rem; }

@media (max-width: 900px) { .entry-content > .cvf-media-perks { grid-template-columns: 1fr; } }
@media (max-width: 768px) {
	.entry-content > .cvf-media-perks, .cvf-media-note.cvf-media-note--panel { margin-left: 20px !important; margin-right: 20px !important; }
	.cvf-press-item { padding-left: clamp(1.25rem, 1rem + 1.5vw, 2rem) !important; padding-top: 4.4rem !important; }
}
/* Media area: line the perks and the contact panel up with the cards */
body.page:not(.home) .entry-content > ul.cvf-media-perks { margin: 1.25rem var(--cvf-gutter, 40px) 1.5rem !important; padding: 0 !important; max-width: none !important; }
body.page:not(.home) .entry-content > p.cvf-media-note--panel { margin: 0 var(--cvf-gutter, 40px) 2.5rem !important; max-width: none !important; }
@media (max-width: 768px) {
	body.page:not(.home) .entry-content > ul.cvf-media-perks { margin-left: 20px !important; margin-right: 20px !important; }
	body.page:not(.home) .entry-content > p.cvf-media-note--panel { margin-left: 20px !important; margin-right: 20px !important; }
}
.cvf-media-card .login-submit input[type="submit"] { color: #fff !important; font-weight: 700; cursor: pointer; }
.cvf-press-badge.cvf-press-badge--embargo { background: #B3261E !important; color: #fff !important; }
.cvf-press-badge.cvf-press-badge--released { background: #E7F6EC !important; color: #12704A !important; }
/* Media area: the journalist login button in CVF pink with white text (readable, matches "Request access") */
.cvf-media-card .login-submit #wp-submit, .cvf-media-card .login-submit input[type="submit"] { background: var(--cvf-pink, #9A3F9B) !important; color: #fff !important; -webkit-text-fill-color: #fff; border: 0 !important; font-weight: 700 !important; font-size: 1rem !important; }
.cvf-media-card .login-submit #wp-submit:hover, .cvf-media-card .login-submit input[type="submit"]:hover { background: var(--cvf-plum, #4A254A) !important; }
.cvf-media-card .login-submit #wp-submit:focus-visible { outline: 3px solid #9A3F9B; outline-offset: 3px; }
/* About: the coin is centred on the title line */
.page-id-10 .cvf-coin-strip { margin: -124px 0 20px !important; }
@media (max-width: 768px) { .page-id-10 .cvf-coin-strip { margin: -103px 0 -1px !important; } }
/* Media area: the email alerts pill sits solidly over the corner circle */
.cvf-media-bar .cvf-media-bar__actions { position: relative; z-index: 2; }
.cvf-media-alerts { background: #24425F !important; border-color: rgba(255, 255, 255, .35) !important; box-shadow: 0 2px 8px rgba(0, 0, 0, .18); }
.cvf-media-alerts:hover { background: #2E5070 !important; }
.cvf-media-logout { box-shadow: 0 2px 8px rgba(0, 0, 0, .18); }

/* Get involved: "Follow & amplify" card in plum */
.cvf-gi-card.is-amplify { background: var(--cvf-plum, #4A254A) !important; border-color: transparent !important; }
.cvf-gi-card.is-amplify::before { background: var(--cvf-mauve, #E0B9E3) !important; }
.cvf-gi-card.is-amplify::after { filter: brightness(0) invert(1); opacity: .16 !important; }
.cvf-gi-card.is-amplify h3 { color: #fff !important; }
.cvf-gi-card.is-amplify p { color: rgba(255, 255, 255, .88) !important; }
.cvf-gi-card.is-amplify .cvf-eyebrow { color: var(--cvf-mauve, #E0B9E3) !important; }
.cvf-gi-card.is-amplify a:not(.cvf-gi-social a) { color: #fff; }
.cvf-gi-card.is-amplify .cvf-gi-social a { background: #fff !important; color: var(--cvf-plum, #4A254A) !important; }
.cvf-gi-card.is-amplify .cvf-gi-social a:hover { background: var(--cvf-mauve, #E0B9E3) !important; }
.cvf-gi-card.is-amplify .cvf-gi-social a:focus-visible { outline-color: #fff !important; }

/* About: "More about us" cards get corner drawings in the site's line-icon style */
.cvf-ab-link { overflow: hidden; isolation: isolate; }
.cvf-ab-link::after { content: ""; position: absolute; z-index: -1; right: -.9rem; bottom: -1.1rem; width: 7.5rem; height: 7.5rem; background: no-repeat right bottom / contain; opacity: .16; pointer-events: none; }
.cvf-ab-link:has(a[href*="our-team"])::after { background-image: url(/wp-content/plugins/cvf-extras/assets/about-team.svg?v=2); }
.cvf-ab-link:has(a[href*="our-impact"])::after { background-image: url(/wp-content/plugins/cvf-extras/assets/about-impact.svg?v=2); }
.cvf-ab-link:has(a[href*="timeline"])::after { background-image: url(/wp-content/plugins/cvf-extras/assets/about-timeline.svg?v=2); }
.cvf-ab-link p { max-width: 78%; }

/* Wide logos used as news images: show whole, on the logo's own black */
.cvf-news__img:has(img[src*="indie_SAGE_logo"]) { background: #000; }
.cvf-news__img img[src*="indie_SAGE_logo"] { object-fit: contain; padding: 0 12%; box-sizing: border-box; }

/* ---- UK Covid-19 Inquiry page: Core Participant note, modules, findings ---- */
.entry-content > .cvf-inq-cp, .entry-content > .cvf-inq-mods, .entry-content > .cvf-inq-found { max-width: none !important; }
.entry-content > :is(.cvf-inq-cp, .cvf-inq-mods, .cvf-inq-found) { max-width: none !important; }
.entry-content > .cvf-inq-cp { margin: 0 0 1.5rem !important; padding: 1rem 1.25rem; background: #fff; border: 1px solid #E8E6EB; border-left: 4px solid #17304A; border-radius: 0 var(--cvf-radius, 12px) var(--cvf-radius, 12px) 0; }
.cvf-inq-cp p { margin: 0 !important; color: var(--cvf-ink-2, #3B4A5C); line-height: 1.6; }
.cvf-inq-cp strong { color: #17304A; }
.entry-content > .cvf-inq-together { margin-bottom: clamp(2.5rem, 5vw, 3.5rem) !important; }
.cvf-inq-mods > .cvf-eyebrow, .cvf-inq-found > .cvf-eyebrow { margin: 0 0 .4rem !important; }
.cvf-inq-mods > h2, .cvf-inq-found > h2 { margin: 0 0 1.5rem !important; }

/* Modules, in order */
.entry-content > .cvf-inq-mods { margin: 0 0 clamp(2.5rem, 5vw, 4rem) !important; }
.cvf-inq-mods__list { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 1.25rem; }
.cvf-inq-mod { position: relative; margin: 0 !important; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr); overflow: hidden; background: #fff; border: 1px solid #E8E6EB; border-radius: var(--cvf-radius-lg, 20px); box-shadow: 0 1px 2px rgba(23, 48, 74, .04); }
.cvf-inq-mod:nth-child(even) { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); }
.cvf-inq-mod:nth-child(even) .cvf-inq-mod__img { order: 2; }
.cvf-inq-mod.is-noimg { grid-template-columns: 1fr; }
.cvf-inq-mod::before { content: ""; position: absolute; z-index: 1; left: 0; top: 0; bottom: 0; width: 5px; background: #9A3F9B; }
.cvf-inq-mod__img { margin: 0 !important; min-height: 100%; background: #17304A; }
.cvf-inq-mod__img img { display: block; width: 100%; height: 100%; min-height: 15rem; object-fit: cover; }
.cvf-inq-mod__body { padding: 1.5rem 1.6rem 1.4rem 1.85rem; }
.cvf-inq-mod__tag { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0 0 .5rem !important; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #9A3F9B; }
.cvf-inq-mod__num { padding: .2rem .6rem; border-radius: 999px; background: #17304A; color: #fff; letter-spacing: .04em; }
.cvf-inq-mod h3 { margin: 0 0 .5rem !important; font-size: 1.45rem; }
.cvf-inq-mod__body > p { margin: 0 0 .9rem !important; color: var(--cvf-ink-2, #3B4A5C); line-height: 1.6; }
.cvf-inq-mod__steps { list-style: none; margin: 0 !important; padding: 0 !important; border-top: 1px solid #EEEBF0; }
.cvf-inq-mod__steps li { margin: 0 !important; padding: .6rem 0 .6rem 1.1rem; position: relative; border-bottom: 1px solid #EEEBF0; color: var(--cvf-ink-2, #3B4A5C); font-size: .95rem; line-height: 1.55; }
.cvf-inq-mod__steps li::before { content: ""; position: absolute; left: 0; top: 1.05rem; width: .45rem; height: .45rem; border-radius: 50%; background: #E0B9E3; }
.cvf-inq-mod__steps strong { display: block; color: #17304A; font-size: .9rem; }
.cvf-inq-mod__body > .cvf-inq-mod__credit { margin: .9rem 0 0 !important; font-size: .875rem; font-style: italic; }

/* Findings against what we asked for */
.entry-content > .cvf-inq-found { margin: 0 0 clamp(2.5rem, 5vw, 4rem) !important; }
.cvf-inq-found__intro { margin: -.75rem 0 1rem !important; color: var(--cvf-ink-2, #3B4A5C); }
.cvf-inq-key { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin: 0 0 1.25rem !important; padding: 0 !important; font-size: .9rem; color: var(--cvf-ink-2, #3B4A5C); }
.cvf-inq-key li { display: inline-flex; align-items: center; gap: .45rem; margin: 0 !important; }
.cvf-inq-found__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; align-items: start; }
.cvf-inq-rep { position: relative; padding: 1.5rem 1.5rem 1.25rem; background: #fff; border: 1px solid #E8E6EB; border-radius: var(--cvf-radius-lg, 20px); }
.cvf-inq-rep::before { content: ""; position: absolute; left: 1.5rem; top: 0; width: 2.75rem; height: 5px; border-radius: 0 0 3px 3px; background: #17304A; }
.cvf-inq-rep header .cvf-eyebrow { margin: 0 0 .25rem !important; }
.cvf-inq-rep h3 { margin: 0 0 .9rem !important; font-size: 1.3rem; }
.cvf-ticks { list-style: none; margin: 0 !important; padding: 0 !important; }
.cvf-ticks li { position: relative; margin: 0 !important; padding: .55rem 0 .55rem 2.1rem; color: var(--cvf-ink-2, #3B4A5C); font-size: .95rem; line-height: 1.55; border-top: 1px solid #EEEBF0; }
.cvf-ticks li:first-child { border-top: 0; }
.cvf-ticks li::before, .cvf-inq-key .cvf-mark { content: ""; position: absolute; left: 0; top: .6rem; width: 1.35rem; height: 1.35rem; border-radius: 50%; background: no-repeat center / .85rem; }
.cvf-inq-key .cvf-mark { position: static; flex: none; width: 1.15rem; height: 1.15rem; background-size: .72rem; }
.cvf-ticks .is-yes::before, .cvf-inq-key .is-yes::before, .cvf-inq-key .is-yes .cvf-mark { background-color: #1E7A4D; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
:is(.cvf-ticks, .cvf-inq-key) .is-yes::before, .cvf-inq-key .is-yes .cvf-mark { background-color: #1E7A4D; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.cvf-ticks .is-part::before, .cvf-inq-key .is-part::before, .cvf-inq-key .is-part .cvf-mark { background-color: #A15C00; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E"); }
:is(.cvf-ticks, .cvf-inq-key) .is-part::before, .cvf-inq-key .is-part .cvf-mark { background-color: #A15C00; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E"); }
.cvf-ticks .is-no::before, .cvf-inq-key .is-no::before, .cvf-inq-key .is-no .cvf-mark { background-color: #B3261E; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 4.5l7 7M11.5 4.5l-7 7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E"); }
:is(.cvf-ticks, .cvf-inq-key) .is-no::before, .cvf-inq-key .is-no .cvf-mark { background-color: #B3261E; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 4.5l7 7M11.5 4.5l-7 7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E"); }
.cvf-inq-key li::before { content: none; }
.cvf-inq-rep__quote { margin: 1rem 0 0 !important; padding: .9rem 1rem !important; background: var(--cvf-mauve-soft, #F3E6F4); border: 0 !important; border-radius: 12px; }
.cvf-inq-rep__quote p { margin: 0 0 .4rem !important; font-family: var(--cvf-font-serif, Georgia, serif); font-style: italic; color: #17304A; line-height: 1.5; }
.cvf-inq-rep__quote cite { font-style: normal; font-size: .85rem; font-weight: 700; color: #8A4690; }
.cvf-inq-rep__links { margin: 1rem 0 0 !important; }
.cvf-inq-found__next { margin: 1.25rem 0 .5rem !important; padding: 1rem 1.25rem; background: #E7EDF3; border-radius: var(--cvf-radius, 12px); color: #17304A; }
.cvf-inq-found__more { margin: 0 !important; }

@media (max-width: 760px) {
	.cvf-inq-mod, .cvf-inq-mod:nth-child(even) { grid-template-columns: 1fr; }
	.cvf-inq-mod:nth-child(even) .cvf-inq-mod__img { order: 0; }
	.cvf-inq-mod__img img { min-height: 0; aspect-ratio: 16 / 9; }
	.cvf-inq-found__grid { grid-template-columns: 1fr; }
}

/* Inquiry modules: photo as a banner across the top, findings stacked (fits the reading column) */
.cvf-inq-mod, .cvf-inq-mod:nth-child(even) { grid-template-columns: 1fr; }
.cvf-inq-mod:nth-child(even) .cvf-inq-mod__img { order: 0; }
.cvf-inq-mod__img { min-height: 0; }
.cvf-inq-mod__img img { height: auto; min-height: 0; aspect-ratio: 16 / 6; }
.cvf-inq-mod__steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; border-top: 0; }
.cvf-inq-mod__steps li { border-bottom: 0; border-top: 1px solid #EEEBF0; }
.cvf-inq-found__grid { grid-template-columns: 1fr; }
.cvf-ticks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; }
.cvf-ticks li:nth-child(2) { border-top: 0; }
@media (max-width: 760px) {
	.cvf-inq-mod__img img { aspect-ratio: 16 / 8; }
	.cvf-inq-mod__steps, .cvf-ticks { grid-template-columns: 1fr; }
	.cvf-ticks li:nth-child(2) { border-top: 1px solid #EEEBF0; }
}

/* ---- Support hub: topic colours on the "I need help with" tiles and section icons ---- */
.cvf-hub-jump__list a[href="#voting"]::before { filter: none !important; }
.cvf-hub-jump__list a[href="#voting"]::before, #voting .cvf-hub-sec__title::before { background-color: #fff !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003057' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 13.5h17V20h-17z'/%3E%3Cpath d='M7.5 13.5V4h9v9.5'/%3E%3Cpath d='M9.8 8.6l1.6 1.6 3-3'/%3E%3C/svg%3E") !important; }
:is(.cvf-hub-jump__list a[href="#voting"], #voting .cvf-hub-sec__title)::before { background-color: #fff !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003057' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 13.5h17V20h-17z'/%3E%3Cpath d='M7.5 13.5V4h9v9.5'/%3E%3Cpath d='M9.8 8.6l1.6 1.6 3-3'/%3E%3C/svg%3E") !important; }
.cvf-hub-jump__list a[href="#health"]::before, #health .cvf-hub-sec__title::before { background-color: #fff !important; }
:is(.cvf-hub-jump__list a[href="#health"], #health .cvf-hub-sec__title)::before { background-color: #fff !important; }
.cvf-hub-jump__list a[href="#power-and-water"] { background: #E3F0FA !important; border-color: transparent !important; }
.cvf-hub-jump__list a[href="#power-and-water"]::before, #power-and-water .cvf-hub-sec__title::before { background-color: #fff !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 2.5 4.5 12.5h5l-1 9 6-11h-5z' fill='%23FFC72C' stroke='%23B07A00'/%3E%3Cpath d='M19 13.5c0 2.2-1.3 3.7-2.9 3.7s-2.9-1.5-2.9-3.7S16.1 8 16.1 8 19 11.3 19 13.5z' fill='%239FD3F5' stroke='%231F6FB2'/%3E%3C/svg%3E") !important; }
:is(.cvf-hub-jump__list a[href="#power-and-water"], #power-and-water .cvf-hub-sec__title)::before { background-color: #fff !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 2.5 4.5 12.5h5l-1 9 6-11h-5z' fill='%23FFC72C' stroke='%23B07A00'/%3E%3Cpath d='M19 13.5c0 2.2-1.3 3.7-2.9 3.7s-2.9-1.5-2.9-3.7S16.1 8 16.1 8 19 11.3 19 13.5z' fill='%239FD3F5' stroke='%231F6FB2'/%3E%3C/svg%3E") !important; }
.cvf-hub-jump__list a[href="#children-and-families"]::before, #children-and-families .cvf-hub-sec__title::before { background-color: #E3EEF6 !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23347CA9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7.5' cy='6.5' r='2.5'/%3E%3Ccircle cx='16.5' cy='6.5' r='2.5'/%3E%3Ccircle cx='12' cy='13' r='1.8'/%3E%3Cpath d='M3.5 20v-4.5A3.5 3.5 0 0 1 7 12h1M20.5 20v-4.5A3.5 3.5 0 0 0 17 12h-1M9 20v-1.5a3 3 0 0 1 6 0V20'/%3E%3C/svg%3E") !important; }
:is(.cvf-hub-jump__list a[href="#children-and-families"], #children-and-families .cvf-hub-sec__title)::before { background-color: #E3EEF6 !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23347CA9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7.5' cy='6.5' r='2.5'/%3E%3Ccircle cx='16.5' cy='6.5' r='2.5'/%3E%3Ccircle cx='12' cy='13' r='1.8'/%3E%3Cpath d='M3.5 20v-4.5A3.5 3.5 0 0 1 7 12h1M20.5 20v-4.5A3.5 3.5 0 0 0 17 12h-1M9 20v-1.5a3 3 0 0 1 6 0V20'/%3E%3C/svg%3E") !important; }
.cvf-hub-jump__list a[href="#wellbeing"] { background: #E6F3EA !important; border-color: transparent !important; }
.cvf-hub-jump__list a[href="#wellbeing"]::before, #wellbeing .cvf-hub-sec__title::before { background-color: #fff !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E7D4F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21v-8'/%3E%3Cpath d='M12 13C12 8.5 8.8 5.5 4.5 5.5c0 4.5 3.2 7.5 7.5 7.5z'/%3E%3Cpath d='M12 11c0-3.9 2.8-6.5 7-6.5 0 3.9-2.8 6.5-7 6.5z'/%3E%3C/svg%3E") !important; }
:is(.cvf-hub-jump__list a[href="#wellbeing"], #wellbeing .cvf-hub-sec__title)::before { background-color: #fff !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E7D4F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21v-8'/%3E%3Cpath d='M12 13C12 8.5 8.8 5.5 4.5 5.5c0 4.5 3.2 7.5 7.5 7.5z'/%3E%3Cpath d='M12 11c0-3.9 2.8-6.5 7-6.5 0 3.9-2.8 6.5-7 6.5z'/%3E%3C/svg%3E") !important; }

/* Our team: no pink wedge over the team photo */
.page-id-686 .cvf-fade-hero::before { display: none !important; }

/* Support hub icons: voting icon pink; power & water as outlines only */
.cvf-hub-jump__list a[href="#voting"]::before, #voting .cvf-hub-sec__title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239A3F9B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 13.5h17V20h-17z'/%3E%3Cpath d='M7.5 13.5V4h9v9.5'/%3E%3Cpath d='M9.8 8.6l1.6 1.6 3-3'/%3E%3C/svg%3E") !important; }
:is(.cvf-hub-jump__list a[href="#voting"], #voting .cvf-hub-sec__title)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239A3F9B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 13.5h17V20h-17z'/%3E%3Cpath d='M7.5 13.5V4h9v9.5'/%3E%3Cpath d='M9.8 8.6l1.6 1.6 3-3'/%3E%3C/svg%3E") !important; }
.cvf-hub-jump__list a[href="#power-and-water"]::before, #power-and-water .cvf-hub-sec__title::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 2.5 4.5 12.5h5l-1 9 6-11h-5z' stroke='%23E0A100'/%3E%3Cpath d='M19 13.5c0 2.2-1.3 3.7-2.9 3.7s-2.9-1.5-2.9-3.7S16.1 8 16.1 8 19 11.3 19 13.5z' stroke='%231F6FB2'/%3E%3C/svg%3E") !important; }
:is(.cvf-hub-jump__list a[href="#power-and-water"], #power-and-water .cvf-hub-sec__title)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 2.5 4.5 12.5h5l-1 9 6-11h-5z' stroke='%23E0A100'/%3E%3Cpath d='M19 13.5c0 2.2-1.3 3.7-2.9 3.7s-2.9-1.5-2.9-3.7S16.1 8 16.1 8 19 11.3 19 13.5z' stroke='%231F6FB2'/%3E%3C/svg%3E") !important; }

/* Support hub: each "Helpful services" panel matches its "I need help with" tile */
#power-and-water.cvf-hub-sec { background: #E3F0FA !important; }
#power-and-water .cvf-hub-sec__title { color: #1D5A85 !important; }
#power-and-water .cvf-hub-sec__title::after { background: #8CC0E6 !important; }
#power-and-water .cvf-res { border-bottom-color: rgba(29, 90, 133, .18) !important; }
#power-and-water .cvf-res__nations li { border-top-color: rgba(29, 90, 133, .18) !important; }
#power-and-water a { color: #1D5A85 !important; }

#wellbeing.cvf-hub-sec { background: #E6F3EA !important; }
#wellbeing .cvf-hub-sec__title { color: #23623D !important; }
#wellbeing .cvf-hub-sec__title::after { background: #9FD1AE !important; }
#wellbeing .cvf-res { border-bottom-color: rgba(35, 98, 61, .18) !important; }
#wellbeing .cvf-res__nations li { border-top-color: rgba(35, 98, 61, .18) !important; }
#wellbeing a { color: #23623D !important; }

#children-and-families.cvf-hub-sec { box-shadow: inset 0 4px 0 #347CA9; }
#children-and-families .cvf-hub-sec__title { color: #2B6C96 !important; }
#children-and-families .cvf-hub-sec__title::after { background: #A9CBE0 !important; }
#children-and-families a { color: #2B6C96 !important; }

/* Support hub: voting icon in Electoral Commission colours (cyan circle, navy icon) */
.cvf-hub-jump__list a[href="#voting"]::before, #voting .cvf-hub-sec__title::before { background-color: #25B2D3 !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003057' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 13.5h17V20h-17z'/%3E%3Cpath d='M7.5 13.5V4h9v9.5'/%3E%3Cpath d='M9.8 8.6l1.6 1.6 3-3'/%3E%3C/svg%3E") !important; }
:is(.cvf-hub-jump__list a[href="#voting"], #voting .cvf-hub-sec__title)::before { background-color: #25B2D3 !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003057' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 13.5h17V20h-17z'/%3E%3Cpath d='M7.5 13.5V4h9v9.5'/%3E%3Cpath d='M9.8 8.6l1.6 1.6 3-3'/%3E%3C/svg%3E") !important; }

/* News: filter by topic */
.cvf-news__topics { display: flex; flex-wrap: wrap; gap: .5rem; margin: .25rem 0 2rem; }
.cvf-news__topic { appearance: none; margin: 0; padding: .45rem .95rem; border: 1px solid #E8E6EB; border-radius: 999px; background: #fff; color: #17304A; font: inherit; font-size: .9rem; font-weight: 600; line-height: 1.2; cursor: pointer; transition: background-color .2s, border-color .2s, color .2s; }
.cvf-news__topic:hover { border-color: #17304A; }
.cvf-news__topic[aria-pressed="true"] { background: #17304A; border-color: #17304A; color: #fff; }
.cvf-news__topic:focus-visible { outline: 2px solid #17304A; outline-offset: 2px; }

/* Form fields: one calm navy focus style site-wide (replaces the theme's lilac fill and the pink ring) */
body input[type="text"]:focus, body input[type="email"]:focus, body input[type="url"]:focus, body input[type="password"]:focus, body input[type="search"]:focus, body input[type="tel"]:focus, body input[type="number"]:focus, body textarea:focus, body select:focus { background-color: #fff !important; border-color: #17304A !important; box-shadow: 0 0 0 3px rgba(23, 48, 74, .16) !important; outline: none !important; }
body :is(input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="tel"], input[type="number"], textarea, select):focus { background-color: #fff !important; border-color: #17304A !important; box-shadow: 0 0 0 3px rgba(23, 48, 74, .16) !important; outline: none !important; }

/* Support hub: voting icon in Electoral Commission teal on white */
.cvf-hub-jump__list a[href="#voting"]::before, #voting .cvf-hub-sec__title::before { background-color: #fff !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007292' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 13.5h17V20h-17z'/%3E%3Cpath d='M7.5 13.5V4h9v9.5'/%3E%3Cpath d='M9.8 8.6l1.6 1.6 3-3'/%3E%3C/svg%3E") !important; }
:is(.cvf-hub-jump__list a[href="#voting"], #voting .cvf-hub-sec__title)::before { background-color: #fff !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007292' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 13.5h17V20h-17z'/%3E%3Cpath d='M7.5 13.5V4h9v9.5'/%3E%3Cpath d='M9.8 8.6l1.6 1.6 3-3'/%3E%3C/svg%3E") !important; }

/* Inquiry page: "only organisation" statement and legal team note */
.entry-content > .cvf-inq-unique { margin: 0 0 1.25rem !important; font-size: 1.1rem; line-height: 1.6; color: #17304A; }
.cvf-inq-unique a { color: #17304A; font-weight: 600; }
.cvf-inq-mods > .cvf-inq-mods__intro { margin: -.75rem 0 1.5rem !important; color: var(--cvf-ink-2, #3B4A5C); }

/* Inquiry module cards: photo credit directly under the photo */
.cvf-inq-mod__img { display: flex; flex-direction: column; }
.cvf-inq-mod__img .cvf-inq-mod__cap { margin: 0; padding: .5rem 1.6rem 0 1.85rem; background: #fff; font-size: .8rem; line-height: 1.45; color: var(--cvf-ink-2, #3B4A5C); }
.cvf-inq-mod__cap a { color: inherit; }

.cvf-inq-mod__img .cvf-inq-mod__cap { font-size: .875rem; }

/* Inquiry module cards: who we questioned */
.cvf-inq-mod__q { margin: 1rem 0 0; padding: .9rem 1rem; background: #F4F6F9; border-radius: 12px; }
.cvf-inq-mod__q p { margin: 0 !important; font-size: .95rem; line-height: 1.6; color: var(--cvf-ink-2, #3B4A5C); }
.cvf-inq-mod__q strong { color: #17304A; }
.cvf-inq-mod__q .cvf-inq-mod__q-h { margin: 0 0 .35rem !important; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #9A3F9B; }

/* Inquiry module cards: links to our written and oral evidence */
.cvf-inq-mod__ev { margin: .75rem 0 0; padding: .9rem 1rem; border: 1px solid #E3E7EE; border-radius: 12px; }
.cvf-inq-mod__ev p { margin: 0 0 .3rem !important; font-size: .95rem; line-height: 1.6; color: var(--cvf-ink-2, #3B4A5C); }
.cvf-inq-mod__ev p:last-child { margin-bottom: 0 !important; }
.cvf-inq-mod__ev .cvf-inq-mod__q-h { margin: 0 0 .35rem !important; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #9A3F9B; }
.cvf-inq-mod__ev-k { display: inline-block; min-width: 4.2rem; font-weight: 700; color: #17304A; }
.cvf-inq-mod__ev a { color: #17304A; font-weight: 600; text-decoration-color: #E0B9E3; text-underline-offset: 3px; }
.cvf-inq-mod__ev a:hover { text-decoration-color: #9A3F9B; }

/* ---- Clean air: "What good air looks like" as target cards with scales ---- */
.cvf-ga-cards { list-style: none; margin: 1.75rem 0 1.25rem !important; padding: 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.cvf-ga-card { margin: 0 !important; padding: 1.25rem 1.25rem 1.1rem; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .16); border-radius: var(--cvf-radius-lg, 20px); }
.cvf-ga-card__top { display: flex; align-items: center; gap: .85rem; }
.cvf-ga-icon { flex: none; display: grid; place-items: center; width: 2.9rem; height: 2.9rem; border-radius: 50%; background: var(--air-sky, #9FD3F5); color: #17304A; }
.cvf-ga-icon svg { width: 1.6rem; height: 1.6rem; }
.cvf-goodair .cvf-ga-card .cvf-ga-stat { margin: 0 !important; display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem; }
.cvf-goodair .cvf-ga-card .cvf-ga-num { font-size: clamp(2rem, 1.5rem + 1.6vw, 2.75rem); }
.cvf-goodair .cvf-ga-card p.cvf-ga-what { margin: .9rem 0 0 !important; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--air-sky, #9FD3F5); }
.cvf-ga-scale { position: relative; display: flex; gap: 3px; height: 10px; margin: 2.1rem 0 .4rem; }
.cvf-ga-scale span { display: block; height: 100%; border-radius: 999px; transform-origin: left center; }
.cvf-ga-scale .is-good { background: #43C08A; }
.cvf-ga-scale .is-warn { background: #F2B33D; }
.cvf-ga-scale .is-bad { background: #EF6B5E; }
.cvf-ga-mark { position: absolute; top: -5px; width: 5px; height: 20px; border-radius: 3px; background: #fff; transform: translateX(-50%); box-shadow: 0 0 0 2px #17304A; }
.cvf-goodair .cvf-ga-card p.cvf-ga-ticks { position: relative; display: flex; justify-content: space-between; margin: 0 0 .85rem !important; font-size: .875rem; color: rgba(255, 255, 255, .75); }
.cvf-goodair .cvf-ga-card p.cvf-ga-ticks .is-target { position: absolute; top: -3.15rem; transform: translateX(-50%); white-space: nowrap; font-weight: 700; color: #fff; }
.cvf-goodair .cvf-ga-card p.cvf-ga-why { margin: 0 !important; color: rgba(255, 255, 255, .88); line-height: 1.55; }
.cvf-goodair .cvf-ga-card--avoid { border-style: dashed; border-color: rgba(239, 107, 94, .7); }
.cvf-ga-card--avoid .cvf-ga-icon { background: #EF6B5E; color: #fff; }
.cvf-goodair .cvf-ga-card--avoid .cvf-ga-num { color: #FFB4AA !important; }
.cvf-goodair .cvf-ga-card--avoid p.cvf-ga-what { color: #FFB4AA; }
@keyframes cvfGaGrow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: no-preference) {
	.cvf-ga-scale span { animation: cvfGaGrow .9s cubic-bezier(.2, .7, .2, 1) both; animation-timeline: view(); animation-range: entry 5% cover 35%; }
	.cvf-ga-scale span:nth-child(2) { animation-delay: .15s; }
	.cvf-ga-scale span:nth-child(3) { animation-delay: .3s; }
}
@media (max-width: 700px) { .cvf-ga-cards { grid-template-columns: 1fr; } }

/* Clean air: what we're calling for, on pale blue */
.entry-content > .cvf-asks-panel { max-width: none !important; margin: 0 0 2rem !important; padding: clamp(1.5rem, 4vw, 2.5rem) !important; background: #E3F0FA; border-radius: var(--cvf-radius-lg, 20px); }
.cvf-asks-panel > .cvf-eyebrow { margin: 0 0 .4rem !important; color: #1D5A85 !important; }
.cvf-asks-panel > h2 { margin: 0 0 1.25rem !important; }
.cvf-asks-panel ol.cvf-asks { margin: 0 !important; }
.cvf-asks-panel ol.cvf-asks li { border-color: transparent; box-shadow: 0 1px 2px rgba(23, 48, 74, .06); }

/* ---- Topic pages (voting, schools): sections, cards, checklist, timeline, calculator ---- */
.entry-content > .cvf-tp-sec, .entry-content > .cvf-tp-stats, .entry-content > .cvf-tp-cta { max-width: none !important; margin: 0 0 clamp(2.25rem, 4.5vw, 3.25rem) !important; }
.entry-content > :is(.cvf-tp-sec, .cvf-tp-stats, .cvf-tp-cta) { max-width: none !important; margin: 0 0 clamp(2.25rem, 4.5vw, 3.25rem) !important; }
.cvf-tp-sec > .cvf-eyebrow { margin: 0 0 .4rem !important; }
.cvf-tp-sec > h2 { margin: 0 0 .9rem !important; }
.cvf-tp-sec > p { color: var(--cvf-ink-2, #3B4A5C); }
.entry-content > .cvf-tp-stats { padding: clamp(1.5rem, 4vw, 2.5rem) !important; border-radius: var(--cvf-radius-lg, 20px); }

.cvf-tp-cards { list-style: none; margin: 1.25rem 0 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; }
.cvf-tp-cards li { position: relative; margin: 0 !important; padding: 1.4rem 1.25rem 1.2rem; background: #fff; border: 1px solid #E5E8EE; border-radius: var(--cvf-radius-lg, 20px); }
.cvf-tp-cards li::before { content: ""; position: absolute; left: 1.25rem; top: 0; width: 2.5rem; height: 5px; border-radius: 0 0 3px 3px; background: var(--t-acc, #9A3F9B); }
.cvf-tp-icon { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; margin-bottom: .75rem; border-radius: 50%; background: var(--t-soft, #F3E6F4); color: var(--t-dark, #17304A); }
.cvf-tp-icon svg { width: 1.5rem; height: 1.5rem; }
.cvf-tp-cards h3 { margin: 0 0 .35rem !important; font-size: 1.1rem; }
.cvf-tp-cards p { margin: 0 !important; font-size: .95rem; line-height: 1.55; color: var(--cvf-ink-2, #3B4A5C); }
.cvf-tp-cards a { color: var(--t-dark, #17304A); font-weight: 600; }

/* Polling station checklist */
.entry-content > .cvf-pollcheck { padding: clamp(1.5rem, 4vw, 2.25rem) !important; background: var(--t-soft, #E6F6FA); border-radius: var(--cvf-radius-lg, 20px); }
.cvf-pollcheck fieldset { margin: 1rem 0 0; padding: 0; border: 0; display: grid; gap: .5rem; }
.cvf-pollcheck label { display: flex; align-items: center; gap: .75rem; margin: 0; padding: .8rem 1rem; background: #fff; border: 1px solid transparent; border-radius: 12px; font-weight: 600; color: var(--t-dark, #17304A); cursor: pointer; }
.cvf-pollcheck label:hover { border-color: var(--t-acc, #25B2D3); }
.cvf-pollcheck label.is-bad { box-shadow: inset 4px 0 0 #B3261E; }
.cvf-pollcheck input[type="checkbox"] { flex: none; width: 1.25rem; height: 1.25rem; margin: 0; accent-color: var(--t-dark, #003057); }
.cvf-pollcheck__result { min-height: 1.6em; margin: 1rem 0 .9rem !important; padding: .75rem 1rem; border-radius: 12px; background: #fff; font-weight: 600; color: var(--t-dark, #17304A); }
.cvf-pollcheck[data-state="good"] .cvf-pollcheck__result { box-shadow: inset 4px 0 0 #2E7D4F; }
.cvf-pollcheck[data-state="some"] .cvf-pollcheck__result, .cvf-pollcheck[data-state="none"] .cvf-pollcheck__result { box-shadow: inset 4px 0 0 #B45309; }
.cvf-pollcheck[data-state="bad"] .cvf-pollcheck__result { box-shadow: inset 4px 0 0 #B3261E; }
.cvf-pollcheck__result:empty { display: none; }
.cvf-pollcheck__go { margin: 0 !important; }

/* Timeline */
.cvf-tp-steps { list-style: none; margin: 1rem 0 0 !important; padding: 0 0 0 1.5rem !important; border-left: 3px solid var(--t-mid, #E0B9E3); }
.cvf-tp-steps li { position: relative; margin: 0 0 1.1rem !important; padding: 0; color: var(--cvf-ink-2, #3B4A5C); line-height: 1.55; }
.cvf-tp-steps li::before { content: ""; position: absolute; left: calc(-1.5rem - 9px); top: .35rem; width: 15px; height: 15px; border-radius: 50%; background: var(--t-acc, #9A3F9B); box-shadow: 0 0 0 4px #fff; }
.cvf-tp-steps strong { display: block; color: var(--t-dark, #17304A); }

/* Progress / news highlight */
.entry-content > .cvf-tp-news { padding: clamp(1.5rem, 4vw, 2.25rem) !important; background: var(--t-soft, #EAF2F8); border-left: 6px solid var(--t-acc, #347CA9); border-radius: 0 var(--cvf-radius-lg, 20px) var(--cvf-radius-lg, 20px) 0; }
.cvf-tp-news > p.cvf-tp-news__line { margin: 1rem 0 0 !important; font-size: 1.15rem; font-weight: 700; line-height: 1.5; color: var(--t-dark, #003764); }

/* Absence calculator */
.cvf-abs__panel { margin-top: 1.25rem; padding: clamp(1.25rem, 3vw, 1.75rem); background: #fff; border: 1px solid #E5E8EE; border-radius: var(--cvf-radius-lg, 20px); }
.cvf-abs__label { display: block; margin-bottom: .6rem; font-weight: 600; color: var(--t-dark, #003764); }
.cvf-abs__label strong { font-size: 1.15rem; }
.cvf-abs input[type="range"] { width: 100%; accent-color: var(--t-acc, #347CA9); }
.cvf-abs__read { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; margin: .9rem 0 1rem; }
.cvf-abs__read p { margin: 0 !important; }
.cvf-abs__pct { font-size: 1.05rem; color: var(--cvf-ink-2, #3B4A5C); }
.cvf-abs__pct span { font-size: clamp(1.8rem, 1.4rem + 1.5vw, 2.4rem); font-weight: 800; color: var(--t-dark, #003764); }
.cvf-abs__state { padding: .4rem .9rem; border-radius: 999px; font-weight: 700; background: var(--t-soft, #EAF2F8); color: var(--t-dark, #003764); }
.cvf-abs[data-state="pa"] .cvf-abs__state { background: #FEF3C7; color: #8A4B00; }
.cvf-abs[data-state="sa"] .cvf-abs__state { background: #FDECEC; color: #9B1C14; }
.cvf-abs-grid { display: grid; grid-auto-flow: column; grid-template-rows: repeat(5, auto); grid-template-columns: repeat(38, minmax(0, 1fr)); gap: 2px; }
.cvf-abs-grid span { aspect-ratio: 1; border-radius: 2px; background: var(--t-acc, #347CA9); opacity: .85; transition: background-color .15s; }
.cvf-abs-grid span.is-off { background: #E5675C; opacity: 1; }
.cvf-abs__note { margin: 1rem 0 0 !important; color: var(--cvf-ink-2, #3B4A5C); }

/* Call to action panel */
.entry-content > .cvf-tp-cta { padding: clamp(1.75rem, 4vw, 2.5rem) !important; background: var(--t-dark, #17304A); border-radius: var(--cvf-radius-lg, 20px); color: #fff; }
.cvf-tp-cta h2 { margin: 0 0 .6rem !important; color: #fff !important; }
.cvf-tp-cta p { color: rgba(255, 255, 255, .9); }
.cvf-tp-cta p:last-child { margin-bottom: 0 !important; }

/* Topic cards: four cards sit as an even 2 x 2 rather than 3 + 1 */
.cvf-tp-cards:has(> li:nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 560px) { .cvf-tp-cards, .cvf-tp-cards:has(> li:nth-child(4)) { grid-template-columns: 1fr; } }

/* Team page: bigger round portraits, and tap to enlarge */
.cvf-dir__photo { flex: 0 0 84px !important; width: 84px !important; height: 84px !important; }
.cvf-dir__photo .cvf-person__img--initials { font-size: 1.6rem !important; }
.cvf-nation__lead .cvf-person__photo { flex: 0 0 104px !important; width: 104px !important; height: 104px !important; }
.cvf-nation__lead .cvf-person__img--initials { font-size: 2rem !important; }
.cvf-zoom__open { position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; z-index: 2; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: zoom-in; }
.cvf-zoom__open:focus-visible { outline: 3px solid #17304A; outline-offset: 3px; }
.cvf-zoom { max-width: min(92vw, 560px); padding: 0; border: 0; border-radius: var(--cvf-radius-lg, 20px); background: #fff; box-shadow: 0 24px 60px rgba(23, 48, 74, .35); overflow: hidden; }
.cvf-zoom::backdrop { background: rgba(23, 48, 74, .6); }
.cvf-zoom img { display: block; width: 100%; height: auto; max-height: 75vh; object-fit: contain; background: #F4F6F9; }
.cvf-zoom__name { margin: 0; padding: .8rem 1.1rem; font-weight: 700; color: #17304A; }
.cvf-zoom__close { position: absolute; top: .6rem; right: .6rem; width: 2.5rem; height: 2.5rem; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: #17304A; font-size: 1.6rem; line-height: 1; cursor: pointer; }

/* Team page: "View profile" is a text link, so no purple button fill on hover or focus */
.cvf-profile-btn:hover, .cvf-profile-btn:focus, .cvf-profile-btn:active { background: transparent !important; color: var(--cvf-navy, #17304A) !important; box-shadow: none !important; }
.cvf-profile-btn:is(:hover, :focus, :active) { background: transparent !important; color: var(--cvf-navy, #17304A) !important; box-shadow: none !important; }

/* Our team hero: the photo has extra background on its left for the fade; on phones keep the people in frame */
@media (max-width: 900px) { .page-id-686 .cvf-fade-hero__img { object-position: 100% 45% !important; } }

/* Our team hero: line the widened photo up on the right so the left fade falls on the added background */
.page-id-686 .cvf-fade-hero__img { object-position: 100% 45% !important; }

/* Our team hero: the added background on the left stays fully under the white fade.
   The real photo starts at (box width - photo width); photo width = hero height x 4/3. */
@media (min-width: 761px) {
	.page-id-686 .cvf-fade-hero__img {
		--pw: clamp(480px, 50.667vw, 640px);
		-webkit-mask-image: linear-gradient(90deg, transparent 0, transparent calc(100% - var(--pw) - 14px), rgba(0, 0, 0, .55) calc(100% - var(--pw) + 8px), #000 calc(100% - var(--pw) + 26px)) !important;
		mask-image: linear-gradient(90deg, transparent 0, transparent calc(100% - var(--pw) - 14px), rgba(0, 0, 0, .55) calc(100% - var(--pw) + 8px), #000 calc(100% - var(--pw) + 26px)) !important;
	}
}

/* Our team hero: longer, softer fade so the added hedge shows faintly before the photo */
@media (min-width: 761px) {
	.page-id-686 .cvf-fade-hero__img {
		-webkit-mask-image: linear-gradient(90deg, transparent 0, transparent calc(100% - var(--pw) - 60px), rgba(0, 0, 0, .45) calc(100% - var(--pw)), #000 calc(100% - var(--pw) + 26px)) !important;
		mask-image: linear-gradient(90deg, transparent 0, transparent calc(100% - var(--pw) - 60px), rgba(0, 0, 0, .45) calc(100% - var(--pw)), #000 calc(100% - var(--pw) + 26px)) !important;
	}
}

/* Our team hero: the left side is now real (generated) background, so a gentle fade over just that strip */
@media (min-width: 761px) {
	.page-id-686 .cvf-fade-hero__img {
		-webkit-mask-image: linear-gradient(90deg, transparent 0, rgba(0, 0, 0, .55) calc((100% - var(--pw)) * .45), #000 calc(100% - var(--pw) - 6px)) !important;
		mask-image: linear-gradient(90deg, transparent 0, rgba(0, 0, 0, .55) calc((100% - var(--pw)) * .45), #000 calc(100% - var(--pw) - 6px)) !important;
	}
}

/* Our team hero: a longer, softer fade across the generated strip, full photo just before Shannon */
@media (min-width: 761px) {
	.page-id-686 .cvf-fade-hero__img {
		-webkit-mask-image: linear-gradient(90deg, transparent 0, rgba(0, 0, 0, .08) calc((100% - var(--pw)) * .3), rgba(0, 0, 0, .3) calc((100% - var(--pw)) * .65), rgba(0, 0, 0, .7) calc(100% - var(--pw)), #000 calc(100% - var(--pw) + 18px)) !important;
		mask-image: linear-gradient(90deg, transparent 0, rgba(0, 0, 0, .08) calc((100% - var(--pw)) * .3), rgba(0, 0, 0, .3) calc((100% - var(--pw)) * .65), rgba(0, 0, 0, .7) calc(100% - var(--pw)), #000 calc(100% - var(--pw) + 18px)) !important;
	}
}

/* Our team hero: plum text */
.page-id-686 .cvf-fade-hero .cvf-fade-hero__text p { color: var(--cvf-plum, #4A254A) !important; }

/* ---- Resources hub: clearer structure, same content ---- */
.cvf-res-note { padding: .9rem 1.1rem .9rem 3.1rem !important; position: relative; background: #F4F6F9; border-radius: 12px; font-size: .95rem; color: var(--cvf-ink-2, #3B4A5C); }
.cvf-res-note::before { content: "i"; position: absolute; left: 1rem; top: .95rem; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: #17304A; color: #fff; font: 700 .85rem/1.4rem Georgia, serif; text-align: center; font-style: italic; }
.cvf-res-note em { font-style: normal; }

/* Start here: numbered checklist on lilac */
ol.cvf-res-start { list-style: none; counter-reset: cvfstart; display: grid; gap: .65rem; padding: clamp(1.1rem, 3vw, 1.75rem) !important; background: var(--cvf-mauve-soft, #F3E6F4); border-radius: var(--cvf-radius-lg, 20px); }
ol.cvf-res-start > li { counter-increment: cvfstart; position: relative; margin: 0 !important; padding: .9rem 1rem .9rem 3.6rem; background: #fff; border-radius: 14px; line-height: 1.55; box-shadow: 0 1px 2px rgba(23, 48, 74, .05); }
ol.cvf-res-start > li::before { content: counter(cvfstart); position: absolute; left: 1rem; top: .85rem; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: #9A3F9B; color: #fff; font-weight: 800; display: grid; place-items: center; }
ol.cvf-res-start a { color: #17304A; font-weight: 600; }

/* Jump to: topic buttons */
.cvf-res-jump { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .6rem; margin: 0 0 2rem; }
.cvf-res-jump a { display: flex; align-items: center; gap: .6rem; padding: .7rem .8rem; background: #fff; border: 1px solid #E5E8EE; border-radius: 12px; color: #17304A; font-weight: 600; font-size: .95rem; line-height: 1.25; text-decoration: none; transition: border-color .2s, transform .2s; }
.cvf-res-jump a:hover { border-color: #9A3F9B; transform: translateY(-2px); }
.cvf-res-jump a::before, .cvf-resource-card > h3::before { content: ""; flex: none; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--cvf-mauve-soft, #F3E6F4) no-repeat center / 1.3rem; }

/* Topic cards */
.cvf-resource-card { border-left-width: 1px !important; border-left-color: #E5E8EE !important; position: relative; }
.cvf-resource-card::before { content: ""; position: absolute; left: clamp(1.25rem, 1rem + 1.5vw, 2.25rem); top: 0; width: 2.75rem; height: 5px; border-radius: 0 0 3px 3px; background: #9A3F9B; }
.cvf-resource-card > h3 { display: flex; align-items: center; gap: .75rem; }
.cvf-resource-card > h3::before { width: 2.75rem; height: 2.75rem; background-size: 1.55rem; }
.cvf-resource-card > p:first-of-type { padding: .85rem 1.1rem; background: #F4F6F9; border-left: 4px solid #17304A; border-radius: 0 12px 12px 0; }
.cvf-resource-card > p:first-of-type strong { color: #17304A; }
.cvf-resource-card ul { list-style: none; padding-left: 0 !important; }
.cvf-resource-card ul > li { position: relative; padding-left: 1.9rem; margin-bottom: .55rem; line-height: 1.55; }
.cvf-resource-card ul > li::before { content: ""; position: absolute; left: 0; top: .2rem; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: #9A3F9B url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.6 2.4L12 5.5' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / .8rem; }
/* "Go further": links as pills (the " | " separators are hidden) */
.cvf-resource-card > p:last-of-type { font-size: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-top: 1.1rem !important; padding-top: 1rem; border-top: 1px solid #EEEBF0; }
.cvf-resource-card > p:last-of-type > * { font-size: .9rem; }
.cvf-resource-card > p:last-of-type strong { margin-right: .25rem; color: #17304A; }
.cvf-resource-card > p:last-of-type a { padding: .35rem .8rem; border: 1px solid #E0B9E3; border-radius: 999px; background: #fff; color: #4A254A; font-weight: 600; text-decoration: none; line-height: 1.3; }
.cvf-resource-card > p:last-of-type a:hover { background: #F3E6F4; }

/* Coming soon */
ul.cvf-res-soon { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; padding-left: 0 !important; }
ul.cvf-res-soon > li { margin: 0 !important; padding: .5rem .9rem; border: 1px dashed #B9B2C2; border-radius: 999px; color: #4B5563; font-weight: 600; font-size: .95rem; }
ul.cvf-res-soon > li::after { content: "Soon"; margin-left: .5rem; padding: .1rem .45rem; border-radius: 999px; background: #F3E6F4; color: #8A4690; font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.cvf-res-jump a[data-topic="heat-cold-pollution"]::before, .cvf-resource-card > h3#heat-cold-pollution::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14.5V5a2 2 0 0 1 4 0v9.5a3.5 3.5 0 1 1-4 0z'/%3E%3Cpath d='M12 9v7'/%3E%3C/svg%3E"); }
.cvf-res-jump a[data-topic="clean-air"]::before, .cvf-resource-card > h3#clean-air::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9h11a3 3 0 1 0-3-3M3 13h15a3 3 0 1 1-3 3M3 17h6'/%3E%3C/svg%3E"); }
.cvf-res-jump a[data-topic="masks"]::before, .cvf-resource-card > h3#masks::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9c3-1.5 13-1.5 16 0v3.5c0 3.5-3.6 6-8 6s-8-2.5-8-6z'/%3E%3Cpath d='M4 10.5H2.5M20 10.5h1.5M8 12h8M8.5 14.5h7'/%3E%3C/svg%3E"); }
.cvf-res-jump a[data-topic="events-venues"]::before, .cvf-resource-card > h3#events-venues::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16v3a2 2 0 0 0 0 4v3H4v-3a2 2 0 0 0 0-4z'/%3E%3Cpath d='M14 7v10' stroke-dasharray='1.5 2'/%3E%3C/svg%3E"); }
.cvf-res-jump a[data-topic="healthcare"]::before, .cvf-resource-card > h3#healthcare::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10.3A4.2 4.2 0 0 1 12 7.2a4.2 4.2 0 0 1 7.5 2.5C19.5 15.4 12 20 12 20z'/%3E%3Cpath d='M12 10v5M9.5 12.5h5'/%3E%3C/svg%3E"); }
.cvf-res-jump a[data-topic="schools"]::before, .cvf-resource-card > h3#schools::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6.5C5.5 5 8.5 5 12 7c3.5-2 6.5-2 9-.5V19c-2.5-1.5-5.5-1.5-9 .5-3.5-2-6.5-2-9-.5z'/%3E%3Cpath d='M12 7v12.5'/%3E%3C/svg%3E"); }
.cvf-res-jump a[data-topic="consulting-communicating"]::before, .cvf-resource-card > h3#consulting-communicating::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v10H9l-5 4z'/%3E%3Cpath d='M8 9h8M8 12h5'/%3E%3C/svg%3E"); }
.cvf-res-jump a[data-topic="infection-prevention"]::before, .cvf-resource-card > h3#infection-prevention::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11z'/%3E%3Cpath d='M9.5 14.5a2.5 2.5 0 0 0 2.5 2.5'/%3E%3C/svg%3E"); }
.cvf-res-jump a[data-topic="transport"]::before, .cvf-resource-card > h3#transport::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3.5' width='14' height='14' rx='2'/%3E%3Cpath d='M5 11h14M8 20.5v-3M16 20.5v-3M8.5 14.5h.01M15.5 14.5h.01'/%3E%3C/svg%3E"); }
.cvf-res-jump a[data-topic="workplaces"]::before, .cvf-resource-card > h3#workplaces::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='7.5' width='17' height='12' rx='2'/%3E%3Cpath d='M9 7.5V5.5a1.5 1.5 0 0 1 1.5-1.5h3A1.5 1.5 0 0 1 15 5.5v2M3.5 12.5h17'/%3E%3C/svg%3E"); }
.cvf-res-jump a[data-topic="outbreak-planning"]::before, .cvf-resource-card > h3#outbreak-planning::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.cvf-res-jump a[data-topic="reasonable-adjustments"]::before, .cvf-resource-card > h3#reasonable-adjustments::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16M7 20h10M5 8h14'/%3E%3Cpath d='M5 8l-2.5 6a2.5 2.5 0 0 0 5 0zM19 8l-2.5 6a2.5 2.5 0 0 0 5 0z'/%3E%3C/svg%3E"); }

/* Resources: cards line up with the rest of the page */
body.page-id-532 .entry-content > .cvf-resource-card { margin-left: 0 !important; margin-right: 0 !important; }

body.page.page-id-532:not(.home) .entry-content > .wp-block-group.cvf-resource-card { margin-left: 0 !important; margin-right: 0 !important; }
/* Resource cards: WordPress wraps the card content in an inner container */
.cvf-resource-card > .wp-block-group__inner-container > h3::before { content: ""; flex: none; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--cvf-mauve-soft, #F3E6F4) no-repeat center / 1.3rem; }
.cvf-resource-card > .wp-block-group__inner-container > h3 { display: flex; align-items: center; gap: .75rem; }
.cvf-resource-card > .wp-block-group__inner-container > h3::before { width: 2.75rem; height: 2.75rem; background-size: 1.55rem; }
.cvf-resource-card > .wp-block-group__inner-container > p:first-of-type { padding: .85rem 1.1rem; background: #F4F6F9; border-left: 4px solid #17304A; border-radius: 0 12px 12px 0; }
.cvf-resource-card > .wp-block-group__inner-container > p:first-of-type strong { color: #17304A; }
.cvf-resource-card > .wp-block-group__inner-container > p:last-of-type { font-size: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-top: 1.1rem !important; padding-top: 1rem; border-top: 1px solid #EEEBF0; }
.cvf-resource-card > .wp-block-group__inner-container > p:last-of-type > * { font-size: .9rem; }
.cvf-resource-card > .wp-block-group__inner-container > p:last-of-type strong { margin-right: .25rem; color: #17304A; }
.cvf-resource-card > .wp-block-group__inner-container > p:last-of-type a { padding: .35rem .8rem; border: 1px solid #E0B9E3; border-radius: 999px; background: #fff; color: #4A254A; font-weight: 600; text-decoration: none; line-height: 1.3; }
.cvf-resource-card > .wp-block-group__inner-container > p:last-of-type a:hover { background: #F3E6F4; }
.cvf-resource-card > .wp-block-group__inner-container > h3#heat-cold-pollution::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14.5V5a2 2 0 0 1 4 0v9.5a3.5 3.5 0 1 1-4 0z'/%3E%3Cpath d='M12 9v7'/%3E%3C/svg%3E"); }
.cvf-resource-card > .wp-block-group__inner-container > h3#clean-air::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9h11a3 3 0 1 0-3-3M3 13h15a3 3 0 1 1-3 3M3 17h6'/%3E%3C/svg%3E"); }
.cvf-resource-card > .wp-block-group__inner-container > h3#masks::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9c3-1.5 13-1.5 16 0v3.5c0 3.5-3.6 6-8 6s-8-2.5-8-6z'/%3E%3Cpath d='M4 10.5H2.5M20 10.5h1.5M8 12h8M8.5 14.5h7'/%3E%3C/svg%3E"); }
.cvf-resource-card > .wp-block-group__inner-container > h3#events-venues::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16v3a2 2 0 0 0 0 4v3H4v-3a2 2 0 0 0 0-4z'/%3E%3Cpath d='M14 7v10' stroke-dasharray='1.5 2'/%3E%3C/svg%3E"); }
.cvf-resource-card > .wp-block-group__inner-container > h3#healthcare::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10.3A4.2 4.2 0 0 1 12 7.2a4.2 4.2 0 0 1 7.5 2.5C19.5 15.4 12 20 12 20z'/%3E%3Cpath d='M12 10v5M9.5 12.5h5'/%3E%3C/svg%3E"); }
.cvf-resource-card > .wp-block-group__inner-container > h3#schools::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6.5C5.5 5 8.5 5 12 7c3.5-2 6.5-2 9-.5V19c-2.5-1.5-5.5-1.5-9 .5-3.5-2-6.5-2-9-.5z'/%3E%3Cpath d='M12 7v12.5'/%3E%3C/svg%3E"); }
.cvf-resource-card > .wp-block-group__inner-container > h3#consulting-communicating::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v10H9l-5 4z'/%3E%3Cpath d='M8 9h8M8 12h5'/%3E%3C/svg%3E"); }
.cvf-resource-card > .wp-block-group__inner-container > h3#infection-prevention::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11z'/%3E%3Cpath d='M9.5 14.5a2.5 2.5 0 0 0 2.5 2.5'/%3E%3C/svg%3E"); }
.cvf-resource-card > .wp-block-group__inner-container > h3#transport::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3.5' width='14' height='14' rx='2'/%3E%3Cpath d='M5 11h14M8 20.5v-3M16 20.5v-3M8.5 14.5h.01M15.5 14.5h.01'/%3E%3C/svg%3E"); }
.cvf-resource-card > .wp-block-group__inner-container > h3#workplaces::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='7.5' width='17' height='12' rx='2'/%3E%3Cpath d='M9 7.5V5.5a1.5 1.5 0 0 1 1.5-1.5h3A1.5 1.5 0 0 1 15 5.5v2M3.5 12.5h17'/%3E%3C/svg%3E"); }
.cvf-resource-card > .wp-block-group__inner-container > h3#outbreak-planning::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.cvf-resource-card > .wp-block-group__inner-container > h3#reasonable-adjustments::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16M7 20h10M5 8h14'/%3E%3Cpath d='M5 8l-2.5 6a2.5 2.5 0 0 0 5 0zM19 8l-2.5 6a2.5 2.5 0 0 0 5 0z'/%3E%3C/svg%3E"); }
.cvf-resource-card ul { margin-left: 0 !important; }
/* Pages folded into tap-to-open sections on computers too (body.cvf-acc-all, e.g. Resources) */
@media (min-width: 761px) {
	body.cvf-acc-all .entry-content h2.cvf-acc-h { font-size: 1.6rem !important; line-height: 1.25 !important; margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0; padding-bottom: 0; border-top: 1px solid #E7E1EA; }
	body.cvf-acc-all .entry-content h2.cvf-acc-h .cvf-acc-btn { padding: 1.15rem 0; }
	body.cvf-acc-all .entry-content h2.cvf-acc-h:has(.cvf-acc-btn[aria-expanded="true"]) { margin-bottom: .75rem !important; }
	body.cvf-acc-all .entry-content h2.cvf-acc-h:has(.cvf-acc-btn[aria-expanded="true"]) .cvf-acc-chev { background: var(--cvf-plum, #4A254A); }
	body.cvf-acc-all .entry-content h2.cvf-acc-h:has(.cvf-acc-btn[aria-expanded="true"]) .cvf-acc-chev::before { border-color: #fff; }
	body.cvf-acc-all .entry-content .cvf-acc-closed { margin-bottom: 0 !important; padding-bottom: 0 !important; }
	body.cvf-acc-all .entry-content .cvf-acc-btn:hover .cvf-acc-chev { box-shadow: inset 0 0 0 2px var(--cvf-plum, #4A254A); }
}
/* Nation cards on computers: name and role sit at the top beside the photo, and the flower is a little smaller, so they never overlap */
@media (min-width: 761px) {
	.cvf-nation__lead { align-items: flex-start; }
	.cvf-nation__lead > div:last-child { padding-top: .15rem; }
	.cvf-nation__motif { width: 120px !important; height: 144px !important; }
}
/* Nation cards: full-size flowers again. Three across, the cards get extra room underneath so the flower sits below the text. */
@media (min-width: 761px) and (max-width: 900px) {
	.cvf-nation__motif { width: 150px !important; height: 180px !important; }
}
@media (min-width: 901px) {
	.cvf-nation { padding-bottom: 100px !important; }
	.cvf-nation__motif { width: 150px !important; height: 180px !important; right: -30px !important; bottom: -28px !important; }
}
@media (min-width: 901px) and (max-width: 1239px) {
	.cvf-nation__motif { width: 120px !important; height: 144px !important; right: -24px !important; }
}
/* "…and other members who prefer not to be named." under a team grid */
.entry-content .cvf-team-note { margin-top: 1.25rem; font-style: italic; color: var(--cvf-ink-2, #3B4A5C); }
/* Peer-support icon without the heart: new file name so browsers fetch it fresh */
.cvf-contact-routes li.is-community a::after, .cvf-gi-card.is-community::after { background-image: url(contact-community.svg?v=2); }
/* Reports: an upcoming report, shown dulled with a "Coming soon" tag and no download */
.cvf-report--soon .cvf-report__cover { position: relative; cursor: default; }
.cvf-report--soon .cvf-report__cover img { filter: grayscale(.7); opacity: .55; }
.cvf-report__badge { position: absolute; top: .75rem; left: .75rem; padding: .3rem .75rem; border-radius: 999px; background: #4A254A; color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.cvf-report--soon .cvf-report__date { color: #9A3F9B; font-weight: 700; }
.cvf-report--soon h2 { color: #5d6675; }
.cvf-report__unavailable, .cvf-report__unavailable:hover { background: transparent !important; color: #6B7280 !important; border: 2px dashed #C9CDD4 !important; box-shadow: none !important; cursor: not-allowed; transform: none !important; }
.cvf-report__badge { top: auto !important; bottom: 1rem; left: 50% !important; transform: translateX(-50%); white-space: nowrap; box-shadow: 0 4px 14px rgba(23,48,74,.25); }
.cvf-report__unavailable::after, .cvf-report__unavailable::before { content: none !important; display: none !important; }
/* Support hub tiles: every tile gets a coloured bar across the top, in its own colour */
.cvf-hub-jump__list a { --cvf-bar: #9A3F9B; box-shadow: inset 0 4px 0 var(--cvf-bar) !important; }
.cvf-hub-jump__list a:hover, .cvf-hub-jump__list a:focus-visible { box-shadow: inset 0 4px 0 var(--cvf-bar), 0 12px 26px rgba(23, 48, 74, .1) !important; }
.cvf-hub-jump__list a[href="#health"] { --cvf-bar: #9A3F9B; }
.cvf-hub-jump__list a[href="#power-and-water"] { --cvf-bar: #1F6FB2; }
.cvf-hub-jump__list a[href="#work-and-money"] { --cvf-bar: #4A254A; }
.cvf-hub-jump__list a[href="#children-and-families"] { --cvf-bar: #347CA9; }
.cvf-hub-jump__list a[href="#wellbeing"] { --cvf-bar: #2E7D4F; }
.cvf-hub-jump__list a[href="#voting"] { --cvf-bar: #25B2D3; }
/* Plain text-style buttons (fold-open headings, name toggles): no theme fill on hover or focus.
   A soft lilac wash that reaches a little beyond the text on every side, so it never sits flush. */
.entry-content .cvf-acc-btn:hover, .entry-content .cvf-acc-btn:focus, .entry-content .cvf-acc-btn:active, .entry-content .cvf-person__toggle:hover, .entry-content .cvf-person__toggle:focus, .entry-content .cvf-person__toggle:active { background: transparent !important; color: inherit !important; }
.entry-content :is(.cvf-acc-btn, .cvf-person__toggle):is(:hover, :focus, :focus-visible, :active) { background: transparent !important; color: inherit !important; }
.entry-content .cvf-acc-btn { border-radius: 12px; transition: background-color .15s ease, box-shadow .15s ease; }
.entry-content .cvf-acc-btn:hover { background: #F3E6F4 !important; box-shadow: 0 0 0 .75rem #F3E6F4; color: var(--cvf-plum, #4A254A) !important; }
.entry-content .cvf-acc-btn:is(:hover, :focus-visible) { background: #F3E6F4 !important; box-shadow: 0 0 0 .75rem #F3E6F4; color: var(--cvf-plum, #4A254A) !important; }
.entry-content .cvf-acc-btn:focus-visible { outline: 3px solid #9A3F9B; outline-offset: .75rem; }
.entry-content .cvf-acc-btn:hover .cvf-acc-chev { background: var(--cvf-plum, #4A254A); box-shadow: none; }
.entry-content .cvf-acc-btn:hover .cvf-acc-chev::before { border-color: #fff; }
/* Polling station checklist as a form: optional CO₂ reading, date, area and notes */
.cvf-pollcheck__form { margin: 0; }
.cvf-pollcheck__more { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; margin: 1.25rem 0 1.25rem; padding: 1.25rem; background: #fff; border-radius: 14px; }
.cvf-pollcheck__more > div { display: flex; flex-direction: column; gap: .35rem; }
.cvf-pollcheck__co2, .cvf-pollcheck__notes { grid-column: 1 / -1; }
.cvf-pollcheck__more label { display: block; padding: 0; background: none; border: 0; font-weight: 700; color: var(--t-dark, #17304A); }
.cvf-pollcheck__more label:hover { border: 0; }
.cvf-pollcheck__more label span { font-weight: 400; color: #5d6675; }
.cvf-pollcheck__hint { margin: 0 !important; font-size: .9rem; color: #5d6675; }
.cvf-pollcheck__more input, .cvf-pollcheck__more textarea { width: 100%; box-sizing: border-box; padding: .6rem .75rem; border: 1px solid #C9D3DD; border-radius: 10px; background: #fff; font: inherit; color: inherit; }
.cvf-pollcheck__more :is(input, textarea) { width: 100%; box-sizing: border-box; padding: .6rem .75rem; border: 1px solid #C9D3DD; border-radius: 10px; background: #fff; font: inherit; color: inherit; }
.cvf-pollcheck__more :is(input, textarea):focus-visible { outline: 3px solid var(--t-acc, #25B2D3); outline-offset: 1px; }
.cvf-pollcheck__unit { display: flex; align-items: center; gap: .5rem; max-width: 14rem; }
.cvf-pollcheck__unit span { font-weight: 700; color: var(--t-dark, #17304A); }
.cvf-pollcheck__result { margin-bottom: 0 !important; }
.cvf-pollcheck__go button { border: 0; cursor: pointer; font: inherit; }
.cvf-pollcheck .cvf-notice { margin: 1rem 0 0; padding: .8rem 1rem; border-radius: 12px; background: #fff; font-weight: 600; }
.cvf-pollcheck .cvf-notice--ok { box-shadow: inset 4px 0 0 #2E7D4F; }
.cvf-pollcheck .cvf-notice--error { box-shadow: inset 4px 0 0 #B3261E; }
@media (max-width: 600px) { .cvf-pollcheck__more { grid-template-columns: 1fr; padding: 1rem; } }
/* Polling station self-check: feedback shown on the page, nothing sent */
.cvf-pollcheck [hidden] { display: none !important; }
.cvf-pollcheck__more { grid-template-columns: 1fr; }
.cvf-pollcheck__go { margin: 0 0 0 !important; }
.cvf-pollcheck__result { margin: 1.25rem 0 0 !important; padding: 1.1rem 1.25rem !important; outline: none; }
.cvf-pollcheck__result > p { margin: 0 0 .5rem !important; }
.cvf-pollcheck__thanks { font-size: 1.1rem; font-weight: 800; }
.cvf-pollcheck__score { font-weight: 700; }
.cvf-pollcheck__list { list-style: none; margin: .25rem 0 .75rem !important; padding: 0 !important; display: grid; gap: .35rem; font-weight: 500; }
.cvf-pollcheck__list li { position: relative; padding-left: 1.9rem; margin: 0; }
.cvf-pollcheck__list li::before { position: absolute; left: 0; top: .1rem; width: 1.3rem; height: 1.3rem; border-radius: 50%; display: grid; place-items: center; font-size: .8rem; font-weight: 800; color: #fff; }
.cvf-pollcheck__list li.is-yes::before { content: "✓"; background: #2E7D4F; }
.cvf-pollcheck__list li.is-no::before { content: "✕"; background: #9AA3B2; }
.cvf-pollcheck__list li.is-no { color: #5d6675; }
.cvf-pollcheck__warn { padding: .6rem .85rem; border-radius: 10px; background: #FBEAEA; color: #8C1D18; font-weight: 600; }
.cvf-pollcheck__air { font-weight: 500; margin-bottom: 0 !important; }
.cvf-pollcheck__next { margin-top: 1rem; padding: 1.1rem 1.25rem; background: #fff; border-radius: 14px; }
.cvf-pollcheck__next h3 { margin: 0 0 .5rem; font-size: 1.15rem; }
.cvf-pollcheck__next p { margin: 0 0 .6rem !important; }
.cvf-pollcheck__links { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0 0 !important; }
.cvf-pollcheck__links a { padding: .45rem .9rem; border: 1px solid var(--t-acc, #25B2D3); border-radius: 999px; font-weight: 600; text-decoration: none; color: var(--t-dark, #003057); }
.cvf-pollcheck__links a:hover { background: var(--t-soft, #E6F6FA); }
/* Polling station check: the letter to electoral services */
.cvf-pollcheck__letter { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid #E3EAF0; }
.cvf-pollcheck__letter h3 { margin: 0 0 .4rem; font-size: 1.1rem; }
.cvf-pollcheck__fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem 1rem; margin: .9rem 0 1rem; }
.cvf-pollcheck__fields > div { display: flex; flex-direction: column; gap: .3rem; }
.cvf-pollcheck__letter label { display: block; margin: 0; padding: 0; background: none; border: 0; font-weight: 700; color: var(--t-dark, #17304A); }
.cvf-pollcheck__letter label:hover { border: 0; }
.cvf-pollcheck__letter label span { font-weight: 400; color: #5d6675; }
.cvf-pollcheck__letter input, .cvf-pollcheck__letter textarea { width: 100%; box-sizing: border-box; padding: .6rem .75rem; border: 1px solid #C9D3DD; border-radius: 10px; background: #fff; font: inherit; color: inherit; }
.cvf-pollcheck__letter :is(input, textarea) { width: 100%; box-sizing: border-box; padding: .6rem .75rem; border: 1px solid #C9D3DD; border-radius: 10px; background: #fff; font: inherit; color: inherit; }
.cvf-pollcheck__letter textarea { margin-top: .35rem; min-height: 22rem; line-height: 1.5; font-size: .95rem; resize: vertical; }
.cvf-pollcheck__letter :is(input, textarea):focus-visible { outline: 3px solid var(--t-acc, #25B2D3); outline-offset: 1px; }
.cvf-pollcheck__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin: .9rem 0 .6rem !important; }
.cvf-pollcheck__actions button { border: 0; cursor: pointer; font: inherit; }
.cvf-pollcheck__mail { background: #fff !important; color: var(--t-dark, #003057) !important; border: 2px solid var(--t-dark, #003057) !important; }
.cvf-pollcheck__copied { font-weight: 600; color: #2E7D4F; }
.cvf-pollcheck__result:focus { box-shadow: none; }
@media (max-width: 700px) { .cvf-pollcheck__fields { grid-template-columns: 1fr; } }
/* New outline illustrations (one style: same line weight, 120x100). Pictures not drawn for this site are replaced; the rings are kept. */
.cvf-campaigns .wp-block-post.post-12::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/ballot.svg?v=1) !important; }
.cvf-campaigns .wp-block-post.post-14::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/wind.svg?v=1) !important; }
.cvf-ow-card.is-voting::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/ballot.svg?v=1) !important; }
.cvf-ow-card.is-air::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/wind.svg?v=1) !important; }
.cvf-ab-card.is-educate::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/education.svg?v=1) !important; }
.cvf-ab-card.is-assist::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/support.svg?v=1) !important; }
.cvf-ab-link:has(a[href*="our-team"])::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/team.svg?v=1) !important; }
.cvf-ab-link:has(a[href*="our-impact"])::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/impact.svg?v=1) !important; }
.cvf-ab-link:has(a[href*="timeline"])::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/timeline.svg?v=1) !important; }
.cvf-start-card--key::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/shield-people.svg?v=1) !important; }
.cvf-start-card:not(.cvf-start-card--key)::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/register.svg?v=1) !important; }
.cvf-info .cvf-info-eq > .cvf-eq-part:nth-of-type(1)::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/health.svg?v=1) !important; }
.cvf-info .cvf-info-eq > .cvf-eq-part:nth-of-type(2)::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/threat.svg?v=1) !important; }
.cvf-info .cvf-info-eq > .cvf-eq-part:nth-of-type(3)::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/around.svg?v=1) !important; }
.cvf-info .cvf-info-eq > .cvf-eq-part--result::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/risk.svg?v=1) !important; }
.cvf-info .cvf-layer-pair > div:nth-child(1)::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/vaccine.svg?v=1) !important; }
.cvf-info .cvf-layer-pair > div:nth-child(2)::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/respirator.svg?v=1) !important; }
#uk-terms .cvf-info-reports li:nth-child(1) a::after { background-image: url(/wp-content/plugins/cvf-extras/assets/icons/shield-people.svg?v=1) !important; }
/* Cards that use the picture as a cut-out shape (mask) */
.home .cvf-campaigns .wp-block-post.post-15::after, .cvf-ow-card.is-schools::after { -webkit-mask-image: url(/wp-content/plugins/cvf-extras/assets/icons/register.svg?v=1) !important; mask-image: url(/wp-content/plugins/cvf-extras/assets/icons/register.svg?v=1) !important; }
#infections .cvf-info-quote::after { -webkit-mask-image: url(/wp-content/plugins/cvf-extras/assets/icons/wind.svg?v=1) !important; mask-image: url(/wp-content/plugins/cvf-extras/assets/icons/wind.svg?v=1) !important; }
/* Header search (WHO style): the magnifier opens a full-width search bar under the header */
.site-header .main-navigation .inside-navigation { position: static !important; }
.site-header .navigation-search { display: none !important; }
.site-header .navigation-search.nav-search-active { display: block !important; position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; width: auto !important; height: auto !important; padding: 18px 16px 22px !important; background: #fff !important; box-shadow: 0 14px 28px rgba(23, 48, 74, .12); border-top: 1px solid #EFE7F0; z-index: 50; opacity: 1 !important; }
.site-header .navigation-search .search-field { display: block; max-width: 760px; margin: 0 auto !important; width: 100% !important; height: 56px !important; padding: 0 18px 0 52px !important; border: 2px solid #E0B9E3 !important; border-radius: 999px !important; background: #FAF8F5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A254A' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 18px center / 22px !important; font-size: 18px !important; color: #17304A !important; position: static !important; }
.site-header .navigation-search .search-field::placeholder { color: #6B7280; }
.site-header .navigation-search .search-field:focus { outline: 3px solid #9A3F9B !important; outline-offset: 2px; border-color: #9A3F9B !important; background-color: #fff !important; }
.site-header .menu-bar-item.search-item > a { color: var(--cvf-plum, #4A254A) !important; }
.site-header .menu-bar-item.search-item > a:hover, .site-header .menu-bar-item.search-item > a:focus-visible { background: #F3E6F4 !important; border-radius: 999px; }
/* Header search bar: off-white panel, white field */
.site-header .navigation-search.nav-search-active { background: #FAF8F5 !important; }
.site-header .navigation-search .search-field { background-color: #fff !important; }
/* Header search bar: same colour as the header, no dividing line or shadow, so it reads as one area */
.site-header .navigation-search.nav-search-active { background: rgba(250, 249, 246, .92) !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-top: 0 !important; box-shadow: none !important; }
/* Module 10 card: the CVF banner shown whole (never cropped or squashed), the sides filled in its own navy and wave blue */
.cvf-inq-mod__img--banner { background: linear-gradient(to bottom, #1C113C 0, #1C113C 70%, #3FC4F1 70%, #3FC4F1 78%, #2BABEA 78%) !important; }
.cvf-inq-mod__img--banner img { object-fit: contain !important; }
/* Story section headings are now level 2 (correct order for screen readers) but look exactly as before */
.cvf-story-body h2.is-cvf-h3, .entry-content h2.is-cvf-h3 { font-size: 19px !important; font-weight: 700 !important; line-height: 1.05 !important; letter-spacing: -0.025em !important; margin: 1.6em 0 .5em !important; padding: 0 !important; border: 0 !important; color: #17304A !important; text-transform: none !important; }
.cvf-story-body h2.is-cvf-h3::before, .cvf-story-body h2.is-cvf-h3::after, .entry-content h2.is-cvf-h3::before, .entry-content h2.is-cvf-h3::after { content: none !important; display: none !important; }
/* Tap targets at least 24px high (WCAG 2.2 target size) */
.cvf-foot-legal a, .cvf-res__go, .taxonomy-category a, .wp-block-post-excerpt__more-link, .cvf-story-support__share, .cvf-copy-link, .cvf-story-label, .mailpoet_paragraph a { display: inline-flex; align-items: center; min-height: 24px; }
.cvf-story-support__share { min-width: 24px; justify-content: center; }
.site-logo a { display: inline-block; min-height: 24px; }
.page-id-713 .entry-content .wp-block-list li > a, .page-id-713 .entry-content .wp-block-heading a { display: inline-flex; align-items: center; min-height: 24px; }

/* Tap targets at least 24px (WCAG 2.5.8): the story share links and the Support page's "Go to" links. */
.cvf-story-support__share a, .cvf-story-support__share .cvf-copy-link { display: inline-flex; align-items: center; justify-content: center; min-height: 24px; min-width: 24px; }
.cvf-res__go a { display: inline-flex; align-items: center; min-height: 24px; }

/* Support hub: the "I need help with" tiles fill their column again (the 24px tap-size rule had made them shrink to their text). */
.page-id-713 .entry-content .cvf-hub-jump__list.wp-block-list li > a { display: flex; width: 100%; }
/* Country labels in the resource lists: no extra space underneath (that space is only for the Team page's nation cards). */
body .entry-content .cvf-res__nations .cvf-nation { padding-bottom: 0 !important; }
@media (max-width: 760px) { body .entry-content .cvf-res__nations .cvf-nation { margin-bottom: .2rem; } }
/* Each section box carries the same coloured top bar as its tile. */
.cvf-hub-sec { --cvf-bar: #9A3F9B; box-shadow: inset 0 4px 0 var(--cvf-bar), 0 1px 2px rgba(23, 48, 74, .06), 0 2px 8px rgba(23, 48, 74, .05) !important; }
#health.cvf-hub-sec { --cvf-bar: #9A3F9B; }
#power-and-water.cvf-hub-sec { --cvf-bar: #1F6FB2; }
#work-and-money.cvf-hub-sec { --cvf-bar: #4A254A; }
#children-and-families.cvf-hub-sec { --cvf-bar: #347CA9; }
#wellbeing.cvf-hub-sec { --cvf-bar: #2E7D4F; }
#voting.cvf-hub-sec { --cvf-bar: #25B2D3; }

/* ---- The logo coin is now a still picture (rendered once from the old 3D version), placed exactly where it used to land.
   --s is the coin's radius and --g the side gap, both from the hero width; the picture is 2.9 radii square, coin in the middle. ---- */
.home .cvf-hero { --s: clamp(30px, 5vw, 64px); --g: clamp(20px, 5vw, 80px); }
.home .cvf-hero::before, .cvf-js .home .cvf-hero::before {
	content: "" !important; display: block !important; position: absolute !important; z-index: 2 !important;
	top: auto !important; right: calc(var(--g) - 0.3 * var(--s)) !important; bottom: 18px !important; left: auto !important; inset: auto calc(var(--g) - 0.3 * var(--s)) 18px auto !important;
	width: calc(2.9 * var(--s)) !important; height: calc(2.9 * var(--s)) !important; max-height: none !important;
	background: url("cvf-coin-still.png") center / contain no-repeat !important;
	clip-path: none !important; opacity: 1 !important; transform: none !important; animation: none !important; pointer-events: none;
}
/* Phones: the photo sits above the text, so the coin rests at the bottom right of the photo. */
@media (max-width: 767px) {
	.home .cvf-hero::before, .cvf-js .home .cvf-hero::before { top: calc(min(58vw, 380px) - 2.9 * var(--s) - 18px) !important; right: calc(var(--g) - 0.3 * var(--s)) !important; bottom: auto !important; left: auto !important; inset: calc(min(58vw, 380px) - 2.9 * var(--s) - 18px) calc(var(--g) - 0.3 * var(--s)) auto auto !important; }
}
/* About: the smaller coin rests on the strip above the intro, its right edge lined up with the end of the text. */
.cvf-coin-strip { --s: 23.04px; }
@media (min-width: 700px) { .cvf-coin-strip { --s: 32px; } }
.cvf-coin-strip::before {
	content: ""; position: absolute; right: calc(var(--cvf-gutter) - 0.45 * var(--s)); bottom: 18px;
	width: calc(2.9 * var(--s)); height: calc(2.9 * var(--s));
	background: url("cvf-coin-still-small.png") center / contain no-repeat; pointer-events: none;
}

/* Team: the expert panel's "…and other members who prefer not to be named" uses the same dashed marker as the Insight team. */
.entry-content p.cvf-team-note { margin: 1.25rem 0 0 !important; padding: 16px 17.6px 16.8px 22.4px !important; border: 2px dashed #E0B9E3; border-radius: 12px; background: none; color: #4A254A !important; font-size: 15.68px !important; font-style: italic; line-height: 1.5 !important; max-width: none !important; }

/* Team: "…and other members who prefer not to be named" is a card the same size as the people cards, in both the expert and Insight grids. */
.cvf-people--grid > .cvf-people__note { grid-column: span 2; display: flex; align-items: center; box-sizing: border-box; min-height: 150px; margin: 0; }
@media (max-width: 900px) { .cvf-people--grid > .cvf-people__note { grid-column: span 1; } }
@media (max-width: 600px) { .cvf-people--grid > .cvf-people__note { min-height: 120px; } }
.cvf-dir > .cvf-dir__card--note { align-self: stretch; box-sizing: border-box; min-height: 119px; }

/* Nation cards on phones: each flower leans right from its stem so the petals clear the lead's name (checked 320-760px). */
@media (max-width: 760px) {
	.cvf-nation__motif { transform-origin: 50% 100%; }
	.cvf-nation--wales .cvf-nation__motif, .cvf-nation--scotland .cvf-nation__motif { transform: rotate(30deg); }
	.cvf-nation--northern-ireland .cvf-nation__motif { transform: rotate(35deg); }
}

/* Older browsers without aspect-ratio (Safari 14 and earlier): the Directors' photos stay square on phones instead of collapsing. */
@supports not (aspect-ratio: 1 / 1) {
	@media (max-width: 520px) {
		.cvf-people--directors .cvf-person--director .cvf-person__photo { height: 0; padding-bottom: 100%; }
	}
}

/* ---- Words never split mid-word (reported on a Windows laptop with larger text) ----
   WordPress lets buttons and columns break a word anywhere, which also lets them squeeze below the width of a word.
   Words now wrap whole; a word that truly cannot fit is hyphenated properly instead of chopped. */
.wp-block-button__link, .wp-block-column, .wp-block-post-title, .wp-block-media-text > .wp-block-media-text__content { word-break: normal; overflow-wrap: break-word; }
.wp-block-column, .cvf-eq-part, .cvf-dir__card, .cvf-person__text { -webkit-hyphens: auto; hyphens: auto; }
.has-cvf-heart { white-space: nowrap; }
/* The "who is at higher risk" table: columns no longer squeeze until words break; long words hyphenate (homeless-ness). */
body.cvf-reading .entry-content table.cvf-info-table th, body.cvf-reading .entry-content table.cvf-info-table td { overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
/* The four "equation" cards: two by two on wider screens, so each card has room for its words (one per row on phones, as before). */
@media (min-width: 861px) {
	.cvf-info .cvf-info-eq { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); row-gap: .5rem; }
	.cvf-info .cvf-info-eq > .cvf-eq-part:nth-of-type(1) { grid-column: 1; grid-row: 1; }
	.cvf-info .cvf-info-eq > .cvf-eq-op:nth-of-type(1) { grid-column: 2; grid-row: 1; }
	.cvf-info .cvf-info-eq > .cvf-eq-part:nth-of-type(2) { grid-column: 3; grid-row: 1; }
	.cvf-info .cvf-info-eq > .cvf-eq-op:nth-of-type(2) { grid-column: 1 / -1; grid-row: 2; justify-self: center; line-height: 1; }
	.cvf-info .cvf-info-eq > .cvf-eq-part:nth-of-type(3) { grid-column: 1; grid-row: 3; }
	.cvf-info .cvf-info-eq > .cvf-eq-op:nth-of-type(3) { grid-column: 2; grid-row: 3; }
	.cvf-info .cvf-info-eq > .cvf-eq-part--result { grid-column: 3; grid-row: 3; }
	.cvf-info .cvf-info-eq > figcaption { grid-column: 1 / -1; grid-row: 4; }
}
/* Story cards whose picture is a wide banner with words on it: show the whole banner, with its own colours above and below. */
.post-436 .wp-block-post-featured-image img { object-fit: contain !important; background: linear-gradient(#211a37 50%, #a048a0 50%); }
.post-457 .wp-block-post-featured-image img { object-fit: contain !important; background: linear-gradient(#255861 50%, #318826 50%); }

/* Pictures with words on them (ticked "Show the whole picture" in the Media Library): shown in full, never cropped,
   with a little padding in the picture's own edge colour (or a soft neutral). */
img.cvf-img-whole { object-fit: contain !important; object-position: center !important; box-sizing: border-box; padding: clamp(6px, 2.5%, 22px) !important; background-color: var(--cvf-img-bg, #F4F1F6) !important; background-image: none !important; }

/* "Who is at higher risk" table on wider screens: columns size to their words, so no word is ever split.
   If the text is enlarged beyond what fits beside the sidebar, the table scrolls sideways instead. */
@media (min-width: 761px) {
	body.cvf-reading .entry-content .cvf-info-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
	body.cvf-reading .entry-content table.cvf-info-table { table-layout: auto !important; }
	body.cvf-reading .entry-content table.cvf-info-table th, body.cvf-reading .entry-content table.cvf-info-table td { overflow-wrap: normal; -webkit-hyphens: manual; hyphens: manual; padding-left: .4rem; padding-right: .4rem; }
	body.cvf-reading .entry-content table.cvf-info-table thead th { letter-spacing: .04em; }
}

/* ---- Search results, Google style (cvf-site templates/search.php) ---- */
.cvf-sr-wrap { max-width: 46rem; margin: 0 auto; padding: 2rem var(--cvf-gutter, 1.25rem) 4rem; }
.cvf-sr-heading { margin: 0 0 1rem; }
.cvf-sr-form { display: flex; margin: 0 0 .75rem; }
.cvf-sr-form input[type="search"] { flex: 1; min-width: 0; margin-right: .5rem; padding: .75rem 1.1rem; border-radius: 999px; border: 1px solid #D9D3DE; background: #fff; font-size: 1.05rem; }
.cvf-sr-form button { border-radius: 999px; padding: .75rem 1.4rem; background: var(--cvf-plum, #4A254A); color: #fff; border: 0; font-weight: 700; cursor: pointer; }
.cvf-sr-form button:hover, .cvf-sr-form button:focus-visible { background: var(--cvf-navy, #17304A); }
.cvf-sr-count { color: #5B6472; font-size: .9rem; margin: 0 0 1.75rem; }
.cvf-sr-list { list-style: none; margin: 0; padding: 0; }
.cvf-sr { margin: 0 0 1.9rem; padding: 0; }
.cvf-sr__link { display: block; text-decoration: none !important; color: inherit; }
.cvf-sr__site { display: flex; align-items: center; margin-bottom: .35rem; }
.cvf-sr__icon { flex: none; width: 28px; height: 28px; margin-right: .6rem; border-radius: 50%; background: #F3E6F4; padding: 3px; box-sizing: border-box; }
.cvf-sr__where { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.cvf-sr__name { font-size: .88rem; color: #202124; }
.cvf-sr__crumb { font-size: .8rem; color: #5B6472; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cvf-sr__title { margin: 0 !important; padding: 0 !important; border: 0 !important; font-size: 1.3rem !important; line-height: 1.3 !important; font-weight: 600 !important; letter-spacing: normal !important; text-transform: none !important; color: #7A3480 !important; }
.cvf-sr__title::before, .cvf-sr__title::after { content: none !important; display: none !important; }
.cvf-sr__link:hover .cvf-sr__title, .cvf-sr__link:focus-visible .cvf-sr__title { text-decoration: underline; }
.cvf-sr__link:visited .cvf-sr__title { color: var(--cvf-plum, #4A254A) !important; }
.cvf-sr__link:focus-visible { outline: 3px solid #9A3F9B; outline-offset: 4px; border-radius: 6px; }
.cvf-sr__snip { margin: .35rem 0 0; color: #3B4A5C; font-size: .95rem; line-height: 1.55; }
.cvf-sr__snip strong { color: #202124; font-weight: 700; }
.cvf-sr__date { color: #5B6472; }
.cvf-sr-pages { display: flex; flex-wrap: wrap; align-items: center; margin-top: 2.25rem; }
.cvf-sr-pages a, .cvf-sr-pages__now { display: inline-flex; align-items: center; justify-content: center; min-width: 2.5rem; min-height: 2.5rem; margin: 0 .5rem .5rem 0; padding: 0 .8rem; border-radius: 999px; border: 1px solid #E0B9E3; color: var(--cvf-plum, #4A254A); text-decoration: none; font-weight: 600; }
.cvf-sr-pages a:hover, .cvf-sr-pages a:focus-visible { background: #F3E6F4; }
.cvf-sr-pages__now { background: var(--cvf-plum, #4A254A); color: #fff; border-color: var(--cvf-plum, #4A254A); }
.cvf-sr-none ul { margin: .5rem 0 0 1.2rem; }
.cvf-sr-none li { margin: .35rem 0; }
@media (max-width: 600px) { .cvf-sr-wrap { padding-top: 1.25rem; } .cvf-sr__title { font-size: 1.15rem !important; } }

/* ---- Our logo and graphics (unlisted page for partner organisations) ---- */
.cvf-assets { max-width: 60rem; }
.cvf-assets__lead { font-size: 1.15rem; line-height: 1.6; }
.cvf-assets h2 { margin-top: 2.75rem; }
.cvf-assets__grid { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: 1.25rem; }
.cvf-assets__card { display: flex; flex-direction: column; margin: 0; padding: 1rem 1rem 1.25rem; border: 1px solid #E8E1EC; border-radius: var(--cvf-radius-lg, 20px); background: #fff; }
.cvf-assets__preview { display: flex; align-items: center; justify-content: center; height: 13rem; margin: 0 0 1rem; padding: .75rem; border-radius: 12px; background: #F4F1F6; box-sizing: border-box; }
.cvf-assets__preview img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.cvf-assets__preview--logo { background: #fff; border: 1px dashed #E0B9E3; height: 9rem; }
.cvf-assets__card h3 { margin: 0 0 .4rem; font-size: 1.1rem; line-height: 1.3; }
.cvf-assets__card p { margin: 0 0 .9rem; font-size: .95rem; line-height: 1.5; color: #3B4A5C; }
.cvf-assets__alt span { font-weight: 700; color: #17304A; }
.cvf-assets__dl { display: inline-flex; flex-wrap: wrap; align-items: center; align-self: flex-start; margin-top: auto; padding: .55rem 1rem; min-height: 24px; border-radius: 999px; background: var(--cvf-plum, #4A254A); color: #fff !important; font-weight: 700; text-decoration: none !important; line-height: 1.3; }
.cvf-assets__dl span { margin-left: .35rem; font-weight: 400; font-size: .85rem; opacity: .9; }
.cvf-assets__dl:hover, .cvf-assets__dl:focus-visible { background: var(--cvf-navy, #17304A); }
.cvf-assets__story { display: inline-block; margin-top: .75rem; font-weight: 600; }
.cvf-assets__sub { margin: 2rem 0 .5rem; }
.cvf-assets__rules li { margin: .4rem 0; }
.cvf-assets__swatches { list-style: none; margin: 1rem 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: .75rem; }
.cvf-assets__swatches li { display: flex; flex-wrap: wrap; align-items: center; margin: 0; }
.cvf-assets__swatch { flex: none; width: 2.5rem; height: 2.5rem; margin-right: .6rem; border-radius: 10px; border: 1px solid rgba(23, 48, 74, .12); }
.cvf-assets__swatches code { margin-left: .35rem; font-size: .9rem; color: #3B4A5C; background: none; }
.cvf-assets__about { margin: 1rem 0; padding: 1.1rem 1.4rem; border-left: 4px solid var(--cvf-pink, #9A3F9B); background: #F3E6F4; border-radius: 0 12px 12px 0; }
.cvf-assets__about p { margin: 0; font-style: normal; }
.cvf-assets__ask { margin-top: 2.75rem; padding: 1.5rem 1.75rem; border-radius: var(--cvf-radius-lg, 20px); background: #F3E6F4; }
.cvf-assets__ask h2 { margin-top: 0; }
.cvf-assets__btn { display: inline-block; padding: .7rem 1.4rem; border-radius: 999px; background: var(--cvf-plum, #4A254A); color: #fff !important; font-weight: 700; text-decoration: none !important; }
.cvf-assets__btn:hover, .cvf-assets__btn:focus-visible { background: var(--cvf-navy, #17304A); }

/* Schools page Progress box: space after a quoted line when more text follows. */
.cvf-tp-news .cvf-tp-news__line + p { margin-top: .9rem; }

/* Supporting pupils who wear a mask (Anti-Bullying Week page) */
.cvf-abw-hero { margin-bottom: 2rem; }
.cvf-abw-hero .cvf-lead { margin: 0; }
.cvf-abw-source { margin: 1rem 0 0; font-size: .9rem; opacity: .9; }
.cvf-abw-source a { color: inherit; }
.cvf-abw-quote { margin: 1rem 0; padding: 1rem 1.25rem; border-left: 4px solid var(--cvf-pink, #9A3F9B); background: #F3E6F4; border-radius: 0 12px 12px 0; }
.cvf-abw-quote p { margin: 0; font-style: italic; }
.cvf-abw-quote .cvf-abw-quote__by { margin-top: .5rem; font-style: normal; font-weight: 700; font-size: .9rem; color: #4A254A; }
.cvf-abw-script { margin: 1rem 0; padding: 1.1rem 1.4rem; border: 2px dashed #E0B9E3; border-radius: 14px; background: #fff; }
.cvf-abw-script p { margin: 0 0 .6rem; font-style: normal; }
.cvf-abw-script p:last-child { margin-bottom: 0; }

@media (min-width: 900px) { .cvf-abw-stats .cvf-stats { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } .cvf-abw-stats .cvf-stats > .wp-block-column { margin: 0 !important; } }

.cvf-abw-script .cvf-abw-optional { padding: .75rem 1rem; background: #F4F1F6; border-radius: 10px; }
.cvf-abw-script .cvf-abw-optional em { font-style: normal; font-weight: 700; color: #4A254A; }

/* Masks at school letter builder (cvf-widgets.js maskLetter) */
.cvf-ml { margin: 1rem 0 1.5rem; padding: 1.4rem; border-radius: 16px; background: #F3E6F4; }
.cvf-ml__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1.1rem; margin-bottom: 1.1rem; }
.cvf-ml__field { margin: 0; }
.cvf-ml__field label, .cvf-ml__label, .cvf-ml__who legend { display: block; margin: 0 0 .3rem; font-weight: 700; color: #17304A; font-size: .95rem; }
.cvf-ml__field label span, .cvf-ml__firm span { font-weight: 400; color: #4B5563; }
.cvf-ml__field input { width: 100%; box-sizing: border-box; padding: .6rem .8rem; border: 1px solid #D9D3DE; border-radius: 10px; background: #fff; font: inherit; }
.cvf-ml__field--wide, .cvf-ml__who, .cvf-ml__firm { grid-column: 1 / -1; }
.cvf-ml__who { margin: 0; padding: 0; border: 0; }
.cvf-ml__who label { display: inline-flex; align-items: center; margin: 0 1.2rem .3rem 0; min-height: 24px; cursor: pointer; }
.cvf-ml__who input, .cvf-ml__firm input { margin: 0 .45rem 0 0; width: 1.1rem; height: 1.1rem; accent-color: #4A254A; }
.cvf-ml__firm { margin: 0; }
.cvf-ml__firm label { display: inline-flex; align-items: center; min-height: 24px; cursor: pointer; font-weight: 700; color: #17304A; }
.cvf-ml textarea { display: block; width: 100%; box-sizing: border-box; padding: .9rem 1rem; border: 1px solid #D9D3DE; border-radius: 12px; background: #fff; font: .95rem/1.55 inherit; color: #17304A; resize: vertical; }
.cvf-ml__actions { display: flex; flex-wrap: wrap; align-items: center; margin-top: 1rem; }
.cvf-ml__actions > * { margin: 0 .6rem .6rem 0; }
.cvf-ml__btn2 { background: #fff !important; color: #4A254A !important; border: 2px solid #4A254A !important; }
.cvf-ml__reset { background: none; border: 0; padding: .4rem .2rem; color: #4A254A; text-decoration: underline; cursor: pointer; font: inherit; min-height: 24px; }
.cvf-ml__said { min-height: 1.4em; margin: 0; font-weight: 700; color: #2E7D4F; }
.cvf-ml__links { margin: .5rem 0 0; font-size: .9rem; }
@media (max-width: 600px) { .cvf-ml { padding: 1rem; } .cvf-ml__fields { grid-template-columns: 1fr; } }

.cvf-ml__firm label span { margin-left: .35em; }

/* Latest posts from Bluesky ([cvf_bluesky], cvf-site/includes/bluesky.php) */
.cvf-bsky { margin: 3rem 0 2.5rem; }
.cvf-bsky__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; margin-bottom: 1.25rem; }
.cvf-bsky__head h2 { margin: 0; }
.cvf-bsky__head .cvf-eyebrow { margin: 0 0 .35rem; }
.cvf-bsky__follow { display: inline-flex; align-items: center; min-height: 24px; margin: .5rem 0 0; font-weight: 700; }
.cvf-bsky__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.cvf-bsky__post { display: flex; flex-direction: column; margin: 0; padding: 1.1rem 1.15rem 1.2rem; border: 1px solid #E8E1EC; border-top: 4px solid #1185FE; border-radius: var(--cvf-radius-lg, 20px); background: #fff; }
.cvf-bsky__media { position: relative; display: block; margin: 0 0 .85rem; height: 11rem; border-radius: 12px; overflow: hidden; background: #F4F1F6; }
.cvf-bsky__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cvf-bsky__media.is-video::after { content: "\25B6"; position: absolute; left: 50%; top: 50%; width: 3rem; height: 3rem; margin: -1.5rem 0 0 -1.5rem; border-radius: 50%; background: rgba(23, 48, 74, .75); color: #fff; font-size: 1.1rem; line-height: 3rem; text-align: center; }
.cvf-bsky__date { margin: 0 0 .4rem; font-size: .85rem; font-weight: 700; color: #8A4690; }
.cvf-bsky__text { margin: 0 0 .9rem; font-size: .95rem; line-height: 1.55; color: #17304A; overflow-wrap: break-word; }
.cvf-bsky__card { margin: 0 0 .9rem; font-size: .9rem; }
.cvf-bsky__more { margin-top: auto; display: inline-flex; align-items: center; min-height: 24px; font-weight: 700; font-size: .95rem; }
@media (max-width: 900px) { .cvf-bsky__list { grid-template-columns: 1fr; } .cvf-bsky__media { height: 13rem; } }

/* Bluesky cards: date sits under the post, with the link, at the foot of the card */
.cvf-bsky__date { margin: auto 0 .35rem; padding-top: .2rem; }
.cvf-bsky__more { margin-top: 0; }

.entry-content .cvf-bsky__list { margin-left: 0 !important; margin-right: 0 !important; padding: 0 !important; }

/* Header Donate button for tablets and phones (cvf-extras.php, generate_menu_bar_items) */
.cvf-bar-donate { display: none; }
@media (max-width: 1119px) {
	.mobile-menu-control-wrapper .cvf-bar-donate { display: flex; align-items: center; margin-right: .35rem; }
	.cvf-bar-donate a { display: inline-flex !important; align-items: center; min-height: 40px; padding: 0 1.05rem !important; border-radius: 999px; background: var(--cvf-pink, #9A3F9B); color: #fff !important; font-weight: 700; font-size: .95rem; line-height: 1; text-decoration: none !important; white-space: nowrap; }
	.cvf-bar-donate a:hover, .cvf-bar-donate a:focus-visible { background: var(--cvf-plum, #4A254A); color: #fff !important; }
	.main-navigation .main-nav li.cvf-donate { display: none !important; }
}
@media (max-width: 380px) { .cvf-bar-donate a { padding: 0 .8rem !important; font-size: .9rem; } }

.cvf-bar-donate a .cvf-heart { margin-right: .45em; }

.main-navigation .menu-bar-items .cvf-bar-donate a { height: 38px; min-height: 38px; line-height: 1 !important; padding-top: 0 !important; padding-bottom: 0 !important; }

/* Phones and tablets: the header already has Donate, so the hero puts its Donate button last (not right under it). */
@media (max-width: 1119px) { .home .cvf-hero .wp-block-buttons > .wp-block-button:first-child { order: 3; } }

/* Inquiry card: lilac blob sits up in the top-right corner so it never covers the words (top margin % is of the card width, so it scales with the blob). */
.home .cvf-campaigns .wp-block-post.post-638::before, .cvf-ow-card.is-inquiry::before { width: 52% !important; right: -6% !important; top: 0 !important; margin-top: -36% !important; }

/* Anti-Bullying Week hero: photo across the top, like the Schools page (built in an HTML block, so the column styles are set here). */
.cvf-abw-hero .wp-block-columns { display: flex; flex-direction: column-reverse; gap: 2.4rem; margin: 0; }
.cvf-abw-hero .wp-block-column, .cvf-abw-hero figure { margin: 0; }
.cvf-abw-hero figure img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 12px; }
.cvf-abw-hero .cvf-eyebrow { margin-top: 0; }

/* Dates in CVF house style: small ordinal after the day (4th November). Added by cvf-site/includes/ordinals.php. */
sup.cvf-ord { font-size: 0.62em; line-height: 0; vertical-align: 0.5em; margin-left: 0.04em; letter-spacing: 0; text-transform: none; }

/* Clinical vulnerability page: power/water/medicines panels all white; infection panels all pink (Lara, 5 Oct 2026). */
body #emergency .cvf-info-card.cvf-info-card--lead { background: #FFFFFF; }
body #emergency .cvf-info-card.cvf-info-card--lead::before { background-color: var(--cvf-mauve-soft, #F3E6F4); }
body #infections .cvf-info-card { background: var(--cvf-mauve-soft, #F3E6F4); border-top-color: #9A3F9B; }
body #infections .cvf-info-card::before { background-color: #FFFFFF; }

/* "Why labels only tell part of the story": the three points stacked one under another, in three progressive shades. */
body .cvf-info-blunt .cvf-info-three { grid-template-columns: 1fr !important; }
body .cvf-info-blunt .cvf-info-three li:nth-child(1) { background: #F8F0F9; }
body .cvf-info-blunt .cvf-info-three li:nth-child(2) { background: #EDD9F0; }
body .cvf-info-blunt .cvf-info-three li:nth-child(3) { background: #E0BFE4; }
body .cvf-info-blunt .cvf-info-three li:nth-child(1)::before { background: #B957B8; }
body .cvf-info-blunt .cvf-info-three li:nth-child(2)::before { background: #8A4690; }
body .cvf-info-blunt .cvf-info-three li:nth-child(3)::before { background: #4A254A; }

/* Team grids (Expert and Insight teams): one even grid, not a patchwork. Every card the same width and colour:
   3 across on desktop, 2 on tablets, 1 on phones. */
body .cvf-people--grid > article,
body .cvf-people--grid > article:nth-of-type(5n+1),
body .cvf-people--grid > article:nth-of-type(5n+2) { grid-column: span 2; }
body .cvf-people--grid > article .cvf-person__photo,
body .cvf-people--grid > article:nth-of-type(5n+1) .cvf-person__photo,
body .cvf-people--grid > article:nth-of-type(5n+2) .cvf-person__photo { flex-basis: 34%; }
@media (max-width: 900px) {
	body .cvf-people--grid > article,
	body .cvf-people--grid > article:nth-of-type(5n+1),
	body .cvf-people--grid > article:nth-of-type(5n+2) { grid-column: span 1; }
}
@media (max-width: 600px) {
	body .cvf-people--grid > article .cvf-person__photo,
	body .cvf-people--grid > article:nth-of-type(5n+1) .cvf-person__photo,
	body .cvf-people--grid > article:nth-of-type(5n+2) .cvf-person__photo { flex-basis: 30%; }
}

/* Team grids: round photos (and round initials for people without a photo). */
body .cvf-people--grid > article:not(.is-open) .cvf-person__photo,
body .cvf-people--grid > article:nth-of-type(5n+1):not(.is-open) .cvf-person__photo,
body .cvf-people--grid > article:nth-of-type(5n+2):not(.is-open) .cvf-person__photo {
	flex: 0 0 92px; width: 92px; height: 92px; min-height: 0; aspect-ratio: 1 / 1;
	border-radius: 50%; overflow: hidden; align-self: center; margin-left: 1.25rem;
}
body .cvf-people--grid > article:not(.is-open) .cvf-person__photo > * { width: 100%; height: 100%; border-radius: 50%; }
body .cvf-people--grid > article:not(.is-open) .cvf-person__img--initials { font-size: 1.7rem; }
@media (max-width: 600px) {
	body .cvf-people--grid > article:not(.is-open) .cvf-person__photo,
	body .cvf-people--grid > article:nth-of-type(5n+1):not(.is-open) .cvf-person__photo,
	body .cvf-people--grid > article:nth-of-type(5n+2):not(.is-open) .cvf-person__photo { flex-basis: 76px; width: 76px; height: 76px; margin-left: 1rem; }
	body .cvf-people--grid > article:not(.is-open) .cvf-person__img--initials { font-size: 1.4rem; }
}

/* Team grids: circles always sit inside their card, and every subheading (role and expertise) is the same pink line under the name. */
body .cvf-people--grid > article:not(.is-open) .cvf-person__photo,
body .cvf-people--grid > article:nth-of-type(5n+1):not(.is-open) .cvf-person__photo,
body .cvf-people--grid > article:nth-of-type(5n+2):not(.is-open) .cvf-person__photo { margin-top: 1.1rem; margin-bottom: 1.1rem; }
body .cvf-people--grid .cvf-person__text { display: flex; flex-direction: column; justify-content: center; }
body .cvf-people--grid .cvf-person__name { order: -1; margin-bottom: 0.25rem; }
body .cvf-people--grid .cvf-person__role,
body .cvf-people--grid .cvf-person__exp {
	order: 0; margin: 0 0 0.2rem; color: var(--cvf-mauve-ink, #8A4690) !important;
	font-size: 0.95rem; font-weight: 500; line-height: 1.4; letter-spacing: 0; text-transform: none;
}
body .cvf-people--grid .cvf-person__link,
body .cvf-people--grid .cvf-profile-btn { order: 1; margin-top: 0.45rem; }

body .cvf-people--grid .cvf-person__role, body .cvf-people--grid .cvf-person__exp { font-size: 0.95rem !important; }

/* Shannon Banks: head-and-shoulders photo, so zoom in to match the other close-up circles. */
body .cvf-people--grid > article:not(.is-open) .cvf-person__photo img[src*="shannon-banks"] { transform: scale(1.7); transform-origin: 48% 29%; }

/* Team circles: zoom the two wider shots so every head fills about three-quarters of its circle, top of head just inside. */
body .cvf-people--grid > article:not(.is-open) .cvf-person__photo img[src*="shannon-banks"] { transform: translate(3.6%, 37%) scale(1.8); transform-origin: 50% 50%; }
body .cvf-people--grid > article:not(.is-open) .cvf-person__photo img[src*="gillian-smith"] { transform: translate(9.6%, 14%) scale(1.38); transform-origin: 50% 50%; }

/* Team circles, framed like Noni and Sarah: head about two-thirds of the circle, with some neck. */
body .cvf-people--grid > article:not(.is-open) .cvf-person__photo img[src*="shannon-banks"] { transform: translate(3.2%, 28.9%) scale(1.62); transform-origin: 50% 50%; }
body .cvf-people--grid > article:not(.is-open) .cvf-person__photo img[src*="gillian-smith"] { transform: translate(8.7%, 8.1%) scale(1.24); transform-origin: 50% 50%; }

/* Profile panel: square photo box (most team photos are square), so close-up photos are not cut off at the chin. */
body .cvf-drawer .cvf-drawer__portrait.has-photo { aspect-ratio: 1 / 1; max-height: 70vh; }
body .cvf-drawer .cvf-drawer__portrait.has-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; }

/* Donate page: payment method badges. */
.cvf-pay { margin: 0 0 1.5rem; }
.cvf-pay__label { margin: 0 0 0.5rem; }
.cvf-pay__list { display: flex; flex-wrap: wrap; gap: 0.6rem; list-style: none; margin: 0 0 0.75rem; padding: 0; }
.cvf-pay__list li { display: flex; align-items: center; justify-content: center; width: 4.25rem; height: 2.75rem; margin: 0; background: #FFFFFF; border: 1px solid #E8D3EA; border-radius: 10px; }
.cvf-pay__list svg { display: block; width: 2.4rem; height: 1.6rem; fill: #17304A; }
.cvf-pay__note { margin: 0; font-size: 0.95rem; }

@media (max-width: 600px) { .cvf-pay__list { gap: 0.4rem; } .cvf-pay__list li { width: 3.55rem; height: 2.4rem; } .cvf-pay__list svg { width: 2rem; height: 1.35rem; } }

/* Donate page: payment badges, bigger and in full colour, lined up with the text. */
body .cvf-pay__list { padding: 0 !important; margin: 0.25rem 0 0.9rem !important; gap: 0.7rem; }
body .cvf-pay__list li { width: 5.6rem; height: 3.6rem; border-radius: 12px; box-shadow: 0 1px 3px rgba(23, 48, 74, 0.08); }
body .cvf-pay__list svg { width: 3.6rem; height: 2.4rem; fill: currentColor; }
@media (max-width: 600px) { body .cvf-pay__list { gap: 0.45rem; } body .cvf-pay__list li { width: 3.9rem; height: 2.7rem; } body .cvf-pay__list svg { width: 2.6rem; height: 1.75rem; } }

/* Donate page: payment badges centred, with their label and note. */
body .cvf-pay { text-align: center; } body .cvf-pay__list { justify-content: center; } body .cvf-pay__note { max-width: 46rem; margin-left: auto; margin-right: auto; }

@media (max-width: 600px) { body .cvf-pay__list { gap: 0.35rem; } body .cvf-pay__list li { width: 3.3rem; height: 2.4rem; border-radius: 10px; } body .cvf-pay__list svg { width: 2.3rem; height: 1.55rem; } }

/* Donate page: each payment logo cropped to its own shape and sized to sit evenly with the others. */
body .cvf-pay__list svg { height: auto; }
body .cvf-pay__list svg[aria-label="Visa"] { width: 3.4rem; }
body .cvf-pay__list svg[aria-label="Mastercard"] { width: 2.6rem; }
body .cvf-pay__list svg[aria-label="American Express"] { width: 2.4rem; height: 2.4rem; }
body .cvf-pay__list svg[aria-label="Apple Pay"] { width: 3rem; }
body .cvf-pay__list svg[aria-label="Google Pay"] { width: 3.3rem; }
@media (max-width: 600px) {
	body .cvf-pay__list svg[aria-label="Visa"] { width: 2.15rem; }
	body .cvf-pay__list svg[aria-label="Mastercard"] { width: 1.65rem; }
	body .cvf-pay__list svg[aria-label="American Express"] { width: 1.5rem; height: 1.5rem; }
	body .cvf-pay__list svg[aria-label="Apple Pay"] { width: 1.9rem; }
	body .cvf-pay__list svg[aria-label="Google Pay"] { width: 2.1rem; }
}

/* Donate page: only the payment badges are centred; label and note stay left-aligned. */
body .cvf-pay { text-align: left; } body .cvf-pay__note { max-width: none; margin-left: 0; margin-right: 0; }

/* Donate page layout: form beside the heading on wide screens; on smaller screens the form comes straight after the heading. */
body .cvf-donate-panel > .wp-block-group__inner-container { display: flex; flex-direction: column; }
body .cvf-donate-panel > .wp-block-group__inner-container > h2 { order: 1; }
body .cvf-donate-panel > .wp-block-group__inner-container > .cg-outer { order: 2; margin: 0.5rem auto 1.75rem !important; }
body .cvf-donate-panel > .wp-block-group__inner-container > .cvf-pay { order: 3; margin: 0; }
body .cvf-donate-panel .cvf-pay__list { justify-content: flex-start; }
@media (min-width: 1120px) {
	body .cvf-donate-panel > .wp-block-group__inner-container {
		display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 540px); column-gap: 3.5rem; align-items: start;
	}
	body .cvf-donate-panel > .wp-block-group__inner-container > h2 { grid-column: 1; grid-row: 1; margin-top: 0.5rem; }
	body .cvf-donate-panel > .wp-block-group__inner-container > .cvf-pay { grid-column: 1; grid-row: 2; position: sticky; top: 7rem; }
	body .cvf-donate-panel > .wp-block-group__inner-container > .cg-outer { grid-column: 2; grid-row: 1 / span 3; width: 100%; margin: 0 !important; }
	body .cvf-donate-panel > .wp-block-group__inner-container > link,
	body .cvf-donate-panel > .wp-block-group__inner-container > style { display: none; }
}

/* Donate page, version 2: photo hero, then why-give box beside the form (badges under the form), then other ways to help. */
body .cvf-donate-hero { margin-bottom: 2.5rem; }
body .cvf-donate-hero h2 { color: #FFFFFF; margin: 0.25rem 0 0.75rem; }
body .cvf-donate-panel > .wp-block-group__inner-container > .cg-outer { order: 1; margin: 0 auto 1rem !important; }
body .cvf-donate-panel > .wp-block-group__inner-container > .cvf-pay { order: 2; margin: 0 0 2rem; grid-column: auto; grid-row: auto; position: static; }
body .cvf-donate-panel > .wp-block-group__inner-container > .cvf-why { order: 3; }
body .cvf-donate-panel .cvf-pay__list { justify-content: center; }
body .cvf-donate-panel .cvf-pay__label { text-align: center; }
body .cvf-donate-panel .cvf-pay__note { text-align: center; font-size: 0.9rem; }
.cvf-why { background: #FFFFFF; border-radius: 20px; padding: 1.75rem 1.75rem 1.5rem; box-shadow: 0 1px 3px rgba(23, 48, 74, 0.06); }
.cvf-why h2 { margin: 0 0 0.75rem; }
.cvf-why p { margin: 0 0 1rem; }
.cvf-why__label { margin-bottom: 0.5rem !important; }
.cvf-why__list { list-style: none; margin: 0 0 1.25rem; padding: 0; }
.cvf-why__list li { position: relative; margin: 0 0 0.6rem; padding-left: 1.9rem; }
.cvf-why__list li::before { content: ""; position: absolute; left: 0; top: 0.3rem; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: var(--cvf-mauve-ink, #8A4690) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 70% no-repeat; }
.cvf-why__note { margin: 0 !important; color: var(--cvf-mauve-ink, #8A4690); font-weight: 600; }
@media (min-width: 1120px) {
	body .cvf-donate-panel > .wp-block-group__inner-container > .cvf-why { grid-column: 1; grid-row: 1 / span 2; position: sticky; top: 7rem; align-self: start; }
	body .cvf-donate-panel > .wp-block-group__inner-container > .cg-outer { grid-column: 2; grid-row: 1; margin: 0 !important; }
	body .cvf-donate-panel > .wp-block-group__inner-container > .cvf-pay { grid-column: 2; grid-row: 2; margin: 1.25rem 0 0; }
}
.cvf-ways { margin: 3rem 0 1rem; }
.cvf-ways h2 { margin: 0.25rem 0 1.25rem; }
.cvf-ways__list { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cvf-ways__list li { margin: 0; background: #FFFFFF; border: 1px solid #E8D3EA; border-radius: 20px; padding: 1.4rem 1.5rem; display: flex; flex-direction: column; }
.cvf-ways__list h3 { margin: 0 0 0.4rem; font-size: 1.2rem; }
.cvf-ways__list p { margin: 0 0 0.9rem; flex: 1; }
.cvf-ways__list a { font-weight: 700; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-ways__thanks { margin: 0; }
@media (max-width: 900px) { .cvf-ways__list { grid-template-columns: 1fr; } }

/* Donate page: compact hero (side by side from 900px; wider, shorter photo on phones) and "Other ways to help" lined up with the panels. */
body .cvf-donate-hero.cvf-panel--photo-top figure img { aspect-ratio: 16 / 9; }
@media (min-width: 900px) {
	body .cvf-donate-hero.cvf-panel--photo-top .wp-block-columns { flex-direction: row; align-items: center; gap: 2.5rem; }
	body .cvf-donate-hero.cvf-panel--photo-top .wp-block-columns > .wp-block-column { flex-basis: 50% !important; width: auto; }
	body .cvf-donate-hero.cvf-panel--photo-top figure img { aspect-ratio: 4 / 3; }
}
body .cvf-ways { margin: 3rem clamp(20px, 4vw, 40px) 1rem; }

body .entry-content > .cvf-ways { margin-left: clamp(20px, 4vw, 40px) !important; margin-right: clamp(20px, 4vw, 40px) !important; max-width: none !important; }

/* Expert team: university / organisation back above the name in small pink capitals (as before). The Insight team keeps one style under the name. */
body .cvf-people--team-expert-team .cvf-person__role {
	order: -2; margin: 0 0 0.3rem; font-size: var(--cvf-text-eyebrow, 0.75rem) !important; font-weight: 700; line-height: 1.35;
	letter-spacing: var(--cvf-tracking-caps, 0.14em); text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690) !important;
}

/* Resources, "Start here": a picture with each of the five steps (number, picture, words). On phones the picture sits on top with the number on its corner. */
ol.cvf-res-start > li { display: grid; grid-template-columns: 11.5rem minmax(0, 1fr); gap: 1.1rem; align-items: center; }
ol.cvf-res-start > li::before { z-index: 1; }
.cvf-res-start__img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 10px; margin: 0; }
@media (max-width: 700px) {
	ol.cvf-res-start > li { grid-template-columns: 1fr; gap: 0.75rem; padding: 0.75rem !important; }
	ol.cvf-res-start > li::before { left: 1.25rem; top: 1.25rem; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25); }
}
/* Private vaccine prices: plum header bars on the tables. */
.cvf-vp__table thead th { background: var(--cvf-plum, #4A254A) !important; color: #FFFFFF !important; border-color: var(--cvf-plum, #4A254A) !important; }

/* Resources, "Start here": picture on the right of the words on wider screens. */
@media (min-width: 701px) {
	ol.cvf-res-start > li { grid-template-columns: minmax(0, 1fr) 11.5rem; }
	ol.cvf-res-start > li > .cvf-res-start__img { order: 2; }
	ol.cvf-res-start > li > .cvf-res-start__txt { order: 1; }
	ol.cvf-res-start > li::before { top: 50%; transform: translateY(-50%); }
}

/* Resources: "Tell us what would help" as a compact box with a plum gradient. */
body .wp-block-group.cvf-tell-us { padding: 2rem clamp(1.25rem, 3vw, 2.25rem) !important; margin-top: 2rem !important; background: linear-gradient(135deg, #4A254A 0%, #6E3573 55%, #8A4690 100%) !important; border-radius: 20px; }
body .wp-block-group.cvf-tell-us > .wp-block-group__inner-container > * { max-width: 44rem; }
body .wp-block-group.cvf-tell-us h2 { margin-top: 0; margin-bottom: 0.5rem; }
body .wp-block-group.cvf-tell-us p { margin-bottom: 1rem; }
body .wp-block-group.cvf-tell-us .wp-block-buttons { margin-top: 0.25rem; margin-bottom: 0; }

@media (max-width: 760px) { body .wp-block-group.cvf-tell-us { margin-left: 20px !important; margin-right: 20px !important; width: auto !important; max-width: none !important; } }

/* Resources topic icons: one colour per topic, in the same style as the Support page (coloured icon on a tinted circle). */
body .cvf-res-jump a[data-topic="clean-air"]::before, body .cvf-resource-card > h3#clean-air::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#clean-air::before { background-color: #E0F1F4; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007292' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9h11a3 3 0 1 0-3-3M3 13h15a3 3 0 1 1-3 3M3 17h6'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="masks"]::before, body .cvf-resource-card > h3#masks::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#masks::before { background-color: #E3EEF6; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23347CA9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9c3-1.5 13-1.5 16 0v3.5c0 3.5-3.6 6-8 6s-8-2.5-8-6z'/%3E%3Cpath d='M4 10.5H2.5M20 10.5h1.5M8 12h8M8.5 14.5h7'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="infection-prevention"]::before, body .cvf-resource-card > h3#infection-prevention::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#infection-prevention::before { background-color: #E4F2EA; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E7D4F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11z'/%3E%3Cpath d='M9.5 14.5a2.5 2.5 0 0 0 2.5 2.5'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="healthcare"]::before, body .cvf-resource-card > h3#healthcare::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#healthcare::before { background-color: #F3E6F4; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A254A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10.3A4.2 4.2 0 0 1 12 7.2a4.2 4.2 0 0 1 7.5 2.5C19.5 15.4 12 20 12 20z'/%3E%3Cpath d='M12 10v5M9.5 12.5h5'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="schools"]::before, body .cvf-resource-card > h3#schools::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#schools::before { background-color: #FBF1D6; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B98500' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6.5C5.5 5 8.5 5 12 7c3.5-2 6.5-2 9-.5V19c-2.5-1.5-5.5-1.5-9 .5-3.5-2-6.5-2-9-.5z'/%3E%3Cpath d='M12 7v12.5'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="workplaces"]::before, body .cvf-resource-card > h3#workplaces::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#workplaces::before { background-color: #E0F1F4; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007292' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='7.5' width='17' height='12' rx='2'/%3E%3Cpath d='M9 7.5V5.5a1.5 1.5 0 0 1 1.5-1.5h3A1.5 1.5 0 0 1 15 5.5v2M3.5 12.5h17'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="events-venues"]::before, body .cvf-resource-card > h3#events-venues::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#events-venues::before { background-color: #E3EEF6; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23347CA9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16v3a2 2 0 0 0 0 4v3H4v-3a2 2 0 0 0 0-4z'/%3E%3Cpath d='M14 7v10' stroke-dasharray='1.5 2'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="transport"]::before, body .cvf-resource-card > h3#transport::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#transport::before { background-color: #E4F2EA; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E7D4F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3.5' width='14' height='14' rx='2'/%3E%3Cpath d='M5 11h14M8 20.5v-3M16 20.5v-3M8.5 14.5h.01M15.5 14.5h.01'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="heat-cold-pollution"]::before, body .cvf-resource-card > h3#heat-cold-pollution::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#heat-cold-pollution::before { background-color: #FBF1D6; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B98500' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14.5V5a2 2 0 0 1 4 0v9.5a3.5 3.5 0 1 1-4 0z'/%3E%3Cpath d='M12 9v7'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="severe-allergies"]::before, body .cvf-resource-card > h3#severe-allergies::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#severe-allergies::before { background-color: #F3E6F4; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A254A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2.5' width='6' height='13.5' rx='2'/%3E%3Cpath d='M9 6.5h6M12 16v3.5M10.5 21h3'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="reasonable-adjustments"]::before, body .cvf-resource-card > h3#reasonable-adjustments::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#reasonable-adjustments::before { background-color: #E0F1F4; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007292' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16M7 20h10M5 8h14'/%3E%3Cpath d='M5 8l-2.5 6a2.5 2.5 0 0 0 5 0zM19 8l-2.5 6a2.5 2.5 0 0 0 5 0z'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="consulting-communicating"]::before, body .cvf-resource-card > h3#consulting-communicating::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#consulting-communicating::before { background-color: #E3EEF6; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23347CA9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v10H9l-5 4z'/%3E%3Cpath d='M8 9h8M8 12h5'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="outbreak-planning"]::before, body .cvf-resource-card > h3#outbreak-planning::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#outbreak-planning::before { background-color: #E4F2EA; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E7D4F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }

/* Resources topic cards coloured like the Support page sections: tinted card, coloured top line and heading, white icon circle. */
body .cvf-resource-card[class*="cvf-rc--"] { border: 1px solid transparent !important; border-top: 4px solid var(--rc-line) !important; background: var(--rc-tint) !important; }
body .cvf-resource-card[class*="cvf-rc--"] h3, body .cvf-resource-card[class*="cvf-rc--"] h3 .cvf-acc-btn, body .cvf-resource-card[class*="cvf-rc--"] h3 .cvf-acc-label { color: var(--rc-ink) !important; }
body .cvf-resource-card[class*="cvf-rc--"] > h3::before, body .cvf-resource-card[class*="cvf-rc--"] > .wp-block-group__inner-container > h3::before { background-color: #FFFFFF !important; }
body .cvf-resource-card[class*="cvf-rc--"] .cvf-acc-chev { border-color: var(--rc-ink) !important; color: var(--rc-ink) !important; }
.cvf-rc--teal  { --rc-line: #007292; --rc-tint: #E8F5F7; --rc-ink: #005A73; }
.cvf-rc--blue  { --rc-line: #347CA9; --rc-tint: #E8F1F8; --rc-ink: #1D5A85; }
.cvf-rc--green { --rc-line: #2E7D4F; --rc-tint: #EAF5EE; --rc-ink: #23623D; }
.cvf-rc--plum  { --rc-line: #8A4690; --rc-tint: #F5EBF6; --rc-ink: #6E3573; }
.cvf-rc--amber { --rc-line: #B98500; --rc-tint: #FCF5E2; --rc-ink: #7A5800; }

/* Resources topic menu: buttons coloured to match their cards; the chosen topic is filled in its colour. */
.cvf-resource-card.cvf-res-hidden { display: none !important; }
.cvf-res-hint { margin: 0.75rem 0 0; font-style: italic; color: var(--cvf-ink-2, #3B4A5C); }
body .cvf-res-jump a[data-topic] { background: var(--rc-tint) !important; border: 1px solid var(--rc-line) !important; color: var(--rc-ink) !important; }
body .cvf-res-jump a[data-topic]::before { background-color: #FFFFFF !important; }
body .cvf-res-jump a[data-topic].is-active { background: var(--rc-line) !important; color: #FFFFFF !important; }
.cvf-res-jump a[data-topic="clean-air"], .cvf-res-jump a[data-topic="workplaces"], .cvf-res-jump a[data-topic="reasonable-adjustments"] { --rc-line: #007292; --rc-tint: #E8F5F7; --rc-ink: #005A73; }
.cvf-res-jump a[data-topic="masks"], .cvf-res-jump a[data-topic="events-venues"], .cvf-res-jump a[data-topic="consulting-communicating"] { --rc-line: #347CA9; --rc-tint: #E8F1F8; --rc-ink: #1D5A85; }
.cvf-res-jump a[data-topic="infection-prevention"], .cvf-res-jump a[data-topic="transport"], .cvf-res-jump a[data-topic="outbreak-planning"] { --rc-line: #2E7D4F; --rc-tint: #EAF5EE; --rc-ink: #23623D; }
.cvf-res-jump a[data-topic="healthcare"], .cvf-res-jump a[data-topic="severe-allergies"] { --rc-line: #8A4690; --rc-tint: #F5EBF6; --rc-ink: #6E3573; }
.cvf-res-jump a[data-topic="schools"], .cvf-res-jump a[data-topic="heat-cold-pollution"] { --rc-line: #B98500; --rc-tint: #FCF5E2; --rc-ink: #7A5800; }

/* Resources topic cards: "Why it matters" in a darker shade of the card colour, not grey. */
body .cvf-resource-card[class*="cvf-rc--"] h3 + p, body .cvf-resource-card[class*="cvf-rc--"] h3 + p strong { color: var(--rc-ink) !important; }

/* Resources topics, regrouped: icon colours matched to each topic's subject. */
body .cvf-res-jump a[data-topic="clean-air"]::before, body .cvf-resource-card > h3#clean-air::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#clean-air::before { background-color: #FFFFFF; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007292' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9h11a3 3 0 1 0-3-3M3 13h15a3 3 0 1 1-3 3M3 17h6'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="masks"]::before, body .cvf-resource-card > h3#masks::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#masks::before { background-color: #FFFFFF; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23347CA9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9c3-1.5 13-1.5 16 0v3.5c0 3.5-3.6 6-8 6s-8-2.5-8-6z'/%3E%3Cpath d='M4 10.5H2.5M20 10.5h1.5M8 12h8M8.5 14.5h7'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="infection-prevention"]::before, body .cvf-resource-card > h3#infection-prevention::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#infection-prevention::before { background-color: #FFFFFF; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E7D4F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11z'/%3E%3Cpath d='M9.5 14.5a2.5 2.5 0 0 0 2.5 2.5'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="healthcare"]::before, body .cvf-resource-card > h3#healthcare::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#healthcare::before { background-color: #FFFFFF; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A4690' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10.3A4.2 4.2 0 0 1 12 7.2a4.2 4.2 0 0 1 7.5 2.5C19.5 15.4 12 20 12 20z'/%3E%3Cpath d='M12 10v5M9.5 12.5h5'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="schools"]::before, body .cvf-resource-card > h3#schools::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#schools::before { background-color: #FFFFFF; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B98500' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6.5C5.5 5 8.5 5 12 7c3.5-2 6.5-2 9-.5V19c-2.5-1.5-5.5-1.5-9 .5-3.5-2-6.5-2-9-.5z'/%3E%3Cpath d='M12 7v12.5'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="workplaces"]::before, body .cvf-resource-card > h3#workplaces::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#workplaces::before { background-color: #FFFFFF; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23347CA9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='7.5' width='17' height='12' rx='2'/%3E%3Cpath d='M9 7.5V5.5a1.5 1.5 0 0 1 1.5-1.5h3A1.5 1.5 0 0 1 15 5.5v2M3.5 12.5h17'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="events-venues"]::before, body .cvf-resource-card > h3#events-venues::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#events-venues::before { background-color: #FFFFFF; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007292' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16v3a2 2 0 0 0 0 4v3H4v-3a2 2 0 0 0 0-4z'/%3E%3Cpath d='M14 7v10' stroke-dasharray='1.5 2'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="transport"]::before, body .cvf-resource-card > h3#transport::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#transport::before { background-color: #FFFFFF; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E7D4F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3.5' width='14' height='14' rx='2'/%3E%3Cpath d='M5 11h14M8 20.5v-3M16 20.5v-3M8.5 14.5h.01M15.5 14.5h.01'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="heat-cold-pollution"]::before, body .cvf-resource-card > h3#heat-cold-pollution::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#heat-cold-pollution::before { background-color: #FFFFFF; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C2571A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14.5V5a2 2 0 0 1 4 0v9.5a3.5 3.5 0 1 1-4 0z'/%3E%3Cpath d='M12 9v7'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="severe-allergies"]::before, body .cvf-resource-card > h3#severe-allergies::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#severe-allergies::before { background-color: #FFFFFF; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B42318' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2.5' width='6' height='13.5' rx='2'/%3E%3Cpath d='M9 6.5h6M12 16v3.5M10.5 21h3'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="reasonable-adjustments"]::before, body .cvf-resource-card > h3#reasonable-adjustments::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#reasonable-adjustments::before { background-color: #FFFFFF; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16M7 20h10M5 8h14'/%3E%3Cpath d='M5 8l-2.5 6a2.5 2.5 0 0 0 5 0zM19 8l-2.5 6a2.5 2.5 0 0 0 5 0z'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="consulting-communicating"]::before, body .cvf-resource-card > h3#consulting-communicating::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#consulting-communicating::before { background-color: #FFFFFF; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A4690' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v10H9l-5 4z'/%3E%3Cpath d='M8 9h8M8 12h5'/%3E%3C/svg%3E"); }
body .cvf-res-jump a[data-topic="outbreak-planning"]::before, body .cvf-resource-card > h3#outbreak-planning::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#outbreak-planning::before { background-color: #FFFFFF; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317304A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.cvf-rc--navy   { --rc-line: #17304A; --rc-tint: #EAEEF4; --rc-ink: #17304A; }
.cvf-rc--red    { --rc-line: #B42318; --rc-tint: #FCEDEB; --rc-ink: #912018; }
.cvf-rc--orange { --rc-line: #C2571A; --rc-tint: #FDF0E7; --rc-ink: #93400F; }
.cvf-res-jump a[data-topic="heat-cold-pollution"] { --rc-line: var(--tl-orange); --rc-tint: var(--tt-orange); --rc-ink: var(--ti-orange); }
.cvf-res-jump a[data-topic="clean-air"] { --rc-line: var(--tl-teal); --rc-tint: var(--tt-teal); --rc-ink: var(--ti-teal); }
.cvf-res-jump a[data-topic="masks"] { --rc-line: var(--tl-blue); --rc-tint: var(--tt-blue); --rc-ink: var(--ti-blue); }
.cvf-res-jump a[data-topic="events-venues"] { --rc-line: var(--tl-teal); --rc-tint: var(--tt-teal); --rc-ink: var(--ti-teal); }
.cvf-res-jump a[data-topic="healthcare"] { --rc-line: var(--tl-plum); --rc-tint: var(--tt-plum); --rc-ink: var(--ti-plum); }
.cvf-res-jump a[data-topic="schools"] { --rc-line: var(--tl-amber); --rc-tint: var(--tt-amber); --rc-ink: var(--ti-amber); }
.cvf-res-jump a[data-topic="consulting-communicating"] { --rc-line: var(--tl-plum); --rc-tint: var(--tt-plum); --rc-ink: var(--ti-plum); }
.cvf-res-jump a[data-topic="infection-prevention"] { --rc-line: var(--tl-green); --rc-tint: var(--tt-green); --rc-ink: var(--ti-green); }
.cvf-res-jump a[data-topic="severe-allergies"] { --rc-line: var(--tl-red); --rc-tint: var(--tt-red); --rc-ink: var(--ti-red); }
.cvf-res-jump a[data-topic="transport"] { --rc-line: var(--tl-green); --rc-tint: var(--tt-green); --rc-ink: var(--ti-green); }
.cvf-res-jump a[data-topic="workplaces"] { --rc-line: var(--tl-blue); --rc-tint: var(--tt-blue); --rc-ink: var(--ti-blue); }
.cvf-res-jump a[data-topic="outbreak-planning"] { --rc-line: var(--tl-navy); --rc-tint: var(--tt-navy); --rc-ink: var(--ti-navy); }
.cvf-res-jump a[data-topic="reasonable-adjustments"] { --rc-line: var(--tl-navy); --rc-tint: var(--tt-navy); --rc-ink: var(--ti-navy); }
:root { --tl-teal: #007292; --tt-teal: #E8F5F7; --ti-teal: #005A73; --tl-blue: #347CA9; --tt-blue: #E8F1F8; --ti-blue: #1D5A85; --tl-green: #2E7D4F; --tt-green: #EAF5EE; --ti-green: #23623D; --tl-plum: #8A4690; --tt-plum: #F5EBF6; --ti-plum: #6E3573; --tl-amber: #B98500; --tt-amber: #FCF5E2; --ti-amber: #7A5800; --tl-navy: #17304A; --tt-navy: #EAEEF4; --ti-navy: #17304A; --tl-red: #B42318; --tt-red: #FCEDEB; --ti-red: #912018; --tl-orange: #C2571A; --tt-orange: #FDF0E7; --ti-orange: #93400F; }

/* Resources topic menu: a heading above each group of topics. */
.cvf-res-jump .cvf-res-jump__group { flex: 0 0 100%; width: 100%; margin: 0.9rem 0 0.1rem; font-size: var(--cvf-text-eyebrow, 0.8rem); font-weight: 700; letter-spacing: var(--cvf-tracking-caps, 0.12em); text-transform: uppercase; color: var(--cvf-mauve-ink, #8A4690); }
.cvf-res-jump .cvf-res-jump__group:first-child { margin-top: 0; }

body .cvf-res-jump { grid-auto-flow: row !important; }
body .cvf-res-jump .cvf-res-jump__group { grid-column: 1 / -1; }

/* Phones: nation flowers upright and fully inside the card (bottom right), with room below the names so they don't overlap. */
@media (max-width: 760px) {
	body .entry-content .cvf-nations .cvf-nation { padding-bottom: 7.25rem !important; }
	.cvf-nations .cvf-nation .cvf-nation__motif,
	.cvf-nation--wales .cvf-nation__motif, .cvf-nation--scotland .cvf-nation__motif, .cvf-nation--northern-ireland .cvf-nation__motif {
		transform: none !important; width: 96px !important; height: 116px !important; right: 12px !important; bottom: 4px !important; opacity: 0.6;
	}
}

/* Clinical vulnerability risk table: slightly tighter on wider screens so the new Severe allergies column fits without sideways scrolling. */
@media (min-width: 761px) {
	body table.cvf-info-table thead th { font-size: 0.8rem; padding-left: 0.3rem; padding-right: 0.3rem; hyphens: auto; }
	body table.cvf-info-table tbody td { font-size: 0.85rem; padding-left: 0.3rem; padding-right: 0.3rem; }
	body table.cvf-info-table tbody th { font-size: 0.85rem; }
	body table.cvf-info-table .cvf-cell-note { font-size: 0.76rem; display: block; line-height: 1.3; }
}

@media (min-width: 761px) { body .entry-content table.cvf-info-table { table-layout: fixed; width: 100% !important; } body table.cvf-info-table th, body table.cvf-info-table td { overflow-wrap: break-word; hyphens: auto; } }

@media (min-width: 761px) { body table.cvf-info-table { table-layout: fixed !important; width: 100% !important; } }

/* Risk table: keep the automatic sizing (needed for Firefox) but let long words wrap, so the 7 columns fit. */
@media (min-width: 761px) {
	body table.cvf-info-table { table-layout: auto !important; }
	body.cvf-reading .entry-content table.cvf-info-table { table-layout: auto !important; }
	body table.cvf-info-table th, body table.cvf-info-table td { overflow-wrap: anywhere; word-break: normal; }
}

/* Risk table with 7 columns: smaller, untracked headings and tighter cells on wider screens, so it fits without splitting words. */
@media (min-width: 761px) {
	body.cvf-reading .entry-content table.cvf-info-table thead th { font-size: 0.7rem !important; letter-spacing: 0 !important; padding-left: 0.3rem !important; padding-right: 0.3rem !important; }
	body.cvf-reading .entry-content table.cvf-info-table tbody td, body.cvf-reading .entry-content table.cvf-info-table tbody th { font-size: 0.8rem !important; padding-left: 0.3rem !important; padding-right: 0.3rem !important; }
	body.cvf-reading .entry-content table.cvf-info-table .cvf-cell-note { font-size: 0.72rem !important; }
}

/* Hazard photo cards: navy-to-plum gradient behind the text at the bottom */
.cvf-info-card--photo::before { background: linear-gradient(135deg, rgba(23, 48, 74, .96) 0%, rgba(74, 37, 74, .93) 55%, rgba(138, 70, 144, .9) 100%) !important; -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .5) 30%, #000 58%); mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .5) 30%, #000 58%); }

/* Resources: Power cuts, flooding and emergencies topic (blue, lightning icon) */
.cvf-res-jump a[data-topic="emergencies"] { --rc-line: var(--tl-blue); --rc-tint: var(--tt-blue); --rc-ink: var(--ti-blue); }
body .cvf-res-jump a[data-topic="emergencies"]::before, body .cvf-resource-card > h3#emergencies::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#emergencies::before { background-color: #FFFFFF; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23347CA9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2.5 5 13.5h6l-1 8 8-11h-6z'/%3E%3C/svg%3E"); }

/* Inquiry page: "The work isn't finished" box with the plum gradient, tighter spacing */
body .wp-block-group.cvf-work-box { margin: 1.5rem 0 !important; padding: 1.5rem clamp(1.25rem, 3vw, 2rem) !important; border-radius: 20px; background: linear-gradient(135deg, #4A254A 0%, #6E3573 55%, #8A4690 100%) !important; color: #fff; }
body .wp-block-group.cvf-work-box h3 { margin: 0 0 0.6rem !important; color: #fff !important; }
body .wp-block-group.cvf-work-box p { margin: 0 !important; color: rgba(255, 255, 255, .94) !important; }
/* Support page, Voting safely: ticked list of what polling stations are advised to do */
.cvf-res__points { list-style: none; margin: .2rem 0 .7rem !important; padding: 0 !important; }
.cvf-res__points li { position: relative; padding: .3rem 0 .3rem 1.7rem; font-size: .96rem; line-height: 1.45; color: var(--cvf-ink-2, #4B5563); }
.cvf-res__points li::before { content: ""; position: absolute; left: 0; top: .45rem; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: #007292 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 70% no-repeat; }
.cvf-res--vote-in-person .cvf-res__go { flex-direction: column; align-items: flex-start; }
.cvf-res--vote-in-person .cvf-res__go br { display: none; }

/* Support hub: inner padding for the white cards inside dark panel sections */
.cvf-support-hub .cvf-hub-sec--panel .cvf-res { padding-left: 1.1rem !important; padding-right: 1.1rem !important; border-radius: 14px; }

/* Support hub: more room inside and around the coloured topic panels */
body.cvf-support-hub .cvf-hub-sec--panel, body.cvf-support-hub .cvf-hub-sec--feature, body.cvf-support-hub .cvf-hub-sec--lilac { padding: 2rem 2rem 1.25rem !important; margin-top: 1.75rem !important; margin-bottom: 1.75rem !important; }
body.cvf-support-hub .cvf-hub-sec--panel .cvf-res-grid { gap: 1.25rem 1.5rem; }
body.cvf-support-hub .cvf-hub-sec--panel .cvf-res { padding: 1.25rem 1.4rem 1.25rem !important; }
@media (max-width: 760px) {
  body.cvf-support-hub .cvf-hub-sec--panel, body.cvf-support-hub .cvf-hub-sec--feature, body.cvf-support-hub .cvf-hub-sec--lilac { padding: 1.6rem 1.4rem 1rem !important; margin-left: 0.5rem !important; margin-right: 0.5rem !important; }
  body.cvf-support-hub .cvf-hub-sec--panel .cvf-res { padding: 1.1rem 1.15rem !important; }
}

/* Support hub panels: stronger selectors so the extra room wins over older rules */
body.cvf-support-hub .entry-content > .cvf-hub-sec.cvf-hub-sec--panel:not(.cvf-hub-sec--feature):not(.cvf-hub-sec--lilac), body.cvf-support-hub .entry-content > .cvf-hub-sec.cvf-hub-sec--feature, body.cvf-support-hub .entry-content > .cvf-hub-sec.cvf-hub-sec--lilac { padding: 2rem 2rem 1.25rem !important; margin-top: 1.75rem !important; margin-bottom: 1.75rem !important; }
@media (max-width: 760px) {
  body.cvf-support-hub .entry-content > .cvf-hub-sec.cvf-hub-sec--panel:not(.cvf-hub-sec--feature):not(.cvf-hub-sec--lilac), body.cvf-support-hub .entry-content > .cvf-hub-sec.cvf-hub-sec--feature, body.cvf-support-hub .entry-content > .cvf-hub-sec.cvf-hub-sec--lilac { padding: 1.6rem 1.4rem 1rem !important; }
}

/* Our Impact, May 2026: Andrea Barrett photo shown whole and smaller (zoomed out) */
body.cvf-impact .cvf-imp-feature__photo img.wp-image-519 { aspect-ratio: 952 / 1258 !important; height: auto !important; object-fit: cover !important; object-position: 50% 50% !important; max-width: 230px; margin: 0 auto; }
body.cvf-impact .cvf-imp-feature__photo:has(img.wp-image-519) { align-self: center; }
@media (max-width: 760px) { body.cvf-impact .cvf-imp-feature__photo img.wp-image-519 { max-width: 200px; margin: 0; } }

/* Team: Amos Waldman head size to match the others */
body .cvf-people--grid > article:not(.is-open) .cvf-person__photo img[src*="amos-waldman"] { transform: translate(0%, 15%) scale(1.35); transform-origin: 50% 50%; }

/* Team: Expert team colour order swapped (pink on 3rd, 6th... cards; cream with lilac border on 2nd, 5th...) */
body .cvf-people--team-expert-team.cvf-people--grid > article:nth-of-type(3n+2) { background: var(--cvf-warm-white, #FAF9F6) !important; border: 1px solid var(--cvf-mauve, #E0B9E3) !important; }
body .cvf-people--team-expert-team.cvf-people--grid > article:nth-of-type(3n) { background: var(--cvf-mauve-soft, #F3E6F4) !important; border-color: transparent !important; }

/* Team, directors: stack the photo above the text on tablets too, so the photo is never squeezed into a tall strip */
@media (max-width: 1150px) {
  body .cvf-people--directors .cvf-person--director { flex-direction: column !important; }
  body .cvf-people--directors .cvf-person--director .cvf-person__photo { flex: 0 0 auto !important; align-self: stretch !important; min-height: 0 !important; height: auto !important; padding-bottom: 0 !important; aspect-ratio: 1 / 1 !important; }
}

/* News page: image credit under each press thumbnail */
.cvf-news__fig { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.cvf-news__fig .cvf-news__img { display: block; }
.cvf-news__credit { font-size: .74rem; line-height: 1.3; color: var(--cvf-ink-2, #4B5563); }

/* Andrea polling photo: when cropped, keep the official on the left in view */
body img[src*="andrea-polling-station"] { object-position: 4% 50% !important; }

/* Team: highlight a person reached by a link (#person-slug) */
body .cvf-person--target { outline: 3px solid var(--cvf-pink, #B957B8); outline-offset: 4px; border-radius: 20px; transition: outline-color .4s; }

/* Inquiry page: "What changed" lines in dark pink */
body .cvf-inq-mod__steps li.cvf-inq-mod__changed, body .cvf-inq-mod__steps li.cvf-inq-mod__changed strong, body .cvf-inq-mod__steps li.cvf-inq-mod__changed a { color: #9A3F9B !important; }
body .cvf-inq-mod__steps li.cvf-inq-mod__changed::before { background-color: #9A3F9B !important; border-color: #9A3F9B !important; }

/* Good air card: smaller labels under the scale (e.g. "10 good", "14 better") */
.cvf-goodair .cvf-ga-card p.cvf-ga-ticks .is-mid { position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; font-size: .78rem; color: rgba(255, 255, 255, .85); }

/* Home: "Clinical vulnerability affects us all" panel */
body .wp-block-group.cvf-cvfacts { max-width: var(--cvf-container, 1200px); margin: 2.5rem auto !important; padding: 2rem clamp(1.25rem, 3vw, 2.5rem) !important; border-radius: 20px; background: linear-gradient(135deg, #4A254A 0%, #6E3573 55%, #8A4690 100%); color: #fff; }
body .cvf-cvfacts .cvf-eyebrow { color: var(--cvf-mauve, #E0B9E3) !important; margin: 0 0 1rem !important; }
.cvf-cvfacts__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 2.5rem; }
.cvf-cvfacts__num { margin: 0 0 .35rem !important; font-size: clamp(2rem, 4.5vw, 3rem); line-height: 1.05; font-weight: 800; letter-spacing: -.02em; color: #fff; }
.cvf-cvfacts__text { margin: 0 !important; font-size: 1.1rem; line-height: 1.5; color: rgba(255, 255, 255, .95); }
.cvf-cvfacts__text sup a { color: var(--cvf-mauve, #E0B9E3); text-decoration: none; }
.cvf-cvfacts__more { margin: 1.4rem 0 .6rem !important; font-weight: 700; }
body .cvf-cvfacts__more a { color: #fff !important; text-decoration-color: rgba(255, 255, 255, .6); }
.cvf-cvfacts__src { margin: 0 !important; font-size: .8rem; line-height: 1.45; color: rgba(255, 255, 255, .8); }
body .cvf-cvfacts__src a { color: var(--cvf-mauve, #E0B9E3) !important; }
@media (max-width: 700px) { .cvf-cvfacts__grid { grid-template-columns: 1fr; } }
body .wp-block-group.cvf-cvfacts { width: calc(100% - 2 * var(--cvf-gutter, 2rem)); box-sizing: border-box; }

/* Small source notes at the very bottom of a page (e.g. the home page "1 in 3" figure) */
body .entry-content > .cvf-page-note { max-width: var(--cvf-container, 1200px); margin: 2.5rem auto 1.5rem !important; font-size: .8rem; line-height: 1.5; color: var(--cvf-ink-2, #4B5563); scroll-margin-top: 120px; }
body .cvf-page-note:target { background: var(--cvf-mauve-soft, #F3E6F4); border-radius: 10px; padding: .6rem .9rem; }
body .entry-content:has(> .cvf-page-note:last-child) { padding-bottom: 0 !important; } body .entry-content > .cvf-page-note:last-child { margin-bottom: 0 !important; padding-bottom: 1.25rem; }
body .entry-content > .cvf-page-note:last-child { margin-top: 3.75rem !important; }

/* Home: newsletter sign-up centred */
.cvf-signup{max-width:640px;margin:4rem auto 0;text-align:center}
.cvf-signup .mailpoet_form{text-align:left}
.cvf-signup .mailpoet_form,.cvf-signup .mailpoet_form form{max-width:100%!important;margin-left:auto;margin-right:auto}
.entry-content > .cvf-signup,body .entry-content > .wp-block-group.cvf-signup{max-width:640px!important;margin-left:auto!important;margin-right:auto!important}
.cvf-signup .mailpoet_form,.cvf-signup .mailpoet_form form{width:100%!important;max-width:100%!important}
.cvf-signup > .wp-block-group__inner-container{padding-left:0!important;padding-right:0!important}
.cvf-signup > .wp-block-group__inner-container > div:has(> .mailpoet_form){margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;max-width:100%!important;width:100%!important}

/* Team: pink cards placed by hand so they don't line up in a column (women only, at Lara's request) */
body .cvf-people > article#person-prof-sheena-cruickshank,body .cvf-people > article#person-janet-newsham,body .cvf-people > article#person-t-oak,body .cvf-people > article#person-tracey-oak,body .cvf-people > article#person-sarah-webley{background:var(--cvf-warm-white,#FAF9F6)!important;border:1px solid var(--cvf-mauve,#E0B9E3)!important}
body .cvf-people > article#person-dr-cathy-finnis,body .cvf-people > article#person-dr-emma-weisblatt,body .cvf-people > article#person-shannon-banks,body .cvf-people > article#person-noni-jenkyn-jones{background:var(--cvf-mauve-soft,#F3E6F4)!important;border-color:transparent!important}
body .cvf-people > article#person-s-wildgoose{background:var(--cvf-mauve-soft,#F3E6F4)!important;border-color:transparent!important}
body .cvf-people > article#person-dr-jax-tait{background:var(--cvf-mauve-soft,#F3E6F4)!important;border-color:transparent!important}

/* Our Impact: small round CVF logo on the Founding entry */
.cvf-imp-body .cvf-imp-logo{float:right;width:120px;height:120px;margin:0 0 .75rem 1.25rem;border-radius:50%;shape-outside:circle(50%)}
@media (max-width:600px){.cvf-imp-body .cvf-imp-logo{width:90px;height:90px;margin-left:.75rem}}
/* Our Impact: small graphics on the Inquiry and NICE entries (click for full size) */
.cvf-imp-body .cvf-imp-graphic{float:right;width:120px;margin:0 0 .75rem 1.25rem;display:block;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px rgba(23,48,74,.15);text-decoration:none!important}
.cvf-imp-body .cvf-imp-graphic img{display:block;width:100%;height:auto}
@media (max-width:600px){.cvf-imp-body .cvf-imp-graphic{width:90px;margin-left:.75rem}}
/* Our Impact: report not yet published, cover shown with a Coming soon band */
.cvf-imp-body .cvf-imp-graphic--soon{position:relative}
.cvf-imp-body .cvf-imp-graphic--soon img{opacity:.55;filter:grayscale(.3)}
.cvf-imp-soon{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);background:#8A4690;color:#fff;font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:.4rem .25rem;line-height:1.2}
/* The coin image has a clear margin round it: draw it larger so the visible circle matches the 120px graphics */
.cvf-imp-body .cvf-imp-logo{width:144px!important;height:144px!important;margin:-12px -12px .25rem 1rem!important}
@media (max-width:600px){.cvf-imp-body .cvf-imp-logo{width:108px!important;height:108px!important;margin:-9px -9px .25rem .5rem!important}}

/* Contact page colours (Oct 2026): brand blue, purple and pink */
body .cvf-contact-card::before { height: 6px; background: linear-gradient(90deg, #6CCFF6 0%, #7B4FA8 50%, #E066E0 100%); }
body .cvf-contact-routes li a { border-color: transparent; }
body .cvf-contact-routes li a::before { width: 2.6rem; height: 5px; }
body .cvf-contact-routes li.is-story a { background: #FBEAF9; }
body .cvf-contact-routes li.is-story a::before, body .cvf-contact-routes li.is-story strong::after { background: none; }
body .cvf-contact-routes li.is-story a::before { background: #C84BC8; }
body .cvf-contact-routes li.is-story strong::after { color: #B03DB0; }
body .cvf-contact-routes li.is-community a { background: #E6F5FC; }
body .cvf-contact-routes li.is-community a::before { background: #2B9FD6; }
body .cvf-contact-routes li.is-community strong::after { color: #1F7FAE; }
body .cvf-contact-routes li.is-media a { background: #EFE8F8; }
body .cvf-contact-routes li.is-media a::before { background: #7B4FA8; }
body .cvf-contact-routes li.is-media strong::after { color: #6A3F97; }
body .cvf-contact-routes li.is-organisation a { background: #F3E6F4; }
body .cvf-contact-routes li.is-organisation a::before { background: #8A4690; }
body .cvf-contact-routes li.is-organisation strong::after { color: #8A4690; }
body .cvf-contact-routes li a::after { opacity: .22 !important; }
body .cvf-contact-routes li a:hover::after { opacity: .32 !important; }
body .cvf-contact-routes li.is-story a:hover { border-color: #E9A9E9; }
body .cvf-contact-routes li.is-community a:hover { border-color: #9ED8F2; }
body .cvf-contact-routes li.is-media a:hover { border-color: #C3AEE0; }
body .cvf-contact-routes li.is-organisation a:hover { border-color: #E0B9E3; }
/* Follow us: each network in its own colour */
body .cvf-contact-social a[href*="bsky.app"] .cvf-contact-social__icon { background: #1185FE; }
body .cvf-contact-social a[href*="x.com"] .cvf-contact-social__icon, body .cvf-contact-social a[href*="twitter.com"] .cvf-contact-social__icon, body .cvf-contact-social a[href*="threads"] .cvf-contact-social__icon { background: #111; }
body .cvf-contact-social a[href*="instagram.com"] .cvf-contact-social__icon { background: radial-gradient(circle at 30% 107%, #FDF497 0%, #FD5949 45%, #D6249F 60%, #285AEB 90%); }
body .cvf-contact-social a[href*="facebook.com"] .cvf-contact-social__icon { background: #1877F2; }
body .cvf-contact-social a[href*="linkedin.com"] .cvf-contact-social__icon { background: #0A66C2; }
/* The "addresses don't match" note stays hidden until it is needed */
.cvf-email-mismatch[hidden] { display: none !important; }
/* Support page: faint topic drawing in the bottom-right corner of each panel (house style), large versions drawn with thinner lines */
body.cvf-support-hub .cvf-hub-sec { position: relative; isolation: isolate; overflow: hidden; }
body.cvf-support-hub .cvf-hub-sec::after { content: ""; position: absolute; z-index: -1; right: -1.25rem; bottom: -1.5rem; width: 11rem; height: 11rem; background: no-repeat right bottom / contain; opacity: .14; pointer-events: none; }
body.cvf-support-hub #health.cvf-hub-sec::after { background-image: url(hub-health-lg.svg?v=2); }
body.cvf-support-hub #power-and-water.cvf-hub-sec::after { background-image: url(hub-power-lg.svg?v=2); }
body.cvf-support-hub #work-and-money.cvf-hub-sec::after { background-image: url(hub-work-lg.svg?v=2); }
body.cvf-support-hub #children-and-families.cvf-hub-sec::after { background-image: url(hub-family-lg.svg?v=2); }
body.cvf-support-hub #wellbeing.cvf-hub-sec::after { background-image: url(hub-wellbeing-lg.svg?v=2); }
body.cvf-support-hub #voting.cvf-hub-sec::after { background-image: url(hub-voting-lg.svg?v=2); }
body.cvf-support-hub #voting.cvf-hub-sec::after { opacity: .12; }
@media (max-width: 600px) { body.cvf-support-hub .cvf-hub-sec::after { width: 8rem; height: 8rem; right: -1rem; bottom: -1.1rem; } }
/* Voting: the bottom is filled by white boxes, so its drawing sits in the top-right corner instead */
body.cvf-support-hub #voting.cvf-hub-sec::after { bottom: auto; top: -1.25rem; width: 8.5rem; height: 8.5rem; background-position: right top; opacity: .14; }
/* Private vaccine prices: "Things to know" box in pale pink */
body .entry-content .cvf-hub-note.cvf-hub-note--list { background: #FBEAF9 !important; }

/* Resources: topic colours that suit each subject (Oct 2026) */
/* severe-allergies: EpiPen yellow */
body .cvf-res-jump a[data-topic="severe-allergies"], body .cvf-resource-card:has(h3#severe-allergies) { --rc-line: #F2C200; --rc-tint: #FFF7D6; --rc-ink: #6B5300; }
body .cvf-res-jump a[data-topic="severe-allergies"]::before, body .cvf-resource-card > h3#severe-allergies::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#severe-allergies::before { background-color: #FFFFFF !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B5300' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2.5' width='6' height='13.5' rx='2'/%3E%3Cpath d='M9 6.5h6M12 16v3.5M10.5 21h3'/%3E%3C/svg%3E") !important; }
/* transport: road grey */
body .cvf-res-jump a[data-topic="transport"], body .cvf-resource-card:has(h3#transport) { --rc-line: #6B7480; --rc-tint: #EEF0F2; --rc-ink: #3E4750; }
body .cvf-res-jump a[data-topic="transport"]::before, body .cvf-resource-card > h3#transport::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#transport::before { background-color: #FFFFFF !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233E4750' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3.5' width='14' height='14' rx='2'/%3E%3Cpath d='M5 11h14M8 20.5v-3M16 20.5v-3M8.5 14.5h.01M15.5 14.5h.01'/%3E%3C/svg%3E") !important; }
/* emergencies: emergency red */
body .cvf-res-jump a[data-topic="emergencies"], body .cvf-resource-card:has(h3#emergencies) { --rc-line: #B42318; --rc-tint: #FCEDEB; --rc-ink: #912018; }
body .cvf-res-jump a[data-topic="emergencies"]::before, body .cvf-resource-card > h3#emergencies::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#emergencies::before { background-color: #FFFFFF !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23912018' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2.5 5 13.5h6l-1 8 8-11h-6z'/%3E%3C/svg%3E") !important; }
/* healthcare: NHS blue */
body .cvf-res-jump a[data-topic="healthcare"], body .cvf-resource-card:has(h3#healthcare) { --rc-line: #005EB8; --rc-tint: #E6F0FA; --rc-ink: #004A93; }
body .cvf-res-jump a[data-topic="healthcare"]::before, body .cvf-resource-card > h3#healthcare::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#healthcare::before { background-color: #FFFFFF !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004A93' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10.3A4.2 4.2 0 0 1 12 7.2a4.2 4.2 0 0 1 7.5 2.5C19.5 15.4 12 20 12 20z'/%3E%3Cpath d='M12 10v5M9.5 12.5h5'/%3E%3C/svg%3E") !important; }
/* events-venues: celebration pink */
body .cvf-res-jump a[data-topic="events-venues"], body .cvf-resource-card:has(h3#events-venues) { --rc-line: #C2389E; --rc-tint: #FCEBF6; --rc-ink: #962A79; }
body .cvf-res-jump a[data-topic="events-venues"]::before, body .cvf-resource-card > h3#events-venues::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#events-venues::before { background-color: #FFFFFF !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23962A79' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16v3a2 2 0 0 0 0 4v3H4v-3a2 2 0 0 0 0-4z'/%3E%3Cpath d='M14 7v10' stroke-dasharray='1.5 2'/%3E%3C/svg%3E") !important; }
/* schools: school purple */
body .cvf-res-jump a[data-topic="schools"], body .cvf-resource-card:has(h3#schools) { --rc-line: #6A3F97; --rc-tint: #F0EAF7; --rc-ink: #55307C; }
body .cvf-res-jump a[data-topic="schools"]::before, body .cvf-resource-card > h3#schools::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#schools::before { background-color: #FFFFFF !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2355307C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6.5C5.5 5 8.5 5 12 7c3.5-2 6.5-2 9-.5V19c-2.5-1.5-5.5-1.5-9 .5-3.5-2-6.5-2-9-.5z'/%3E%3Cpath d='M12 7v12.5'/%3E%3C/svg%3E") !important; }
/* workplaces: office indigo */
body .cvf-res-jump a[data-topic="workplaces"], body .cvf-resource-card:has(h3#workplaces) { --rc-line: #3F51A3; --rc-tint: #ECEEF8; --rc-ink: #2F3D80; }
body .cvf-res-jump a[data-topic="workplaces"]::before, body .cvf-resource-card > h3#workplaces::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#workplaces::before { background-color: #FFFFFF !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F3D80' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='7.5' width='17' height='12' rx='2'/%3E%3Cpath d='M9 7.5V5.5a1.5 1.5 0 0 1 1.5-1.5h3A1.5 1.5 0 0 1 15 5.5v2M3.5 12.5h17'/%3E%3C/svg%3E") !important; }
/* reasonable-adjustments: access teal */
body .cvf-res-jump a[data-topic="reasonable-adjustments"], body .cvf-resource-card:has(h3#reasonable-adjustments) { --rc-line: #2B7A78; --rc-tint: #E7F3F2; --rc-ink: #1F5C5A; }
body .cvf-res-jump a[data-topic="reasonable-adjustments"]::before, body .cvf-resource-card > h3#reasonable-adjustments::before, body .cvf-resource-card > .wp-block-group__inner-container > h3#reasonable-adjustments::before { background-color: #FFFFFF !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F5C5A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16M7 20h10M5 8h14'/%3E%3Cpath d='M5 8l-2.5 6a2.5 2.5 0 0 0 5 0zM19 8l-2.5 6a2.5 2.5 0 0 0 5 0z'/%3E%3C/svg%3E") !important; }
/* Yellow is light: the chosen allergy button keeps dark text */
body .cvf-res-jump a[data-topic="severe-allergies"].is-active { color: #3D3000 !important; }
/* Support panels: corner drawings bigger and cut off by the bottom-right corner, as in the house style */
body.cvf-support-hub .cvf-hub-sec::after { width: 13rem; height: 13rem; right: -2.6rem; bottom: -2.9rem; background-image: none; }
body.cvf-support-hub #voting.cvf-hub-sec::after { top: -2.2rem; bottom: auto; right: -2.2rem; width: 10rem; height: 10rem; }
@media (max-width: 600px) { body.cvf-support-hub .cvf-hub-sec::after { width: 9rem; height: 9rem; right: -1.8rem; bottom: -2rem; } }
/* Voting: the drawing sits in the bottom-right corner of the right-hand white box (postal and proxy votes), which has room for it */
body.cvf-support-hub #voting.cvf-hub-sec::after { content: none !important; }
body.cvf-support-hub #voting .cvf-res--nations { position: relative; isolation: isolate; overflow: hidden; }
body.cvf-support-hub #voting .cvf-res--nations::after { content: ""; position: absolute; z-index: -1; right: -2.6rem; bottom: -2.9rem; width: 13rem; height: 13rem; background: url(hub-voting-lg-dark.svg?v=1) no-repeat right bottom / contain; opacity: .14; pointer-events: none; }
@media (max-width: 600px) { body.cvf-support-hub #voting .cvf-res--nations::after { width: 9rem; height: 9rem; right: -1.8rem; bottom: -2rem; } }

/* Resources: a photo strip across the top of each topic card */
body .cvf-resource-card[class*="cvf-rc--"]:has(> h3[id], > .wp-block-group__inner-container > h3[id]) { padding-top: calc(104px + 1.4rem) !important; background-repeat: no-repeat !important; background-size: auto 104px !important; background-color: var(--rc-tint) !important; }
@media (max-width: 600px) { body .cvf-resource-card[class*="cvf-rc--"]:has(> h3[id], > .wp-block-group__inner-container > h3[id]) { padding-top: calc(80px + 1.2rem) !important; background-size: auto 80px !important; } }
body .cvf-resource-card:has(h3#healthcare) { background-image: url(res-healthcare-v2.jpg?v=1) !important; background-position: 70% 0 !important; }
body .cvf-resource-card:has(h3#schools) { background-image: url(res-schools.jpg?v=1) !important; background-position: 35% 0 !important; }
body .cvf-resource-card:has(h3#workplaces) { background-image: url(res-workplaces.jpg?v=1) !important; background-position: 55% 0 !important; }
body .cvf-resource-card:has(h3#events-venues) { background-image: url(res-events-venues-v2.jpg?v=1) !important; background-position: 28% 0 !important; }
body .cvf-resource-card:has(h3#transport) { background-image: url(res-transport.jpg?v=1) !important; background-position: 45% 0 !important; }
body .cvf-resource-card:has(h3#reasonable-adjustments) { background-image: url(res-reasonable-adjustments.jpg?v=1) !important; background-position: 40% 0 !important; }
body .cvf-resource-card:has(h3#consulting-communicating) { background-image: url(res-consulting-communicating.jpg?v=1) !important; background-position: 60% 0 !important; }
body .cvf-resource-card:has(h3#clean-air) { background-image: url(res-clean-air.jpg?v=1) !important; background-position: 85% 0 !important; }
body .cvf-resource-card:has(h3#masks) { background-image: url(res-masks-v5.jpg?v=1) !important; background-position: 80% 0 !important; }
body .cvf-resource-card:has(h3#infection-prevention) { background-image: url(res-infection-prevention.jpg?v=1) !important; background-position: 75% 0 !important; }
body .cvf-resource-card:has(h3#outbreak-planning) { background-image: url(res-outbreak-planning-v3.jpg?v=1) !important; background-position: 75% 0 !important; }
body .cvf-resource-card:has(h3#severe-allergies) { background-image: url(res-severe-allergies.jpg?v=1) !important; background-position: 65% 0 !important; }
body .cvf-resource-card:has(h3#heat-cold-pollution) { background-image: url(res-heat-cold-pollution.jpg?v=1) !important; background-position: 18% 0 !important; }
body .cvf-resource-card:has(h3#emergencies) { background-image: url(res-emergencies.jpg?v=1) !important; background-position: 25% 0 !important; }
body .cvf-resource-card[class*="cvf-rc--"]:has(> h3[id], > .wp-block-group__inner-container > h3[id]) { padding-top: calc(104px + .35rem) !important; }
body .cvf-resource-card[class*="cvf-rc--"]:has(> h3[id], > .wp-block-group__inner-container > h3[id])::before { display: none !important; }
@media (max-width: 600px) { body .cvf-resource-card[class*="cvf-rc--"]:has(> h3[id], > .wp-block-group__inner-container > h3[id]) { padding-top: calc(80px + .3rem) !important; } }
body .cvf-resource-card[class*="cvf-rc--"] > h3[id], body .cvf-resource-card[class*="cvf-rc--"] > .wp-block-group__inner-container > h3[id] { margin-top: .9rem !important; }
/* Inquiry page: the Breathe Safe Air banner (and its side panels) toned down a little */
body .cvf-inq-mod__img--banner { filter: saturate(.7) brightness(.96); }
/* Outbreak planning: frame the checklist on the clipboard, not the radio */
body .cvf-resource-card:has(h3#outbreak-planning) { background-position: 55% 0 !important; }
/* New strips for masks and outbreak planning (Oct 2026) */
body .cvf-resource-card:has(h3#masks) { background-position: 52% 0 !important; }
body .cvf-resource-card:has(h3#outbreak-planning) { background-position: 48% 0 !important; }
body .cvf-resource-card:has(h3#events-venues) { background-position: 55% 0 !important; }
/* Topic pages: centre the dark stats panel so it lines up with the intro box above it */
body .entry-content > .cvf-tp-stats { margin-left: auto !important; margin-right: auto !important; }

/* Media area: a photo at the top of each of the three perk cards; envelope icon for email alerts */
.cvf-media-perks li { overflow: hidden; padding-top: calc(165px + 1rem) !important; }
.cvf-media-perks li::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 165px; background: no-repeat center / cover; }
.cvf-media-perks li::before { top: calc(165px + 1rem) !important; }
.cvf-media-perks .is-release::after { background-image: url(/wp-content/plugins/cvf-extras/assets/media-perk-release-v2.jpg?v=1); background-position: 50% 50%; }
.cvf-media-perks .is-embargo::after { background-image: url(/wp-content/plugins/cvf-extras/assets/media-perk-embargo.jpg?v=1); }
.cvf-media-perks .is-alerts::after { background-image: url(/wp-content/plugins/cvf-extras/assets/media-perk-alerts.jpg?v=1); background-position: 50% 45%; }
.cvf-media-perks .is-alerts::before { background-image: url(/wp-content/plugins/cvf-extras/assets/contact-envelope.svg?v=1) !important; }
/* Topic pages: the pale "more to do" box, smaller and with a soft gradient, lined up with the boxes above */
body.cvf-reading .entry-content > .alignfull.has-base-2-background-color { width: auto !important; max-width: none !important; margin-left: 40px !important; margin-right: 40px !important; padding: 0 !important; background: linear-gradient(135deg, #D3EEF8 0%, #E4EAF8 55%, #F1E4F5 100%) !important; }
body.cvf-reading .entry-content > .alignfull.has-base-2-background-color > .wp-block-group__inner-container { padding: 1.6rem 1.9rem !important; }
body.cvf-reading .entry-content > .alignfull.has-base-2-background-color > .wp-block-group__inner-container > :first-child { margin-top: 0 !important; }
body.cvf-reading .entry-content > .alignfull.has-base-2-background-color > .wp-block-group__inner-container > :last-child { margin-bottom: 0 !important; }
@media (max-width: 768px) { body.cvf-reading .entry-content > .alignfull.has-base-2-background-color { margin-left: 20px !important; margin-right: 20px !important; } body.cvf-reading .entry-content > .alignfull.has-base-2-background-color > .wp-block-group__inner-container { padding: 1.25rem 1.3rem !important; } }
html body.cvf-reading .entry-content > div.wp-block-group.alignfull.has-base-2-background-color.has-background { background-image: linear-gradient(120deg, var(--t-mid, #D3EEF8) 0%, var(--t-mid, #D3EEF8) 35%, #F1E4F5 100%) !important; }

/* Clean Air page: signpost to the organisations guidance (12 Oct 2026) */
.cvf-ca-more{max-width:760px;margin:32px auto;padding:22px 24px;border-radius:16px;background:#E8F4F1;border-left:6px solid #2F8C78}
.cvf-ca-more p{margin:0 0 10px}.cvf-ca-more p:last-child{margin:0}
.cvf-ca-more__link{font-weight:700;color:#1E5E52;text-decoration:underline;text-underline-offset:3px}
.cvf-ca-more__link:hover{text-decoration-thickness:2px}

/* Donate page: the new form and its FAQs get fixed places in the layout (13 Oct 2026). */
body .cvf-donate-panel > .wp-block-group__inner-container > .cvf-don { order: 1; width: 100%; }
body .cvf-donate-panel > .wp-block-group__inner-container > .cvf-don-faq { order: 4; width: 100%; max-width: 540px; margin: 2rem auto 0; box-sizing: border-box; }
@media (min-width: 1120px) {
	body .cvf-donate-panel > .wp-block-group__inner-container > .cvf-don { grid-column: 2; grid-row: 1; margin: 0; }
	body .cvf-donate-panel > .wp-block-group__inner-container > .cvf-don-faq { grid-column: 2; grid-row: 3; max-width: none; margin: 2rem 0 0; }
	body .cvf-donate-panel > .wp-block-group__inner-container > .cvf-why { grid-row: 1 / span 3; }
}

/* Open letters page (13 Oct 2026) */
.cvf-letter{background:#fff;border:1px solid #E8D3EA;border-left:6px solid #8A4690;border-radius:16px;padding:24px 26px;margin:0 0 28px;box-shadow:0 2px 8px rgba(23,48,74,.05)}
.cvf-letter h2{margin-top:.25rem}
.cvf-letter ul{margin-bottom:1.2rem}
.cvf-letter .wp-block-buttons{margin-top:1rem}
@media (max-width:600px){.cvf-letter{padding:18px 16px}}
.cvf-letters-wrap{max-width:860px;margin:0 auto 3rem;padding:0 20px;box-sizing:border-box}
.cvf-letters-wrap .cvf-lead{font-size:1.15rem;margin-bottom:2rem}
.cvf-letters-sub{margin-top:2.5rem}
.cvf-letter--supported{border-left-color:#2F8C78;background:#FAFDFC}
.cvf-letter--supported h3{margin-top:.25rem}
.cvf-letter--supported{border-left-color:#6DC9F8;background:#F7FBFE}

/* Support page: template letters (13 Oct 2026) */
.cvf-tpl{margin-top:.75rem}
.cvf-tpl summary{cursor:pointer;font-weight:700;color:#8A4690}
.cvf-tpl__label{display:block;margin:.6rem 0 .4rem;font-size:.9rem}
.cvf-tpl__text{width:100%;box-sizing:border-box;font:inherit;font-size:.92rem;line-height:1.5;padding:12px;border:1px solid #D9C6DB;border-radius:10px;background:#fff;color:#17304A;resize:vertical}

/* Write to your MP page + Get involved 2x2 cards (13 Oct 2026) */
@media (min-width:900px){.cvf-gi-cards:has(> .cvf-gi-card.is-mp){grid-template-columns:repeat(2,minmax(0,1fr))}}
.cvf-mp-page{padding:0 40px}
@media (max-width:700px){.cvf-mp-page{padding:0 16px}}
.cvf-mp-page .cvf-res-grid{display:grid;gap:20px;margin:0 0 2rem}
.cvf-mp-page .cvf-res{background:#fff;border:1px solid #E8D3EA;border-left:6px solid #8A4690;border-radius:16px;padding:20px 22px;box-shadow:0 2px 8px rgba(23,48,74,.05)}
.cvf-mp-page .cvf-res__region{margin:0 0 .3rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8A4690}
.cvf-mp-page .cvf-res__title{margin:0 0 .4rem;font-size:1.25rem}
.cvf-mp-page .cvf-res__desc{margin:0}

/* Write to your MP card: portcullis in House of Commons green (13 Oct 2026) */
.cvf-gi-card.is-mp::after{background-image:url(contact-portcullis.svg);opacity:.16}
.cvf-gi-card.is-mp::before{background:#0B6E4F}
.cvf-gi-card.is-mp .cvf-eyebrow{color:#0B6E4F !important}
.cvf-gi-card.is-mp .cvf-btn-outline{border-color:#0B6E4F;color:#0B6E4F}
.cvf-gi-card.is-mp .cvf-btn-outline:hover{background:#0B6E4F;color:#fff}
.cvf-gi-card.is-mp::after{background-image:url(contact-portcullis.svg?v=8)}

/* Write to your MP: Parliament photo */
.cvf-mp-hero{margin:0 0 1.75rem}
.cvf-mp-hero img{display:block;width:100%;aspect-ratio:21/9;object-fit:cover;object-position:center 60%;border-radius:16px}
.cvf-mp-hero figcaption{margin-top:.4rem;font-size:.75rem;color:#5b6474;text-align:right}
.cvf-mp-hero figcaption a{color:inherit}
@media (max-width:600px){.cvf-mp-hero img{aspect-ratio:3/2}}

/* About: community quotes with a scenery photo */
.cvf-ab-quote{border:1px solid #E8E6EB;border-radius:var(--cvf-radius-lg,20px);overflow:hidden;background:#fff}
.cvf-ab-quote:nth-child(3n+2){border-color:transparent;background:var(--cvf-mauve-soft,#F3E6F4)}
.cvf-ab-quote blockquote{flex:1 1 auto;min-width:0;border:0 !important;border-radius:0}
.cvf-ab-quote__img{flex:0 0 36%;width:36%;min-height:100%;object-fit:cover;display:block;margin:0}
.cvf-ab-quote:nth-child(4) .cvf-ab-quote__img{order:-1}
@media (max-width:600px){.cvf-ab-quote{flex-direction:column}.cvf-ab-quote__img,.cvf-ab-quote:nth-child(4) .cvf-ab-quote__img{order:-1;flex:none;width:100%;height:160px;min-height:0}}
@media (max-width:600px){.cvf-ab-quotes .cvf-ab-quote .cvf-ab-quote__img{height:150px !important;min-height:0 !important;width:100% !important;object-position:center 60%}}

/* About quotes: pink on Juliet, Tracey, Sarah (checkerboard); bottom row photos on the left; gentle drift on scroll */
.cvf-ab-quotes .cvf-ab-quote blockquote{background:transparent !important}
.cvf-ab-quotes .cvf-ab-quote{background:#fff;border-color:#E8E6EB}
.cvf-ab-quotes .cvf-ab-quote:nth-child(odd){background:var(--cvf-mauve-soft,#F3E6F4);border-color:transparent}
.cvf-ab-quotes .cvf-ab-quote .cvf-ab-quote__avatar{background:var(--cvf-mauve-soft,#F3E6F4)}
.cvf-ab-quotes .cvf-ab-quote:nth-child(odd) .cvf-ab-quote__avatar{background:#fff}
.cvf-ab-quotes .cvf-ab-quote:nth-child(n+4) .cvf-ab-quote__img{order:-1}
@keyframes cvfQuoteDrift{from{transform:scale(1.14) translateY(-5%)}to{transform:scale(1.14) translateY(5%)}}
@supports (animation-timeline: view()){@media (prefers-reduced-motion:no-preference){.cvf-ab-quotes .cvf-ab-quote__img{animation:cvfQuoteDrift linear both;animation-timeline:view()}}}
/* overflow:clip so the scroll drift follows the page, not the card */
.cvf-ab-quotes .cvf-ab-quote{overflow:hidden;overflow:clip}

/* Header Donate button: keep it purple on hover (the theme's menu hover turned it white-on-white) */
.main-navigation .cvf-bar-donate a:hover, .main-navigation .cvf-bar-donate a:focus-visible, .main-navigation .cvf-bar-donate a:focus { background: var(--cvf-plum, #4A254A) !important; color: #fff !important; }
.main-navigation .main-nav > ul > li.cvf-donate > a:hover, .main-navigation .main-nav > ul > li.cvf-donate > a:focus { background-color: var(--cvf-pink-dark, #7A2F7B) !important; color: #fff !important; }

/* Donation form purple matches the header Donate button; one gentle hover shade for all donate buttons */
body .cvf-don { --d-primary: #9A3F9B; --d-primary-dark: #873789; }
.main-navigation .cvf-bar-donate a:hover, .main-navigation .cvf-bar-donate a:focus-visible, .main-navigation .cvf-bar-donate a:focus { background: #873789 !important; }
.main-navigation .main-nav > ul > li.cvf-donate > a:hover, .main-navigation .main-nav > ul > li.cvf-donate > a:focus { background-color: #873789 !important; }

/* Card-fee switch: grey when off (was red), green when on */
body .cvf-don__switch { background: #8a8f8c; }
body .cvf-don__cover input:checked + .cvf-don__switch { background: #2e8b57; }

/* Space between the donation card and Ways to pay */
.cvf-donate-panel .cvf-pay { margin-top: 28px !important; }

/* Absence calculator: missed days in the Donate purple; severely absent in the strongest purple */
.cvf-abs-grid span.is-off { background: #9A3F9B; }
.cvf-abs[data-state="sa"] .cvf-abs__state { background: #9A3F9B; color: #fff; }

/* Home: Open letters focus card in pink with an envelope icon */
.home .cvf-campaigns .wp-block-post.post-1307 { background: var(--cvf-mauve-soft, #F3E6F4) !important; border-color: transparent !important; }
.home .cvf-campaigns .wp-block-post.post-1307::before { background: var(--cvf-mauve-ink, #8A4690) !important; }
.home .cvf-campaigns .wp-block-post.post-1307::after { background-image: url(/wp-content/plugins/cvf-extras/assets/contact-envelope.svg?v=1) !important; opacity: .22 !important; }

/* Linked-to place on a page: clear the sticky menu bar, and a brief highlight */
[id] { scroll-margin-top: 110px; }
.cvf-tl-item.cvf-is-target { animation: cvfTargetGlow 2.4s ease-out 1; border-radius: 12px; }
@keyframes cvfTargetGlow { 0%, 40% { box-shadow: 0 0 0 6px rgba(154, 63, 155, .35); background: rgba(243, 230, 244, .9); } 100% { box-shadow: 0 0 0 0 rgba(154, 63, 155, 0); background: transparent; } }
@media (prefers-reduced-motion: reduce) { .cvf-tl-item.cvf-is-target { animation: none; } }

/* Absence calculator: severely absent label in a light purple, like the light blue 'acceptable' label */
.cvf-abs[data-state="sa"] .cvf-abs__state { background: var(--cvf-mauve-soft, #F3E6F4); color: #7A2F7B; }

/* Absence calculator labels as traffic lights: green, amber, then purple */
.cvf-abs[data-state="ok"] .cvf-abs__state { background: #E3F4EA; color: #1D6B3A; }
.cvf-abs[data-state="pa"] .cvf-abs__state { background: #FEF3C7; color: #8A4B00; }
.cvf-abs[data-state="sa"] .cvf-abs__state { background: var(--cvf-mauve-soft, #F3E6F4); color: #7A2F7B; }

/* Severely absent: solid Donate purple (Lara, 14 Oct) */
.cvf-abs[data-state="sa"] .cvf-abs__state { background: #9A3F9B; color: #fff; }

/* Severely absent: pale like the green and amber labels, in the Donate purple (Lara, 14 Oct) */
.cvf-abs[data-state="sa"] .cvf-abs__state { background: #F3E6F4; color: #9A3F9B; }

/* Support & information: Open letters panel in pink with an envelope icon, like the home page card */
body.cvf-support-hub .cvf-hub-sec--letters { position: relative; overflow: hidden; isolation: isolate; background: var(--cvf-mauve-soft, #F3E6F4) !important; border-color: transparent !important; }
body.cvf-support-hub .cvf-hub-sec--letters::after { content: ""; position: absolute; z-index: -1; right: -1rem; bottom: -1.25rem; width: 9rem; height: 9rem; background: url(/wp-content/plugins/cvf-extras/assets/contact-envelope.svg?v=1) no-repeat right bottom / contain; opacity: .22; pointer-events: none; }
