/* Beyond Borders Initiative: shared styles for every page */
/* ---------- Tokens: night-forest dark, savanna gold, white (with burnt orange as a small accent) ---------- */
:root {
  --bg: #ffffff;
  --bg-tint: #fdf5e3;
  --ink: #1a0b03;
  --ink-soft: #4d3e34;
  --line: rgba(26, 11, 3, 0.16);
  --gold-deep: #d9911a;
  --ember: #d06008;
  --ember-text: #a54900;
  --gold: #f8b838;
  --night: #1a0b03;
  --link: #8a5200;
  --focus: #b36b00;
  --plate: transparent;
  --plate-pad: 0px;

  --display: "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;
  --body: "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;
  --wrap: 1200px;
  --gutter: clamp(1.25rem, 4vw, 3rem);
  --header-h: 72px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #8a5a1e;
    --bg-tint: #24160a;
    --ink: #f8eee2;
    --ink-soft: #cfbfae;
    --line: rgba(255, 255, 255, 0.18);
    --ember-text: #ffa54d;
    --link: #f8b838;
    --focus: #f8b838;
    --plate: #ffffff;
    --plate-pad: 14px;
  }
}
:root[data-theme="dark"] {
  --bg: #8a5a1e;
  --bg-tint: #24160a;
  --ink: #f8eee2;
  --ink-soft: #cfbfae;
  --line: rgba(255, 255, 255, 0.18);
  --ember-text: #ffa54d;
  --link: #f8b838;
  --focus: #f8b838;
  --plate: #ffffff;
  --plate-pad: 14px;
}

/* ---------- Base ---------- */
:root {
  box-sizing: border-box;
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
html { scroll-padding-top: calc(env(safe-area-inset-top, 0px) + var(--header-h) + 8px); }
*, *::before, *::after { box-sizing: inherit; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--body);
  font-size: 1.0625rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--link); }
h1, h2, h3 { font-family: var(--display); font-weight: 600; line-height: 1.15; margin: 0; letter-spacing: -0.008em; }
h1, h2 { font-weight: 600; letter-spacing: -0.012em; }
h1, h2 { font-size: clamp(1.9rem, 3.6vw, 2.9rem); text-wrap: balance; }
h3 { font-size: clamp(1.35rem, 2vw, 1.7rem); }
p { margin: 0 0 1.1em; max-width: 68ch; }
ul { margin: 0; padding: 0; list-style: none; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 4px; }

.wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: clamp(4rem, 8vw, 7rem); }
.tint { background: var(--bg-tint); }

.skip {
  position: absolute; left: 1rem; top: -4rem; z-index: 100;
  background: var(--night); color: #fff; padding: .6rem 1rem; border-radius: 6px;
}
.skip:focus { top: calc(env(safe-area-inset-top, 0px) + .75rem); }

/* Logo plate: keeps the logo legible when the viewer is in dark mode */
.plate { background: var(--plate); padding: var(--plate-pad); border-radius: 22px; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-block; font: 700 1rem/1 var(--body);
  padding: 1rem 1.6rem; border-radius: 999px; text-decoration: none;
  border: 2px solid transparent; cursor: pointer;
  transition: background-color .2s, color .2s, border-color .2s;
}
.btn-gold { background: var(--gold); color: var(--night); }
.btn-gold:hover { background: #ffc85c; }
.btn-line { border-color: var(--ink); color: var(--ink); background: transparent; }
.btn-line:hover { background: var(--ink); color: var(--bg); }
.btn-dark { background: var(--night); color: #fff; }
.btn-dark:hover { background: #3a1a08; }

/* ---------- Header ---------- */
.site-header {
  position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50;
  background: var(--bg); border-bottom: 1px solid var(--line);
}
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; height: var(--header-h); gap: 1rem; }
.brand { display: flex; align-items: center; gap: .75rem; text-decoration: none; color: var(--ink); }
.brand img { width: 44px; height: auto; }
.brand-text { display: flex; flex-direction: column; line-height: 1.05; }
.brand-name { font-family: var(--display); font-size: 1.3rem; color: var(--ember-text); }
.brand-sub { font-weight: 700; font-size: .8rem; letter-spacing: .06em; text-transform: none; color: var(--ink-soft); }
.nav { display: flex; align-items: center; gap: clamp(1rem, 2vw, 1.75rem); }
.nav a:not(.btn) { color: var(--ink); text-decoration: none; font-weight: 600; font-size: .98rem; padding: .35rem 0; border-bottom: 2px solid transparent; }
.nav a:not(.btn):hover { border-bottom-color: var(--gold); }
.nav .btn { padding: .75rem 1.2rem; font-size: .95rem; }
.nav-toggle { display: none; background: none; border: 2px solid var(--ink); color: var(--ink); border-radius: 10px; padding: .5rem .8rem; font: 700 .95rem var(--body); cursor: pointer; }
@media (max-width: 1020px) {
  .nav-toggle { display: inline-block; }
  .nav {
    display: none; position: absolute; left: 0; right: 0; top: 100%;
    flex-direction: column; align-items: stretch; gap: 0;
    background: var(--bg); border-bottom: 1px solid var(--line); padding: .75rem var(--gutter) 1.25rem;
  }
  .nav.open { display: flex; }
  .nav a:not(.btn) { padding: .9rem 0; border-bottom: 1px solid var(--line); }
  .nav .btn { margin-top: 1rem; text-align: center; }
}

/* ---------- Hero ---------- */
.hero { overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.hero h1 { font-size: clamp(2.35rem, 5.2vw, 4.3rem); text-wrap: balance; margin-bottom: 1.5rem; }
.hero .lead { font-size: clamp(1.1rem, 1.6vw, 1.3rem); color: var(--ink-soft); max-width: 56ch; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2rem; }
.hero-art { justify-self: center; width: min(100%, 560px); }
.hero-band { padding-block: clamp(3rem, 7vw, 6rem); background: #8a5a1e; overflow: hidden; }
.hero-band > .wrap { position: relative; z-index: 1; }


.hero-map { margin: 0; }
.hero-map img { width: 100%; filter: drop-shadow(0 0 1.5px #fff) drop-shadow(0 0 1.5px #fff) drop-shadow(0 8px 22px rgba(0, 0, 0, .45)); }
.pillar-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 2.5vw, 2rem); margin-top: clamp(3rem, 6vw, 5rem); padding-bottom: clamp(3rem, 6vw, 5rem); }
.pillar-links a { display: block; text-decoration: none; color: var(--ink); border-top: 6px solid var(--c); padding-top: 1rem; }
.pillar-links strong { display: block; font-family: var(--display); font-weight: 600; font-size: 1.25rem; line-height: 1.2; margin-bottom: .35rem; }
.pillar-links span { color: var(--ink-soft); font-size: .98rem; line-height: 1.5; display: block; }
.pillar-links a:hover strong { text-decoration: underline; text-decoration-color: var(--c); text-decoration-thickness: 3px; text-underline-offset: 4px; }
.p1 { --c: var(--ink); } .p2 { --c: var(--ember); } .p3 { --c: var(--gold); }
@media (max-width: 860px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-art { order: -1; width: min(72%, 340px); }
  .pillar-links { grid-template-columns: 1fr; }
}

/* ---------- Case for action ---------- */
.case-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.case h2 { margin-bottom: 2rem; }
.gaps li { border-left: 6px solid var(--c); padding: .15rem 0 .15rem 1.25rem; margin-bottom: 1.5rem; max-width: 60ch; }
.gaps li:last-child { margin-bottom: 0; }
.stat-card { border: 2px solid var(--ink); border-radius: 16px; padding: clamp(1.5rem, 3vw, 2.25rem); }
.stat-big { font-family: var(--display); font-size: clamp(2.6rem, 5vw, 3.8rem); line-height: 1; color: var(--ember-text); }
.stat-cap { margin: .5rem 0 1.75rem; color: var(--ink-soft); }
.bars { display: grid; gap: 1rem; }
.bar-label { display: flex; justify-content: space-between; font-weight: 700; margin-bottom: .3rem; }
.bar-track { background: var(--line); border-radius: 6px; height: 2rem; }
.bar-fill { height: 100%; border-radius: 6px; width: var(--w); background: var(--fill); }
.stat-note { font-size: .88rem; color: var(--ink-soft); margin: 1rem 0 0; }
.diaspora { margin-top: 1.75rem; }
@media (max-width: 860px) { .case-grid { grid-template-columns: 1fr; } }

/* ---------- Mission and vision (dawn) ---------- */
.dawn { position: relative; overflow: hidden; color: #fff; background: linear-gradient(180deg, #0b0401 0%, #1f0e05 45%, #3d1d08 100%); }
.dawn .wrap { position: relative; z-index: 2; padding-top: clamp(4rem, 8vw, 7rem); padding-bottom: clamp(11rem, 24vw, 22rem); }
.dawn-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 6vw, 6rem); }
.dawn h2 { color: var(--gold); font-size: clamp(1.7rem, 3vw, 2.4rem); margin-bottom: 1rem; }
.dawn p { font-size: clamp(1.25rem, 2.1vw, 1.65rem); line-height: 1.45; font-weight: 500; max-width: 30ch; margin: 0; }
.dawn-art { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: clamp(230px, 30vw, 420px); z-index: 1; display: block; }
@media (max-width: 760px) { .dawn-grid { grid-template-columns: 1fr; } .dawn p { max-width: 36ch; } }

/* ---------- Pillars ---------- */
.pillars-head { margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.pillar { display: grid; grid-template-columns: 5.5rem 1fr 1.5fr; gap: clamp(1rem, 3vw, 3rem); border-top: 8px solid var(--c); padding-block: clamp(1.75rem, 3vw, 2.75rem); }
.pillar + .pillar { margin-top: 0; }
.pillar:last-child { border-bottom: 1px solid var(--line); }
.pillar-num { font-family: var(--display); font-size: clamp(3.5rem, 6vw, 5rem); line-height: .9; color: var(--c); }
.pillar h3 { align-self: start; }
.pillar.p3 .pillar-num { color: var(--gold-deep); }
.pillar p { margin: 0; }
.pillar-photo { grid-column: 2; grid-row: 2; margin: .9rem 0 0; }
.pillar:has(.pillar-photo) > p { grid-column: 3; grid-row: 2; align-self: start; margin-top: .9rem; }
.pillar:has(.pillar-photo) { grid-template-rows: auto 1fr; row-gap: 0; }
.pillar:has(.pillar-photo) .pillar-num { grid-row: 1 / span 2; }
.pillar-photo img { display: block; width: 100%; height: auto; border-radius: 14px; }
.pillar-photo figcaption { margin-top: .5rem; font-size: .9rem; color: var(--ink-soft); }
@media (max-width: 900px) { .pillar-photo, .pillar:has(.pillar-photo) > p { grid-column: auto; grid-row: auto; margin-top: 0; } }
@media (max-width: 900px) { .pillar:has(.pillar-photo) { grid-template-rows: none; row-gap: .75rem; } .pillar:has(.pillar-photo) .pillar-num { grid-row: auto; } }
@media (max-width: 900px) {
  .pillar { grid-template-columns: 1fr; gap: .75rem; }
  .pillar-num { font-size: 3.2rem; }
}

/* ---------- Proof ---------- */
.proof { background: #8a5a1e; color: #f8eee2; }
.proof-grid { display: grid; grid-template-columns: 1fr 1.7fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.proof-intro { position: sticky; top: calc(env(safe-area-inset-top, 0px) + var(--header-h) + 2rem); }
.proof h2 { color: var(--gold); margin-bottom: 1.25rem; }
.proof-intro p { color: #d9c7b4; }
.evidence > li { display: grid; grid-template-columns: minmax(6.5rem, 9rem) 1fr; gap: 1.5rem; padding-block: 2rem; border-top: 1px solid rgba(255, 255, 255, 0.2); }
.evidence > li:first-child { border-top: 0; padding-top: 0; }
.evidence .fig { font-family: var(--display); font-size: clamp(3rem, 5.4vw, 4.6rem); line-height: .95; color: var(--c); }
.evidence h3 { font-size: 1.25rem; margin-bottom: .6rem; color: #fff; }
.evidence p { color: #e3d3c1; margin-bottom: .8rem; max-width: 60ch; }
.evidence p:last-child { margin-bottom: 0; }
.evidence-video { margin: 1.25rem 0 0; }
.evidence-video video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #000; border-radius: 12px; border: 1px solid rgba(255,255,255,.2); }
.evidence-video figcaption { margin-top: .5rem; font-size: .9rem; color: #d9c7b4; }
.evidence .fig-gold { --c: var(--gold); } .evidence .fig-sun { --c: #ffd27a; } .evidence .fig-orange { --c: #ff8a2b; } .evidence .fig-blue { --c: #f3e3c3; }
.partners { list-style: none; padding: .9rem 1.25rem; margin: .9rem 0 1.2rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-evenly; gap: .9rem 1.75rem; background: #fff; border-radius: 16px; }
.partners li { display: flex; align-items: center; justify-content: center; height: auto; padding: 0; background: none; border-radius: 0; }
.partners img { display: block; width: auto; height: 3.9rem; max-width: 11.5rem; object-fit: contain; }
@media (max-width: 600px) { .partners { gap: .75rem 1.25rem; padding: .8rem 1rem; } .partners img { height: 3.2rem; max-width: 9rem; } }
.next-cohort { margin-top: 1.5rem; background: var(--gold); color: var(--night); border-radius: 16px; padding: 1.5rem 1.75rem; font-weight: 600; font-size: 1.15rem; line-height: 1.5; }
@media (max-width: 900px) {
  .proof-grid { grid-template-columns: 1fr; }
  .proof-intro { position: static; }
  .evidence > li { grid-template-columns: 1fr; gap: .5rem; }
}

/* ---------- Network ---------- */
.net-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.net-art { width: 100%; max-width: 560px; justify-self: center; }
.net-art svg { width: 100%; height: auto; display: block; }
.net h2 { margin-bottom: 1.25rem; }
.rings { margin-top: 1.75rem; display: grid; gap: 1.25rem; }
.rings li { display: grid; grid-template-columns: 1.2rem 1fr; gap: 1rem; align-items: start; }
.rings i { width: 1.2rem; height: 1.2rem; border-radius: 50%; background: var(--c); margin-top: .3rem; border: 2px solid var(--ink); }
.rings strong { display: block; }
.rings span { color: var(--ink-soft); }
@media (max-width: 860px) { .net-grid { grid-template-columns: 1fr; } .net-art { order: 2; } }

/* ---------- Run + Outcomes ---------- */
.run-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.hours { font-family: var(--display); font-size: clamp(3.4rem, 7vw, 5.5rem); line-height: 1; color: var(--ember-text); margin: 1.5rem 0 .5rem; }
.run-list li { padding-block: 1.4rem; border-top: 1px solid var(--line); }
.run-list li:first-child { border-top: 2px solid var(--ink); }
.run-list li:last-child { border-bottom: 1px solid var(--line); }
.run-list h3 { font-size: 1.25rem; margin-bottom: .4rem; }
.run-list p { margin: 0; color: var(--ink-soft); }
.outcomes { margin-top: clamp(3.5rem, 7vw, 6rem); }
.outcomes h2 { margin-bottom: 2rem; }
.outcome-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem clamp(1.5rem, 4vw, 4rem); }
.outcome-grid li { border-top: 6px solid var(--c); padding-top: 1rem; }
.outcome-grid p { margin: 0; }
@media (max-width: 860px) { .run-grid, .outcome-grid { grid-template-columns: 1fr; } }

/* ---------- Team ---------- */
.team h1, .team h2 { margin-bottom: .75rem; }
.team .sub { color: var(--ink-soft); margin-bottom: 2.5rem; }
.people { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 1.25rem; }
.person div { min-width: 0; }
.person { display: flex; gap: 1rem; align-items: center; background: var(--bg); border: 1px solid var(--line); border-radius: 14px; padding: 1.1rem 1.25rem; }
.mono { flex: none; width: 4.75rem; height: 4.75rem; border-radius: 50%; display: grid; place-items: center; font-family: var(--display); font-size: 1.5rem; background: var(--c); color: var(--night); }
.mono.dk { background: var(--night); color: var(--gold); border: 2px solid var(--gold); }
.person b { display: block; line-height: 1.25; }
.person div span { display: block; color: var(--ink-soft); font-size: .95rem; line-height: 1.4; }

/* ---------- Founder ---------- */
.founder-grid { display: grid; grid-template-columns: 1fr 1.6fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.founder h2 { margin-bottom: 1rem; }
.founder .name { font-family: var(--display); font-size: clamp(1.6rem, 2.6vw, 2.1rem); color: var(--ember-text); line-height: 1.15; margin-bottom: .5rem; }
.roles { margin-top: 2rem; border-top: 2px solid var(--ink); }
.roles li { padding: .85rem 0; border-bottom: 1px solid var(--line); }
.roles b { display: block; }
.roles span { color: var(--ink-soft); font-size: .96rem; }
@media (max-width: 860px) { .founder-grid { grid-template-columns: 1fr; } }

/* ---------- Closing ---------- */
.closing { background: linear-gradient(135deg, #f9c455 0%, #f8b838 45%, #d9911a 100%); color: var(--night); }
.closing blockquote { margin: 0 0 1.5rem; font-family: var(--display); font-size: clamp(1.9rem, 4.2vw, 3.4rem); line-height: 1.15; max-width: 22ch; text-wrap: balance; }
.closing p { font-size: 1.2rem; max-width: 60ch; }
.join { margin-top: 2.5rem; }
.join h2 { font-size: 1.4rem; margin-bottom: 1.1rem; }
.join-links { display: flex; flex-wrap: wrap; gap: .8rem; }
.closing :focus-visible { outline-color: var(--night); }


/* ---------- Contact details ---------- */
.contact-list { margin-top: 2.25rem; display: grid; gap: .9rem; grid-template-columns: repeat(auto-fit, minmax(260px, max-content)); column-gap: clamp(2rem, 6vw, 5rem); }
.contact-list b { display: block; font-size: .95rem; }
.contact-list a { color: var(--night); font-weight: 700; font-size: 1.2rem; text-underline-offset: 4px; text-decoration-thickness: 2px; overflow-wrap: anywhere; }
.contact-list a:hover { text-decoration-color: var(--ember); }
.foot-contact { margin: .9rem 0 0; display: grid; gap: .2rem; }
.foot-contact a { color: var(--ink); font-weight: 600; overflow-wrap: anywhere; }

.btn-dark { font-family: var(--body); }
.form-card {
  border: 1px solid var(--line); border-radius: 22px; overflow: hidden;
  background: var(--bg); color: var(--ink);
}
.form-inner { padding: clamp(1.5rem, 4vw, 2.25rem); border-top: 8px solid var(--gold); }
.form-inner h2, .form-inner h1 { font-size: clamp(1.5rem, 3vw, 2rem); margin-bottom: .5rem; padding-right: 2.5rem; }
.form-inner > p, .form-inner form > p { color: var(--ink-soft); }
.field { margin-bottom: 1.1rem; }
.field label { display: block; font-weight: 700; margin-bottom: .35rem; font-size: .98rem; }
.field label small { font-weight: 500; color: var(--ink-soft); }
.field input, .field select, .field textarea {
  width: 100%; font: inherit; color: var(--ink); background: var(--bg);
  border: 2px solid var(--ink-soft); border-radius: 10px; padding: .8rem .9rem;
}
.field input, .field select { min-height: 3.4rem; }
.field textarea { min-height: 8.5rem; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 3px solid var(--focus); outline-offset: 1px; border-color: var(--ink); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
@media (max-width: 520px) { .field-row { grid-template-columns: 1fr; } }
.form-actions { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; margin-top: 1.4rem; }
.form-note { font-size: .92rem; color: var(--ink-soft); margin: 1rem 0 0; }
.form-done[hidden], .form-inner form[hidden] { display: none; }
.form-done .btn { margin: .25rem .6rem .5rem 0; }
.btn-gold { font-family: var(--body); }

/* ---------- Floating WhatsApp button ---------- */
.wa-float {
  position: fixed; z-index: 60;
  right: calc(env(safe-area-inset-right, 0px) + 1.1rem);
  bottom: calc(env(safe-area-inset-bottom, 0px) + 1.1rem);
  display: flex; align-items: center; flex-direction: row-reverse; gap: 0;
  height: 3.75rem; padding: 0; border-radius: 999px;
  background: #25d366; color: #0b2e13; text-decoration: none; font-weight: 700;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28);
  transition: padding .25s, gap .25s;
}
.wa-float svg { width: 3.75rem; height: 3.75rem; padding: .85rem; flex: none; fill: #fff; }
.wa-float .wa-label { max-width: 0; overflow: hidden; white-space: nowrap; transition: max-width .3s ease; }
.wa-float:hover .wa-label, .wa-float:focus-visible .wa-label { max-width: 22rem; }
.wa-float:hover, .wa-float:focus-visible { padding-left: 1.25rem; background: #1fbd5b; }
.wa-float:focus-visible { outline-color: var(--night); outline-offset: 4px; }

/* ---------- Footer ---------- */
.site-footer { padding-block: 3rem; }
.foot { display: grid; grid-template-columns: auto 1fr; gap: clamp(1.5rem, 5vw, 4rem); align-items: center; }
.foot img { width: clamp(150px, 20vw, 210px); }
.foot p { margin: 0 0 .5rem; color: var(--ink-soft); }
.foot-heading { margin: 1rem 0 .5rem; font-size: 1.15rem; line-height: 1.2; }
.foot-contact { margin: 0; display: flex; flex-direction: column; gap: .4rem; }
.foot-contact a { display: inline-flex; align-items: center; gap: .55rem; }
.foot-contact .ico { flex: none; }
.foot-nav { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 1rem 0 0; }
.foot-nav a { color: var(--ink); font-weight: 600; }
.foot-nav .credit { display: inline-flex; align-items: center; gap: .5rem; }
.credit-logo { display: inline-flex; background: #fff; border-radius: 8px; padding: 3px; line-height: 0; }
.credit-logo img { height: 2.25rem; width: auto; display: block; }
@media (max-width: 640px) { .foot { grid-template-columns: 1fr; } }

/* ---------- Logo watermark ---------- */
.watermark { position: fixed; inset: 0; z-index: 40; pointer-events: none;
  background: url("images/logo-watermark.webp") center / min(70vmin, 560px) no-repeat;
  opacity: .07; }
@media print { .watermark { position: absolute; } }

/* ---------- Team profiles ---------- */
.person.has-profile { position: relative; cursor: pointer; transition: border-color .15s, box-shadow .15s, transform .15s; }
.person.has-profile:hover { border-color: var(--gold-deep); box-shadow: 0 6px 20px rgba(26,11,3,.08); transform: translateY(-2px); }
.person-open { color: inherit; text-decoration: none; }
.person-open::after { content: ""; position: absolute; inset: 0; border-radius: 14px; }
.person-open:focus-visible { outline: none; }
.person.has-profile:focus-within { outline: 3px solid var(--focus); outline-offset: 3px; }
.person div .person-more { color: var(--link); font-size: .85rem; font-weight: 600; margin-top: .3rem; }
/* ---------- Founder card + message page ---------- */
.founder-card { display: flex; align-items: center; gap: 1rem; margin-top: 1rem; padding: .85rem 1.1rem .85rem .85rem; border: 1.5px solid var(--ink); border-radius: 18px; background: var(--bg); color: var(--ink); text-decoration: none; transition: background .15s, transform .15s, box-shadow .15s; }
.founder-card:hover { background: var(--bg-tint); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(26,11,3,.1); }
.founder-card:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.founder-card img { flex: none; width: 72px; height: 72px; border-radius: 50%; object-fit: cover; border: 3px solid var(--gold); }
.fc-body { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.fc-body strong { font-size: 1.05rem; }
.fc-text { font-size: .92rem; line-height: 1.45; color: var(--ink-soft); display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fc-more { font-size: .85rem; font-weight: 700; color: var(--ember-text); }
.msg-back { padding-top: 1.25rem; padding-bottom: .25rem; }
.msg-page .profile-body { padding-top: 1rem; }
.msg-page .profile-text p { max-width: 68ch; }
.msg-sign { margin-top: 1.75rem !important; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.profile-close { font: 600 .95rem var(--body); color: var(--ink); background: var(--bg); border: 1.5px solid var(--ink); border-radius: 999px; padding: .55rem 1.1rem; cursor: pointer; }
.profile-close:hover { background: var(--ink); color: var(--bg); }
.profile-body { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter) clamp(3rem, 6vw, 5rem); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(1.5rem, 5vw, 4.5rem); align-items: start; }
.profile-photo { margin: 0; position: sticky; top: 5rem; }
.profile-photo img { display: block; width: 100%; height: auto; max-height: calc(100vh - 7rem); object-fit: cover; object-position: top; border-radius: 18px; border-bottom: 8px solid var(--gold); }
.profile-role { display: inline-block; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ember-text); margin-bottom: .75rem; }
.profile-text h1, .profile-text h2 { margin: 0 0 .5rem; }
.profile-org { color: var(--ink-soft); font-weight: 500; margin: 0 0 1.75rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--line); }
.profile-text p { font-size: 1.08rem; line-height: 1.7; margin: 0 0 1.1rem; max-width: 62ch; }
.profile-tags { list-style: none; padding: 0; margin: 1.75rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.profile-tags li { font-size: .88rem; border: 1px solid var(--line); border-radius: 999px; padding: .35rem .8rem; background: var(--bg-tint); }
@media (max-width: 800px) {
  .profile-body { grid-template-columns: 1fr; }
  .profile-photo { position: static; }
  .profile-photo img { max-height: 70vh; }
}

/* ---------- Team hover cards ---------- */
.people .person { cursor: pointer; }
.person-pop { position: fixed; z-index: 85; width: min(540px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: hidden; display: grid; grid-template-columns: 190px 1fr; background: var(--bg); color: var(--ink); border: 1px solid var(--line); border-top: 6px solid var(--gold); border-radius: 16px; box-shadow: 0 18px 50px rgba(26,11,3,.22); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility 0s linear .15s; pointer-events: none; }
.person-pop.show { opacity: 1; visibility: visible; transform: none; transition: opacity .15s, transform .15s; }
.person-pop.no-bio { width: min(300px, calc(100vw - 32px)); grid-template-columns: 1fr; }
.person-pop .pp-photo { background: var(--bg-tint); min-height: 220px; }
.person-pop .pp-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.person-pop.no-bio .pp-photo { height: 280px; }
.person-pop .pp-initials { width: 100%; height: 100%; min-height: 220px; display: grid; place-items: center; font: 600 3.5rem var(--display); background: var(--night); color: var(--gold); }
.person-pop .pp-text { padding: 1.1rem 1.25rem 1.25rem; overflow-y: auto; }
.person-pop .pp-name { font: 600 1.2rem/1.25 var(--display); margin: 0 0 .2rem; }
.person-pop .pp-role { font-size: .78rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--ember-text); margin: 0 0 .75rem; }
.person-pop .pp-bio p { font-size: .86rem; line-height: 1.55; margin: 0 0 .6rem; color: var(--ink-soft); }
.person-pop .pp-hint { font-size: .8rem; font-weight: 600; color: var(--link); margin: .25rem 0 0; }
@media (max-width: 560px) {
  .person-pop { grid-template-columns: 1fr; }
  .person-pop .pp-photo { height: 240px; min-height: 0; }
  .person-pop .pp-photo img { object-position: center 15%; }
}
@media (prefers-reduced-motion: reduce) { .person-pop, .person-pop.show { transition: none; transform: none; } }

/* ---------- Evidence video (below the text) ---------- */
.proof-video { margin: clamp(2.5rem, 5vw, 4rem) 0 0; position: relative; z-index: 45; }
.proof-video video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #000; border-radius: 16px; border: 1px solid rgba(255,255,255,.2); }
.proof-video figcaption { margin-top: .6rem; font-size: .92rem; color: #d9c7b4; text-align: center; }
@media (max-width: 600px) { .proof-video video { border-radius: 10px; } .proof-video { margin-inline: calc(var(--gutter) * -0.5); } }

/* ---------- Multi-page additions ---------- */
.nav a[aria-current="page"]:not(.btn) { border-bottom-color: var(--ember); }
.page-head { padding-top: clamp(3rem, 6vw, 5rem); padding-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.page-head h1 { font-size: clamp(2.35rem, 5vw, 4rem); text-wrap: balance; margin-bottom: 1.25rem; }
.page-head .lead { font-size: clamp(1.1rem, 1.6vw, 1.3rem); color: var(--ink-soft); max-width: 56ch; margin: 0; }
.page-head + .section { padding-top: clamp(2rem, 4vw, 3rem); }
.proof-intro .btn { margin-top: .5rem; }
a.profile-close { display: inline-block; text-decoration: none; }
.msg-back { padding-top: clamp(1.5rem, 3vw, 2.5rem); }
.contact-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.contact-grid .contact-list { margin-top: 0; grid-template-columns: 1fr; }
.contact-grid .contact-list a { color: var(--ink); }
.contact-grid .contact-list a:hover { text-decoration-color: var(--ember); }
.contact-grid .contact-aside .btn { margin-top: 1.75rem; }
@media (max-width: 860px) { .contact-grid { grid-template-columns: 1fr; } }

/* Make the hidden attribute always win over component display rules */
[hidden] { display: none !important; }

/* ---------- Typography: Source Serif 4 ---------- */
.brand-name { font-weight: 700; letter-spacing: -0.01em; }
.stat-big, .pillar-num, .evidence .fig, .hours { font-weight: 600; letter-spacing: -0.02em; }
.founder .name, .mono { font-weight: 600; }
.closing blockquote { font-weight: 500; letter-spacing: -0.015em; }

/* ---------- Photo banners on every page ---------- */
.page-band {
  --band-shade: linear-gradient(100deg, rgba(112, 70, 18, .72) 0%, rgba(112, 70, 18, .5) 48%, rgba(112, 70, 18, .2) 100%);
  position: relative; color: #fff; border-bottom: 8px solid var(--gold);
  background-repeat: no-repeat; background-size: cover;
}
.page-band h1 { color: #fff; }
.page-band .lead { color: #ecdfce; }
.page-band .btn-line { border-color: #fff; color: #fff; }
.page-band .btn-line:hover { background: #fff; color: var(--night); }
.page-band :focus-visible { outline-color: var(--gold); }
.page-head.page-band { padding-block: clamp(3.5rem, 8vw, 6.5rem); }
.page-head.page-band + .section { padding-top: clamp(2.5rem, 5vw, 4rem); }
.band-slim { padding-block: clamp(2.25rem, 6vw, 4rem); }
.band-slim .msg-back { padding-block: 0; }
.msg-page .profile-body { padding-top: clamp(1.75rem, 4vw, 3rem); }

/* ---------- Slideshow behind every banner ---------- */
.page-band { background: #8a5a1e; overflow: hidden; }
.page-band > .wrap { position: relative; z-index: 1; }
.band-slides { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.band-slides::after { content: ""; position: absolute; inset: 0; background: var(--band-shade); }
.band-slides span {
  position: absolute; inset: 0; opacity: 0;
  background-size: cover; background-repeat: no-repeat;
  animation: bandSlide 30s linear infinite; will-change: opacity, transform;
}
.band-slides span:nth-child(1) { animation-delay: -1.5s; }
.band-slides span:nth-child(2) { animation-delay: 4.5s; }
.band-slides span:nth-child(3) { animation-delay: 10.5s; }
.band-slides span:nth-child(4) { animation-delay: 16.5s; }
.band-slides span:nth-child(5) { animation-delay: 22.5s; }
.band-slides .i-group       { background-image: url("images/bg-group.webp");       background-position: center 36%; }
.band-slides .i-speaker     { background-image: url("images/bg-speaker.webp");     background-position: center 22%; }
.band-slides .i-celebration { background-image: url("images/bg-celebration.webp"); background-position: center 46%; }
.band-slides .i-flags       { background-image: url("images/bg-flags.webp");       background-position: center 55%; }
.band-slides .i-hall        { background-image: url("images/bg-hall.webp");        background-position: center 60%; }
@keyframes bandSlide {
  0%   { opacity: 0; transform: scale(1); }
  5%   { opacity: 1; }
  20%  { opacity: 1; }
  25%  { opacity: 0; transform: scale(1.1); }
  100% { opacity: 0; transform: scale(1.1); }
}
@media (prefers-reduced-motion: reduce) {
  .band-slides span { animation: none; transform: none; }
  .band-slides span:nth-child(1) { opacity: 1; }
}

/* ---------- Team: large portrait cards ---------- */
.team-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 2rem; }
.member {
  position: relative; display: flex; flex-direction: column; overflow: hidden;
  flex: 0 1 100%; background: var(--bg); border: 1px solid var(--line); border-radius: 20px;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
@media (min-width: 620px) { .member { flex-basis: calc((100% - 2rem) / 2); } }
@media (min-width: 980px) { .member { flex-basis: calc((100% - 4rem) / 3); } }
.member-photo { aspect-ratio: 4 / 5; overflow: hidden; background: var(--bg-tint); }
.member-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .5s ease; }
.member-photo.placeholder { display: grid; place-items: center; background: var(--night); }
.member-photo.placeholder span { font-family: var(--display); font-weight: 600; font-size: clamp(4rem, 9vw, 6rem); color: var(--gold); letter-spacing: .02em; }
.member-body { padding: 1.5rem 1.5rem 1.75rem; border-top: 6px solid var(--gold); text-align: center; flex: 1; }
.member-name { font-size: clamp(1.35rem, 2.2vw, 1.7rem); line-height: 1.15; }
.member-name a { color: inherit; text-decoration: none; }
.member-open::after { content: ""; position: absolute; inset: 0; }
.member-open:focus-visible { outline: none; }
.member:has(.member-open:focus-visible) { outline: 3px solid var(--focus); outline-offset: 3px; }
.member-role { margin: .6rem auto .35rem; font-size: .8rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--ember-text); }
.member-cred { margin: 0 auto .5rem; color: var(--ink-soft); font-size: .98rem; }
.member-more { display: inline-block; margin-top: .5rem; font-weight: 700; color: var(--link); }
.member.has-profile:hover { border-color: var(--gold-deep); box-shadow: 0 14px 40px rgba(26, 11, 3, .16); transform: translateY(-4px); }
.member.has-profile:hover .member-photo img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) { .member, .member-photo img { transition: none; } .member.has-profile:hover { transform: none; } }

/* ================= Glass panels over photo backgrounds ================= */
body { background: #8a5a1e; }
.page-bg { position: fixed; inset: 0; z-index: -1; background: #8a5a1e center / cover no-repeat; }
.page-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(112, 70, 18, .22) 0%, rgba(112, 70, 18, .45) 100%); }
.page-bg.i-group       { background-image: url("images/bg-group.webp");       background-position: center 30%; }
.page-bg.i-speaker     { background-image: url("images/bg-speaker.webp");     background-position: center 25%; }
.page-bg.i-celebration { background-image: url("images/bg-celebration.webp"); background-position: center 45%; }
.page-bg.i-flags       { background-image: url("images/bg-flags.webp");       background-position: center 55%; }
.page-bg.i-hall        { background-image: url("images/bg-hall.webp");        background-position: center 55%; }

.glass, .member, .form-card, .profile-text, .site-footer {
  --ink: #f8eee2; --ink-soft: #dccbb8; --line: rgba(255, 255, 255, .26);
  --ember-text: #ffa54d; --link: #f8b838; --focus: #f8b838;
  color: var(--ink);
}
.glass, .member, .form-card, .profile-text {
  background: rgba(118, 74, 20, .56);
  -webkit-backdrop-filter: blur(16px) saturate(1.2); backdrop-filter: blur(16px) saturate(1.2);
  border: 1px solid rgba(255, 255, 255, .3);
  box-shadow: 0 2px 4px rgba(0, 0, 0, .22), 0 10px 22px rgba(0, 0, 0, .3), 0 28px 56px rgba(0, 0, 0, .38),
    inset 0 1px 0 rgba(255, 255, 255, .22);
}
.glass { border-radius: 26px; padding: clamp(1.4rem, 3.2vw, 2.5rem); }
.profile-text { border-radius: 26px; padding: clamp(1.4rem, 3.2vw, 2.5rem); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .glass, .member, .form-card, .profile-text { background: rgba(118, 74, 20, .82); }
}

/* sections no longer paint their own backgrounds; the photo shows through */
.tint, .proof, .closing { background: transparent; }
.closing { color: inherit; }
.closing :focus-visible { outline-color: var(--gold); }
.dawn { background: transparent; padding-block: clamp(1rem, 2vw, 1.5rem); }
.dawn .wrap { padding-block: 0; }
.dawn-art { display: none; }
.dawn p { font-size: clamp(1.1rem, 1.7vw, 1.4rem); max-width: 34ch; }

/* tighter rhythm: blocks sit close together inside their panel and between panels */
.section { padding-block: clamp(.9rem, 1.8vw, 1.4rem); }
.page-head.page-band + .section { padding-top: clamp(1.75rem, 3.5vw, 2.5rem); }
main > :last-child { padding-bottom: clamp(2rem, 4vw, 3rem); }
.glass p { margin-bottom: .8em; }
.glass p:last-child { margin-bottom: 0; }
.pillar-links { margin-top: clamp(1.25rem, 2.5vw, 2rem); padding-bottom: clamp(1.4rem, 3.2vw, 2.5rem); }
.pillar-links a { border-top-width: 5px; padding-top: .8rem; }
.case h2 { margin-bottom: 1.25rem; }
.gaps li { margin-bottom: 1rem; }
.diaspora { margin-top: 1.25rem; }
.dawn-grid { gap: clamp(1.5rem, 4vw, 3.5rem); }
.net-grid, .case-grid, .proof-grid { gap: clamp(1.5rem, 4vw, 3.5rem); }
.pillar { padding-block: clamp(1.1rem, 2vw, 1.6rem); }
.evidence > li { padding-block: 1.25rem; }
.proof-video { margin-top: 1.5rem; }
.outcomes { margin-top: 0; }
.outcomes h2 { margin-bottom: 1.25rem; }
.join { margin-top: 1.5rem; }
.contact-list { margin-top: 1.25rem; }
.page-head.page-band + .section .glass + .glass { margin-top: 1rem; }

/* controls inside glass */
.glass .btn-line:hover { color: var(--night); }
.glass .btn-dark { background: rgba(255, 255, 255, .14); border-color: rgba(255, 255, 255, .45); color: #fff; }
.glass .btn-dark:hover { background: var(--gold); border-color: var(--gold); color: var(--night); }
.glass .contact-list a, .contact-grid .contact-list a { color: var(--ink); }
.glass .rings i { border-color: var(--ink); }

/* contact form: glass card, white inputs */
.form-card { background: rgba(118, 74, 20, .56); border-radius: 26px; }
.form-inner { background: transparent; }
.field input, .field select, .field textarea { color: #1a0b03; background: #fff; border-color: rgba(255, 255, 255, .7); }
.field input::placeholder, .field textarea::placeholder { color: #6b5a4c; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--gold); }

/* team cards and profile pages */
.member { background: rgba(118, 74, 20, .56); }
.profile-tags li { background: rgba(255, 255, 255, .12); }
.msg-page .profile-body { align-items: start; }

/* footer as a frosted bar */
.site-footer {
  --plate: #fff; --plate-pad: 14px;
  background: rgba(112, 70, 18, .62);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border-top: 1px solid rgba(255, 255, 255, .22);
}

/* keep banner text crisp over the lighter photos */
.page-band h1, .page-band .lead { text-shadow: 0 2px 14px rgba(0, 0, 0, .55); }

/* ================= Top bar: animated brushed-bronze metal ================= */
.site-header {
  --ink: #f8eee2; --ink-soft: #e2cfb8; --line: rgba(255, 255, 255, .25);
  color: var(--ink);
  background:
    linear-gradient(105deg, transparent 38%, rgba(255, 210, 122, .35) 47%, rgba(255, 244, 214, .6) 50%, rgba(255, 210, 122, .35) 53%, transparent 62%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 3px),
    linear-gradient(180deg, #6a3510 0%, #3a1c0a 46%, #1f0e05 54%, #4a240b 100%);
  background-size: 260% 100%, auto, auto;
  background-repeat: no-repeat, repeat, no-repeat;
  background-position: 170% 0, 0 0, 0 0;
  animation: metalSheen 8s ease-in-out infinite;
  border-bottom: 2px solid var(--gold);
  box-shadow: 0 6px 22px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 226, 160, .45);
}
@keyframes metalSheen {
  0%   { background-position: 170% 0, 0 0, 0 0; }
  65%  { background-position: -70% 0, 0 0, 0 0; }
  100% { background-position: -70% 0, 0 0, 0 0; }
}
.site-header .brand-name { color: #ffd27a; text-shadow: 0 1px 0 rgba(0, 0, 0, .5); }
.site-header .brand-sub { color: #f1dfc8; }
.site-header .plate { background: #fff; }
.nav a:not(.btn) { color: #f8eee2; }
.nav a[aria-current="page"]:not(.btn) { border-bottom-color: var(--gold); }
.site-header .btn-gold { box-shadow: 0 2px 10px rgba(0, 0, 0, .35); }
@media (max-width: 1020px) {
  .nav { background: linear-gradient(180deg, #3a1c0a, #1f0e05); border-bottom: 2px solid var(--gold); }
}
@media (prefers-reduced-motion: reduce) {
  .site-header { animation: none; background-position: 45% 0, 0 0, 0 0; }
}

/* ---------- Logo (transparent PNG/WebP): outlined so the dark parts stay visible ---------- */
.hero-map.glass { padding: clamp(.9rem, 2vw, 1.4rem) clamp(1rem, 2.4vw, 1.6rem); }
.foot-logo img, .hero-map img { filter: drop-shadow(0 0 1.5px #fff) drop-shadow(0 0 1.5px #fff) drop-shadow(0 4px 12px rgba(0, 0, 0, .4)); }
.foot-logo img { width: clamp(220px, 26vw, 320px); }


/* ================= Revision: golden theme, open logo, centred page titles, evidence stats ================= */

/* 1. Lighter, more golden brown everywhere */
body, .page-bg, .hero-band, .page-band { background-color: #8a5a1e; }
.page-bg::after { background: linear-gradient(180deg, rgba(150, 98, 28, .10) 0%, rgba(120, 76, 22, .26) 100%); }
.page-band { --band-shade: linear-gradient(100deg, rgba(112, 70, 18, .6) 0%, rgba(112, 70, 18, .4) 48%, rgba(112, 70, 18, .1) 100%); }
.glass, .member, .form-card, .profile-text { background: rgba(122, 78, 22, .55); border-color: rgba(255, 224, 160, .38); }
.form-card { background: rgba(122, 78, 22, .55); }
.member { background: rgba(122, 78, 22, .55); }
.site-footer { background: rgba(128, 82, 24, .72); border-top-color: rgba(255, 224, 160, .35); }
.site-header {
  background:
    linear-gradient(105deg, transparent 38%, rgba(255, 220, 140, .4) 47%, rgba(255, 246, 220, .65) 50%, rgba(255, 220, 140, .4) 53%, transparent 62%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .04) 0 1px, transparent 1px 3px),
    linear-gradient(180deg, #c78a33 0%, #a56b22 46%, #86531a 54%, #b97a2a 100%);
  background-size: 260% 100%, auto, auto;
  background-repeat: no-repeat, repeat, no-repeat;
  background-position: 170% 0, 0 0, 0 0;
  box-shadow: 0 6px 22px rgba(60, 36, 8, .3), inset 0 1px 0 rgba(255, 230, 170, .5);
}
@media (max-width: 1020px) { .nav { background: linear-gradient(180deg, #a56b22, #86531a); } }
.dawn, .proof, .tint, .closing { background: transparent; }

/* 2. Logo: no plate, no box, no white outline (fully transparent) */
.site-header .plate, .plate { background: transparent !important; padding: 0 !important; border-radius: 0 !important; box-shadow: none; }
.hero-map, .hero-map.glass { background: none; border: 0; box-shadow: none; padding: 0; backdrop-filter: none; -webkit-backdrop-filter: none; }
.hero-map img, .foot-logo img { filter: drop-shadow(0 0 14px rgba(255, 226, 160, .35)); }

/* 3. Hero: big logo on the right half, next to the headline */
.hero-band > .wrap { max-width: 1440px; }
.hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1rem, 3vw, 3rem); }
.hero h1 { font-size: clamp(2.1rem, 4.4vw, 3.8rem); }
.hero-art { width: 100%; justify-self: stretch; display: flex; flex-direction: column; align-items: center; }
.hero-map { width: 100%; }
.hero-map img { width: 100%; }

/* Founder's message: small pill instead of a large card */
.founder-card { margin-top: .35rem; padding: .3rem .85rem .3rem .3rem; gap: .6rem; border-radius: 999px; border-width: 1px; background: rgba(122, 78, 22, .45); color: #f8eee2; align-self: flex-end; }
.founder-card img { width: 34px; height: 34px; border-width: 2px; }
.fc-text, .fc-more { display: none; }
.fc-body strong { font-size: .88rem; font-weight: 600; }
.fc-body strong::after { content: " \2192"; color: var(--gold); }
@media (max-width: 860px) {
  .hero-art { width: 100%; order: -1; }
  .hero-map { width: min(100%, 520px); }
  .founder-card { align-self: center; }
}

/* 4. Page titles on every inner page: top centre */
.page-head.page-band { padding-block: clamp(1.75rem, 3.5vw, 2.75rem); text-align: center; }
.page-head h1, .page-head .lead { text-align: center; margin-inline: auto; }
.page-head h1 { margin-bottom: .75rem; }
.page-head .lead { max-width: 60ch; }

/* 5. Evidence block: heading centred, two stat boxes below */
.proof-grid { display: flex; flex-direction: column; gap: clamp(1rem, 2.5vw, 1.75rem); align-items: stretch; }
.proof-intro { position: static; text-align: center; }
.proof-intro h2 { margin: 0 0 .5rem; }
.proof-intro p { margin: 0 auto 1rem; }
.proof-intro .btn { margin-top: 0; }
.proof-intro p:last-child { margin-bottom: 0; }
.proof .evidence { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 1.75rem); align-items: stretch; }
.proof .evidence > li, .proof .evidence > li:first-child {
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: .5rem;
  padding: clamp(1.1rem, 2.4vw, 1.75rem); border: 1px solid rgba(255, 224, 160, .35); border-radius: 20px;
  background: rgba(255, 238, 200, .1);
}
.proof .evidence .fig { font-size: clamp(3rem, 6vw, 4.6rem); line-height: 1; }
.proof .evidence h3 { margin: 0; }
.proof .evidence p, .proof .evidence p:last-child { margin: 0 auto; max-width: 46ch; }
.proof .evidence .partners { margin: .25rem 0; }
.proof .next-cohort { margin: 0; text-align: center; }
.proof-grid > div:not(.proof-intro) { display: flex; flex-direction: column; gap: clamp(1rem, 2.5vw, 1.75rem); }
.proof-video { margin-top: clamp(1rem, 2.5vw, 1.75rem); }
@media (max-width: 760px) { .proof .evidence { grid-template-columns: 1fr; } }

/* Legibility for the open logo over photos (no box, just depth) */
.hero-map img, .foot-logo img { filter: drop-shadow(0 0 1px rgba(255, 226, 160, .7)) drop-shadow(0 3px 10px rgba(50, 28, 5, .7)); }
.hero-band.page-band { --band-shade: linear-gradient(100deg, rgba(112, 70, 18, .62) 0%, rgba(112, 70, 18, .42) 50%, rgba(112, 70, 18, .34) 100%); }

.proof .next-cohort { max-width: none; width: 100%; }
.proof .evidence > li, .proof .evidence > li:first-child { justify-content: center; }

@media (max-width: 860px) {
  .hero-grid { grid-template-columns: minmax(0, 1fr); }
  .hero-band > .wrap { max-width: var(--wrap); }
}

/* About banner: title on the left, Founder's message on the right half */
.about-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; text-align: left; }
.about-head h1, .about-head .lead { text-align: left; margin-inline: 0; }
.about-head .founder-card { margin: 0; align-self: stretch; width: 100%; padding: 1.1rem 1.4rem 1.1rem 1.1rem; gap: 1.1rem; border-radius: 22px; border-width: 1px; background: rgba(122, 78, 22, .55); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.about-head .founder-card img { width: 88px; height: 88px; border-width: 3px; }
.about-head .fc-body strong { font-size: 1.2rem; }
.about-head .fc-body strong::after { content: none; }
.about-head .fc-text, .about-head .fc-more { display: -webkit-box; }
.about-head .fc-text { -webkit-line-clamp: 4; line-clamp: 4; font-size: 1rem; color: #f3e6d4; }
.about-head .fc-more { display: block; }
@media (max-width: 860px) { .about-head { grid-template-columns: 1fr; } .about-head .founder-card { align-self: auto; } }
.about-head .fc-more { color: var(--gold); }
.brand img { width: 50px; height: auto; }

/* ================= Hero: giant logo on the right half, word-by-word text ================= */
.hero-band { padding-block: clamp(1.5rem, 3vw, 3rem); }
.hero-band > .wrap { max-width: none; padding-inline: clamp(.75rem, 1.5vw, 1.5rem); }
.hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(.5rem, 1.5vw, 1.5rem); min-height: min(78vh, 700px); }
.hero h1 { font-size: clamp(2.1rem, 4vw, 3.6rem); padding-left: clamp(.5rem, 2vw, 2rem); }
.hero .lead { padding-left: clamp(.5rem, 2vw, 2rem); }
.hero-actions { padding-left: clamp(.5rem, 2vw, 2rem); }
.hero-art { width: 100%; justify-self: stretch; }
.hero-map { width: 100%; }
.hero-map img { width: 100%; transform: scale(1.06); transform-origin: right center; }
@media (max-width: 860px) {
  .hero-grid { min-height: 0; }
  .hero-map img { transform: none; }
  .hero h1, .hero .lead, .hero-actions { padding-left: 0; }
}
.word { display: inline-block; opacity: 0; transform: translateY(.45em); }
.play .word { animation: wordIn .55s cubic-bezier(.2, .7, .2, 1) both; }
.static .word { opacity: 1; transform: none; animation: none; }
@keyframes wordIn { to { opacity: 1; transform: none; } }

/* ================= Footer: transparent white box, black text, big logo ================= */
.site-footer {
  --ink: #000; --ink-soft: #1a1a1a; --line: rgba(0, 0, 0, .25); --link: #000; --ember-text: #5a2c00; --focus: #000;
  color: #000; background: rgba(255, 255, 255, .6);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border-top: 1px solid rgba(255, 255, 255, .7);
  padding-block: clamp(1.25rem, 2.5vw, 2rem);
}
.site-footer .foot { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.site-footer .foot-logo img { width: 100%; max-width: none; filter: drop-shadow(0 2px 6px rgba(60, 36, 8, .3)); }
.site-footer p, .site-footer .foot-heading, .site-footer .foot-contact a, .site-footer .foot-nav a { color: #000; }
.site-footer .foot-contact a { font-weight: 600; }
@media (max-width: 760px) { .site-footer .foot { grid-template-columns: 1fr; } }
.hero-map img { transform: scale(1.14); }
@media (max-width: 860px) { .hero-map img { transform: none; } }


/* ================= Containers: light golden transparent, dark text ================= */
.glass, .member, .form-card, .profile-text {
  --ink: #1a0b03; --ink-soft: #3b2a1c; --line: rgba(60, 36, 8, .3);
  --ember-text: #7a3a00; --link: #6b3d00; --focus: #5a2c00;
  color: #1a0b03;
  background: rgba(250, 206, 108, .62); border-color: rgba(255, 244, 214, .85);
  box-shadow: 0 2px 4px rgba(60, 36, 8, .16), 0 10px 22px rgba(60, 36, 8, .22), 0 28px 56px rgba(60, 36, 8, .26), inset 0 1px 0 rgba(255, 255, 255, .6);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .glass, .member, .form-card, .profile-text { background: rgba(250, 206, 108, .9); } }
.proof h2, .dawn h2 { color: #5a2c00; }
.dawn p { color: #1a0b03; }
.proof-intro p, .evidence p { color: #2b1b0d; }
.evidence h3 { color: #1a0b03; }
.proof .evidence .fig-gold { --c: #8a4a00; } .proof .evidence .fig-sun { --c: #a55a00; }
.proof .evidence > li, .proof .evidence > li:first-child { background: rgba(255, 255, 255, .3); border-color: rgba(90, 50, 10, .25); }
.proof-video figcaption { color: #2b1b0d; }
.next-cohort { background: rgba(110, 66, 14, .88); color: #fff; }
.glass .btn-dark { background: #4a2a0a; border-color: #4a2a0a; color: #fff; }
.glass .btn-dark:hover { background: #2b1706; border-color: #2b1706; color: var(--gold); }
.glass .btn-gold { background: #e9a21e; border: 2px solid #5a2c00; }
.glass .btn-gold:hover { background: #f5b43a; }
.glass .btn-line { border-color: #1a0b03; color: #1a0b03; }
.glass .btn-line:hover { background: #1a0b03; color: #fff; }
.glass .p3, .glass .outcome-grid li { --c: var(--c); }
.glass .p3 { --c: #b8740c; }
.outcome-grid li:nth-child(3) { --c: #b8740c !important; }
.glass .rings i { border-color: #1a0b03; }
.profile-tags li { background: rgba(255, 255, 255, .4); }
.member-photo.placeholder { background: #4a2a0a; }
.about-head .founder-card { background: rgba(250, 206, 108, .62); color: #1a0b03; border-color: rgba(255, 244, 214, .85); }
.about-head .fc-text { color: #2b1b0d; }
.about-head .fc-more { color: #7a3a00; }

/* ================= Closing box: centred ================= */
.closing .glass { text-align: center; }
.closing blockquote, .closing p { margin-inline: auto; }
.closing .join-links { justify-content: center; }
.closing .contact-list { justify-content: center; text-align: center; }
