/**
 * Modern Slate + Coral — component polish layer for Fota Corporate.
 * Design tokens come from theme.json (--wp--preset--*). This file adds the
 * component-level modern styling that theme.json can't express: cards, shadows,
 * header, footer, hero, spacing rhythm, hover states.
 */

:root {
  --sc-coral: var(--wp--preset--color--coral, #FB5A4B);
  --sc-coral-dark: var(--wp--preset--color--coral-dark, #E24A3B);
  --sc-coral-wash: var(--wp--preset--color--coral-wash, #FFE4E0);
  --sc-ink: var(--wp--preset--color--ink, #111827);
  --sc-slate: var(--wp--preset--color--slate, #1F2937);
  --sc-muted: var(--wp--preset--color--muted, #6B7280);
  --sc-surface: var(--wp--preset--color--surface, #F8FAFC);
  --sc-line: var(--wp--preset--color--line, #E5E7EB);
  --sc-radius: 14px;
  --sc-radius-sm: 10px;
  --sc-shadow: 0 1px 2px rgba(17,24,39,.04), 0 8px 24px -12px rgba(17,24,39,.18);
  --sc-shadow-lg: 0 2px 4px rgba(17,24,39,.05), 0 24px 48px -20px rgba(17,24,39,.28);
  --sc-ease: cubic-bezier(.4,0,.2,1);
}

/* ---------- Base rhythm ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--sc-coral); color: #fff; }
:where(p, li) { line-height: 1.75; }
:where(h1,h2,h3,h4,h5,h6) { text-wrap: balance; }
:where(.entry-content) > * + * { margin-block-start: 1.15em; }

/* Content images get soft corners */
:where(.entry-content, .wp-block-post-content) :where(img, .wp-block-image img, figure img) {
  border-radius: var(--sc-radius);
}
.wp-block-image { border-radius: var(--sc-radius); overflow: clip; }

/* ---------- Buttons ---------- */
.wp-block-button__link,
.wp-element-button,
button:not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation__responsive-container-open) {
  border-radius: var(--sc-radius-sm);
  font-weight: 600;
  letter-spacing: 0;
  transition: transform .18s var(--sc-ease), background-color .18s var(--sc-ease), box-shadow .18s var(--sc-ease);
  box-shadow: 0 6px 16px -8px rgba(251,90,75,.6);
}
.wp-block-button__link:hover,
.wp-element-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 22px -10px rgba(251,90,75,.7);
}
/* Outline button variant */
.is-style-outline .wp-block-button__link {
  box-shadow: none;
  border: 1.5px solid var(--sc-coral);
  color: var(--sc-coral) !important;
  background: transparent !important;
}
.is-style-outline .wp-block-button__link:hover {
  background: var(--sc-coral) !important;
  color: #fff !important;
}

/* ---------- Content links ---------- */
:where(.entry-content, .wp-block-post-content) a:not(.wp-block-button__link):not(.wp-element-button) {
  color: var(--sc-coral);
  text-decoration-color: color-mix(in srgb, var(--sc-coral) 40%, transparent);
  text-underline-offset: 3px;
}
:where(.entry-content, .wp-block-post-content) a:not(.wp-block-button__link):hover { text-decoration-thickness: 2px; }

/* ---------- Header ---------- */
/* The nav bars carry their own position:sticky in the block markup. Do NOT make
   the banner/hero header sticky — it wraps .sc-hero and pinning it breaks scroll
   and kills the parallax (the hero never leaves the top so scroll offset stays 0). */
header.wp-block-template-part:has(.sc-hero) {
  position: relative !important; top: auto !important; z-index: auto !important;
}
header.wp-block-template-part:not(:has(.sc-hero)) { z-index: 100; }
header .wp-block-navigation a,
header .wp-block-navigation .wp-block-navigation-item__content {
  color: var(--sc-slate);
  font-weight: 500;
  transition: color .15s var(--sc-ease);
}
header .wp-block-navigation a:hover { color: var(--sc-coral); }
header .wp-block-site-title a { color: var(--sc-ink); font-weight: 700; text-decoration: none; }

/* ---------- Hero / cover ---------- */
.wp-block-cover { border-radius: 0; }
.wp-block-cover .wp-block-cover__background { opacity: .55 !important; background-color: var(--sc-ink) !important; }
.wp-block-cover .wp-block-cover__inner-container { max-width: 820px; }
.wp-block-cover h1, .wp-block-cover h2 { color: #fff; letter-spacing: -.02em; }
.wp-block-cover p { color: rgba(255,255,255,.9); }

/* ---------- Cards: generic bordered/updated groups + columns ---------- */
.wp-block-columns .wp-block-column:where(.has-border-color, [style*="border"]),
.sc-card {
  background: #fff;
  border: 1px solid var(--sc-line) !important;
  border-radius: var(--sc-radius);
  padding: clamp(1.25rem, 3vw, 2rem);
  box-shadow: var(--sc-shadow);
  transition: transform .22s var(--sc-ease), box-shadow .22s var(--sc-ease);
}
.wp-block-columns .wp-block-column:where(.has-border-color):hover,
.sc-card:hover { transform: translateY(-4px); box-shadow: var(--sc-shadow-lg); }

/* News / post cards (query loop) */
.wp-block-post-template li.wp-block-post,
.wp-block-query .wp-block-post {
  background: #fff;
  border: 1px solid var(--sc-line);
  border-radius: var(--sc-radius);
  overflow: clip;
  box-shadow: var(--sc-shadow);
  transition: transform .22s var(--sc-ease), box-shadow .22s var(--sc-ease);
}
.wp-block-post-template li.wp-block-post:hover { transform: translateY(-4px); box-shadow: var(--sc-shadow-lg); }
.wp-block-post-template li.wp-block-post :where(.wp-block-post-title, .wp-block-post-excerpt, .wp-block-post-date, .wp-block-post-terms) { padding-inline: 1.25rem; }
.wp-block-post-template li.wp-block-post > .wp-block-post-featured-image { margin: 0 0 1rem; }
.wp-block-post-template li.wp-block-post .wp-block-post-title { margin-top: 1rem; }
.wp-block-post-template li.wp-block-post > *:last-child { padding-bottom: 1.25rem; }

/* Category pill */
.wp-block-post-terms a, .taxonomy-category a {
  display: inline-block; background: var(--sc-coral-wash); color: var(--sc-coral-dark) !important;
  font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  padding: .28rem .6rem; border-radius: 999px; text-decoration: none;
}

/* ---------- Tabs (About page nav) ---------- */
.wp-block-buttons.sc-tabs .wp-block-button__link,
nav.wp-block-navigation.sc-tabs a { border-radius: 999px; }

/* ---------- Footer ---------- */
footer.wp-block-template-part,
.wp-site-blocks > footer {
  background: var(--sc-ink);
  color: rgba(255,255,255,.72);
  border-top: 3px solid var(--sc-coral);
}
footer.wp-block-template-part :where(h1,h2,h3,h4,p,a,li,.wp-block-site-title a) { color: rgba(255,255,255,.82); }
footer.wp-block-template-part a:hover { color: #fff; }
footer .wp-block-site-title a { font-family: var(--wp--preset--font-family--heading-serif); }

/* ---------- Section spacing rhythm ---------- */
.wp-site-blocks > main > .wp-block-group,
.wp-site-blocks > main > .wp-block-cover { --sc-section-py: clamp(3rem, 7vw, 6rem); }

/* ---------- Focus visibility (a11y) ---------- */
a:focus-visible, button:focus-visible, .wp-block-button__link:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--sc-coral) 55%, transparent);
  outline-offset: 2px;
}

/* ---------- Forms (WPForms) ---------- */
.wpforms-field input[type=text], .wpforms-field input[type=email], .wpforms-field textarea, .wpforms-field select {
  border: 1px solid var(--sc-line) !important; border-radius: var(--sc-radius-sm) !important;
  padding: .7rem .9rem !important; transition: border-color .15s var(--sc-ease), box-shadow .15s var(--sc-ease);
}
.wpforms-field input:focus, .wpforms-field textarea:focus, .wpforms-field select:focus {
  border-color: var(--sc-coral) !important; box-shadow: 0 0 0 3px var(--sc-coral-wash) !important; outline: none !important;
}
.wpforms-submit { background: var(--sc-coral) !important; border-radius: var(--sc-radius-sm) !important; font-weight: 600 !important; }
.wpforms-submit:hover { background: var(--sc-coral-dark) !important; }

/* ===== Homepage sections ===== */

/* ---------- Notable Projects cards (.sc-projects hook class on the wp:columns block) ---------- */
.sc-projects { align-items: stretch; }
.sc-projects .wp-block-column {
  background: #fff;
  border: 1px solid var(--sc-line);
  border-radius: 14px;
  padding: 2rem 1.75rem;
  box-shadow: 0 1px 2px rgba(17,24,39,.04), 0 12px 28px -16px rgba(17,24,39,.18);
  transition: transform .22s var(--sc-ease), box-shadow .22s var(--sc-ease);
  text-align: center;
  display: flex;
  flex-direction: column;
}
.sc-projects .wp-block-column:hover {
  transform: translateY(-6px);
  box-shadow: 0 4px 10px rgba(17,24,39,.06), 0 30px 56px -20px rgba(17,24,39,.28);
}
.sc-projects .wp-block-column figure,
.sc-projects .wp-block-column .wp-block-image {
  display: inline-flex;
  width: 72px;
  height: 72px;
  align-items: center;
  justify-content: center;
  background: var(--sc-coral-wash);
  border-radius: 16px;
  margin: 0 auto 1.25rem;
  padding: 14px;
}
.sc-projects .wp-block-column figure img,
.sc-projects .wp-block-column .wp-block-image img {
  width: auto;
  height: 100%;
}
/* The button lives inside a nested wp:group wrapper (image/heading/text/buttons),
   not as a direct child of the column, so that wrapper needs to become the flex
   context itself for margin-top:auto on the buttons to actually push to the bottom. */
.sc-projects .wp-block-column > .wp-block-group {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.sc-projects .wp-block-column .wp-block-buttons { margin-top: auto; }

/* ---------- Latest News and Articles: equal-height cards ---------- */
.wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  align-items: stretch;
}
.wp-block-post-template li.wp-block-post {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
}
/* The read-more button sits two wp:group wrappers deep (post box > padded content
   group > vertical group), not as a direct child of the <li>, so each of those
   wrappers needs to join the flex context before margin-top:auto can push the
   button to the card bottom. */
.wp-block-post-template li.wp-block-post > .wp-block-group {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.wp-block-post-template li.wp-block-post > .wp-block-group > .wp-block-group {
  display: flex;
  flex-direction: column;
  flex: 1;
}
/* The read-more/buttons block is wrapped in its own group (with an inline
   margin-top from the editor) as the last item of that inner group — push
   that wrapper itself to the bottom of the now-flexible card. */
.wp-block-post-template li.wp-block-post > .wp-block-group > .wp-block-group > *:last-child {
  margin-top: auto !important;
}
.wp-block-post-template li.wp-block-post .wp-block-read-more,
.wp-block-post-template li.wp-block-post .wp-block-buttons {
  margin-top: auto;
}
@media (max-width: 1099px) {
  .wp-block-post-template { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 779px) {
  .wp-block-post-template { grid-template-columns: 1fr; }
}

/* Hide empty category pills instead of showing empty coral ovals */
.wp-block-post-terms:empty { display: none; }
.wp-block-post-terms a:empty { display: none; }

/* Uniform featured images across news cards */
li.wp-block-post .wp-block-post-featured-image img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  width: 100%;
}

/* ---------- Footer legibility ---------- */
/* The footer's own ink background is fully covered by a nested wp:group that
   carries WP core's has-accent-lite-background-color utility (!important,
   near-white), which is what actually made the white title invisible.
   Re-force that one wrapper back to ink; the bottom pill uses a different
   utility class (has-background-background-color) so it is left untouched. */
footer.wp-block-template-part .has-accent-lite-background-color {
  background-color: var(--sc-ink) !important;
}
footer .wp-block-site-title a {
  color: #fff !important;
  font-family: var(--wp--preset--font-family--heading-serif);
  font-weight: 600;
}
footer .wp-block-site-title { margin-bottom: .75rem; }
footer .has-background .has-text-color { color: var(--sc-slate); }
footer .wp-block-social-links a { color: var(--sc-slate); }

/* ===== Fix: category pill (div is the pill, anchor is plain text) ===== */
.wp-block-post-terms.taxonomy-category {
  display: inline-block !important;
  background: var(--sc-coral-wash, #FFE4E0) !important;
  padding: .28rem .62rem !important;
  border-radius: 999px !important;
  margin: 0 0 .15rem !important;
  line-height: 1 !important;
}
.wp-block-post-terms.taxonomy-category a {
  background: none !important;
  color: var(--sc-coral-dark, #E24A3B) !important;
  padding: 0 !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-decoration: none !important;
}

/* ===== Ultracode per-page + mobile pass ===== */

/* ---------------------------------------------------------------------------
   ABOUT page (body.page-id-2) — UAGB tabs, reading measure, pull-quote,
   gallery corners, heading rhythm, mobile stacking. Scoped to page-id-2.
   --------------------------------------------------------------------------- */
.page-id-2 .uagb-tabs__panel {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0 0 2rem;
  padding: 0 0 .4rem;
  border-bottom: 1px solid var(--sc-line);
  list-style: none;
}
.page-id-2 .uagb-tabs__panel .uagb-tab { margin: 0; }
.page-id-2 .uagb-tabs__panel .uagb-tab a.uagb-tabs-list {
  display: block;
  padding: .55rem 1.1rem;
  border-radius: 999px;
  font-family: var(--wp--preset--font-family--albert-sans);
  font-weight: 600;
  color: var(--sc-muted);
  background: transparent;
  border: 1px solid transparent;
  text-decoration: none;
  transition: color .15s var(--sc-ease), background-color .15s var(--sc-ease);
}
.page-id-2 .uagb-tabs__panel .uagb-tab a.uagb-tabs-list div { display: inline; }
.page-id-2 .uagb-tabs__panel .uagb-tab:hover a.uagb-tabs-list { color: var(--sc-coral); }
.page-id-2 .uagb-tabs__panel .uagb-tab.uagb-tabs__active a.uagb-tabs-list {
  background: var(--sc-coral-wash);
  color: var(--sc-coral-dark);
  font-weight: 700;
}

.page-id-2 .uagb-tabs__body-wrap :is(p, li, h2, h3, h4, blockquote) {
  max-width: 68ch;
}
.page-id-2 .uagb-tabs__body-wrap p { line-height: 1.7; }

.page-id-2 .uagb-tabs__body-wrap :is(h2, h3, h4) {
  font-family: var(--wp--preset--font-family--heading-serif);
  color: var(--sc-ink);
  line-height: 1.15;
  margin-top: 2.5rem;
  margin-bottom: .5rem;
}
.page-id-2 .uagb-tabs__body-wrap :is(h3, h4) { margin-top: 1.75rem; }

.page-id-2 blockquote.wp-block-quote {
  margin: 1.5rem 0;
  padding: 1.25rem 1.5rem;
  border-left: 4px solid var(--sc-coral);
  background: var(--sc-coral-wash);
  border-radius: 0 var(--sc-radius) var(--sc-radius) 0;
  color: var(--sc-slate);
  box-shadow: var(--sc-shadow);
}
.page-id-2 blockquote.wp-block-quote :is(p, em) { color: var(--sc-slate); }

.page-id-2 .wp-block-gallery figure.wp-block-image {
  border-radius: var(--sc-radius-sm);
  overflow: hidden;
}
.page-id-2 .wp-block-gallery figure.wp-block-image img {
  border-radius: inherit;
  display: block;
}
.page-id-2 .wp-block-gallery.is-layout-flex { gap: 1rem; }

@media (max-width: 781px) {
  .page-id-2 .wp-block-group.is-nowrap { flex-wrap: wrap; }
  .page-id-2 .wp-block-image.alignright { float: none; margin-inline: auto; }
  .page-id-2 .uagb-tabs__panel .uagb-tab { flex: 1 1 100%; }
  .page-id-2 .uagb-tabs__panel .uagb-tab a.uagb-tabs-list { text-align: center; }
  .page-id-2 .uagb-tabs__body-wrap :is(p, li, h2, h3, h4, blockquote) { max-width: 100%; }
}

/* ---------------------------------------------------------------------------
   PROGRAMS page (body.page-id-321) — center composition, equal card buttons,
   tighten empty section. Scoped to page-id-321.
   --------------------------------------------------------------------------- */
.page-id-321 main.wp-block-group {
  padding-top: clamp(2.5rem, 5vw, 4rem) !important;
  padding-bottom: clamp(3rem, 6vw, 5rem) !important;
}
.page-id-321 .wp-block-post-title {
  text-align: center !important;
  font-family: var(--wp--preset--font-family--heading-serif);
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--sc-ink);
  margin: 0 auto 0.5rem;
}
.page-id-321 .wp-block-post-title::after {
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  border-radius: 999px;
  background: var(--sc-coral);
  margin: 1rem auto 0;
}
.page-id-321 .entry-content .wp-block-buttons.is-content-justification-center {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  max-width: 760px;
  margin: clamp(2rem, 5vw, 3rem) auto 0;
}
.page-id-321 .entry-content .wp-block-buttons.is-content-justification-center .wp-block-button {
  width: 100%;
  display: flex;
  margin: 0;
}
.page-id-321 .entry-content .wp-block-buttons.is-content-justification-center .wp-block-button__link {
  width: 100%;
  min-height: 104px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.5rem 1.75rem !important;
  border-radius: var(--sc-radius) !important;
  font-family: var(--wp--preset--font-family--albert-sans);
  font-size: 1.05rem;
  line-height: 1.3;
}
.page-id-321 .entry-content .wp-block-buttons:not(.is-content-justification-center):empty {
  display: none !important;
}
@media (max-width: 600px) {
  .page-id-321 .entry-content .wp-block-buttons.is-content-justification-center {
    grid-template-columns: 1fr;
    max-width: 100%;
    gap: 1rem;
  }
  .page-id-321 .entry-content .wp-block-buttons.is-content-justification-center .wp-block-button__link {
    min-height: 88px;
  }
}

/* ---------------------------------------------------------------------------
   SCHOLARSHIP page — UAGB tabs (.uagb-tabs__wrap) coral pills, card panel,
   responsive video embed, Fraunces panel headings, mobile stacking.
   .uagb-tabs__wrap does not exist on the homepage.
   --------------------------------------------------------------------------- */
.uagb-tabs__wrap .uagb-tabs-list {
  border: 0 !important;
  gap: .5rem;
  flex-wrap: wrap;
}
.uagb-tabs__wrap .uagb-tabs-list li.uagb-tab {
  border: 1px solid var(--sc-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--sc-slate) !important;
  font-family: var(--wp--preset--font-family--albert-sans) !important;
  font-weight: 600 !important;
  transition: background-color .15s var(--sc-ease),
              color .15s var(--sc-ease),
              border-color .15s var(--sc-ease);
}
.uagb-tabs__wrap .uagb-tabs-list li.uagb-tab a,
.uagb-tabs__wrap .uagb-tabs-list li.uagb-tab .uagb-tab-title {
  color: inherit !important;
  font-family: inherit !important;
}
.uagb-tabs__wrap .uagb-tabs-list li.uagb-tab:not(.uagb-tabs__active):hover {
  background: var(--sc-coral-wash) !important;
  border-color: var(--sc-coral-wash) !important;
  color: var(--sc-coral-dark) !important;
}
.uagb-tabs__wrap .uagb-tabs-list li.uagb-tab.uagb-tabs__active,
.uagb-tabs__wrap .uagb-tabs-list li.uagb-tab.uagb-tabs__active:hover {
  background: var(--sc-coral) !important;
  border-color: var(--sc-coral) !important;
  color: #fff !important;
}
.uagb-tabs__wrap .uagb-tabs-list li.uagb-tab.uagb-tabs__active a,
.uagb-tabs__wrap .uagb-tabs-list li.uagb-tab.uagb-tabs__active .uagb-tab-title {
  color: #fff !important;
}
.uagb-tabs__wrap .uagb-tabs__body-wrap {
  border-color: var(--sc-line) !important;
  border-radius: var(--sc-radius) !important;
  overflow: clip;
}
.uagb-tabs__wrap .uagb-tabs__body-container {
  background: #fff;
  border-color: var(--sc-line) !important;
  border-radius: var(--sc-radius) !important;
  box-shadow: var(--sc-shadow);
}
.uagb-tabs__wrap .uagb-tabs__body-container h1,
.uagb-tabs__wrap .uagb-tabs__body-container h2,
.uagb-tabs__wrap .uagb-tabs__body-container h3,
.uagb-tabs__wrap .uagb-tabs__body-container h4,
.uagb-tabs__wrap .uagb-tabs__body-container h5,
.uagb-tabs__wrap .uagb-tabs__body-container h6 {
  font-family: var(--wp--preset--font-family--heading-serif) !important;
  color: var(--sc-ink);
}
.uagb-tabs__wrap .uagb-tabs__body-container p,
.uagb-tabs__wrap .uagb-tabs__body-container li {
  font-family: var(--wp--preset--font-family--albert-sans) !important;
}
.uagb-tabs__wrap .uagb-tabs__body-container iframe,
.uagb-tabs__wrap .uagb-tabs__body-container video,
.uagb-tabs__wrap .uagb-tabs__body-container .wp-block-embed,
.uagb-tabs__wrap .uagb-tabs__body-container .wp-block-embed__wrapper {
  max-width: 100% !important;
  border-radius: var(--sc-radius-sm);
}
.uagb-tabs__wrap .uagb-tabs__body-container iframe,
.uagb-tabs__wrap .uagb-tabs__body-container video {
  width: 100% !important;
  height: auto;
  aspect-ratio: 16 / 9;
  display: block;
}
@media (max-width: 600px) {
  .uagb-tabs__wrap .uagb-tabs-list { flex-direction: column; }
  .uagb-tabs__wrap .uagb-tabs-list li.uagb-tab {
    width: 100%;
    text-align: center;
    padding: .7rem 1rem !important;
  }
  .uagb-tabs__wrap .uagb-tabs__body-container { padding: 1rem !important; }
  .uagb-tabs__wrap { max-width: 100%; overflow-x: hidden; }
}

/* ---------------------------------------------------------------------------
   CONTACT page — WPForms card, width, comfortable fields, submit polish,
   captcha overflow clip, mobile. .wpforms-* does not exist on the homepage.
   --------------------------------------------------------------------------- */
.wpforms-container {
  max-width: 720px;
  margin-block: 1.25rem 0;
  padding: clamp(1.5rem, 4vw, 2.5rem) !important;
  background: var(--sc-surface) !important;
  border: 1px solid var(--sc-line) !important;
  border-radius: var(--sc-radius) !important;
  box-shadow: var(--sc-shadow) !important;
  overflow: hidden;
}
.wpforms-container .wpforms-field {
  margin-bottom: 1.25rem !important;
  padding: 0 !important;
}
.wpforms-container .wpforms-field-label {
  font-family: var(--wp--preset--font-family--albert-sans) !important;
  font-weight: 600 !important;
  color: var(--sc-slate) !important;
  margin-bottom: .45rem !important;
}
.wpforms-container .wpforms-required-label { color: var(--sc-coral) !important; }
.wpforms-container .wpforms-field input[type=text],
.wpforms-container .wpforms-field input[type=email],
.wpforms-container .wpforms-field input[type=url],
.wpforms-container .wpforms-field input[type=tel],
.wpforms-container .wpforms-field input[type=number],
.wpforms-container .wpforms-field textarea,
.wpforms-container .wpforms-field select {
  width: 100% !important;
  max-width: 100% !important;
  background: #fff !important;
  color: var(--sc-ink) !important;
  padding: .8rem 1rem !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
}
.wpforms-container .wpforms-field textarea { min-height: 160px !important; resize: vertical !important; }
.wpforms-container .wpforms-submit {
  padding: .8rem 1.9rem !important;
  color: #fff !important;
  border: none !important;
  font-family: var(--wp--preset--font-family--albert-sans) !important;
  box-shadow: var(--sc-shadow) !important;
  transition: transform .18s var(--sc-ease), background-color .18s var(--sc-ease), box-shadow .18s var(--sc-ease) !important;
}
.wpforms-container .wpforms-submit:hover { transform: translateY(-1px); box-shadow: var(--sc-shadow-lg) !important; }
.wpforms-container .frc-captcha,
.wpforms-container .h-captcha,
.wpforms-container .g-recaptcha,
.wpforms-container .wpforms-recaptcha-container {
  max-width: 100% !important;
  overflow: hidden !important;
}
@media (max-width: 782px) {
  .wpforms-container {
    max-width: 100%;
    padding: 1.25rem !important;
  }
  .wpforms-container .wpforms-submit { width: auto; min-height: 48px; }
}

/* ---------------------------------------------------------------------------
   COMMITTEE page (body.page-id-62) — galleries as rounded card grid with
   legible caption overlays, roster cards, heading rhythm, mobile.
   Scoped to page-id-62.
   --------------------------------------------------------------------------- */
.page-id-62 .entry-content h2.wp-block-heading {
  font-family: var(--wp--preset--font-family--heading-serif);
  color: var(--sc-ink);
  margin: 3.25rem 0 1.25rem;
}
.page-id-62 .entry-content h2.wp-block-heading strong { font-weight: inherit; }
.page-id-62 .wp-block-gallery.is-layout-flex {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  max-width: 100%;
}
.page-id-62 .wp-block-gallery.columns-default {
  grid-template-columns: repeat(3, 1fr);
}
.page-id-62 .wp-block-gallery figure.wp-block-image {
  margin: 0 !important;
  width: auto !important;
  position: relative;
  border-radius: var(--sc-radius);
  overflow: hidden;
  box-shadow: var(--sc-shadow);
  background: #fff;
  transition: transform .22s var(--sc-ease), box-shadow .22s var(--sc-ease);
}
.page-id-62 .wp-block-gallery figure.wp-block-image:hover {
  transform: translateY(-4px);
  box-shadow: var(--sc-shadow-lg);
}
.page-id-62 .wp-block-gallery figure.wp-block-image img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}
.page-id-62 .wp-block-gallery figure.wp-block-image figcaption.wp-element-caption {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  margin: 0;
  padding: 1.7rem .7rem .6rem;
  background: linear-gradient(to top,
              rgba(17,24,39,.9) 0%,
              rgba(17,24,39,.55) 45%,
              rgba(17,24,39,0) 100%);
  color: #fff;
  font-family: var(--wp--preset--font-family--albert-sans);
  font-size: .72rem;
  line-height: 1.4;
  text-align: left;
}
.page-id-62 .wp-block-gallery figure.wp-block-image figcaption.wp-element-caption strong {
  color: #fff;
  font-weight: 700;
}
.page-id-62 .entry-content > p.wp-block-paragraph:not(:has(br)) {
  font-family: var(--wp--preset--font-family--heading-serif);
  font-size: clamp(1.05rem, 1.4vw, 1.25rem);
  color: var(--sc-ink);
  margin: 2.75rem 0 0;
}
.page-id-62 .entry-content > p.wp-block-paragraph:not(:has(br)) strong { font-weight: 600; }
.page-id-62 .entry-content > p.wp-block-paragraph:has(br) {
  background: #fff;
  border: 1px solid var(--sc-line);
  border-radius: var(--sc-radius);
  box-shadow: var(--sc-shadow);
  padding: 1.4rem 1.6rem;
  margin: 1.5rem 0;
  font-family: var(--wp--preset--font-family--albert-sans);
  color: var(--sc-slate);
  font-size: .95rem;
  line-height: 2;
}
.page-id-62 .entry-content > p.wp-block-paragraph:has(br) > strong:first-child {
  display: block;
  font-family: var(--wp--preset--font-family--heading-serif);
  font-size: clamp(1.05rem, 1.4vw, 1.25rem);
  font-weight: 600;
  color: var(--sc-ink);
  margin-bottom: .7rem;
  padding-bottom: .5rem;
  border-bottom: 2px solid var(--sc-coral-wash);
}
@media (min-width: 900px) {
  .page-id-62 .entry-content > p.wp-block-paragraph:has(br) {
    column-count: 2;
    column-gap: 2.75rem;
  }
  .page-id-62 .entry-content > p.wp-block-paragraph:has(br) > strong:first-child {
    column-span: all;
  }
}
@media (max-width: 781px) {
  .page-id-62 .wp-block-gallery.is-layout-flex,
  .page-id-62 .wp-block-gallery.columns-4,
  .page-id-62 .wp-block-gallery.columns-default {
    grid-template-columns: repeat(2, 1fr);
    gap: .7rem;
  }
  .page-id-62 .wp-block-gallery figure.wp-block-image figcaption.wp-element-caption {
    font-size: .66rem;
    padding: 1.2rem .5rem .5rem;
  }
  .page-id-62 .entry-content > p.wp-block-paragraph:has(br) {
    font-size: 1rem;
    padding: 1.25rem 1.25rem;
  }
  .page-id-62 .entry-content h2.wp-block-heading { margin-top: 2.5rem; }
}

/* ---------------------------------------------------------------------------
   SINGLE POST (body.single) — reading measure, meta row, headings, captions,
   post navigation, comment form, mobile. Scoped to .single so the front page
   (.home / .wp-block-post-template) is never touched.
   --------------------------------------------------------------------------- */
.single .entry-content,
.single .wp-block-post-content {
  max-width: 46rem;
  margin-inline: auto;
}
.single .wp-block-post-content > .wp-block-post-featured-image,
.single .entry-content > figure.wp-block-image.alignwide {
  max-width: 52rem;
  margin-inline: auto;
}
.single .wp-block-post-title,
.single .entry-title {
  font-family: var(--wp--preset--font-family--heading-serif);
  color: var(--sc-ink);
  letter-spacing: -.01em;
  line-height: 1.15;
}
.single .wp-block-post-author,
.single .wp-block-post-date,
.single .wp-block-post-author__name,
.single .entry-meta {
  color: var(--sc-muted);
  font-family: var(--wp--preset--font-family--albert-sans);
  font-size: .95rem;
}
.single .wp-block-post-author__name,
.single .wp-block-post-author a { color: var(--sc-slate); font-weight: 600; }
.single .wp-block-post-author__avatar img,
.single .wp-block-post-author img {
  border-radius: 999px;
  border: 2px solid var(--sc-line);
}
.single .wp-block-post-content > .wp-block-post-featured-image {
  border-top: 1px solid var(--sc-line);
  padding-top: 1.25rem;
}
.single .entry-content :where(h2, h3, h4),
.single .wp-block-post-content :where(h2, h3, h4) {
  font-family: var(--wp--preset--font-family--heading-serif);
  color: var(--sc-ink);
  line-height: 1.2;
}
.single .entry-content h2,
.single .wp-block-post-content h2 { font-size: clamp(1.4rem, 1.1rem + 1.2vw, 1.8rem); margin-top: 2rem; }
.single .entry-content h3,
.single .wp-block-post-content h3 { font-size: clamp(1.2rem, 1rem + .7vw, 1.4rem); }
.single .entry-content figure,
.single .wp-block-post-content figure { margin-inline: auto; }
.single .entry-content figcaption,
.single .wp-block-post-content figcaption,
.single .wp-block-image figcaption {
  color: var(--sc-muted);
  font-size: .85rem;
  text-align: center;
  margin-top: .6rem;
  line-height: 1.5;
}
.single .post-navigation,
.single .wp-block-post-navigation-link,
.single .nav-links,
.single .post-nav-links {
  max-width: 46rem;
  margin: 2.5rem auto 0;
}
.single .nav-links,
.single .post-navigation .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  border-top: 1px solid var(--sc-line);
  padding-top: 1.5rem;
}
.single .nav-links .nav-previous,
.single .nav-links .nav-next,
.single .wp-block-post-navigation-link {
  background: var(--sc-surface);
  border: 1px solid var(--sc-line);
  border-radius: var(--sc-radius-sm);
  padding: .85rem 1.1rem;
  box-shadow: var(--sc-shadow);
  flex: 1 1 12rem;
  transition: box-shadow .18s var(--sc-ease), transform .18s var(--sc-ease);
}
.single .nav-links a { color: var(--sc-coral); text-decoration: none; font-weight: 600; }
.single .nav-links .nav-previous:hover,
.single .nav-links .nav-next:hover { box-shadow: var(--sc-shadow-lg); transform: translateY(-2px); }
.single .post-navigation .wp-block-post-terms:empty { display: none; }
.single .comment-respond,
.single .wp-block-comments,
.single #comments {
  max-width: 46rem;
  margin: 3rem auto 0;
  padding-top: 2rem;
  border-top: 1px solid var(--sc-line);
}
.single .comment-reply-title,
.single #reply-title {
  font-family: var(--wp--preset--font-family--heading-serif);
  color: var(--sc-ink);
}
.single .comment-form input[type="text"],
.single .comment-form input[type="email"],
.single .comment-form input[type="url"],
.single .comment-form textarea {
  width: 100%;
  border: 1px solid var(--sc-line);
  border-radius: var(--sc-radius-sm);
  background: #fff;
  padding: .7rem .85rem;
  font-family: var(--wp--preset--font-family--albert-sans);
  color: var(--sc-ink);
  transition: border-color .15s var(--sc-ease), box-shadow .15s var(--sc-ease);
}
.single .comment-form input[type="text"]:focus,
.single .comment-form input[type="email"]:focus,
.single .comment-form input[type="url"]:focus,
.single .comment-form textarea:focus {
  outline: none;
  border-color: var(--sc-coral);
  box-shadow: 0 0 0 3px var(--sc-coral-wash);
}
.single .comment-form label { color: var(--sc-slate); font-weight: 600; }
@media (max-width: 600px) {
  .single .entry-content,
  .single .wp-block-post-content { padding-inline: 1rem; }
  .single .entry-content :where(ol, ul),
  .single .wp-block-post-content :where(ol, ul) { padding-inline-start: 1.4rem; }
  .single .entry-content :where(ol ol, ul ul, ol ul, ul ol),
  .single .wp-block-post-content :where(ol ol, ul ul, ol ul, ul ol) { padding-inline-start: 1rem; }
  .single .nav-links { flex-direction: column; }
  .single .nav-links .nav-previous,
  .single .nav-links .nav-next,
  .single .wp-block-post-navigation-link { flex: 1 1 auto; }
  .single .comment-form input,
  .single .comment-form textarea { font-size: 16px; min-height: 2.75rem; }
  .single .comment-form textarea { min-height: 8rem; }
}

/* ===== Ultracode corrections: tabs, captcha overflow, post nav ===== */

/* UAGB tabs — neutralize plugin default active bg (#CDD0F3 About / #EC9305 Scholarship)
   and apply the coral pill on the real active control regardless of DOM shape
   (some markup has .uagb-tabs-list on the <li>, some on the inner <a>). */
.uagb-tabs__panel .uagb-tab.uagb-tabs__active,
li.uagb-tab.uagb-tabs__active,
.uagb-tabs-list li.uagb-tab.uagb-tabs__active { background: transparent !important; }

.uagb-tabs__panel .uagb-tab a,
.uagb-tabs-list li a,
li.uagb-tab a.uagb-tabs-list { border-radius: 999px !important; transition: background-color .15s, color .15s; }

.uagb-tab.uagb-tabs__active > a,
li.uagb-tab.uagb-tabs__active a,
.uagb-tab.uagb-tabs__active a.uagb-tabs-list {
  background: var(--sc-coral, #FB5A4B) !important;
  color: #fff !important;
}
.uagb-tab:not(.uagb-tabs__active) > a:hover,
.uagb-tab:not(.uagb-tabs__active) a.uagb-tabs-list:hover {
  background: var(--sc-coral-wash, #FFE4E0) !important;
  color: var(--sc-coral-dark, #E24A3B) !important;
}

/* Contact — contain the localhost captcha widget/error so it can't break page width */
.wpforms-container, .wpforms-form { overflow-x: clip; }
.wpforms-container .h-captcha,
.wpforms-container .g-recaptcha,
.wpforms-container .cf-turnstile,
.wpforms-container .frc-captcha,
.wpforms-container .wpforms-field-captcha,
.wpforms-container [data-sitekey] { display: none !important; }

/* Single post — hide empty post-navigation link and normalize the nav to clean coral-accent cards */
.wp-block-post-navigation-link:empty,
.post-navigation .nav-links > *:empty,
.post-navigation .nav-previous:empty,
.post-navigation .nav-next:empty { display: none !important; }
.wp-block-post-navigation-link,
.post-navigation .nav-links a {
  border: 1px solid var(--sc-line, #E5E7EB) !important;
  border-left: 3px solid var(--sc-coral, #FB5A4B) !important;
  border-radius: var(--sc-radius, 14px) !important;
  box-shadow: none !important;
  padding: .9rem 1.2rem !important;
}

/* Programs — the two program links became stretched coral pills; make them consistent equal-width buttons */
.page-id-321 .wp-block-buttons { justify-content: center; gap: 1rem; }
.page-id-321 .wp-block-buttons .wp-block-button { width: auto; }
.page-id-321 .wp-block-buttons .wp-block-button__link { min-height: 0 !important; padding: .9rem 1.6rem !important; border-radius: var(--sc-radius-sm, 10px) !important; }

/* ===== Ultracode corrections 2: turnstile + empty post-nav ===== */
/* Contact — hide the errored Cloudflare Turnstile widget on localhost (floats off-canvas) */
.cf-turnstile,
iframe[src*="challenges.cloudflare.com"],
iframe[src*="turnstile"],
[id^="cf-chl-widget"],
div[class*="turnstile"] { display: none !important; }
/* Post nav — hide the empty 'next' link (latest post has no next) */
.wp-block-post-navigation-link.post-navigation-link-next:not(:has(a)) { display: none !important; }

/* Contact — hide Google reCAPTCHA floating badge (errors on localhost, floats off-canvas) */
.grecaptcha-badge,
iframe[src*="google.com/recaptcha"],
iframe[title="reCAPTCHA"] { display: none !important; visibility: hidden !important; }

/* ===== Final consistency: uniform button radius ===== */
.wp-block-button__link, .wp-element-button, input[type=submit], button.wpforms-submit {
  border-radius: var(--sc-radius-sm, 10px) !important;
}
.sc-hero .sc-btn { border-radius: 12px !important; }

/* ===== Polish pass: news cards, seal, spacing ===== */

/* News cards — uniform featured image, clamped excerpt, tighter title so the row reads as a set */
.wp-block-post-template li.wp-block-post .wp-block-post-featured-image { margin: 0 !important; }
.wp-block-post-template li.wp-block-post .wp-block-post-featured-image img {
  width: 100% !important; height: 190px !important; object-fit: cover !important; display: block;
}
.wp-block-post-template li.wp-block-post .wp-block-post-title { font-size: 1.15rem !important; line-height: 1.28 !important; margin-top: 1rem; }
.wp-block-post-template li.wp-block-post .wp-block-post-excerpt__excerpt {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  color: var(--sc-muted); font-size: .92rem;
}
/* cards without a featured image get a little top breathing room above the pill */
.wp-block-post-template li.wp-block-post > .wp-block-post-terms:first-child,
.wp-block-post-template li.wp-block-post > .taxonomy-category:first-child { margin-top: 1.25rem; }

/* Seal — render the org emblem as an ink monochrome so it stops clashing with coral */
img.wp-image-45,
img[src*="cropped-SEBS-NA-Inc-Logo"] {
  filter: grayscale(1) brightness(.55) contrast(1.2);
}
/* Home "About Us" seal renders at its full 512x512 source size, dwarfing the
   "Future Goal" photo beside it lower on the page. Cap it to a similar visual
   footprint (~height of the Future Goal image) so the two sections feel matched. */
.home img.wp-image-45 {
  width: clamp(200px, 22vw, 260px) !important;
  height: auto !important;
  display: block;
  margin-inline: auto;
}

/* Interior pages — a touch more breathing room below the sticky nav (home excluded) */
body:not(.home) .wp-site-blocks > main { padding-top: clamp(1.75rem, 4vw, 3rem); }
/* Consistent bottom breathing room before the footer everywhere */
.wp-site-blocks > main { padding-bottom: clamp(2.5rem, 5vw, 4rem); }

/* ===== About page — modern redesign (post id 2) ===== */
/* Center the content column — was a narrow left-hugging strip with empty right */
.page-id-2 .uagb-tabs__body-wrap { max-width: 860px; margin-inline: auto; }
.page-id-2 .uagb-tabs__body-wrap :is(p,li,h2,h3,h4,blockquote,ul,ol) { max-width: none !important; }
.page-id-2 .uagb-tabs__body-wrap p,
.page-id-2 .uagb-tabs__body-wrap li { color: #374151; font-size: 1.05rem; line-height: 1.85; }

/* Page title -> centered hero with eyebrow */
.page-id-2 .wp-block-post-title { text-align: center; font-size: clamp(2.5rem,5vw,3.75rem); margin: clamp(1.5rem,4vw,2.75rem) auto .4rem; }
.page-id-2 .wp-block-post-title::before { content: "Who we are"; display: block; font-family: var(--wp--preset--font-family--albert-sans); font-size: .78rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--sc-coral); margin-bottom: 1rem; }

/* Seal -> ink monochrome everywhere (exclude the light header/footer logo), sized + centered */
img[src*="SEBS-NA-Inc-Logo"]:not([src*="Light"]),
img[src*="cropped-SEBS-NA-Inc-Logo"] { filter: grayscale(1) brightness(.5) contrast(1.25); }
.page-id-2 img[src*="SEBS-NA-Inc-Logo"]:not([src*="Light"]) { display: block; margin: 0 auto 1.5rem !important; width: clamp(120px,16vw,160px) !important; height: auto !important; float: none !important; }

/* Section headings (Aim, Programs, ...) centered with a coral underline */
.page-id-2 .uagb-tabs__body-wrap h2 { text-align: center; margin-top: clamp(2.75rem,5vw,4.5rem); margin-bottom: 1.25rem; }
.page-id-2 .uagb-tabs__body-wrap h2::after { content: ""; display: block; width: 56px; height: 3px; background: var(--sc-coral); border-radius: 2px; margin: 1rem auto 0; }
.page-id-2 .uagb-tabs__body-wrap h3 { text-align: center; margin-top: 2.25rem; }

/* Aim -> large centered pull-quote */
.page-id-2 .wp-block-quote { background: var(--sc-coral-wash) !important; border: 0 !important; border-radius: 16px; padding: clamp(2rem,4vw,3rem) clamp(1.5rem,4vw,3.5rem) !important; margin: 2.25rem auto !important; position: relative; }
.page-id-2 .wp-block-quote::before { content: "\201C"; position: absolute; top: .1rem; left: 1.1rem; font-family: var(--wp--preset--font-family--heading-serif); font-size: 4.5rem; line-height: 1; color: var(--sc-coral); opacity: .45; }
.page-id-2 .wp-block-quote p { font-family: var(--wp--preset--font-family--heading-serif) !important; font-style: italic; font-size: 1.18rem !important; line-height: 1.75 !important; color: #8a2f28 !important; text-align: center; max-width: 62ch; margin-inline: auto; }

/* Galleries -> clean rounded grid */
.page-id-2 .wp-block-gallery { gap: .7rem !important; margin-block: 1.5rem; }
.page-id-2 .wp-block-gallery figure, .page-id-2 .wp-block-gallery img { border-radius: 10px !important; overflow: clip; }

/* Tab bar -> centered, borderless, coral pills */
.page-id-2 .uagb-tabs__wrap .uagb-tabs-list,
.page-id-2 ul.uagb-tabs-list { justify-content: center !important; border: 0 !important; gap: .5rem; margin-bottom: 2rem !important; }

/* About: content column width + readable measure (text blocks only, NOT galleries/images) */
.page-id-2 .uagb-tabs__body-wrap { max-width: 900px; }
.page-id-2 .uagb-tabs__body-wrap :is(p,h2,h3,h4,blockquote) { max-width: 720px !important; margin-inline: auto !important; }
.page-id-2 .uagb-tabs__body-wrap ul, .page-id-2 .uagb-tabs__body-wrap ol { max-width: 720px; margin-inline: auto; text-align: left; padding-left: 1.3rem; }
/* seal sizing is handled by the src-based rule above; do not touch gallery images */

/* ===== Programs page — program cards ===== */
.sc-eyebrow { font-family: var(--wp--preset--font-family--albert-sans); font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--sc-coral); text-align: center; }
.page-id-321 .wp-block-post-title, .page-id-321 h1 { text-align: center; }
.sc-proglead { max-width: 640px; margin: .5rem auto 2.75rem; text-align: center; }
.sc-proglead__text { font-size: 1.2rem; line-height: 1.7; color: #475569; margin-top: 1rem; }
.sc-proggrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; max-width: 1080px; margin: 0 auto; }
.sc-progcard {
  display: flex; flex-direction: column; align-items: flex-start; gap: .5rem;
  background: #fff; border: 1px solid var(--sc-line); border-radius: var(--sc-radius);
  padding: 1.75rem; text-decoration: none; box-shadow: var(--sc-shadow);
  transition: transform .22s var(--sc-ease), box-shadow .22s var(--sc-ease), border-color .22s var(--sc-ease);
}
.sc-progcard:hover { transform: translateY(-6px); box-shadow: var(--sc-shadow-lg); border-color: var(--sc-coral); }
.sc-progcard__ico { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; font-size: 1.6rem; background: var(--sc-coral-wash); border-radius: 14px; margin-bottom: .4rem; }
.sc-progcard h3 { font-family: var(--wp--preset--font-family--heading-serif); font-size: 1.35rem; color: var(--sc-ink); margin: 0; }
.sc-progcard p { color: var(--sc-muted); font-size: .96rem; line-height: 1.65; margin: 0; flex: 1; }
.sc-progcard__go { color: var(--sc-coral); font-weight: 700; font-size: .92rem; margin-top: .5rem; transition: gap .2s; }
.sc-progcard:hover .sc-progcard__go { text-decoration: none; }
.sc-progcta { text-align: center; margin: 3.5rem auto 1rem; }
.sc-progcta h2 { font-family: var(--wp--preset--font-family--heading-serif); font-size: clamp(1.6rem,3vw,2.25rem); color: var(--sc-ink); margin-bottom: 1.4rem; }
@media (max-width: 900px) { .sc-proggrid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .sc-proggrid { grid-template-columns: 1fr; } }

/* Fix: custom link-buttons inside entry-content must not inherit the coral content-link color */
.entry-content a.sc-btn, .entry-content a.sc-progcard, .entry-content a.sc-footer__cta { text-decoration: none !important; }
.entry-content a.sc-btn--coral, .sc-btn--coral, .sc-btn--coral:hover { color: #fff !important; }
.entry-content a.sc-progcard { color: inherit !important; }
.entry-content a.sc-progcard .sc-progcard__go { color: var(--sc-coral) !important; }

/* Galleries: native theme rendering, only round the corners (see also modern.css line ~994) */

/* ===== About tabs — modern segmented control (uniform width) ===== */
.uagb-tabs__wrap ul.uagb-tabs__panel {
  display: flex !important; justify-content: center !important; align-items: stretch !important;
  gap: 6px !important; background: var(--sc-surface, #F8FAFC) !important;
  border: 1px solid var(--sc-line, #E5E7EB) !important; border-radius: 999px !important;
  padding: 6px !important; max-width: 780px !important; margin: 0 auto 2.75rem !important; list-style: none !important;
}
.uagb-tabs__wrap ul.uagb-tabs__panel .uagb-tab {
  flex: 1 1 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; min-width: 0 !important;
}
.uagb-tabs__wrap ul.uagb-tabs__panel .uagb-tab a.uagb-tabs-list {
  display: flex !important; align-items: center !important; justify-content: center !important; text-align: center !important;
  width: 100% !important; padding: .74rem .7rem !important; border-radius: 999px !important;
  font-weight: 600 !important; font-size: .93rem !important; color: var(--sc-muted, #6B7280) !important;
  background: transparent !important; border: 0 !important; line-height: 1.2 !important;
  transition: background-color .18s, color .18s, box-shadow .18s !important;
}
.uagb-tabs__wrap ul.uagb-tabs__panel .uagb-tab.uagb-tabs__active a.uagb-tabs-list {
  background: var(--sc-coral, #FB5A4B) !important; color: #fff !important;
  box-shadow: 0 4px 12px -4px rgba(251,90,75,.5) !important;
}
.uagb-tabs__wrap ul.uagb-tabs__panel .uagb-tab:not(.uagb-tabs__active) a.uagb-tabs-list:hover {
  background: var(--sc-coral-wash, #FFE4E0) !important; color: var(--sc-coral-dark, #E24A3B) !important;
}
@media (max-width: 620px) {
  .uagb-tabs__wrap ul.uagb-tabs__panel { flex-wrap: wrap; border-radius: 20px; }
  .uagb-tabs__wrap ul.uagb-tabs__panel .uagb-tab { flex: 1 1 100%; }
  .uagb-tabs__wrap ul.uagb-tabs__panel .uagb-tab a.uagb-tabs-list { font-size: .9rem; }
}

/* About tabs: give the segmented control full measure width so segments fit labels on one line */
.uagb-tabs__wrap { max-width: 800px !important; margin-inline: auto !important; }
.uagb-tabs__wrap ul.uagb-tabs__panel { width: 100% !important; box-sizing: border-box !important; }
.uagb-tabs__wrap ul.uagb-tabs__panel .uagb-tab a.uagb-tabs-list { white-space: nowrap !important; overflow: hidden; text-overflow: ellipsis; }

/* About tabs: box-sizing so the anchor (with padding) fits its equal segment */
.uagb-tabs__wrap ul.uagb-tabs__panel .uagb-tab a.uagb-tabs-list { box-sizing: border-box !important; min-width: 0 !important; }

/* Hide Members from the header menu (not needed for now) */
header .wp-block-navigation-item:has(a[href*="/members"]),
header li.wp-block-navigation-item a[href$="/members/"] { display: none !important; }

/* Hide Members from nav + footer (drop header prefix so it works on the home inline nav too) */
li.wp-block-navigation-item:has(a[href*="/members"]) { display: none !important; }
.sc-footer__col a[href*="/members"] { display: none !important; }

/* ===== Scholarship page — bespoke student-story layout ===== */
.page-id-390 .wp-block-post-title, .page-id-390 .entry-meta, .page-id-390 .wp-block-post-date { display: none; }
.page-id-390 .entry-content > *:not(.sc-schol):not(form):not(script) { display: none; }

.sc-schol { max-width: 1140px; margin: 0 auto; padding-inline: clamp(1.25rem, 5vw, 2.5rem); color: #374151; }
.sc-schol .sc-eyebrow { font-family: var(--wp--preset--font-family--albert-sans); font-size: .78rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--sc-coral, #FB5A4B); margin: 0 0 1rem; }

.sc-schol__hero { text-align: center; max-width: 760px; margin: 0 auto; padding-block: clamp(2.5rem, 6vw, 4.5rem) 1.5rem; }
.sc-schol__hero h1 { font-family: var(--wp--preset--font-family--heading-serif); font-weight: 600; font-size: clamp(2.4rem, 5.5vw, 4rem); line-height: 1.05; letter-spacing: -.025em; color: #0B1220; margin: 0 0 1.2rem; font-variation-settings: "opsz" 144, "WONK" 1; }
.sc-schol__hero h1 em { font-style: normal; color: var(--sc-coral, #FB5A4B); }
.sc-schol__lede { font-size: clamp(1.08rem, 1.6vw, 1.28rem); color: #475569; margin: 0 auto 1.6rem; max-width: 42rem; }

.sc-schol__intro { max-width: 720px; margin: 0 auto; text-align: center; padding-block: clamp(1.5rem,4vw,2.5rem); }
.sc-schol__intro p { font-size: 1.08rem; line-height: 1.8; color: #475569; }

.sc-schol__h { text-align: center; font-family: var(--wp--preset--font-family--heading-serif); font-weight: 600; font-size: clamp(1.9rem, 3.6vw, 2.6rem); color: var(--sc-ink, #111827); letter-spacing: -.02em; margin: 0 0 2rem; padding-top: clamp(2rem,4vw,3rem); scroll-margin-top: 90px; }
.sc-schol__h .sc-eyebrow { display: block; margin-bottom: .5rem; }

.sc-schol__grid { display: flex; flex-direction: column; gap: 1.5rem; max-width: 960px; margin-inline: auto; padding-bottom: clamp(2rem,5vw,3.5rem); }
.sc-scard { display: grid; grid-template-columns: 280px 1fr; align-items: center; background: #fff; border: 1px solid var(--sc-line, #E5E7EB); border-radius: 18px; overflow: hidden; box-shadow: var(--sc-shadow); transition: transform .22s var(--sc-ease), box-shadow .22s var(--sc-ease); }
.sc-scard:hover { transform: translateY(-4px); box-shadow: var(--sc-shadow-lg); }
.sc-scard__video { aspect-ratio: 4 / 5; background: #0B1220; align-self: start; }
.sc-scard__video iframe { width: 100%; height: 100%; border: 0; display: block; }
.sc-scard__body { display: flex; flex-direction: column; padding: clamp(1.5rem, 3vw, 2rem); min-width: 0; }
.sc-scard__loc { font-family: var(--wp--preset--font-family--albert-sans); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sc-coral, #FB5A4B); margin: 0; }
.sc-scard h3 { font-family: var(--wp--preset--font-family--heading-serif); font-size: 1.5rem; color: var(--sc-ink, #111827); margin: .25rem 0 .8rem; line-height: 1.15; }
.sc-scard__story { color: var(--sc-muted, #6B7280); font-size: .95rem; line-height: 1.7; margin: 0; flex: 1; }
.sc-scard__chart { margin: 1.1rem 0; border-radius: 10px; overflow: hidden; }
.sc-scard__chart iframe { border-radius: 10px; }
.sc-scard__donate { margin-top: 1.4rem; align-self: flex-start; min-width: 240px; justify-content: center; cursor: pointer; }
.sc-schol .sc-btn[role="button"], .sc-schol a.sc-btn { cursor: pointer; }

.sc-schol__cta { text-align: center; background: linear-gradient(180deg, #fff, var(--sc-coral-wash, #FFE4E0)); border-radius: 24px; padding: clamp(2.5rem, 6vw, 4rem) 1.5rem; margin-block: clamp(1.5rem,4vw,2.5rem) clamp(2rem,5vw,3.5rem); }
.sc-schol__cta h2 { font-family: var(--wp--preset--font-family--heading-serif); font-weight: 600; font-size: clamp(1.6rem, 3vw, 2.3rem); color: var(--sc-ink, #111827); margin: 0 0 .5rem; }
.sc-schol__cta p { color: #7c2d2a; margin: 0 auto 1.6rem; max-width: 40rem; }

@media (max-width: 720px) {
  .sc-scard { grid-template-columns: 1fr; }
  .sc-scard__video { aspect-ratio: 16 / 9; }
  .sc-scard__donate { align-self: stretch; }
  .sc-schol__grid { max-width: 560px; }
}

/* Scholarship — responsive fund summary (replaces the non-responsive Appsmith iframe) */
.sc-fund { background: var(--sc-surface, #F8FAFC); border: 1px solid var(--sc-line, #E5E7EB); border-radius: 14px; padding: 1.1rem 1.25rem 1rem; margin-top: 1.2rem; }
.sc-fund__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; text-align: center; }
.sc-fund__stat strong { display: block; font-family: var(--wp--preset--font-family--heading-serif); font-size: clamp(1.2rem, 2.4vw, 1.6rem); color: var(--sc-coral, #FB5A4B); line-height: 1.1; }
.sc-fund__stat span { display: block; margin-top: .25rem; font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sc-muted, #6B7280); }
.sc-fund__link { display: inline-block; margin-top: .9rem; color: var(--sc-coral, #FB5A4B); font-weight: 700; font-size: .88rem; text-decoration: none; }
.sc-fund__link:hover { text-decoration: underline; }

/* keep fund stat numbers on one line */
.sc-fund__stat strong { white-space: nowrap; }
.sc-fund__stat span { white-space: nowrap; }

/* Scholarship card actions: Donate button + tracker link on one row */
.sc-scard__actions { display: flex; align-items: center; gap: .8rem 1.4rem; flex-wrap: wrap; margin-top: 1.3rem; }
.sc-scard__actions .sc-scard__donate { margin-top: 0; }
.sc-scard__actions .sc-fund__link { margin-top: 0; }

/* ===== Publications page — document list ===== */
.page-id-216 .wp-block-post-title, .page-id-216 .entry-meta, .page-id-216 .wp-block-post-date { display: none; }
.page-id-216 .entry-content > *:not(.sc-pubs) { display: none; }

.sc-pubs { max-width: 900px; margin: 0 auto; padding-inline: clamp(1.25rem, 5vw, 2.5rem); }
.sc-pubs .sc-eyebrow { font-family: var(--wp--preset--font-family--albert-sans); font-size: .78rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--sc-coral, #FB5A4B); margin: 0 0 1rem; }
.sc-pubs__hero { text-align: center; max-width: 720px; margin: 0 auto; padding-block: clamp(2.5rem, 6vw, 4.5rem) 1rem; }
.sc-pubs__hero h1 { font-family: var(--wp--preset--font-family--heading-serif); font-weight: 600; font-size: clamp(2.4rem, 5.5vw, 4rem); line-height: 1.05; letter-spacing: -.025em; color: #0B1220; margin: 0 0 1.1rem; font-variation-settings: "opsz" 144, "WONK" 1; }
.sc-pubs__hero h1 em { font-style: normal; color: var(--sc-coral, #FB5A4B); }
.sc-pubs__lede { font-size: clamp(1.05rem, 1.6vw, 1.22rem); color: #475569; margin: 0 auto; max-width: 40rem; }

.sc-pubs__list { display: flex; flex-direction: column; gap: 1rem; padding-block: clamp(1.5rem, 4vw, 2.5rem) clamp(3rem, 6vw, 5rem); }
.sc-pub { display: flex; align-items: center; gap: 1.25rem; background: #fff; border: 1px solid var(--sc-line, #E5E7EB); border-radius: 16px; padding: 1.15rem 1.4rem; box-shadow: var(--sc-shadow); transition: transform .2s var(--sc-ease), box-shadow .2s var(--sc-ease), border-color .2s var(--sc-ease); }
.sc-pub:hover { transform: translateY(-3px); box-shadow: var(--sc-shadow-lg); border-color: var(--sc-coral, #FB5A4B); }
.sc-pub__icon { flex: 0 0 auto; width: 52px; height: 52px; display: inline-flex; align-items: center; justify-content: center; background: var(--sc-coral-wash, #FFE4E0); color: var(--sc-coral-dark, #E24A3B); border-radius: 14px; }
.sc-pub__body { flex: 1; min-width: 0; }
.sc-pub__meta { font-family: var(--wp--preset--font-family--albert-sans); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sc-coral, #FB5A4B); margin: 0 0 .3rem; }
.sc-pub h3 { font-family: var(--wp--preset--font-family--heading-serif); font-size: 1.2rem; color: var(--sc-ink, #111827); margin: 0; line-height: 1.3; }
.sc-pub__actions { flex: 0 0 auto; display: flex; gap: .6rem; }
.sc-pub__actions .sc-btn { padding: .6rem 1.25rem; font-size: .92rem; }
.entry-content a.sc-btn--ghost { color: var(--sc-slate, #1F2937) !important; }
.entry-content a.sc-btn--ghost:hover { color: #111827 !important; }

@media (max-width: 640px) {
  .sc-pub { flex-wrap: wrap; }
  .sc-pub__body { flex: 1 1 calc(100% - 68px); }
  .sc-pub__actions { flex: 1 1 100%; margin-top: .4rem; }
  .sc-pub__actions .sc-btn { flex: 1; justify-content: center; }
}

/* ===== Donate page (id 33) ===== */
.page-id-33 .wp-block-post-title, .page-id-33 .entry-meta, .page-id-33 .wp-block-post-date { display: none; }
.page-id-33 .entry-content > *:not(.sc-donate):not(script) { display: none; }

.sc-donate { max-width: 900px; margin: 0 auto; padding-inline: clamp(1.25rem, 5vw, 2.5rem); color: #374151; }
.sc-donate .sc-eyebrow { font-family: var(--wp--preset--font-family--albert-sans); font-size: .78rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--sc-coral, #FB5A4B); margin: 0 0 1rem; }
.sc-donate__hero { text-align: center; max-width: 720px; margin: 0 auto; padding-block: clamp(2.5rem, 6vw, 4.5rem) 1rem; }
.sc-donate__hero h1 { font-family: var(--wp--preset--font-family--heading-serif); font-weight: 600; font-size: clamp(2.3rem, 5.2vw, 3.75rem); line-height: 1.05; letter-spacing: -.025em; color: #0B1220; margin: 0 0 1.1rem; font-variation-settings: "opsz" 144, "WONK" 1; }
.sc-donate__hero h1 em { font-style: normal; color: var(--sc-coral, #FB5A4B); }
.sc-donate__lede { font-size: clamp(1.05rem, 1.6vw, 1.22rem); color: #475569; margin: 0 auto; max-width: 40rem; }

.sc-trust { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; text-align: center; margin: clamp(1.5rem,4vw,2.5rem) auto; padding: 1.4rem 1rem; background: var(--sc-surface, #F8FAFC); border: 1px solid var(--sc-line, #E5E7EB); border-radius: 16px; }
.sc-trust__item strong { display: block; font-family: var(--wp--preset--font-family--heading-serif); font-size: clamp(1.15rem, 2.2vw, 1.6rem); color: var(--sc-coral, #FB5A4B); line-height: 1.1; }
.sc-trust__item span { display: block; margin-top: .3rem; font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--sc-muted, #6B7280); }

.sc-donateform { background: #fff; border: 1px solid var(--sc-line, #E5E7EB); border-radius: 20px; padding: clamp(1.5rem, 4vw, 2.5rem); box-shadow: var(--sc-shadow); }
.sc-donateform__h { display: flex; align-items: baseline; gap: .8rem; font-family: var(--wp--preset--font-family--heading-serif); font-size: 1.4rem; color: var(--sc-ink, #111827); margin: 0 0 1.1rem; }
.sc-donateform__h:not(:first-child) { margin-top: 2.25rem; }
.sc-donateform__h .sc-eyebrow { margin: 0; }

.sc-causes { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem 1rem; align-items: stretch; }
.sc-cause { cursor: pointer; display: block; }
.sc-cause input { position: absolute; opacity: 0; pointer-events: none; }
.sc-cause__box { box-sizing: border-box; display: flex; flex-direction: column; gap: .3rem; height: 100%; border: 1.5px solid var(--sc-line, #E5E7EB); border-radius: 14px; padding: 1rem 1.1rem; transition: border-color .15s, background-color .15s, box-shadow .15s; position: relative; }
.sc-cause__box::before { content: ""; position: absolute; top: 1rem; right: 1rem; width: 18px; height: 18px; border: 2px solid var(--sc-line, #E5E7EB); border-radius: 50%; transition: border-color .15s, background-color .15s; }
.sc-cause input:checked + .sc-cause__box { border-color: var(--sc-coral, #FB5A4B); background: var(--sc-coral-wash, #FFE4E0); box-shadow: 0 0 0 3px rgba(251,90,75,.12); }
.sc-cause input:checked + .sc-cause__box::before { border-color: var(--sc-coral, #FB5A4B); background: var(--sc-coral, #FB5A4B) content-box; padding: 3px; }
.sc-cause input:focus-visible + .sc-cause__box { box-shadow: 0 0 0 3px rgba(251,90,75,.35); }
.sc-cause__title { font-family: var(--wp--preset--font-family--albert-sans); font-weight: 700; color: var(--sc-ink, #111827); font-size: .98rem; padding-right: 1.5rem; }
.sc-cause__title em { font-style: normal; font-weight: 500; color: var(--sc-muted, #6B7280); }
.sc-cause__desc { font-size: .86rem; line-height: 1.55; color: var(--sc-muted, #6B7280); }

.sc-amounts { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.sc-amt { font-family: var(--wp--preset--font-family--albert-sans); font-weight: 700; font-size: 1rem; padding: .7rem 1.15rem; border: 1.5px solid var(--sc-line, #E5E7EB); border-radius: 12px; background: #fff; color: var(--sc-slate, #1F2937); cursor: pointer; transition: all .15s; }
.sc-amt:hover { border-color: var(--sc-coral, #FB5A4B); color: var(--sc-coral-dark, #E24A3B); }
.sc-amt.is-active { background: var(--sc-coral, #FB5A4B); border-color: var(--sc-coral, #FB5A4B); color: #fff; }
.sc-amt-custom { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; color: var(--sc-slate); }
.sc-amt-custom input { width: 6.5rem; padding: .65rem .8rem; border: 1.5px solid var(--sc-line, #E5E7EB); border-radius: 12px; font-size: 1rem; }
.sc-amt-custom input:focus { border-color: var(--sc-coral, #FB5A4B); box-shadow: 0 0 0 3px var(--sc-coral-wash, #FFE4E0); outline: none; }

.sc-donateform__note { display: block; margin: 2rem 0 .5rem; font-weight: 600; color: var(--sc-slate, #1F2937); font-size: .95rem; }
.sc-donateform__note span { color: var(--sc-muted, #6B7280); font-weight: 400; }
.sc-donateform__input { width: 100%; box-sizing: border-box; padding: .75rem .9rem; border: 1.5px solid var(--sc-line, #E5E7EB); border-radius: 12px; font-size: 1rem; }
.sc-donateform__input:focus { border-color: var(--sc-coral, #FB5A4B); box-shadow: 0 0 0 3px var(--sc-coral-wash, #FFE4E0); outline: none; }
.sc-donateform__submit { display: inline-flex; margin-top: 1.75rem; cursor: pointer; }
.sc-donateform__cards { margin: 1rem 0 0; }
.sc-donateform__cards img { height: 26px; width: auto; opacity: .85; }

.sc-alt { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: clamp(1.5rem,4vw,2.5rem) 0 0; }
.sc-altcard { display: flex; align-items: center; gap: 1rem; background: #fff; border: 1px solid var(--sc-line, #E5E7EB); border-radius: 16px; padding: 1.25rem 1.4rem; text-decoration: none; color: inherit; box-shadow: var(--sc-shadow); transition: transform .2s, box-shadow .2s, border-color .2s; }
a.sc-altcard:hover { transform: translateY(-3px); box-shadow: var(--sc-shadow-lg); border-color: var(--sc-coral, #FB5A4B); }
.sc-altcard__ico { flex: 0 0 auto; width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.4rem; background: var(--sc-coral-wash, #FFE4E0); border-radius: 12px; }
.sc-altcard__body { flex: 1; display: flex; flex-direction: column; }
.sc-altcard__body strong { font-family: var(--wp--preset--font-family--heading-serif); color: var(--sc-ink, #111827); font-size: 1.1rem; }
.sc-altcard__body span { color: var(--sc-muted, #6B7280); font-size: .9rem; line-height: 1.5; }
.sc-altcard__body b { color: var(--sc-slate, #1F2937); }
.sc-altcard__go { flex: 0 0 auto; color: var(--sc-coral, #FB5A4B); font-weight: 700; font-size: .9rem; }

.sc-donate__fine { max-width: 760px; margin: clamp(2rem,5vw,3rem) auto clamp(3rem,6vw,5rem); font-size: .86rem; line-height: 1.7; color: var(--sc-muted, #6B7280); text-align: center; }

@media (max-width: 680px) {
  .sc-trust { grid-template-columns: repeat(2, 1fr); }
  .sc-causes { grid-template-columns: 1fr; }
  .sc-alt { grid-template-columns: 1fr; }
  .sc-donateform__submit { width: 100%; justify-content: center; }
}

/* ===== Align all custom page content with the footer (fill the theme content
   column; don't add a second gutter on top of entry-content's) ===== */
.sc-donate, .sc-about, .sc-schol, .sc-pubs {
  max-width: none !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
  box-sizing: border-box !important;
}
.sc-schol__grid { max-width: none !important; }
@media (max-width: 820px) {
  .sc-donate, .sc-about, .sc-schol, .sc-pubs { padding-inline: clamp(1rem, 4vw, 1.5rem) !important; }
}
/* The page/single template wraps post content in a leftover single-column
   "sidebar gutter" (inline padding-right baked into the template markup) —
   it pushes content 24px short of the footer's right edge on every page
   (About/Scholarship/Publications/Donate/Contact/single posts). Only a
   column that's the direct wrapper of post content has this artifact;
   real multi-column layouts elsewhere (e.g. Committee) are untouched. */
.wp-block-column:has(> .entry-content),
.wp-block-column:has(> .wp-block-post-content) {
  padding-right: 0 !important;
}

