/*
Theme Name: PVACF Phase 2
Theme URI: https://pvacf-staging.quadcapable.com
Author: PVACF / QuadCapable staging build
Description: Accessible, mobile-first custom staging theme for Paralyzed Veterans of America Central Florida Chapter.
Version: 2.0.52
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Text Domain: pvacf-phase1
*/

:root {
  --pvacf-blue: #123a6f;
  --pvacf-blue-deep: #08284d;
  --pvacf-blue-mid: #174a85;
  --pvacf-blue-soft: #eaf1f8;
  --pvacf-red: #b8202d;
  --pvacf-red-dark: #8f1721;
  --pvacf-ink: #152333;
  --pvacf-muted: #52606f;
  --pvacf-border: #d7e0e8;
  --pvacf-surface: #ffffff;
  --pvacf-surface-alt: #f4f7fa;
  --pvacf-gold: #d4a62a;
  --pvacf-focus: #f2b705;
  --pvacf-radius: 18px;
  --pvacf-shadow: 0 16px 40px rgba(7, 31, 61, .12);
  --pvacf-shadow-soft: 0 10px 28px rgba(7, 31, 61, .08);
  --pvacf-max: 1220px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--pvacf-ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 19px;
  line-height: 1.62;
}
img { max-width: 100%; height: auto; }
a { color: var(--pvacf-blue); text-underline-offset: .18em; }
a:hover { color: var(--pvacf-red); }
button, input, select, textarea { font: inherit; }
button, .button, .wp-element-button { cursor: pointer; }
:focus-visible { outline: 4px solid var(--pvacf-focus); outline-offset: 3px; }

.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;
}
.screen-reader-text:focus {
  background: #fff; clip: auto !important; clip-path: none; color: #000; display: block;
  font-size: 16px; height: auto; left: 8px; padding: 12px 16px; top: 8px; width: auto; z-index: 100000;
}
.pvacf-wrap { width: min(calc(100% - 40px), var(--pvacf-max)); margin-inline: auto; }
.pvacf-narrow { width: min(calc(100% - 40px), 840px); margin-inline: auto; }

/* Header */
.pvacf-support-strip { background: var(--pvacf-blue-deep); color: #fff; font-size: 15px; }
.pvacf-support-strip .pvacf-wrap { display: flex; flex-wrap: wrap; gap: 10px 26px; justify-content: space-between; padding: 8px 0; }
.pvacf-support-strip a { color: #fff; font-weight: 800; }
.site-header { background: rgba(255,255,255,.98); border-bottom: 1px solid var(--pvacf-border); position: sticky; top: 0; z-index: 999; box-shadow: 0 5px 20px rgba(8,40,77,.05); }
.admin-bar .site-header { top: 32px; }
.pvacf-brand-row { min-height: 104px; display: flex; align-items: center; gap: 24px; justify-content: space-between; }
.site-branding { display: flex; align-items: center; gap: 16px; min-width: 0; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo-link img { width: auto; max-height: 80px; }
.pvacf-brand-fallback { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; color: var(--pvacf-ink); }
.pvacf-brand-badge { width: 72px; height: 72px; border-radius: 15px; background: linear-gradient(145deg, var(--pvacf-blue), var(--pvacf-blue-deep)); color: #fff; display: grid; place-items: center; font-size: 26px; font-weight: 900; letter-spacing: .02em; box-shadow: var(--pvacf-shadow); }
.pvacf-brand-name { display: block; font-size: clamp(18px, 2vw, 25px); line-height: 1.15; font-weight: 900; }
.pvacf-brand-chapter { display: block; color: var(--pvacf-red); text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 900; margin-top: 5px; }
.pvacf-header-actions { display: flex; gap: 10px; align-items: center; }
.pvacf-nav-toggle { display: none; border: 2px solid var(--pvacf-blue); background: #fff; color: var(--pvacf-blue); border-radius: 10px; padding: 10px 13px; font-weight: 900; }
.pvacf-primary-nav { background: var(--pvacf-blue); box-shadow: inset 0 -1px 0 rgba(255,255,255,.12); }
.pvacf-primary-nav .pvacf-wrap { display: flex; justify-content: center; }
.pvacf-primary-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: stretch; }
.pvacf-primary-nav li { margin: 0; position: relative; }
.pvacf-primary-nav a { display: flex; align-items: center; min-height: 52px; padding: 10px 18px; color: #fff; text-decoration: none; font-size: 16px; font-weight: 800; letter-spacing: .005em; }
.pvacf-primary-nav a:hover, .pvacf-primary-nav .current-menu-item > a, .pvacf-primary-nav .current_page_item > a, .pvacf-primary-nav .current-menu-ancestor > a { background: #fff; color: var(--pvacf-blue-deep); }
.pvacf-primary-nav .menu-item-has-children > a::after { content: "⌄"; font-size: 12px; margin-left: 7px; }
.pvacf-primary-nav .sub-menu { display: none; position: absolute; min-width: 250px; background: var(--pvacf-blue-deep); box-shadow: var(--pvacf-shadow); border-radius: 0 0 12px 12px; overflow: hidden; }
.pvacf-primary-nav li:hover > .sub-menu, .pvacf-primary-nav li:focus-within > .sub-menu { display: block; }
.pvacf-primary-nav .sub-menu a { min-height: 46px; padding: 11px 16px; }

/* Buttons */
.pvacf-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 11px 20px; border: 2px solid transparent; border-radius: 10px; font-weight: 900; text-decoration: none; line-height: 1.2; transition: transform .16s ease, background-color .16s ease, color .16s ease, border-color .16s ease; }
.pvacf-btn:hover { transform: translateY(-1px); }
.pvacf-btn-primary { background: var(--pvacf-red); color: #fff; }
.pvacf-btn-primary:hover { background: var(--pvacf-red-dark); color: #fff; }
.pvacf-btn-secondary { background: var(--pvacf-blue); color: #fff; }
.pvacf-btn-secondary:hover { background: var(--pvacf-blue-deep); color: #fff; }
.pvacf-btn-outline { border-color: var(--pvacf-blue); color: var(--pvacf-blue); background: #fff; }
.pvacf-btn-outline:hover { background: var(--pvacf-blue); color: #fff; }

/* Homepage hero */
.pvacf-hero { position: relative; overflow: hidden; background: linear-gradient(118deg, #06294f 0%, var(--pvacf-blue) 66%, #1f5b9c 100%); color: #fff; }
.pvacf-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,24,48,.95) 0%, rgba(8,40,77,.84) 38%, rgba(8,40,77,.52) 68%, rgba(8,40,77,.42) 100%); pointer-events: none; }
.pvacf-hero--photo::before { background-image: linear-gradient(90deg, rgba(3,24,48,.95) 0%, rgba(8,40,77,.84) 38%, rgba(8,40,77,.52) 68%, rgba(8,40,77,.42) 100%), var(--pvacf-home-hero); background-size: cover; background-position: var(--pvacf-home-hero-position, center center); }
.pvacf-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0) 28%, rgba(4,23,46,.1) 100%); pointer-events: none; }
.pvacf-hero-grid { min-height: 650px; padding: 78px 0 96px; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr); gap: 48px; align-items: center; position: relative; z-index: 1; }
.pvacf-hero-copy { padding: 18px 0; }
.pvacf-eyebrow { display: inline-block; color: #fff; font-size: 14px; text-transform: uppercase; letter-spacing: .16em; font-weight: 900; margin-bottom: 14px; }
.pvacf-hero h1 { color: #fff; font-size: clamp(48px, 5.7vw, 78px); line-height: .96; margin: 0 0 26px; max-width: 760px; letter-spacing: -.04em; }
.pvacf-hero-copy > p { font-size: clamp(20px, 1.8vw, 24px); max-width: 700px; color: rgba(255,255,255,.94); margin-bottom: 0; }
.pvacf-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.pvacf-hero .pvacf-btn-outline { border-color: #fff; color: #fff; background: transparent; }
.pvacf-hero .pvacf-btn-outline:hover { background: #fff; color: var(--pvacf-blue-deep); }
.pvacf-hero-visual { position: relative; min-height: 505px; display: flex; align-items: center; justify-content: flex-end; }
.pvacf-hero-visual--panel { min-height: 100%; }
.pvacf-hero-photo { width: 100%; min-height: 505px; object-fit: cover; object-position: 56% center; border-radius: 30px; box-shadow: 0 30px 70px rgba(0,0,0,.26); border: 1px solid rgba(255,255,255,.22); }
.pvacf-hero-visual::after { content: none; }
.pvacf-hero-panel { position: relative; z-index: 2; right: auto; bottom: auto; width: min(405px, 100%); background: rgba(255,255,255,.96); color: var(--pvacf-ink); border-radius: 22px; padding: 24px; box-shadow: 0 22px 55px rgba(0,0,0,.24); border-top: 5px solid var(--pvacf-red); }
.pvacf-hero-panel h2 { margin: 0 0 9px; color: var(--pvacf-blue-deep); font-size: 25px; line-height: 1.12; }
.pvacf-hero-panel p { color: var(--pvacf-muted); font-size: 16px; line-height: 1.5; margin: 0; }
.pvacf-quick-links { display: grid; gap: 8px; margin-top: 16px; }
.pvacf-quick-links a { display: flex; justify-content: space-between; gap: 10px; padding: 11px 12px; border-radius: 9px; background: var(--pvacf-blue-soft); text-decoration: none; font-size: 15px; font-weight: 850; }
.pvacf-quick-links a::after { content: "→"; }

/* Homepage sections */
.pvacf-section { padding: 84px 0; }
.pvacf-section-alt { background: var(--pvacf-surface-alt); }
.pvacf-section-blue { background: linear-gradient(135deg, #061f3c, var(--pvacf-blue-deep)); color: #fff; }
.pvacf-section-blue h2, .pvacf-section-blue h3 { color: #fff; }
.pvacf-section-heading { display: flex; gap: 32px; align-items: end; justify-content: space-between; margin-bottom: 38px; }
.pvacf-section-heading > div { max-width: 600px; }
.pvacf-section-heading h2 { margin: 0; color: var(--pvacf-blue-deep); font-size: clamp(34px, 4vw, 52px); line-height: 1.02; letter-spacing: -.025em; }
.pvacf-section-heading p { max-width: 650px; margin: 8px 0 0; color: var(--pvacf-muted); font-size: 18px; }
.pvacf-section-blue .pvacf-section-heading p { color: rgba(255,255,255,.78); }
.pvacf-card-kicker { color: var(--pvacf-red); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; font-weight: 900; }
.pvacf-kicker-light { color: #fff; }
.pvacf-section-action { margin-top: 28px; }

.pvacf-feature-row { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-top: -38px; position: relative; z-index: 3; }
.pvacf-feature-tile { position: relative; overflow: hidden; background: #fff; border-radius: 15px; box-shadow: var(--pvacf-shadow); border-top: 5px solid var(--pvacf-red); padding: 23px 22px 22px; text-decoration: none; color: var(--pvacf-ink); min-height: 132px; }
.pvacf-feature-tile:hover { color: var(--pvacf-ink); transform: translateY(-2px); box-shadow: 0 18px 44px rgba(7,31,61,.15); }
.pvacf-feature-tile strong { display: block; color: var(--pvacf-blue-deep); font-size: 20px; margin: 1px 0 4px; }
.pvacf-feature-tile > span:last-child { color: var(--pvacf-muted); font-size: 15px; line-height: 1.45; }
.pvacf-feature-mark { position: absolute; right: 16px; top: 12px; color: rgba(18,58,111,.10); font-weight: 950; font-size: 34px; line-height: 1; letter-spacing: -.06em; }

.pvacf-mission-section { background: #fff; }
.pvacf-mission-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 58px; align-items: center; }
.pvacf-mission-visual { position: relative; min-height: 420px; }
.pvacf-mission-visual > img { width: 100%; height: 420px; object-fit: cover; object-position: center; border-radius: 26px; box-shadow: var(--pvacf-shadow); }
.pvacf-mission-number { position: absolute; left: -22px; bottom: -28px; width: 245px; background: var(--pvacf-red); color: #fff; border-radius: 20px; padding: 25px 26px; box-shadow: 0 18px 42px rgba(143,23,33,.28); }
.pvacf-mission-number strong { display: block; font-size: 56px; line-height: .92; letter-spacing: -.04em; }
.pvacf-mission-number span { display: block; font-weight: 800; margin-top: 9px; font-size: 15px; line-height: 1.35; }
.pvacf-mission-copy h2 { font-size: clamp(36px, 4vw, 54px); line-height: 1.02; margin: 0 0 22px; color: var(--pvacf-blue-deep); letter-spacing: -.03em; }
.pvacf-mission-copy p { color: var(--pvacf-muted); font-size: 18px; }

.pvacf-cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.pvacf-card { background: #fff; border: 1px solid var(--pvacf-border); border-radius: var(--pvacf-radius); padding: 29px; box-shadow: var(--pvacf-shadow-soft); }
.pvacf-card h3 { margin: 8px 0 10px; color: var(--pvacf-blue-deep); font-size: 25px; line-height: 1.15; }
.pvacf-card p { color: var(--pvacf-muted); font-size: 17px; }
.pvacf-card p:last-child { margin-bottom: 0; }
.pvacf-card-link { display: inline-flex; font-weight: 900; margin-top: 8px; }
.pvacf-program-cards .pvacf-card { position: relative; overflow: hidden; padding-top: 31px; transition: transform .18s ease, box-shadow .18s ease; }
.pvacf-program-cards .pvacf-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: linear-gradient(90deg, var(--pvacf-red), #df3a49); }
.pvacf-program-cards .pvacf-card:hover { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(7,31,61,.11); }
.pvacf-program-icon { width: 56px; height: 56px; border-radius: 15px; display: grid; place-items: center; background: var(--pvacf-blue-soft); margin-bottom: 20px; }
.pvacf-program-icon svg { width: 31px; height: 31px; fill: var(--pvacf-blue); }

.pvacf-events-shell .pvacf-notice { min-height: 110px; display: flex; align-items: center; background: linear-gradient(90deg, #eef5fb, #f8fbfd); border: 1px solid #d6e3ef; border-left: 6px solid var(--pvacf-blue); font-size: 17px; }

/* Wheels in Motion visual */
.pvacf-publication-section { overflow: hidden; position: relative; }
.pvacf-publication-section::after { content: ""; position: absolute; width: 460px; height: 460px; right: -160px; bottom: -220px; border-radius: 50%; border: 60px solid rgba(255,255,255,.04); pointer-events: none; }
.pvacf-publication-section .pvacf-card { position: relative; max-width: 860px !important; min-height: 330px; padding: 46px 38px 38px 320px !important; border: 0; box-shadow: 0 24px 60px rgba(0,0,0,.22); overflow: hidden; }
.pvacf-publication-section .pvacf-card::before { content: "WHEELS\A IN MOTION\A\A CENTRAL FLORIDA"; white-space: pre; position: absolute; left: 34px; top: 34px; width: 230px; height: 285px; padding: 28px 24px; border-radius: 10px; color: #fff; background: linear-gradient(150deg, var(--pvacf-red), #7e1019 62%, #3c0b10); box-shadow: 0 16px 36px rgba(0,0,0,.23); font-size: 29px; line-height: .96; font-weight: 950; letter-spacing: -.035em; }
.pvacf-publication-section .pvacf-card::after { content: "PVACF"; position: absolute; left: 58px; top: 240px; color: rgba(255,255,255,.72); font-size: 14px; letter-spacing: .16em; font-weight: 900; }
.pvacf-publication-section .pvacf-card h3 { color: var(--pvacf-blue-deep); font-size: 31px !important; margin-top: 6px; }
.pvacf-publication-section .pvacf-card p { color: var(--pvacf-muted); font-size: 17px; }
.pvacf-publication-section .pvacf-btn { margin: 5px 8px 5px 0; }

/* Signup refinement */
.pvacf-signup-section { background: linear-gradient(180deg, #fff, #f9fbfd); }
.pvacf-signup-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 28px; align-items: stretch; }
.pvacf-signup-benefits { background: linear-gradient(145deg, var(--pvacf-blue-deep), var(--pvacf-blue)); color: #fff; border-radius: 20px; padding: 34px; box-shadow: var(--pvacf-shadow); }
.pvacf-signup-benefits .pvacf-card-kicker { color: #fff; opacity: .84; }
.pvacf-signup-benefits h3 { font-size: 31px; line-height: 1.06; margin: 10px 0 22px; color: #fff; }
.pvacf-signup-benefits ul { padding: 0; margin: 0; list-style: none; display: grid; gap: 13px; }
.pvacf-signup-benefits li { position: relative; padding-left: 27px; color: rgba(255,255,255,.9); font-size: 16px; }
.pvacf-signup-benefits li::before { content: "✓"; position: absolute; left: 0; top: 0; color: #fff; font-weight: 950; }
.pvacf-signup-benefits strong { color: #fff; }
.pvacf-signup-note { border-top: 1px solid rgba(255,255,255,.22); margin: 24px 0 0; padding-top: 18px; font-size: 14px; color: rgba(255,255,255,.72); }
.pvacf-signup-form .pvacf-form { max-width: none; height: 100%; border-radius: 20px; padding: 30px; box-shadow: var(--pvacf-shadow-soft); }
.pvacf-signup-form fieldset.pvacf-field { border: 0; padding: 0; margin: 6px 0 22px; }
.pvacf-signup-form fieldset.pvacf-field legend { margin-bottom: 11px; color: var(--pvacf-blue-deep); }
.pvacf-signup-form fieldset.pvacf-field br { display: none; }
.pvacf-signup-form fieldset.pvacf-field > label { display: flex; align-items: center; gap: 11px; min-height: 46px; border: 1px solid var(--pvacf-border); border-radius: 10px; padding: 10px 12px; margin: 8px 0; background: #f9fbfd; color: var(--pvacf-ink); font-weight: 750; }
.pvacf-signup-form fieldset.pvacf-field > label:has(input:checked) { background: var(--pvacf-blue-soft); border-color: #aac1d9; }
.pvacf-signup-form input[type="checkbox"] { width: 19px; height: 19px; accent-color: var(--pvacf-blue); flex: 0 0 auto; }
.pvacf-signup-form .pvacf-field > label:has(input[type="checkbox"]) { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.45; }

/* Generic page */
.pvacf-page-hero { background: linear-gradient(125deg, var(--pvacf-blue-deep), var(--pvacf-blue)); color: #fff; padding: 62px 0; }
.pvacf-page-hero h1 { color: #fff; margin: 0; font-size: clamp(40px, 5vw, 62px); line-height: 1; }
.pvacf-page-main { padding: 62px 0 84px; }
.pvacf-entry-content h2 { color: var(--pvacf-blue-deep); font-size: 36px; line-height: 1.1; margin-top: 46px; }
.pvacf-entry-content h3 { color: var(--pvacf-blue); font-size: 26px; }
.pvacf-entry-content > *:first-child { margin-top: 0; }
.pvacf-entry-content table { width: 100%; border-collapse: collapse; }
.pvacf-entry-content th, .pvacf-entry-content td { border: 1px solid var(--pvacf-border); padding: 12px; text-align: left; }

/* Plugin components */
.pvacf-event-grid, .pvacf-document-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.pvacf-event-card, .pvacf-document-card { background: #fff; border: 1px solid var(--pvacf-border); border-radius: 15px; padding: 23px; box-shadow: var(--pvacf-shadow-soft); }
.pvacf-event-date { color: var(--pvacf-red); font-weight: 900; text-transform: uppercase; letter-spacing: .06em; font-size: 14px; }
.pvacf-event-card h3, .pvacf-document-card h3 { margin: 7px 0 10px; font-size: 22px; line-height: 1.2; }
.pvacf-event-card p, .pvacf-document-card p { color: var(--pvacf-muted); font-size: 16px; }
.pvacf-meta { color: var(--pvacf-muted); font-size: 15px; }
.pvacf-calendar { overflow-x: auto; }
.pvacf-calendar table { width: 100%; min-width: 720px; border-collapse: collapse; background: #fff; }
.pvacf-calendar th { background: var(--pvacf-blue); color: #fff; padding: 10px; border: 1px solid #dce3eb; }
.pvacf-calendar td { min-height: 110px; vertical-align: top; border: 1px solid #dce3eb; padding: 9px; width: 14.285%; }
.pvacf-calendar-day { font-weight: 900; color: var(--pvacf-blue-deep); }
.pvacf-calendar-event { display: block; margin-top: 7px; padding: 6px 7px; border-radius: 6px; background: var(--pvacf-blue-soft); font-size: 13px; font-weight: 800; text-decoration: none; }
.pvacf-calendar-nav { display: flex; gap: 12px; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.pvacf-calendar-nav strong { font-size: 23px; color: var(--pvacf-blue-deep); }

.pvacf-form { background: #fff; border: 1px solid var(--pvacf-border); border-radius: 16px; padding: 27px; max-width: 840px; }
.pvacf-form-row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.pvacf-field { margin-bottom: 18px; }
.pvacf-field label { display: block; font-weight: 850; margin-bottom: 6px; color: var(--pvacf-blue-deep); }
.pvacf-field input, .pvacf-field select, .pvacf-field textarea { width: 100%; padding: 12px 13px; border: 2px solid #b8c4d1; border-radius: 9px; background: #fff; color: var(--pvacf-ink); }
.pvacf-field input:focus, .pvacf-field select:focus, .pvacf-field textarea:focus { border-color: var(--pvacf-blue); }
.pvacf-field textarea { min-height: 150px; }
.pvacf-help { color: var(--pvacf-muted); font-size: 14px; }
.pvacf-notice { border-left: 6px solid var(--pvacf-blue); background: var(--pvacf-blue-soft); padding: 15px 18px; border-radius: 8px; margin: 18px 0; }
.pvacf-notice-success { border-color: #2b7b4b; background: #edf8f1; }
.pvacf-notice-error { border-color: var(--pvacf-red); background: #fff0f2; }
.pvacf-access-box { background: var(--pvacf-blue-soft); border: 1px solid #c8d6e6; border-radius: 14px; padding: 24px; }

/* Footer */
.site-footer { background: #061c34; color: rgba(255,255,255,.88); padding: 64px 0 26px; }
.site-footer a { color: #fff; }
.pvacf-footer-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 42px; }
.site-footer h2, .site-footer h3 { color: #fff; margin-top: 0; }
.pvacf-footer-brand { font-size: 25px; line-height: 1.2; font-weight: 900; }
.pvacf-footer-links { list-style: none; padding: 0; margin: 0; }
.pvacf-footer-links li { margin: 8px 0; }
.pvacf-footer-donate { margin-top:12px; background:var(--pvacf-red); color:#fff!important; border:2px solid var(--pvacf-red); box-shadow:0 9px 22px rgba(0,0,0,.22); }
.pvacf-footer-donate:hover { background:#fff; color:var(--pvacf-red)!important; border-color:#fff; transform:translateY(-2px); }
.pvacf-footer-bottom { border-top: 1px solid rgba(255,255,255,.18); margin-top: 42px; padding-top: 20px; font-size: 14px; display: flex; gap: 20px; justify-content: space-between; flex-wrap: wrap; }

@media (max-width: 1080px) {
  .pvacf-hero-grid { grid-template-columns: .95fr 1.05fr; gap: 40px; }
  .pvacf-hero-panel { right: 10px; width: min(390px, 82%); }
  .pvacf-primary-nav a { padding-inline: 14px; font-size: 15px; }
}

@media (max-width: 980px) {
  .pvacf-hero-grid, .pvacf-mission-grid, .pvacf-signup-layout { grid-template-columns: 1fr; }
  .pvacf-hero-grid { min-height: auto; padding: 58px 0 94px; }
  .pvacf-hero-copy { max-width: 820px; }
  .pvacf-hero-visual { max-width: 780px; min-height: 480px; }
  .pvacf-hero-photo { min-height: 480px; }
  .pvacf-hero-panel { right: 18px; bottom: -44px; }
  .pvacf-feature-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pvacf-cards, .pvacf-event-grid, .pvacf-document-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pvacf-footer-grid { grid-template-columns: 1fr 1fr; }
  .pvacf-footer-grid > :first-child { grid-column: 1 / -1; }
  .pvacf-mission-visual { max-width: 760px; }
  .pvacf-signup-benefits { padding: 30px; }
}

@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
  .pvacf-brand-row { min-height: 84px; }
  .custom-logo-link img { max-height: 64px; }
  .pvacf-header-actions .pvacf-btn { display: none; }
  .pvacf-nav-toggle { display: inline-flex; }
  .pvacf-primary-nav { display: none; }
  .pvacf-primary-nav.is-open { display: block; }
  .pvacf-primary-nav .pvacf-wrap { display: block; }
  .pvacf-primary-nav ul { display: block; }
  .pvacf-primary-nav .sub-menu { display: block; position: static; box-shadow: none; padding-left: 18px; background: rgba(0,0,0,.15); border-radius: 0; }
  .pvacf-primary-nav .menu-item-has-children > a::after { display: none; }
  .pvacf-primary-nav a { min-height: 48px; border-bottom: 1px solid rgba(255,255,255,.12); }
  .pvacf-section-heading { display: block; }
  .pvacf-section-heading > div { max-width: none; }
  .pvacf-form-row { grid-template-columns: 1fr; gap: 0; }
  .pvacf-publication-section .pvacf-card { min-height: 285px; padding-left: 260px !important; }
  .pvacf-publication-section .pvacf-card::before { left: 28px; width: 190px; height: 236px; font-size: 24px; }
  .pvacf-publication-section .pvacf-card::after { left: 52px; top: 203px; }
}

@media (max-width: 640px) {
  body { font-size: 17px; }
  .pvacf-wrap, .pvacf-narrow { width: min(calc(100% - 24px), var(--pvacf-max)); }
  .pvacf-support-strip .pvacf-wrap { display: block; }
  .pvacf-support-strip span { display: block; margin: 3px 0; }
  .pvacf-brand-badge { width: 54px; height: 54px; font-size: 20px; }
  .pvacf-brand-name { font-size: 16px; }
  .pvacf-hero-grid { padding-bottom: 74px; }
  .pvacf-hero h1 { font-size: 46px; }
  .pvacf-hero-copy > p { font-size: 19px; }
  .pvacf-hero-visual { min-height: auto; display: block; }
  .pvacf-hero-photo { min-height: 330px; height: 330px; border-radius: 22px; }
  .pvacf-hero-visual::after { border-radius: 22px; }
  .pvacf-hero-panel { position: relative; right: auto; bottom: auto; width: calc(100% - 20px); margin: -40px auto 0; padding: 22px; }
  .pvacf-feature-row, .pvacf-cards, .pvacf-event-grid, .pvacf-document-grid, .pvacf-footer-grid { grid-template-columns: 1fr; }
  .pvacf-feature-row { margin-top: -26px; }
  .pvacf-section { padding: 62px 0; }
  .pvacf-mission-visual { min-height: auto; padding-bottom: 56px; }
  .pvacf-mission-visual > img { height: 320px; border-radius: 20px; }
  .pvacf-mission-number { left: 14px; bottom: 0; width: 215px; padding: 21px; }
  .pvacf-mission-number strong { font-size: 48px; }
  .pvacf-publication-section .pvacf-card { min-height: 0; padding: 28px !important; padding-top: 330px !important; }
  .pvacf-publication-section .pvacf-card::before { left: 50%; top: 28px; transform: translateX(-50%); width: 210px; height: 260px; font-size: 26px; }
  .pvacf-publication-section .pvacf-card::after { left: 50%; top: 230px; transform: translateX(-74px); }
  .pvacf-signup-benefits h3 { font-size: 28px; }
  .pvacf-signup-form .pvacf-form { padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* ==========================================================================\n   Phase 1 visual polish — v1.0.2\n   ========================================================================== */

/* Make the utility/header stack feel deliberate at desktop scale. */
.pvacf-support-strip { font-size: 16px; }
.pvacf-support-strip .pvacf-wrap { padding: 9px 0; }
.pvacf-brand-row { min-height: 110px; }
.pvacf-primary-nav a { font-size: 16.5px; min-height: 54px; }

/* Give the approved hero treatment a little more presence. */
@media (min-width: 1081px) {
  .pvacf-hero-grid { min-height: 680px; grid-template-columns: .9fr 1.1fr; gap: 64px; }
  .pvacf-hero-visual { min-height: 535px; }
  .pvacf-hero-photo { min-height: 535px; object-position: 52% center; }
  .pvacf-hero-panel { right: -8px; bottom: -26px; width: min(390px, 76%); }
}

/* Stronger intentional empty state until staff publish real events. */
.pvacf-events-shell .pvacf-notice {
  position: relative;
  min-height: 126px;
  padding: 24px 28px 24px 82px;
  background: #fff;
  border: 1px solid var(--pvacf-border);
  border-left: 6px solid var(--pvacf-blue);
  border-radius: 16px;
  box-shadow: var(--pvacf-shadow-soft);
  color: var(--pvacf-muted);
  font-size: 17px;
  line-height: 1.5;
}
.pvacf-events-shell .pvacf-notice::before {
  content: "31";
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: var(--pvacf-blue-soft);
  border-top: 7px solid var(--pvacf-red);
  color: var(--pvacf-blue-deep);
  font-size: 15px;
  line-height: 1;
  font-weight: 950;
}

/* Fix dark-on-dark publication heading and tighten that band. */
.pvacf-section-blue .pvacf-section-heading h2,
.pvacf-publication-section .pvacf-section-heading h2 { color: #fff; }
.pvacf-publication-section .pvacf-section-heading { margin-bottom: 44px; }
.pvacf-publication-section .pvacf-section-heading p { color: rgba(255,255,255,.84); }
.pvacf-publication-section .pvacf-card { border-radius: 18px; }

/* Mission photo should read as a visual anchor, not a thumbnail. */
@media (min-width: 981px) {
  .pvacf-mission-visual { min-height: 450px; }
  .pvacf-mission-visual > img { height: 450px; }
}

/* Newsletter form readability, especially for older/low-vision visitors. */
.pvacf-signup-form .pvacf-field label,
.pvacf-signup-form fieldset.pvacf-field legend { font-size: 16px; }
.pvacf-signup-form .pvacf-field > label:has(input[type="checkbox"]) {
  font-size: 16px;
  line-height: 1.5;
}
.pvacf-signup-form fieldset.pvacf-field > label { min-height: 50px; padding: 11px 13px; }
.pvacf-signup-form input[type="checkbox"] { width: 20px; height: 20px; }
.pvacf-signup-form .pvacf-btn,
.pvacf-signup-form button[type="submit"],
.pvacf-signup-form input[type="submit"] { min-height: 50px; padding-inline: 22px; font-weight: 900; }
.pvacf-signup-note { font-size: 15px; }

/* Slightly stronger footer legibility without making it visually heavy. */
.site-footer { font-size: 17px; }
.pvacf-footer-links li { margin: 9px 0; }
.pvacf-footer-bottom { font-size: 14.5px; color: rgba(255,255,255,.76); }

@media (max-width: 782px) {
  .pvacf-support-strip { font-size: 14px; }
  .pvacf-brand-row { min-height: 84px; }
  .pvacf-events-shell .pvacf-notice { padding-left: 72px; }
  .pvacf-events-shell .pvacf-notice::before { left: 18px; }
}

/* ==========================================================================
   Mobile-first refinement + desktop cleanup — v1.0.3
   ========================================================================== */

.pvacf-support-label-mobile,
.pvacf-mobile-nav-actions { display: none; }

/* Desktop: slightly calmer proportions and a more deliberate content rhythm. */
@media (min-width: 981px) {
  .pvacf-section-heading { margin-bottom: 34px; }
  .pvacf-program-cards { gap: 24px; }
  .pvacf-signup-layout { grid-template-columns: .88fr 1.12fr; gap: 32px; }
  .pvacf-footer-grid { gap: 48px; }
}

/* Tablet/mobile navigation: make the collapsed menu a complete navigation
   experience, including actions removed from the desktop menu. */
@media (max-width: 782px) {
  .pvacf-primary-nav.is-open { box-shadow: 0 18px 36px rgba(4,24,46,.18); }
  .pvacf-primary-nav a { padding-inline: 16px; }
  .pvacf-mobile-nav-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 14px 0 18px;
  }
  .pvacf-mobile-nav-actions .pvacf-btn { min-height: 46px; }
  .pvacf-mobile-nav-actions .pvacf-btn-outline { border-color: #fff; color: #fff; background: transparent; }
  .pvacf-mobile-nav-actions .pvacf-btn-outline:hover { background: #fff; color: var(--pvacf-blue-deep); }
}

@media (max-width: 640px) {
  /* Utility strip: two essential veteran actions, no three-line telephone block. */
  .pvacf-support-strip .pvacf-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    width: 100%;
  }
  .pvacf-support-item {
    min-height: 42px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin: 0 !important;
    padding: 6px 8px;
    text-align: center;
    white-space: nowrap;
    font-size: 13px;
  }
  .pvacf-support-item + .pvacf-support-item { border-left: 1px solid rgba(255,255,255,.18); }
  .pvacf-support-office { display: none !important; }
  .pvacf-support-label-desktop { display: none; }
  .pvacf-support-label-mobile { display: inline; }
  .pvacf-support-strip a { font-size: 13px; }

  /* Compact sticky header. */
  .pvacf-brand-row { min-height: 72px; gap: 12px; }
  .pvacf-brand-badge { width: 48px; height: 48px; border-radius: 11px; font-size: 18px; }
  .pvacf-brand-fallback { gap: 10px; }
  .pvacf-brand-name { max-width: 172px; font-size: 15px; }
  .pvacf-brand-chapter { font-size: 9px; margin-top: 3px; letter-spacing: .1em; }
  .pvacf-nav-toggle { min-height: 44px; padding: 8px 12px; }

  /* Hero: retain hierarchy without spending an entire screen before the image. */
  .pvacf-hero-grid { padding: 38px 0 50px; gap: 28px; }
  .pvacf-hero-copy { padding: 0; }
  .pvacf-eyebrow { font-size: 11px; margin-bottom: 10px; letter-spacing: .13em; }
  .pvacf-hero h1 { font-size: clamp(38px, 12vw, 45px); margin-bottom: 18px; }
  .pvacf-hero-copy > p { font-size: 17px; line-height: 1.52; }
  .pvacf-hero-actions { margin-top: 22px; gap: 9px; }
  .pvacf-hero-actions .pvacf-btn { min-height: 44px; padding: 9px 14px; font-size: 14px; }
  .pvacf-hero-photo { min-height: 270px; height: 270px; border-radius: 18px; object-position: 58% center; }
  .pvacf-hero-visual::after { border-radius: 18px; }
  .pvacf-hero-panel {
    width: calc(100% - 12px);
    margin-top: -30px;
    padding: 17px;
    border-radius: 16px;
    border-top-width: 4px;
  }
  .pvacf-hero-panel h2 { font-size: 21px; margin-bottom: 6px; }
  .pvacf-hero-panel p { font-size: 14px; line-height: 1.42; }
  .pvacf-quick-links { margin-top: 11px; gap: 6px; }
  .pvacf-quick-links a { min-height: 40px; padding: 8px 10px; font-size: 13.5px; align-items: center; }

  /* The four chapter actions become a compact 2x2 touch grid rather than four
     full-width cards. */
  .pvacf-feature-row {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 9px;
    margin-top: -18px;
  }
  .pvacf-feature-tile {
    min-height: 100px;
    border-radius: 12px;
    border-top-width: 4px;
    padding: 15px 13px 13px;
  }
  .pvacf-feature-tile strong { padding-right: 18px; font-size: 16px; line-height: 1.15; }
  .pvacf-feature-tile > span:last-child { font-size: 12.5px; line-height: 1.3; }
  .pvacf-feature-mark { right: 9px; top: 9px; font-size: 25px; }

  /* Global mobile rhythm. */
  .pvacf-section { padding: 48px 0; }
  .pvacf-section-heading { margin-bottom: 22px; }
  .pvacf-section-heading h2 { font-size: 32px; line-height: 1; }
  .pvacf-section-heading p { font-size: 15.5px; line-height: 1.48; margin-top: 10px; }
  .pvacf-card-kicker { font-size: 10.5px; letter-spacing: .12em; }

  /* Mission: preserve the photo + 1977 overlay, but tighten the handoff to copy. */
  .pvacf-mission-grid { gap: 26px; }
  .pvacf-mission-visual { padding-bottom: 46px; }
  .pvacf-mission-visual > img { height: 285px; border-radius: 16px; }
  .pvacf-mission-number { left: 10px; width: 188px; padding: 17px 18px; border-radius: 14px; }
  .pvacf-mission-number strong { font-size: 43px; }
  .pvacf-mission-number span { margin-top: 6px; font-size: 12.5px; }
  .pvacf-mission-copy h2 { font-size: 32px; margin-bottom: 14px; }
  .pvacf-mission-copy p { font-size: 15.5px; line-height: 1.5; }

  /* Program cards stay single-column for tap clarity but lose unnecessary air. */
  .pvacf-cards { gap: 11px; }
  .pvacf-program-cards .pvacf-card { padding: 20px 18px 18px; }
  .pvacf-program-icon { width: 43px; height: 43px; border-radius: 11px; margin-bottom: 12px; }
  .pvacf-program-icon svg { width: 24px; height: 24px; }
  .pvacf-card h3 { font-size: 21px; margin: 5px 0 7px; }
  .pvacf-card p { font-size: 15px; line-height: 1.45; margin-block: 7px; }
  .pvacf-card-link { font-size: 14px; margin-top: 5px; }

  /* Events: intentionally compact blank state until live content is published. */
  .pvacf-events-shell .pvacf-notice {
    min-height: 92px;
    padding: 18px 16px 18px 65px;
    font-size: 14.5px;
  }
  .pvacf-events-shell .pvacf-notice::before { left: 15px; width: 34px; height: 38px; }
  .pvacf-section-heading .pvacf-btn { min-height: 42px; padding: 8px 13px; font-size: 14px; margin-top: 14px; }

  /* Publication: keep the cover metaphor while reducing its vertical cost. */
  .pvacf-publication-section .pvacf-section-heading { margin-bottom: 26px; }
  .pvacf-publication-section .pvacf-card {
    padding: 248px 20px 21px !important;
    border-radius: 14px;
  }
  .pvacf-publication-section .pvacf-card::before {
    top: 20px;
    width: 170px;
    height: 208px;
    padding: 20px 18px;
    font-size: 21px;
    border-radius: 7px;
  }
  .pvacf-publication-section .pvacf-card::after { top: 184px; transform: translateX(-59px); font-size: 10px; }
  .pvacf-publication-section .pvacf-card h3 { font-size: 23px !important; line-height: 1.08; }
  .pvacf-publication-section .pvacf-card p { font-size: 14.5px; }
  .pvacf-publication-section .pvacf-btn { min-height: 42px; padding: 8px 12px; font-size: 13px; }

  /* Utility documents are deliberately dense on phones. */
  .pvacf-document-grid { gap: 9px; }
  .pvacf-document-card { padding: 17px; border-radius: 12px; }
  .pvacf-document-card h3 { font-size: 18px; margin-bottom: 6px; }
  .pvacf-document-card p, .pvacf-meta { font-size: 13.5px; }
  .pvacf-section-action { margin-top: 18px; }
  .pvacf-section-action .pvacf-btn { width: 100%; min-height: 44px; font-size: 14px; }

  /* Newsletter: turn the explanatory card into a compact topic selector legend
     and let the actual form do the work. */
  .pvacf-signup-layout { gap: 14px; }
  .pvacf-signup-benefits { padding: 18px; border-radius: 14px; }
  .pvacf-signup-benefits h3 { font-size: 22px; margin: 5px 0 13px; }
  .pvacf-signup-benefits ul { grid-template-columns: 1fr 1fr; gap: 7px; }
  .pvacf-signup-benefits li {
    min-height: 44px;
    padding: 9px 8px 9px 27px;
    border-radius: 9px;
    background: rgba(255,255,255,.08);
    font-size: 13px;
    display: flex;
    align-items: center;
  }
  .pvacf-signup-benefits li::before { left: 9px; top: 50%; transform: translateY(-50%); }
  .pvacf-signup-benefits li strong { display: block; }
  .pvacf-topic-detail { display: none; }
  .pvacf-signup-note { display: none; }
  .pvacf-signup-form .pvacf-form { padding: 17px; border-radius: 14px; }
  .pvacf-signup-form .pvacf-field { margin-bottom: 12px; }
  .pvacf-signup-form fieldset.pvacf-field { margin-bottom: 14px; }
  .pvacf-signup-form fieldset.pvacf-field > label { min-height: 42px; margin: 6px 0; padding: 8px 9px; font-size: 14px; }
  .pvacf-signup-form .pvacf-field > label:has(input[type="checkbox"]) { font-size: 13.5px; }
  .pvacf-signup-form .pvacf-btn,
  .pvacf-signup-form button[type="submit"],
  .pvacf-signup-form input[type="submit"] { width: 100%; min-height: 44px; }

  /* Footer: retain all contact paths, but treat it as utility rather than another
     full content section. */
  .site-footer { padding: 42px 0 20px; font-size: 15px; }
  .pvacf-footer-grid { gap: 24px; }
  .pvacf-footer-brand { font-size: 20px; }
  .site-footer p { margin: 8px 0; line-height: 1.48; }
  .site-footer h3 { margin-bottom: 8px; font-size: 18px; }
  .pvacf-footer-links li { margin: 5px 0; }
  .pvacf-footer-bottom { margin-top: 28px; padding-top: 16px; font-size: 12px; gap: 9px; }
}

@media (max-width: 480px) {
  /* At phone widths, titles matter more than repeating the explanation already
     available on the destination page. */
  .pvacf-feature-tile { min-height: 88px; display: flex; align-items: center; }
  .pvacf-feature-tile > span:last-child { display: none; }
  .pvacf-feature-tile strong { margin: 0; }
  .pvacf-hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .pvacf-hero-actions .pvacf-btn { width: 100%; padding-inline: 8px; }
}

/* ==========================================================================
   Final Phase 1 visual polish — v1.0.4
   ========================================================================== */

/* Improve baseline readability without making the desktop layout feel oversized. */
.pvacf-section-heading p { font-size: 18.5px; line-height: 1.55; }
.pvacf-card p { font-size: 17.5px; line-height: 1.55; }
.pvacf-mission-copy p { font-size: 18.5px; line-height: 1.58; }
.pvacf-publication-section .pvacf-card p { font-size: 17.5px; line-height: 1.5; }

/* Header: give the chapter identity and emergency/support strip more authority. */
.pvacf-support-strip { font-size: 16.5px; }
.pvacf-support-strip .pvacf-wrap { padding-block: 10px; }
.pvacf-brand-badge { width: 78px; height: 78px; font-size: 28px; }
.pvacf-brand-name { font-size: clamp(20px, 2vw, 27px); }
.pvacf-brand-chapter { font-size: 12.5px; }

/* Primary chapter action tiles should read as useful destinations, not floating
   decorative cards. */
.pvacf-feature-row { gap: 16px; }
.pvacf-feature-tile {
  border: 1px solid #cfdae6;
  border-top: 5px solid var(--pvacf-red);
  box-shadow: 0 14px 34px rgba(7,31,61,.11);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pvacf-feature-tile:hover,
.pvacf-feature-tile:focus-visible {
  border-color: #b5c7d8;
  box-shadow: 0 20px 48px rgba(7,31,61,.16);
}
.pvacf-feature-mark { color: rgba(18,58,111,.15); }

/* Desktop hero: put more visual emphasis on the real chapter photography and
   remove unused blue acreage around the image. */
@media (min-width: 1081px) {
  .pvacf-hero-grid {
    min-height: 635px;
    padding: 58px 0 70px;
    grid-template-columns: .82fr 1.18fr;
    gap: 48px;
  }
  .pvacf-hero-copy > p { max-width: 610px; }
  .pvacf-hero-visual,
  .pvacf-hero-photo { min-height: 548px; }
  .pvacf-hero-photo { border-radius: 26px; }
  .pvacf-hero-visual::after { border-radius: 26px; }
  .pvacf-hero-panel { right: 0; bottom: -24px; width: min(410px, 72%); }
  .pvacf-feature-row { margin-top: -34px; }
}

/* The newsletter consent language is important legal/UX copy; don't let it
   visually collapse beneath the preference checkboxes. */
.pvacf-signup-form .pvacf-field > label:has(input[type="checkbox"]) {
  font-size: 15.5px;
  line-height: 1.5;
  font-weight: 720;
}
.pvacf-signup-form input[type="checkbox"] { width: 21px; height: 21px; }

/* Footer remains compact but must stay comfortably legible and tappable. */
.site-footer { font-size: 17.5px; }
.site-footer a[href^="tel:"] { text-decoration-thickness: 1px; text-underline-offset: .22em; }

@media (max-width: 782px) {
  /* Treat the support strip as two explicit phone actions at all phone/tablet
     widths instead of waiting for the narrowest breakpoint. */
  .pvacf-support-strip .pvacf-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    width: 100%;
  }
  .pvacf-support-item {
    min-height: 48px;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    margin: 0 !important;
    padding: 6px 8px;
    text-align: center;
    white-space: nowrap;
    line-height: 1.12;
  }
  .pvacf-support-item + .pvacf-support-item { border-left: 1px solid rgba(255,255,255,.2); }
  .pvacf-support-office { display: none !important; }
  .pvacf-support-label-desktop { display: none; }
  .pvacf-support-label-mobile {
    display: block;
    font-size: 11px;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.76);
    font-weight: 850;
  }
  .pvacf-support-strip a { font-size: 14px; line-height: 1.1; }

  /* More visible mobile brand/menu without materially increasing page length. */
  .pvacf-brand-row { min-height: 78px; }
  .pvacf-brand-badge { width: 54px; height: 54px; font-size: 20px; }
  .pvacf-brand-name { max-width: 190px; font-size: 16.5px; }
  .pvacf-brand-chapter { font-size: 9.5px; }
  .pvacf-nav-toggle {
    min-height: 46px;
    padding: 9px 14px;
    background: var(--pvacf-blue);
    border-color: var(--pvacf-blue);
    color: #fff;
    box-shadow: 0 6px 16px rgba(8,40,77,.12);
  }
  .pvacf-nav-toggle:hover { background: var(--pvacf-blue-deep); border-color: var(--pvacf-blue-deep); }
}

@media (max-width: 640px) {
  /* Mobile body and supporting copy were a touch too compressed in the v1.0.3
     screenshot. Keep the compact structure but raise the reading floor. */
  body { font-size: 17.5px; }
  .pvacf-section-heading p { font-size: 16px; line-height: 1.52; }
  .pvacf-mission-copy p { font-size: 16px; line-height: 1.54; }
  .pvacf-card p { font-size: 15.75px; line-height: 1.5; }
  .pvacf-feature-tile > span:last-child { font-size: 13px; line-height: 1.35; }
  .pvacf-document-card p,
  .pvacf-meta { font-size: 14px; }

  /* A small increase in hero-photo height helps the athlete image read without
     restoring the excessive scroll of the earlier mobile version. */
  .pvacf-hero-photo { min-height: 282px; height: 282px; }

  .pvacf-signup-form .pvacf-field > label:has(input[type="checkbox"]) {
    font-size: 14.5px;
    line-height: 1.48;
    font-weight: 740;
  }
  .pvacf-signup-form fieldset.pvacf-field > label { font-size: 14.5px; }

  .site-footer { font-size: 15.75px; }
  .pvacf-footer-links a { display: inline-block; padding-block: 2px; }
  .pvacf-footer-bottom { font-size: 12.5px; line-height: 1.45; }
}

@media (max-width: 420px) {
  .pvacf-support-label-mobile { font-size: 10.5px; }
  .pvacf-support-strip a { font-size: 13.5px; }
  .pvacf-brand-name { max-width: 168px; font-size: 15.5px; }
  .pvacf-nav-toggle { padding-inline: 12px; }
}

/* v1.0.5 - Wheels in Motion section redesign using the August 2026 cover */
.pvacf-btn-outline-light {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.88);
  color: #fff;
}
.pvacf-btn-outline-light:hover {
  background: #fff;
  color: var(--pvacf-blue-deep);
}
.pvacf-publication-feature {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: 0 28px 70px rgba(0,0,0,.28);
  isolation: isolate;
}
.pvacf-publication-feature::before {
  content: "";
  position: absolute;
  inset: -12%;
  background-image: linear-gradient(112deg, rgba(3,20,40,.94) 0%, rgba(7,40,77,.78) 56%, rgba(10,55,97,.82) 100%), var(--pvacf-wim-cover);
  background-size: cover;
  background-position: center;
  filter: blur(18px) saturate(1.06);
  transform: scale(1.12);
}
.pvacf-publication-feature::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.07), rgba(255,255,255,.04) 48%, rgba(255,255,255,.01) 100%);
  pointer-events: none;
}
.pvacf-publication-surface {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(210px, 270px) 1fr;
  gap: clamp(26px, 4vw, 48px);
  align-items: center;
  min-height: 370px;
  padding: clamp(28px, 4vw, 46px);
}
.pvacf-publication-cover {
  display: block;
  width: 100%;
  max-width: 270px;
  border-radius: 20px;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 24px 54px rgba(0,0,0,.36);
  transform: translateY(2px);
  transition: transform .18s ease, box-shadow .18s ease;
}
.pvacf-publication-cover:hover {
  transform: translateY(-2px);
  box-shadow: 0 30px 62px rgba(0,0,0,.42);
}
.pvacf-publication-cover img {
  display: block;
  width: 100%;
  aspect-ratio: 1275 / 1650;
  object-fit: cover;
}
.pvacf-publication-copy {
  max-width: 640px;
}
.pvacf-publication-copy .pvacf-card-kicker {
  display: inline-block;
  margin-bottom: 12px;
}
.pvacf-publication-copy h3 {
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(38px, 4vw, 56px);
  line-height: .98;
  letter-spacing: -.035em;
}
.pvacf-publication-copy p {
  margin: 0 0 26px;
  max-width: 52ch;
  color: rgba(255,255,255,.88);
  font-size: 19px;
  line-height: 1.58;
}
.pvacf-publication-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
@media (max-width: 980px) {
  .pvacf-publication-surface {
    grid-template-columns: 220px 1fr;
    gap: 28px;
    min-height: 0;
  }
  .pvacf-publication-copy h3 {
    font-size: clamp(32px, 4vw, 44px);
  }
  .pvacf-publication-copy p {
    font-size: 17px;
  }
}
@media (max-width: 720px) {
  .pvacf-publication-feature {
    border-radius: 22px;
  }
  .pvacf-publication-surface {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px 20px 24px;
  }
  .pvacf-publication-cover {
    max-width: 206px;
    margin-inline: auto;
    border-radius: 14px;
  }
  .pvacf-publication-copy {
    max-width: none;
  }
  .pvacf-publication-copy .pvacf-card-kicker {
    margin-bottom: 9px;
  }
  .pvacf-publication-copy h3 {
    font-size: 30px;
    line-height: 1.04;
    margin-bottom: 11px;
  }
  .pvacf-publication-copy p {
    font-size: 15px;
    line-height: 1.52;
    margin-bottom: 18px;
  }
  .pvacf-publication-actions {
    gap: 10px;
  }
  .pvacf-publication-actions .pvacf-btn {
    flex: 1 1 100%;
    width: 100%;
    min-height: 44px;
  }
}

/* v1.0.6 - content integration: dynamic WIM archive + leadership */
.pvacf-latest-newsletter-card {
  display: grid;
  grid-template-columns: minmax(150px, 220px) 1fr;
  gap: 28px;
  align-items: center;
  margin: 24px 0 44px;
  padding: 26px;
  background: #fff;
  border: 1px solid var(--pvacf-border);
  border-radius: 20px;
  box-shadow: var(--pvacf-shadow-soft);
}
.pvacf-latest-newsletter-cover {
  display: block;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 16px 34px rgba(7,31,61,.16);
}
.pvacf-latest-newsletter-cover img { display:block; width:100%; aspect-ratio:1275/1650; object-fit:cover; }
.pvacf-latest-newsletter-card h3 { margin: 7px 0 10px; color: var(--pvacf-blue-deep); font-size: 31px; line-height:1.05; }
.pvacf-latest-newsletter-card p { color: var(--pvacf-muted); }
.pvacf-latest-newsletter-card .pvacf-btn { margin: 5px 8px 5px 0; }

.pvacf-document-grid--newsletters {
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.pvacf-document-card--newsletter { padding:0; overflow:hidden; }
.pvacf-document-card--newsletter .pvacf-document-cover { display:block; background:#eef2f7; aspect-ratio:1275/1650; overflow:hidden; }
.pvacf-document-card--newsletter .pvacf-document-cover img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.pvacf-document-card--newsletter .pvacf-document-cover:hover img { transform:scale(1.015); }
.pvacf-document-card--newsletter .pvacf-document-card-body { padding:20px; }

.pvacf-leadership-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin:22px 0 36px;
}
.pvacf-leadership-grid > div {
  background:var(--pvacf-surface-alt);
  border:1px solid var(--pvacf-border);
  border-radius:16px;
  padding:22px;
}
.pvacf-leadership-grid h3 { margin-top:0; }
.pvacf-leadership-grid ul { margin-bottom:0; padding-left:20px; }
.pvacf-leadership-grid li + li { margin-top:5px; }

@media (max-width: 820px) {
  .pvacf-document-grid--newsletters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pvacf-leadership-grid { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .pvacf-latest-newsletter-card { grid-template-columns:1fr; gap:18px; padding:20px; }
  .pvacf-latest-newsletter-cover { max-width:190px; margin-inline:auto; }
  .pvacf-latest-newsletter-card h3 { font-size:25px; }
  .pvacf-latest-newsletter-card .pvacf-btn { width:100%; margin-right:0; }
  .pvacf-document-grid--newsletters { grid-template-columns:1fr 1fr; gap:10px; }
  .pvacf-document-card--newsletter .pvacf-document-card-body { padding:14px; }
  .pvacf-document-card--newsletter h3 { font-size:16px; }
  .pvacf-document-card--newsletter p { display:none; }
}


/* v1.0.7 — Event migration/category refinements */
.pvacf-event-types {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 4px;
}
.pvacf-event-types span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--pvacf-blue-soft);
  color: var(--pvacf-blue-deep);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.pvacf-calendar-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
}
.pvacf-calendar-filter {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 7px 12px;
  border: 1px solid var(--pvacf-border);
  border-radius: 999px;
  background: #fff;
  color: var(--pvacf-blue-deep);
  text-decoration: none;
  font-size: 13px;
  line-height: 1.1;
  font-weight: 850;
}
.pvacf-calendar-filter:hover,
.pvacf-calendar-filter.is-active {
  border-color: var(--pvacf-blue);
  background: var(--pvacf-blue);
  color: #fff;
}
.pvacf-calendar-event {
  border-left: 3px solid var(--pvacf-blue);
}
.pvacf-calendar-event-type {
  display: block;
  margin-top: 3px;
  color: var(--pvacf-muted);
  font-size: 10px;
  line-height: 1.15;
  font-weight: 750;
}
.pvacf-calendar-event.event-type-sports-recreation { border-left-color: #2c6e9f; }
.pvacf-calendar-event.event-type-board { border-left-color: var(--pvacf-blue-deep); }
.pvacf-calendar-event.event-type-social { border-left-color: var(--pvacf-red); }
.pvacf-calendar-event.event-type-fundraising { border-left-color: var(--pvacf-gold); }
.pvacf-calendar-event.event-type-advocacy { border-left-color: #66529f; }

@media (max-width: 720px) {
  .pvacf-calendar-filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
    margin-inline: -2px;
    scrollbar-width: thin;
  }
  .pvacf-calendar-filter { flex: 0 0 auto; min-height: 40px; }
  .pvacf-event-types span { font-size: 10px; }
}

/* v1.0.8 — Event detail pages: clean source content, maps, contacts, and calendar actions */
.pvacf-event-hero { padding: 54px 0 58px; }
.pvacf-event-hero .pvacf-eyebrow { margin-bottom: 8px; }
.pvacf-event-hero h1 { max-width: 1050px; font-size: clamp(42px, 5.4vw, 68px); line-height: .98; text-transform: none; }
.pvacf-event-types--hero { margin: 0 0 14px; }
.pvacf-event-types--hero span { background: rgba(255,255,255,.13); color: #fff; border: 1px solid rgba(255,255,255,.22); }
.pvacf-event-main { padding-top: 54px; }
.pvacf-event-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 0;
  margin-bottom: 22px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--pvacf-border);
  border-radius: 20px;
  box-shadow: var(--pvacf-shadow-soft);
}
.pvacf-event-summary-item {
  min-height: 120px;
  padding: 24px 28px;
  border-right: 1px solid var(--pvacf-border);
  border-bottom: 1px solid var(--pvacf-border);
}
.pvacf-event-summary-item:nth-child(2n) { border-right: 0; }
.pvacf-event-summary-item:nth-last-child(-n+2) { border-bottom: 0; }
.pvacf-event-summary-location { grid-column: 1 / -1; border-right: 0; }
.pvacf-event-summary-label {
  display: block;
  margin-bottom: 5px;
  color: var(--pvacf-red);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pvacf-event-summary strong { display: block; color: var(--pvacf-blue-deep); font-size: 21px; line-height: 1.3; }
.pvacf-event-address { display: inline-flex; margin-top: 5px; color: var(--pvacf-blue); font-size: 17px; font-weight: 800; }
.pvacf-event-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; }
.pvacf-add-calendar {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 28px;
  align-items: center;
  margin: 30px 0;
  padding: 26px 28px;
  border-radius: 18px;
  background: linear-gradient(125deg, var(--pvacf-blue-soft), #f9fbfd);
  border: 1px solid #cfdeec;
}
.pvacf-add-calendar h2 { margin: 4px 0 7px; color: var(--pvacf-blue-deep); font-size: 27px; line-height: 1.08; }
.pvacf-add-calendar p { margin: 0; color: var(--pvacf-muted); font-size: 15px; }
.pvacf-calendar-actions { display: flex; flex-wrap: wrap; gap: 9px; justify-content: flex-end; }
.pvacf-calendar-actions .pvacf-btn { min-height: 44px; padding: 9px 14px; font-size: 14px; }
.pvacf-event-description {
  margin-top: 30px;
  padding: 34px 36px;
  border: 1px solid var(--pvacf-border);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--pvacf-shadow-soft);
}
.pvacf-event-description-copy { margin-top: 12px; }
.pvacf-event-description-copy p { max-width: 70ch; font-size: 18px; line-height: 1.65; text-transform: none; }
.pvacf-event-description-copy p:first-child { margin-top: 0; }
.pvacf-event-description-copy p:last-child { margin-bottom: 0; }

@media (max-width: 720px) {
  .pvacf-event-hero { padding: 38px 0 42px; }
  .pvacf-event-hero h1 { font-size: 39px; line-height: 1.02; }
  .pvacf-event-main { padding-top: 34px; }
  .pvacf-event-summary { grid-template-columns: 1fr; border-radius: 15px; }
  .pvacf-event-summary-item,
  .pvacf-event-summary-item:nth-child(2n),
  .pvacf-event-summary-item:nth-last-child(-n+2) {
    min-height: 0;
    padding: 18px 19px;
    border-right: 0;
    border-bottom: 1px solid var(--pvacf-border);
  }
  .pvacf-event-summary-item:last-child { border-bottom: 0; }
  .pvacf-event-summary strong { font-size: 18px; }
  .pvacf-event-address { font-size: 15px; }
  .pvacf-event-actions { display: grid; grid-template-columns: 1fr; }
  .pvacf-event-actions .pvacf-btn { width: 100%; }
  .pvacf-add-calendar { grid-template-columns: 1fr; gap: 17px; padding: 21px 19px; border-radius: 15px; }
  .pvacf-add-calendar h2 { font-size: 24px; }
  .pvacf-calendar-actions { display: grid; grid-template-columns: 1fr; justify-content: stretch; }
  .pvacf-calendar-actions .pvacf-btn { width: 100%; }
  .pvacf-event-description { padding: 22px 20px; border-radius: 15px; }
  .pvacf-event-description-copy p { font-size: 16px; line-height: 1.6; }
}

/* v1.0.9 - Curated PVACF photo library + event imagery */
.pvacf-event-card {
  overflow: hidden;
  padding: 0;
}
.pvacf-event-card-body {
  padding: 21px 23px 23px;
}
.pvacf-event-card-media {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--pvacf-blue-soft);
}
.pvacf-event-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease;
}
.pvacf-event-card-media:hover img,
.pvacf-event-card-media:focus-visible img { transform: scale(1.025); }
.pvacf-event-feature-wrap { margin-bottom: 36px; }
.pvacf-event-feature-media {
  margin: 0;
  aspect-ratio: 16 / 6.7;
  border-radius: 24px;
  overflow: hidden;
  background: var(--pvacf-blue-soft);
  box-shadow: var(--pvacf-shadow);
}
.pvacf-event-feature-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 720px) {
  .pvacf-event-card-body { padding: 17px; }
  .pvacf-event-feature-wrap { margin-bottom: 24px; }
  .pvacf-event-feature-media { aspect-ratio: 4 / 3; border-radius: 15px; }
}

/* v1.0.10 - Member photo claim + share experience */
.pvacf-event-photo-link { display:block; color:inherit; }
.pvacf-photo-engagement {
  display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center;
  padding:12px 4px 0; font-size:14px; color:var(--pvacf-muted);
}
.pvacf-photo-engagement a { font-weight:900; }
.pvacf-photo-hero-copy { max-width:760px; margin:18px 0 0; color:rgba(255,255,255,.9); font-size:21px; }
.pvacf-photo-detail-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:42px; align-items:start; }
.pvacf-photo-primary { margin:0; background:#fff; border-radius:22px; overflow:hidden; box-shadow:var(--pvacf-shadow); }
.pvacf-photo-primary img { display:block; width:100%; max-height:760px; object-fit:contain; background:#eef3f8; }
.pvacf-photo-primary figcaption { padding:10px 15px; color:var(--pvacf-muted); font-size:13px; }
.pvacf-photo-sidebar { position:sticky; top:190px; background:#fff; border:1px solid var(--pvacf-border); border-radius:20px; padding:28px; box-shadow:var(--pvacf-shadow-soft); }
.pvacf-photo-sidebar h2 { margin:7px 0 12px; color:var(--pvacf-blue-deep); font-size:31px; line-height:1.05; }
.pvacf-photo-sidebar > p { color:var(--pvacf-muted); font-size:16px; }
.pvacf-photo-identified { margin:22px 0; padding:16px 18px; border-radius:12px; background:var(--pvacf-blue-soft); }
.pvacf-photo-identified strong { color:var(--pvacf-blue-deep); }
.pvacf-photo-identified ul { margin:8px 0 0; padding-left:20px; }
.pvacf-photo-share { margin-top:24px; padding-top:24px; border-top:1px solid var(--pvacf-border); }
.pvacf-photo-share h3 { margin:7px 0 8px; color:var(--pvacf-blue-deep); font-size:23px; }
.pvacf-photo-share p { margin:0 0 16px; color:var(--pvacf-muted); font-size:14.5px; }
.pvacf-photo-share-actions { display:flex; flex-wrap:wrap; gap:9px; }
.pvacf-photo-share-actions .pvacf-btn { min-height:42px; padding:8px 13px; font-size:13.5px; }
.pvacf-copy-status { display:block; min-height:1.4em; margin-top:9px; color:#2b7b4b; font-size:13px; font-weight:800; }
.pvacf-photo-stories, .pvacf-photo-claim-section { margin-top:58px; }
.pvacf-photo-stories h2, .pvacf-photo-claim-section h2 { margin:6px 0 12px; color:var(--pvacf-blue-deep); font-size:38px; line-height:1.05; }
.pvacf-photo-story-list { display:grid; gap:14px; margin-top:22px; }
.pvacf-photo-story { padding:22px; border:1px solid var(--pvacf-border); border-radius:15px; background:#fff; box-shadow:var(--pvacf-shadow-soft); }
.pvacf-photo-story h3 { margin:0 0 6px; color:var(--pvacf-blue); font-size:22px; }
.pvacf-photo-story p { margin:7px 0 0; }
.pvacf-photo-story-meta { color:var(--pvacf-muted); font-size:14px; font-weight:800; }
.pvacf-photo-claim-section { padding:34px; background:var(--pvacf-surface-alt); border-radius:22px; }
.pvacf-photo-claim-section > p { color:var(--pvacf-muted); }
.pvacf-photo-claim-form { margin-top:22px; max-width:none; }
.pvacf-photo-archive-intro { max-width:850px; margin-bottom:36px; }
.pvacf-photo-archive-intro h2 { margin:0 0 10px; color:var(--pvacf-blue-deep); font-size:38px; line-height:1.05; }
.pvacf-photo-archive-intro p { color:var(--pvacf-muted); }
.pvacf-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.pvacf-photo-card { background:#fff; border:1px solid var(--pvacf-border); border-radius:16px; overflow:hidden; box-shadow:var(--pvacf-shadow-soft); }
.pvacf-photo-card-image { display:block; aspect-ratio:4/3; overflow:hidden; background:#eef3f8; }
.pvacf-photo-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.pvacf-photo-card:hover .pvacf-photo-card-image img { transform:scale(1.025); }
.pvacf-photo-card-copy { padding:19px; }
.pvacf-photo-card-copy h2 { margin:5px 0 9px; font-size:21px; line-height:1.1; }
.pvacf-photo-card-copy h2 a { color:var(--pvacf-blue-deep); text-decoration:none; }
.pvacf-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

@media (max-width: 900px) {
  .pvacf-photo-detail-grid { grid-template-columns:1fr; gap:24px; }
  .pvacf-photo-sidebar { position:static; }
  .pvacf-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .pvacf-photo-hero-copy { font-size:17px; }
  .pvacf-photo-primary { border-radius:14px; }
  .pvacf-photo-sidebar { padding:20px; border-radius:14px; }
  .pvacf-photo-sidebar h2 { font-size:27px; }
  .pvacf-photo-share-actions .pvacf-btn { width:100%; flex:1 1 100%; }
  .pvacf-photo-stories, .pvacf-photo-claim-section { margin-top:38px; }
  .pvacf-photo-stories h2, .pvacf-photo-claim-section h2, .pvacf-photo-archive-intro h2 { font-size:30px; }
  .pvacf-photo-claim-section { padding:20px; border-radius:14px; }
  .pvacf-photo-grid { grid-template-columns:1fr; gap:14px; }
  .pvacf-photo-card-image { aspect-ratio:16/11; }
}

/* ==========================================================================
   v1.0.11 — Member login header action + polished sign-in form
   ========================================================================== */
.pvacf-member-login-short { display: none; }

/* The WordPress login form is deliberately normalized here instead of relying
   on browser/default WordPress field styles. */
.pvacf-access-box form {
  display: grid;
  gap: 16px;
  margin-top: 22px;
  max-width: 760px;
}
.pvacf-access-box form p { margin: 0; }
.pvacf-access-box .login-username,
.pvacf-access-box .login-password {
  display: grid;
  grid-template-columns: minmax(190px, 230px) minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}
.pvacf-access-box .login-username label,
.pvacf-access-box .login-password label {
  margin: 0;
  color: var(--pvacf-blue-deep);
  font-weight: 800;
  line-height: 1.25;
}
.pvacf-access-box .login-username input,
.pvacf-access-box .login-password input {
  width: 100%;
  min-width: 0;
  min-height: 50px;
  padding: 10px 13px;
  border: 2px solid #9fb1c6;
  border-radius: 9px;
  background: #fff;
  color: var(--pvacf-ink);
}
.pvacf-access-box .login-username input:focus,
.pvacf-access-box .login-password input:focus {
  border-color: var(--pvacf-blue);
  outline: 3px solid rgba(18,58,111,.14);
  outline-offset: 1px;
}
.pvacf-access-box .login-remember {
  padding-left: 246px;
}
.pvacf-access-box .login-remember label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-weight: 650;
}
.pvacf-access-box .login-remember input { width: 18px; height: 18px; }
.pvacf-access-box .login-submit {
  padding-left: 246px;
}
.pvacf-access-box .login-submit input[type="submit"] {
  min-height: 46px;
  padding: 10px 22px;
  border: 0;
  border-radius: 9px;
  background: var(--pvacf-blue);
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}
.pvacf-access-box .login-submit input[type="submit"]:hover { background: var(--pvacf-blue-deep); }

@media (max-width: 782px) {
  /* Keep Login and Donate visible beside the Menu button on mobile. */
  .pvacf-header-actions .pvacf-member-login-btn,
  .pvacf-header-actions .pvacf-donate-header-btn {
    display: inline-flex;
  }
  .pvacf-header-actions {
    gap: 7px;
    flex: 0 0 auto;
  }
  .pvacf-header-actions .pvacf-btn,
  .pvacf-nav-toggle {
    min-height: 44px;
    padding: 8px 11px;
    font-size: 14px;
  }
  .pvacf-member-login-btn {
    background: #fff;
    border-color: var(--pvacf-blue);
    color: var(--pvacf-blue);
  }
  .pvacf-mobile-nav-actions { display: none !important; }

  .pvacf-access-box form { max-width: none; }
  .pvacf-access-box .login-username,
  .pvacf-access-box .login-password {
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .pvacf-access-box .login-remember,
  .pvacf-access-box .login-submit {
    padding-left: 0;
  }
}

@media (max-width: 640px) {
  .pvacf-brand-row {
    gap: 8px;
  }
  .site-branding { flex: 1 1 auto; min-width: 0; }
  .custom-logo-link img { max-width: 122px; max-height: 58px; }
  .pvacf-header-actions { gap: 5px; }
  .pvacf-header-actions .pvacf-btn,
  .pvacf-nav-toggle {
    min-height: 42px;
    padding: 7px 9px;
    border-radius: 9px;
    font-size: 13px;
  }
  .pvacf-access-box {
    padding: 22px 18px;
    border-radius: 14px;
  }
  .pvacf-access-box h2 { font-size: 31px; line-height: 1.05; }
  .pvacf-access-box form { gap: 15px; margin-top: 20px; }
  .pvacf-access-box .login-username input,
  .pvacf-access-box .login-password input {
    min-height: 48px;
    font-size: 16px;
  }
  .pvacf-access-box .login-submit input[type="submit"] { width: 100%; }
}

@media (max-width: 460px) {
  .pvacf-member-login-full { display: none; }
  .pvacf-member-login-short { display: inline; }
  .custom-logo-link img { max-width: 104px; }
  .pvacf-header-actions .pvacf-btn,
  .pvacf-nav-toggle { padding-inline: 8px; font-size: 12.5px; }
}

/* v1.0.12 - Financials & Impact page */
.pvacf-financials-page { background:#fff; }
.pvacf-fin-hero {
  position:relative;
  overflow:hidden;
  color:#fff;
  background:#08284d;
}
.pvacf-fin-hero::before {
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(90deg,rgba(3,24,48,.96) 0%,rgba(8,40,77,.88) 45%,rgba(8,40,77,.44) 100%),var(--pvacf-fin-hero);
  background-size:cover;
  background-position:center 48%;
}
.pvacf-fin-hero::after {
  content:"";
  position:absolute;
  inset:auto -120px -180px auto;
  width:420px;
  height:420px;
  border:55px solid rgba(255,255,255,.05);
  border-radius:50%;
}
.pvacf-fin-hero-grid {
  position:relative;
  z-index:1;
  min-height:570px;
  padding:78px 0;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:64px;
  align-items:center;
}
.pvacf-fin-hero-copy h1 {
  margin:0 0 24px;
  color:#fff;
  font-size:clamp(54px,6.2vw,84px);
  line-height:.95;
  letter-spacing:-.045em;
}
.pvacf-fin-hero-copy > p {
  max-width:760px;
  margin:0;
  color:rgba(255,255,255,.93);
  font-size:22px;
  line-height:1.55;
}
.pvacf-fin-hero .pvacf-btn-outline { color:#fff; border-color:#fff; background:rgba(255,255,255,.04); }
.pvacf-fin-hero .pvacf-btn-outline:hover { color:var(--pvacf-blue-deep); background:#fff; }
.pvacf-fin-hero-stat {
  background:rgba(255,255,255,.96);
  color:var(--pvacf-ink);
  padding:34px;
  border-radius:22px;
  border-top:6px solid var(--pvacf-red);
  box-shadow:0 25px 65px rgba(0,0,0,.25);
}
.pvacf-fin-hero-stat .pvacf-card-kicker { color:var(--pvacf-red); }
.pvacf-fin-hero-stat > strong {
  display:block;
  margin:10px 0 4px;
  color:var(--pvacf-blue-deep);
  font-size:74px;
  line-height:.95;
  letter-spacing:-.05em;
}
.pvacf-fin-hero-stat p { margin:8px 0 12px; color:var(--pvacf-ink); font-size:20px; line-height:1.35; }
.pvacf-fin-hero-stat small { display:block; color:var(--pvacf-muted); font-size:14px; line-height:1.45; }

.pvacf-fin-metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.pvacf-fin-metrics article {
  min-height:180px;
  padding:26px 24px;
  border:1px solid var(--pvacf-border);
  border-top:5px solid var(--pvacf-red);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--pvacf-shadow-soft);
}
.pvacf-fin-metrics strong {
  display:block;
  color:var(--pvacf-blue-deep);
  font-size:42px;
  line-height:1;
  letter-spacing:-.035em;
  margin-bottom:13px;
}
.pvacf-fin-metrics span { display:block; color:var(--pvacf-muted); font-size:15.5px; line-height:1.45; font-weight:750; }

.pvacf-fin-breakdown-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.85fr);
  gap:60px;
  align-items:center;
}
.pvacf-fin-breakdown h2,
.pvacf-fin-feature-copy h2,
.pvacf-fin-wins h2 { margin:8px 0 18px; color:var(--pvacf-blue-deep); font-size:clamp(38px,4vw,54px); line-height:1.02; letter-spacing:-.035em; }
.pvacf-fin-breakdown-grid > div:first-child > p { color:var(--pvacf-muted); font-size:18px; line-height:1.65; }
.pvacf-fin-note { padding:16px 18px; border-left:5px solid var(--pvacf-blue); background:#eef5fb; border-radius:9px; font-size:15px !important; }
.pvacf-fin-expense-card {
  display:grid;
  grid-template-columns:240px 1fr;
  gap:28px;
  align-items:center;
  background:#fff;
  padding:28px;
  border-radius:22px;
  box-shadow:var(--pvacf-shadow);
  border:1px solid var(--pvacf-border);
}
.pvacf-fin-donut {
  width:230px;
  aspect-ratio:1;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:conic-gradient(var(--pvacf-blue-deep) 0 82.8%, #8aa8c5 82.8% 97.2%, var(--pvacf-red) 97.2% 100%);
  position:relative;
}
.pvacf-fin-donut::after { content:""; position:absolute; width:142px; height:142px; border-radius:50%; background:#fff; }
.pvacf-fin-donut span { position:relative; z-index:1; display:grid; text-align:center; color:var(--pvacf-blue-deep); font-size:36px; font-weight:950; line-height:1; }
.pvacf-fin-donut small { margin-top:7px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.pvacf-fin-legend { display:grid; gap:15px; }
.pvacf-fin-legend > div { display:grid; grid-template-columns:14px 1fr auto; gap:10px; align-items:center; padding-bottom:13px; border-bottom:1px solid var(--pvacf-border); }
.pvacf-fin-legend > div:last-child { border-bottom:0; padding-bottom:0; }
.pvacf-fin-legend strong { color:var(--pvacf-ink); font-size:14px; line-height:1.25; }
.pvacf-fin-legend b { color:var(--pvacf-blue-deep); font-size:17px; }
.pvacf-fin-swatch { width:12px; height:12px; border-radius:50%; }
.pvacf-fin-swatch-program { background:var(--pvacf-blue-deep); }
.pvacf-fin-swatch-admin { background:#8aa8c5; }
.pvacf-fin-swatch-fund { background:var(--pvacf-red); }

.pvacf-fin-feature-grid {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
  gap:54px;
  align-items:center;
}
.pvacf-fin-feature-image img {
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:24px;
  box-shadow:var(--pvacf-shadow);
}
.pvacf-fin-feature-copy > p { color:var(--pvacf-muted); font-size:18px; line-height:1.62; }
.pvacf-fin-inline-stats { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:25px; }
.pvacf-fin-inline-stats > div { padding:18px; background:var(--pvacf-blue-soft); border-radius:13px; border:1px solid #d4e0ec; }
.pvacf-fin-inline-stats strong { display:block; color:var(--pvacf-blue-deep); font-size:24px; line-height:1.05; margin-bottom:7px; }
.pvacf-fin-inline-stats span { display:block; color:var(--pvacf-muted); font-size:14px; line-height:1.4; }
.pvacf-fin-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:34px; }
.pvacf-fin-gallery figure { margin:0; background:#fff; border-radius:16px; overflow:hidden; border:1px solid var(--pvacf-border); box-shadow:var(--pvacf-shadow-soft); }
.pvacf-fin-gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.pvacf-fin-gallery figcaption { padding:14px 16px 16px; color:var(--pvacf-muted); font-size:14px; line-height:1.4; }

.pvacf-fin-programs { position:relative; overflow:hidden; }
.pvacf-fin-programs .pvacf-section-heading h2 { color:#fff; }
.pvacf-fin-program-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pvacf-fin-program-card { overflow:hidden; background:#fff; border-radius:18px; box-shadow:0 18px 46px rgba(0,0,0,.2); }
.pvacf-fin-program-card img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.pvacf-fin-program-card > div { padding:24px; }
.pvacf-fin-program-card h3 { margin:7px 0 10px; color:var(--pvacf-blue-deep); font-size:25px; line-height:1.12; }
.pvacf-fin-program-card p { margin:0; color:var(--pvacf-muted); font-size:15.5px; line-height:1.5; }

.pvacf-fin-win-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.pvacf-fin-win-grid article { padding:26px; border-radius:16px; background:#f5f8fb; border:1px solid var(--pvacf-border); border-left:5px solid var(--pvacf-red); }
.pvacf-fin-win-grid strong { display:block; color:var(--pvacf-blue-deep); font-size:22px; margin-bottom:8px; }
.pvacf-fin-win-grid p { margin:0; color:var(--pvacf-muted); font-size:15px; line-height:1.52; }

.pvacf-fin-documents .pvacf-document-grid { margin-top:10px; }
.pvacf-fin-source-note { margin-top:32px; padding:24px; border-radius:16px; border:1px solid var(--pvacf-border); background:#fff; }
.pvacf-fin-source-note p { margin:0 0 16px; color:var(--pvacf-muted); font-size:14.5px; line-height:1.55; }

@media (max-width: 980px) {
  .pvacf-fin-hero-grid { grid-template-columns:1fr; min-height:0; gap:34px; padding:60px 0; }
  .pvacf-fin-hero-stat { max-width:520px; }
  .pvacf-fin-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pvacf-fin-breakdown-grid,
  .pvacf-fin-feature-grid { grid-template-columns:1fr; gap:36px; }
  .pvacf-fin-expense-card { max-width:680px; }
  .pvacf-fin-program-grid { grid-template-columns:1fr; }
  .pvacf-fin-program-card { display:grid; grid-template-columns:42% 58%; }
  .pvacf-fin-program-card img { height:100%; aspect-ratio:auto; }
}

@media (max-width: 720px) {
  .pvacf-fin-hero::before { background-image:linear-gradient(180deg,rgba(3,24,48,.92),rgba(8,40,77,.93)),var(--pvacf-fin-hero); background-position:center; }
  .pvacf-fin-hero-grid { padding:44px 0 48px; gap:24px; }
  .pvacf-fin-hero-copy h1 { font-size:44px; }
  .pvacf-fin-hero-copy > p { font-size:16px; line-height:1.52; }
  .pvacf-fin-hero-stat { padding:22px; border-radius:16px; }
  .pvacf-fin-hero-stat > strong { font-size:56px; }
  .pvacf-fin-hero-stat p { font-size:16px; }
  .pvacf-fin-metrics { grid-template-columns:1fr 1fr; gap:10px; }
  .pvacf-fin-metrics article { min-height:145px; padding:18px 16px; border-radius:13px; }
  .pvacf-fin-metrics strong { font-size:32px; margin-bottom:9px; }
  .pvacf-fin-metrics span { font-size:12.5px; line-height:1.35; }
  .pvacf-fin-breakdown h2,
  .pvacf-fin-feature-copy h2,
  .pvacf-fin-wins h2 { font-size:32px; }
  .pvacf-fin-breakdown-grid > div:first-child > p,
  .pvacf-fin-feature-copy > p { font-size:15.5px; }
  .pvacf-fin-expense-card { display:block; padding:20px; }
  .pvacf-fin-donut { width:205px; margin:0 auto 24px; }
  .pvacf-fin-donut::after { width:127px; height:127px; }
  .pvacf-fin-donut span { font-size:32px; }
  .pvacf-fin-inline-stats { grid-template-columns:1fr; }
  .pvacf-fin-gallery { grid-template-columns:1fr; gap:10px; }
  .pvacf-fin-gallery figure:nth-child(n+3) { display:none; }
  .pvacf-fin-program-card { display:block; }
  .pvacf-fin-program-card img { aspect-ratio:16/9; height:auto; }
  .pvacf-fin-program-card > div { padding:19px; }
  .pvacf-fin-program-card h3 { font-size:22px; }
  .pvacf-fin-win-grid { grid-template-columns:1fr; gap:10px; }
  .pvacf-fin-win-grid article { padding:20px; }
  .pvacf-fin-source-note { padding:19px; }
}

/* v1.0.12 - Mobile calendar switches from a squeezed month grid to an agenda. */
.pvacf-calendar-mobile { display: none; }

@media (max-width: 720px) {
  .pvacf-calendar { overflow: visible; }
  .pvacf-calendar > table { display: none; }
  .pvacf-calendar-mobile { display: grid; gap: 18px; }
  .pvacf-calendar-mobile-day {
    border: 1px solid var(--pvacf-border);
    border-radius: 15px;
    overflow: hidden;
    background: #fff;
    box-shadow: var(--pvacf-shadow-soft);
  }
  .pvacf-calendar-mobile-day > h3 {
    margin: 0;
    padding: 12px 15px;
    background: var(--pvacf-blue-deep);
    color: #fff;
    font-size: 17px;
    line-height: 1.2;
  }
  .pvacf-calendar-mobile-events { display: grid; }
  .pvacf-calendar-mobile-event {
    padding: 15px;
    border-left: 5px solid var(--pvacf-blue);
    border-bottom: 1px solid var(--pvacf-border);
  }
  .pvacf-calendar-mobile-event:last-child { border-bottom: 0; }
  .pvacf-calendar-mobile-event.event-type-sports-recreation { border-left-color: #2c6e9f; }
  .pvacf-calendar-mobile-event.event-type-board { border-left-color: var(--pvacf-blue-deep); }
  .pvacf-calendar-mobile-event.event-type-social { border-left-color: var(--pvacf-red); }
  .pvacf-calendar-mobile-event.event-type-fundraising { border-left-color: var(--pvacf-gold); }
  .pvacf-calendar-mobile-event.event-type-advocacy { border-left-color: #66529f; }
  .pvacf-calendar-mobile-event h4 { margin: 4px 0 6px; font-size: 19px; line-height: 1.18; }
  .pvacf-calendar-mobile-event h4 a { color: var(--pvacf-blue-deep); text-decoration: none; }
  .pvacf-calendar-mobile-meta { display: flex; flex-wrap: wrap; gap: 7px 12px; margin: 0; color: var(--pvacf-muted); font-size: 13.5px; line-height: 1.35; }
  .pvacf-calendar-mobile-meta span + span::before { content: "•"; margin-right: 10px; color: var(--pvacf-red); }
  .pvacf-calendar-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 16px;
  }
  .pvacf-calendar-nav strong {
    grid-column: 1 / -1;
    grid-row: 1;
    text-align: center;
    font-size: 22px;
  }
  .pvacf-calendar-nav > a:first-child { grid-column: 1; grid-row: 2; }
  .pvacf-calendar-nav > a:last-child { grid-column: 2; grid-row: 2; }
  .pvacf-calendar-nav .pvacf-btn { min-height: 42px; padding: 8px 10px; font-size: 13px; }
}

/* v1.0.13 - Compact mobile month calendar with category dots. */
@media (max-width: 720px) {
  .pvacf-calendar-filters {
    display: flex;
    flex-wrap: wrap;
    overflow: visible;
    gap: 7px;
    padding-bottom: 0;
    margin-bottom: 16px;
  }
  .pvacf-calendar-filter {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 7px 11px;
    font-size: 12px;
  }

  .pvacf-calendar-mobile {
    display: block;
  }
  .pvacf-calendar-mobile-weekdays,
  .pvacf-calendar-mobile-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .pvacf-calendar-mobile-weekdays {
    background: var(--pvacf-blue-deep);
    color: #fff;
    border: 1px solid var(--pvacf-blue-deep);
    border-radius: 12px 12px 0 0;
    overflow: hidden;
  }
  .pvacf-calendar-mobile-weekdays span {
    display: grid;
    place-items: center;
    min-height: 34px;
    font-size: 12px;
    font-weight: 900;
  }
  .pvacf-calendar-mobile-grid {
    border-left: 1px solid var(--pvacf-border);
    border-top: 1px solid var(--pvacf-border);
    background: #fff;
  }
  .pvacf-calendar-mobile-date,
  .pvacf-calendar-mobile-empty {
    min-width: 0;
    min-height: 56px;
    border: 0;
    border-right: 1px solid var(--pvacf-border);
    border-bottom: 1px solid var(--pvacf-border);
    background: #fff;
  }
  .pvacf-calendar-mobile-date {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    padding: 7px 2px 5px;
    color: var(--pvacf-blue-deep);
  }
  button.pvacf-calendar-mobile-date {
    cursor: pointer;
    font: inherit;
  }
  button.pvacf-calendar-mobile-date:hover,
  button.pvacf-calendar-mobile-date:focus-visible,
  button.pvacf-calendar-mobile-date.is-active {
    background: var(--pvacf-blue-soft);
  }
  button.pvacf-calendar-mobile-date.is-active {
    box-shadow: inset 0 0 0 2px var(--pvacf-blue);
  }
  .pvacf-calendar-mobile-number {
    font-size: 14px;
    line-height: 1;
    font-weight: 900;
  }
  .pvacf-calendar-mobile-dots {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3px;
    max-width: 38px;
  }
  .pvacf-calendar-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: var(--pvacf-blue);
  }
  .pvacf-calendar-dot.event-type-sports-recreation { background: #2c6e9f; }
  .pvacf-calendar-dot.event-type-board { background: #08284d; }
  .pvacf-calendar-dot.event-type-social { background: var(--pvacf-red); }
  .pvacf-calendar-dot.event-type-fundraising { background: var(--pvacf-gold); }
  .pvacf-calendar-dot.event-type-advocacy { background: #66529f; }
  .pvacf-calendar-dot.event-type-chapter { background: #2f7d61; }

  .pvacf-calendar-mobile-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    padding: 12px 3px 0;
    color: var(--pvacf-muted);
    font-size: 11.5px;
    line-height: 1.25;
  }
  .pvacf-calendar-mobile-legend > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
  }

  .pvacf-calendar-mobile-detail {
    margin-top: 14px;
  }
  .pvacf-calendar-mobile-hint {
    margin: 0;
    padding: 12px 14px;
    border-radius: 10px;
    background: #f4f7fa;
    color: var(--pvacf-muted);
    font-size: 13px;
  }
  .pvacf-calendar-mobile-day-detail {
    border: 1px solid var(--pvacf-border);
    border-radius: 13px;
    overflow: hidden;
    background: #fff;
    box-shadow: var(--pvacf-shadow-soft);
  }
  .pvacf-calendar-mobile-day-detail > h3 {
    margin: 0;
    padding: 10px 13px;
    background: var(--pvacf-blue-deep);
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
  }
  .pvacf-calendar-mobile-events { display: grid; }
  .pvacf-calendar-mobile-event {
    padding: 12px 13px;
    border-left: 4px solid var(--pvacf-blue);
    border-bottom: 1px solid var(--pvacf-border);
  }
  .pvacf-calendar-mobile-event:last-child { border-bottom: 0; }
  .pvacf-calendar-mobile-event h4 { margin: 3px 0 5px; font-size: 17px; }
  .pvacf-calendar-mobile-meta { font-size: 12.5px; }
}

/* v1.0.14 — Donate + How We Help program pages + return-to-top */
.pvacf-program-page { background:#fff; }
.pvacf-program-hero { background:linear-gradient(125deg,var(--pvacf-blue-deep),var(--pvacf-blue)); color:#fff; padding:68px 0; overflow:hidden; }
.pvacf-program-hero h1 { color:#fff; margin:0 0 20px; font-size:clamp(44px,5.5vw,72px); line-height:.98; letter-spacing:-.035em; }
.pvacf-program-hero p { color:rgba(255,255,255,.9); font-size:20px; line-height:1.55; max-width:720px; }
.pvacf-program-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:54px; align-items:center; }
.pvacf-program-hero-grid > img { width:100%; min-height:360px; max-height:470px; object-fit:cover; border-radius:24px; box-shadow:0 24px 60px rgba(0,0,0,.24); }
.pvacf-program-hero-simple .pvacf-wrap { max-width:1000px; }
.pvacf-program-intro-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:start; }
.pvacf-program-intro-grid h2,.pvacf-program-contact h2,.pvacf-support-callout h2,.pvacf-donate-impact h2 { color:var(--pvacf-blue-deep); font-size:clamp(32px,4vw,48px); line-height:1.04; margin:7px 0 18px; }
.pvacf-program-facts { display:grid; grid-template-columns:1fr; gap:12px; }
.pvacf-program-facts-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.pvacf-program-facts > div { background:#fff; border:1px solid var(--pvacf-border); border-radius:15px; padding:22px; box-shadow:var(--pvacf-shadow-soft); }
.pvacf-program-facts strong { display:block; color:var(--pvacf-blue-deep); font-size:24px; line-height:1.08; margin-bottom:7px; }
.pvacf-program-facts span { color:var(--pvacf-muted); font-size:15px; line-height:1.45; }
.pvacf-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pvacf-resource-grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pvacf-resource-card { display:block; background:#fff; color:var(--pvacf-ink); border:1px solid var(--pvacf-border); border-top:5px solid var(--pvacf-red); border-radius:17px; padding:28px; text-decoration:none; box-shadow:var(--pvacf-shadow-soft); transition:transform .18s ease,box-shadow .18s ease; }
.pvacf-resource-card:hover { transform:translateY(-3px); box-shadow:0 18px 42px rgba(7,31,61,.12); color:var(--pvacf-ink); }
.pvacf-resource-card > span { color:var(--pvacf-red); text-transform:uppercase; font-size:12px; font-weight:900; letter-spacing:.12em; }
.pvacf-resource-card h2,.pvacf-resource-card h3 { color:var(--pvacf-blue-deep); font-size:25px; line-height:1.1; margin:10px 0; }
.pvacf-resource-card p { color:var(--pvacf-muted); font-size:16px; line-height:1.5; }
.pvacf-resource-card strong { color:var(--pvacf-blue); font-size:15px; }
.pvacf-step-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.pvacf-step-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pvacf-step-grid article { background:#fff; border:1px solid var(--pvacf-border); border-radius:15px; padding:24px; }
.pvacf-step-grid b { width:38px;height:38px;border-radius:50%;background:var(--pvacf-red);color:#fff;display:grid;place-items:center;margin-bottom:16px; }
.pvacf-step-grid h3 { color:var(--pvacf-blue-deep); font-size:21px; margin:0 0 8px; }
.pvacf-step-grid p { color:var(--pvacf-muted); font-size:15px; line-height:1.48; margin:0; }
.pvacf-program-contact,.pvacf-support-callout,.pvacf-donate-impact-grid { display:flex; justify-content:space-between; align-items:center; gap:28px; }
.pvacf-support-callout { background:var(--pvacf-blue-soft); border-radius:20px; padding:32px; }
.pvacf-support-callout > div:last-child { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }

/* Donation page */
.pvacf-donate-hero { background:linear-gradient(120deg,#061f3b 0%,#123a6f 58%,#275f9d 100%); }
.pvacf-donate-paypal-card { background:#fff; color:var(--pvacf-ink); border-radius:22px; padding:28px; box-shadow:0 26px 60px rgba(0,0,0,.25); text-align:center; }
.pvacf-donate-paypal-card h2 { color:var(--pvacf-blue-deep); font-size:30px; margin:8px 0 8px; }
.pvacf-donate-paypal-card p { color:var(--pvacf-muted); font-size:16px; margin:0 auto 18px; }
.pvacf-paypal-qr-link { display:inline-block; padding:10px; background:#fff; border-radius:14px; border:1px solid var(--pvacf-border); }
.pvacf-paypal-qr-link img { width:190px; height:190px; display:block; }
.pvacf-donate-paypal-card small { display:block; color:var(--pvacf-muted); margin-top:10px; }
.pvacf-paypal-embed { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:104px; margin:22px auto 2px; scroll-margin-top:180px; }
.pvacf-paypal-embed #donate-button { width:100%; }
.pvacf-paypal-embed #donate-button img { display:block; width:min(100%,400px); height:auto; margin:0 auto; }
.pvacf-give-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.pvacf-give-card { background:#fff; border:1px solid var(--pvacf-border); border-radius:18px; padding:28px; box-shadow:var(--pvacf-shadow-soft); }
.pvacf-give-card h3 { color:var(--pvacf-blue-deep); font-size:27px; line-height:1.1; margin:8px 0 12px; }
.pvacf-give-card p { color:var(--pvacf-muted); font-size:16px; line-height:1.5; }
.pvacf-give-card small { color:var(--pvacf-muted); display:block; margin-top:14px; }
.pvacf-give-icon { width:50px;height:50px;border-radius:14px;background:var(--pvacf-blue-soft);display:grid;place-items:center;font-size:25px;margin-bottom:16px; }
.pvacf-give-list { font-weight:750; color:var(--pvacf-blue-deep)!important; }
.pvacf-give-card-photo { padding:0; overflow:hidden; display:grid; grid-template-columns:.9fr 1.1fr; }
.pvacf-give-card-photo img { width:100%; height:100%; min-height:310px; object-fit:cover; }
.pvacf-give-card-photo > div { padding:28px; }
.pvacf-donate-impact { background:#fff; }

/* Form refinements for program requests */
.pvacf-choice-field { border:1px solid var(--pvacf-border); border-radius:12px; padding:16px!important; margin-bottom:12px!important; }
.pvacf-choice-field legend { padding:0 6px; color:var(--pvacf-blue-deep); }
.pvacf-choice-field label { display:inline-flex!important; align-items:center; gap:7px; margin:8px 20px 0 0!important; font-weight:700!important; }
.pvacf-choice-field input[type="radio"] { width:18px;height:18px;accent-color:var(--pvacf-blue); }
.pvacf-field input[type="file"] { padding:10px; background:#fff; }

/* Floating return-to-top button */
.pvacf-scroll-top { position:fixed; right:22px; bottom:22px; z-index:1200; display:flex; align-items:center; gap:8px; min-width:54px; min-height:54px; padding:10px 15px; border:0; border-radius:999px; background:var(--pvacf-blue-deep); color:#fff; box-shadow:0 14px 32px rgba(0,0,0,.24); font-weight:900; opacity:0; visibility:hidden; transform:translateY(14px); transition:opacity .18s ease,transform .18s ease,visibility .18s ease,background .18s ease; }
.pvacf-scroll-top span:first-child { font-size:24px; line-height:1; }
.pvacf-scroll-top.is-visible { opacity:1; visibility:visible; transform:translateY(0); }
.pvacf-scroll-top:hover { background:var(--pvacf-red); }

@media (max-width: 900px) {
  .pvacf-program-hero-grid,.pvacf-program-intro-grid { grid-template-columns:1fr; }
  .pvacf-program-hero-grid { gap:28px; }
  .pvacf-program-hero-grid > img { min-height:280px; max-height:340px; }
  .pvacf-resource-grid,.pvacf-resource-grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pvacf-program-facts-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pvacf-step-grid,.pvacf-step-grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pvacf-program-contact,.pvacf-support-callout,.pvacf-donate-impact-grid { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 620px) {
  .pvacf-program-hero { padding:46px 0; }
  .pvacf-program-hero h1 { font-size:39px; }
  .pvacf-program-hero p { font-size:17px; }
  .pvacf-program-hero-grid > img { min-height:230px; border-radius:16px; }
  .pvacf-resource-grid,.pvacf-resource-grid-3,.pvacf-program-facts-4,.pvacf-step-grid,.pvacf-step-grid-3,.pvacf-give-grid { grid-template-columns:1fr; }
  .pvacf-resource-card,.pvacf-give-card { padding:21px; }
  .pvacf-give-card-photo { grid-template-columns:1fr; }
  .pvacf-give-card-photo img { min-height:220px; max-height:260px; }
  .pvacf-donate-paypal-card { padding:22px; }
  .pvacf-paypal-qr-link img { width:160px;height:160px; }
  .pvacf-support-callout { padding:22px; }
  .pvacf-support-callout > div:last-child,.pvacf-support-callout .pvacf-btn { width:100%; }
  .pvacf-scroll-top { right:14px; bottom:14px; min-width:52px; min-height:52px; padding:10px 13px; }
  .pvacf-scroll-top-label { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  .pvacf-scroll-top { transition:none; }
}

/* v1.0.15 — Simple Staff Publishing portal */
.pvacf-staff-page {
  background: linear-gradient(180deg, #edf3f8 0%, #f8fafc 46%, #fff 100%);
  padding: 42px 0 78px;
}
.pvacf-staff-page-wrap { max-width: 1180px; }
.pvacf-staff-portal { color: var(--pvacf-ink); }
.pvacf-staff-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 28px;
  margin-bottom: 28px;
  padding: 32px;
  border-radius: 24px;
  background: linear-gradient(125deg, var(--pvacf-blue-deep), var(--pvacf-blue));
  color: #fff;
  box-shadow: var(--pvacf-shadow);
}
.pvacf-staff-heading h1 {
  margin: 6px 0 10px;
  color: #fff;
  font-size: clamp(38px, 5vw, 62px);
  line-height: .98;
  letter-spacing: -.035em;
}
.pvacf-staff-heading p {
  margin: 0;
  max-width: 760px;
  color: rgba(255,255,255,.9);
  font-size: 18px;
}
.pvacf-staff-heading .pvacf-card-kicker { color: #fff; opacity: .8; }
.pvacf-staff-user {
  flex: 0 0 auto;
  background: rgba(255,255,255,.11);
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 16px;
  padding: 14px 16px;
  min-width: 170px;
  text-align: right;
}
.pvacf-staff-user strong { display: block; color: #fff; }
.pvacf-staff-user a { color: #fff; font-size: 14px; }
.pvacf-staff-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
  margin-bottom: 26px;
}
.pvacf-staff-action-card {
  display: grid;
  grid-template-columns: 48px 1fr;
  column-gap: 13px;
  row-gap: 3px;
  align-items: center;
  min-height: 120px;
  padding: 20px;
  border: 1px solid #cfdce8;
  border-radius: 18px;
  background: #fff;
  color: var(--pvacf-ink);
  text-decoration: none;
  box-shadow: var(--pvacf-shadow-soft);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.pvacf-staff-action-card:hover {
  transform: translateY(-2px);
  border-color: #9db6cf;
  box-shadow: 0 16px 38px rgba(7,31,61,.12);
  color: var(--pvacf-blue-deep);
}
.pvacf-staff-action-card .dashicons {
  grid-row: 1 / span 2;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: var(--pvacf-blue-soft);
  color: var(--pvacf-blue);
  font-size: 25px;
}
.pvacf-staff-action-card strong { font-size: 19px; line-height: 1.1; }
.pvacf-staff-action-card > span:last-child { font-size: 14px; color: var(--pvacf-muted); line-height: 1.35; }
.pvacf-staff-body { display: grid; gap: 22px; }
.pvacf-staff-panel {
  background: #fff;
  border: 1px solid #d5e0ea;
  border-radius: 22px;
  padding: clamp(22px, 3vw, 34px);
  box-shadow: var(--pvacf-shadow-soft);
}
.pvacf-staff-panel-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 24px;
}
.pvacf-staff-panel-heading h2 { margin: 3px 0 0; color: var(--pvacf-blue-deep); font-size: clamp(28px, 3vw, 40px); line-height: 1.04; }
.pvacf-staff-panel-heading p { margin: 0; max-width: 520px; color: var(--pvacf-muted); font-size: 16px; }
.pvacf-staff-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}
.pvacf-staff-metrics > div {
  border-radius: 16px;
  padding: 22px;
  background: #f4f8fb;
  border: 1px solid #dce6ef;
}
.pvacf-staff-metrics strong { display:block; color: var(--pvacf-blue-deep); font-size: 38px; line-height: 1; }
.pvacf-staff-metrics span { display:block; margin-top: 8px; color: var(--pvacf-muted); font-size: 14px; font-weight: 750; }
.pvacf-staff-quicklinks { display: flex; flex-wrap: wrap; gap: 10px; }
.pvacf-staff-quicklinks a {
  padding: 9px 12px;
  border-radius: 9px;
  background: var(--pvacf-blue-soft);
  color: var(--pvacf-blue-deep);
  font-weight: 850;
  text-decoration: none;
}
.pvacf-staff-form { max-width: none; }
.pvacf-staff-form .pvacf-field { margin-bottom: 18px; }
.pvacf-staff-form .pvacf-field label { display:block; margin-bottom: 7px; color: var(--pvacf-blue-deep); font-weight: 850; }
.pvacf-staff-form input[type="text"],
.pvacf-staff-form input[type="date"],
.pvacf-staff-form input[type="url"],
.pvacf-staff-form input[type="email"],
.pvacf-staff-form select,
.pvacf-staff-form textarea {
  width: 100%;
  border: 2px solid #b8c6d3;
  border-radius: 10px;
  padding: 12px 13px;
  background: #fff;
  color: var(--pvacf-ink);
}
.pvacf-staff-form input[type="file"] {
  width: 100%;
  border: 1px dashed #aabac9;
  border-radius: 10px;
  padding: 12px;
  background: #f8fafc;
}
.pvacf-staff-form textarea { min-height: 140px; resize: vertical; }
.pvacf-staff-workflow-box {
  margin: 24px 0 18px;
  padding: 18px;
  border-left: 5px solid var(--pvacf-blue);
  border-radius: 12px;
  background: #eef5fb;
}
.pvacf-staff-workflow-box label { display:flex; gap: 10px; align-items:flex-start; font-weight: 800; color: var(--pvacf-blue-deep); }
.pvacf-staff-workflow-box input[type="checkbox"] { width: 19px; height: 19px; margin-top: 2px; accent-color: var(--pvacf-blue); }
.pvacf-staff-approved { color: #18713a; font-weight: 900; }
.pvacf-staff-submit-row { display:flex; flex-wrap:wrap; gap: 10px; padding-top: 8px; }
.pvacf-staff-content-list { display:grid; gap: 10px; }
.pvacf-staff-content-item {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 20px;
  padding: 17px 18px;
  border: 1px solid #d9e2ea;
  border-radius: 14px;
  background: #fbfcfd;
}
.pvacf-staff-content-item h3 { margin: 3px 0 7px; color: var(--pvacf-blue-deep); font-size: 20px; line-height: 1.15; }
.pvacf-staff-content-buttons { display:flex; gap: 8px; flex: 0 0 auto; }
.pvacf-staff-content-buttons .pvacf-btn { min-height: 42px; padding: 8px 13px; font-size: 14px; }
.pvacf-staff-status-row { display:flex; flex-wrap:wrap; gap: 6px; }
.pvacf-staff-status {
  display:inline-flex;
  align-items:center;
  min-height: 26px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #e8edf2;
  color: #33475b;
  font-size: 12px;
  font-weight: 850;
}
.pvacf-status-publish { background:#e5f4ea; color:#126533; }
.pvacf-status-pending { background:#fff3d7; color:#805800; }
.pvacf-status-draft { background:#eef0f3; color:#4c5968; }
.pvacf-status-approved { background:#dff5e7; color:#116b35; }
.pvacf-review-queue { margin-top: 34px; }
.pvacf-review-item {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 22px;
  margin: 12px 0;
  padding: 18px;
  background:#f7fafc;
  border:1px solid #d8e3ed;
  border-radius:14px;
}
.pvacf-review-item h3 { margin: 4px 0 6px; color:var(--pvacf-blue-deep); }
.pvacf-review-item p { margin:0; color:var(--pvacf-muted); }

@media (max-width: 900px) {
  .pvacf-staff-actions { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pvacf-staff-heading, .pvacf-staff-panel-heading { align-items:flex-start; }
  .pvacf-staff-panel-heading { display:block; }
  .pvacf-staff-panel-heading p { margin-top: 10px; }
}
@media (max-width: 640px) {
  .pvacf-staff-page { padding: 22px 0 56px; }
  .pvacf-staff-heading { display:block; padding: 22px 18px; border-radius: 18px; }
  .pvacf-staff-heading h1 { font-size: 38px; }
  .pvacf-staff-heading p { font-size: 15px; }
  .pvacf-staff-user { margin-top: 18px; text-align:left; min-width:0; }
  .pvacf-staff-actions { grid-template-columns: 1fr 1fr; gap: 9px; }
  .pvacf-staff-action-card { min-height: 108px; padding: 14px 12px; grid-template-columns: 38px 1fr; column-gap: 9px; }
  .pvacf-staff-action-card .dashicons { width:38px; height:38px; font-size:21px; border-radius:10px; }
  .pvacf-staff-action-card strong { font-size:16px; }
  .pvacf-staff-action-card > span:last-child { display:none; }
  .pvacf-staff-panel { padding: 19px 16px; border-radius: 16px; }
  .pvacf-staff-metrics { grid-template-columns: 1fr; gap: 8px; }
  .pvacf-staff-metrics > div { padding: 15px; }
  .pvacf-staff-metrics strong { font-size:30px; }
  .pvacf-staff-form .pvacf-form-row { grid-template-columns: 1fr; gap: 0; }
  .pvacf-staff-submit-row .pvacf-btn { width:100%; }
  .pvacf-staff-content-item, .pvacf-review-item { display:block; }
  .pvacf-staff-content-buttons { margin-top: 12px; }
  .pvacf-staff-content-buttons .pvacf-btn { flex:1 1 auto; }
}

/* v1.0.16 — Staff portal review workflows stay on the front end */
.pvacf-staff-workflow-links a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
}
.pvacf-staff-workflow-links a strong {
  display: inline-grid;
  place-items: center;
  min-width: 26px;
  min-height: 26px;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--pvacf-blue);
  color: #fff;
  font-size: 12px;
}
.pvacf-staff-review-list { display: grid; gap: 11px; }
.pvacf-staff-review-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px;
  border: 1px solid #d9e2ea;
  border-radius: 15px;
  background: #fbfcfd;
}
.pvacf-staff-review-main { min-width: 0; }
.pvacf-staff-review-main h3 {
  margin: 6px 0 5px;
  color: var(--pvacf-blue-deep);
  font-size: 20px;
  line-height: 1.16;
}
.pvacf-staff-review-main p { margin: 0; color: var(--pvacf-muted); font-size: 14px; }
.pvacf-staff-back { margin: 0 0 18px; font-weight: 850; }
.pvacf-staff-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
  margin: 18px 0;
}
.pvacf-staff-detail-grid > div {
  padding: 15px;
  border: 1px solid #dce5ed;
  border-radius: 12px;
  background: #f7fafc;
  overflow-wrap: anywhere;
}
.pvacf-staff-detail-grid span {
  display: block;
  margin-bottom: 5px;
  color: var(--pvacf-muted);
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.pvacf-staff-detail-grid strong { color: var(--pvacf-blue-deep); font-size: 15px; line-height: 1.35; }
.pvacf-staff-story {
  margin: 18px 0;
  padding: 18px;
  border-left: 5px solid var(--pvacf-blue);
  border-radius: 12px;
  background: #eef5fb;
}
.pvacf-staff-story h3 { margin: 0 0 8px; color: var(--pvacf-blue-deep); font-size: 18px; }
.pvacf-staff-story p { margin: 0; color: var(--pvacf-ink); }
.pvacf-staff-notification-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
  margin: 16px 0;
}
.pvacf-staff-notification-summary > div {
  padding: 13px 15px;
  border-radius: 11px;
  background: #f4f8fb;
  border: 1px solid #dbe5ee;
}
.pvacf-staff-notification-summary span { display:block; color:var(--pvacf-muted); font-size:12px; font-weight:800; }
.pvacf-staff-notification-summary strong { display:block; margin-top:4px; color:var(--pvacf-blue-deep); }
.pvacf-staff-review-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 10px;
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid #dbe4ec;
}
.pvacf-staff-review-actions form,
.pvacf-staff-inline-form { display:flex; flex-wrap:wrap; align-items:end; gap:10px; margin:0; }
.pvacf-staff-review-actions label,
.pvacf-staff-inline-form label { display:block; color:var(--pvacf-blue-deep); font-size:14px; }
.pvacf-staff-review-actions select,
.pvacf-staff-inline-form select {
  min-height: 44px;
  border: 2px solid #b8c6d3;
  border-radius: 9px;
  padding: 8px 10px;
  background:#fff;
}
.pvacf-staff-attachments { margin: 20px 0; }
.pvacf-staff-attachments h3 { color:var(--pvacf-blue-deep); }
.pvacf-staff-attachment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.pvacf-staff-attachment-grid a {
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:120px;
  padding:12px;
  border:1px solid #d8e2eb;
  border-radius:12px;
  background:#f8fafc;
  text-decoration:none;
}
.pvacf-staff-attachment-grid img { width:100%; height:150px; object-fit:cover; border-radius:8px; }
.pvacf-staff-attachment-grid .dashicons { font-size:34px; width:34px; height:34px; color:var(--pvacf-blue); }
.pvacf-staff-claim-photo { margin: 18px 0; }
.pvacf-staff-claim-photo img { display:block; width:min(100%,760px); max-height:520px; object-fit:contain; border-radius:16px; background:#eef3f7; }
.pvacf-staff-campaign-metrics { margin-bottom: 18px; }
.pvacf-staff-test-mode {
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:11px 14px;
  border-radius:10px;
  background:#fff4d9;
  color:#765300;
  font-size:13px;
}
.pvacf-status-new { background:#eaf2fb; color:#134f89; }
.pvacf-status-in-review,
.pvacf-status-draft-created { background:#fff3d7; color:#805800; }
.pvacf-status-resolved,
.pvacf-status-approved,
.pvacf-status-sent { background:#e3f5e9; color:#126533; }
.pvacf-status-archived,
.pvacf-status-rejected { background:#eef0f3; color:#53606c; }
.pvacf-status-queued,
.pvacf-status-sending { background:#e8ecff; color:#314aa5; }
.pvacf-status-paused-test-mode { background:#fff3d7; color:#805800; }


@media (max-width: 820px) {
  .pvacf-staff-detail-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pvacf-staff-attachment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .pvacf-staff-review-card { display:block; padding:15px; }
  .pvacf-staff-review-card .pvacf-staff-content-buttons { margin-top:12px; }
  .pvacf-staff-review-card .pvacf-btn { width:100%; }
  .pvacf-staff-detail-grid,
  .pvacf-staff-notification-summary,
  .pvacf-staff-attachment-grid { grid-template-columns:1fr; }
  .pvacf-staff-review-actions,
  .pvacf-staff-review-actions form,
  .pvacf-staff-inline-form { display:grid; grid-template-columns:1fr; width:100%; }
  .pvacf-staff-review-actions select,
  .pvacf-staff-inline-form select,
  .pvacf-staff-review-actions .pvacf-btn,
  .pvacf-staff-inline-form .pvacf-btn { width:100%; }
  .pvacf-staff-attachment-grid img { height:190px; }
}

/* v1.0.17 — Role portals, logout state, and member self-service dashboard */
.pvacf-portal-return {
  position: fixed;
  left: 22px;
  bottom: 22px;
  z-index: 1190;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 50px;
  padding: 10px 15px;
  border-radius: 999px;
  background: #fff;
  color: var(--pvacf-blue-deep);
  border: 2px solid var(--pvacf-blue);
  box-shadow: 0 14px 32px rgba(0,0,0,.18);
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}
.pvacf-portal-return:hover { background: var(--pvacf-blue); color: #fff; }
.pvacf-portal-return > span:first-child { font-size: 21px; line-height: 1; }

.pvacf-member-page { background: linear-gradient(180deg,#f4f8fb 0%,#fff 78%); }
.pvacf-member-page-wrap { max-width: 1180px; }
.pvacf-member-dashboard { display: grid; gap: 24px; }
.pvacf-member-dashboard-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:28px 30px;
  border-radius:22px;
  background:linear-gradient(125deg,var(--pvacf-blue-deep),var(--pvacf-blue));
  color:#fff;
  box-shadow:var(--pvacf-shadow);
}
.pvacf-member-dashboard-heading .pvacf-card-kicker { color:#fff; opacity:.8; }
.pvacf-member-dashboard-heading h2 { margin:5px 0 9px; color:#fff; font-size:clamp(30px,4vw,46px); line-height:1; }
.pvacf-member-dashboard-heading p { margin:0; max-width:700px; color:rgba(255,255,255,.9); font-size:17px; }
.pvacf-member-dashboard-heading .pvacf-btn-outline { border-color:#fff; color:#fff; background:transparent; flex:0 0 auto; }
.pvacf-member-dashboard-heading .pvacf-btn-outline:hover { background:#fff; color:var(--pvacf-blue-deep); }
.pvacf-member-actions {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
}
.pvacf-member-action-card {
  display:grid;
  grid-template-columns:46px 1fr;
  column-gap:12px;
  row-gap:3px;
  align-items:center;
  min-height:112px;
  padding:18px;
  border:1px solid #d3dfe9;
  border-radius:17px;
  background:#fff;
  color:var(--pvacf-ink);
  text-decoration:none;
  box-shadow:var(--pvacf-shadow-soft);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.pvacf-member-action-card:hover { transform:translateY(-2px); border-color:#9db6cf; box-shadow:0 16px 36px rgba(7,31,61,.11); color:var(--pvacf-blue-deep); }
.pvacf-member-action-card .dashicons {
  grid-row:1 / span 2;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:var(--pvacf-blue-soft);
  color:var(--pvacf-blue);
  font-size:24px;
}
.pvacf-member-action-card strong { font-size:18px; line-height:1.12; }
.pvacf-member-action-card > span:last-child { font-size:13.5px; line-height:1.35; color:var(--pvacf-muted); }
.pvacf-member-dashboard-body { display:grid; gap:20px; }
.pvacf-member-panel {
  padding:clamp(21px,3vw,32px);
  border:1px solid #d7e2eb;
  border-radius:20px;
  background:#fff;
  box-shadow:var(--pvacf-shadow-soft);
}
.pvacf-member-panel-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:22px; margin-bottom:20px; }
.pvacf-member-panel-heading h3 { margin:4px 0 0; color:var(--pvacf-blue-deep); font-size:clamp(26px,3vw,36px); line-height:1.05; }
.pvacf-member-panel-heading p { margin:0; max-width:500px; color:var(--pvacf-muted); font-size:15.5px; }
.pvacf-member-quicklinks { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.pvacf-member-quicklinks a { padding:13px; border-radius:11px; background:var(--pvacf-blue-soft); color:var(--pvacf-blue-deep); font-weight:850; text-decoration:none; }
.pvacf-member-submission-list { display:grid; gap:9px; }
.pvacf-member-submission-list article { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:14px 15px; border:1px solid #dce5ed; border-radius:12px; background:#f9fbfd; }
.pvacf-member-submission-list h4 { margin:4px 0 0; color:var(--pvacf-blue-deep); font-size:17px; }
.pvacf-member-submission-status { flex:0 0 auto; padding:5px 9px; border-radius:999px; background:#eaf1f8; color:var(--pvacf-blue-deep); font-size:12px; font-weight:850; }
.pvacf-member-back { margin-top:0; }
.pvacf-member-form-panel .pvacf-form { max-width:none; }

@media (max-width: 900px) {
  .pvacf-member-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pvacf-member-quicklinks { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pvacf-member-panel-heading { display:block; }
  .pvacf-member-panel-heading p { margin-top:9px; }
}
@media (max-width: 640px) {
  .pvacf-portal-return { left:14px; bottom:14px; min-height:48px; padding:9px 12px; }
  .pvacf-portal-return span:last-child { max-width:98px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .pvacf-member-dashboard-heading { display:block; padding:21px 18px; border-radius:17px; }
  .pvacf-member-dashboard-heading p { font-size:15px; }
  .pvacf-member-dashboard-heading .pvacf-btn { margin-top:15px; width:100%; }
  .pvacf-member-actions { grid-template-columns:1fr 1fr; gap:9px; }
  .pvacf-member-action-card { min-height:101px; padding:13px 11px; grid-template-columns:36px 1fr; column-gap:8px; }
  .pvacf-member-action-card .dashicons { width:36px; height:36px; font-size:20px; border-radius:10px; }
  .pvacf-member-action-card strong { font-size:15.5px; }
  .pvacf-member-action-card > span:last-child { display:none; }
  .pvacf-member-panel { padding:18px 15px; border-radius:15px; }
  .pvacf-member-quicklinks { grid-template-columns:1fr; }
  .pvacf-member-submission-list article { display:block; }
  .pvacf-member-submission-status { display:inline-flex; margin-top:9px; }
}

/* v1.0.18 - flagship inner-page hero system + About/Advocacy/Sports/Events/WIM/Contact refresh */
.pvacf-feature-hero {
  position:relative;
  overflow:hidden;
  color:#fff;
  background:#08284d;
}
.pvacf-feature-hero::before {
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(90deg,rgba(3,24,48,.96) 0%,rgba(8,40,77,.86) 48%,rgba(8,40,77,.48) 100%),var(--pvacf-feature-hero);
  background-size:cover;
  background-position:var(--pvacf-feature-position,center);
}
.pvacf-feature-hero::after {
  content:"";
  position:absolute;
  right:-170px;
  bottom:-220px;
  width:470px;
  height:470px;
  border:60px solid rgba(255,255,255,.05);
  border-radius:50%;
}
.pvacf-feature-hero-grid {
  position:relative;
  z-index:1;
  min-height:535px;
  padding:72px 0;
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(290px,.78fr);
  gap:60px;
  align-items:center;
}
.pvacf-feature-hero-copy h1 {
  margin:0 0 24px;
  color:#fff;
  font-size:clamp(52px,6vw,80px);
  line-height:.96;
  letter-spacing:-.045em;
}
.pvacf-feature-hero-copy > p {
  max-width:760px;
  margin:0;
  color:rgba(255,255,255,.94);
  font-size:21px;
  line-height:1.55;
}
.pvacf-feature-hero .pvacf-btn-outline { color:#fff; border-color:#fff; background:rgba(255,255,255,.04); }
.pvacf-feature-hero .pvacf-btn-outline:hover { color:var(--pvacf-blue-deep); background:#fff; }
.pvacf-feature-hero-aside {
  padding:30px;
  border-radius:22px;
  border-top:6px solid var(--pvacf-red);
  background:rgba(255,255,255,.96);
  color:var(--pvacf-ink);
  box-shadow:0 25px 65px rgba(0,0,0,.24);
}
.pvacf-feature-hero-aside .pvacf-card-kicker { color:var(--pvacf-red); }
.pvacf-feature-hero-aside > strong {
  display:block;
  margin:9px 0 12px;
  color:var(--pvacf-blue-deep);
  font-size:clamp(32px,3.2vw,48px);
  line-height:1;
  letter-spacing:-.035em;
}
.pvacf-feature-hero-aside p { margin:0; color:var(--pvacf-muted); font-size:17px; line-height:1.5; }

/* About */
.pvacf-about-mission-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:54px; align-items:start; }
.pvacf-about-mission-grid h2,.pvacf-advocacy-priority-layout h2,.pvacf-wim-intro-grid h2,.pvacf-contact-help-layout h2 { margin:7px 0 20px; color:var(--pvacf-blue-deep); font-size:clamp(34px,4vw,52px); line-height:1.03; letter-spacing:-.025em; }
.pvacf-about-purpose-card,.pvacf-wim-staff-note,.pvacf-contact-hours { padding:28px; border-radius:18px; background:var(--pvacf-blue-soft); border:1px solid #d7e3ef; }
.pvacf-about-purpose-card ul { margin:16px 0 0; padding-left:22px; }
.pvacf-about-purpose-card li + li { margin-top:10px; }
.pvacf-about-leadership-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pvacf-about-leadership-grid > article { min-height:100%; }
.pvacf-about-leadership-grid ul { margin:12px 0 0; padding-left:20px; }
.pvacf-about-proof-grid,.pvacf-about-proof-actions { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.pvacf-about-proof-grid > div:first-child { max-width:720px; }
.pvacf-about-proof-grid h2,.pvacf-advocacy-local-grid h2,.pvacf-sports-games-grid h2 { color:#fff; font-size:clamp(36px,4vw,54px); line-height:1.02; margin:8px 0 15px; }
.pvacf-about-proof-grid p,.pvacf-advocacy-local-grid p,.pvacf-sports-games-grid p { color:rgba(255,255,255,.86); }

/* Advocacy */
.pvacf-advocacy-help-grid,.pvacf-sports-benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pvacf-advocacy-help-grid .pvacf-program-icon { width:52px; height:52px; margin:0 0 18px; font-size:27px; color:var(--pvacf-blue); display:grid; place-items:center; }
.pvacf-advocacy-priority-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:54px; align-items:start; }
.pvacf-priority-list { display:grid; gap:12px; }
.pvacf-priority-list article { display:grid; grid-template-columns:58px 1fr; gap:18px; padding:20px; background:#fff; border:1px solid var(--pvacf-border); border-radius:14px; box-shadow:var(--pvacf-shadow-soft); }
.pvacf-priority-list article > strong { color:var(--pvacf-red); font-size:26px; line-height:1; }
.pvacf-priority-list h3 { margin:0 0 5px; color:var(--pvacf-blue-deep); font-size:20px; }
.pvacf-priority-list p { margin:0; color:var(--pvacf-muted); font-size:15px; }
.pvacf-advocacy-local-grid,.pvacf-sports-games-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; align-items:center; }
.pvacf-advocacy-local-image img,.pvacf-sports-games-grid img { width:100%; min-height:390px; max-height:500px; object-fit:cover; border-radius:22px; box-shadow:0 24px 58px rgba(0,0,0,.25); }

/* Sports */
.pvacf-sports-photo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.pvacf-sports-photo-grid a { position:relative; min-height:340px; overflow:hidden; border-radius:18px; color:#fff; text-decoration:none; box-shadow:var(--pvacf-shadow); }
.pvacf-sports-photo-grid img { width:100%; height:100%; min-height:340px; object-fit:cover; transition:transform .2s ease; }
.pvacf-sports-photo-grid a:hover img { transform:scale(1.025); }
.pvacf-sports-photo-grid a::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(3,24,48,.92)); }
.pvacf-sports-photo-grid span { position:absolute; z-index:1; left:20px; right:20px; bottom:18px; }
.pvacf-sports-photo-grid strong { display:block; font-size:23px; line-height:1.05; }
.pvacf-sports-photo-grid small { color:rgba(255,255,255,.82); font-size:13px; }

/* WIM */
.pvacf-wim-intro-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:50px; align-items:start; }
.pvacf-wim-staff-note h3 { margin:8px 0 12px; color:var(--pvacf-blue-deep); font-size:25px; line-height:1.15; }

/* Contact */
.pvacf-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.pvacf-contact-card { padding:30px; border:1px solid var(--pvacf-border); border-radius:18px; background:#fff; box-shadow:var(--pvacf-shadow-soft); }
.pvacf-contact-card h2 { margin:7px 0 12px; color:var(--pvacf-blue-deep); font-size:29px; }
.pvacf-contact-card-emergency { border-top:5px solid var(--pvacf-red); }
.pvacf-contact-big-link { display:inline-block; margin-top:5px; color:var(--pvacf-blue-deep); font-size:28px; font-weight:900; text-decoration:none; }
.pvacf-contact-help-layout { display:grid; grid-template-columns:1.25fr .75fr; gap:48px; align-items:start; }
.pvacf-contact-hours h3 { margin:8px 0 15px; color:var(--pvacf-blue-deep); font-size:26px; }
.pvacf-contact-hours ul { margin:0; padding-left:20px; }
.pvacf-contact-hours li + li { margin-top:8px; }
.pvacf-contact-page .pvacf-section-blue .pvacf-form { color:var(--pvacf-ink); }

/* Events */
.pvacf-events-page .pvacf-calendar { margin-top:12px; }

/* Dropdown utility for the expanded How We Help menu. */
.pvacf-primary-nav .sub-menu { min-width:285px; }
.pvacf-primary-nav .sub-menu a { white-space:normal; line-height:1.25; }

@media (max-width: 980px) {
  .pvacf-feature-hero-grid { min-height:0; padding:58px 0; grid-template-columns:1fr; gap:30px; }
  .pvacf-feature-hero-aside { max-width:580px; }
  .pvacf-about-mission-grid,.pvacf-advocacy-priority-layout,.pvacf-advocacy-local-grid,.pvacf-sports-games-grid,.pvacf-wim-intro-grid,.pvacf-contact-help-layout { grid-template-columns:1fr; gap:30px; }
  .pvacf-about-proof-grid { align-items:flex-start; }
  .pvacf-sports-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 720px) {
  .pvacf-feature-hero::before { background-image:linear-gradient(180deg,rgba(3,24,48,.88),rgba(8,40,77,.94)),var(--pvacf-feature-hero); }
  .pvacf-feature-hero-grid { padding:42px 0 46px; gap:22px; }
  .pvacf-feature-hero-copy h1 { font-size:42px; line-height:.98; }
  .pvacf-feature-hero-copy > p { font-size:16px; line-height:1.5; }
  .pvacf-feature-hero-aside { padding:20px; border-radius:16px; }
  .pvacf-feature-hero-aside > strong { font-size:34px; }
  .pvacf-feature-hero-aside p { font-size:15px; }
  .pvacf-advocacy-help-grid,.pvacf-sports-benefit-grid,.pvacf-about-leadership-grid,.pvacf-contact-grid { grid-template-columns:1fr; }
  .pvacf-about-proof-grid,.pvacf-about-proof-actions { flex-direction:column; align-items:stretch; }
  .pvacf-about-proof-actions .pvacf-btn { width:100%; }
  .pvacf-priority-list article { grid-template-columns:42px 1fr; padding:16px; gap:12px; }
  .pvacf-sports-photo-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .pvacf-sports-photo-grid a,.pvacf-sports-photo-grid img { min-height:245px; }
  .pvacf-sports-photo-grid span { left:14px; right:14px; bottom:13px; }
  .pvacf-sports-photo-grid strong { font-size:18px; }
  .pvacf-advocacy-local-image img,.pvacf-sports-games-grid img { min-height:280px; border-radius:16px; }
  .pvacf-contact-card { padding:21px; }
  .pvacf-contact-big-link { font-size:23px; }
  .pvacf-contact-page .pvacf-section-blue .pvacf-program-contact { display:block; }
  .pvacf-contact-page .pvacf-section-blue .pvacf-form { margin-top:20px; }
}

@media (max-width: 430px) {
  .pvacf-sports-photo-grid { grid-template-columns:1fr; }
  .pvacf-sports-photo-grid a,.pvacf-sports-photo-grid img { min-height:260px; }
}

/* v1.0.19 - compact PVACF accessibility controls + form-consent visibility */

/* Contact-page contrast fix: the generic program heading rule is intentionally
   dark on light sections, but this volunteer block lives on the navy band. */
.pvacf-contact-page .pvacf-section-blue .pvacf-program-contact h2 {
  color:#fff !important;
}
.pvacf-contact-page .pvacf-section-blue .pvacf-program-contact > div:first-child > p {
  color:rgba(255,255,255,.9);
}

/* Consent/authorization rows across PVACF forms. Keep option groups such as
   newsletter preferences untouched; this treatment is for standalone consent. */
.pvacf-form .pvacf-field:not(fieldset) > label:has(input[type="checkbox"]),
.pvacf-photo-claim-form .pvacf-field:not(fieldset) > label:has(input[type="checkbox"]) {
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:14px 15px;
  margin:4px 0 8px;
  border:2px solid #b9c9d9;
  border-radius:12px;
  background:#f5f8fb;
  color:var(--pvacf-blue-deep);
  font-size:15px;
  line-height:1.45;
  font-weight:800;
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.pvacf-form .pvacf-field:not(fieldset) > label:has(input[type="checkbox"]):hover,
.pvacf-photo-claim-form .pvacf-field:not(fieldset) > label:has(input[type="checkbox"]):hover {
  border-color:var(--pvacf-blue);
  background:#eef4fa;
}
.pvacf-form .pvacf-field:not(fieldset) > label:has(input[type="checkbox"]:checked),
.pvacf-photo-claim-form .pvacf-field:not(fieldset) > label:has(input[type="checkbox"]:checked) {
  border-color:var(--pvacf-blue);
  background:var(--pvacf-blue-soft);
  box-shadow:inset 4px 0 0 var(--pvacf-blue);
}
.pvacf-form .pvacf-field:not(fieldset) input[type="checkbox"],
.pvacf-photo-claim-form .pvacf-field:not(fieldset) input[type="checkbox"] {
  width:27px !important;
  height:27px !important;
  min-width:27px;
  margin:0 !important;
  padding:0 !important;
  accent-color:var(--pvacf-blue);
  cursor:pointer;
}
.pvacf-form .pvacf-field:not(fieldset) > label.pvacf-consent-missing,
.pvacf-photo-claim-form .pvacf-field:not(fieldset) > label.pvacf-consent-missing {
  border-color:var(--pvacf-red);
  background:#fff1f2;
  box-shadow:0 0 0 4px rgba(184,32,45,.12);
}
.pvacf-form .pvacf-field:not(fieldset) > label.pvacf-consent-missing::after,
.pvacf-photo-claim-form .pvacf-field:not(fieldset) > label.pvacf-consent-missing::after {
  content:"Please check this box before submitting.";
  grid-column:2;
  color:var(--pvacf-red-dark);
  font-size:13px;
  font-weight:900;
}

/* Small, chapter-branded accessibility launcher. */
.pvacf-a11y-launcher {
  position:fixed;
  left:22px;
  bottom:22px;
  z-index:1260;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border:2px solid #fff;
  border-radius:50%;
  background:var(--pvacf-blue-deep);
  color:#fff;
  box-shadow:0 14px 32px rgba(0,0,0,.25);
  cursor:pointer;
  transition:transform .16s ease,background .16s ease;
}
.pvacf-a11y-launcher:hover { background:var(--pvacf-red); transform:translateY(-2px); }
.pvacf-a11y-launcher svg { width:29px; height:29px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
/* Keep role-return navigation available without colliding with accessibility. */
.pvacf-portal-return { bottom:88px; }

.pvacf-a11y-panel {
  position:fixed;
  left:22px;
  bottom:88px;
  z-index:1300;
  width:min(440px,calc(100vw - 44px));
  max-height:min(720px,calc(100vh - 120px));
  overflow:auto;
  padding:24px;
  border:1px solid #cbd8e5;
  border-radius:20px;
  background:#fff;
  color:var(--pvacf-ink);
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}
.pvacf-a11y-panel[hidden] { display:none !important; }
.pvacf-a11y-panel-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.pvacf-a11y-panel-header .pvacf-card-kicker { color:var(--pvacf-red); }
.pvacf-a11y-panel h2 { margin:5px 0 0; color:var(--pvacf-blue-deep); font-size:29px; line-height:1.05; }
.pvacf-a11y-close {
  flex:0 0 auto;
  width:42px;
  height:42px;
  border:1px solid #cbd8e5;
  border-radius:50%;
  background:#f5f8fb;
  color:var(--pvacf-blue-deep);
  font-size:28px;
  line-height:1;
}
.pvacf-a11y-close:hover { background:var(--pvacf-blue-soft); }
.pvacf-a11y-intro { margin:16px 0 20px; color:var(--pvacf-muted); font-size:14.5px; line-height:1.5; }
.pvacf-a11y-control { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px; border:1px solid #dae3eb; border-radius:14px; background:#f8fafc; }
.pvacf-a11y-control strong,.pvacf-a11y-option strong { display:block; color:var(--pvacf-blue-deep); font-size:16px; }
.pvacf-a11y-control > div:first-child > span { display:block; margin-top:3px; color:var(--pvacf-muted); font-size:13px; }
.pvacf-a11y-stepper { display:flex; gap:5px; }
.pvacf-a11y-stepper button {
  min-width:46px;
  min-height:42px;
  padding:7px 9px;
  border:2px solid #b9c9d9;
  border-radius:10px;
  background:#fff;
  color:var(--pvacf-blue-deep);
  font-weight:900;
}
.pvacf-a11y-stepper button.is-active { border-color:var(--pvacf-blue); background:var(--pvacf-blue); color:#fff; }
.pvacf-a11y-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }
.pvacf-a11y-option {
  display:grid;
  grid-template-columns:38px 1fr;
  gap:10px;
  align-items:start;
  min-height:104px;
  padding:14px;
  text-align:left;
  border:2px solid #d5e0ea;
  border-radius:14px;
  background:#fff;
  color:var(--pvacf-ink);
}
.pvacf-a11y-option > span:first-child { display:grid; place-items:center; width:36px; height:36px; border-radius:9px; background:var(--pvacf-blue-soft); color:var(--pvacf-blue); font-weight:950; }
.pvacf-a11y-option small { display:block; margin-top:4px; color:var(--pvacf-muted); font-size:12.5px; line-height:1.35; }
.pvacf-a11y-option.is-active { border-color:var(--pvacf-blue); background:var(--pvacf-blue-soft); box-shadow:inset 0 0 0 1px var(--pvacf-blue); }
.pvacf-a11y-option.is-active > span:first-child { background:var(--pvacf-blue); color:#fff; }
.pvacf-a11y-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:18px; padding-top:16px; border-top:1px solid #dce5ed; }
.pvacf-a11y-footer .pvacf-btn { min-height:42px; padding:9px 13px; }
.pvacf-a11y-footer > a { font-size:13px; font-weight:800; }

/* User-selected accessibility states. */
html.pvacf-a11y-readable-font body,
html.pvacf-a11y-readable-font button,
html.pvacf-a11y-readable-font input,
html.pvacf-a11y-readable-font select,
html.pvacf-a11y-readable-font textarea {
  font-family:Arial,Helvetica,sans-serif !important;
  letter-spacing:.01em;
}
html.pvacf-a11y-highlight-links a:not(.pvacf-btn):not(.pvacf-brand-fallback):not(.custom-logo-link) {
  text-decoration:underline !important;
  text-decoration-thickness:2px !important;
  text-underline-offset:3px !important;
}
html.pvacf-a11y-high-contrast {
  --pvacf-blue:#003b73;
  --pvacf-blue-deep:#00182f;
  --pvacf-blue-mid:#004f96;
  --pvacf-blue-soft:#e8f2fb;
  --pvacf-red:#a9001c;
  --pvacf-red-dark:#780014;
  --pvacf-ink:#000;
  --pvacf-muted:#222;
  --pvacf-border:#596674;
}
html.pvacf-a11y-high-contrast body { color:#000; background:#fff; }
html.pvacf-a11y-high-contrast .pvacf-section-blue,
html.pvacf-a11y-high-contrast .pvacf-page-hero,
html.pvacf-a11y-high-contrast .pvacf-primary-nav,
html.pvacf-a11y-high-contrast .site-footer { background:#00182f !important; }
html.pvacf-a11y-high-contrast :focus-visible { outline-width:5px; outline-color:#ffbf00; }
html.pvacf-a11y-text-large body { font-size:21px; }
html.pvacf-a11y-text-xlarge body { font-size:23px; }
html.pvacf-a11y-text-large :is(p,li,label,input,select,textarea),
html.pvacf-a11y-text-xlarge :is(p,li,label,input,select,textarea) { line-height:1.65; }
html.pvacf-a11y-text-large .pvacf-help,
html.pvacf-a11y-text-large .pvacf-meta { font-size:16px; }
html.pvacf-a11y-text-xlarge .pvacf-help,
html.pvacf-a11y-text-xlarge .pvacf-meta { font-size:17px; }
html.pvacf-a11y-reduce-motion { scroll-behavior:auto !important; }
html.pvacf-a11y-reduce-motion *,
html.pvacf-a11y-reduce-motion *::before,
html.pvacf-a11y-reduce-motion *::after {
  animation-duration:.001ms !important;
  animation-iteration-count:1 !important;
  transition-duration:.001ms !important;
  scroll-behavior:auto !important;
}

@media (max-width:720px) {
  .pvacf-form .pvacf-field:not(fieldset) > label:has(input[type="checkbox"]),
  .pvacf-photo-claim-form .pvacf-field:not(fieldset) > label:has(input[type="checkbox"]) {
    grid-template-columns:30px minmax(0,1fr);
    padding:13px;
    gap:10px;
    font-size:14px;
  }
  .pvacf-form .pvacf-field:not(fieldset) input[type="checkbox"],
  .pvacf-photo-claim-form .pvacf-field:not(fieldset) input[type="checkbox"] { width:25px !important; height:25px !important; min-width:25px; }
  .pvacf-a11y-launcher { left:14px; bottom:14px; width:50px; height:50px; }
  .pvacf-portal-return { bottom:76px; }
  .pvacf-a11y-panel { left:10px; bottom:72px; width:calc(100vw - 20px); max-height:calc(100vh - 90px); padding:18px; border-radius:16px; }
  .pvacf-a11y-panel h2 { font-size:25px; }
  .pvacf-a11y-control { display:block; }
  .pvacf-a11y-stepper { margin-top:12px; }
  .pvacf-a11y-stepper button { flex:1 1 0; }
  .pvacf-a11y-options { grid-template-columns:1fr; }
  .pvacf-a11y-option { min-height:0; }
  .pvacf-a11y-footer { align-items:stretch; flex-direction:column; }
  .pvacf-a11y-footer .pvacf-btn { width:100%; }
}

/* v1.0.20 — Events submission callout contrast fix */
.pvacf-section-blue .pvacf-program-contact h2 {
  color: #fff;
}


/* v1.0.21 — Policies & Procedures library */
.pvacf-policy-intro-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:34px; align-items:start; }
.pvacf-policy-intro-grid h2 { margin:8px 0 16px; color:var(--pvacf-blue-deep); font-size:clamp(34px,4vw,52px); line-height:1.02; }
.pvacf-policy-communications-callout { background:linear-gradient(145deg,var(--pvacf-blue-deep),var(--pvacf-blue)); color:#fff; border-radius:22px; padding:32px; box-shadow:var(--pvacf-shadow); }
.pvacf-policy-communications-callout .pvacf-card-kicker,.pvacf-policy-communications-callout h3,.pvacf-policy-communications-callout strong { color:#fff; }
.pvacf-policy-communications-callout h3 { margin:8px 0 14px; font-size:29px; line-height:1.08; }
.pvacf-policy-communications-callout p { color:rgba(255,255,255,.9); font-size:16.5px; }
.pvacf-policy-group + .pvacf-policy-group { margin-top:58px; }
.pvacf-policy-group-heading { display:flex; gap:28px; justify-content:space-between; align-items:end; margin-bottom:24px; }
.pvacf-policy-group-heading > div { max-width:620px; }
.pvacf-policy-group-heading h2 { margin:4px 0 0; color:var(--pvacf-blue-deep); font-size:clamp(30px,3.3vw,44px); line-height:1.04; }
.pvacf-policy-group-heading p { max-width:600px; margin:0; color:var(--pvacf-muted); font-size:16.5px; }
.pvacf-policy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.pvacf-policy-card { display:flex; flex-direction:column; justify-content:space-between; min-height:250px; padding:26px; background:#fff; border:1px solid var(--pvacf-border); border-radius:18px; box-shadow:var(--pvacf-shadow-soft); border-top:5px solid var(--pvacf-blue); }
.pvacf-policy-card h3 { margin:7px 0 10px; color:var(--pvacf-blue-deep); font-size:24px; line-height:1.15; }
.pvacf-policy-card p { margin:0; color:var(--pvacf-muted); font-size:16px; line-height:1.5; }
.pvacf-policy-card-actions { display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin-top:24px; }
.pvacf-policy-source-link { font-size:13px; font-weight:800; }
.pvacf-policy-review-section { background:linear-gradient(180deg,#fff,#f4f7fa); border-top:1px solid var(--pvacf-border); }
.pvacf-policy-review-grid { display:grid; grid-template-columns:1fr auto; gap:34px; align-items:center; }
.pvacf-policy-review-grid h2 { margin:7px 0 14px; color:var(--pvacf-blue-deep); font-size:clamp(32px,3.6vw,48px); line-height:1.02; }
.pvacf-policy-review-actions { display:flex; flex-direction:column; gap:12px; min-width:240px; }
.pvacf-staff-policy-workflow { border-left:6px solid var(--pvacf-red); background:#fff8f8; }
.pvacf-staff-policy-workflow > strong { display:block; color:var(--pvacf-red-dark); font-size:18px; margin-bottom:5px; }
@media (max-width:760px) {
  .pvacf-policy-intro-grid,.pvacf-policy-review-grid { grid-template-columns:1fr; gap:20px; }
  .pvacf-policy-grid { grid-template-columns:1fr; gap:12px; }
  .pvacf-policy-group-heading { display:block; margin-bottom:17px; }
  .pvacf-policy-group-heading p { margin-top:9px; }
  .pvacf-policy-card { min-height:0; padding:20px; }
  .pvacf-policy-review-actions { min-width:0; }
  .pvacf-policy-review-actions .pvacf-btn { width:100%; }
  .pvacf-policy-communications-callout { padding:24px 20px; }
}

/* Portal guided onboarding / coach marks */
.pvacf-tour-launcher{
  appearance:none;border:1px solid var(--pvacf-blue);background:#fff;color:var(--pvacf-blue-deep);
  border-radius:999px;padding:.55rem .8rem;font:inherit;font-weight:800;display:inline-flex;align-items:center;gap:.45rem;
  cursor:pointer;box-shadow:0 6px 18px rgba(8,40,77,.10);margin-top:.7rem
}
.pvacf-tour-launcher:hover,.pvacf-tour-launcher:focus-visible{background:var(--pvacf-blue-soft);outline:3px solid rgba(23,74,133,.18);outline-offset:2px}
.pvacf-tour-launcher>span:first-child{width:1.45rem;height:1.45rem;border-radius:50%;display:grid;place-items:center;background:var(--pvacf-blue);color:#fff;font-weight:900}
.pvacf-tour-locked{overflow:hidden}
.pvacf-tour-prompt,.pvacf-tour-overlay{position:fixed;inset:0;z-index:100000}
.pvacf-tour-prompt[hidden],.pvacf-tour-overlay[hidden]{display:none!important}
.pvacf-tour-prompt-backdrop,.pvacf-tour-shade{position:absolute;inset:0;background:rgba(4,19,38,.72);backdrop-filter:blur(2px)}
.pvacf-tour-prompt-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 32px));background:#fff;border-radius:22px;border-top:5px solid var(--pvacf-red);padding:2rem;box-shadow:0 28px 80px rgba(0,0,0,.30);color:var(--pvacf-blue-deep)}
.pvacf-tour-prompt-card h2{font-size:clamp(1.7rem,4vw,2.35rem);line-height:1.04;margin:.55rem 0 .8rem;color:var(--pvacf-blue-deep)}
.pvacf-tour-prompt-copy{font-size:1.05rem;line-height:1.6;color:var(--pvacf-muted);margin:0}
.pvacf-tour-prompt-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.35rem}
.pvacf-tour-small{font-size:.86rem;color:var(--pvacf-muted);margin:1rem 0 0}
.pvacf-tour-close{position:absolute;right:1rem;top:.8rem;border:0;background:transparent;color:var(--pvacf-blue-deep);font-size:2rem;line-height:1;cursor:pointer;border-radius:8px;width:2.4rem;height:2.4rem}
.pvacf-tour-close:focus-visible{outline:3px solid var(--pvacf-blue-mid)}
.pvacf-tour-spotlight{position:fixed;z-index:2;border:4px solid #fff;border-radius:16px;box-shadow:0 0 0 3px var(--pvacf-red),0 12px 38px rgba(0,0,0,.30);pointer-events:none;transition:left .18s ease,top .18s ease,width .18s ease,height .18s ease}
.pvacf-tour-coach{position:fixed;z-index:3;background:#fff;border-radius:18px;border-top:5px solid var(--pvacf-red);padding:1.15rem 1.2rem 1rem;box-shadow:0 24px 64px rgba(0,0,0,.34);color:var(--pvacf-blue-deep)}
.pvacf-tour-progress{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--pvacf-red);font-weight:900;margin-bottom:.4rem}
.pvacf-tour-coach h3{margin:0 0 .45rem;font-size:1.35rem;color:var(--pvacf-blue-deep)}
.pvacf-tour-step-copy{margin:0;color:var(--pvacf-muted);line-height:1.5}
.pvacf-tour-controls{display:flex;align-items:center;gap:.6rem;margin-top:1rem}
.pvacf-tour-skip{border:0;background:transparent;color:var(--pvacf-muted);font:inherit;text-decoration:underline;cursor:pointer;margin-right:auto}
.pvacf-tour-controls .pvacf-btn{padding:.55rem .8rem;min-height:42px}
.pvacf-tour-controls .pvacf-tour-prev:disabled{opacity:.4;cursor:not-allowed}
.pvacf-policy-summary{margin:.65rem 0 0;color:var(--pvacf-muted);line-height:1.48;max-width:58ch}

@media (max-width:700px){
  .pvacf-tour-launcher>span:last-child{display:none}
  .pvacf-tour-launcher{padding:.5rem;margin-left:.4rem;margin-top:0}
  .pvacf-tour-prompt-card{padding:1.5rem 1.2rem}
  .pvacf-tour-prompt-actions{display:grid;grid-template-columns:1fr}
  .pvacf-tour-prompt-actions .pvacf-btn{width:100%}
  .pvacf-tour-coach{padding:1rem;max-height:min(52vh,420px);overflow:auto}
  .pvacf-tour-controls{flex-wrap:wrap}
  .pvacf-tour-skip{order:3;width:100%;text-align:center;margin:.15rem 0 0}
}

@media (prefers-reduced-motion:reduce){
  .pvacf-tour-spotlight{transition:none}
}

/* v2.0.24 - Phase 2 Wheels in Motion digital publication */
.pvacf-wim-page .pvacf-feature-hero::before {
  /* The cover masthead repeats the page title. Use the stronger center image band instead. */
  background-position:var(--pvacf-feature-position,center 56%);
}

.pvacf-wim-issue-hero {
  position:relative;
  overflow:hidden;
  color:#fff;
  background:#08284d;
}
.pvacf-wim-issue-hero::before {
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(90deg,rgba(3,24,48,.97) 0%,rgba(8,40,77,.86) 52%,rgba(8,40,77,.52) 100%),var(--pvacf-wim-issue-cover);
  background-size:cover;
  background-position:center 56%;
}
.pvacf-wim-issue-hero-inner {
  position:relative;
  z-index:1;
  min-height:320px;
  padding:54px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:42px;
}
.pvacf-wim-issue-hero h1 {
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(38px,5vw,64px);
  line-height:1;
  letter-spacing:-.035em;
}
.pvacf-wim-issue-hero p { max-width:760px; margin:0; color:rgba(255,255,255,.9); font-size:18px; }
.pvacf-wim-issue-hero-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.pvacf-wim-issue-hero .pvacf-btn-outline { color:#fff; border-color:#fff; background:rgba(255,255,255,.06); }
.pvacf-wim-issue-hero .pvacf-btn-outline:hover { color:var(--pvacf-blue-deep); background:#fff; }
.pvacf-wim-reader-section { background:#eef3f8; }

/* Reader navigation: large, obvious, modern controls instead of a flat utility sidebar. */
.pvacf-wim-reader { display:grid; gap:22px; }
.pvacf-wim-reader-nav {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.pvacf-wim-reader-tab {
  position:relative;
  min-height:116px;
  padding:18px 16px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  border:1px solid #d6e1eb;
  border-radius:18px;
  color:var(--pvacf-blue-deep);
  background:linear-gradient(145deg,#fff,#f6f9fc);
  box-shadow:0 10px 28px rgba(7,31,61,.08);
  text-decoration:none;
  overflow:hidden;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.pvacf-wim-reader-tab::after {
  content:"";
  position:absolute;
  width:86px;
  height:86px;
  border:16px solid rgba(18,58,111,.055);
  border-radius:50%;
  right:-24px;
  top:-29px;
}
.pvacf-wim-reader-tab > span { position:absolute; top:14px; left:16px; font-size:23px; line-height:1; color:var(--pvacf-red); }
.pvacf-wim-reader-tab strong { position:relative; z-index:1; font-size:18px; line-height:1.1; }
.pvacf-wim-reader-tab small { position:relative; z-index:1; margin-top:5px; color:var(--pvacf-muted); font-size:12.5px; line-height:1.25; }
.pvacf-wim-reader-tab:hover { transform:translateY(-2px); border-color:#adc3d8; box-shadow:0 17px 34px rgba(7,31,61,.13); color:var(--pvacf-blue-deep); }
.pvacf-wim-reader-tab.is-active { color:#fff; border-color:var(--pvacf-blue); background:linear-gradient(135deg,var(--pvacf-blue),var(--pvacf-blue-deep)); box-shadow:0 16px 36px rgba(8,40,77,.24); }
.pvacf-wim-reader-tab.is-active > span,.pvacf-wim-reader-tab.is-active small { color:#fff; }
.pvacf-wim-reader-tab.is-active::after { border-color:rgba(255,255,255,.09); }

.pvacf-wim-page-view,.pvacf-wim-browser-view {
  overflow:hidden;
  border:1px solid #d5e0ea;
  border-radius:24px;
  background:#fff;
  box-shadow:0 20px 50px rgba(7,31,61,.11);
}
.pvacf-wim-page-toolbar {
  padding:17px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid var(--pvacf-border);
  background:#fff;
}
.pvacf-wim-page-toolbar > div { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 14px; }
.pvacf-wim-page-toolbar strong { color:var(--pvacf-blue-deep); font-size:19px; }
.pvacf-wim-page-toolbar > div > span:last-child { color:var(--pvacf-muted); font-size:14px; }
.pvacf-wim-pdf-frame { display:block; width:100%; height:min(78vh,980px); min-height:680px; border:0; background:#3a4652; }
.pvacf-wim-reader-fallback { margin:0; padding:12px 20px; color:var(--pvacf-muted); background:#f7f9fb; font-size:13px; }

.pvacf-wim-browser-view { padding:30px; }
.pvacf-wim-view-heading { max-width:820px; margin-bottom:25px; }
.pvacf-wim-view-heading h2 { margin:7px 0 10px; color:var(--pvacf-blue-deep); font-size:clamp(32px,4vw,50px); line-height:1.02; letter-spacing:-.03em; }
.pvacf-wim-view-heading p { margin:0; color:var(--pvacf-muted); font-size:17px; }

.pvacf-wim-content-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-flow:dense;
  gap:16px;
}
.pvacf-wim-content-card {
  grid-column:span 4;
  min-height:330px;
  border-radius:20px;
  overflow:hidden;
  background:#0b2e55;
  box-shadow:0 14px 32px rgba(7,31,61,.14);
}
.pvacf-wim-content-card.is-featured { grid-column:span 8; min-height:410px; }
.pvacf-wim-content-card:nth-child(5n+4) { grid-column:span 8; }
.pvacf-wim-content-card > a,.pvacf-wim-advertiser-card > a {
  position:relative;
  isolation:isolate;
  min-height:inherit;
  height:100%;
  padding:20px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:#fff;
  text-decoration:none;
  background-image:linear-gradient(180deg,rgba(2,16,31,.1) 18%,rgba(3,22,43,.32) 46%,rgba(3,22,43,.96) 100%),var(--pvacf-wim-card-image);
  background-size:cover;
  background-position:center;
  transition:transform .18s ease,filter .18s ease;
}
.pvacf-wim-content-card > a::before,.pvacf-wim-advertiser-card > a::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(135deg,rgba(18,58,111,.16),rgba(184,32,45,.08));
}
.pvacf-wim-content-card:hover > a,.pvacf-wim-advertiser-card:hover > a { filter:saturate(1.05) brightness(1.03); }
.pvacf-wim-card-page {
  align-self:flex-end;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--pvacf-blue-deep);
  font-size:12px;
  font-weight:900;
  box-shadow:0 5px 16px rgba(0,0,0,.16);
}
.pvacf-wim-card-copy { max-width:720px; }
.pvacf-wim-card-category { display:inline-block; margin-bottom:8px; color:#fff; font-size:12px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.pvacf-wim-card-copy h3 { margin:0; color:#fff; font-size:clamp(24px,2.4vw,36px); line-height:1.02; letter-spacing:-.025em; text-shadow:0 2px 12px rgba(0,0,0,.35); }
.pvacf-wim-content-card:not(.is-featured) .pvacf-wim-card-copy h3 { font-size:26px; }
.pvacf-wim-card-author { margin:8px 0 0; color:rgba(255,255,255,.9); font-size:15px; font-weight:800; }
.pvacf-wim-card-excerpt { margin:9px 0 0; max-width:600px; color:rgba(255,255,255,.84); font-size:14px; line-height:1.4; }
.pvacf-wim-card-action { display:inline-flex; margin-top:15px; gap:7px; align-items:center; font-size:14px; font-weight:900; }

.pvacf-wim-advertiser-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.pvacf-wim-advertiser-card { min-height:360px; overflow:hidden; border-radius:20px; background:#0b2e55; box-shadow:0 14px 32px rgba(7,31,61,.14); }
.pvacf-wim-advertiser-card .pvacf-wim-card-copy h3 { font-size:34px; }

/* WIM publishing controls in the simplified staff portal. */
.pvacf-wim-editor-box { margin-top:22px; }
.pvacf-wim-editor-box > h3 { margin:6px 0 7px; color:var(--pvacf-blue-deep); }
.pvacf-wim-editor-fields details { padding:14px; border:1px solid var(--pvacf-border); border-radius:12px; background:#fff; }
.pvacf-wim-editor-fields summary { cursor:pointer; color:var(--pvacf-blue-deep); }
.pvacf-wim-editor-table { width:100%; min-width:1000px; margin-top:12px; border-collapse:collapse; font-size:13px; }
.pvacf-wim-editor-table th,.pvacf-wim-editor-table td { padding:7px; border:1px solid #dce4ec; vertical-align:top; }
.pvacf-wim-editor-table th { background:#eef3f8; text-align:left; }
.pvacf-wim-editor-table input { width:100%; min-height:38px; padding:7px 8px; border:1px solid #b7c5d3; border-radius:7px; }

@media (max-width: 1040px) {
  .pvacf-wim-reader-nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pvacf-wim-content-card,.pvacf-wim-content-card:nth-child(5n+4) { grid-column:span 6; }
  .pvacf-wim-content-card.is-featured { grid-column:span 12; }
  .pvacf-wim-issue-hero-inner { align-items:flex-start; flex-direction:column; gap:24px; }
  .pvacf-wim-issue-hero-actions { justify-content:flex-start; }
}
@media (max-width: 720px) {
  .pvacf-wim-issue-hero::before { background-image:linear-gradient(180deg,rgba(3,24,48,.82),rgba(8,40,77,.96)),var(--pvacf-wim-issue-cover); }
  .pvacf-wim-issue-hero-inner { min-height:0; padding:38px 0 42px; }
  .pvacf-wim-issue-hero h1 { font-size:38px; }
  .pvacf-wim-issue-hero p { font-size:15px; }
  .pvacf-wim-reader-section { padding-top:28px; }
  .pvacf-wim-reader-nav { grid-template-columns:1fr 1fr; gap:9px; }
  .pvacf-wim-reader-tab { min-height:100px; padding:14px; border-radius:15px; }
  .pvacf-wim-reader-tab:last-child { grid-column:1/-1; min-height:78px; }
  .pvacf-wim-reader-tab > span { top:12px; left:13px; font-size:20px; }
  .pvacf-wim-reader-tab strong { font-size:16px; }
  .pvacf-wim-reader-tab small { font-size:11.5px; }
  .pvacf-wim-page-toolbar { align-items:flex-start; flex-direction:column; }
  .pvacf-wim-page-toolbar .pvacf-btn { width:100%; }
  .pvacf-wim-pdf-frame { min-height:74vh; height:74vh; }
  .pvacf-wim-mobile-reader-hint { margin:0; padding:10px 14px; background:#e8f0f8; color:var(--pvacf-blue-deep); font-size:13px; line-height:1.4; border-bottom:1px solid #d5e0ea; }
  .pvacf-wim-browser-view { padding:19px 14px; border-radius:18px; }
  .pvacf-wim-view-heading h2 { font-size:32px; }
  .pvacf-wim-content-grid { grid-template-columns:1fr; gap:12px; }
  .pvacf-wim-content-card,.pvacf-wim-content-card:nth-child(5n+4),.pvacf-wim-content-card.is-featured { grid-column:auto; min-height:300px; border-radius:17px; }
  .pvacf-wim-content-card > a,.pvacf-wim-advertiser-card > a { padding:16px; }
  .pvacf-wim-content-card:not(.is-featured) .pvacf-wim-card-copy h3,.pvacf-wim-card-copy h3 { font-size:25px; }
  .pvacf-wim-card-excerpt { display:none; }
  .pvacf-wim-advertiser-grid { grid-template-columns:1fr; }
  .pvacf-wim-advertiser-card { min-height:310px; }
}

/* v2.0.25 - Mobile WIM reader defaults to an enlarged, pan-friendly PDF view. */


/* v2.0.26 - Responsive WIM mobile Reading View. */
.pvacf-wim-mobile-reading-view { display:none; }
.pvacf-wim-original-pdf { display:block; }
.pvacf-wim-reading-article,
.pvacf-wim-reading-picker {
  background:#fff;
  color:var(--pvacf-ink);
  border:1px solid var(--pvacf-border);
  border-radius:20px;
  box-shadow:var(--pvacf-shadow-soft);
}
.pvacf-wim-reading-header { border-bottom:1px solid var(--pvacf-border); }
.pvacf-wim-reading-category { display:block; margin:8px 0 4px; color:var(--pvacf-red); font-size:12px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.pvacf-wim-reading-header h2 { margin:4px 0 0; color:var(--pvacf-blue-deep); line-height:1.05; }
.pvacf-wim-reading-author { margin:9px 0 0; font-weight:800; color:var(--pvacf-blue); }
.pvacf-wim-reading-deck { margin:10px 0 0; color:var(--pvacf-muted); }
.pvacf-wim-reading-body p { margin:0 0 1.15em; }
.pvacf-wim-reading-actions { display:flex; gap:14px; align-items:center; flex-wrap:wrap; border-top:1px solid var(--pvacf-border); }
.pvacf-wim-text-link { color:var(--pvacf-blue); font-weight:800; }
.pvacf-wim-reading-list { display:grid; gap:10px; margin:18px 0 22px; }
.pvacf-wim-reading-list a { display:block; padding:15px 16px; border:1px solid var(--pvacf-border); border-radius:14px; background:var(--pvacf-surface-alt); color:var(--pvacf-blue-deep); text-decoration:none; }
.pvacf-wim-reading-list a:hover,.pvacf-wim-reading-list a:focus-visible { border-color:var(--pvacf-blue); box-shadow:0 8px 22px rgba(7,31,61,.1); }
.pvacf-wim-reading-list span { display:block; color:var(--pvacf-red); font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pvacf-wim-reading-list strong { display:block; margin-top:3px; font-size:18px; }
.pvacf-wim-reading-list small { display:block; margin-top:4px; color:var(--pvacf-muted); }
.pvacf-wim-reading-return { display:none; margin:0; padding:12px 14px; background:#eef4fa; border-bottom:1px solid var(--pvacf-border); }
.pvacf-wim-reading-return a { font-weight:800; color:var(--pvacf-blue); }

@media (max-width: 720px) {
  .pvacf-wim-page-view:not(.is-original-requested) .pvacf-wim-mobile-reading-view { display:block; }
  .pvacf-wim-page-view:not(.is-original-requested) .pvacf-wim-original-pdf { display:none; }
  .pvacf-wim-page-view.is-original-requested .pvacf-wim-mobile-reading-view { display:none; }
  .pvacf-wim-page-view.is-original-requested .pvacf-wim-original-pdf { display:block; }
  .pvacf-wim-page-view.is-original-requested .pvacf-wim-reading-return { display:block; }
  .pvacf-wim-reading-article,.pvacf-wim-reading-picker { border-radius:16px; }
  .pvacf-wim-reading-header,.pvacf-wim-reading-picker { padding:22px 18px; }
  .pvacf-wim-reading-header h2,.pvacf-wim-reading-picker h2 { font-size:30px; }
  .pvacf-wim-reading-body { padding:22px 18px 10px; font-size:18px; line-height:1.72; letter-spacing:.002em; }
  .pvacf-wim-reading-actions { padding:18px; }
  .pvacf-wim-reading-actions .pvacf-btn,.pvacf-wim-reading-picker > .pvacf-btn { width:100%; text-align:center; justify-content:center; }
  .pvacf-wim-text-link { width:100%; text-align:center; padding:6px; }
  .pvacf-wim-original-pdf .pvacf-wim-pdf-frame { height:76vh; min-height:620px; }
}


/* v2.0.27 - Member Vehicle Grant, current financial source documents, archive. */
.pvacf-vehicle-grant-page .pvacf-vehicle-intro-grid,
.pvacf-fin-archive-page .pvacf-archive-intro-grid {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:28px;
  align-items:start;
}
.pvacf-vehicle-program-card,
.pvacf-vehicle-deadline-card,
.pvacf-fin-source-card {
  background:#fff;
  border:1px solid #d9e2ec;
  border-radius:20px;
  padding:24px;
  box-shadow:0 12px 34px rgba(8,47,87,.08);
}
.pvacf-vehicle-program-card h2,
.pvacf-vehicle-deadline-card h2,
.pvacf-fin-source-card h2 { margin-top:6px; }
.pvacf-vehicle-key-list { display:grid; gap:12px; margin:20px 0 0; padding:0; list-style:none; }
.pvacf-vehicle-key-list li { position:relative; padding-left:30px; }
.pvacf-vehicle-key-list li::before { content:'✓'; position:absolute; left:0; top:0; font-weight:800; color:#bf1e2e; }
.pvacf-vehicle-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:24px; }
.pvacf-vehicle-step { background:#fff; border:1px solid #d9e2ec; border-radius:18px; padding:20px; }
.pvacf-vehicle-step strong { display:flex; width:34px; height:34px; border-radius:50%; align-items:center; justify-content:center; background:#0b3b70; color:#fff; margin-bottom:12px; }
.pvacf-vehicle-step h3 { margin:0 0 8px; font-size:1.05rem; }
.pvacf-form-section { margin:0 0 24px; padding:22px; border:1px solid #d9e2ec; border-radius:18px; background:#fff; }
.pvacf-form-section h3 { margin:0 0 18px; color:#0b315c; }
.pvacf-upload-section { background:#f7fafc; }
.pvacf-fin-audit-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:20px; }
.pvacf-fin-audit-grid article { background:#fff; border:1px solid #d9e2ec; border-radius:18px; padding:20px; }
.pvacf-fin-audit-grid strong { display:block; color:#0b315c; font-size:clamp(1.55rem,3vw,2.35rem); line-height:1; margin-bottom:8px; }
.pvacf-fin-doc-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.pvacf-archive-note { margin-top:20px; padding:16px 18px; border-left:4px solid #0b3b70; background:#edf4fb; border-radius:10px; }
@media (max-width:900px) {
  .pvacf-vehicle-intro-grid,
  .pvacf-fin-archive-page .pvacf-archive-intro-grid { grid-template-columns:1fr; }
  .pvacf-vehicle-process,
  .pvacf-fin-audit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .pvacf-vehicle-process,
  .pvacf-fin-audit-grid { grid-template-columns:1fr; }
  .pvacf-form-section { padding:16px; border-radius:14px; }
}

/* v2.0.28 — Phase 2 How We Help QA: full-width forms, reliable process tiles, REEP page. */
.pvacf-vehicle-grant-page .pvacf-vehicle-process {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px;
  margin-top:24px;
}
.pvacf-vehicle-grant-page .pvacf-vehicle-process > article {
  min-width:0;
}
.pvacf-vehicle-grant-page #vehicle-grant-application .pvacf-form,
.pvacf-wog-page #wog-form .pvacf-form,
.pvacf-education-page .pvacf-program-form-wrap .pvacf-form {
  width:100%;
  max-width:none;
}
.pvacf-vehicle-grant-page #vehicle-grant-application .pvacf-form {
  padding:30px;
}
.pvacf-reep-gallery {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.pvacf-reep-gallery figure {
  margin:0;
  overflow:hidden;
  border:1px solid var(--pvacf-border);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--pvacf-shadow-soft);
}
.pvacf-reep-gallery img {
  width:100%;
  height:280px;
  object-fit:cover;
  display:block;
}
.pvacf-reep-gallery figcaption {
  padding:14px 16px 17px;
  color:var(--pvacf-muted);
  font-size:14px;
  line-height:1.45;
}
.pvacf-reep-page .pvacf-section-blue .pvacf-program-contact h2,
.pvacf-reep-page .pvacf-section-blue .pvacf-program-contact p { color:#fff; }

@media (max-width:900px) {
  .pvacf-vehicle-grant-page .pvacf-vehicle-process { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .pvacf-reep-gallery { grid-template-columns:1fr; }
  .pvacf-reep-gallery img { height:min(52vw,360px); }
}
@media (max-width:620px) {
  .pvacf-vehicle-grant-page .pvacf-vehicle-process { grid-template-columns:1fr !important; }
  .pvacf-vehicle-grant-page #vehicle-grant-application .pvacf-form { padding:18px; }
}

/* v2.0.29 — Multi-day calendar events render as connected ribbons across each covered date. */
.pvacf-calendar table td {
  position: relative;
  overflow: visible;
}
.pvacf-calendar-event-title { display: block; }
.pvacf-calendar-event--multiday {
  position: relative;
  z-index: 2;
  min-height: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #e7eef6;
  box-shadow: none;
}
.pvacf-calendar-event--multiday:not(.is-segment-end) {
  margin-right: -10px;
  padding-right: 14px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.pvacf-calendar-event--multiday:not(.is-segment-start) {
  margin-left: -10px;
  padding-left: 12px;
  border-left-color: transparent !important;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.pvacf-calendar-event--multiday.is-segment-middle {
  border-radius: 0;
}
.pvacf-calendar-event--multiday.event-type-social { background: #f7e9ec; }
.pvacf-calendar-event--multiday.event-type-sports-recreation { background: #e7f0f7; }
.pvacf-calendar-event--multiday.event-type-board { background: #e7edf5; }
.pvacf-calendar-event--multiday.event-type-fundraising { background: #faf3df; }
.pvacf-calendar-event--multiday.event-type-advocacy { background: #eeeaf8; }

@media (max-width: 720px) {
  /* The compact mobile calendar already represents each covered day with a dot
     and day-detail card, so connected desktop ribbon offsets are not needed. */
  .pvacf-calendar-event--multiday {
    margin-left: 0;
    margin-right: 0;
    border-radius: 6px;
  }
}

/* Phase 2 / 2.0.31 — single-event hero alignment refinement */
.pvacf-breadcrumbs {
  background: #f7f9fc;
  border-bottom: 1px solid var(--pvacf-border);
  color: var(--pvacf-muted);
  font-size: 14px;
}
.pvacf-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 10px;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 11px 0;
}
.pvacf-breadcrumbs li { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.pvacf-breadcrumbs li:not(:last-child)::after { content: '›'; color: #8a98a8; font-weight: 800; }
.pvacf-breadcrumbs a { color: var(--pvacf-blue); font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.pvacf-breadcrumbs a:hover,
.pvacf-breadcrumbs a:focus-visible { color: var(--pvacf-red); }
.pvacf-breadcrumbs [aria-current="page"] { color: var(--pvacf-ink); font-weight: 800; }

.pvacf-event-hero.has-visual {
  background-size: cover;
  background-position: center 42%;
  background-repeat: no-repeat;
  min-height: 310px;
  display: flex;
  align-items: center;
}
.pvacf-event-hero.has-visual .pvacf-wrap {
  width: min(calc(100% - 40px), var(--pvacf-max));
  margin-inline: auto;
}

.pvacf-content-photo-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}
.pvacf-content-photo {
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid var(--pvacf-border);
  background: #fff;
  box-shadow: var(--pvacf-shadow-soft);
}
.pvacf-content-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.pvacf-content-photo figcaption { padding: 10px 12px; color: var(--pvacf-muted); font-size: 13px; }
.pvacf-content-photo-gallery .pvacf-content-photo:only-child { grid-column: 1 / -1; }
.pvacf-content-photo-gallery .pvacf-content-photo:only-child img { aspect-ratio: 16 / 9; }

.pvacf-staff-content-image-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.pvacf-staff-content-image-item {
  display: grid;
  gap: 7px;
  align-content: start;
  padding: 10px;
  border: 1px solid var(--pvacf-border);
  border-radius: 12px;
  background: #f8fafc;
  font-size: 13px;
}
.pvacf-staff-content-image-item img { width: 100%; height: 110px; object-fit: cover; border-radius: 8px; }
.pvacf-staff-content-image-item input { width: auto; }

@media (max-width: 720px) {
  .pvacf-breadcrumbs { font-size: 12px; }
  .pvacf-breadcrumbs ol { flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; padding: 9px 0; scrollbar-width: thin; }
  .pvacf-event-hero.has-visual { min-height: 260px; background-position: center; }
  .pvacf-content-photo-gallery { grid-template-columns: 1fr; gap: 13px; }
  .pvacf-content-photo-gallery .pvacf-content-photo:only-child { grid-column: auto; }
  .pvacf-content-photo-gallery .pvacf-content-photo:only-child img { aspect-ratio: 4 / 3; }
}


/* v2.0.32 — Event detail hierarchy: breadcrumb in hero, linked categories, full-width event information */
.pvacf-event-hero-breadcrumbs {
  margin: 0 0 18px;
  font-size: 13px;
  font-weight: 850;
}
.pvacf-event-hero-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.pvacf-event-hero-breadcrumbs li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.pvacf-event-hero-breadcrumbs li:not(:last-child)::after {
  content: '›';
  color: rgba(255,255,255,.68);
  font-weight: 900;
}
.pvacf-event-hero-breadcrumbs a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pvacf-event-hero-breadcrumbs a:hover,
.pvacf-event-hero-breadcrumbs a:focus-visible { color: #fff; text-decoration-thickness: 2px; }
.pvacf-event-hero-breadcrumbs [aria-current="page"] { color: rgba(255,255,255,.82); }

.pvacf-event-hero h1 { margin-bottom: 18px; }
.pvacf-event-types--linked {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}
.pvacf-event-types--linked a {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  padding: 6px 11px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 999px;
  background: rgba(255,255,255,.13);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .02em;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.pvacf-event-types--linked a:hover,
.pvacf-event-types--linked a:focus-visible {
  background: rgba(255,255,255,.24);
  border-color: rgba(255,255,255,.62);
  transform: translateY(-1px);
}

.pvacf-event-content-wrap { width: min(calc(100% - 40px), var(--pvacf-max)); }
.pvacf-event-summary {
  grid-template-columns: minmax(170px,.9fr) minmax(170px,.9fr) minmax(300px,1.7fr);
}
.pvacf-event-summary-item,
.pvacf-event-summary-item:nth-child(2n),
.pvacf-event-summary-item:nth-last-child(-n+2) {
  min-height: 0;
  border-right: 1px solid var(--pvacf-border);
  border-bottom: 0;
}
.pvacf-event-summary-item:last-child { border-right: 0; }
.pvacf-event-summary-location { grid-column: auto; border-right: 0; }
.pvacf-event-description-copy p { max-width: 86ch; }

@media (max-width: 900px) {
  .pvacf-event-summary { grid-template-columns: 1fr 1fr; }
  .pvacf-event-summary-location { grid-column: 1 / -1; border-top: 1px solid var(--pvacf-border); }
  .pvacf-event-summary-item:nth-child(2) { border-right: 0; }
}

@media (max-width: 720px) {
  .pvacf-event-hero-breadcrumbs {
    margin-bottom: 14px;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: thin;
  }
  .pvacf-event-hero-breadcrumbs ol { flex-wrap: nowrap; }
  .pvacf-event-hero h1 { margin-bottom: 15px; }
  .pvacf-event-types--linked { flex-wrap: wrap; }
  .pvacf-event-content-wrap { width: min(calc(100% - 24px), var(--pvacf-max)); }
  .pvacf-event-summary { grid-template-columns: 1fr; }
  .pvacf-event-summary-item,
  .pvacf-event-summary-item:nth-child(2n),
  .pvacf-event-summary-item:nth-last-child(-n+2) {
    border-right: 0;
    border-bottom: 1px solid var(--pvacf-border);
  }
  .pvacf-event-summary-location { grid-column: auto; border-top: 0; }
  .pvacf-event-summary-item:last-child { border-bottom: 0; }
}

/* v2.0.33 — Donation portal refinement */
.pvacf-donate-hero { position:relative; isolation:isolate; background:var(--pvacf-blue-deep); }
.pvacf-donate-hero-media { position:absolute; inset:0; z-index:-2; background:url('assets/photos/chapter-community.jpg') center 48%/cover no-repeat; }
.pvacf-donate-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(4,24,48,.96) 0%,rgba(6,38,75,.9) 46%,rgba(8,40,77,.7) 100%); }
.pvacf-donate-hero-grid { position:relative; }
.pvacf-donate-hero-copy { padding:12px 0; }
.pvacf-donate-hero-note { font-size:14px!important; color:rgba(255,255,255,.72)!important; margin:18px 0 0!important; }
.pvacf-donate-paypal-card { border-top:5px solid var(--pvacf-red); }
.pvacf-donate-card-btn { width:100%; margin-top:14px; justify-content:center; }
.pvacf-donate-paypal-card small { line-height:1.45; }
.pvacf-donate-impact-section { background:#fff; }
.pvacf-donate-section-heading { align-items:end; }
.pvacf-donate-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:30px; }
.pvacf-donate-stats article { background:var(--pvacf-blue-deep); color:#fff; border-radius:18px; padding:28px 24px; box-shadow:var(--pvacf-shadow-soft); }
.pvacf-donate-stats strong { display:block; font-size:clamp(34px,4vw,48px); line-height:1; letter-spacing:-.035em; margin-bottom:10px; }
.pvacf-donate-stats span { display:block; color:rgba(255,255,255,.82); font-size:14px; line-height:1.45; }
.pvacf-donate-program-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:22px; }
.pvacf-donate-program-card { display:block; text-decoration:none; background:#fff; border:1px solid var(--pvacf-border); border-radius:18px; padding:26px; box-shadow:var(--pvacf-shadow-soft); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.pvacf-donate-program-card:hover { transform:translateY(-3px); box-shadow:0 18px 42px rgba(7,31,61,.13); border-color:#b8c8d8; color:inherit; }
.pvacf-donate-program-card > span { color:var(--pvacf-red); text-transform:uppercase; font-size:12px; font-weight:900; letter-spacing:.11em; }
.pvacf-donate-program-card h3 { color:var(--pvacf-blue-deep); font-size:25px; margin:8px 0 10px; }
.pvacf-donate-program-card p { color:var(--pvacf-muted); font-size:16px; line-height:1.5; margin:0 0 18px; }
.pvacf-donate-program-card strong { color:var(--pvacf-blue); font-size:15px; }
.pvacf-donate-specific { background:var(--pvacf-blue-soft); }
.pvacf-donate-specific-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:34px; align-items:center; }
.pvacf-donate-specific h2 { color:var(--pvacf-blue-deep); font-size:clamp(32px,4vw,48px); line-height:1.04; margin:7px 0 16px; }
.pvacf-donate-specific p { color:var(--pvacf-muted); max-width:780px; }
.pvacf-donate-contact-card { background:#fff; border:1px solid var(--pvacf-border); border-radius:18px; padding:26px; box-shadow:var(--pvacf-shadow-soft); display:flex; flex-direction:column; gap:8px; }
.pvacf-donate-contact-card strong { color:var(--pvacf-red); text-transform:uppercase; letter-spacing:.1em; font-size:12px; }
.pvacf-donate-contact-card a { color:var(--pvacf-blue-deep); font-weight:900; font-size:20px; }
.pvacf-donate-contact-card span { color:var(--pvacf-muted); font-size:15px; line-height:1.45; margin-top:5px; }
.pvacf-donate-disclosure { border-top:1px solid var(--pvacf-border); margin-top:34px; padding-top:24px; }
.pvacf-donate-disclosure p { color:var(--pvacf-muted); font-size:13px; line-height:1.55; margin:6px 0; }

/* v2.0.38 — Production PayPal donation flow */
.pvacf-thank-you-page { background:linear-gradient(145deg,#e8f0f7 0%,#f8fafc 52%,#fff 100%); }
.pvacf-thank-you-hero { min-height:68vh; display:flex; align-items:center; padding:clamp(64px,9vw,126px) 0; }
.pvacf-thank-you-card { max-width:850px; margin:0 auto; padding:clamp(32px,6vw,66px); text-align:center; background:#fff; border:1px solid var(--pvacf-border); border-top:6px solid var(--pvacf-red); border-radius:24px; box-shadow:0 28px 70px rgba(7,31,61,.14); }
.pvacf-thank-you-icon { display:grid; place-items:center; width:64px; height:64px; margin:0 auto 18px; border-radius:50%; background:var(--pvacf-blue-deep); color:#fff; font-size:34px; font-weight:900; }
.pvacf-thank-you-card h1 { max-width:720px; margin:10px auto 18px; color:var(--pvacf-blue-deep); font-size:clamp(38px,5vw,62px); line-height:1.03; letter-spacing:-.035em; }
.pvacf-thank-you-lead { max-width:720px; margin:0 auto; color:var(--pvacf-muted); font-size:clamp(18px,2vw,21px); line-height:1.55; }
.pvacf-thank-you-receipt { display:flex; flex-direction:column; gap:5px; max-width:650px; margin:30px auto; padding:19px 22px; border-radius:14px; background:var(--pvacf-blue-soft); color:var(--pvacf-blue-deep); }
.pvacf-thank-you-receipt span { color:var(--pvacf-muted); }
.pvacf-thank-you-actions { justify-content:center; }
.pvacf-thank-you-actions .pvacf-btn-outline { color:var(--pvacf-blue-deep); border-color:var(--pvacf-blue-deep); }
.pvacf-thank-you-help { margin:28px 0 0; color:var(--pvacf-muted); font-size:15px; }
.pvacf-thank-you-help a { font-weight:800; }

/* v2.0.39 — Prominent below-hero donation entry point */
.pvacf-donate-hero-grid-single { grid-template-columns:minmax(0,820px); }
.pvacf-donate-hero-grid-single .pvacf-donate-hero-copy { max-width:820px; }
.pvacf-donate-checkout-section { background:linear-gradient(180deg,#f3f7fb 0%,#fff 100%); padding-block:clamp(42px,6vw,78px); }
.pvacf-donate-paypal-card-featured { max-width:900px; margin:0 auto; padding:clamp(28px,5vw,52px); }
.pvacf-donate-paypal-card-featured h2 { font-size:clamp(34px,4.2vw,52px); }
.pvacf-donate-checkout-intro { font-size:clamp(18px,2vw,21px)!important; }
.pvacf-donate-checkout-direction { max-width:680px; padding:16px 20px; border-radius:13px; background:var(--pvacf-blue-soft); color:var(--pvacf-blue-deep)!important; line-height:1.5; }
.pvacf-donate-paypal-card-featured .pvacf-paypal-embed { margin-top:26px; }
.pvacf-donate-paypal-card-featured .pvacf-paypal-embed #donate-button img { width:min(100%,500px); transition:transform .18s ease,filter .18s ease; }
.pvacf-donate-paypal-card-featured .pvacf-paypal-embed #donate-button img:hover { transform:translateY(-3px); filter:drop-shadow(0 9px 10px rgba(7,31,61,.24)); }

@media (max-width: 900px) {
  .pvacf-donate-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pvacf-donate-specific-grid { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .pvacf-donate-hero-media { background-position:58% center; }
  .pvacf-donate-program-grid,.pvacf-donate-stats { grid-template-columns:1fr; }
  .pvacf-donate-stats article { padding:24px 21px; }
  .pvacf-donate-program-card { padding:22px; }
  .pvacf-donate-paypal-card { padding:21px; }
  .pvacf-paypal-qr-link img { width:160px; height:160px; }
  .pvacf-paypal-embed { min-height:82px; scroll-margin-top:120px; }
  .pvacf-thank-you-card { padding:30px 22px; border-radius:19px; }
  .pvacf-thank-you-actions,.pvacf-thank-you-actions .pvacf-btn { width:100%; }
}


/* v2.0.35 — Sports Hub, sport category pages and Orlando 2027 app teaser */
.pvacf-sports-path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px}
.pvacf-sports-path-card{display:block;background:#fff;border:1px solid #d8e1eb;border-radius:18px;padding:24px;color:var(--pvacf-navy);text-decoration:none;box-shadow:0 12px 28px rgba(4,37,71,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.pvacf-sports-path-card:hover,.pvacf-sports-path-card:focus-visible{transform:translateY(-3px);box-shadow:0 18px 34px rgba(4,37,71,.12);border-color:#9cb7d2}
.pvacf-sports-path-number{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--pvacf-red);color:#fff;font-weight:800;margin-bottom:16px}
.pvacf-sports-path-card h3{font-size:22px;line-height:1.1;margin:0 0 10px}.pvacf-sports-path-card p{color:#526579;margin:0 0 18px}.pvacf-sports-path-card strong{font-size:14px}
.pvacf-sports-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px}
.pvacf-sport-directory-card{position:relative;display:block;min-height:300px;border-radius:20px;overflow:hidden;text-decoration:none;color:#fff;box-shadow:var(--pvacf-shadow)}
.pvacf-sport-directory-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .22s ease}.pvacf-sport-directory-card:hover img,.pvacf-sport-directory-card:focus-visible img{transform:scale(1.035)}
.pvacf-sport-directory-overlay{position:absolute;inset:20% 0 0;background:linear-gradient(transparent,rgba(2,23,45,.96))}
.pvacf-sport-directory-content{position:absolute;z-index:2;left:20px;right:20px;bottom:18px}.pvacf-sport-directory-content strong{display:block;font-size:24px;line-height:1.05;margin-bottom:6px}.pvacf-sport-directory-content small{display:block;color:rgba(255,255,255,.82);font-size:13px;margin-bottom:12px}.pvacf-sport-directory-content em{font-style:normal;font-size:13px;font-weight:800;color:#fff}
.pvacf-centered-action{text-align:center;margin-top:28px}
.pvacf-sports-app-teaser{margin:24px 0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:18px;padding:22px}.pvacf-sports-app-teaser>span,.pvacf-sports-app-mini-card>span{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900;color:#fff}.pvacf-sports-app-teaser h3{color:#fff;font-size:25px;margin:8px 0 10px}.pvacf-sports-app-teaser p{margin:0}
.pvacf-sports-highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.pvacf-sports-highlight-card{background:#fff;border:1px solid #d8e1eb;border-radius:18px;overflow:hidden;box-shadow:0 12px 28px rgba(4,37,71,.07)}.pvacf-sports-highlight-image{display:block;aspect-ratio:16/10;background:#dfe8f1}.pvacf-sports-highlight-image img{width:100%;height:100%;object-fit:cover}.pvacf-sports-highlight-card>div{padding:20px}.pvacf-sports-highlight-card h3{font-size:23px;line-height:1.08;margin:7px 0 10px}.pvacf-sports-highlight-card h3 a{color:var(--pvacf-navy);text-decoration:none}.pvacf-sports-highlight-card p{color:#526579}.pvacf-text-link{font-weight:800;color:var(--pvacf-navy)}
.pvacf-sports-contact-band{border-top:1px solid #e2e8ef}.pvacf-sports-contact-band .pvacf-program-contact{align-items:center}
.pvacf-sport-detail-intro .pvacf-hero-actions{margin-top:22px}.pvacf-sports-app-detail{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:start}.pvacf-sports-app-detail h2{color:#fff;font-size:clamp(36px,4vw,54px);line-height:1.02;margin:8px 0 15px}.pvacf-sports-app-detail p{color:rgba(255,255,255,.86)}.pvacf-sports-app-mini-card{background:#fff;border-radius:20px;padding:26px;color:var(--pvacf-navy)}.pvacf-sports-app-mini-card>span{color:var(--pvacf-red)}.pvacf-sports-app-mini-card ul{margin:14px 0 22px;padding-left:20px}.pvacf-sports-app-mini-card li{margin:8px 0}
@media(max-width:1050px){.pvacf-sports-path-grid,.pvacf-sports-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pvacf-sports-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pvacf-sports-app-detail{grid-template-columns:1fr}}
@media(max-width:680px){.pvacf-sports-path-grid,.pvacf-sports-directory-grid,.pvacf-sports-highlight-grid{grid-template-columns:1fr}.pvacf-sport-directory-card{min-height:260px}.pvacf-sports-path-card{padding:20px}.pvacf-sports-app-teaser{padding:18px}.pvacf-sports-app-detail{gap:24px}}


/* v2.0.36 — Wheelchair Games history/photo workflow and public-copy cleanup */
.pvacf-public-upload-card{max-width:1100px;margin:0 auto;background:#fff;border:1px solid var(--pvacf-border);border-radius:24px;padding:clamp(24px,4vw,42px);box-shadow:0 16px 44px rgba(8,40,77,.08)}
.pvacf-wheelchair-games-photos .pvacf-section-heading{margin-bottom:24px}
@media (max-width:700px){.pvacf-public-upload-card{padding:20px;border-radius:18px}}

/* Phase 2 Sports Hub participation, follow, learning and public archive tools */
.pvacf-sport-learn-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:start}
.pvacf-sport-learn-grid h2{font-size:clamp(34px,4vw,52px);line-height:1.03;margin:8px 0 16px;color:var(--pvacf-navy)}
.pvacf-sport-lead{font-size:19px;line-height:1.65;color:#40566d;max-width:760px}
.pvacf-sport-fact-card{background:#eef4f9;border:1px solid #d7e2ec;border-radius:22px;padding:28px}
.pvacf-sport-fact-card ul{margin:0;padding-left:22px}.pvacf-sport-fact-card li{margin:0 0 14px;color:#304b66;line-height:1.55}.pvacf-sport-fact-card li:last-child{margin-bottom:0}
.pvacf-sport-action-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:24px;align-items:start}
.pvacf-public-form-card,.pvacf-sport-side-card{background:#fff;border:1px solid var(--pvacf-border);border-radius:24px;padding:clamp(24px,3vw,36px);box-shadow:0 16px 44px rgba(8,40,77,.08)}
.pvacf-sport-side-stack{display:grid;gap:20px}.pvacf-sport-side-card h3{font-size:26px;line-height:1.08;margin:7px 0 12px;color:var(--pvacf-navy)}.pvacf-sport-side-card p{color:#526579}
.pvacf-sport-side-card .pvacf-form{margin-top:16px}.pvacf-sport-side-card .pvacf-form-row{grid-template-columns:1fr}.pvacf-sport-side-card .pvacf-field{margin-bottom:14px}
.pvacf-sports-hub-interest{max-width:1180px;margin:0 auto}.pvacf-sports-photo-submit .pvacf-public-upload-card{max-width:1180px}
.pvacf-sports-participate-band{border-top:1px solid #e2e8ef}
@media(max-width:900px){.pvacf-sport-learn-grid,.pvacf-sport-action-grid{grid-template-columns:1fr}.pvacf-sport-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.pvacf-sport-side-stack{grid-template-columns:1fr}.pvacf-public-form-card,.pvacf-sport-side-card{padding:20px;border-radius:18px}.pvacf-sport-fact-card{padding:22px;border-radius:18px}}
/* v2.0.40 — Native PayPal API donation experience */
.pvacf-donate-hero-grid-api{grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);align-items:center;gap:clamp(32px,6vw,84px)}
.pvacf-hero-donate-card{background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(232,240,249,.96));border:1px solid rgba(255,255,255,.72);border-top:5px solid var(--pvacf-red);border-radius:22px;padding:clamp(27px,4vw,42px);box-shadow:0 28px 70px rgba(0,0,0,.34);color:var(--pvacf-blue-deep)}
.pvacf-hero-donate-card .pvacf-card-kicker{color:var(--pvacf-red)}
.pvacf-hero-donate-card h2{color:var(--pvacf-blue-deep);font-size:clamp(30px,3.2vw,44px);line-height:1.06;margin:8px 0 14px}
.pvacf-hero-donate-card p{color:#334c68;font-size:17px;line-height:1.5}
.pvacf-hero-donate-card .pvacf-btn{width:100%;justify-content:center;font-size:19px;padding:16px 24px;box-shadow:0 9px 0 #8e111f,0 15px 28px rgba(5,27,51,.3)}
.pvacf-hero-donate-card .pvacf-btn:hover{transform:translateY(-2px);box-shadow:0 11px 0 #8e111f,0 19px 32px rgba(5,27,51,.32)}
.pvacf-donate-native-card{max-width:940px;margin:0 auto;background:#fff;border:1px solid #d9e3ed;border-top:5px solid var(--pvacf-red);border-radius:22px;padding:clamp(26px,5vw,52px);box-shadow:0 22px 55px rgba(7,31,61,.13)}
.pvacf-donate-native-card>h2{color:var(--pvacf-blue-deep);text-align:center;font-size:clamp(34px,4.2vw,52px);margin:8px 0 10px}
.pvacf-donate-native-card>.pvacf-card-kicker,.pvacf-donate-native-card>p{display:block;text-align:center}
.pvacf-native-donation{max-width:720px;margin:30px auto 0;color:var(--pvacf-blue-deep)}
.pvacf-donation-frequency{display:grid;grid-template-columns:repeat(3,1fr);background:#edf2f7;padding:5px;border-radius:14px;gap:4px}
.pvacf-donation-frequency button,.pvacf-donation-amounts button{appearance:none;border:1px solid transparent;background:transparent;color:var(--pvacf-blue-deep);border-radius:10px;font:inherit;font-weight:850;cursor:pointer;min-height:50px}
.pvacf-donation-frequency button.is-active{background:#fff;border-color:#cfdbe7;box-shadow:0 4px 12px rgba(7,31,61,.1)}
.pvacf-donation-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;border:0;padding:0;margin:27px 0 20px}
.pvacf-donation-amounts legend{grid-column:1/-1;color:var(--pvacf-blue-deep);font-weight:900;margin-bottom:10px}
.pvacf-donation-amounts button{background:#f7f9fb;border:2px solid #d4dee8;font-size:21px}
.pvacf-donation-amounts button.is-active{background:var(--pvacf-blue);border-color:var(--pvacf-blue);color:#fff;box-shadow:0 6px 16px rgba(12,65,120,.24)}
.pvacf-custom-amount{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;font-weight:850}
.pvacf-money-input{display:flex;align-items:center;border:2px solid #cbd8e5;border-radius:11px;background:#fff;padding:0 14px}
.pvacf-money-input input{width:100%;min-height:50px;border:0;outline:0;font:inherit;font-size:18px}
.pvacf-fee-option{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#f3f7fb;border-radius:11px;font-weight:750}
.pvacf-fee-option input{width:20px;height:20px}
.pvacf-donation-note{display:block;margin-top:20px;font-weight:850}
.pvacf-donation-note textarea{width:100%;margin-top:8px;border:2px solid #cbd8e5;border-radius:11px;padding:13px;font:inherit;resize:vertical}
.pvacf-donation-summary{display:flex;justify-content:space-between;align-items:center;margin:20px 0;padding-top:18px;border-top:1px solid #d8e2ec;font-size:18px}
.pvacf-donation-summary strong{font-size:25px}
.pvacf-paypal-status{margin:12px 0;color:#176b37;font-weight:750;text-align:center}.pvacf-paypal-status.is-error{color:#a41623}
.pvacf-paypal-buttons{min-height:50px}
.pvacf-card-checkout{margin-top:22px;padding:22px;background:#f7f9fb;border:1px solid #d8e2ec;border-radius:15px}.pvacf-card-checkout h3{margin-top:0;color:var(--pvacf-blue-deep)}
.pvacf-card-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:14px}.pvacf-card-fields>:first-child{grid-column:1/-1}.pvacf-card-fields>div{min-height:52px;background:#fff;border:1px solid #b9c9d9;border-radius:8px;padding:12px}
.pvacf-card-checkout .pvacf-btn{width:100%;justify-content:center}.pvacf-secure-note{text-align:center;color:#53677d;font-size:13px;margin:17px 0 0}.pvacf-donation-setup-note{margin-top:18px;padding:14px;border-radius:10px;background:#fff3cd;color:#624a00;text-align:center}
@media(max-width:900px){.pvacf-donate-hero-grid-api{grid-template-columns:1fr}.pvacf-hero-donate-card{max-width:620px}}
@media(max-width:640px){.pvacf-donation-amounts{grid-template-columns:repeat(3,1fr)}.pvacf-custom-amount{grid-column:1/-1;grid-template-columns:1fr;gap:7px}.pvacf-card-fields{grid-template-columns:1fr 1fr}.pvacf-card-fields>:nth-child(2){grid-column:1/-1}}

/* v2.0.41 — Branded checkout backdrop and visible fee amount */
.pvacf-donate-checkout-section{position:relative;isolation:isolate;overflow:hidden;background:
  radial-gradient(circle at 9% 15%,rgba(190,32,45,.42) 0,rgba(190,32,45,0) 28%),
  radial-gradient(circle at 91% 82%,rgba(84,145,205,.42) 0,rgba(84,145,205,0) 34%),
  linear-gradient(135deg,#061c34 0%,#0b3769 48%,#174f89 100%)}
.pvacf-donate-checkout-section::before{content:"PVA";position:absolute;z-index:-1;right:-.04em;top:50%;transform:translateY(-50%);font-size:clamp(180px,32vw,500px);line-height:.8;font-weight:950;letter-spacing:-.08em;color:rgba(255,255,255,.035);pointer-events:none}
.pvacf-donate-native-card{position:relative;border-color:rgba(255,255,255,.8);box-shadow:0 30px 80px rgba(0,12,29,.48)}
.pvacf-fee-option{border:2px solid transparent;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.pvacf-fee-option input{accent-color:var(--pvacf-red)}
.pvacf-fee-option [data-fee-amount]{display:inline-block;margin:0 3px;padding:2px 8px;border-radius:999px;background:#dfe9f4;color:var(--pvacf-blue-deep);font-weight:950}
.pvacf-fee-option:has(input:checked){background:#eef5fc;border-color:#8fb4d6;box-shadow:0 6px 16px rgba(8,40,77,.09)}
.pvacf-fee-option:has(input:checked) [data-fee-amount]{background:var(--pvacf-red);color:#fff}
@media(max-width:640px){.pvacf-donate-checkout-section::before{font-size:230px;right:-55px}.pvacf-fee-option{align-items:flex-start}.pvacf-fee-option input{flex:0 0 auto;margin-top:4px}}

/* v2.0.43 — Keep the page quiet; deepen the branded treatment inside the tile */
.pvacf-donate-checkout-section{background:linear-gradient(180deg,#f3f7fb 0%,#fff 100%)}
.pvacf-donate-checkout-section::before{display:none}
.pvacf-donate-native-card{isolation:isolate;overflow:hidden;background:
  radial-gradient(circle at 100% 88%,rgba(31,91,150,.42) 0,rgba(31,91,150,0) 52%),
  radial-gradient(circle at 0 0,rgba(184,32,45,.13) 0,rgba(184,32,45,0) 35%),
  linear-gradient(145deg,#f8fbfe 0%,#e7f1fa 40%,#bfd6ea 100%);
  border-color:#b9cee1;box-shadow:0 22px 55px rgba(7,31,61,.18)}
.pvacf-donate-native-card::after{content:"PVA";position:absolute;z-index:-1;right:-.04em;bottom:-.09em;font-size:clamp(150px,22vw,280px);line-height:.78;font-weight:950;letter-spacing:-.09em;color:rgba(8,40,77,.055);pointer-events:none}
.pvacf-donate-tile-logo-mark{position:absolute!important;z-index:0!important;left:24px;top:22px;width:clamp(105px,16vw,175px);height:auto;opacity:.09;filter:grayscale(.08);pointer-events:none}
.pvacf-donate-native-card>:not(.pvacf-donate-tile-logo-mark){position:relative;z-index:1}
@media(max-width:640px){.pvacf-donate-native-card::after{font-size:190px;right:-36px}.pvacf-donate-tile-logo-mark{left:14px;top:14px;width:110px;opacity:.065}}

/* Phase 2 / 2.0.44 — sponsors, golf sponsorships and WIM advertising */
.pvacf-sponsor-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.pvacf-sponsor-grid.is-compact { grid-template-columns:repeat(8,minmax(0,1fr)); gap:12px; }
.pvacf-sponsor-card {
  background:#fff;
  border:1px solid var(--pvacf-border);
  border-radius:18px;
  padding:18px;
  box-shadow:var(--pvacf-shadow-soft);
  min-width:0;
}
.pvacf-sponsor-card > a { color:inherit; text-decoration:none; display:block; height:100%; }
.pvacf-sponsor-card > a:hover { color:inherit; }
.pvacf-sponsor-logo {
  height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  border-radius:12px;
  background:#fff;
}
.pvacf-sponsor-logo img { max-width:100%; max-height:125px; width:auto; height:auto; object-fit:contain; }
.pvacf-sponsor-logo.is-wordmark {
  background:var(--pvacf-blue-soft);
  color:var(--pvacf-blue-deep);
  text-align:center;
  font-weight:900;
  font-size:22px;
  line-height:1.15;
  padding:22px;
}
.pvacf-sponsor-card h3 { margin:14px 0 0; color:var(--pvacf-blue-deep); font-size:20px; line-height:1.2; text-align:center; }
.pvacf-sponsor-card.is-compact { padding:10px; border-radius:14px; box-shadow:none; }
.pvacf-sponsor-card.is-compact .pvacf-sponsor-logo { height:86px; padding:8px; }
.pvacf-sponsor-card.is-compact .pvacf-sponsor-logo img { max-height:68px; }
.pvacf-sponsor-card.is-compact .pvacf-sponsor-logo.is-wordmark { font-size:14px; padding:10px; }
.pvacf-sponsor-meta { display:block; margin-top:8px; text-align:center; color:var(--pvacf-muted); font-size:14px; font-weight:800; }
.pvacf-sponsor-home-section { border-top:1px solid var(--pvacf-border); }
.pvacf-sponsor-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.pvacf-sponsor-paths article { background:#fff; border:1px solid var(--pvacf-border); border-radius:20px; padding:30px; box-shadow:var(--pvacf-shadow-soft); }
.pvacf-sponsor-paths h2 { margin:8px 0 12px; color:var(--pvacf-blue-deep); font-size:32px; line-height:1.05; }
.pvacf-sponsor-paths p { color:var(--pvacf-muted); }
.pvacf-golf-event-callout { background:var(--pvacf-surface-alt); }

.pvacf-ad-rate-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pvacf-ad-rate-card { border:1px solid var(--pvacf-border); border-radius:22px; padding:30px; background:#fff; box-shadow:var(--pvacf-shadow-soft); }
.pvacf-ad-rate-card > strong { display:block; margin-top:10px; color:var(--pvacf-blue-deep); font-size:52px; line-height:1; letter-spacing:-.035em; }
.pvacf-ad-rate-card > span:not(.pvacf-card-kicker) { display:block; color:var(--pvacf-muted); font-weight:750; }
.pvacf-ad-rate-card hr { border:0; border-top:1px solid var(--pvacf-border); margin:24px 0; }
.pvacf-ad-rate-card .pvacf-ad-annual { font-size:34px; }
.pvacf-ad-info-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:26px; align-items:start; }
.pvacf-ad-info-grid h2 { margin:6px 0 14px; color:var(--pvacf-blue-deep); font-size:36px; }
.pvacf-check-list { padding-left:22px; }
.pvacf-check-list li { margin:.55em 0; }
.pvacf-info-panel { background:var(--pvacf-blue-deep); color:#fff; border-radius:22px; padding:30px; }
.pvacf-info-panel h2 { color:#fff; }
.pvacf-info-panel p { color:rgba(255,255,255,.82); }

.pvacf-wim-sponsor-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.pvacf-wim-sponsor-item { background:rgba(255,255,255,.96); color:var(--pvacf-ink); border-radius:18px; padding:12px; }
.pvacf-wim-sponsor-item .pvacf-sponsor-card { box-shadow:none; border:0; padding:4px; }
.pvacf-wim-sponsor-item p { margin:10px 8px 6px; font-size:14px; line-height:1.45; color:var(--pvacf-muted); }
.pvacf-wim-sponsor-item p strong { color:var(--pvacf-blue-deep); }
.pvacf-wim-advertise-callout { background:var(--pvacf-blue-soft); }

.pvacf-golf-package-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.pvacf-golf-package-card { border:1px solid var(--pvacf-border); border-radius:20px; padding:25px; background:#fff; box-shadow:var(--pvacf-shadow-soft); }
.pvacf-golf-package-card.is-featured { grid-column:span 2; border-top:6px solid var(--pvacf-red); }
.pvacf-golf-package-head { display:flex; gap:16px; align-items:flex-start; justify-content:space-between; }
.pvacf-golf-package-head .pvacf-card-kicker { max-width:65%; }
.pvacf-golf-package-head > strong { color:var(--pvacf-blue-deep); font-size:28px; line-height:1; white-space:nowrap; }
.pvacf-golf-package-card ul { margin:18px 0 0; padding-left:21px; color:var(--pvacf-muted); font-size:16px; }
.pvacf-golf-package-card li { margin:.55em 0; }
.pvacf-golf-sponsor-group + .pvacf-golf-sponsor-group { margin-top:34px; }
.pvacf-golf-sponsor-group > h3 { color:var(--pvacf-blue-deep); font-size:28px; margin:0 0 16px; }
.pvacf-sponsor-empty { border:2px dashed var(--pvacf-border); border-radius:18px; padding:28px; display:flex; flex-direction:column; gap:5px; color:var(--pvacf-muted); background:#fff; }
.pvacf-sponsor-empty strong { color:var(--pvacf-blue-deep); }

@media (max-width:1050px) {
  .pvacf-sponsor-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pvacf-sponsor-grid.is-compact { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .pvacf-wim-sponsor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pvacf-golf-package-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .pvacf-sponsor-grid,.pvacf-sponsor-grid.is-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pvacf-sponsor-logo { height:115px; }
  .pvacf-sponsor-paths,.pvacf-ad-rate-grid,.pvacf-ad-info-grid,.pvacf-golf-package-grid { grid-template-columns:1fr; }
  .pvacf-golf-package-card.is-featured { grid-column:auto; }
  .pvacf-wim-sponsor-grid { grid-template-columns:1fr; }
  .pvacf-golf-package-head { display:block; }
  .pvacf-golf-package-head .pvacf-card-kicker { max-width:none; }
  .pvacf-golf-package-head > strong { display:block; margin-top:10px; }
}
@media (max-width:480px) {
  .pvacf-sponsor-grid,.pvacf-sponsor-grid.is-compact { grid-template-columns:1fr; }
  .pvacf-sponsor-card.is-compact .pvacf-sponsor-logo { height:92px; }
}


/* Phase 2 / 2.0.45 — public-copy cleanup */
.pvacf-signup-benefits .pvacf-topic-detail { margin-left: .35em; }

/* Phase 2 / 2.0.46 - golf conversion, public-copy QA and site credit */
.pvacf-site-credit a { font-weight:850; text-decoration:underline; text-underline-offset:3px; }
.pvacf-golf-conversion-section { background:var(--pvacf-surface-alt); }
.pvacf-golf-conversion-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:24px; align-items:start; }
.pvacf-golf-inquiry-card,
.pvacf-golf-payment-card { background:#fff; border:1px solid var(--pvacf-border); border-radius:22px; padding:clamp(22px,3vw,32px); box-shadow:var(--pvacf-shadow-soft); }
.pvacf-golf-inquiry-card { border-top:5px solid var(--pvacf-blue); }
.pvacf-golf-payment-card { border-top:5px solid var(--pvacf-red); }
.pvacf-golf-inquiry-card h3,
.pvacf-golf-payment-card h3 { color:var(--pvacf-blue-deep); font-size:clamp(28px,3vw,36px); margin:8px 0 12px; line-height:1.08; }
.pvacf-golf-payment-card > p { color:var(--pvacf-muted); margin:0 0 22px; }
.pvacf-golf-inquiry-card .pvacf-form { max-width:none; padding:0; border:0; border-radius:0; background:transparent; }
.pvacf-golf-inquiry-card .pvacf-form textarea { min-height:132px; }
.pvacf-golf-payment { margin-top:18px; }
.pvacf-golf-payment-package { margin-bottom:18px; }
.pvacf-golf-payment-summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 0; margin:0 0 18px; border-top:1px solid var(--pvacf-border); border-bottom:1px solid var(--pvacf-border); color:var(--pvacf-muted); font-weight:800; }
.pvacf-golf-payment-summary strong { color:var(--pvacf-blue-deep); font-size:28px; white-space:nowrap; }
.pvacf-golf-payment-card .pvacf-paypal-buttons { margin-top:8px; }
.pvacf-golf-payment-card .pvacf-card-checkout { margin-top:20px; }
@media (max-width:900px) {
  .pvacf-golf-conversion-grid { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .pvacf-golf-inquiry-card,.pvacf-golf-payment-card { padding:20px; border-radius:17px; }
  .pvacf-golf-payment-summary { align-items:flex-start; flex-direction:column; gap:6px; }
  .pvacf-footer-bottom { display:block; }
  .pvacf-footer-bottom .pvacf-site-credit { display:block; margin-top:10px; }
}


/* Phase 2 / 2.0.47 - full-width golf conversion and post-payment sponsor intake */
.pvacf-golf-conversion-grid {
  display:block;
}
.pvacf-golf-inquiry-card,
.pvacf-golf-payment-card {
  width:100%;
  max-width:none;
}
.pvacf-golf-payment-card {
  margin-top:24px;
}
.pvacf-golf-inquiry-card .pvacf-form,
.pvacf-golf-payment-card .pvacf-golf-payment {
  width:100%;
  max-width:none;
}
.pvacf-golf-payment-card .pvacf-paypal-buttons {
  width:min(100%, 560px);
  margin-left:auto;
  margin-right:auto;
}
.pvacf-golf-payment-card .pvacf-card-checkout {
  width:min(100%, 720px);
  margin-left:auto;
  margin-right:auto;
}
.pvacf-golf-payment-card .pvacf-secure-note,
.pvacf-golf-payment-card .pvacf-paypal-status {
  text-align:center;
}
.pvacf-golf-materials-card {
  width:100%;
  background:#fff;
  border:1px solid var(--pvacf-border);
  border-radius:22px;
  padding:clamp(22px,3vw,34px);
  box-shadow:var(--pvacf-shadow-soft);
}
.pvacf-golf-materials-card .pvacf-form {
  width:100%;
  max-width:none;
  padding:0;
  border:0;
  background:transparent;
}
@media (max-width: 760px) {
  .pvacf-golf-payment-card .pvacf-paypal-buttons,
  .pvacf-golf-payment-card .pvacf-card-checkout {
    width:100%;
  }
}

/* Phase 2 / 2.0.50 - homepage hero background refresh + golf hero cleanup */
.pvacf-golf-hero::before {
  background-image:linear-gradient(90deg,rgba(3,24,48,.97) 0%,rgba(8,40,77,.88) 48%,rgba(8,40,77,.48) 100%),var(--pvacf-feature-hero);
}
.pvacf-golf-hero::after { display:none; }
.pvacf-golf-hero .pvacf-feature-hero-grid { min-height:560px; }
.pvacf-golf-hero .pvacf-feature-hero-copy h1 {
  font-size:clamp(46px,5.25vw,72px);
  max-width:900px;
}
.pvacf-golf-hero-brand {
  text-align:center;
  border-top-color:var(--pvacf-red);
  padding:28px 30px 30px;
}
.pvacf-golf-logo-lockup {
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:96px;
  margin-bottom:18px;
  padding-bottom:18px;
  border-bottom:1px solid var(--pvacf-border);
}
.pvacf-golf-logo-lockup .custom-logo-link,
.pvacf-golf-band-logo .custom-logo-link { display:inline-flex; align-items:center; justify-content:center; }
.pvacf-golf-logo-lockup img {
  width:auto;
  height:auto;
  max-width:250px;
  max-height:95px;
}
.pvacf-golf-logo-fallback {
  display:block;
  color:var(--pvacf-blue-deep);
  font-size:24px;
  line-height:1.15;
  margin-bottom:18px;
}
.pvacf-golf-hero-brand > .pvacf-card-kicker { display:block; }
.pvacf-golf-hero-brand > strong { margin-top:8px; }
.pvacf-golf-hero-brand > p { font-weight:800; }

.pvacf-golf-packages-section { background:#fff; }
.pvacf-golf-packages-section .pvacf-section-heading { align-items:end; }

.pvacf-golf-image-band {
  position:relative;
  overflow:hidden;
  color:#fff;
  background:#08284d;
}
.pvacf-golf-image-band::before {
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(90deg,rgba(3,24,48,.96) 0%,rgba(8,40,77,.82) 58%,rgba(8,40,77,.50) 100%),var(--pvacf-golf-band);
  background-size:cover;
  background-position:center 58%;
}
.pvacf-golf-image-band-inner {
  position:relative;
  z-index:1;
  min-height:330px;
  display:grid;
  grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);
  gap:58px;
  align-items:center;
  padding-top:54px;
  padding-bottom:54px;
}
.pvacf-golf-image-band .pvacf-eyebrow { color:#fff; }
.pvacf-golf-image-band h2 {
  margin:8px 0 14px;
  color:#fff;
  font-size:clamp(36px,4vw,54px);
  line-height:1.02;
  letter-spacing:-.03em;
  max-width:820px;
}
.pvacf-golf-image-band p {
  max-width:760px;
  margin:0;
  color:rgba(255,255,255,.92);
  font-size:19px;
  line-height:1.55;
}
.pvacf-golf-band-brand {
  display:flex;
  align-items:center;
  justify-content:center;
}
.pvacf-golf-band-logo {
  width:min(100%,280px);
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  border-radius:20px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 48px rgba(0,0,0,.24);
}
.pvacf-golf-band-logo img { max-width:100%; max-height:105px; width:auto; height:auto; }

.pvacf-golf-conversion-section {
  position:relative;
  background:linear-gradient(180deg,#edf3f9 0%,#f8fafc 100%);
  border-top:1px solid #d8e4ee;
}
.pvacf-golf-conversion-wrap { width:100%; }
.pvacf-golf-conversion-heading {
  max-width:850px;
  margin:0 auto 34px;
  text-align:center;
}
.pvacf-golf-conversion-heading h2 {
  margin:8px 0 12px;
  color:var(--pvacf-blue-deep);
  font-size:clamp(38px,4.2vw,56px);
  line-height:1.02;
  letter-spacing:-.03em;
}
.pvacf-golf-conversion-heading p {
  margin:0 auto;
  max-width:760px;
  color:var(--pvacf-muted);
  font-size:18px;
  line-height:1.55;
}
.pvacf-golf-conversion-grid {
  display:block !important;
  width:100% !important;
  max-width:none !important;
}
.pvacf-golf-inquiry-card,
.pvacf-golf-payment-card {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding:clamp(26px,3.2vw,40px);
}
.pvacf-golf-inquiry-card {
  border-top:6px solid var(--pvacf-blue);
}
.pvacf-golf-payment-card {
  margin-top:28px !important;
  border-top:6px solid var(--pvacf-red);
  text-align:center;
}
.pvacf-golf-inquiry-card .pvacf-form {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
.pvacf-golf-inquiry-card .pvacf-form-row {
  width:100% !important;
  max-width:none !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.pvacf-golf-inquiry-card .pvacf-field,
.pvacf-golf-inquiry-card input,
.pvacf-golf-inquiry-card select,
.pvacf-golf-inquiry-card textarea {
  width:100%;
  max-width:none;
}
.pvacf-golf-payment-card > p {
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.pvacf-golf-payment-card .pvacf-golf-payment {
  width:100% !important;
  max-width:none !important;
}
.pvacf-golf-payment-card .pvacf-golf-payment-package,
.pvacf-golf-payment-card .pvacf-golf-payment-summary {
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
  text-align:left;
}
.pvacf-golf-payment-card .pvacf-paypal-buttons {
  width:min(100%,560px) !important;
  max-width:560px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center;
}
.pvacf-golf-payment-card .pvacf-card-checkout {
  width:min(100%,720px) !important;
  max-width:720px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:left;
}
.pvacf-golf-payment-card .pvacf-secure-note,
.pvacf-golf-payment-card .pvacf-paypal-status { text-align:center; }

@media (max-width: 900px) {
  .pvacf-golf-image-band-inner { grid-template-columns:1fr; gap:28px; text-align:center; }
  .pvacf-golf-band-logo { margin:0 auto; }
  .pvacf-golf-image-band h2,.pvacf-golf-image-band p { margin-left:auto; margin-right:auto; }
}
@media (max-width: 760px) {
  .pvacf-golf-hero .pvacf-feature-hero-copy h1 { font-size:40px; }
  .pvacf-golf-logo-lockup img { max-width:210px; max-height:82px; }
  .pvacf-golf-image-band-inner { min-height:0; padding-top:42px; padding-bottom:42px; }
  .pvacf-golf-inquiry-card .pvacf-form-row { grid-template-columns:1fr; gap:0; }
  .pvacf-golf-inquiry-card,.pvacf-golf-payment-card { padding:20px; }
  .pvacf-golf-payment-card .pvacf-paypal-buttons,
  .pvacf-golf-payment-card .pvacf-card-checkout { width:100% !important; max-width:100% !important; }
}

/* Phase 2 / 2.0.50 - golf sponsor polish + events month jump */
.pvacf-calendar-current {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  min-width: min(100%, 280px);
}
.pvacf-calendar-month-jump {
  min-width: min(100%, 240px);
  border: 1px solid #c8d8e6;
  border-radius: 999px;
  background: #fff;
  color: var(--pvacf-blue-deep);
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  padding: 11px 18px;
  box-shadow: 0 10px 22px rgba(8,40,77,.08);
}
.pvacf-calendar-month-jump:focus {
  outline: 2px solid var(--pvacf-focus);
  outline-offset: 2px;
}

.pvacf-golf-event-meta,
.pvacf-golf-conversion-date {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 10px 28px rgba(0,0,0,.12);
}
.pvacf-golf-conversion-date {
  background: rgba(18,58,111,.08);
  color: var(--pvacf-blue-deep);
  border-color: rgba(18,58,111,.12);
  margin-top: 18px;
}

.pvacf-golf-conversion-wrap,
.pvacf-golf-materials-wrap {
  width: 100%;
}
.pvacf-golf-conversion-grid {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

.pvacf-golf-panel-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 100% 88%, rgba(31,91,150,.22) 0, rgba(31,91,150,0) 55%),
    radial-gradient(circle at 0 0, rgba(184,32,45,.14) 0, rgba(184,32,45,0) 34%),
    linear-gradient(145deg, #fbfdff 0%, #edf4fb 45%, #d7e6f3 100%);
  border: 1px solid #cfdbe7;
  border-radius: 24px;
  box-shadow: 0 18px 44px rgba(7,31,61,.12);
}
.pvacf-golf-panel-card::after {
  content: "PVA";
  position: absolute;
  right: -.04em;
  bottom: -.11em;
  z-index: -1;
  font-size: clamp(130px, 17vw, 240px);
  line-height: .78;
  font-weight: 950;
  letter-spacing: -.09em;
  color: rgba(8,40,77,.055);
  pointer-events: none;
}
.pvacf-golf-card-logo-mark {
  position: absolute;
  left: 24px;
  top: 20px;
  width: clamp(100px, 12vw, 156px);
  height: auto;
  opacity: .09;
  filter: grayscale(.05);
  pointer-events: none;
}
.pvacf-golf-panel-card > :not(.pvacf-golf-card-logo-mark) {
  position: relative;
  z-index: 1;
}
.pvacf-golf-inquiry-card,
.pvacf-golf-payment-card,
.pvacf-golf-materials-card {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding: clamp(26px, 3.2vw, 40px);
}
.pvacf-golf-payment-card {
  margin-top: 28px !important;
  text-align: center;
}
.pvacf-golf-materials-card h3,
.pvacf-golf-inquiry-card h3,
.pvacf-golf-payment-card h3 {
  position: relative;
  color: var(--pvacf-blue-deep);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.05;
  margin: 8px 0 12px;
}
.pvacf-golf-materials-card .pvacf-form,
.pvacf-golf-inquiry-card .pvacf-form {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
}
.pvacf-golf-materials-card .pvacf-form-row,
.pvacf-golf-inquiry-card .pvacf-form-row {
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.pvacf-golf-materials-card .pvacf-field,
.pvacf-golf-materials-card input,
.pvacf-golf-materials-card select,
.pvacf-golf-materials-card textarea,
.pvacf-golf-inquiry-card .pvacf-field,
.pvacf-golf-inquiry-card input,
.pvacf-golf-inquiry-card select,
.pvacf-golf-inquiry-card textarea {
  width: 100%;
  max-width: none;
}
.pvacf-golf-materials-hero::before {
  background-image: linear-gradient(90deg, rgba(3,24,48,.97) 0%, rgba(8,40,77,.88) 46%, rgba(8,40,77,.48) 100%), var(--pvacf-feature-hero);
}
.pvacf-golf-materials-hero .pvacf-feature-hero-grid {
  min-height: 510px;
}
.pvacf-golf-materials-hero .pvacf-feature-hero-copy h1 {
  font-size: clamp(44px, 5.1vw, 72px);
}
.pvacf-golf-materials-heading {
  max-width: 900px;
}
.pvacf-golf-materials-section {
  position: relative;
  background: linear-gradient(180deg, #edf3f9 0%, #f8fafc 100%);
  border-top: 1px solid #d8e4ee;
}

@media (max-width: 900px) {
  .pvacf-calendar-current {
    min-width: 0;
    width: 100%;
  }
  .pvacf-calendar-month-jump {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 760px) {
  .pvacf-golf-event-meta,
  .pvacf-golf-conversion-date {
    font-size: 14px;
    padding: 9px 14px;
  }
  .pvacf-golf-inquiry-card,
  .pvacf-golf-payment-card,
  .pvacf-golf-materials-card {
    padding: 20px;
    border-radius: 18px;
  }
  .pvacf-golf-card-logo-mark {
    left: 14px;
    top: 14px;
    width: 110px;
    opacity: .065;
  }
  .pvacf-golf-materials-card .pvacf-form-row,
  .pvacf-golf-inquiry-card .pvacf-form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
@media (max-width: 782px) {
  .pvacf-calendar-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .pvacf-calendar-current {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  .pvacf-calendar-current strong {
    text-align: center;
    font-size: 22px;
  }
  .pvacf-calendar-nav > a:first-child { grid-column: 1; grid-row: 2; }
  .pvacf-calendar-nav > a:last-child { grid-column: 2; grid-row: 2; }
}

/* Phase 2 / 2.0.50 - homepage hero background layout */
.pvacf-hero--photo .pvacf-hero-copy { max-width: 760px; }
@media (max-width: 980px) {
  .pvacf-hero-grid { grid-template-columns: 1fr; gap: 26px; }
  .pvacf-hero-visual { min-height: 0; justify-content: flex-start; }
  .pvacf-hero-panel { width: min(460px, 100%); }
}
@media (max-width: 640px) {
  .pvacf-hero-grid { padding: 56px 0 72px; }
  .pvacf-hero-panel { width: 100%; }
}

/* Phase 2 / 2.0.51 - selected rugby hero framing + calendar month selector */
@media (min-width: 1100px) {
  .pvacf-hero--photo::before {
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center 14%;
    background-color: var(--pvacf-blue-deep);
  }
}
@media (min-width: 981px) and (max-width: 1099px) {
  .pvacf-hero--photo::before {
    background-size: cover;
    background-position: center top;
  }
}
@media (max-width: 980px) {
  .pvacf-hero--photo::before {
    background-size: cover;
    background-position: 44% center;
  }
}
@media (max-width: 640px) {
  .pvacf-hero-visual--panel { margin-top: 24px; }
}

.pvacf-calendar-current {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: min(100%, 300px);
}
.pvacf-calendar-month-jump {
  width: min(100%, 300px);
  min-width: 270px;
  min-height: 52px;
  border: 1px solid var(--pvacf-border);
  border-radius: 12px;
  background: #fff;
  color: var(--pvacf-blue-deep);
  font: inherit;
  font-size: 23px;
  font-weight: 900;
  line-height: 1.15;
  text-align: center;
  padding: 10px 42px 10px 14px;
  box-shadow: none;
}
.pvacf-calendar-month-jump:hover { border-color: #b8c9da; }
.pvacf-calendar-month-jump:focus {
  outline: 2px solid var(--pvacf-focus);
  outline-offset: 2px;
}
@media (max-width: 782px) {
  .pvacf-calendar-current { width: 100%; min-width: 0; }
  .pvacf-calendar-month-jump {
    width: min(100%, 300px);
    min-width: 0;
    font-size: 20px;
  }
}


/* Phase 2 / 2.0.52 - PVA Central Florida membership experience */
.pvacf-membership-hero::before,
.pvacf-membership-application-hero::before {
  background-image: linear-gradient(90deg, rgba(3,24,48,.97) 0%, rgba(8,40,77,.88) 48%, rgba(8,40,77,.48) 100%), var(--pvacf-feature-hero);
}
.pvacf-membership-hero-card strong,
.pvacf-membership-application-aside strong { font-size: clamp(30px,3vw,44px); }
.pvacf-membership-contact-link {
  display:block;
  margin-top:10px;
  color:var(--pvacf-blue-deep);
  font-weight:900;
  text-decoration-thickness:1px;
  text-underline-offset:.18em;
}
.pvacf-membership-benefit-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.pvacf-membership-benefit-grid article {
  position:relative;
  overflow:hidden;
  min-height:210px;
  padding:26px;
  border:1px solid var(--pvacf-border);
  border-top:5px solid var(--pvacf-red);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--pvacf-shadow-soft);
}
.pvacf-membership-benefit-grid article > span {
  position:absolute;
  top:14px;
  right:16px;
  color:rgba(18,58,111,.10);
  font-size:40px;
  line-height:1;
  font-weight:950;
}
.pvacf-membership-benefit-grid h3 { margin:10px 0 10px; color:var(--pvacf-blue-deep); font-size:24px; }
.pvacf-membership-benefit-grid p { margin:0; color:var(--pvacf-muted); font-size:16px; line-height:1.55; }
.pvacf-membership-eligibility-grid {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);
  gap:34px;
  align-items:start;
}
.pvacf-membership-eligibility-grid h2,
.pvacf-membership-chapter-grid h2 { margin:8px 0 24px; color:var(--pvacf-blue-deep); font-size:clamp(38px,4vw,54px); line-height:1.02; }
.pvacf-membership-requirements { display:grid; gap:14px; }
.pvacf-membership-requirements article {
  display:grid;
  grid-template-columns:54px 1fr;
  gap:17px;
  align-items:start;
  padding:20px;
  background:#fff;
  border:1px solid var(--pvacf-border);
  border-radius:16px;
}
.pvacf-membership-requirements article > strong {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--pvacf-red);
  color:#fff;
  font-size:21px;
}
.pvacf-membership-requirements h3 { margin:1px 0 5px; color:var(--pvacf-blue-deep); }
.pvacf-membership-requirements p { margin:0; color:var(--pvacf-muted); }
.pvacf-membership-condition-card,
.pvacf-membership-help-card {
  padding:28px;
  border-radius:20px;
  border:1px solid #cfdae6;
  border-top:5px solid var(--pvacf-blue);
  background:linear-gradient(145deg,#fff,#edf4fb);
  box-shadow:var(--pvacf-shadow-soft);
}
.pvacf-membership-condition-card ul { margin:18px 0; padding-left:22px; }
.pvacf-membership-condition-card li + li { margin-top:7px; }
.pvacf-membership-condition-card p { color:var(--pvacf-muted); }
.pvacf-membership-steps {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.pvacf-membership-steps article {
  padding:25px;
  border:1px solid var(--pvacf-border);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--pvacf-shadow-soft);
}
.pvacf-membership-steps article > strong { color:var(--pvacf-red); font-size:30px; }
.pvacf-membership-steps h3 { color:var(--pvacf-blue-deep); margin:8px 0; }
.pvacf-membership-steps p { color:var(--pvacf-muted); margin:0; }
.pvacf-membership-apply-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:28px;
  padding:30px;
  border-radius:20px;
  background:linear-gradient(145deg,#edf4fb,#fff);
  border:1px solid var(--pvacf-border);
}
.pvacf-membership-apply-cta h3 { margin:6px 0; color:var(--pvacf-blue-deep); font-size:30px; }
.pvacf-membership-apply-cta p { margin:0; color:var(--pvacf-muted); }
.pvacf-membership-chapter-grid { display:grid; grid-template-columns:1fr minmax(300px,.62fr); gap:42px; align-items:center; }
.pvacf-membership-chapter-grid h2 { color:#fff; }
.pvacf-membership-chapter-grid p { color:rgba(255,255,255,.84); }
.pvacf-membership-office-card {
  padding:28px;
  border-radius:20px;
  background:#fff;
  color:var(--pvacf-ink);
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}
.pvacf-membership-office-card strong { color:var(--pvacf-blue-deep); font-size:22px; }
.pvacf-membership-office-card p { color:var(--pvacf-muted); }
.pvacf-membership-office-card a { color:var(--pvacf-blue-deep); font-weight:850; }
.pvacf-membership-volunteer-form { max-width:920px; margin:0 auto; }

.pvacf-membership-application-section { background:linear-gradient(180deg,#edf3f9 0%,#f8fafc 100%); }
.pvacf-membership-application-layout {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.55fr);
  gap:28px;
  align-items:start;
}
.pvacf-membership-application-card {
  overflow:hidden;
  padding:clamp(24px,3vw,38px);
  border:1px solid var(--pvacf-border);
  border-top:6px solid var(--pvacf-red);
  border-radius:22px;
  background:#fff;
  box-shadow:var(--pvacf-shadow);
}
.pvacf-membership-application-card .pvacf-form { max-width:none; margin:0; padding:0; border:0; background:transparent; }
.pvacf-membership-form-section { padding:0 0 30px; margin:0 0 30px; border-bottom:1px solid var(--pvacf-border); }
.pvacf-membership-form-section:last-child { padding-bottom:0; margin-bottom:0; border-bottom:0; }
.pvacf-membership-form-section h3 { margin:7px 0 20px; color:var(--pvacf-blue-deep); font-size:27px; }
.pvacf-membership-form-section fieldset { border:1px solid var(--pvacf-border); border-radius:12px; padding:16px; }
.pvacf-membership-form-section legend { padding:0 6px; color:var(--pvacf-blue-deep); font-weight:850; }
.pvacf-membership-form-section fieldset label { display:inline-flex; align-items:center; gap:7px; margin:8px 18px 0 0; font-weight:700; }
.pvacf-membership-form-section input[type="radio"],
.pvacf-membership-form-section input[type="checkbox"] { width:20px; height:20px; }
.pvacf-membership-document-link { color:var(--pvacf-blue-deep); font-weight:850; }
.pvacf-membership-help-card { position:sticky; top:22px; }
.pvacf-membership-help-card h3 { margin:8px 0 14px; color:var(--pvacf-blue-deep); font-size:28px; }
.pvacf-membership-help-card ul { padding-left:20px; }
.pvacf-membership-help-card li + li { margin-top:8px; }

@media (max-width: 980px) {
  .pvacf-membership-benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pvacf-membership-eligibility-grid,
  .pvacf-membership-application-layout,
  .pvacf-membership-chapter-grid { grid-template-columns:1fr; }
  .pvacf-membership-help-card { position:static; }
}
@media (max-width: 720px) {
  .pvacf-membership-benefit-grid,
  .pvacf-membership-steps { grid-template-columns:1fr; }
  .pvacf-membership-apply-cta { align-items:flex-start; flex-direction:column; }
  .pvacf-membership-apply-cta .pvacf-btn { width:100%; }
  .pvacf-membership-application-card { padding:20px; border-radius:18px; }
  .pvacf-membership-form-section .pvacf-form-row { grid-template-columns:1fr; gap:0; }
}
