/* Berkeley Community Scholars — brand CSS surviving the Kadence-blocks rebuild.
   Colors come from the Kadence global palette, which mirrors the BCS Branding Guide
   (palette1/4 dark blue #00639c · palette2 orange lantern · palette3 light blue ·
   palette10 kiwi green · soft grey #929189 as tints/shades). Never hardcode hex here
   except brand-derived tints for borders. */

/* ── Footer (Kadence footer builder) ─────────────────────────── */
.site-footer { color: rgba(255,255,255,0.7); font-size: 14px; }
.site-footer .site-middle-footer-wrap { padding-top: 0; }
.site-footer .widget-title {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  margin-bottom: 16px;
  font-weight: 600;
}
.site-footer .widget_nav_menu ul { list-style: none; padding: 0; margin: 0; }
.site-footer .widget_nav_menu ul li { padding: 5px 0; }
.site-footer .widget_nav_menu ul a { color: rgba(255,255,255,0.78); font-size: 14px; text-decoration: none; }
.site-footer .widget_nav_menu ul a:hover { color: #fff; }
.site-footer .footer-widget1 p { color: rgba(255,255,255,0.7); max-width: 280px; font-size: 14px; line-height: 1.55; }
.site-footer .site-info { font-size: 12px; color: rgba(255,255,255,0.45); }

/* Footer logo: official one-colour artwork knocked out to white (brand guide rule 5) */
.site-footer .bcs-footer-logo { margin: 0 0 20px; }
.site-footer .bcs-footer-logo img { width: 190px; height: auto; display: block; }

/* ── Pattern components ──────────────────────────────────────── */
.bcs-eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--global-palette3);
  margin-bottom: 10px;
}
.bcs-eyebrow.is-sky { color: var(--global-palette3); }
.entry-content .bcs-eyebrow { margin-top: 0; }

.bcs-stat-num {
  font-family: 'Source Serif 4', 'Source Serif Pro', Georgia, serif;
  font-size: 60px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--global-palette2);
  margin-bottom: 6px;
}
.bcs-stat-label { color: var(--global-palette6); font-size: 15px; }
@media (max-width: 767px) { .bcs-stat-num { font-size: 44px; } }

.bcs-card > .kt-inside-inner-col {
  background: var(--global-palette9);
  border-radius: 8px;
  padding: 32px 30px;
  box-shadow: 0 1px 3px rgba(0,99,156,0.10);
  height: 100%;
  transition: transform 0.2s, box-shadow 0.2s;
}
.bcs-card > .kt-inside-inner-col:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,99,156,0.14); }
.bcs-card-link a { color: var(--global-palette2); font-weight: 600; text-decoration: none; }
.bcs-card-link a:hover { text-decoration: underline; }

.bcs-person-photo img { border-radius: 8px; }
.bcs-person-role {
  color: var(--global-palette2);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bcs-timeline-year {
  font-family: 'Source Serif 4', 'Source Serif Pro', Georgia, serif;
  font-size: 32px;
  font-weight: 500;
  color: var(--global-palette2);
  line-height: 1.1;
}
.bcs-timeline-body > .kt-inside-inner-col {
  border-left: 3px solid var(--global-palette3);
  padding-left: 24px;
}

.bcs-download a {
  display: block;
  border: 1.5px solid var(--global-palette1);
  border-radius: 6px;
  padding: 12px 18px;
  color: var(--global-palette1);
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}
.bcs-download a:hover { background: var(--global-palette1); color: var(--global-palette9); }
.bcs-download { margin-bottom: 10px; }

.bcs-pullquote {
  font-size: 20px;
  font-style: italic;
  color: var(--global-palette1);
  line-height: 1.6;
}

/* Inset rounded bands (stat card / CTA card inside content width) */
.bcs-statcard .kt-row-column-wrap, .bcs-ctacard .kt-row-column-wrap { max-width: 1100px; margin-left: auto; margin-right: auto; }
.bcs-ctacard .kt-row-column-wrap { background: var(--global-palette1); border-radius: 12px; padding: 48px 24px !important; } /* !important: Kadence prints per-row inline padding */
@media (max-width: 767px) { .bcs-ctacard .kt-row-column-wrap { padding: 36px 20px !important; } }
.bcs-ctacard .kb-button { border-radius: 999px; }

/* Stat card: white panel with hairline column dividers; overlaps the band above it */
.bcs-statcard { position: relative; z-index: 2; margin-bottom: 56px; }
/* Stat card sitting inside a tinted band (home): the band supplies the spacing */
.bcs-statcard.is-inband { margin-bottom: 0; }
.entry-content > .kt-row-has-bg + .bcs-statcard { margin-top: -56px; }
/* …and the band it overlaps gets room underneath its text (modern browsers; older ones just overlap less gracefully) */
.entry-content > .kt-row-has-bg:has(+ .bcs-statcard) > .kt-row-column-wrap { padding-bottom: 128px !important; }
.bcs-statcard .kt-row-column-wrap {
  background: var(--global-palette9);
  border: 1px solid #e5f2f8;
  border-radius: 12px;
  padding: 36px 16px !important;
  box-shadow: 0 12px 32px rgba(0,99,156,0.12);
  row-gap: 28px;
}
.bcs-statcard .wp-block-kadence-column > .kt-inside-inner-col { text-align: center; padding: 4px 16px; }
.bcs-statcard .bcs-stat-num {
  font-size: 46px; line-height: 1; letter-spacing: -0.02em;
  color: var(--global-palette2); margin: 0 0 8px !important;
}
.bcs-statcard .bcs-stat-label { font-size: 14px; line-height: 1.4; color: var(--global-palette6); margin: 0 auto !important; max-width: 200px; }
@media (min-width: 1025px) {
  .bcs-statcard .wp-block-kadence-column + .wp-block-kadence-column { border-left: 1px solid #e5f2f8; }
}
@media (max-width: 767px) {
  .bcs-statcard .kt-row-column-wrap { padding: 28px 12px !important; row-gap: 22px; }
  .bcs-statcard .bcs-stat-num { font-size: 38px; }
  .entry-content > .kt-row-has-bg + .bcs-statcard { margin-top: -32px; }
  .entry-content > .kt-row-has-bg:has(+ .bcs-statcard) > .kt-row-column-wrap { padding-bottom: 88px !important; }
}
/* Inset cards are the same dark blue as the footer — keep a gap when one closes the page */
.entry-content > .bcs-ctacard:last-child, .entry-content > .bcs-statcard:last-child { margin-bottom: 72px; }
@media (max-width: 767px) { .entry-content > .bcs-ctacard:last-child, .entry-content > .bcs-statcard:last-child { margin-bottom: 48px; } }

/* Staff/team member cards */
.bcs-member-top { margin-bottom: 16px; gap: 18px; }
.bcs-member-photo img { width: 104px; height: 104px; border-radius: 50%; object-fit: cover; object-position: center top; background: var(--global-palette7); }
.bcs-member-photo { margin: 0; }
.bcs-member h3 { margin-bottom: 4px; }
.bcs-member .bcs-person-role { margin-top: 0; }
.bcs-card-icon { font-size: 26px; margin-bottom: 4px; }
.bcs-card h3 a { color: var(--global-palette1); text-decoration: none; }
.bcs-card h3 a:hover { color: var(--global-palette2); }
.bcs-download-grid > .kt-inside-inner-col { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.bcs-download-grid .bcs-download { margin: 0; }
.bcs-multicol { columns: 220px; column-gap: 36px; list-style: none; padding-left: 0; line-height: 1.85; }
.bcs-multicol li { break-inside: avoid; }
.bcs-member-initials {
  width: 104px; height: 104px; border-radius: 50%;
  background: var(--global-palette7); color: var(--global-palette1);
  display: grid; place-items: center;
  font-family: 'Source Serif 4', Georgia, serif; font-size: 30px; font-weight: 500;
  margin: 0;
}
.bcs-narrow-center > .kt-inside-inner-col { max-width: 780px; margin: 0 auto; }
.bcs-give-card > .kt-inside-inner-col { background: var(--global-palette7); border-radius: 14px; padding: 28px; height: 100%; }
.bcs-soft-rule { border-color: #d9d9d6; opacity: 1; max-width: 200px; }

/* ── Home page ───────────────────────────────────────────────── */
.bcs-hero-stat {
  font-family: 'Source Serif 4', 'Source Serif Pro', Georgia, serif;
  font-size: clamp(96px, 12vw, 168px);
  font-weight: 500; line-height: 0.88; letter-spacing: -0.045em;
  color: var(--global-palette1); margin: 8px 0 10px;
}
.bcs-hero-stat .x { color: var(--global-palette2); font-size: 0.8em; margin-left: 4px; }
.bcs-hero-cap strong { color: var(--global-palette1); font-size: 19px; }
.bcs-hero-cap { color: var(--global-palette6); line-height: 1.5; }
.bcs-hero-line { margin-top: 18px; }
.bcs-hero-line em { font-style: normal; color: var(--global-palette2); }
.bcs-hero-photo img { border-radius: 4px; width: 100%; object-fit: cover; }
.bcs-door > .kt-inside-inner-col {
  background: var(--global-palette9);
  border: 1px solid #e5f2f8; border-radius: 8px;
  padding: 32px 30px; height: 100%;
  display: flex; flex-direction: column; gap: 16px; align-items: flex-start;
  transition: transform 0.2s, box-shadow 0.2s;
}
.bcs-door > .kt-inside-inner-col:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(0,99,156,0.12); }
/* The theme's content margins stack on top of the flex gap — the gap alone sets the rhythm. */
.bcs-door > .kt-inside-inner-col > * { margin-top: 0; margin-bottom: 0; }
/* Button + link pinned to the card bottom as one group, so all three doors align. */
.bcs-door > .kt-inside-inner-col > .wp-block-kadence-advancedbtn { margin-top: auto !important; padding-top: 4px; }
.bcs-door-kicker {
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--global-palette2);
}
.bcs-stat-num.is-navy { color: var(--global-palette1); }
.bcs-pill-list { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bcs-pill-list li {
  background: var(--global-palette9); border: 1px solid #d9d9d6; border-radius: 999px;
  padding: 6px 14px; font-size: 14px; color: var(--global-palette1); margin: 0;
}
.bcs-event-meta { line-height: 1.7; color: var(--global-palette5); }
.bcs-event-meta .pill {
  display: inline-block; background: var(--global-palette1); color: var(--global-palette9);
  border-radius: 8px; padding: 4px 12px; font-weight: 700; font-size: 14px;
  letter-spacing: 0.04em; text-transform: uppercase; margin-right: 8px;
}

/* Door variants (Scholars door is a dark-blue gradient, others white) */
.bcs-door > .kt-inside-inner-col { min-height: 340px; }
.bcs-door h3 { font-size: 26px; font-weight: 500; }
.bcs-door p:not(.bcs-door-kicker):not(.bcs-card-link) { opacity: 0.85; }
.bcs-door.is-navy > .kt-inside-inner-col {
  background: linear-gradient(155deg, #004f7d 0%, var(--global-palette1) 100%);
  border: none;
}
.bcs-door.is-navy h3 { color: var(--global-palette9); }
.bcs-door.is-navy p { color: var(--global-palette9); }
.bcs-door.is-navy .bcs-card-link a { color: var(--global-palette9); text-decoration: underline; text-underline-offset: 3px; }
.bcs-door.is-navy .bcs-card-link a:hover { color: var(--global-palette3); }
@media (max-width: 767px) {
  .bcs-door > .kt-inside-inner-col { min-height: 0; padding: 26px 24px; }
}

/* ── Vertical rhythm: theme content margins are too airy for hero/section heads ── */
.bcs-eyebrow { margin-bottom: 14px !important; }
.bcs-eyebrow + h1 { margin-top: 0 !important; }
.bcs-eyebrow + h2 { margin-top: 8px !important; }
.bcs-hero-stat { margin-top: 4px !important; margin-bottom: 12px !important; }
.bcs-hero-cap { margin-bottom: 20px !important; }
h1.bcs-hero-line { margin-top: 16px !important; margin-bottom: 26px !important; }

/* ── Mobile drawer: stack the Apply / Scholar Portal utility links ── */
#mobile-drawer .header-html a { display: block; padding: 10px 0; font-size: 15px !important; }
#mobile-drawer .header-html span { display: none !important; }

/* ── Sept 2026 content-doc components ── */
.bcs-hero-count { font-size: 17px; color: var(--global-palette6); }
.bcs-hero-count strong { font-family: 'Source Serif 4', 'Source Serif Pro', Georgia, serif; font-size: 44px; font-weight: 500; color: var(--global-palette2); line-height: 1; vertical-align: -4px; }
.bcs-quote-band .bcs-pullquote { color: var(--global-palette9); font-size: 24px; line-height: 1.55; }
@media (max-width: 767px) { .bcs-quote-band .bcs-pullquote { font-size: 19px; } }
.bcs-quote-attrib { color: var(--global-palette3); font-weight: 600; letter-spacing: 0.04em; }
.bcs-fineprint { font-size: 13px; color: var(--global-palette6); }
.bcs-date { font-size: 20px !important; padding-top: 4px; }
.bcs-checklist li, .bcs-steps li { margin-bottom: 12px; }
.bcs-steps { padding-left: 1.4em; }
.bcs-give-table.wp-block-table table, .bcs-give-table.wp-block-table { border: 0; }
.bcs-give-table table { border-collapse: collapse; width: 100%; }
.entry-content .bcs-give-table td, .bcs-give-table.wp-block-table td { border: 0; border-bottom: 1px solid #e5f2f8; padding: 14px 12px; vertical-align: top; }
.bcs-give-table td:first-child { width: 32%; color: var(--global-palette1); }
@media (max-width: 767px) { .bcs-give-table td { display: block; width: 100% !important; padding: 6px 0; } .bcs-give-table td:first-child { padding-top: 16px; border-bottom: 0; } }
.bcs-form-placeholder { border: 2px dashed var(--global-palette3); border-radius: 12px; padding: 40px 24px; color: var(--global-palette6); background: var(--global-palette8); }
.bcs-door .wp-block-kadence-advancedbtn .kb-button { white-space: normal; text-align: left; }

/* ══ Sept 22 2026 design/readability audit ══════════════════════════════════
   Findings (Chrome audit, 32 pages): light-blue eyebrows 2.4:1 contrast, white-on-
   orange buttons 3.5:1, paragraphs up to 1116px wide, "large" text at 32px,
   12–13px nav/labels. Fixes below; brand orange stays for large display numerals. */

/* AA-safe orange for everything readable (buttons, links, labels). Brand #e16222
   passes only for large display type, so decorative numerals keep it explicitly. */
body { --global-palette2: #b94a16; --bcs-orange-brand: #e16222; }
.bcs-stat-num:not(.is-navy), .bcs-statcard .bcs-stat-num:not(.is-navy), .bcs-timeline-year, .bcs-hero-count strong, .bcs-hero-stat .x { color: var(--bcs-orange-brand); }

/* Eyebrows: dark blue on light bands, pale tint on dark bands */
.bcs-eyebrow, .bcs-eyebrow.is-sky { color: var(--global-palette1); font-size: 14px; letter-spacing: 0.16em; }
.kt-row-has-bg .bcs-eyebrow.is-sky,
.bcs-quote-band .bcs-eyebrow { color: #cfe6f3; }
.bcs-quote-attrib { color: #cfe6f3; }
.bcs-door-kicker { font-size: 13px; }
.bcs-person-role { font-size: 14px; letter-spacing: 0.06em; }
.bcs-fineprint { font-size: 14px; }
.bcs-hero-count { font-size: 18px; }

/* Readable measure: single-column prose caps at ~72ch */
.entry-content .kt-has-1-columns > .wp-block-kadence-column > .kt-inside-inner-col > p:not(.bcs-eyebrow),
.entry-content .kt-has-1-columns > .wp-block-kadence-column > .kt-inside-inner-col > ul:not(.bcs-multicol):not(.bcs-pill-list),
.entry-content .kt-has-1-columns > .wp-block-kadence-column > .kt-inside-inner-col > ol,
.entry-content .kt-has-1-columns > .wp-block-kadence-column > .kt-inside-inner-col > h2,
.entry-content .kt-has-1-columns > .wp-block-kadence-column > .kt-inside-inner-col > h3 { max-width: 72ch; }
.entry-content .kt-has-1-columns p.has-text-align-center,
.entry-content .kt-has-1-columns h2.has-text-align-center { margin-left: auto; margin-right: auto; }
.bcs-narrow-center > .kt-inside-inner-col { max-width: 72ch; }
.entry-content p, .entry-content li { line-height: 1.7; }

/* Lead text: Kadence "large" preset is 32px — far too big for body copy */
.entry-content .has-large-font-size { font-size: clamp(1.125rem, 1rem + 0.45vw, 1.3rem) !important; line-height: 1.6; }

/* Page heroes (dark-blue band with white H1): depth + an orange accent rule */
.entry-content > .kb-row-layout-wrap:has(> .kt-row-column-wrap h1.has-theme-palette-9-color) {
  background-image: radial-gradient(circle at 88% 12%, rgba(84,169,210,0.38), transparent 42%),
                    linear-gradient(135deg, #00639c 0%, #004d7a 100%);
}
.entry-content h1.has-theme-palette-9-color::after {
  content: ""; display: block; width: 56px; height: 4px; border-radius: 2px;
  background: var(--bcs-orange-brand); margin-top: 22px;
}
.entry-content h1.has-theme-palette-9-color { max-width: 22ch; }

/* Home hero: calmer lead, photo cropped to a portrait card instead of a full-height column */
.bcs-hero-line + .has-large-font-size { color: var(--global-palette5); }
.bcs-hero-photo img { aspect-ratio: 4 / 5; max-height: 580px; object-fit: cover; border-radius: 14px; box-shadow: 0 18px 40px rgba(0,77,122,0.18); }

/* Timeline / journey / key dates: narrow label column instead of a 1/3 split */
@media (min-width: 768px) {
  .entry-content .kt-row-column-wrap:has(> .bcs-timeline-body) { grid-template-columns: 180px minmax(0, 1fr) !important; column-gap: 24px; }
}
.bcs-timeline-body > .kt-inside-inner-col > *:first-child { margin-top: 0; }
.bcs-timeline-body h3 { margin-bottom: 6px; }

/* Stacked arrow links read as a list, not spaced-out paragraphs */
.bcs-card-link { margin-top: 0.4em !important; margin-bottom: 0.4em !important; }
.bcs-card-link a { border-bottom: 1.5px solid transparent; transition: border-color .15s; }
.bcs-card-link a:hover { text-decoration: none; border-bottom-color: currentColor; }

/* Cards: equal-height, consistent rhythm, no stray top margins */
.bcs-card > .kt-inside-inner-col > *:first-child, .bcs-give-card > .kt-inside-inner-col > *:first-child { margin-top: 0; }
.bcs-card h3, .bcs-give-card h3 { margin-bottom: 10px; }
.bcs-give-card > .kt-inside-inner-col { border: 1px solid #e7e5df; }

/* Quote band: a large opening mark */
.bcs-quote-band .bcs-pullquote { position: relative; font-style: normal; font-family: 'Source Serif 4', Georgia, serif; }
.bcs-quote-band .bcs-pullquote::before { content: "“"; position: absolute; left: -0.55em; top: -0.35em; font-size: 3.2em; color: rgba(255,255,255,0.22); line-height: 1; }
@media (max-width: 767px) { .bcs-quote-band .bcs-pullquote::before { display: none; } }

/* Header: legible nav + dropdowns, utility bar */
.header-navigation .header-menu-container ul ul li > a { font-size: 15px !important; }
.site-top-header-wrap a, .site-top-header-wrap .header-html { font-size: 14px !important; }
.header-navigation .primary-menu-container > ul > li > a { font-size: 16px; }

/* Buttons: pill shape everywhere, a touch of lift */
.entry-content .kb-button { border-radius: 999px; transition: transform .15s, box-shadow .15s; }
.entry-content .kb-button:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0,77,122,0.18); }
.bcs-timeline-body p, .bcs-timeline-body ul, .bcs-card p, .bcs-give-table { max-width: 72ch; }
.bcs-date { color: var(--global-palette1) !important; font-weight: 600; }
.entry-content .has-large-font-size { max-width: 60ch; }

/* Header Donate button: Kadence prints the brand hex directly — use the AA shade */
.site-header .header-button.button-style-filled, .site-header .mobile-header-button.button-style-filled { background: #b94a16 !important; border-color: #b94a16 !important; color: #fff !important; }
.site-header .header-button.button-style-filled:hover, .site-header .mobile-header-button.button-style-filled:hover { background: #9e3e11 !important; }

/* The Events Calendar: its light-blue accent fails contrast on white */
.tribe-events .tribe-events-c-view-selector__list-item-text,
.tribe-events .tribe-events-calendar-latest-past__heading,
.tribe-events .tribe-events-calendar-latest-past__event-date-tag-daynum,
.tribe-events .tribe-events-calendar-latest-past__event-date-tag-year,
.tribe-events .tribe-events-calendar-latest-past__event-datetime,
.tribe-events .tribe-events-calendar-list__event-datetime { color: var(--global-palette1) !important; }
.tribe-events .tribe-common-c-btn, .tribe-events button.tribe-common-c-btn { background-color: #b94a16 !important; }
.tribe-events .tribe-events-calendar-latest-past__event-date-tag-month, .tribe-events .tribe-events-c-top-bar__today-button { font-size: 13px; }
.entry-content p.has-large-font-size { max-width: 60ch !important; }
.tribe-events a:not(.tribe-common-c-btn), .tribe-events .tribe-common-h3, .tribe-events .tribe-events-c-top-bar__datepicker-button,
.tribe-events .tribe-events-calendar-list__event-title a { color: var(--global-palette1) !important; }
.tribe-events .tribe-events-calendar-latest-past__event-date-tag-year { font-size: 13px; }
/* Blog archive meta + footer small print */
.loop-entry .entry-meta, .loop-entry .entry-taxonomies, .loop-entry .more-link-wrap { font-size: 14px; }
.site-footer .site-info { font-size: 13px; color: rgba(255,255,255,0.7); }
@media (max-width: 767px) {
  .bcs-hero-count strong { font-size: 32px; }
  .bcs-hero-count { font-size: 16px; }
  .bcs-timeline-year { font-size: 22px !important; margin-bottom: 0 !important; }
  .entry-content .kt-row-column-wrap:has(> .bcs-timeline-body) { row-gap: 6px !important; }
}

/* ── Real BCS photography (Sept 2026, from Ralph's PHOTOS AND VIDEOS drive) ── */
.bcs-photo { margin: 0; }
.bcs-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; box-shadow: 0 14px 34px rgba(0,77,122,0.14); }
.bcs-photo-col .bcs-photo img { aspect-ratio: 5 / 4; }
.bcs-photo-strip .bcs-photo img { aspect-ratio: 4 / 3; box-shadow: 0 8px 22px rgba(0,77,122,0.12); }
@media (max-width: 767px) {
  .bcs-photo-strip .kt-row-column-wrap { grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 8px !important; }
  .bcs-photo-strip .bcs-photo img { aspect-ratio: 1 / 1; border-radius: 10px; }
  .bcs-photo-col { order: -1; }
}
/* Keep faces in frame when portraits/landscapes are cropped */
.bcs-hero-photo img { object-position: center 30%; }
.bcs-photo-strip.is-portraits .bcs-photo img, .bcs-photo-strip .bcs-photo img { object-position: center 30%; }
/* Per-photo crop: graduate-celebration (media 1700) has the head near the top edge. */
.bcs-photo-strip .bcs-photo img.wp-image-1700 { object-position: center 8%; }
/* Solid and outline buttons the same size: outline buttons carry a 2px border, so give
   solid ones an invisible 2px border too (Kadence's per-button outline rules are more specific and win) */
.entry-content .kb-button { border: 2px solid transparent; }

/* Stats bar: larger, easier-to-read descriptors; tighter link-up with the source note below */
.bcs-statcard .bcs-stat-label { font-size: 16px; line-height: 1.45; max-width: 240px; color: var(--global-palette5); }
@media (max-width: 767px) { .bcs-statcard .bcs-stat-label { font-size: 15px; } }
.entry-content > .bcs-statcard:has(+ .kb-row-layout-wrap .bcs-fineprint) { margin-bottom: 20px; }
.entry-content > .bcs-statcard + .kb-row-layout-wrap .bcs-fineprint { margin-top: 0; margin-bottom: 12px !important; }
/* Less empty band above the overlapping stats card */
.entry-content > .kt-row-has-bg:has(+ .bcs-statcard) > .kt-row-column-wrap { padding-bottom: 92px !important; }
@media (max-width: 767px) { .entry-content > .kt-row-has-bg:has(+ .bcs-statcard) > .kt-row-column-wrap { padding-bottom: 64px !important; } }

/* Donate: form column + reassurance sidebar */
.bcs-donate-form .bcs-form-placeholder { min-height: 420px; display: flex; align-items: center; justify-content: center; margin: 0; }
.bcs-donate-aside > .kt-inside-inner-col { background: var(--global-palette7); border-radius: 14px; padding: 16px 16px 20px; }
.bcs-donate-aside .bcs-photo { margin: 0 0 18px; }
.bcs-donate-aside .bcs-photo img { aspect-ratio: 4 / 3; box-shadow: none; border-radius: 10px; }
.bcs-donate-aside p { font-size: 15px; line-height: 1.55; margin: 0 8px 12px; color: var(--global-palette5); }
.bcs-donate-aside p strong { color: var(--global-palette1); }
@media (max-width: 1024px) { .bcs-donate-form .bcs-form-placeholder { min-height: 260px; } }

/* Narrow text columns align to the same left edge as headings/sections (keep the readable
   measure). Only blocks whose text is itself centered stay centered. */
.bcs-narrow-center > .kt-inside-inner-col { margin-left: 0 !important; margin-right: auto !important; }
.bcs-narrow-center:has(.has-text-align-center) > .kt-inside-inner-col { margin-left: auto !important; }

/* Sept 28 2026 (Angie): breathing room between an FAQ accordion and the button below it */
.wp-block-kadence-accordion + .wp-block-kadence-advancedbtn,
.wp-block-kadence-accordion + .kb-buttons-wrap { margin-top: 40px !important; }

/* Forminator forms (Community Network sign-up, Sept 28 2026) */
.forminator-ui.forminator-custom-form { max-width: 560px; margin: 24px 0 32px; }
.forminator-ui .forminator-row { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 16px; }
.forminator-ui .forminator-col { flex: 1 1 220px; min-width: 0; }
.forminator-ui .forminator-label { display: block; font-weight: 600; font-size: 15px; color: var(--global-palette5); margin-bottom: 6px; }
.forminator-ui .forminator-input { width: 100%; box-sizing: border-box; padding: 12px 14px; font-size: 16px; border: 1px solid #c9d6df; border-radius: 8px; background: #fff; }
.forminator-ui .forminator-input:focus { outline: 2px solid var(--global-palette3); outline-offset: 1px; border-color: var(--global-palette1); }
.forminator-ui .forminator-button-submit { background: var(--global-palette2); color: #fff; border: 0; border-radius: 999px; padding: 14px 32px; font-size: 16px; font-weight: 600; cursor: pointer; }
.forminator-ui .forminator-button-submit:hover { filter: brightness(0.92); }
.forminator-ui .forminator-error-message { color: #b3261e; font-size: 14px; margin-top: 4px; display: block; }
.forminator-ui .forminator-response-message.forminator-success { background: var(--global-palette8); border-left: 4px solid var(--global-palette1); padding: 16px 20px; border-radius: 6px; }
.forminator-ui .forminator-col { width: auto !important; max-width: none !important; }
.forminator-ui .forminator-row.forminator-no-margin { margin-bottom: 0; }
.forminator-ui.forminator-custom-form .forminator-row .forminator-col { flex: 1 1 200px !important; margin-bottom: 0 !important; }

/* ── Sept 28 2026 — Angie review round 2 ── */
/* Team/board photos: one template — 104px circle, always square-cropped (some sources are portrait) */
.bcs-member-photo img { width: 104px !important; height: 104px !important; aspect-ratio: 1 / 1; max-width: none; }

/* Cards: clearer outline + dark-blue top rule */
.bcs-card > .kt-inside-inner-col { border: 1px solid #bcd3e3; border-top: 4px solid var(--global-palette1); box-shadow: 0 2px 6px rgba(0,99,156,0.08); }

/* Visible hover on filled orange buttons (outline buttons already fill dark blue) */
.kb-button { transition: background-color .15s, color .15s, border-color .15s, transform .15s, box-shadow .15s !important; }
.kb-button:hover, .kb-button:focus-visible { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,40,70,0.18); }
/* Scholar highlight quote runs the full content width */
.bcs-quote-band .bcs-narrow-center > .kt-inside-inner-col,
.bcs-quote-band .kt-inside-inner-col > h2,
.bcs-quote-band .kt-inside-inner-col > p { max-width: none !important; }
/* Impact page — Community Impact: alternating photo/text rows with a lead figure */
.bcs-impact-row .bcs-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }
.bcs-impact-figure { font-family: "Source Serif 4", Georgia, serif; font-size: 64px; line-height: 1; font-weight: 500; color: var(--bcs-orange-brand, #e16222); margin: 0 0 6px !important; }
.bcs-impact-figure-label { font-size: 15px; font-weight: 600; color: var(--global-palette1); margin: 0 0 18px !important; padding-bottom: 18px; border-bottom: 2px solid #d9e6ef; }
.bcs-impact-text h3 { font-size: 24px; margin-bottom: 10px; }
.bcs-impact-text p:not([class]) { font-size: 17px; line-height: 1.65; }
@media (max-width: 1024px) { .bcs-impact-row .kt-row-column-wrap { row-gap: 24px; } .bcs-impact-figure { font-size: 48px; } }
/* Feature rows — box-free alternative for program components (Programs layout option B) */
.bcs-feature-row > .kt-row-column-wrap { border-top: 1px solid #cfdde8; padding-top: 28px !important; padding-bottom: 28px !important; }
.bcs-feature-row + .bcs-feature-row > .kt-row-column-wrap { }
.bcs-feature-row:has(+ :not(.bcs-feature-row)) > .kt-row-column-wrap { border-bottom: 1px solid #cfdde8; }
.bcs-feature-num { font-family: "Source Serif 4", Georgia, serif; font-size: 40px; line-height: 1; color: var(--bcs-orange-brand, #e16222); margin: 0 0 8px !important; }
.bcs-feature-head h3 { margin: 0; color: var(--global-palette1); font-size: 24px; }
.bcs-feature-body p { font-size: 17px; line-height: 1.65; margin: 0; max-width: 64ch; }
.bcs-feature-head .bcs-feature-num { margin: 0 !important; min-width: 1.4em; }
.bcs-feature-head h3 { margin: 6px 0 0 !important; }
.bcs-feature-head .bcs-feature-num { line-height: 1 !important; height: auto; }
.bcs-feature-body p { margin-top: 4px !important; }

/* Scholar Portal login (Ultimate Member) — match site form + button styles */
.bcs-login-card > .kt-inside-inner-col { max-width: 480px; margin: 0 auto; background: #fff; border: 1px solid #bcd3e3; border-top: 4px solid var(--global-palette1); border-radius: 10px; padding: 36px 36px 28px; box-shadow: 0 2px 6px rgba(0,99,156,0.08); }
.bcs-login-card .um { max-width: none !important; margin: 0 !important; padding: 0 !important; }
.bcs-login-card .um-field-label label { font-weight: 600 !important; font-size: 15px !important; color: var(--global-palette5) !important; }
.bcs-login-card .um-form input[type=text], .bcs-login-card .um-form input[type=password], .bcs-login-card .um-form input[type=email] { padding: 12px 14px !important; font-size: 16px !important; height: auto !important; border: 1px solid #c9d6df !important; border-radius: 8px !important; background: #fff !important; }
.bcs-login-card .um-form input:focus { outline: 2px solid var(--global-palette3) !important; outline-offset: 1px; border-color: var(--global-palette1) !important; }
.bcs-login-card .um-button, .bcs-login-card input.um-button { border-radius: 999px !important; font-size: 16px !important; font-weight: 600 !important; padding: 13px 20px !important; transition: background-color .15s, transform .15s, box-shadow .15s; }
.bcs-login-card .um-left .um-button, .bcs-login-card input[type=submit].um-button { background: var(--global-palette2) !important; color: #fff !important; }
.bcs-login-card .um-left .um-button:hover, .bcs-login-card input[type=submit].um-button:hover { background: #8a3811 !important; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,40,70,0.18); }
.bcs-login-card .um-right .um-button.um-alt { background: transparent !important; color: var(--global-palette1) !important; border: 2px solid var(--global-palette1) !important; }
.bcs-login-card .um-right .um-button.um-alt:hover { background: var(--global-palette1) !important; color: #fff !important; }
.bcs-login-card .um-link-alt { color: var(--global-palette2) !important; font-weight: 600; }
.bcs-login-card .um-field-checkbox-option { font-size: 15px !important; }
.bcs-login-card > .kt-inside-inner-col { width: 100%; box-sizing: border-box; }

/* Desktop side margins ~44% narrower than the 1164px default (two 25% cuts, Sept 28 2026);
   capped at 1440px so very wide screens do not over-stretch. Rows, header and footer
   all size off this variable. */
@media (min-width: 1025px) {
	:root { --global-content-width: min(calc(43.75vw + 676px), 1440px); }
}
/* Keep long text readable in the wider container (~70-80 characters per line). */
.bcs-quote-band .kt-inside-inner-col > p.bcs-pullquote { max-width: 62ch !important; }

/* ── Mia round 3 (Oct 2 2026) ─────────────────────────────────────────── */

/* Utility bar: soft-grey tint (header_top_background = palette7) with dark-blue links */
.site-top-header-wrap a { color: var(--global-palette1) !important; font-weight: 600; letter-spacing: .02em; text-decoration: none; }
.site-top-header-wrap a:hover { color: var(--global-palette2) !important; text-decoration: underline; }
.site-top-header-wrap .header-html { font-size: 13px !important; }
.site-top-header-wrap .header-html a { font-size: 13px !important; }
.bcs-util-sep { display: inline-block; width: 1px; height: 14px; background: #c9c7bf; margin: 0 18px; vertical-align: middle; }
#mobile-drawer .bcs-util-sep { display: none; }
#mobile-drawer .header-html a { color: #fff !important; }

/* Sticky header: a soft shadow once it detaches from the top */
.item-is-fixed.item-is-stuck .site-main-header-wrap,
#masthead .item-is-stuck { box-shadow: 0 2px 12px rgba(0, 40, 70, 0.10); }
.site-main-header-wrap .custom-logo { transition: max-height .2s ease, width .2s ease; }

/* Scholar quote spans the same full width as its headline (removes the 62ch cap) */
.bcs-quote-band .kt-inside-inner-col > p.bcs-pullquote { max-width: none !important; }

/* ── Type scale ──────────────────────────────────────────────────────────
   One size per role, site-wide:
   H1 52 / 40 / 32 px    Source Serif 4, 500
   H2 38 / 32 / 28 px    Source Serif 4, 500
   H3 24 / 22 / 21 px    Source Serif 4, 500
   Lead   21 px (hero intro only, directly under the page title)
   Body   17 px, line-height 1.7   Inter
   Small  15 px   (stat labels, captions, fine print, form labels)
   Label  13 px   uppercase, 600, tracked (eyebrows, kickers, roles, utility bar)
   Display figures (numbers only): 64 / 46 / 40 / 32 px serif                 */
:root { --bcs-fs-body: 17px; --bcs-fs-lead: 21px; --bcs-fs-small: 15px; --bcs-fs-label: 13px; --bcs-fs-h3: 24px; }
@media (max-width: 1024px) { :root { --bcs-fs-h3: 22px; --bcs-fs-lead: 19px; } }
@media (max-width: 767px)  { :root { --bcs-fs-h3: 21px; --bcs-fs-lead: 18px; } }

.entry-content h3, .entry-content .bcs-door h3, .bcs-impact-text h3, .bcs-feature-head h3 { font-size: var(--bcs-fs-h3) !important; line-height: 1.3; }

/* Lead size only in the page hero; anywhere else a "large" paragraph is body text */
.entry-content .has-large-font-size { font-size: var(--bcs-fs-lead) !important; }
.entry-content > .kb-row-layout-wrap:not(:has(h1)) .has-large-font-size { font-size: var(--bcs-fs-body) !important; line-height: 1.7; max-width: 72ch !important; }

.bcs-stat-label, .bcs-statcard .bcs-stat-label, .bcs-impact-figure-label, .bcs-fineprint,
.bcs-donate-aside p, .forminator-ui .forminator-label { font-size: var(--bcs-fs-small) !important; }

.bcs-eyebrow, .bcs-eyebrow.is-sky, .bcs-door-kicker, .bcs-person-role { font-size: var(--bcs-fs-label) !important; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; }
@media (max-width: 767px) { .bcs-statcard .bcs-stat-label { font-size: var(--bcs-fs-small) !important; } }
.site-top-header-wrap .header-html a, .site-top-header-wrap .header-html a:visited { text-decoration: none !important; }
.site-top-header-wrap .header-html a:hover { text-decoration: underline !important; }
/* Shrunk sticky bar keeps ~12px around the logo */
.item-is-stuck .site-branding .custom-logo, .item-is-stuck .custom-logo { max-height: 56px !important; width: auto !important; }
@media (max-width: 1024px) { .item-is-stuck .custom-logo { max-height: 48px !important; } }

/* Wide group photos (Oct 2026 photo swap): 3:2 frame so nobody at the edges gets cropped.
   Images are pre-cropped to 3:2, so this only overrides the slot ratio. */
.bcs-hero-photo.is-wide img,
.bcs-photo.is-wide img,
.bcs-photo-col .bcs-photo.is-wide img,
.bcs-impact-row .bcs-photo.is-wide img { aspect-ratio: 3 / 2; object-position: center; }

/* ── Oct 29 2026 (Angie, FY27 revision notes, round 2) ────────────────── */

/* Header: no hairline under the main row at rest; the sticky shadow stays */
.site-main-header-wrap .site-header-row-container-inner { border-bottom: 0 !important; }

/* Page-header headlines span the content width (a 22ch cap made them wrap early) */
.entry-content h1.has-theme-palette-9-color { max-width: none; }

/* Donate: the header text runs full width too */
.page-id-1340 .entry-content > .kb-row-layout-wrap:first-child .has-large-font-size { max-width: none !important; }

/* Board and team headshots: every photo sits on the same tinted circle with a soft ring,
   so white-background and pre-cut photos all read as circles */
.bcs-member-photo img, .bcs-member-initials { background: var(--global-palette8) !important; box-shadow: 0 0 0 2px #d9e6ef; }

/* Apply Now: the Eligibility, What You Need, How to Apply, parents and FAQ intro sections
   use the full width instead of the reading column (row class bcs-fullwidth) */
.bcs-fullwidth .kt-inside-inner-col > *, .bcs-fullwidth p, .bcs-fullwidth li,
.bcs-fullwidth ul, .bcs-fullwidth ol { max-width: none !important; }

/* FAQ accordion: hover and open share one calm style (light blue bar, brand-orange title).
   Replaces Kadence's near-black open state. */
.wp-block-kadence-accordion .kt-blocks-accordion-header { background: var(--global-palette8) !important; color: var(--global-palette1) !important; transition: background-color .15s, color .15s; }
.wp-block-kadence-accordion .kt-blocks-accordion-header:hover,
.wp-block-kadence-accordion .kt-blocks-accordion-header.kt-accordion-panel-active { background: #dcebf6 !important; color: var(--global-palette2) !important; }
.wp-block-kadence-accordion .kt-blocks-accordion-header .kt-blocks-accordion-title { color: inherit !important; }

/* Candid Platinum Transparency seal (About, Financials, footer). Image comes live from
   Candid's widget, so it updates itself each year. */
.bcs-candid-seal { margin: 0; }
.bcs-candid-seal img { width: 120px; height: auto; display: block; }
.bcs-seal-col > .kt-inside-inner-col { display: flex; justify-content: center; align-items: center; height: 100%; }
.site-footer .bcs-candid-seal img { width: 88px; }
@media (min-width: 1025px) { .site-footer .footer-widget3 .footer-widget-area-inner { display: flex; justify-content: flex-end; } }

/* Footer: quieter and shorter. One inline row of links, smaller logo, no rule above the © line */
.site-footer .bcs-footer-logo img { width: 150px; }
.site-footer .bcs-footer-logo { margin-bottom: 0; }
.site-footer .widget_nav_menu ul { display: flex; flex-wrap: wrap; gap: 8px 28px; }
.site-footer .widget_nav_menu ul li { padding: 0; }
.site-footer .widget_nav_menu ul a { font-size: 14px; }
.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner { border-top: 0 !important; }
.site-footer .site-middle-footer-inner-wrap { padding-bottom: 20px !important; }
.site-footer .site-bottom-footer-inner-wrap { padding-top: 14px !important; padding-bottom: 18px !important; }
.site-footer .footer-html { margin: 0 !important; }
.site-footer .bcs-footer-logo img { width: 150px !important; }
@media (max-width: 1024px) { .site-footer .site-middle-footer-inner-wrap { row-gap: 18px !important; } .site-footer .bcs-footer-logo img { width: 140px !important; } }

/* ── Blog posts (Nov 2 2026): same frame as the pages — full-width blue hero band, then
   left-aligned content on the 1164px container with a 72ch reading measure.
   Kadence: post_layout normal, unboxed, title "above", featured image below the title. */
.single-post .entry-hero.post-hero-section .entry-hero-container-inner {
  background-image: radial-gradient(circle at 88% 12%, rgba(84,169,210,0.38), transparent 42%),
                    linear-gradient(135deg, #00639c 0%, #004d7a 100%);
}
.single-post .entry-hero .hero-section-overlay { display: none; }
.single-post .entry-hero .entry-header { min-height: 0 !important; padding: 64px 0 56px; }
.single-post .entry-hero h1.entry-title { color: #fff; max-width: 22ch; margin: 0; }
.single-post .entry-hero h1.entry-title::after {
  content: ""; display: block; width: 56px; height: 4px; border-radius: 2px;
  background: var(--bcs-orange-brand); margin-top: 22px;
}
.single-post .entry-hero .entry-taxonomies { margin-bottom: 14px; }
.single-post .entry-hero .entry-taxonomies,
.single-post .entry-hero .entry-taxonomies a { color: #cfe6f3; font-size: var(--bcs-fs-label); font-weight: 600; text-transform: uppercase; letter-spacing: .12em; text-decoration: none; }
.single-post .entry-hero .entry-taxonomies a:hover { color: #fff; }
.single-post .entry-hero .entry-meta { color: rgba(255,255,255,0.8); font-size: var(--bcs-fs-small); margin-top: 18px; }
.single-post .entry-hero .kadence-breadcrumbs { display: none; }

.single-post .content-area { margin-top: 48px; }
.single-post .entry-content-wrap { padding: 0 !important; }
.single-post .post-thumbnail { max-width: 860px; margin: 0 0 32px; padding-bottom: 0 !important; height: auto; }
.single-post .post-thumbnail .post-thumbnail-inner { position: static; }
.single-post .post-thumbnail img { position: static; width: 100%; height: auto; max-height: 560px; object-fit: cover; border-radius: 14px; }
.single-post .entry-content > * { max-width: 72ch; margin-left: 0; margin-right: 0; }
.single-post .entry-content > figure, .single-post .entry-content > .gallery,
.single-post .entry-content > .wp-block-gallery, .single-post .entry-content > .wp-block-embed,
.single-post .entry-content > .wp-block-video, .single-post .entry-content > .wp-block-table { max-width: 860px; }
.single-post .entry-content img { height: auto; }
