/*
Theme Name: SAFE CHANGES
Theme URI: https://www.safe-changes.eu/
Author: AIYD / Hüseyin ELÇÜNEYT
Description: Custom theme for the SAFE CHANGES Erasmus+ Virtual Exchanges project. Everything (trainings, team, library, youth stories) is managed from the dashboard — no code edits needed after install.
Version: 4.2.0
Requires PHP: 7.4
Text Domain: safe-changes
*/

/* ==========================================================================
   Design tokens — extracted from the SAFE CHANGES logo (real pixel sample,
   not guessed). See docs/color-palette.md shipped with this theme.
   ========================================================================== */
:root {
  --sc-blue: #2C7CC0;          /* "SAFE" + subtitle text, ~20% of logo pixels */
  --sc-blue-button: #276FAC;   /* darkened for AA contrast on white (5.31:1) */
  --sc-blue-dark: #2C6CB4;     /* icon gradient, dark end (5.37:1 on white) */
  --sc-cyan-light: #28A8E0;    /* icon gradient, light end — decorative only */
  --sc-gold: #E8C038;          /* "CHANGES" text, ~10% of logo pixels — decorative only, 1.75:1 on white */
  --sc-gold-text: #81670E;     /* darkened gold, safe for text/links (5.41:1) */

  --sc-ink: #1E2429;
  --sc-ink-muted: #5B6570;
  --sc-paper: #FFFFFF;
  --sc-paper-tint: #F4F8FC;
  --sc-line: #E1E8EE;

  --sc-radius: 3px;
  --sc-max-width: 1160px;
  --sc-gap: clamp(1rem, 2vw, 2rem);

  --sc-font-body: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --sc-font-display: "Poppins", var(--sc-font-body);
}

/* ==========================================================================
   Reset & base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--sc-font-body);
  color: var(--sc-ink);
  background: var(--sc-paper);
  line-height: 1.65;
  font-size: 17px;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--sc-blue); text-decoration-thickness: 1px; }
a:hover { color: var(--sc-blue-dark); }
h1, h2, h3, h4 {
  font-family: var(--sc-font-display);
  line-height: 1.2;
  margin-block: 0 0.5em;
  font-weight: 600;
  color: var(--sc-ink);
}
h1 { font-size: clamp(2rem, 4vw, 2.75rem); }
h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
h3 { font-size: 1.25rem; }
p { margin-block: 0 1.1em; max-width: 68ch; }
.sc-container p { max-width: none; }
ul.sc-plain { list-style: none; padding-inline-start: 0; margin: 0; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}

/* ==========================================================================
   Layout helpers (logical properties throughout — no left/right)
   ========================================================================== */
.sc-container {
  max-width: var(--sc-max-width);
  margin-inline: auto;
  padding-inline: 24px;
}
.sc-section { padding-block: clamp(48px, 6vw, 88px); }
.sc-section--tint { background: var(--sc-paper-tint); }
.sc-grid {
  display: grid;
  gap: var(--sc-gap);
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.sc-eyebrow {
  font-size: 0.8rem;
  color: var(--sc-blue-button);
  font-weight: 600;
  margin-block-end: 0.4em;
}

/* ==========================================================================
   Header
   ========================================================================== */
.sc-header {
  border-block-end: 1px solid var(--sc-line);
  position: sticky;
  inset-block-start: 0;
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(6px);
  z-index: 50;
}
.sc-header__inner {
  max-width: var(--sc-max-width);
  margin-inline: auto;
  padding-inline: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 76px;
  gap: 16px;
}
.sc-logo img { block-size: 44px; inline-size: auto; }
.sc-nav ul {
  display: flex;
  gap: 22px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.95rem;
  font-weight: 500;
}
.sc-nav a { color: var(--sc-ink); text-decoration: none; }
.sc-nav a:hover, .sc-nav .current-menu-item > a { color: var(--sc-blue-button); }
.sc-nav-toggle { display: none; }

@media (max-width: 780px) {
  .sc-nav { position: fixed; inset: 76px 0 0 0; background: #fff; padding: 24px; display: none; }
  .sc-nav.is-open { display: block; }
  .sc-nav ul { flex-direction: column; gap: 18px; font-size: 1.1rem; }
  .sc-nav-toggle { display: inline-flex; align-items: center; justify-content: center; block-size: 40px; inline-size: 40px; border: none; background: none; cursor: pointer; }
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.sc-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: var(--sc-radius);
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
  border: 1px solid transparent;
}
.sc-btn:focus-visible { outline: 3px solid var(--sc-cyan-light); outline-offset: 2px; }
.sc-btn--primary { background: var(--sc-blue-button); color: #fff; }
.sc-btn--primary:hover { background: var(--sc-blue-dark); color: #fff; }
.sc-btn--ghost { border-color: var(--sc-line); color: var(--sc-ink); }
.sc-btn--ghost:hover { border-color: var(--sc-blue-button); color: var(--sc-blue-button); }

/* ==========================================================================
   Hero
   ========================================================================== */
.sc-hero {
  padding-block: clamp(56px, 8vw, 110px);
  background: linear-gradient(135deg, var(--sc-blue-dark), var(--sc-cyan-light));
  color: #fff;
}
.sc-hero h1 { color: #fff; }
.sc-hero__lede { color: rgba(255,255,255,0.9); font-size: 1.15rem; max-width: 60ch; }
.sc-hero__ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-block-start: 24px; }
.sc-hero .sc-btn--ghost { border-color: rgba(255,255,255,0.6); color: #fff; }
.sc-hero .sc-btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,0.12); }

/* ==========================================================================
   Stat counters
   ========================================================================== */
.sc-stats { display: flex; flex-wrap: wrap; gap: var(--sc-gap); margin-block-start: 40px; }
.sc-stat { min-width: 140px; }
.sc-stat__num { font-family: var(--sc-font-display); font-size: 2.4rem; font-weight: 700; color: #fff; }
.sc-stat__label { font-size: 0.85rem; color: rgba(255,255,255,0.85); }

/* ==========================================================================
   Cards (activities / library / team / stories)
   ========================================================================== */
.sc-card {
  border: 1px solid var(--sc-line);
  border-radius: var(--sc-radius);
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
}
.sc-card__media { aspect-ratio: 16/10; overflow: hidden; background: var(--sc-paper-tint); }
.sc-card__media img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.sc-card__body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.sc-card__tag { font-size: 0.75rem; font-weight: 700; color: var(--sc-gold-text); text-transform: uppercase; letter-spacing: 0.03em; }
.sc-card__title { font-size: 1.15rem; margin: 0; }
.sc-card__title a { color: var(--sc-ink); text-decoration: none; }
.sc-card__title a:hover { color: var(--sc-blue-button); }
.sc-card__meta { font-size: 0.85rem; color: var(--sc-ink-muted); }
.sc-card__excerpt { color: var(--sc-ink-muted); font-size: 0.95rem; }

.sc-missing-note {
  display: inline-block;
  font-size: 0.75rem;
  color: #9a3b12;
  background: #fdf1e8;
  border: 1px solid #f2cba5;
  border-radius: var(--sc-radius);
  padding: 2px 8px;
  margin-block-start: 4px;
}

/* ==========================================================================
   Team
   ========================================================================== */
.sc-team-card { text-align: center; padding-block: 24px; }
.sc-team-card__photo {
  inline-size: 120px; block-size: 120px; border-radius: 50%;
  margin-inline: auto; margin-block-end: 14px; overflow: hidden;
  background: var(--sc-paper-tint);
  display: flex; align-items: center; justify-content: center;
  font-size: 2rem; color: var(--sc-blue-button); font-weight: 700;
}
.sc-team-card__photo img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.sc-team-card__role { color: var(--sc-ink-muted); font-size: 0.9rem; }
.sc-team-card__social { display: flex; gap: 10px; justify-content: center; margin-block-start: 10px; }

/* ==========================================================================
   Library
   ========================================================================== */
.sc-library-item { display: flex; gap: 16px; align-items: center; padding: 18px; border: 1px solid var(--sc-line); border-radius: var(--sc-radius); margin-block-end: 14px; }
.sc-library-item__thumb { inline-size: 64px; block-size: 84px; flex-shrink: 0; background: var(--sc-paper-tint); border-radius: 2px; overflow: hidden; }
.sc-library-item__thumb img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.sc-library-item__body { flex: 1; }
.sc-library-item__lang { font-size: 0.75rem; color: var(--sc-ink-muted); text-transform: uppercase; }

/* Preview modal — hidden until a preview link is clicked; iframe src is set by JS on open and cleared on close */
.sc-modal { position: fixed; inset: 0; background: rgba(20,26,30,0.7); display: none; align-items: center; justify-content: center; z-index: 200; padding: 24px; }
.sc-modal.is-open { display: flex; }
.sc-modal__panel { background: #fff; border-radius: var(--sc-radius); inline-size: min(900px, 100%); block-size: min(80vh, 700px); position: relative; }
.sc-modal__close { position: absolute; inset-block-start: 8px; inset-inline-end: 8px; border: none; background: #fff; block-size: 34px; inline-size: 34px; border-radius: 50%; cursor: pointer; font-size: 1.1rem; }
.sc-modal__panel iframe { inline-size: 100%; block-size: 100%; border: none; }

/* ==========================================================================
   Stories
   ========================================================================== */
.sc-story-figure { margin: 0 0 20px; }
.sc-story-figure img { border-radius: var(--sc-radius); }
.sc-story-body blockquote {
  border-inline-start: 3px solid var(--sc-blue);
  margin: 0 0 24px;
  padding-inline-start: 18px;
  font-style: italic;
  color: #35404A;
}
.sc-story-cutoff {
  display: inline-block;
  font-size: 0.85rem;
  color: var(--sc-gold-text);
  background: #FBF4E1;
  border: 1px solid #EEDCA6;
  border-radius: var(--sc-radius);
  padding: 8px 14px;
  margin-block-end: 20px;
}

/* ==========================================================================
   Pagination
   ========================================================================== */
.sc-pagination { display: flex; gap: 8px; justify-content: center; margin-block-start: 40px; flex-wrap: wrap; }
.sc-pagination a, .sc-pagination span {
  display: inline-flex; align-items: center; justify-content: center;
  min-inline-size: 38px; block-size: 38px; padding-inline: 6px;
  border: 1px solid var(--sc-line); border-radius: var(--sc-radius);
  text-decoration: none; color: var(--sc-ink); font-size: 0.9rem;
}
.sc-pagination .current { background: var(--sc-blue-button); border-color: var(--sc-blue-button); color: #fff; }
.sc-pagination a:hover { border-color: var(--sc-blue-button); color: var(--sc-blue-button); }

/* ==========================================================================
   Footer
   ========================================================================== */
.sc-footer { background: var(--sc-ink); color: rgba(255,255,255,0.8); padding-block: 56px 32px; }
.sc-footer a { color: #fff; }
.sc-footer__grid { display: grid; gap: 32px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); margin-block-end: 32px; }
.sc-footer__logo img { block-size: 40px; inline-size: auto; margin-block-end: 12px; }
.sc-footer__partners { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; opacity: 0.9; }
.sc-footer__partners img { block-size: 32px; inline-size: auto; filter: grayscale(1) brightness(2); }
.sc-footer__legal { font-size: 0.8rem; color: rgba(255,255,255,0.55); border-block-start: 1px solid rgba(255,255,255,0.15); padding-block-start: 20px; }

/* ==========================================================================
   Content page basics (About / Contact / single post)
   ========================================================================== */
.sc-content { padding-block: 56px; }
.sc-content .sc-container { max-width: 800px; }


/* ==========================================================================
   v1.1 visual refresh — stronger identity, reliable header, consistent pages
   ========================================================================== */
:root {
  --sc-blue: #287BC0;
  --sc-blue-button: #236FAB;
  --sc-blue-dark: #164D7D;
  --sc-cyan-light: #43A9D8;
  --sc-gold: #E9BE36;
  --sc-gold-text: #755A00;
  --sc-ink: #193142;
  --sc-ink-muted: #637482;
  --sc-paper-tint: #F5F9FC;
  --sc-line: #DCE7EF;
  --sc-radius: 12px;
  --sc-shadow-sm: 0 8px 22px rgba(27, 72, 104, .08);
  --sc-shadow-md: 0 18px 46px rgba(27, 72, 104, .13);
}

body {
  background: #fff;
  color: var(--sc-ink);
  font-size: 16px;
}

h1, h2, h3, h4 {
  letter-spacing: -0.02em;
}

.sc-section {
  padding-block: clamp(56px, 7vw, 92px);
}

.sc-section--tint {
  background:
    radial-gradient(circle at 10% 10%, rgba(67,169,216,.08), transparent 30%),
    linear-gradient(180deg, #F8FBFE 0%, #F3F8FC 100%);
}

.sc-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--sc-blue-button);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.sc-eyebrow::before {
  content: "";
  inline-size: 28px;
  block-size: 3px;
  border-radius: 999px;
  background: var(--sc-gold);
}

/* Header */
.sc-header {
  border-block-end: 1px solid rgba(35,111,171,.12);
  background: rgba(255,255,255,.97);
  box-shadow: 0 6px 24px rgba(20,77,125,.05);
}
.sc-header__inner {
  min-height: 84px;
}
.sc-logo {
  flex: 0 0 auto;
}
.sc-logo img {
  block-size: 50px;
}
.sc-nav {
  margin-inline-start: auto;
}
.sc-nav ul,
.sc-nav__list {
  gap: 6px;
  align-items: center;
}
.sc-nav li {
  margin: 0;
}
.sc-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 11px;
  border-radius: 9px;
  color: #294556;
  font-weight: 650;
  font-size: .9rem;
  transition: background-color .2s ease, color .2s ease;
}
.sc-nav a:hover,
.sc-nav .current-menu-item > a,
.sc-nav .current_page_item > a {
  background: #EEF6FB;
  color: var(--sc-blue-dark);
}
.sc-header__cta {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 16px;
  border-radius: 10px;
  background: var(--sc-gold);
  color: #253544;
  text-decoration: none;
  font-size: .88rem;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(233,190,54,.2);
}
.sc-header__cta:hover {
  background: #F2CA4C;
  color: #172B38;
}

/* Buttons */
.sc-btn {
  min-height: 46px;
  border-radius: 10px;
  padding: 12px 20px;
  font-weight: 750;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.sc-btn:hover {
  transform: translateY(-1px);
}
.sc-btn--primary {
  background: var(--sc-blue-button);
  box-shadow: 0 10px 24px rgba(35,111,171,.2);
}
.sc-btn--primary:hover {
  background: var(--sc-blue-dark);
  box-shadow: 0 14px 30px rgba(22,77,125,.24);
}

/* Hero */
.sc-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(72px, 10vw, 132px);
  background:
    radial-gradient(circle at 82% 22%, rgba(233,190,54,.20) 0 6%, transparent 28%),
    radial-gradient(circle at 88% 86%, rgba(67,169,216,.28), transparent 34%),
    linear-gradient(135deg, #174E7E 0%, #247DB8 55%, #38A2D2 100%);
}
.sc-hero::after {
  content: "";
  position: absolute;
  inset-inline-end: -90px;
  inset-block-start: 44px;
  inline-size: 390px;
  block-size: 390px;
  border: 2px solid rgba(255,255,255,.12);
  border-radius: 50%;
  box-shadow: 0 0 0 55px rgba(255,255,255,.035), 0 0 0 110px rgba(255,255,255,.02);
  pointer-events: none;
}
.sc-hero .sc-container {
  position: relative;
  z-index: 1;
}
.sc-hero__eyebrow {
  color: #fff;
}
.sc-hero__eyebrow::before {
  background: var(--sc-gold);
}
.sc-hero h1 {
  max-width: 760px;
  margin-block-start: 12px;
  font-size: clamp(2.5rem, 5vw, 4.7rem);
  line-height: 1.02;
  font-weight: 750;
}
.sc-hero__lede {
  max-width: 760px;
  margin-block-start: 22px;
  color: rgba(255,255,255,.9);
  font-size: clamp(1.05rem, 1.7vw, 1.25rem);
  line-height: 1.7;
}
.sc-hero .sc-btn--primary {
  background: var(--sc-gold);
  color: #1F3442;
  box-shadow: 0 10px 28px rgba(0,0,0,.12);
}
.sc-hero .sc-btn--primary:hover {
  background: #F3CB4B;
  color: #142936;
}
.sc-hero .sc-btn--ghost {
  border-color: rgba(255,255,255,.42);
  background: rgba(255,255,255,.06);
}

.sc-stats {
  gap: 16px;
  margin-block-start: 48px;
}
.sc-stat {
  min-width: 160px;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(6px);
}
.sc-stat__num {
  font-size: 2.15rem;
}
.sc-stat__label {
  color: rgba(255,255,255,.82);
  font-weight: 650;
}

/* Cards */
.sc-grid--spaced {
  margin-block-start: 32px;
}
.sc-card {
  border-color: rgba(35,111,171,.12);
  border-radius: 14px;
  box-shadow: var(--sc-shadow-sm);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.sc-card:hover {
  transform: translateY(-4px);
  border-color: rgba(35,111,171,.25);
  box-shadow: var(--sc-shadow-md);
}
.sc-card__media {
  background: linear-gradient(135deg, #EFF7FC, #F9FCFE);
}
.sc-card__placeholder {
  object-fit: contain !important;
  padding: 46px;
}
.sc-card__body {
  padding: 24px 24px 27px;
  gap: 10px;
}
.sc-card__tag {
  color: var(--sc-gold-text);
  letter-spacing: .08em;
}
.sc-card__title {
  font-size: 1.2rem;
}
.sc-card__excerpt {
  color: #5E7180;
  line-height: 1.65;
}

.sc-empty-state {
  display: grid;
  gap: 5px;
  margin-block-start: 28px;
  padding: 24px;
  border: 1px dashed #B9CDDB;
  border-radius: 12px;
  background: rgba(255,255,255,.72);
  color: var(--sc-ink-muted);
}
.sc-empty-state strong {
  color: var(--sc-ink);
}
.sc-section-action {
  margin-block-start: 28px;
}

/* Internal pages */
.sc-content {
  padding-block: clamp(52px, 7vw, 88px);
}
.sc-content .sc-container {
  max-width: var(--sc-max-width);
}
.sc-content > .sc-container > h1 {
  max-width: 820px;
  margin-block: 10px 28px;
  font-size: clamp(2.2rem, 4.5vw, 3.8rem);
}
.sc-content > .sc-container > h2 {
  margin-block-start: 48px;
}
.sc-content > .sc-container > p,
.sc-content > .sc-container > ul,
.sc-content > .sc-container > ol,
.sc-content > .sc-container > .wp-block-group,
.sc-content > .sc-container > .wp-block-columns {
  max-width: 860px;
}

.sc-partners-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 16px;
  align-items: stretch;
  margin-block: 24px 28px;
}
.sc-partners-grid img {
  inline-size: 100%;
  block-size: 92px;
  object-fit: contain;
  padding: 16px;
  border: 1px solid var(--sc-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(27,72,104,.05);
}
.sc-eu-logo {
  block-size: 64px;
  inline-size: auto;
}

.sc-cta-section {
  text-align: center;
  max-width: 840px;
}
.sc-cta-section .sc-eyebrow {
  justify-content: center;
}
.sc-cta-section p {
  margin-inline: auto;
  color: var(--sc-ink-muted);
}

/* Footer */
.sc-footer {
  position: relative;
  background: linear-gradient(135deg, #123E64 0%, #173E58 100%);
  color: rgba(255,255,255,.78);
  padding-block: 62px 32px;
}
.sc-footer::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 0 auto 0;
  block-size: 4px;
  background: linear-gradient(90deg, var(--sc-blue), var(--sc-cyan-light), var(--sc-gold));
}
.sc-footer h3 {
  color: #fff;
  font-size: 1rem;
}
.sc-footer__logo img {
  block-size: 48px;
}
.sc-footer a {
  color: #fff;
  text-decoration-color: rgba(255,255,255,.35);
}
.sc-footer a:hover {
  color: #F4D36C;
}
.sc-footer__legal {
  color: rgba(255,255,255,.58);
}

@media (max-width: 1040px) {
  .sc-header__cta { display: none; }
  .sc-nav a { padding-inline: 8px; font-size: .86rem; }
}

@media (max-width: 780px) {
  .sc-header__inner { min-height: 74px; }
  .sc-logo img { block-size: 44px; }
  .sc-nav {
    inset: 74px 0 0 0;
    padding: 18px 20px 28px;
    background: rgba(255,255,255,.99);
    border-block-start: 1px solid var(--sc-line);
    overflow-y: auto;
  }
  .sc-nav ul,
  .sc-nav__list {
    align-items: stretch;
    gap: 6px;
  }
  .sc-nav a {
    display: flex;
    padding: 12px 14px;
    font-size: 1rem;
  }
  .sc-nav-toggle {
    border-radius: 9px;
    background: #F1F7FB;
  }
  .sc-hero {
    padding-block: 64px 72px;
  }
  .sc-hero::after {
    inline-size: 260px;
    block-size: 260px;
    inset-inline-end: -150px;
  }
  .sc-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .sc-stat {
    min-width: 0;
    padding: 13px 12px;
  }
  .sc-stat__num {
    font-size: 1.7rem;
  }
}

@media (max-width: 520px) {
  .sc-container,
  .sc-header__inner {
    padding-inline: 18px;
  }
  .sc-stats {
    grid-template-columns: 1fr;
  }
  .sc-stat {
    display: flex;
    align-items: baseline;
    gap: 12px;
  }
}

/* ========================================================================== 
   v1.2 — rebuilt header + cohesive visual system
   ========================================================================== */
:root {
  --sc-navy: #123f67;
  --sc-blue-2: #247fc0;
  --sc-sky: #4aadd7;
  --sc-yellow: #efc431;
  --sc-text: #173247;
  --sc-muted-2: #667c8c;
  --sc-soft: #f4f9fc;
  --sc-border: #dbe8f0;
  --sc-shadow: 0 18px 50px rgba(18,63,103,.12);
}

body {
  color: var(--sc-text);
  background: #fff;
}

/* Header rebuilt from scratch: independent from WordPress menu assignment */
.sc-site-header {
  position: sticky;
  top: 0;
  z-index: 9999;
  width: 100%;
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid rgba(36,127,192,.14);
  box-shadow: 0 7px 28px rgba(18,63,103,.07);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.sc-header-accent {
  height: 4px;
  background: linear-gradient(90deg, var(--sc-navy) 0 38%, var(--sc-blue-2) 38% 72%, var(--sc-yellow) 72% 100%);
}
.sc-header-wrap {
  width: min(1240px, calc(100% - 40px));
  min-height: 88px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 24px;
}
.sc-brand {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.sc-brand img {
  display: block;
  width: auto;
  height: 54px;
  max-width: 230px;
  object-fit: contain;
}
.sc-primary-nav {
  margin-left: auto;
}
.sc-primary-nav ul {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.sc-primary-nav li { margin: 0; padding: 0; }
.sc-primary-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 10px;
  border-radius: 10px;
  color: #2f4c5f;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  transition: color .2s ease, background .2s ease;
}
.sc-primary-nav a:hover,
.sc-primary-nav a.is-active {
  color: var(--sc-navy);
  background: #eef7fc;
}
.sc-primary-nav a.is-active::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 4px;
  height: 3px;
  border-radius: 99px;
  background: var(--sc-yellow);
}
.sc-header-cta {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 10px 17px;
  border-radius: 12px;
  background: var(--sc-navy);
  color: #fff !important;
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 9px 22px rgba(18,63,103,.18);
  transition: transform .2s ease, background .2s ease;
}
.sc-header-cta:hover { background: var(--sc-blue-2); transform: translateY(-1px); }
.sc-menu-button {
  display: none;
  width: 46px;
  height: 46px;
  margin-left: auto;
  padding: 11px;
  border: 1px solid var(--sc-border);
  border-radius: 12px;
  background: #f5fafd;
  cursor: pointer;
}
.sc-menu-button span {
  display: block;
  height: 2px;
  margin: 5px 0;
  border-radius: 2px;
  background: var(--sc-navy);
  transition: transform .2s ease, opacity .2s ease;
}
.sc-menu-button.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.sc-menu-button.is-open span:nth-child(2) { opacity: 0; }
.sc-menu-button.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* stronger homepage rhythm */
.sc-hero {
  min-height: 610px;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 79% 25%, rgba(239,196,49,.22), transparent 19%),
    radial-gradient(circle at 88% 72%, rgba(74,173,215,.28), transparent 26%),
    linear-gradient(118deg, #123f67 0%, #185b8d 48%, #2789c4 100%);
}
.sc-hero .sc-container { width: 100%; }
.sc-hero h1 {
  max-width: 820px;
  font-size: clamp(2.8rem, 6vw, 5.4rem);
  letter-spacing: -.045em;
  text-wrap: balance;
}
.sc-hero__lede { max-width: 720px; }
.sc-hero__ctas { margin-top: 30px; }
.sc-hero .sc-btn--primary {
  background: var(--sc-yellow);
  color: #183245;
  border-color: transparent;
}
.sc-hero .sc-btn--primary:hover { background: #f7d04a; }
.sc-hero .sc-btn--ghost { border-color: rgba(255,255,255,.45); }
.sc-stats { max-width: 720px; }
.sc-stat { border-radius: 16px; }

.sc-section > .sc-container > h2,
.sc-content > .sc-container > h1 {
  color: var(--sc-navy);
}
.sc-grid--spaced { gap: 22px; }
.sc-card {
  border-radius: 18px;
  border: 1px solid var(--sc-border);
  box-shadow: 0 10px 30px rgba(18,63,103,.07);
}
.sc-card:hover { box-shadow: var(--sc-shadow); }
.sc-card__body { padding: 27px; }
.sc-card__tag { color: #796000; }

.sc-section--tint {
  background: linear-gradient(180deg, #f7fbfd 0%, #edf6fb 100%);
}
.sc-cta-section {
  padding: 48px;
  border: 1px solid var(--sc-border);
  border-radius: 24px;
  background: linear-gradient(135deg, #f8fcfe, #eef7fc);
  box-shadow: 0 18px 50px rgba(18,63,103,.08);
}

.sc-content > .sc-container {
  padding-top: 12px;
}
.sc-content > .sc-container > h1 {
  max-width: 900px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--sc-border);
}

.sc-footer {
  background: linear-gradient(135deg, #0f3556 0%, #163f5a 100%);
}

@media (max-width: 1120px) {
  .sc-header-wrap { gap: 14px; }
  .sc-primary-nav a { padding-inline: 8px; font-size: 13px; }
  .sc-header-cta { display: none; }
}

@media (max-width: 900px) {
  .sc-header-wrap { min-height: 76px; width: min(100% - 28px, 1240px); }
  .sc-brand img { height: 47px; max-width: 205px; }
  .sc-menu-button { display: block; }
  .sc-primary-nav {
    position: fixed;
    top: 80px;
    left: 14px;
    right: 14px;
    max-height: calc(100vh - 98px);
    overflow-y: auto;
    display: none;
    margin: 0;
    padding: 14px;
    border: 1px solid var(--sc-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(18,63,103,.18);
  }
  .sc-primary-nav.is-open { display: block; }
  .sc-primary-nav ul { flex-direction: column; align-items: stretch; gap: 4px; }
  .sc-primary-nav a { display: flex; width: 100%; min-height: 46px; padding: 11px 13px; font-size: 15px; }
  .sc-primary-nav a.is-active::after { left: 13px; right: auto; width: 28px; bottom: 5px; }
  body.sc-menu-open { overflow: hidden; }
  .sc-hero { min-height: auto; padding-block: 74px 80px; }
}

@media (max-width: 560px) {
  .sc-header-wrap { width: calc(100% - 24px); }
  .sc-brand img { height: 42px; max-width: 180px; }
  .sc-hero h1 { font-size: clamp(2.35rem, 12vw, 3.6rem); }
  .sc-cta-section { padding: 30px 22px; }
}

/* ========================================================================== 
   v2.0 — editorial NGO homepage, fully dashboard-driven
   ========================================================================== */
.sc-site-main{display:block}
.sc-brand-wrap .custom-logo-link,.sc-brand{display:inline-flex;align-items:center}.sc-brand-wrap img,.sc-brand img{max-height:58px;width:auto}
.sc-primary-nav .sub-menu{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--sc-line);border-radius:12px;padding:8px;min-width:220px;box-shadow:var(--sc-shadow-md);display:none;z-index:50}.sc-primary-nav li{position:relative}.sc-primary-nav li:hover>.sub-menu{display:block}.sc-primary-nav .sub-menu a{display:block;padding:10px 12px}
.sc-home-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f8fbfe 0%,#eef7fc 56%,#fff8df 100%);padding:clamp(60px,8vw,108px) 0 58px;border-bottom:1px solid var(--sc-line)}
.sc-home-hero:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(40,168,224,.09);top:-180px;right:-120px}.sc-home-hero__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:clamp(38px,6vw,80px)}
.sc-home-hero h1{font-size:clamp(2.7rem,5.8vw,5.2rem);line-height:1.02;max-width:12ch;margin:.22em 0}.sc-home-hero__lede{font-size:1.15rem;color:var(--sc-ink-muted);max-width:62ch}.sc-home-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.sc-btn--outline{background:#fff;color:var(--sc-blue-dark);border:1px solid #c9dce9}.sc-btn--outline:hover{background:#f5f9fc}
.sc-home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:620px;margin-top:42px;border-top:1px solid #d7e5ee;padding-top:24px;gap:18px}.sc-home-stat strong{display:block;font-size:1.75rem;color:var(--sc-blue-dark);line-height:1}.sc-home-stat span{display:block;color:var(--sc-ink-muted);font-size:.88rem;margin-top:7px}
.sc-home-hero__visual{min-height:470px;border-radius:28px;overflow:hidden;box-shadow:0 28px 70px rgba(22,77,125,.18);background:#ddecf6;position:relative}.sc-home-hero__visual img{width:100%;height:100%;min-height:470px;object-fit:cover}.sc-home-hero__visual.is-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,var(--sc-blue-dark),var(--sc-cyan-light))}.sc-hero-shape{width:70%;aspect-ratio:1;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;box-shadow:inset 0 0 0 28px rgba(255,255,255,.05)}.sc-hero-shape span{font-size:clamp(2rem,4vw,4rem);font-weight:300;letter-spacing:.16em}.sc-hero-shape strong{color:var(--sc-gold);font-size:clamp(2.2rem,4.5vw,4.5rem);letter-spacing:.08em}
.sc-home-section{padding-block:clamp(70px,8vw,108px)}.sc-section--soft{background:#f7fafc}.sc-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px}.sc-section-head h2{font-size:clamp(2rem,4vw,3.15rem);margin:.18em 0 .22em}.sc-section-head p{max-width:66ch;color:var(--sc-ink-muted);margin:0}.sc-section-head--center{justify-content:center;text-align:center}.sc-section-head--center p{margin-inline:auto}.sc-text-link{font-weight:800;text-decoration:none;white-space:nowrap;color:var(--sc-blue-dark)}
.sc-home-grid{display:grid;gap:24px}.sc-home-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.sc-home-card{background:#fff;border:1px solid var(--sc-line);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(19,74,111,.06);transition:transform .2s ease,box-shadow .2s ease}.sc-home-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(19,74,111,.12)}.sc-home-card__image{aspect-ratio:16/10;display:block;overflow:hidden;background:#eaf4fa;text-decoration:none}.sc-home-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.sc-home-card:hover .sc-home-card__image img{transform:scale(1.035)}.sc-card-fallback{height:100%;display:grid;place-items:center;font-weight:850;letter-spacing:.06em;color:var(--sc-blue-dark);background:linear-gradient(135deg,#e9f5fb,#fff4c9)}.sc-home-card__body{padding:24px}.sc-home-card h3{font-size:1.3rem;margin:.35em 0}.sc-home-card h3 a{text-decoration:none;color:var(--sc-ink)}.sc-home-card p{color:var(--sc-ink-muted);font-size:.95rem}.sc-home-card__meta{font-size:.78rem;color:var(--sc-ink-muted);text-transform:uppercase;letter-spacing:.03em}.sc-read-more{display:inline-flex;margin-top:6px;font-weight:800;text-decoration:none;font-size:.9rem}
.sc-partners-section{background:#fffaf0;border-top:1px solid #f2e7c0;border-bottom:1px solid #f2e7c0}.sc-partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;align-items:stretch}.sc-partner-card{min-height:120px;background:#fff;border:1px solid #ecdfb6;border-radius:16px;display:grid;place-items:center;padding:22px}.sc-partner-card a{display:grid;place-items:center;width:100%;height:100%}.sc-partner-card img{max-width:145px;max-height:68px;width:auto;height:auto;object-fit:contain;filter:none}.sc-partner-card span{font-weight:800;text-align:center;color:var(--sc-ink)}
.sc-home-cta{padding-block:70px;background:linear-gradient(120deg,#173f60,#236fab);color:#fff}.sc-home-cta h2{color:#fff;font-size:clamp(2rem,4vw,3.1rem)}.sc-home-cta p{color:rgba(255,255,255,.82);max-width:62ch}.sc-home-cta .sc-eyebrow{color:#fff}.sc-home-cta__inner{display:flex;justify-content:space-between;align-items:center;gap:34px}.sc-btn--gold{background:var(--sc-gold);color:#203747;box-shadow:none;white-space:nowrap}.sc-btn--gold:hover{background:#f2ca4c;color:#203747}.sc-empty-state{padding:24px;border:1px dashed #b8cfdd;border-radius:14px;background:#f8fbfd;color:var(--sc-ink-muted)}
@media(max-width:980px){.sc-home-hero__grid{grid-template-columns:1fr}.sc-home-hero__visual{min-height:360px}.sc-home-hero__visual img{min-height:360px}.sc-home-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.sc-header-cta{display:none}.sc-primary-nav .sub-menu{position:static;box-shadow:none;border:0;padding-left:15px;display:block;background:transparent}.sc-home-cta__inner{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.sc-home-stats{grid-template-columns:1fr 1fr}.sc-home-grid--3{grid-template-columns:1fr}.sc-section-head{align-items:flex-start;flex-direction:column}.sc-home-hero__visual{min-height:300px}.sc-home-hero__visual img{min-height:300px}.sc-home-hero h1{font-size:clamp(2.45rem,12vw,3.6rem)}}


/* v2.1 — definitive header/footer visibility fix */
.sc-site-header{display:block!important;visibility:visible!important;opacity:1!important;position:sticky!important;top:0!important;z-index:999999!important;background:#fff!important;color:var(--sc-text)!important}
.admin-bar .sc-site-header{top:32px!important}
.sc-header-wrap{display:flex!important;align-items:center!important;min-height:84px!important}
.sc-brand-wrap{display:flex!important;align-items:center!important;flex:0 0 auto!important}
.sc-brand-wrap .custom-logo-link,.sc-brand{display:flex!important;align-items:center!important;line-height:0!important}
.sc-brand-wrap .custom-logo,.sc-brand-wrap .custom-logo-link img,.sc-brand img{display:block!important;width:auto!important;height:54px!important;max-width:230px!important;object-fit:contain!important}
.sc-primary-nav{display:block;margin-inline-start:auto!important}
.sc-primary-nav .sc-nav__list{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}
.sc-primary-nav .sc-nav__list>li>a{display:flex!important;color:var(--sc-text)!important;text-decoration:none!important;font-weight:700!important;padding:10px 11px!important}
.sc-site-main{display:block;min-height:45vh}
.sc-footer{display:block!important;background:var(--sc-navy)!important;color:#fff!important;padding:34px 0 22px!important;margin-top:0!important}
.sc-footer-simple{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.5fr);align-items:center;gap:22px}
.sc-footer-brand img{height:42px;width:auto;max-width:210px;object-fit:contain;margin-bottom:10px}
.sc-footer-brand p{margin:0;max-width:460px;color:rgba(255,255,255,.72);font-size:14px}
.sc-footer-nav{justify-self:end}
.sc-footer-links,.sc-footer-nav .sc-nav__list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 18px;margin:0;padding:0;list-style:none}
.sc-footer-links a,.sc-footer-nav .sc-nav__list a{color:#fff!important;text-decoration:none;font-size:14px;font-weight:600}
.sc-footer-copy{grid-column:1/-1;margin:0;padding-top:18px;border-top:1px solid rgba(255,255,255,.16);font-size:12px;color:rgba(255,255,255,.62)}
@media(max-width:900px){
 .admin-bar .sc-site-header{top:46px!important}
 .sc-brand-wrap .custom-logo,.sc-brand-wrap .custom-logo-link img,.sc-brand img{height:45px!important;max-width:190px!important}
 .sc-menu-button{display:block!important;margin-inline-start:auto!important}
 .sc-primary-nav{display:none!important;position:absolute!important;top:100%!important;left:12px!important;right:12px!important;background:#fff!important;border:1px solid var(--sc-border)!important;padding:12px!important;box-shadow:0 16px 35px rgba(18,63,103,.14)!important}
 .sc-primary-nav.is-open{display:block!important}
 .sc-primary-nav .sc-nav__list{display:block!important}
 .sc-primary-nav .sc-nav__list>li>a{width:100%!important}
 .sc-footer-simple{grid-template-columns:1fr}
 .sc-footer-nav{justify-self:start}
 .sc-footer-links,.sc-footer-nav .sc-nav__list{justify-content:flex-start}
}
@media(max-width:782px){.admin-bar .sc-site-header{top:46px!important}}

/* v2.2 — global shell, intentionally simple and hard to override */
.sc-site-header{display:block!important;position:relative!important;z-index:999999!important;width:100%!important;background:var(--sc-white,#fff)!important;border-bottom:1px solid var(--sc-line,#e6e9ed)!important}
.sc-header-wrap{width:min(1180px,calc(100% - 32px))!important;margin-inline:auto!important;min-height:78px!important;display:flex!important;align-items:center!important;gap:24px!important}
.sc-brand-wrap{flex:0 0 auto!important;display:flex!important;align-items:center!important}
.sc-brand-wrap .custom-logo-link,.sc-brand{display:flex!important;align-items:center!important}
.sc-brand-wrap img,.sc-brand-wrap .custom-logo{display:block!important;height:48px!important;width:auto!important;max-width:220px!important;object-fit:contain!important}
.sc-primary-nav{display:block!important;margin-inline-start:auto!important}
.sc-primary-nav ul{display:flex!important;align-items:center!important;gap:4px!important;margin:0!important;padding:0!important;list-style:none!important}
.sc-primary-nav a{display:block!important;padding:10px 11px!important;color:var(--sc-ink,#1e2b37)!important;text-decoration:none!important;font-size:14px!important;font-weight:600!important;white-space:nowrap!important}
.sc-primary-nav a:hover{color:var(--sc-blue-button,#175f9c)!important}
.sc-menu-button{display:none!important}
.sc-footer{display:block!important;width:100%!important;background:var(--sc-navy,#123f67)!important;color:var(--sc-white,#fff)!important;padding:32px 0 20px!important}
.sc-footer-simple{display:grid!important;grid-template-columns:1fr auto!important;gap:20px 32px!important;align-items:center!important}
.sc-footer-brand img{height:38px!important;width:auto!important;max-width:180px!important;object-fit:contain!important}
.sc-footer-brand p{margin:8px 0 0!important;max-width:520px!important;color:var(--sc-white,#fff)!important;opacity:.82!important;font-size:13px!important}
.sc-footer-nav ul,.sc-footer-links{display:flex!important;flex-wrap:wrap!important;gap:8px 16px!important;margin:0!important;padding:0!important;list-style:none!important}
.sc-footer-nav a,.sc-footer-links a{color:var(--sc-white,#fff)!important;text-decoration:none!important;font-size:13px!important}
.sc-footer-copy{grid-column:1/-1!important;margin:4px 0 0!important;padding-top:14px!important;border-top:1px solid rgba(255,255,255,.16)!important;color:var(--sc-white,#fff)!important;opacity:.72!important;font-size:12px!important}
@media(max-width:860px){
 .sc-header-wrap{min-height:70px!important;gap:12px!important}
 .sc-brand-wrap img,.sc-brand-wrap .custom-logo{height:42px!important;max-width:180px!important}
 .sc-menu-button{display:block!important;margin-inline-start:auto!important;border:0!important;background:transparent!important;padding:8px!important}
 .sc-primary-nav{display:none!important;position:absolute!important;top:100%!important;inset-inline:16px!important;background:var(--sc-white,#fff)!important;border:1px solid var(--sc-line,#e6e9ed)!important;padding:8px!important}
 .sc-primary-nav.is-open{display:block!important}
 .sc-primary-nav ul{display:block!important}
 .sc-primary-nav a{padding:12px!important}
 .sc-footer-simple{grid-template-columns:1fr!important}
}


/* v2.3 — Toolkit + reliable partner logo presentation */
.sc-toolkit-section{background:var(--sc-white,#fff)}
.sc-partner-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
.sc-partner-card{min-height:128px!important;background:#fff!important}
.sc-partner-card img{display:block!important;max-width:160px!important;max-height:76px!important;width:auto!important;height:auto!important;object-fit:contain!important}

/* ==========================================================================
   v2.4 — unified visual system, transparent hero brandmark, Toolkit media sync
   ========================================================================== */
:root{
  --sc-navy:#154d78;
  --sc-navy-deep:#113d61;
  --sc-sky:#2f8bc5;
  --sc-sky-soft:#eaf5fb;
  --sc-gold-soft:#fff7dc;
  --sc-surface:#ffffff;
  --sc-surface-alt:#f6fafc;
}

/* Header: give the full horizontal logo enough space to stay readable. */
.sc-header-wrap{min-height:86px!important}
.sc-brand-wrap img,.sc-brand-wrap .custom-logo{height:auto!important;width:190px!important;max-width:190px!important;max-height:62px!important;object-fit:contain!important}
.sc-primary-nav a{color:var(--sc-navy-deep)!important;font-weight:650!important}
.sc-primary-nav a:hover,.sc-primary-nav .current-menu-item>a{color:var(--sc-blue)!important}

/* Hero: remove the heavy square and use the real transparent brand mark. */
.sc-home-hero{background:linear-gradient(120deg,var(--sc-surface-alt) 0%,var(--sc-sky-soft) 58%,var(--sc-gold-soft) 100%)!important;padding-block:78px 64px!important}
.sc-home-hero:before{background:rgba(47,139,197,.07)!important}
.sc-home-hero__visual{min-height:410px!important;border-radius:22px!important;box-shadow:none!important;background:transparent!important;overflow:visible!important}
.sc-home-hero__visual.has-photo{overflow:hidden!important;background:var(--sc-sky-soft)!important;box-shadow:0 18px 48px rgba(17,61,97,.12)!important}
.sc-home-hero__visual.has-photo img{min-height:410px!important;object-fit:cover!important}
.sc-home-hero__visual.is-brand{display:grid!important;place-items:center!important}
.sc-hero-brandmark{position:relative;width:min(100%,560px);min-height:390px;display:grid;place-items:center;padding:58px 46px;border:1px solid rgba(44,124,192,.16);border-radius:28px;background:rgba(255,255,255,.52);overflow:hidden}
.sc-hero-brandmark:before{content:"";position:absolute;inset:auto -12% -45% 24%;height:300px;border-radius:50%;background:rgba(232,192,56,.14)}
.sc-hero-brandmark:after{content:"";position:absolute;inset:-35% 28% auto -18%;height:300px;border-radius:50%;background:rgba(40,168,224,.13)}
.sc-hero-brandmark img{position:relative;z-index:2;width:min(92%,500px)!important;height:auto!important;min-height:0!important;object-fit:contain!important}
.sc-hero-orbit{position:absolute;border:1px solid rgba(44,124,192,.12);border-radius:50%}
.sc-hero-orbit--one{width:310px;height:310px;inset:35px auto auto 32px}
.sc-hero-orbit--two{width:210px;height:210px;inset:auto 38px 28px auto;border-color:rgba(232,192,56,.22)}
.sc-home-hero h1{color:var(--sc-navy-deep)!important;letter-spacing:-.025em}
.sc-home-hero__lede{color:#526776!important}
.sc-home-stat strong{color:var(--sc-navy)!important}
.sc-btn--primary{background:var(--sc-navy)!important;color:#fff!important;border-color:var(--sc-navy)!important}
.sc-btn--primary:hover{background:var(--sc-navy-deep)!important;border-color:var(--sc-navy-deep)!important}
.sc-btn--outline{color:var(--sc-navy)!important;border-color:#b9d3e3!important;background:rgba(255,255,255,.82)!important}

/* Make section rhythm and card colours feel like one site. */
.sc-home-section{background:var(--sc-surface)!important}
.sc-home-section.sc-section--soft,.sc-toolkit-section{background:var(--sc-surface-alt)!important}
.sc-home-card{border:1px solid #dce8ef!important;border-radius:12px!important;box-shadow:none!important;overflow:hidden!important;background:#fff!important}
.sc-home-card__image{background:#edf6fb!important}
.sc-card__tag,.sc-eyebrow{color:var(--sc-blue-button)!important;letter-spacing:.08em}
.sc-read-more,.sc-text-link{color:var(--sc-navy)!important;font-weight:700!important}

/* Toolkit cards: use Media Library PDFs automatically and keep identical covers. */
.sc-toolkit-card .sc-home-card__image{height:250px!important;display:grid!important;place-items:center!important;padding:0!important;background:#edf5fa!important}
.sc-toolkit-card .sc-home-card__image>img{width:100%!important;height:100%!important;object-fit:cover!important}
.sc-toolkit-cover-fallback{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px;background:linear-gradient(145deg,#edf7fc,#fff8df);text-align:center}
.sc-toolkit-cover-fallback img{width:min(82%,260px)!important;height:auto!important;max-height:112px!important;min-height:0!important;object-fit:contain!important;margin-bottom:12px}
.sc-toolkit-cover-fallback span{font-size:.75rem;font-weight:800;letter-spacing:.18em;color:var(--sc-blue-button)}
.sc-toolkit-cover-fallback strong{font-size:1rem;color:var(--sc-navy-deep)}

/* Partners: one neutral grid, identical logo boxes, no logo is allowed to dominate. */
.sc-partners-section{background:var(--sc-surface-alt)!important;border-block:1px solid #dce8ef!important}
.sc-partner-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important}
.sc-partner-card{min-height:158px!important;padding:0!important;border:1px solid #dce8ef!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important}
.sc-partner-card>a,.sc-partner-card>div{width:100%;height:100%}
.sc-partner-card a{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;padding:22px 18px!important;text-decoration:none!important}
.sc-partner-card__logo{height:82px;width:100%;display:grid;place-items:center;padding:6px}
.sc-partner-card__logo img{display:block!important;width:auto!important;height:auto!important;max-width:175px!important;max-height:68px!important;object-fit:contain!important;margin:auto!important}
.sc-partner-card__name{font-size:.8rem!important;line-height:1.3!important;text-align:center!important;color:#667784!important;font-weight:650!important;min-height:2.1em}
.sc-partner-card:hover{border-color:#b9d3e3!important}

/* CTA + footer should clearly belong to the same blue family. */
.sc-home-cta{background:var(--sc-navy)!important;border-bottom:4px solid var(--sc-gold)!important}
.sc-home-cta h2,.sc-home-cta p,.sc-home-cta .sc-eyebrow{color:#fff!important}
.sc-home-cta p{opacity:.86}
.sc-btn--gold{background:var(--sc-gold)!important;color:var(--sc-navy-deep)!important;border-color:var(--sc-gold)!important;font-weight:800!important}
.sc-footer{background:var(--sc-navy-deep)!important}

@media(max-width:980px){
  .sc-partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .sc-hero-brandmark{min-height:330px}
}
@media(max-width:680px){
  .sc-brand-wrap img,.sc-brand-wrap .custom-logo{width:155px!important;max-width:155px!important}
  .sc-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .sc-home-hero{padding-block:52px 44px!important}
  .sc-hero-brandmark{min-height:270px;padding:38px 24px}
  .sc-home-hero__visual{min-height:270px!important}
}

/* v2.7 richer editorial imagery */
.sc-what-we-do{margin-block:48px 56px}
.sc-what-we-do>p{max-width:760px}
.sc-what-card{background:#fff;border:1px solid var(--sc-border);border-radius:4px;overflow:hidden}
.sc-what-card img,.sc-what-card .sc-card-fallback{width:100%;height:220px;object-fit:cover;display:block}
.sc-what-card strong{display:block;padding:18px 20px;font-size:1.05rem}
.sc-team-card__photo img{width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.sc-what-card img,.sc-what-card .sc-card-fallback{height:190px}}

/* v2.8 cleanup: no editor/debug warnings on public site */
.sc-missing-note{display:none!important}
.sc-status-note{display:inline-flex;margin-top:12px;padding:7px 12px;border-radius:999px;background:#eef7fb;color:#18577c;font-weight:700;font-size:.82rem}
.sc-library-empty{max-width:1100px;margin:auto}
.sc-mini-resource{background:#fff;border:1px solid var(--sc-border);border-radius:4px;overflow:hidden;padding-bottom:20px}
.sc-mini-resource img,.sc-mini-resource>.sc-card-fallback{width:100%;height:210px;object-fit:cover;display:block;margin-bottom:16px}
.sc-mini-resource strong,.sc-mini-resource a{display:block;margin:0 18px 8px}
.sc-card__media:empty{display:none}

/* v2.9 team/trainers polish */
.sc-team-card{
  background:#fff;border:1px solid var(--sc-border);border-radius:18px;
  padding:18px;text-align:left;box-shadow:0 10px 30px rgba(14,61,91,.06);
  height:100%;
}
.sc-team-card__photo{
  width:100%;aspect-ratio:4/3;height:auto;border-radius:14px;overflow:hidden;
  background:linear-gradient(135deg,#eaf6fb,#fff6cf);display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;
}
.sc-team-card__photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.sc-team-initials{font-size:2rem;font-weight:800;color:#18577c;letter-spacing:.04em}
.sc-team-card .sc-card__title{margin:0 0 5px;font-size:1.15rem;line-height:1.3}
.sc-team-card .sc-card__title a{color:#12384f;text-decoration:none}
.sc-team-card__role{color:#687b87;font-size:.94rem;min-height:1.5em}
.sc-team-card__social{margin-top:12px;display:flex;gap:8px}
.sc-team-card__social a{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef7fb;color:#18577c;text-decoration:none;font-weight:800}
@media(max-width:767px){
 .sc-team-card{padding:14px}
 .sc-team-card__photo{aspect-ratio:16/11}
}

/* v3.0 downloadable project library */
.sc-library-lede{max-width:760px;font-size:1.15rem;color:#657985}
.sc-library-group{margin-bottom:64px}
.sc-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.sc-library-card{background:#fff;border:1px solid var(--sc-border);border-radius:16px;overflow:hidden;box-shadow:0 10px 28px rgba(14,61,91,.05)}
.sc-library-card__cover{height:245px;display:block;background:#f4f8fa;text-decoration:none}
.sc-library-card__cover img{width:100%;height:100%;object-fit:contain;background:#fff;padding:8px}
.sc-pdf-cover{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#eaf6fb,#fff6cf);color:#18577c}
.sc-pdf-cover span{font-size:.8rem;letter-spacing:.15em;font-weight:800;margin-bottom:10px}
.sc-pdf-cover strong{font-size:1.2rem}
.sc-library-card__body{padding:20px}
.sc-library-card__body h3{font-size:1.08rem;line-height:1.4;margin:8px 0 18px;color:#14384f}
.sc-library-actions{display:flex;gap:10px;flex-wrap:wrap}
.sc-library-actions .sc-btn{padding:10px 14px;font-size:.9rem}
@media(max-width:900px){.sc-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.sc-library-grid{grid-template-columns:1fr}.sc-library-card__cover{height:220px}.sc-library-group{margin-bottom:46px}}

/* v3.1 team avatars + news repair */
.sc-gender-avatar{position:relative;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(145deg,#eaf6fb,#fff8d8);overflow:hidden}
.sc-avatar-head{position:absolute;top:18%;width:31%;aspect-ratio:1;border-radius:50%;background:#b9cad4;box-shadow:0 0 0 10px rgba(255,255,255,.45)}
.sc-avatar-body{position:absolute;bottom:-18%;width:72%;height:58%;border-radius:50% 50% 18% 18%;background:#7aaec8}
.sc-gender-avatar.is-female .sc-avatar-head:after{content:"";position:absolute;inset:-12% -18% -24%;border-radius:48% 48% 42% 42%;border:10px solid #5f8fa8;border-top-width:14px;z-index:-1}
.sc-gender-avatar.is-female .sc-avatar-body{background:#79a9bf}
.sc-gender-avatar.is-male .sc-avatar-head:after{content:"";position:absolute;left:5%;right:5%;top:-8%;height:25%;border-radius:50% 50% 25% 25%;background:#56798c}
.sc-gender-avatar.is-male .sc-avatar-body{background:#5d91ad}
.sc-news-lede{max-width:700px;font-size:1.1rem;color:#687b87}
.sc-news-card .sc-card__media{display:block;height:220px;overflow:hidden;background:#eef7fb}
.sc-news-card .sc-card__media img{width:100%;height:100%;object-fit:cover}
.sc-news-empty{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:32px;align-items:center;background:#fff;border:1px solid var(--sc-border);border-radius:18px;padding:24px}
.sc-news-empty img{width:100%;max-height:280px;object-fit:cover;border-radius:12px}
@media(max-width:700px){.sc-news-empty{grid-template-columns:1fr}.sc-news-card .sc-card__media{height:200px}}

/* v3.4 European Union funder visibility */
.sc-footer-top{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:48px;
  align-items:start;
  margin-bottom:28px;
}
.sc-footer-funder{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  padding:18px 20px;
}
.sc-footer-funder__label{
  display:block;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  color:#ffd34d;
  margin-bottom:10px;
}
.sc-footer-funder img{
  display:block;
  width:min(100%,280px);
  max-height:76px;
  object-fit:contain;
  object-position:left center;
  background:#fff;
  border-radius:6px;
  padding:8px;
  margin-bottom:10px;
}
.sc-footer-funder p{
  margin:0;
  color:rgba(255,255,255,.86);
  font-size:.9rem;
}

.sc-funder-strip{
  background:#fff;
  border-block:1px solid var(--sc-border);
}
.sc-funder-strip__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  padding-block:34px;
}
.sc-funder-strip__inner h2{margin:.25rem 0 .35rem}
.sc-funder-strip__inner p{margin:0;color:#687b87}
.sc-funder-strip__inner img{
  width:min(360px,38%);
  max-height:92px;
  object-fit:contain;
}

.sc-about-funder{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  margin-block:42px 50px;
  padding:26px 28px;
  background:#f7fbfd;
  border:1px solid var(--sc-border);
  border-radius:14px;
}
.sc-about-funder__text{max-width:680px}
.sc-about-funder__text h2{margin:.2rem 0 .4rem}
.sc-about-funder__text p{margin:0;color:#687b87}
.sc-about-funder img{
  width:min(340px,40%);
  max-height:88px;
  object-fit:contain;
  background:#fff;
  padding:8px;
  border-radius:6px;
}

@media(max-width:800px){
  .sc-footer-top{grid-template-columns:1fr;gap:24px}
  .sc-funder-strip__inner,.sc-about-funder{
    flex-direction:column;
    align-items:flex-start;
  }
  .sc-funder-strip__inner img,.sc-about-funder img{
    width:min(100%,320px);
  }
}

/* v3.6 simplified homepage */
.sc-home-split{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center}
.sc-home-split h2{margin:.25rem 0 .7rem}
.sc-home-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sc-home-mini-grid>div,.sc-result-mini{background:#fff;border:1px solid var(--sc-border);border-radius:14px;padding:20px}
.sc-home-mini-grid strong{display:block;font-size:2rem;line-height:1;color:var(--sc-blue,#0d3c7e);margin-bottom:8px}
.sc-home-mini-grid span,.sc-result-mini span{display:block;color:#687b87;font-size:.92rem}
.sc-home-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sc-result-mini strong{display:block;margin-bottom:8px;font-size:1.05rem}
.sc-team-mini{text-align:center;background:#fff;border:1px solid var(--sc-border);border-radius:14px;padding:20px}
.sc-team-mini__photo{width:104px;height:104px;margin:0 auto 14px;border-radius:50%;overflow:hidden;background:#eef4f7}
.sc-team-mini__photo img{width:100%;height:100%;object-fit:cover}
.sc-team-mini .sc-gender-avatar{width:100%;height:100%;display:grid;place-items:center;font-size:3rem}
.sc-team-mini h3{font-size:1rem;margin:0 0 6px}.sc-team-mini p{font-size:.88rem;color:#687b87;margin:0}
@media(max-width:900px){.sc-home-split{grid-template-columns:1fr}.sc-home-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.sc-home-mini-grid,.sc-home-grid--4{grid-template-columns:1fr}}


/* ======================================================================
   v3.7 — Responsive hardening for phones, tablets, laptops and desktops
   ====================================================================== */
html{
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
}
body{
  overflow-x:hidden;
  min-width:0;
}
img,svg,video,iframe{
  max-width:100%;
}
img{
  height:auto;
}
iframe{
  width:100%;
}
.sc-container,
.sc-header-wrap{
  width:min(1180px, calc(100% - 32px))!important;
  margin-inline:auto!important;
}
.sc-site-main,
.sc-section,
.sc-home-hero,
.sc-footer{
  min-width:0;
}
.sc-home-grid,
.sc-library-grid,
.sc-home-grid--3,
.sc-home-grid--4,
.sc-home-split,
.sc-funder-strip__inner,
.sc-about-funder,
.sc-footer-top{
  min-width:0;
}
.sc-home-grid > *,
.sc-library-grid > *,
.sc-home-grid--3 > *,
.sc-home-grid--4 > *,
.sc-home-split > *,
.sc-footer-top > *{
  min-width:0;
}
.sc-card,
.sc-library-card,
.sc-team-mini,
.sc-result-mini,
.sc-home-mini-grid>div{
  overflow:hidden;
}
.sc-card img,
.sc-library-card img,
.sc-team-mini img{
  display:block;
  width:100%;
}
.sc-btn,
.sc-header-cta,
.sc-menu-button,
button,
input[type="submit"]{
  min-height:44px;
}
input,textarea,select,button{
  max-width:100%;
  font:inherit;
}
textarea{
  resize:vertical;
}
table{
  width:100%;
  max-width:100%;
}
.sc-table-wrap,
.wp-block-table{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.sc-entry-content,
.sc-card__body,
.sc-library-card__body,
.sc-news-card,
.sc-team-mini{
  overflow-wrap:anywhere;
  word-break:normal;
}
.sc-entry-content pre,
.sc-entry-content code{
  max-width:100%;
  overflow-x:auto;
}
.sc-entry-content iframe,
.sc-entry-content embed,
.sc-entry-content object{
  max-width:100%;
}

/* Tablets and smaller laptops */
@media (max-width:1024px){
  .sc-container,
  .sc-header-wrap{
    width:min(100% - 28px, 960px)!important;
  }
  .sc-section{
    padding-block:56px;
  }
  .sc-home-hero__grid{
    gap:34px;
  }
  .sc-home-grid--4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .sc-footer-top{
    grid-template-columns:1fr 1fr;
    gap:28px;
  }
}

/* Main mobile/tablet navigation */
@media (max-width:900px){
  .sc-site-header{
    position:sticky!important;
    top:0;
    z-index:9999;
  }
  .admin-bar .sc-site-header{
    top:32px!important;
  }
  .sc-header-wrap{
    width:calc(100% - 24px)!important;
    min-height:70px!important;
    gap:12px!important;
  }
  .sc-site-logo img,
  .sc-logo img,
  .custom-logo{
    max-height:52px!important;
    width:auto!important;
  }
  .sc-menu-button{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    flex:0 0 44px;
    width:44px;
    height:44px;
    margin-left:auto;
    cursor:pointer;
  }
  .sc-primary-nav{
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:70px!important;
    bottom:0!important;
    width:100%!important;
    max-height:calc(100dvh - 70px)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    padding:18px 18px 28px!important;
    background:#fff!important;
    transform:translateX(100%);
    opacity:0;
    visibility:hidden;
    transition:transform .22s ease, opacity .22s ease, visibility .22s ease;
    box-shadow:0 18px 35px rgba(17,61,97,.14);
  }
  .admin-bar .sc-primary-nav{
    top:102px!important;
    max-height:calc(100dvh - 102px)!important;
  }
  .sc-primary-nav.is-open{
    display:block!important;
    transform:translateX(0);
    opacity:1;
    visibility:visible;
  }
  .sc-primary-nav .sc-nav__list,
  .sc-primary-nav ul{
    display:block!important;
    width:100%!important;
  }
  .sc-primary-nav li{
    width:100%!important;
    border-bottom:1px solid #e8eef2;
  }
  .sc-primary-nav li:last-child{
    border-bottom:0;
  }
  .sc-primary-nav .sc-nav__list>li>a,
  .sc-primary-nav a{
    width:100%!important;
    min-height:48px;
    display:flex!important;
    align-items:center;
    padding:12px 4px!important;
    font-size:1rem!important;
  }
  body.sc-menu-open{
    overflow:hidden;
  }

  .sc-home-hero__grid,
  .sc-home-split{
    grid-template-columns:1fr!important;
  }
  .sc-home-hero__content{
    max-width:none;
  }
  .sc-home-hero__visual{
    min-height:0!important;
  }
  .sc-home-hero__visual img{
    min-height:0!important;
    max-height:460px;
    object-fit:contain;
  }
  .sc-section-head{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:12px;
  }
  .sc-funder-strip__inner,
  .sc-about-funder{
    flex-direction:column;
    align-items:flex-start;
  }
  .sc-funder-strip__inner img,
  .sc-about-funder img{
    width:min(100%,360px)!important;
  }
  .sc-footer-top{
    grid-template-columns:1fr!important;
  }
  .sc-footer-links,
  .sc-footer-nav .sc-nav__list{
    justify-content:flex-start!important;
  }
}

/* Phones */
@media (max-width:680px){
  .sc-container,
  .sc-header-wrap{
    width:calc(100% - 24px)!important;
  }
  .sc-section{
    padding-block:42px;
  }
  .sc-home-hero{
    padding-block:32px 40px;
  }
  .sc-home-hero h1{
    font-size:clamp(2.1rem, 11vw, 3.25rem)!important;
    line-height:1.02;
  }
  h1{
    font-size:clamp(2rem, 10vw, 3rem);
  }
  h2{
    font-size:clamp(1.55rem, 7vw, 2.25rem);
  }
  h3{
    font-size:clamp(1.1rem, 5vw, 1.4rem);
  }
  .sc-home-stats,
  .sc-home-mini-grid,
  .sc-home-grid--3,
  .sc-home-grid--4,
  .sc-library-grid{
    grid-template-columns:1fr!important;
  }
  .sc-home-actions,
  .sc-btn-row,
  .sc-card-actions,
  .sc-library-card__actions{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .sc-home-actions .sc-btn,
  .sc-btn-row .sc-btn,
  .sc-card-actions .sc-btn,
  .sc-library-card__actions .sc-btn{
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .sc-home-cta__inner{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .sc-home-cta .sc-btn{
    width:100%;
    text-align:center;
  }
  .sc-footer{
    padding-bottom:calc(22px + env(safe-area-inset-bottom))!important;
  }
  .sc-footer-funder img{
    width:min(100%,280px);
  }
  .sc-team-mini__photo{
    width:96px;
    height:96px;
  }
}

/* Small phones */
@media (max-width:420px){
  .sc-container,
  .sc-header-wrap{
    width:calc(100% - 20px)!important;
  }
  .sc-header-wrap{
    min-height:64px!important;
  }
  .sc-primary-nav{
    top:64px!important;
    max-height:calc(100dvh - 64px)!important;
    padding-inline:14px!important;
  }
  .admin-bar .sc-primary-nav{
    top:110px!important;
    max-height:calc(100dvh - 110px)!important;
  }
  .sc-site-logo img,
  .sc-logo img,
  .custom-logo{
    max-height:46px!important;
    max-width:210px!important;
  }
  .sc-home-hero h1{
    font-size:clamp(1.9rem, 10.5vw, 2.65rem)!important;
  }
  .sc-card,
  .sc-library-card,
  .sc-team-mini,
  .sc-result-mini,
  .sc-home-mini-grid>div,
  .sc-about-funder,
  .sc-footer-funder{
    border-radius:12px;
  }
}

/* WordPress admin bar adjustment on narrow phones */
@media (max-width:782px){
  .admin-bar .sc-site-header{
    top:46px!important;
  }
}

/* Large desktop refinement */
@media (min-width:1440px){
  .sc-container,
  .sc-header-wrap{
    width:min(1240px, calc(100% - 64px))!important;
  }
  .sc-home-hero__grid{
    gap:72px;
  }
}


/* ======================================================================
   v3.9 — Header/menu + footer stability cleanup
   Final override layer intentionally neutralizes legacy shell rules.
   ====================================================================== */

/* HEADER */
.sc-site-header{
  position:sticky!important;
  top:0!important;
  z-index:99999!important;
  width:100%!important;
  background:#fff!important;
  border-bottom:1px solid var(--sc-border,#dce7ef)!important;
}
.admin-bar .sc-site-header{
  top:32px!important;
}
.sc-header-wrap{
  position:relative!important;
}

/* Desktop nav */
@media (min-width:901px){
  .sc-menu-button{
    display:none!important;
  }
  .sc-primary-nav{
    display:block!important;
    position:static!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    width:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
  }
  .sc-primary-nav .sc-nav__list,
  .sc-primary-nav ul{
    display:flex!important;
    align-items:center!important;
    width:auto!important;
  }
}

/* Mobile/tablet nav */
@media (max-width:900px){
  .sc-header-wrap{
    min-height:70px!important;
  }

  .sc-menu-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
    margin-left:auto!important;
    padding:10px!important;
    border:1px solid var(--sc-border,#dce7ef)!important;
    border-radius:12px!important;
    background:#f5fafd!important;
    box-shadow:none!important;
    cursor:pointer!important;
    -webkit-tap-highlight-color:transparent;
  }
  .sc-menu-button span{
    display:block!important;
    width:22px!important;
    height:2px!important;
    margin:3px 0!important;
    background:var(--sc-navy,#154d78)!important;
    border-radius:2px!important;
    transform-origin:center!important;
  }
  .sc-menu-button.is-open span:nth-child(1){
    transform:translateY(8px) rotate(45deg)!important;
  }
  .sc-menu-button.is-open span:nth-child(2){
    opacity:0!important;
  }
  .sc-menu-button.is-open span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg)!important;
  }

  /* Absolute positioning relative to the sticky header avoids
     WordPress admin-bar offset conflicts. */
  .sc-primary-nav{
    display:block!important;
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100dvh - 78px)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    padding:10px 14px 18px!important;
    background:#fff!important;
    border:1px solid var(--sc-border,#dce7ef)!important;
    border-top:0!important;
    border-radius:0 0 14px 14px!important;
    box-shadow:0 18px 34px rgba(17,61,97,.16)!important;
    transform:translateY(-8px)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease!important;
  }
  .sc-primary-nav.is-open{
    transform:translateY(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .sc-primary-nav .sc-nav__list,
  .sc-primary-nav ul{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .sc-primary-nav li{
    display:block!important;
    width:100%!important;
    border-bottom:1px solid #e8eef2!important;
  }
  .sc-primary-nav li:last-child{
    border-bottom:0!important;
  }
  .sc-primary-nav a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:48px!important;
    padding:11px 8px!important;
    border-radius:8px!important;
    font-size:15px!important;
    white-space:normal!important;
  }

  body.sc-menu-open{
    overflow:hidden!important;
  }
}

@media (max-width:782px){
  .admin-bar .sc-site-header{
    top:46px!important;
  }
}
@media (max-width:600px){
  /* WP admin bar may stop being fixed at very small widths. */
  body.admin-bar .sc-site-header{
    top:0!important;
  }
}

/* FOOTER — single clean layout */
.sc-footer{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:44px 0 24px!important;
  background:var(--sc-navy,#154d78)!important;
  color:#fff!important;
}
.sc-footer-simple{
  display:block!important;
  width:min(1180px,calc(100% - 32px))!important;
  margin-inline:auto!important;
}
.sc-footer-top{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,420px)!important;
  gap:40px!important;
  align-items:start!important;
  margin:0 0 30px!important;
}
.sc-footer-brand{
  min-width:0!important;
}
.sc-footer-brand img{
  display:block!important;
  width:auto!important;
  height:46px!important;
  max-width:220px!important;
  object-fit:contain!important;
  margin:0 0 12px!important;
}
.sc-footer-brand p{
  max-width:560px!important;
  margin:0!important;
  color:rgba(255,255,255,.78)!important;
  line-height:1.6!important;
}
.sc-footer-funder{
  margin:0!important;
  padding:18px 20px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:14px!important;
}
.sc-footer-funder img{
  display:block!important;
  width:min(100%,280px)!important;
  height:auto!important;
  max-height:82px!important;
  object-fit:contain!important;
  object-position:left center!important;
  padding:8px!important;
  margin:0 0 10px!important;
  background:#fff!important;
  border-radius:6px!important;
}
.sc-footer-funder p{
  margin:0!important;
  color:rgba(255,255,255,.84)!important;
}
.sc-footer-nav{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:20px 0!important;
  border-top:1px solid rgba(255,255,255,.16)!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
}
.sc-footer-nav .sc-footer-links,
.sc-footer-nav .sc-nav__list,
.sc-footer-links{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:10px 22px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.sc-footer-nav li{
  margin:0!important;
  padding:0!important;
}
.sc-footer-nav a,
.sc-footer-links a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:36px!important;
  padding:3px 0!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:650!important;
  opacity:.92!important;
}
.sc-footer-nav a:hover,
.sc-footer-links a:hover{
  opacity:1!important;
  text-decoration:underline!important;
  text-underline-offset:4px!important;
}
.sc-footer-copy{
  display:block!important;
  width:100%!important;
  margin:18px 0 0!important;
  padding:0!important;
  border:0!important;
  color:rgba(255,255,255,.64)!important;
  font-size:12px!important;
}

@media (max-width:760px){
  .sc-footer{
    padding:34px 0 22px!important;
  }
  .sc-footer-simple{
    width:calc(100% - 24px)!important;
  }
  .sc-footer-top{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .sc-footer-funder{
    width:100%!important;
  }
  .sc-footer-nav .sc-footer-links,
  .sc-footer-nav .sc-nav__list,
  .sc-footer-links{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px 18px!important;
  }
}

@media (max-width:420px){
  .sc-footer-nav .sc-footer-links,
  .sc-footer-nav .sc-nav__list,
  .sc-footer-links{
    grid-template-columns:1fr!important;
  }
}


/* ======================================================================
   v4.0 — definitive mobile menu drawer
   ====================================================================== */
:root{--sc-mobile-nav-top:70px}

.sc-mobile-menu-backdrop{
  display:none;
}

@media (max-width:900px){
  .sc-site-header{
    overflow:visible!important;
  }

  .sc-menu-button{
    position:relative!important;
    z-index:100003!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    margin-left:auto!important;
    padding:9px!important;
    border:1px solid #dce7ef!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 2px 8px rgba(13,60,126,.08)!important;
  }

  .sc-menu-button span{
    width:23px!important;
    height:2px!important;
    margin:3px 0!important;
    background:#0d3c7e!important;
    transition:transform .2s ease, opacity .2s ease!important;
  }
  .sc-menu-button.is-open span:nth-child(1){
    transform:translateY(8px) rotate(45deg)!important;
  }
  .sc-menu-button.is-open span:nth-child(2){
    opacity:0!important;
  }
  .sc-menu-button.is-open span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg)!important;
  }

  .sc-mobile-menu-backdrop{
    display:block;
    position:fixed!important;
    inset:var(--sc-mobile-nav-top) 0 0 0!important;
    z-index:100000!important;
    background:rgba(9,35,55,.42)!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease, visibility .2s ease;
  }
  .sc-mobile-menu-backdrop.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .sc-primary-nav{
    display:block!important;
    position:fixed!important;
    top:var(--sc-mobile-nav-top)!important;
    left:12px!important;
    right:12px!important;
    bottom:auto!important;
    width:auto!important;
    max-width:none!important;
    max-height:calc(100dvh - var(--sc-mobile-nav-top) - 16px)!important;
    margin:0!important;
    padding:10px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    z-index:100002!important;
    background:#fff!important;
    border:1px solid #dce7ef!important;
    border-radius:0 0 16px 16px!important;
    box-shadow:0 18px 42px rgba(9,35,55,.22)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-10px)!important;
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease!important;
  }

  .sc-primary-nav.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }

  .sc-primary-nav .sc-nav__list,
  .sc-primary-nav ul{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }

  .sc-primary-nav li{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border-bottom:1px solid #e9eff3!important;
  }
  .sc-primary-nav li:last-child{
    border-bottom:0!important;
  }

  .sc-primary-nav a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:50px!important;
    padding:12px 12px!important;
    color:#18384f!important;
    background:transparent!important;
    border-radius:9px!important;
    font-size:16px!important;
    font-weight:650!important;
    line-height:1.25!important;
    text-decoration:none!important;
    white-space:normal!important;
  }

  .sc-primary-nav a:hover,
  .sc-primary-nav .current-menu-item>a{
    color:#0d3c7e!important;
    background:#f2f7fa!important;
  }

  .sc-primary-nav .sub-menu{
    position:static!important;
    display:block!important;
    min-width:0!important;
    margin:0 0 7px!important;
    padding:0 0 0 16px!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  .sc-primary-nav .sub-menu a{
    min-height:44px!important;
    font-size:14px!important;
    font-weight:550!important;
  }

  body.sc-menu-open{
    overflow:hidden!important;
    touch-action:none;
  }
}

@media (max-width:480px){
  .sc-primary-nav{
    left:8px!important;
    right:8px!important;
    padding:8px!important;
    border-radius:0 0 14px 14px!important;
  }
  .sc-primary-nav a{
    min-height:48px!important;
    padding:11px 10px!important;
    font-size:15px!important;
  }
}


/* ======================================================================
   v4.2 — definitive header clickability / stacking fix
   ====================================================================== */

/* Prevent page sections, Elementor wrappers or decorative layers from
   intercepting clicks over the real site header. */
.sc-site-main{
  position:relative!important;
  z-index:1!important;
  isolation:auto!important;
}

.sc-site-header{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  min-height:0!important;
  z-index:2147483000!important;
  isolation:isolate!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  background:#ffffff!important;
  background-color:#ffffff!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  filter:none!important;
  transform:none!important;
  mix-blend-mode:normal!important;
  overflow:visible!important;
}

.sc-site-header::before,
.sc-site-header::after,
.sc-header-wrap::before,
.sc-header-wrap::after{
  pointer-events:none!important;
}

.sc-header-accent{
  position:relative!important;
  z-index:1!important;
  pointer-events:none!important;
}

.sc-header-wrap{
  position:relative!important;
  z-index:2!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  background:#ffffff!important;
}

.sc-brand-wrap,
.sc-brand,
.custom-logo-link,
.sc-primary-nav,
.sc-primary-nav ul,
.sc-primary-nav li,
.sc-primary-nav a,
.sc-menu-button{
  position:relative;
  z-index:3!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

.custom-logo-link{
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
}

.custom-logo-link img,
.sc-brand img{
  display:block!important;
  opacity:1!important;
  filter:none!important;
}

/* Desktop: normal in-flow header so nothing from the page can sit above it. */
@media (min-width:901px){
  .sc-site-header{
    position:relative!important;
    top:auto!important;
  }
  .sc-primary-nav{
    position:relative!important;
    z-index:4!important;
  }
  .sc-primary-nav a{
    cursor:pointer!important;
  }
}

/* Mobile: keep header sticky but force it above every page layer. */
@media (max-width:900px){
  .sc-site-header{
    position:sticky!important;
    top:0!important;
    z-index:2147483000!important;
  }

  .admin-bar .sc-site-header{
    top:32px!important;
  }

  .sc-menu-button{
    z-index:2147483003!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }

  .sc-primary-nav{
    z-index:2147483002!important;
    pointer-events:none!important;
  }

  .sc-primary-nav.is-open{
    pointer-events:auto!important;
  }

  .sc-mobile-menu-backdrop{
    z-index:2147483001!important;
  }
}

@media (max-width:782px){
  .admin-bar .sc-site-header{
    top:46px!important;
  }
}

@media (max-width:600px){
  body.admin-bar .sc-site-header{
    top:0!important;
  }
}

/* Safety: no hero/section overlay is ever allowed to capture the header area. */
.sc-home-hero,
.sc-hero,
.sc-section,
.elementor,
.elementor-section,
.elementor-element{
  --sc-header-layer:1;
}
