/*
Theme Name: Aurora Multicultural
Theme URI: https://www.auroramulticultural.org.au
Author: Aurora Multicultural Advisory Hub
Author URI: https://www.auroramulticultural.org.au
Description: A lightweight, easily configurable WordPress theme for Aurora Multicultural Advisory Hub Inc. Built for non-profits and community organisations, with built-in WooCommerce support (donations & shop) and native Mailchimp newsletter integration. No page builder or heavy framework required — all colours, contact details, social links and hero content are editable from the WordPress Customizer and simple per-page meta boxes.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
Author: Aurora Multicultural Advisory Hub
Text Domain: aurora
Tags: non-profit, charity, e-commerce, custom-menu, custom-logo, featured-images, translation-ready, block-styles, wide-blocks

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

aurora WordPress Theme is based on Underscores https://underscores.me/, (C) 2012-2023 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Design tokens, layout and components below are custom-built for Aurora Multicultural Advisory Hub.
*/

/* =========================================================
   Aurora Multicultural Advisory Hub — theme stylesheet
   ========================================================= */

:root {
  --green-dark:   #123527;
  --green:        #1c4d3a;
  --green-mid:    #2c6b52;
  --green-light:  #e7f0ea;
  --orange:       #e0632c;
  --orange-dark:  #c24f20;
  --teal:         #2f8a86;
  --teal-light:   #e3f3f2;
  --cream:        #faf8f2;
  --white:        #ffffff;
  --ink:          #223028;
  --ink-soft:     #55645c;
  --line:         #e4e1d6;

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;

  --shadow-sm: 0 2px 8px rgba(18, 53, 39, 0.08);
  --shadow-md: 0 10px 30px rgba(18, 53, 39, 0.12);

  --font-display: "Fraunces", "Iowan Old Style", "Georgia", serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--cream);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4 { font-family: var(--font-display); margin: 0 0 .5em; line-height: 1.15; font-weight: 700; }
p { margin: 0 0 1em; color: var(--ink-soft); }
button { font-family: inherit; cursor: pointer; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }

.container {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--orange);
}

.section {
  padding: 24px 0;
}
.section--tight { padding: 40px 0; }
.section--cream { background: var(--cream); }
.section--white { background: var(--white); }
.section--sage { background: var(--green-light); }
.section--dark {
  background: var(--green-dark);
  color: #eef4ef;
}
.section--dark p { color: #b9ccc0; }
.section--dark h2, .section--dark h3 { color: #fff; }

.section__head {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 40px;
}
.section__head h2 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); }
.section__head p { margin-bottom: 0; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 26px;
  border-radius: 999px;
  font-weight: 700;
  font-size: .92rem;
  border: 2px solid transparent;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
  white-space: nowrap;
}
.btn:hover { transform: translateY(-2px); }

.btn--orange { background: var(--orange); color: #fff; box-shadow: var(--shadow-sm); }
.btn--orange:hover { background: var(--orange-dark); }

.btn--outline { background: transparent; border-color: currentColor; color: inherit; }
.btn--outline:hover { background: rgba(255,255,255,.12); }

.btn--outline-dark { background: transparent; border-color: var(--green); color: var(--green); }
.btn--outline-dark:hover { background: var(--green); color: #fff; }

.btn--white { background: #fff; color: var(--green-dark); }
.btn--white:hover { background: var(--green-light); }

.btn--teal { background: var(--teal); color: #fff; }
.btn--teal:hover { background: #256e6a; }

.btn--sm { padding: 9px 18px; font-size: .82rem; }
.btn--block { width: 100%; }

.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  font-size: .88rem;
  color: var(--orange);
}
.link-arrow::after { content: "→"; transition: transform .15s ease; }
.link-arrow:hover::after { transform: translateX(4px); }

/* ---------- Header ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--line);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 24px;
  max-width: 1180px;
  margin: 0 auto;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
}
.brand__mark {
  width: 38px; height: 38px;
  border-radius: 50%;
  background: conic-gradient(from 200deg, var(--orange), #f2a15a, var(--teal), var(--green));
  flex-shrink: 0;
}
.brand__text { line-height: 1.1; }
.brand__text strong { display: block; font-size: 1.05rem; letter-spacing: .04em; color: var(--green-dark); }
.brand__text span { display: block; font-family: var(--font-body); font-size: .58rem; letter-spacing: .12em; color: var(--ink-soft); text-transform: uppercase; }

.nav {
  display: flex;
  align-items: center;
  gap: 26px;
}
.nav__list {
  display: flex;
  align-items: center;
  gap: 26px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav__list li { display: flex; align-items: center; }
.nav a, .nav__list a {
  font-size: .88rem;
  font-weight: 600;
  color: var(--ink);
  padding: 6px 2px;
  border-bottom: 2px solid transparent;
  transition: color .15s ease, border-color .15s ease;
}
.nav a:hover, .nav a.is-active, .nav__list a:hover, .nav__list li.current-menu-item > a { color: var(--orange); border-color: var(--orange); }

.header-actions { display: flex; align-items: center; gap: 14px; }

.nav-toggle {
  display: none;
  background: none;
  border: none;
  width: 40px; height: 40px;
  position: relative;
}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after {
  content: "";
  position: absolute;
  left: 8px; right: 8px;
  height: 2px;
  background: var(--green-dark);
}
.nav-toggle span { top: 19px; }
.nav-toggle span::before { top: -7px; }
.nav-toggle span::after { top: 7px; }

/* ---------- Hero ---------- */
.hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  min-height: 46vh;
}
.hero__bg {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
}
.hero__bg::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(18,53,39,.94) 0%, rgba(18,53,39,.78) 42%, rgba(18,53,39,.35) 100%);
}
.hero__inner {
  position: relative;
  max-width: 1180px;
  margin: 0 auto;
  padding: 80px 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  max-width: 620px;
}
.hero__eyebrow { color: #f5c9ab; }
.hero h1 { font-size: clamp(2.1rem, 4.4vw, 3.1rem); color: #fff; margin: 0; }
.hero p.lead { color: #dbe8df; font-size: 1.05rem; max-width: 520px; }
.hero__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 6px; }

.pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  margin-top: 34px;
}
.pill-row__item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .82rem;
  font-weight: 600;
  color: #e7efe9;
}
.pill-row__item .dot {
  width: 9px; height: 9px; border-radius: 50%; background: var(--orange);
  flex-shrink: 0;
}

/* ---------- Cards / Grids ---------- */
.grid {
  display: grid;
  gap: 22px;
}
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }
.grid--5 { grid-template-columns: repeat(5, 1fr); }
.grid--6 { grid-template-columns: repeat(6, 1fr); }

.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 26px 22px;
  box-shadow: var(--shadow-sm);
  transition: transform .18s ease, box-shadow .18s ease;
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }

.icon-badge {
  width: 52px; height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin-bottom: 16px;
  background: var(--green-light);
  color: var(--green);
}
.icon-badge--orange { background: #fbe4d7; color: var(--orange); }
.icon-badge--teal { background: var(--teal-light); color: var(--teal); }

.card h3 { font-size: 1.05rem; margin-bottom: 8px; }
.card p { font-size: .92rem; margin-bottom: 14px; }

.card--center { text-align: center; }
.card--center .icon-badge { margin-left: auto; margin-right: auto; }

.step-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--line);
  font-size: 1.4rem;
}

/* ---------- Stats strip ---------- */
.stats-strip {
  background: var(--green-dark);
  color: #fff;
  border-radius: var(--radius-lg);
  padding: 36px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  text-align: center;
}
.stats-strip__item strong { display: block; font-family: var(--font-display); font-size: 2rem; color: var(--orange); }
.stats-strip__item span { font-size: .82rem; color: #cfe0d5; }

/* ---------- Testimonials ---------- */
.testimonial {
  background: #fff;
  border-radius: var(--radius-md);
  padding: 24px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
}
.testimonial p { font-style: italic; color: var(--ink); }
.testimonial cite { font-style: normal; font-size: .82rem; font-weight: 700; color: var(--green); display: block; }
.testimonial cite span { display: block; font-weight: 500; color: var(--ink-soft); }

/* ---------- Forms ---------- */
.form-field { margin-bottom: 16px; }
.form-field label {
  display: block;
  font-size: .82rem;
  font-weight: 700;
  margin-bottom: 6px;
  color: var(--green-dark);
}
.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--line);
  font-family: inherit;
  font-size: .92rem;
  background: #fff;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: var(--teal);
  outline: none;
  box-shadow: 0 0 0 3px var(--teal-light);
}
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.checkbox-field { display: flex; align-items: flex-start; gap: 10px; font-size: .82rem; color: var(--ink-soft); margin-bottom: 18px; }
.checkbox-field input { width: 16px; height: 16px; margin-top: 3px; }

.panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 28px;
  box-shadow: var(--shadow-sm);
}

/* ---------- Accordion (FAQ) ---------- */
.accordion-item {
  border-bottom: 1px solid var(--line);
  padding: 16px 0;
}
.accordion-item summary {
  cursor: pointer;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  font-size: .95rem;
  color: var(--green-dark);
}
.accordion-item summary::-webkit-details-marker { display: none; }
.accordion-item summary::after { content: "+"; font-size: 1.3rem; color: var(--orange); }
.accordion-item[open] summary::after { content: "–"; }
.accordion-item p { margin-top: 10px; font-size: .9rem; }

/* ---------- Amount / donate chips ---------- */
.amount-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 18px; }
.amount-chip {
  border: 2px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
  padding: 14px 8px;
  text-align: center;
  font-weight: 700;
  color: var(--green-dark);
  transition: border-color .15s ease, background .15s ease;
}
.amount-chip.is-selected, .amount-chip:hover { border-color: var(--orange); background: #fef3ec; }

.toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 18px 0; }
.switch { width: 42px; height: 24px; border-radius: 999px; background: var(--line); position: relative; flex-shrink: 0; }
.switch::after { content: ""; position: absolute; width: 18px; height: 18px; border-radius: 50%; background: #fff; top: 3px; left: 3px; box-shadow: var(--shadow-sm); }

.pay-icons { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.pay-icons span {
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 6px 10px;
  font-size: .72rem;
  font-weight: 700;
  color: var(--ink-soft);
}

/* ---------- Capability model (radial diagram) ---------- */
.capability-model {
  position: relative;
  width: 100%;
  max-width: 460px;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  border-radius: 50%;
  border: 1px dashed var(--line);
}
.capability-model__center {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 25%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: conic-gradient(from 200deg, var(--orange), #f2a15a, var(--teal), var(--green));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.6rem;
  box-shadow: var(--shadow-md);
  z-index: 3;
}
.capability-model__node {
  position: absolute;
  width: 25%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  color: #fff;
  box-shadow: var(--shadow-sm);
  z-index: 2;
}
.capability-model__label {
  position: absolute;
  width: 130px;
  font-size: .78rem;
  font-weight: 700;
  color: var(--green-dark);
  text-align: center;
  line-height: 1.25;
  z-index: 1;
}
/* six nodes positioned around the circle, clock-face style */
.capability-model__node--1 { top: 2%; left: 50%; transform: translate(-50%, 0); background: var(--green); }
.capability-model__node--2 { top: 22%; left: 88%; transform: translate(-50%, -50%); background: var(--teal); }
.capability-model__node--3 { top: 68%; left: 88%; transform: translate(-50%, -50%); background: var(--orange); }
.capability-model__node--4 { top: 98%; left: 50%; transform: translate(-50%, -100%); background: var(--teal); }
.capability-model__node--5 { top: 68%; left: 12%; transform: translate(-50%, -50%); background: var(--green); }
.capability-model__node--6 { top: 22%; left: 12%; transform: translate(-50%, -50%); background: var(--orange); }

.capability-model__label--1 { top: -9%; left: 50%; transform: translateX(-50%); }
.capability-model__label--2 { top: 14%; left: 98%; }
.capability-model__label--3 { top: 64%; left: 98%; }
.capability-model__label--4 { top: 104%; left: 50%; transform: translateX(-50%); }
.capability-model__label--5 { top: 64%; left: -32%; }
.capability-model__label--6 { top: 14%; left: -32%; }

/* ---------- Numbered step row (How We Deliver) ---------- */
.step-row {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
}
.step-row__item {
  flex: 1 1 0;
  max-width: 220px;
  text-align: center;
  padding: 0 12px;
}
.step-row__circle {
  width: 56px; height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.3rem;
  margin: 0 auto 14px;
  box-shadow: var(--shadow-sm);
}
.step-row__item strong { display: block; font-size: .88rem; color: var(--green-dark); margin-bottom: 4px; }
.step-row__item p { font-size: .8rem; margin: 0; }
.step-row__connector {
  flex: 0 0 auto;
  width: 60px;
  margin-top: 27px;
  border-top: 2px dotted var(--line);
}

/* ---------- Sector icon grid ---------- */
.sector-grid {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  gap: 12px;
}
.sector-tile {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 16px 8px;
  text-align: center;
}
.sector-tile__icon { font-size: 1.3rem; margin-bottom: 8px; }
.sector-tile span { display: block; font-size: .72rem; font-weight: 700; color: var(--green-dark); }

/* ---------- Future program areas (small grid) ---------- */
.future-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.future-tile {
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 16px 10px;
  text-align: center;
}
.future-tile__icon { font-size: 1.15rem; margin-bottom: 6px; }
.future-tile span { display: block; font-size: .76rem; font-weight: 700; color: var(--ink); }

/* ---------- Teal panel (partner CTA) ---------- */
.panel--teal {
  background: var(--teal);
  color: #fff;
  border: none;
  position: relative;
  overflow: hidden;
}
.panel--teal h3 { color: #fff; }
.panel--teal p { color: #dff2f0; }
.panel--teal .btn--outline { border-color: rgba(255,255,255,.7); }

/* ---------- Program area card outcome list ---------- */
.outcome-label {
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin: 12px 0 8px;
}
.outcome-list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.outcome-list li { display: flex; gap: 8px; font-size: .8rem; color: var(--ink-soft); }
.outcome-list li::before { content: "•"; color: var(--orange); font-weight: 800; }

/* ---------- About: split hero ---------- */
.about-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--green-dark);
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin: 28px auto;
  max-width: 1180px;
}
.about-hero__body {
  padding: 56px 48px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
}
.about-hero__body h1 { color: #fff; font-size: clamp(1.9rem, 3.4vw, 2.5rem); position: relative; padding-top: 14px; }
.about-hero__body h1::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 52px; height: 3px;
  background: var(--orange);
}
.about-hero__body p { color: #cfe0d5; }
.about-hero__img { background-size: cover; background-position: center; min-height: 320px; }

/* ---------- Home: hero (image right, carousel + trust badges) ---------- */
.home-hero {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  background: var(--green-dark);
  align-items: stretch;
}
.home-hero__body {
  padding: 60px 44px 44px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
}
.home-hero__body h1 { color: #fff; font-size: clamp(2rem, 3.6vw, 2.75rem); margin: 0; }
.home-hero__body h1 .dot { color: var(--orange); }
.home-hero__body p { color: #cfe0d5; max-width: 480px; }
.home-hero__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 4px; }
.home-hero__trust { display: flex; gap: 26px; flex-wrap: wrap; margin-top: 20px; }
.home-hero__trust-item { display: flex; align-items: center; gap: 8px; font-size: .8rem; font-weight: 600; color: #eef4ef; }
.home-hero__trust-item .icon-circle { width: 30px; height: 30px; font-size: .85rem; background: rgba(255,255,255,.12); }

.home-hero__media { position: relative; overflow: hidden; }
.home-hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 320px; }
.home-hero__dots { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; }
.home-hero__dots span { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.5); }
.home-hero__dots span.is-active { background: var(--orange); width: 22px; border-radius: 6px; }

/* ---------- Who we are (logo mark + copy) ---------- */
.who-we-are { display: flex; gap: 20px; align-items: flex-start; }
.who-we-are__mark {
  width: 96px; height: 96px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--green-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
}

/* ---------- Feature icon row (What We Do) ---------- */
.feature-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}
.feature-row .card { padding: 22px 18px; }
.feature-row .icon-badge { width: 44px; height: 44px; font-size: 1.2rem; margin-bottom: 12px; }
.feature-row h3 { font-size: .92rem; }
.feature-row p { font-size: .8rem; margin: 0; }

/* ---------- Dark 3-col info band ---------- */
.info-band {
  background: var(--green-dark);
  border-radius: var(--radius-lg);
  padding: 34px 30px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}
.info-band__item { display: flex; gap: 14px; align-items: flex-start; }
.info-band__item .icon-circle { background: rgba(255,255,255,.1); width: 46px; height: 46px; font-size: 1.15rem; }
.info-band__item h3 { color: #fff; font-size: .96rem; margin-bottom: 4px; }
.info-band__item p { color: #bfd4c7; font-size: .82rem; margin: 0; }

/* ---------- Impact stats row (icon + number) ---------- */
.impact-stats {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}
.impact-stat { display: flex; align-items: center; gap: 12px; }
.impact-stat .icon-circle { flex-shrink: 0; width: 46px; height: 46px; font-size: 1.15rem; }
.impact-stat strong { display: block; font-family: var(--font-display); font-size: 1.5rem; color: var(--green-dark); line-height: 1.1; }
.impact-stat span { font-size: .78rem; color: var(--ink-soft); }

/* ---------- Partner logos row ---------- */
.partner-logos {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  align-items: center;
}
.partner-logo {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 20px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: .82rem;
  color: var(--ink-soft);
  text-align: center;
  min-height: 64px;
}

/* ---------- Get involved row ---------- */
.involved-row {
  display: grid;
  grid-template-columns: 1fr repeat(4, 1fr);
  gap: 22px;
}
.involved-row__item { display: flex; flex-direction: column; gap: 8px; }
.involved-row__item .icon-circle { width: 40px; height: 40px; font-size: 1rem; }
.involved-row__item h3 { font-size: .9rem; margin: 0; }
.involved-row__item p { font-size: .8rem; margin: 0; }

/* ---------- Home news cards ---------- */
.home-news { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }

/* ---------- Icon circles (vision / mission / values) ---------- */
.icon-circle {
  width: 60px; height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
  color: #fff;
}
.icon-circle--green { background: var(--green-dark); }
.icon-circle--orange { background: var(--orange); }

.icon-circle-outline {
  width: 56px; height: 56px;
  border-radius: 50%;
  border: 2px solid var(--green);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  margin: 0 auto 12px;
  background: #fff;
}
.icon-circle-outline--orange { border-color: var(--orange); }

.vision-mission-card {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: var(--cream);
  border-radius: var(--radius-md);
  padding: 26px;
}
.vision-mission-card h3 { margin-bottom: 8px; }
.vision-mission-card p { margin: 0; font-size: .92rem; }

/* ---------- Values grid ---------- */
.values-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}
.value-item { text-align: center; }
.value-item strong { display: block; font-size: .98rem; margin-bottom: 8px; }
.value-item strong.text-orange { color: var(--orange); }
.value-item strong.text-green { color: var(--green-dark); }
.value-item p { font-size: .82rem; margin: 0; }

/* ---------- Differentiator panel (dark, image + integrated approach) ---------- */
.diff-panel {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  background: var(--green-dark);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.diff-panel__img { background-size: cover; background-position: center; min-height: 260px; }
.diff-panel__body { padding: 40px 44px; color: #fff; }
.diff-panel__body h2 { color: #fff; }
.diff-panel__body p { color: #cfe0d5; }
.diff-panel__list {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  margin: 20px 0 6px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.15);
}
.diff-panel__list-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .82rem;
  font-weight: 600;
  color: #eef4ef;
  min-width: 150px;
}
.diff-panel__list-item .icon-circle { width: 38px; height: 38px; font-size: 1rem; background: rgba(255,255,255,.12); }

/* ---------- Numbered approach cards ---------- */
.approach-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 20px;
  align-items: start;
}
.approach-card {
  position: relative;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 30px 20px 22px;
  text-align: center;
}
.approach-card--accent { background: #fdeee2; border-color: #f6d6b9; }
.approach-card__badge {
  position: absolute;
  top: -16px; left: 20px;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--green-dark);
  color: #fff;
  font-weight: 800;
  font-size: .85rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-sm);
}
.approach-card--accent .approach-card__badge { background: var(--orange); }
.approach-card .icon-circle-outline { width: 60px; height: 60px; font-size: 1.5rem; margin-top: 6px; }
.approach-card h3 { font-size: 1rem; margin: 6px 0; }
.approach-card p { font-size: .84rem; margin: 0; }
.approach-connector { display: flex; align-items: center; justify-content: center; color: var(--line); font-size: 4.3rem; }

/* ---------- Partner / work-with icon row ---------- */
.worklist-grid {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 10px;
}
.worklist-item { text-align: center; }
.worklist-item span { display: block; font-size: .72rem; font-weight: 700; color: var(--green-dark); }

/* ---------- CTA band with photo ---------- */
.cta-band--photo { display: flex; align-items: center; gap: 26px; }
.cta-band--photo__img {
  width: 96px; height: 96px;
  border-radius: var(--radius-md);
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
}
.cta-band--photo__body { flex: 1 1 auto; }

/* ---------- Footer contact icons ---------- */
.footer-contact-item { display: flex; align-items: flex-start; gap: 10px; }
.footer-contact-item .ico { flex-shrink: 0; opacity: .85; }
.footer-flags { display: flex; gap: 8px; margin: 14px 0 10px; }
.footer-flags span {
  width: 34px; height: 24px;
  border-radius: 4px;
  display: inline-block;
  background: linear-gradient(180deg, #000 33%, #c00 33%, #c00 66%, #000 66%);
}
.footer-flags span.flag--torres { background: linear-gradient(180deg, #009de0 0 45%, #000 45% 55%, #009de0 55% 100%); }
.footer-ack-text { font-size: .76rem; color: #93ab9d; line-height: 1.4; }

/* ---------- Progress / steps (governance, pathway) ---------- */
.pathway {
  display: flex;
  align-items: stretch;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 6px;
}
.pathway__step {
  flex: 1 1 0;
  min-width: 150px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 20px 16px;
  text-align: center;
}
.pathway__step .icon-badge { margin: 0 auto 14px; }

.progress-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.progress-card {
  border-radius: var(--radius-md);
  padding: 20px;
  border: 1px solid var(--line);
  background: #fff;
}
.progress-card__tag {
  display: inline-block;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 12px;
}
.tag--done { background: var(--green-light); color: var(--green); }
.tag--progress { background: #fdeee2; color: var(--orange); }
.tag--active { background: var(--teal-light); color: var(--teal); }
.tag--planned { background: #f1eee2; color: var(--ink-soft); }

/* ---------- Org chart (leadership) ---------- */
.org-chart { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.org-node {
  background: var(--green-dark);
  color: #fff;
  padding: 10px 22px;
  border-radius: var(--radius-sm);
  font-weight: 700;
  font-size: .85rem;
}
.org-row { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
.org-row .org-node { background: var(--teal); }
.org-row + .org-row .org-node { background: var(--orange); }
.org-connector { width: 2px; height: 18px; background: var(--line); }

/* ---------- People cards ---------- */
.people-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.people-card { text-align: center; }
.people-card__avatar {
  width: 84px; height: 84px;
  border-radius: 50%;
  margin: 0 auto 14px;
  background: linear-gradient(135deg, var(--teal), var(--green));
}
.people-card strong { display: block; font-size: .98rem; color: var(--green-dark); }
.people-card span { display: block; font-size: .8rem; color: var(--ink-soft); }

/* ---------- Contact tiles ---------- */
.contact-tile {
  display: flex;
  gap: 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 22px;
  box-shadow: var(--shadow-sm);
}
.contact-tile .icon-badge { margin-bottom: 0; flex-shrink: 0; }

/* ---------- Map block ---------- */
.map-block {
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--line);
  min-height: 220px;
  background: linear-gradient(135deg, #d7e6dc, #bcd6c6);
  position: relative;
}
.map-pin {
  position: absolute; top: 44%; left: 50%;
  width: 34px; height: 34px;
  background: var(--orange);
  border-radius: 50% 50% 50% 0;
  transform: translate(-50%, -100%) rotate(-45deg);
  box-shadow: var(--shadow-md);
}

/* ---------- News ---------- */
.article-card { overflow: hidden; padding: 0; }
.article-card__img { height: 170px; background-size: cover; background-position: center; }
.article-card__body { padding: 18px 20px; }
.article-card__tag {
  display: inline-block;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: 8px;
}
.article-card h3 { font-size: 1rem; }
.article-card time { font-size: .76rem; color: var(--ink-soft); }

.featured-story {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--green-dark);
  color: #fff;
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: 40px;
}
.featured-story__img { background-size: cover; background-position: center; min-height: 260px; }
.featured-story__body { padding: 36px; display: flex; flex-direction: column; justify-content: center; gap: 12px; }
.featured-story h3 { color: #fff; font-size: 1.5rem; }

.category-chip {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 12px 16px;
  font-weight: 700;
  font-size: .88rem;
  color: var(--green-dark);
}

/* ---------- Newsletter band ---------- */
.newsletter-band {
  background: var(--green);
  border-radius: var(--radius-lg);
  padding: 30px 36px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.newsletter-form { display: flex; gap: 10px; flex-wrap: wrap; }
.newsletter-form input {
  padding: 12px 16px;
  border-radius: 999px;
  border: none;
  min-width: 240px;
}

/* ---------- Split hero-strip CTA ---------- */
.cta-band {
  background: var(--green-dark);
  border-radius: var(--radius-lg);
  padding: 34px 40px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.cta-band h3 { color: #fff; margin-bottom: 4px; }
.cta-band__actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* ---------- Footer ---------- */
.site-footer {
  background: var(--green-dark);
  color: #cfe0d5;
  padding: 56px 0 0;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 32px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.footer-brand .brand__text strong { color: #fff; }
.footer-brand .brand__text span { color: #a9c2b3; }
.footer-brand p { color: #a9c2b3; font-size: .86rem; margin: 14px 0 18px; }
.footer-social { display: flex; gap: 10px; }
.footer-social a {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center;
  font-size: .8rem;
  font-weight: 700;
}
.footer-social a:hover { background: var(--orange); }

.site-footer h4 { color: #fff; font-size: .85rem; letter-spacing: .05em; text-transform: uppercase; margin-bottom: 16px; }
.site-footer li { margin-bottom: 10px; font-size: .86rem; }
.site-footer a:hover { color: var(--orange); }

.footer-bottom {
  padding: 22px 0 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  font-size: .8rem;
  color: #93ab9d;
}
.footer-bottom__links { display: flex; gap: 18px; flex-wrap: wrap; }
.acknowledgement {
  padding: 18px 0;
  border-top: 1px solid rgba(255,255,255,.12);
  font-size: .78rem;
  color: #93ab9d;
  text-align: center;
}

/* ---------- Utilities ---------- */
.mt-0 { margin-top: 0; }
.text-center { text-align: center; }
.two-col {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 32px;
  align-items: start;
}
.two-col--reverse { grid-template-columns: .9fr 1.1fr; }
.badge-list { display: flex; flex-direction: column; gap: 10px; margin: 18px 0; }
.badge-list li { display: flex; align-items: flex-start; gap: 10px; font-size: .9rem; color: var(--ink-soft); }
.badge-list li::before { content: "✓"; color: var(--green); font-weight: 800; flex-shrink: 0; }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 1000px) {
  .grid--4, .stats-strip, .progress-grid { grid-template-columns: repeat(2, 1fr); }
  .grid--5, .grid--6 { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .people-grid { grid-template-columns: repeat(2, 1fr); }
  .sector-grid { grid-template-columns: repeat(5, 1fr); }
  .future-grid { grid-template-columns: repeat(3, 1fr); }
  .capability-model { max-width: 380px; }
  .capability-model__label--2, .capability-model__label--3 { left: 96%; width: 110px; }
  .capability-model__label--5, .capability-model__label--6 { left: -26%; width: 110px; }
  .values-grid { grid-template-columns: repeat(3, 1fr); row-gap: 30px; }
  .approach-grid { grid-template-columns: repeat(7, 1fr); row-gap: 34px; }
  .approach-connector { display: none; }
  .worklist-grid { grid-template-columns: repeat(5, 1fr); row-gap: 20px; }
  .about-hero, .diff-panel { grid-template-columns: 1fr; }
  .about-hero__img { min-height: 220px; order: -1; }
  .home-hero { grid-template-columns: 1fr; }
  .home-hero__media img { min-height: 260px; }
  .feature-row { grid-template-columns: repeat(3, 1fr); }
  .info-band { grid-template-columns: 1fr; }
  .impact-stats { grid-template-columns: repeat(3, 1fr); }
  .partner-logos { grid-template-columns: repeat(3, 1fr); }
  .involved-row { grid-template-columns: 1fr; }
  .home-news { grid-template-columns: repeat(2, 1fr); }
  .pub-grid, .mini-icon-row, .media-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 860px) {
  .nav { position: fixed; inset: 68px 0 auto 0; background: #fff; flex-direction: column; align-items: flex-start; padding: 18px 24px 24px; gap: 4px; border-bottom: 1px solid var(--line); box-shadow: var(--shadow-md); transform: translateY(-8px); opacity: 0; pointer-events: none; transition: opacity .18s ease, transform .18s ease; }
  .nav__list { flex-direction: column; align-items: flex-start; width: 100%; gap: 4px; }
  .nav__list li { width: 100%; }
  .nav a, .nav__list a { width: 100%; padding: 10px 0; }
  .site-header.is-open .nav { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .nav-toggle { display: block; }
  .header-actions .btn span.btn-label-full { display: none; }
  .two-col, .two-col--reverse { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .featured-story { grid-template-columns: 1fr; }
  .org-row { flex-direction: column; align-items: center; }
}

@media (max-width: 700px) {
  .grid--2, .grid--3, .grid--4, .grid--5, .grid--6, .stats-strip, .progress-grid, .amount-grid, .people-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr; gap: 26px; }
  .pathway { flex-direction: column; }
  .step-arrow { transform: rotate(90deg); }
  .hero__inner { padding: 60px 20px; }
  .cta-band, .newsletter-band { flex-direction: column; align-items: flex-start; }
  .sector-grid { grid-template-columns: repeat(3, 1fr); }
  .future-grid { grid-template-columns: repeat(2, 1fr); }
  .step-row { flex-direction: column; align-items: center; gap: 24px; }
  .step-row__item { max-width: 320px; }
  .step-row__connector { display: none; }
  .capability-model { display: none; }
  .capability-model-fallback { display: grid !important; }
  .values-grid { grid-template-columns: repeat(2, 1fr); }
  .approach-grid { grid-template-columns: 1fr; }
  .worklist-grid { grid-template-columns: repeat(3, 1fr); }
  .diff-panel__list { gap: 16px; }
  .cta-band--photo { flex-direction: row; }
  .feature-row { grid-template-columns: repeat(2, 1fr); }
  .home-news { grid-template-columns: 1fr; }
  .who-we-are { flex-direction: column; }
  .filter-bar select, .filter-bar input[type="search"] { flex: 1 1 100%; }
}

.capability-model-fallback {
  display: none;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.capability-model-fallback .category-chip { font-size: .82rem; }

@media (max-width: 480px) {
  .grid--2, .grid--3, .grid--4, .grid--5, .grid--6, .stats-strip, .progress-grid, .amount-grid, .people-grid { grid-template-columns: 1fr; }
  .values-grid, .worklist-grid { grid-template-columns: repeat(2, 1fr); }
  .section { padding: 44px 0; }
  .hero h1 { font-size: 1.8rem; }
  .container { padding: 0 18px; }
  .about-hero__body { padding: 36px 26px; }
  .diff-panel__body { padding: 30px 24px; }
  .pub-grid, .mini-icon-row, .media-grid { grid-template-columns: 1fr; }
  .cta-band--photo { flex-direction: column; align-items: flex-start; }
  .feature-row, .impact-stats, .partner-logos { grid-template-columns: repeat(2, 1fr); }
  .home-hero__body { padding: 44px 22px 34px; }
  .home-hero__trust { gap: 16px; }
}

/* =========================================================
   WordPress core / accessibility requirements
   ========================================================= */
.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute;
  width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #f1f1f1; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0,0,0,.6);
  clip: auto !important; clip-path: none; color: #21759b; display: block; font-size: .9rem;
  font-weight: 700; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px;
  text-decoration: none; top: 5px; width: auto; z-index: 100000;
}
.skip-link {
  position: absolute; top: -60px; left: 6px; background: var(--green-dark); color: #fff;
  padding: 10px 18px; border-radius: 0 0 8px 8px; z-index: 100001; transition: top .2s ease;
}
.skip-link:focus { top: 0; }

img { height: auto; max-width: 100%; }
.alignwide { max-width: 1400px; margin-left: auto; margin-right: auto; }
.alignfull { width: 100%; max-width: none; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: .8rem; color: var(--ink-soft); text-align: center; margin-top: 6px; }
.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 20px 0; }
.gallery img { border-radius: var(--radius-sm); }

/* admin bar offset for sticky header */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

/* ---------- Article / blog content ---------- */
.entry-content { font-size: 1rem; }
.entry-content h2 { margin-top: 1.6em; }
.entry-content h3 { margin-top: 1.4em; }
.entry-content p, .entry-content ul, .entry-content ol { margin-bottom: 1.2em; }
.entry-content ul, .entry-content ol { padding-left: 1.4em; color: var(--ink-soft); }
.entry-content a { color: var(--teal); text-decoration: underline; }
.entry-content blockquote {
  border-left: 3px solid var(--orange);
  margin: 1.6em 0; padding: .4em 0 .4em 1.4em; font-style: italic; color: var(--ink-soft);
}
.entry-meta { display: flex; gap: 14px; flex-wrap: wrap; font-size: .82rem; color: var(--ink-soft); margin-bottom: 18px; }
.entry-meta a { color: var(--orange); font-weight: 700; }

.post-thumb-wrap { border-radius: var(--radius-md); overflow: hidden; margin-bottom: 24px; }
.post-thumb-wrap img { width: 100%; }

/* ---------- Pagination ---------- */
.pagination-nav {
  display: flex; justify-content: center; gap: 8px; margin: 40px 0 0; flex-wrap: wrap;
}
.pagination-nav a, .pagination-nav span {
  min-width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
  border-radius: 8px; border: 1px solid var(--line); font-weight: 700; font-size: .85rem; color: var(--green-dark);
  padding: 0 10px;
}
.pagination-nav .current { background: var(--green-dark); color: #fff; border-color: var(--green-dark); }
.pagination-nav a:hover { border-color: var(--orange); color: var(--orange); }

/* ---------- Comments ---------- */
.comments-area { max-width: 760px; margin: 0 auto; }
.comment-list { list-style: none; margin: 0; padding: 0; }
.comment-body { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); padding: 20px; margin-bottom: 16px; }
.comment-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.comment-author .avatar { border-radius: 50%; }
.comment-reply-link { font-size: .78rem; font-weight: 700; color: var(--orange); }
.comment-respond input[type="text"], .comment-respond input[type="email"], .comment-respond input[type="url"], .comment-respond textarea {
  width: 100%; padding: 12px 14px; border-radius: var(--radius-sm); border: 1px solid var(--line); font-family: inherit; margin-bottom: 14px;
}

/* ---------- Widgets (footer widget areas) ---------- */
.widget { margin-bottom: 28px; }
.widget-title { color: #fff; font-size: .85rem; letter-spacing: .05em; text-transform: uppercase; margin-bottom: 16px; font-family: var(--font-body); font-weight: 800; }
.widget ul { list-style: none; margin: 0; padding: 0; }
.widget li { margin-bottom: 10px; font-size: .86rem; }
.widget a { color: #cfe0d5; }
.widget a:hover { color: var(--orange); }
.widget select, .widget input { width: 100%; padding: 8px 10px; border-radius: 6px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.05); color: #fff; }

/* ---------- Mailchimp newsletter form ---------- */
.aurora-newsletter-form { display: flex; gap: 10px; flex-wrap: wrap; }
.aurora-newsletter-form input[type="email"] {
  padding: 12px 16px; border-radius: 999px; border: none; min-width: 240px; flex: 1 1 240px;
}
.aurora-newsletter-form button { flex-shrink: 0; }
.aurora-newsletter-msg { width: 100%; font-size: .82rem; margin-top: 8px; }
.aurora-newsletter-msg.is-success { color: #bfe6c8; }
.aurora-newsletter-msg.is-error { color: #f5c2b8; }

/* ---------- WooCommerce ---------- */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; list-style: none; margin: 0 0 40px; padding: 0; }
.woocommerce ul.products li.product {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md);
  padding: 18px; box-shadow: var(--shadow-sm); transition: transform .18s ease, box-shadow .18s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.woocommerce ul.products li.product img { border-radius: var(--radius-sm); margin-bottom: 14px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--font-display); font-size: 1rem; color: var(--green-dark); margin: 6px 0; }
.woocommerce ul.products li.product .price { color: var(--orange); font-weight: 800; }
.woocommerce ul.products li.product .price del { color: var(--ink-soft); opacity: .6; font-weight: 400; }
.woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit,
.woocommerce input.button, .woocommerce #payment #place_order {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 24px; border-radius: 999px; font-weight: 700; font-size: .88rem;
  background: var(--orange); color: #fff !important; border: none; transition: background .15s ease, transform .15s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--orange-dark); transform: translateY(-2px); }
.woocommerce span.onsale {
  background: var(--green-dark); border-radius: 999px; font-weight: 800; font-size: .7rem; padding: 4px 10px; top: 12px; left: 12px;
}
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--orange); font-size: 1.4rem; font-weight: 800; }
.woocommerce div.product .woocommerce-tabs { margin-top: 40px; }
.woocommerce table.shop_table { border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--line); }
.woocommerce table.shop_table th { background: var(--green-light); color: var(--green-dark); }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
  background: var(--teal-light); border-top-color: var(--teal); border-radius: var(--radius-sm); padding: 16px 20px !important;
}
.woocommerce-error { background: #fdeee2; border-top-color: var(--orange); }
.woocommerce-checkout #payment { background: var(--cream); border-radius: var(--radius-md); }
.woocommerce-cart table.cart img { border-radius: var(--radius-sm); }
.woocommerce .quantity input.qty {
  border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 10px; width: 70px;
}
.woocommerce-billing-fields input, .woocommerce-billing-fields select,
.woocommerce-additional-fields textarea, .woocommerce-shipping-fields input, .woocommerce-shipping-fields select {
  padding: 12px 14px; border-radius: var(--radius-sm); border: 1px solid var(--line); font-family: inherit;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block; padding: 10px 14px; border-radius: var(--radius-sm); font-weight: 700; color: var(--green-dark);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--green-light); }

/* Product donation "amount" variation buttons reuse .amount-chip from donate page */
.woocommerce div.product form.cart .variations select { padding: 10px 14px; border-radius: var(--radius-sm); border: 1px solid var(--line); }

/* ---------- Resources: publication cards ---------- */
.pub-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.pub-card { text-align: center; }
.pub-card__cover {
  height: 150px;
  border-radius: var(--radius-sm);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: .95rem;
  padding: 14px;
  text-align: center;
  line-height: 1.3;
}
.pub-card__meta { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: .74rem; color: var(--ink-soft); margin: 6px 0 12px; }
.pub-card__meta span { background: var(--cream); border-radius: 999px; padding: 3px 9px; font-weight: 700; }

/* ---------- Resources: mini icon item (research / toolkits / funding / community) ---------- */
.mini-icon-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.mini-icon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 18px 10px;
  transition: transform .15s ease, box-shadow .15s ease;
}
.mini-icon-item:hover { transform: translateY(-3px); box-shadow: var(--shadow-sm); }
.mini-icon-item span.label { font-size: .78rem; font-weight: 700; color: var(--green-dark); }

.list-link-row { display: flex; flex-direction: column; }
.list-link-row a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 4px;
  border-bottom: 1px solid var(--line);
  font-size: .88rem;
  font-weight: 600;
  color: var(--ink);
}
.list-link-row a:last-child { border-bottom: none; }
.list-link-row a:hover { color: var(--orange); }
.list-link-row a .icon-badge { width: 34px; height: 34px; font-size: 1rem; margin: 0; }
.list-link-row a::after { content: "→"; margin-left: auto; color: var(--orange); }

/* ---------- Resources: multimedia grid ---------- */
.media-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.media-item { text-align: center; }
.media-item__thumb {
  height: 110px;
  border-radius: var(--radius-sm);
  background-size: cover;
  background-position: center;
  margin-bottom: 10px;
  position: relative;
}
.media-item__thumb::after {
  content: "▶";
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1.2rem;
  background: rgba(18,53,39,.25);
  border-radius: var(--radius-sm);
}
.media-item span { font-size: .84rem; font-weight: 700; color: var(--green-dark); }

/* ---------- Resources: search / filter bar ---------- */
.filter-bar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.filter-bar input[type="search"] {
  flex: 2 1 220px;
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--line);
  font-family: inherit;
}
.filter-bar select {
  flex: 1 1 130px;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--line);
  font-family: inherit;
  background: #fff;
}


@media (max-width: 1000px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .woocommerce ul.products { grid-template-columns: 1fr; } }

/* ---------- Search results ---------- */
.search-form { display: flex; gap: 10px; margin: 20px 0 40px; }
.search-form input[type="search"] { flex: 1 1 auto; padding: 12px 16px; border-radius: var(--radius-sm); border: 1px solid var(--line); }
.no-results { text-align: center; padding: 60px 0; }

/* ---------- 404 ---------- */
.error-404 { text-align: center; padding: 80px 0; }
.error-404 h1 { font-size: 5rem; color: var(--orange); margin-bottom: 0; }


/* ---------- Single post layout ---------- */
.single-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 40px;
  align-items: start;
}
.single-layout--full { grid-template-columns: 1fr; max-width: 780px; margin: 0 auto; }
.entry-header { max-width: 780px; margin: 0 auto 28px; text-align: center; }
.entry-header .eyebrow { display: block; margin-bottom: 10px; }
.entry-header h1 { font-size: clamp(1.8rem, 3.4vw, 2.4rem); margin-bottom: 14px; }
.entry-meta { justify-content: center; }
.entry-meta .avatar { border-radius: 50%; vertical-align: middle; margin-right: 6px; }
 
.single-hero-img {
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: 34px;
  max-height: 440px;
}
.single-hero-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
 
/* ---------- Share row ---------- */
.share-row { display: flex; align-items: center; gap: 10px; margin: 34px 0; padding-top: 24px; border-top: 1px solid var(--line); }
.share-row span.label { font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-soft); margin-right: 4px; }
.share-row a {
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--green-light); color: var(--green-dark);
  display: flex; align-items: center; justify-content: center;
  font-size: .85rem; font-weight: 700;
}
.share-row a:hover { background: var(--orange); color: #fff; }
 
/* ---------- Tag row ---------- */
.tag-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.tag-row a {
  font-size: .76rem; font-weight: 700; color: var(--green-dark);
  background: var(--cream); border: 1px solid var(--line);
  border-radius: 999px; padding: 6px 14px;
}
.tag-row a:hover { border-color: var(--orange); color: var(--orange); }
 
/* ---------- Author box ---------- */
.author-box {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: var(--cream);
  border-radius: var(--radius-md);
  padding: 24px;
  margin: 34px 0;
}
.author-box img { border-radius: 50%; flex-shrink: 0; }
.author-box h3 { font-size: .95rem; margin-bottom: 4px; }
.author-box p { font-size: .86rem; margin: 0; }
 
/* ---------- Related posts ---------- */
.related-posts-heading { text-align: center; margin: 56px 0 24px; }
 
/* ---------- Archive: category filter chips ---------- */
.archive-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 34px;
}
.archive-filter-row a {
  font-size: .82rem;
  font-weight: 700;
  padding: 9px 18px;
  border-radius: 999px;
  border: 1px solid var(--line);
  color: var(--green-dark);
  background: #fff;
}
.archive-filter-row a:hover, .archive-filter-row a.is-active {
  background: var(--green-dark);
  border-color: var(--green-dark);
  color: #fff;
}
 
@media (max-width: 1000px) {
  .single-layout { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .author-box { flex-direction: column; align-items: center; text-align: center; }
  .share-row { flex-wrap: wrap; }
}
 







.site-branding {
    display: flex;
    align-items: center;
    gap: 10px;
}

.custom-logo {
    width: 90px;
    height: auto;
    display: block;
}


.hero__inner {
  position: relative;
  max-width: 1180px;
  margin: 0px 100px;
  padding: 80px 42px 40px 51px;
  display: inline-flex;
  flex-direction: column;
  gap: 18px;
  max-width: 620px;
}

 
        
.impact_banner {
    text-align: center;
    padding: 20px;
}

.impact_banner img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

    


.blog-layout {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 50px;
}

.site-main {
    flex: 1;
    min-width: 0;
}

.sidebar {
    width: 320px;
    flex-shrink: 0;
}

.sidebar .widget {
    margin-bottom: 30px;
    padding: 20px;
    background: #f8f8f8;
    border-radius: 8px;
}

.sidebar .widget-title {
    font-size: 22px;
    margin-bottom: 15px;
}

.sidebar .panel {
    border: 0;
    border-radius: 0;
}

/* Mobile */
@media (max-width: 900px) {

    .blog-layout {
        flex-direction: column;
    }

    .sidebar {
        width: 100%;
    }
    
       .hero__inner {
        margin: 0;
        padding: 40px 20px 30px;
        max-width: 100%;
        width: 100%;
        display: flex;
        box-sizing: border-box;
    }

}

@media (max-width: 768px) {
 
}


/* Navugation */
/* Category Navigation */
.wp-block-categories {
    list-style: none;
    margin: 0;
    padding: 0;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    overflow: hidden;
}

.wp-block-categories li {
    margin: 0;
    border-bottom: 1px solid #f0f0f0;
}

.wp-block-categories li:last-child {
    border-bottom: none;
}

.wp-block-categories li a {
    display: block;
    padding: 14px 18px;
    color: #333;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    text-transform: capitalize;
    transition: all 0.25s ease;
}

.wp-block-categories li a:hover {
    background: #0f5fa8;
    color: #fff;
    padding-left: 24px;
}

/* Current category */
.wp-block-categories .current-cat > a,
.wp-block-categories .current-cat-parent > a {
    background: #0f5fa8;
    color: #fff;
    font-weight: 600;
}


/* Latest Posts Navigation */
.wp-block-latest-posts {
    list-style: none;
    margin: 0;
    padding: 0;
}

.wp-block-latest-posts li {
    margin-bottom: 8px;
}

.wp-block-latest-posts li:last-child {
    margin-bottom: 0;
}

.wp-block-latest-posts li a {
    display: flex;
    align-items: flex-start;
    padding: 12px 16px;
    background: #f7f8fa;
    border-radius: 8px;
    color: #333;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
    transition: all .25s ease;
}

.wp-block-latest-posts li a::before {
    content: "📰";
    margin-right: 10px;
    font-size: 16px;
    line-height: 1.4;
    flex-shrink: 0;
}

.wp-block-latest-posts li a:hover {
    background: #0f5fa8;
    color: #fff;
    transform: translateX(4px);
}

.wp-block-latest-posts li a:hover::before {
    filter: brightness(0) invert(1);
}