:root {
  --navy: #0a1152;
  --navy-2: #121b67;
  --blue: #2354b8;
  --blue-mid: #2282ba;
  --cyan: #00aeef;
  --sky: #40a6d9;
  --ink: #111536;
  --muted: #5d6479;
  --paper: #f6f8fc;
  --white: #ffffff;
  --line: rgba(10, 17, 82, .12);
  --shadow: 0 24px 70px rgba(10, 17, 82, .14);
  --radius-lg: 34px;
  --radius-md: 22px;
  --radius-sm: 14px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 9999; padding: 10px 16px; background: #fff; color: var(--navy); border-radius: 10px; box-shadow: var(--shadow); }
.skip-link:focus { top: 16px; }

.topbar { background: var(--navy); color: #fff; font-size: 12px; }
.topbar-inner { min-height: 37px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.topbar-social { display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,.82); }
.topbar a { text-decoration: none; }
.topbar a:hover { color: #fff; }

.site-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.94); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(10,17,82,.07); }
.nav-wrap { min-height: 89px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { width: 205px; flex: 0 0 auto; }
.brand img { width: 100%; height: auto; }
.primary-nav { display: flex; align-items: center; gap: clamp(17px, 2vw, 28px); font-size: 14px; font-weight: 600; color: #303752; }
.primary-nav a { text-decoration: none; position: relative; }
.primary-nav > a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; bottom: -7px; width: 0; height: 2px; background: var(--blue); transition: width .25s ease; }
.primary-nav > a:not(.nav-cta):hover::after,
.primary-nav > a.active:not(.nav-cta)::after { width: 100%; }
.nav-cta { background: var(--navy); color: #fff; padding: 12px 17px; border-radius: 999px; box-shadow: 0 12px 24px rgba(10,17,82,.18); }
.nav-cta:hover { background: var(--blue); }
.menu-toggle { display: none; border: 0; background: none; width: 44px; height: 44px; padding: 10px; cursor: pointer; }
.menu-toggle span:not(.sr-only) { display: block; height: 2px; background: var(--navy); margin: 6px 0; border-radius: 2px; transition: .2s ease; }

.hero { position: relative; overflow: hidden; padding: 78px 0 36px; background: linear-gradient(180deg,#fff 0%,#f7f9fd 100%); }
.hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(10,17,82,.035) 1px, transparent 1px),linear-gradient(90deg,rgba(10,17,82,.035) 1px,transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 80%); pointer-events: none; }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(10px); pointer-events: none; }
.hero-glow-one { width: 520px; height: 520px; right: -190px; top: -200px; background: radial-gradient(circle, rgba(0,174,239,.12), transparent 68%); }
.hero-glow-two { width: 420px; height: 420px; left: -180px; bottom: -150px; background: radial-gradient(circle, rgba(35,84,184,.10), transparent 68%); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .96fr 1.04fr; gap: 58px; align-items: center; }
.eyebrow { margin: 0 0 18px; display: flex; align-items: center; gap: 11px; color: var(--blue); text-transform: uppercase; letter-spacing: .13em; font-size: 12px; font-weight: 700; }
.eyebrow span { width: 29px; height: 2px; background: var(--cyan); }
.eyebrow.light { color: #83d8f5; }
.hero h1, h2, h3 { font-family: "Opun Mai", "Open Sans", sans-serif; }
.hero h1 { margin: 0; max-width: 650px; color: var(--navy); font-size: clamp(52px, 6.2vw, 82px); line-height: .99; letter-spacing: -.045em; font-weight: 700; }
.hero h1 em { font-style: normal; color: var(--blue); position: relative; }
.hero h1 em::after { content: ""; position: absolute; left: 2%; right: 0; bottom: -9px; height: 13px; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 500 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 22 C 115 3, 279 33, 496 8' fill='none' stroke='%2300aeef' stroke-width='7' stroke-linecap='round' opacity='.85'/%3E%3C/svg%3E") center/100% 100% no-repeat; }
.hero-lead { max-width: 660px; margin: 30px 0 0; font-size: 18px; color: var(--muted); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border-radius: 999px; text-decoration: none; font-size: 14px; font-weight: 700; transition: transform .22s ease, background .22s ease, box-shadow .22s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: linear-gradient(135deg,var(--navy),var(--blue)); color: #fff; box-shadow: 0 14px 28px rgba(35,84,184,.24); gap: 10px; }
.btn-primary:hover { box-shadow: 0 18px 38px rgba(35,84,184,.3); }
.btn-ghost { background: #fff; color: var(--navy); border: 1px solid rgba(10,17,82,.16); }
.btn-ghost:hover { border-color: var(--blue); }
.hero-proof { margin-top: 37px; display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }
.hero-proof div { padding-left: 15px; border-left: 2px solid rgba(35,84,184,.18); }
.hero-proof strong { display: block; color: var(--navy); font-size: 13px; }
.hero-proof span { color: var(--muted); font-size: 11px; }
.hero-visual { position: relative; min-width: 0; }
.hero-image-shell { position: relative; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow); background: var(--navy); }
.hero-image-shell > img { width: 100%; aspect-ratio: 1.32 / 1; object-fit: cover; object-position: center; transform: scale(1.01); }
.hero-image-shell::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 50%,rgba(10,17,82,.58) 100%); pointer-events: none; }
.hero-card { position: absolute; z-index: 2; left: 20px; bottom: 20px; max-width: 350px; padding: 17px 19px; border: 1px solid rgba(255,255,255,.22); border-radius: 16px; background: rgba(8,16,70,.74); backdrop-filter: blur(12px); color: #fff; }
.hero-card-kicker { display: block; margin-bottom: 4px; text-transform: uppercase; letter-spacing: .13em; color: #89daf8; font-size: 10px; font-weight: 700; }
.hero-card p { margin: 0; font-size: 14px; line-height: 1.5; }
.hero-mark { position: absolute; right: -26px; top: -42px; width: 92px; height: 92px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(145deg,#fff,#eff8ff); color: var(--blue); font-family: "Opun Mai", sans-serif; font-weight: 700; font-size: 44px; box-shadow: 0 16px 35px rgba(10,17,82,.14); border: 1px solid rgba(35,84,184,.12); }
.values-ribbon { position: relative; z-index: 1; margin-top: 60px; min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 26px; border: 1px solid rgba(10,17,82,.10); border-radius: 999px; background: rgba(255,255,255,.82); color: var(--navy); text-transform: uppercase; letter-spacing: .11em; font-size: 11px; font-weight: 700; }
.values-ribbon i { width: 4px; height: 4px; border-radius: 50%; background: var(--cyan); }

.section { padding: 104px 0; }
.section-intro { background: #fff; }
.split-heading { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }
.section h2 { margin: 0; max-width: 680px; font-size: clamp(38px,5vw,62px); line-height: 1.06; letter-spacing: -.035em; color: var(--navy); }
.intro-copy { padding-top: 4px; }
.intro-copy p { margin: 0 0 20px; color: var(--muted); }
.large-copy { font-size: 20px; line-height: 1.55; color: var(--ink) !important; }
.quote-panel { margin-top: 70px; position: relative; min-height: 258px; display: flex; align-items: center; overflow: hidden; padding: 48px 58px; border-radius: var(--radius-lg); background: linear-gradient(135deg,var(--navy),#17368c); color: #fff; }
.quote-panel::after { content: ""; position: absolute; width: 460px; height: 460px; right: -180px; top: -230px; border: 2px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018); }
.quote-symbol { position: absolute; right: 72px; top: -90px; font-family: Georgia, serif; font-size: 320px; line-height: 1; color: rgba(255,255,255,.055); }
.quote-panel blockquote { margin: 0; position: relative; z-index: 1; }
.quote-panel blockquote p { margin: 0 0 10px; font-family: "Opun Mai", sans-serif; font-size: clamp(36px,5vw,58px); font-weight: 700; letter-spacing: -.03em; }
.quote-panel blockquote footer { max-width: 760px; color: rgba(255,255,255,.78); }

.building { background: var(--navy); color: #fff; position: relative; overflow: hidden; }
.building::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 90% 5%,rgba(0,174,239,.18),transparent 26%),radial-gradient(circle at 0% 100%,rgba(64,166,217,.12),transparent 28%); }
.section-heading { position: relative; display: grid; grid-template-columns: 1fr .65fr; gap: 70px; align-items: end; margin-bottom: 52px; }
.section-heading h2 { color: #fff; }
.section-heading > p { margin: 0; color: rgba(255,255,255,.7); }
.section-heading.dark h2 { color: var(--navy); }
.section-heading.dark > p { color: var(--muted); }
.programme-grid { position: relative; display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.programme-card { min-height: 310px; position: relative; padding: 27px; border-radius: var(--radius-md); background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.14); overflow: hidden; }
.programme-card.featured { grid-column: span 2; display: grid; grid-template-columns: 1.18fr .82fr; gap: 0; padding: 0; min-height: 360px; background: #fff; color: var(--ink); }
.programme-image { min-height: 100%; overflow: hidden; }
.programme-image img { width: 100%; height: 100%; object-fit: cover; }
.programme-content { padding: 28px; }
.status-pill { display: inline-flex; padding: 6px 9px; border-radius: 999px; background: rgba(64,166,217,.13); color: #80dafa; text-transform: uppercase; letter-spacing: .11em; font-size: 9px; font-weight: 700; }
.featured .status-pill { color: var(--blue); background: #edf5ff; }
.card-number { margin-top: 42px; color: rgba(255,255,255,.25); font-family: "Opun Mai", sans-serif; font-size: 38px; font-weight: 700; }
.featured .card-number { color: rgba(35,84,184,.24); margin-top: 54px; }
.programme-card h3 { margin: 4px 0 10px; color: #fff; font-size: 25px; line-height: 1.15; }
.featured h3 { color: var(--navy); }
.programme-card p { margin: 0; color: rgba(255,255,255,.72); font-size: 14px; }
.featured p { color: var(--muted); }

.movement { background: var(--paper); }
.movement-grid { display: grid; grid-template-columns: .86fr 1.14fr; gap: 75px; align-items: center; }
.movement-copy p { color: var(--muted); }
.text-link { display: inline-flex; gap: 10px; align-items: center; margin-top: 12px; color: var(--blue); font-weight: 700; text-decoration: none; }
.movement-visual { position: relative; }
.movement-visual img { width: min(100%,590px); margin-left: auto; border-radius: 30px; aspect-ratio: 1.18 / 1; object-fit: cover; object-position: 50% 28%; box-shadow: var(--shadow); }
.movement-caption { position: absolute; left: 14px; bottom: 24px; padding: 18px 22px; border-radius: 16px; background: #fff; color: var(--navy); box-shadow: 0 15px 35px rgba(10,17,82,.15); font-family: "Opun Mai",sans-serif; font-size: 18px; line-height: 1.3; }
.values-grid { margin-top: 70px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.value-card { min-height: 190px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.45); }
.value-card span { color: var(--blue); font-size: 11px; font-weight: 700; }
.value-card h3 { margin: 20px 0 6px; color: var(--navy); font-size: 22px; }
.value-card p { margin: 0; color: var(--muted); font-size: 14px; }

.impact { background: #fff; }
.impact-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.impact-card { position: relative; min-height: 265px; overflow: hidden; padding: 31px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.impact-card:hover { transform: translateY(-5px); box-shadow: 0 20px 45px rgba(10,17,82,.10); }
.impact-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: #eef5ff; color: var(--blue); font-family: "Opun Mai", sans-serif; font-weight: 700; }
.impact-card h3 { margin: 40px 0 8px; color: var(--navy); font-size: 25px; }
.impact-card p { margin: 0; color: var(--muted); }

.get-involved { background: linear-gradient(135deg,#0a1152 0%,#153886 67%,#167fbd 140%); color: #fff; overflow: hidden; position: relative; }
.get-involved::after { content: ""; position: absolute; width: 600px; height: 600px; right: -340px; top: -300px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.02); }
.get-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: center; }
.get-copy h2 { color: #fff; }
.get-copy > p:not(.eyebrow) { color: rgba(255,255,255,.74); font-size: 17px; }
.social-row { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 10px; }
.btn-white { background: #fff; color: var(--navy); }
.btn-outline-white { color: #fff; border: 1px solid rgba(255,255,255,.42); }
.involve-options { border-top: 1px solid rgba(255,255,255,.18); }
.involve-card { min-height: 128px; display: grid; grid-template-columns: 46px 1fr 42px; gap: 20px; align-items: center; padding: 22px 6px; border-bottom: 1px solid rgba(255,255,255,.18); color: #fff; text-decoration: none; transition: background .2s ease, padding .2s ease; }
.involve-card:hover { background: rgba(255,255,255,.06); padding-left: 16px; padding-right: 16px; }
.involve-num { color: #77d3f4; font-weight: 700; font-size: 11px; }
.involve-card h3 { margin: 0 0 4px; font-size: 22px; }
.involve-card p { margin: 0; color: rgba(255,255,255,.65); font-size: 13px; }
.arrow { justify-self: end; font-size: 23px; color: #77d3f4; }

.crisis-strip { background: #edf4ff; color: var(--navy); }
.crisis-inner { min-height: 108px; display: grid; grid-template-columns: .75fr 1.25fr; gap: 50px; align-items: center; }
.crisis-inner > div { display: flex; flex-direction: column; }
.crisis-inner strong { font-family: "Opun Mai",sans-serif; }
.crisis-inner span { color: var(--muted); font-size: 12px; }
.crisis-inner p { margin: 0; color: #3e4964; font-size: 14px; }
.crisis-inner a { color: var(--blue); font-weight: 700; }

.site-footer { background: #fff; }
.footer-main { padding: 66px 0 48px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; }
.footer-brand img { width: 230px; }
.footer-brand p { max-width: 420px; color: var(--muted); font-size: 14px; }
.footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.footer-links h2 { margin: 0 0 12px; color: var(--navy); font-size: 13px; text-transform: uppercase; letter-spacing: .11em; }
.footer-links a { display: block; padding: 4px 0; color: var(--muted); text-decoration: none; font-size: 13px; }
.footer-links a:hover { color: var(--blue); }
.footer-bottom { min-height: 72px; display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid var(--line); color: #7c8395; font-size: 11px; }
.footer-credit { color: var(--blue); font-weight: 700; text-decoration: none; }
.footer-credit:hover, .footer-credit:focus-visible { color: var(--navy); text-decoration: underline; text-underline-offset: 3px; }
.footer-separator { margin: 0 .35em; color: #a0a6b6; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; transition-delay: var(--delay,0ms); }
.reveal.in-view { opacity: 1; transform: none; }

@media (max-width: 1050px) {
  .primary-nav { gap: 14px; font-size: 12px; }
  .brand { width: 175px; }
  .hero-grid { gap: 38px; }
  .hero h1 { font-size: clamp(48px,6vw,70px); }
  .programme-grid { grid-template-columns: repeat(2,1fr); }
  .programme-card.featured { grid-column: span 2; }
}

@media (max-width: 860px) {
  .topbar-inner { min-height: 43px; }
  .topbar-inner > span { display: none; }
  .topbar-social { width: 100%; justify-content: center; }
  .nav-wrap { min-height: 78px; }
  .menu-toggle { display: block; }
  .primary-nav { display: none; position: absolute; left: 20px; right: 20px; top: calc(100% + 8px); flex-direction: column; align-items: stretch; gap: 0; padding: 10px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow); }
  .primary-nav.open { display: flex; }
  .primary-nav a { padding: 12px 12px; }
  .primary-nav > a:not(.nav-cta)::after { display: none; }
  .nav-cta { margin-top: 6px; text-align: center; }
  .menu-toggle.open span:nth-of-type(2) { transform: translateY(8px) rotate(45deg); }
  .menu-toggle.open span:nth-of-type(3) { opacity: 0; }
  .menu-toggle.open span:nth-of-type(4) { transform: translateY(-8px) rotate(-45deg); }

  .hero { padding-top: 54px; }
  .hero-grid, .movement-grid, .get-grid, .split-heading { grid-template-columns: 1fr; }
  .hero-grid { gap: 46px; }
  .hero-copy { max-width: 720px; }
  .hero-visual { max-width: 720px; }
  .hero-mark { right: 8px; }
  .values-ribbon { overflow-x: auto; justify-content: flex-start; padding: 0 22px; }
  .values-ribbon span, .values-ribbon i { flex: 0 0 auto; }
  .split-heading, .movement-grid, .get-grid { gap: 42px; }
  .section-heading { grid-template-columns: 1fr; gap: 22px; }
  .movement-visual img { margin: 0; width: 100%; max-height: 560px; }
  .values-grid { grid-template-columns: repeat(2,1fr); }
  .impact-grid { grid-template-columns: 1fr; }
  .impact-card { min-height: auto; }
  .crisis-inner { grid-template-columns: 1fr; gap: 8px; padding: 24px 0; }
  .footer-main { grid-template-columns: 1fr; gap: 38px; }
}

@media (max-width: 620px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .topbar { display: none; }
  .brand { width: 160px; }
  .hero { padding: 40px 0 24px; }
  .hero h1 { font-size: clamp(43px,13vw,60px); }
  .hero-lead { font-size: 16px; }
  .hero-actions .btn { width: 100%; }
  .hero-proof { grid-template-columns: 1fr; gap: 9px; }
  .hero-image-shell { border-radius: 24px; }
  .hero-image-shell > img { aspect-ratio: .93 / 1; }
  .hero-card { left: 12px; right: 12px; bottom: 12px; max-width: none; }
  .hero-mark { width: 68px; height: 68px; right: 6px; top: -28px; font-size: 34px; }
  .values-ribbon { margin-top: 38px; border-radius: 18px; min-height: 48px; }
  .section { padding: 76px 0; }
  .section h2 { font-size: clamp(36px,10vw,48px); }
  .large-copy { font-size: 18px; }
  .quote-panel { margin-top: 45px; min-height: 230px; padding: 34px 26px; border-radius: 24px; }
  .quote-panel blockquote p { font-size: 38px; }
  .programme-grid { grid-template-columns: 1fr; }
  .programme-card.featured { grid-column: span 1; grid-template-columns: 1fr; }
  .programme-image { height: 230px; }
  .programme-card { min-height: auto; }
  .card-number, .featured .card-number { margin-top: 28px; }
  .movement-caption { left: 10px; bottom: 12px; }
  .values-grid { grid-template-columns: 1fr; }
  .get-copy > p:not(.eyebrow) { font-size: 15px; }
  .social-row .btn { width: 100%; }
  .involve-card { grid-template-columns: 34px 1fr 28px; gap: 10px; }
  .footer-links { grid-template-columns: 1fr 1fr; }
  .footer-bottom { min-height: 86px; flex-direction: column; justify-content: center; align-items: flex-start; gap: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Interior pages, forms and sharing */
.inner-hero { position: relative; overflow: hidden; padding: 82px 0 78px; background: linear-gradient(180deg,#fff 0%,#f5f8fd 100%); }
.inner-hero::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(10,17,82,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(10,17,82,.03) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to bottom,#000,transparent 88%); pointer-events:none; }
.inner-hero-blue { background: linear-gradient(135deg,#0a1152 0%,#173b8c 66%,#1785bd 145%); color:#fff; }
.inner-hero-blue::before { opacity:.18; }
.inner-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:end; }
.inner-hero h1 { margin:0; max-width:850px; font-family:"Opun Mai","Open Sans",sans-serif; font-size:clamp(48px,6vw,76px); line-height:1; letter-spacing:-.045em; color:var(--navy); }
.inner-hero-blue h1 { color:#fff; }
.inner-hero p:not(.eyebrow) { max-width:720px; margin:26px 0 0; color:var(--muted); font-size:18px; }
.inner-hero-blue p:not(.eyebrow) { color:rgba(255,255,255,.76); }
.inner-hero-note { padding:26px 28px; border:1px solid rgba(10,17,82,.11); border-radius:var(--radius-md); background:rgba(255,255,255,.84); box-shadow:0 18px 50px rgba(10,17,82,.08); }
.inner-hero-note strong,.inner-hero-note span { display:block; }
.inner-hero-note strong { margin-bottom:7px; color:var(--navy); font-family:"Opun Mai",sans-serif; font-size:22px; }
.inner-hero-note span { color:var(--muted); font-size:14px; }
.inner-hero-blue .inner-hero-note { background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.18); box-shadow:none; }
.inner-hero-blue .inner-hero-note strong { color:#fff; }
.inner-hero-blue .inner-hero-note span { color:rgba(255,255,255,.7); }
.inner-hero.compact { padding:70px 0; }
.inner-hero.compact h1 { font-size:clamp(44px,5vw,64px); }

.form-section { background:var(--paper); }
.form-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:65px; align-items:start; }
.form-intro { position:sticky; top:145px; }
.form-intro h2 { margin-bottom:32px; }
.mini-list { border-top:1px solid var(--line); }
.mini-list > div { display:grid; grid-template-columns:34px 1fr; column-gap:13px; padding:20px 0; border-bottom:1px solid var(--line); }
.mini-list span { grid-row:1 / span 2; color:var(--blue); font-size:10px; font-weight:700; }
.mini-list strong { color:var(--navy); font-family:"Opun Mai",sans-serif; font-size:18px; }
.mini-list p { margin:4px 0 0; color:var(--muted); font-size:13px; }
.form-note { margin:24px 0 0; padding:15px 17px; border-left:3px solid var(--sky); background:#fff; color:var(--muted); font-size:12px; }
.form-card { padding:40px; border:1px solid var(--line); border-radius:30px; background:#fff; box-shadow:0 24px 60px rgba(10,17,82,.08); }
.form-card-heading { margin-bottom:30px; }
.form-card-heading > span { color:var(--blue); text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:700; }
.form-card-heading h2 { margin:7px 0 7px; font-size:clamp(32px,4vw,46px); }
.form-card-heading p { margin:0; color:var(--muted); font-size:13px; }
.premium-form { display:grid; gap:20px; }
.field-grid { display:grid; gap:18px; }
.field-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.premium-form label { display:grid; gap:8px; color:var(--navy); font-size:13px; font-weight:700; }
.premium-form label > span { color:#83899b; font-size:11px; font-weight:500; }
.premium-form input,.premium-form select,.premium-form textarea { width:100%; border:1px solid rgba(10,17,82,.16); border-radius:12px; background:#fbfcff; color:var(--ink); outline:none; padding:13px 14px; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.premium-form textarea { resize:vertical; min-height:145px; line-height:1.55; }
.premium-form input:focus,.premium-form select:focus,.premium-form textarea:focus { border-color:var(--blue); background:#fff; box-shadow:0 0 0 4px rgba(35,84,184,.09); }
.premium-form .check-row { display:grid; grid-template-columns:20px 1fr; gap:10px; align-items:start; color:var(--muted); font-size:12px; font-weight:500; }
.premium-form .check-row input { width:18px; height:18px; margin-top:2px; accent-color:var(--blue); padding:0; }
.premium-form .check-row span { color:var(--muted); font-size:12px; }
.premium-form .check-row a { color:var(--blue); }
.form-submit { border:0; cursor:pointer; justify-self:start; margin-top:4px; }
.hp-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-errors { margin-bottom:24px; padding:16px 18px; border:1px solid #efc6c6; border-radius:13px; background:#fff6f6; color:#8f2525; font-size:13px; }
.form-errors ul { margin:8px 0 0; padding-left:20px; }
.form-success { text-align:center; padding:42px 10px; }
.form-success > span { width:62px; height:62px; display:grid; place-items:center; margin:0 auto 22px; border-radius:50%; background:#eaf7f0; color:#187a48; font-size:27px; font-weight:700; }
.form-success h2 { margin:0 0 12px; font-size:42px; }
.form-success p { max-width:560px; margin:0 auto 25px; color:var(--muted); }

.share-section { background:#fff; }
.share-grid { display:grid; grid-template-columns:1.1fr .7fr; gap:65px; align-items:start; }
.share-main h2 { margin-bottom:20px; }
.share-actions { display:flex; flex-wrap:wrap; gap:10px; margin:30px 0 45px; }
.share-actions button { border:0; cursor:pointer; }
.share-actions .btn-ghost { border:1px solid rgba(10,17,82,.16); }
.share-messages { display:grid; gap:13px; }
.share-message { padding:23px 24px; border:1px solid var(--line); border-radius:18px; background:var(--paper); }
.share-message > span { color:var(--blue); text-transform:uppercase; letter-spacing:.1em; font-size:9px; font-weight:700; }
.share-message p { margin:9px 0 16px; color:#353c56; font-size:15px; }
.share-message button { border:0; padding:0; background:none; color:var(--blue); font-weight:700; font-size:12px; cursor:pointer; }
.share-aside { overflow:hidden; border-radius:28px; background:var(--navy); color:#fff; box-shadow:var(--shadow); }
.share-aside img { width:100%; aspect-ratio:1.08/1; object-fit:cover; }
.share-aside-copy { padding:28px; }
.share-aside-copy > span { color:#87daf8; text-transform:uppercase; letter-spacing:.11em; font-size:9px; font-weight:700; }
.share-aside h3 { margin:5px 0 15px; font-size:28px; }
.share-aside ol { margin:0; padding-left:22px; color:rgba(255,255,255,.76); font-size:14px; }
.share-aside li + li { margin-top:10px; }
.share-banner { padding:34px 0; background:linear-gradient(135deg,var(--navy),#1a4b9a); color:#fff; }
.share-banner .container { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.share-banner p { margin:0; font-family:"Opun Mai",sans-serif; font-size:24px; font-weight:700; }
.share-banner .container > div { display:flex; gap:16px; }
.share-banner a { min-width:190px; padding:15px 18px; border:1px solid rgba(255,255,255,.2); border-radius:13px; text-decoration:none; font-weight:700; }
.share-banner a span { display:block; margin-top:2px; color:rgba(255,255,255,.63); font-size:10px; font-weight:500; }
.copy-done { color:#187a48!important; }

.legal-section { background:#fff; }
.legal-copy { max-width:850px; }
.legal-copy h2 { margin:42px 0 10px; font-size:28px; }
.legal-copy p { color:var(--muted); }
.legal-callout { margin-bottom:40px; padding:22px 24px; border-radius:16px; background:#edf5ff; border:1px solid rgba(35,84,184,.12); }
.legal-callout strong { color:var(--navy); }
.legal-callout p { margin:5px 0 0; font-size:13px; }

@media (max-width: 860px) {
  .inner-hero-grid,.form-layout,.share-grid { grid-template-columns:1fr; }
  .inner-hero-grid { gap:38px; }
  .form-layout,.share-grid { gap:45px; }
  .form-intro { position:static; }
  .share-aside { max-width:650px; }
  .share-banner .container { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 620px) {
  .inner-hero { padding:54px 0 52px; }
  .inner-hero h1 { font-size:clamp(42px,12vw,56px); }
  .inner-hero p:not(.eyebrow) { font-size:16px; }
  .form-card { padding:25px 20px; border-radius:22px; }
  .field-grid.two { grid-template-columns:1fr; }
  .share-actions .btn { width:100%; }
  .share-banner .container > div { width:100%; flex-direction:column; }
  .share-banner a { width:100%; }
}

/* v4: expanded brief pages and content */
.footer-email { display:inline-block; margin-top:8px; color:var(--blue); font-size:13px; font-weight:700; text-decoration:none; }
.footer-links-wide { grid-template-columns:repeat(3,1fr); }
.footer-coming { display:block; padding:4px 0; color:#9298aa; font-size:12px; }
.card-link { display:inline-flex; margin-top:18px; color:var(--blue); text-decoration:none; font-size:12px; font-weight:700; }
.light-link { color:#83d8f5; }
.home-values-grid { grid-template-columns:repeat(5,1fr); }
.impact-grid-5 { grid-template-columns:repeat(5,1fr); }
.impact-link-card { color:inherit; text-decoration:none; }
.impact-link-card h3 { margin-top:30px; }
.impact-link-card > span { display:inline-block; margin-top:20px; color:var(--blue); font-size:12px; font-weight:700; }
.centered-actions { display:flex; justify-content:center; margin-top:36px; }
.home-contact-band,.next-step-band { background:linear-gradient(135deg,var(--navy),#173b8c 70%,#187db2 140%); color:#fff; }
.home-contact-grid,.next-step-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:60px; align-items:center; }
.home-contact-band { padding:70px 0; }
.home-contact-band h2,.next-step-band h2 { color:#fff; }
.home-contact-band p:not(.eyebrow),.next-step-band p:not(.eyebrow) { color:rgba(255,255,255,.72); max-width:720px; }
.home-contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.home-email-link { color:#fff; font-weight:700; text-decoration:none; }

.vision-section { background:#fff; }
.vision-mission-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.vision-card { padding:42px; border:1px solid var(--line); border-radius:28px; background:#fff; box-shadow:0 20px 50px rgba(10,17,82,.06); }
.vision-card > span { color:var(--blue); text-transform:uppercase; letter-spacing:.11em; font-size:10px; font-weight:700; }
.vision-card h2 { margin:16px 0 20px; font-size:clamp(34px,4vw,50px); }
.vision-card p { margin:0; color:var(--muted); }
.mission-card { background:linear-gradient(135deg,#0d175e,#1b55a4); color:#fff; }
.mission-card > span { color:#8bdbf7; }
.mission-card h2 { color:#fff; }
.mission-card p { color:rgba(255,255,255,.75); }
.aims-section { background:#fff; }
.aims-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.aim-card { min-height:270px; padding:28px; border:1px solid var(--line); border-radius:22px; background:linear-gradient(180deg,#fff,#f8fbff); }
.aim-card > span,.resource-card > span:not(.status-pill),.involvement-card > span { color:var(--blue); font-size:10px; font-weight:700; }
.aim-card h3 { margin:26px 0 10px; color:var(--navy); font-size:22px; line-height:1.15; }
.aim-card p { margin:0; color:var(--muted); font-size:13px; }

.programme-detail-section { background:#fff; }
.programme-detail-section.alt { background:var(--paper); }
.programme-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.programme-detail-grid.reverse .programme-detail-image { order:2; }
.programme-detail-image { overflow:hidden; border-radius:28px; box-shadow:var(--shadow); }
.programme-detail-image img { width:100%; aspect-ratio:1.35/1; object-fit:cover; }
.programme-detail-image.poster-image { max-width:550px; justify-self:center; background:var(--navy); }
.programme-detail-image.poster-image img { aspect-ratio:1.25/1; object-fit:cover; }
.programme-detail-copy h2 { margin-bottom:20px; }
.programme-detail-copy p { color:var(--muted); }
.status-pill-dark { color:var(--blue); background:#eaf4ff; }
.topic-tags { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 28px; }
.topic-tags span { padding:9px 12px; border-radius:999px; background:#edf5ff; color:#34507b; font-size:12px; }
.soft-note { display:inline-flex; align-items:center; padding:0 6px; color:var(--muted); font-size:12px; }
.next-step-band { padding:72px 0; }
.next-step-grid .btn { justify-self:end; }

.involvement-section { background:var(--paper); }
.involvement-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.involvement-card { min-height:285px; padding:34px; border:1px solid var(--line); border-radius:24px; background:#fff; color:inherit; text-decoration:none; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.involvement-card:nth-child(5) { grid-column:1 / -1; min-height:220px; }
.involvement-card:hover { transform:translateY(-4px); border-color:rgba(35,84,184,.28); box-shadow:0 22px 50px rgba(10,17,82,.09); }
.involvement-card h2 { margin:30px 0 10px; font-size:34px; }
.involvement-card p { color:var(--muted); }
.involvement-card strong { display:inline-block; margin-top:18px; color:var(--blue); font-size:13px; }

.soft-section { background:var(--paper); }
.donation-impact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.donation-impact-card { padding:32px; border:1px solid var(--line); border-radius:24px; background:#fff; }
.donation-impact-card > strong { color:var(--blue); font-family:"Opun Mai",sans-serif; font-size:46px; line-height:1; }
.donation-impact-card h3 { margin:25px 0 8px; color:var(--navy); font-size:24px; }
.donation-impact-card p { margin:0; color:var(--muted); }

.inner-note-link { display:block; margin-top:8px; color:var(--blue); font-size:15px; font-weight:700; text-decoration:none; }
.inner-hero-blue .inner-note-link { color:#9de4fb; }
.contact-section { background:var(--paper); }
.contact-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:65px; align-items:start; }
.contact-details h2 { margin-bottom:30px; }
.contact-detail-card { padding:20px 0; border-bottom:1px solid var(--line); }
.contact-detail-card > span { display:block; margin-bottom:5px; color:var(--blue); text-transform:uppercase; letter-spacing:.1em; font-size:9px; font-weight:700; }
.contact-detail-card a { color:var(--navy); font-family:"Opun Mai",sans-serif; font-size:19px; font-weight:700; text-decoration:none; }
.contact-detail-card p { margin:0; color:var(--muted); font-size:13px; }
.muted-card { background:rgba(255,255,255,.55); padding:18px; margin-top:12px; border:1px solid var(--line); border-radius:14px; }

.resource-section,.support-section,.stories-section { background:#fff; }
.resource-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.resource-card { min-height:255px; padding:30px; border:1px solid var(--line); border-radius:22px; background:#fff; }
.resource-card h3 { margin:30px 0 10px; color:var(--navy); font-size:24px; line-height:1.18; }
.resource-card p { margin:0; color:var(--muted); }
.resource-status { display:block; margin-top:22px; color:var(--blue); font-size:11px; font-weight:700; }
.tool-card .impact-icon { margin-bottom:8px; }
.support-card { display:grid; grid-template-columns:1.2fr .8fr; gap:60px; align-items:center; padding:46px; border-radius:30px; background:linear-gradient(135deg,#edf5ff,#f9fcff); border:1px solid rgba(35,84,184,.12); }
.support-card p { color:var(--muted); }
.support-contact { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.support-contact > span { color:var(--blue); text-transform:uppercase; letter-spacing:.1em; font-size:10px; font-weight:700; }
.support-contact > strong { color:var(--navy); font-family:"Opun Mai",sans-serif; font-size:48px; line-height:1; }
.support-contact .btn { margin-top:10px; }
.campaign-note { overflow:hidden; padding:0; }
.campaign-note img { width:100%; aspect-ratio:1.25/1; object-fit:cover; }
.role-grid { grid-template-columns:repeat(4,1fr); }
.role-grid .resource-card { min-height:280px; }

.social-coming { min-width:190px; padding:15px 18px; border:1px dashed rgba(255,255,255,.2); border-radius:13px; color:rgba(255,255,255,.62); font-size:11px; }

@media (max-width: 1120px) {
  .impact-grid-5 { grid-template-columns:repeat(3,1fr); }
  .home-values-grid,.aims-grid { grid-template-columns:repeat(3,1fr); }
  .role-grid { grid-template-columns:repeat(2,1fr); }
  .footer-links-wide { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 860px) {
  .home-contact-grid,.vision-mission-grid,.programme-detail-grid,.contact-layout,.support-card { grid-template-columns:1fr; }
  .programme-detail-grid.reverse .programme-detail-image { order:0; }
  .next-step-grid { grid-template-columns:1fr; }
  .next-step-grid .btn { justify-self:start; }
  .impact-grid-5,.home-values-grid,.aims-grid { grid-template-columns:repeat(2,1fr); }
  .footer-links-wide { grid-template-columns:repeat(2,1fr); }
  .topbar-social a:first-child { display:none; }
  .share-banner .container > div { flex-wrap:wrap; }
}
@media (max-width: 620px) {
  .impact-grid-5,.home-values-grid,.aims-grid,.involvement-grid,.donation-impact-grid,.resource-grid,.role-grid,.footer-links-wide { grid-template-columns:1fr; }
  .involvement-card:nth-child(5) { grid-column:auto; }
  .vision-card,.support-card { padding:28px 24px; }
  .programme-detail-grid { gap:34px; }
  .programme-detail-image img { aspect-ratio:1.05/1; }
  .home-contact-band,.next-step-band { padding:58px 0; }
  .home-contact-actions .btn { width:100%; }
  .social-coming { width:100%; }
}
.fundraising-note { margin-top:28px; padding:22px 24px; border:1px solid var(--line); border-radius:18px; background:var(--paper); }
.fundraising-note strong { color:var(--navy); font-family:"Opun Mai",sans-serif; font-size:20px; }
.fundraising-note p { margin:5px 0 0; color:var(--muted); font-size:13px; }
.footer-main { grid-template-columns:.82fr 1.18fr; }
@media (max-width: 860px) { .footer-main { grid-template-columns:1fr; } }

/* v5: audience expansion + shard accents */
.section-intro,.vision-section,.aims-section,.resource-section,.stories-section,.contact-section,.form-section,.programme-detail-section,.involvement-section,.soft-section { position:relative; overflow:hidden; isolation:isolate; }
.section-intro > .container,.vision-section > .container,.aims-section > .container,.resource-section > .container,.stories-section > .container,.contact-section > .container,.form-section > .container,.programme-detail-section > .container,.involvement-section > .container,.soft-section > .container { position:relative; z-index:1; }
.section-intro::before,.vision-section::before,.aims-section::before,.resource-section::before,.stories-section::before,.contact-section::before,.form-section::before,.programme-detail-section::before,.involvement-section::before,.soft-section::before { content:""; position:absolute; right:-70px; top:38px; width:220px; height:170px; background:linear-gradient(145deg, rgba(35,84,184,.14), rgba(64,166,217,.06)); clip-path:polygon(14% 0, 100% 16%, 84% 100%, 0 79%); transform:rotate(9deg); border-radius:24px; pointer-events:none; }
.section-intro::after,.vision-section::after,.aims-section::after,.resource-section::after,.stories-section::after,.contact-section::after,.form-section::after,.programme-detail-section::after,.involvement-section::after,.soft-section::after { content:""; position:absolute; left:-48px; bottom:26px; width:150px; height:118px; background:linear-gradient(145deg, rgba(0,174,239,.12), rgba(35,84,184,.05)); clip-path:polygon(24% 0, 100% 14%, 76% 100%, 0 82%); transform:rotate(-14deg); border-radius:20px; pointer-events:none; }
.quote-panel::before { content:""; position:absolute; left:30px; top:26px; width:120px; height:95px; background:linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.02)); clip-path:polygon(18% 0,100% 14%,79% 100%,0 82%); transform:rotate(-8deg); border-radius:16px; }
.values-ribbon { flex-wrap:wrap; justify-content:center; row-gap:10px; padding:14px 26px; border-radius:28px; }
.home-values-grid-7 { grid-template-columns:repeat(4,1fr); }
@media (max-width: 1120px) { .home-values-grid-7 { grid-template-columns:repeat(3,1fr); } }
@media (max-width: 860px) { .home-values-grid-7 { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 620px) { .section-intro::before,.vision-section::before,.aims-section::before,.resource-section::before,.stories-section::before,.contact-section::before,.form-section::before,.programme-detail-section::before,.involvement-section::before,.soft-section::before,.section-intro::after,.vision-section::after,.aims-section::after,.resource-section::after,.stories-section::after,.contact-section::after,.form-section::after,.programme-detail-section::after,.involvement-section::after,.soft-section::after { opacity:.65; transform:none; } .home-values-grid-7 { grid-template-columns:1fr; } }

/* v6: extra scattered shard accents */
.hero-copy, .hero-visual, .inner-hero, .home-contact-band, .next-step-band, .form-card, .programme-card.featured, .support-card { position: relative; }
.hero-copy::before {
  content: "";
  position: absolute;
  right: 12%;
  top: -16px;
  width: 34px;
  height: 28px;
  background: linear-gradient(145deg, rgba(0,174,239,.30), rgba(35,84,184,.08));
  clip-path: polygon(20% 0, 100% 18%, 78% 100%, 0 76%);
  transform: rotate(14deg);
  border-radius: 8px;
  pointer-events: none;
}
.hero-visual::after {
  content: "";
  position: absolute;
  left: -20px;
  bottom: 12%;
  width: 48px;
  height: 42px;
  background: linear-gradient(145deg, rgba(35,84,184,.24), rgba(64,166,217,.10));
  clip-path: polygon(18% 0, 100% 15%, 81% 100%, 0 78%);
  transform: rotate(-18deg);
  border-radius: 12px;
  pointer-events: none;
}
.inner-hero::before {
  content: "";
  position: absolute;
  right: 8%;
  top: 30px;
  width: 80px;
  height: 64px;
  background: linear-gradient(145deg, rgba(0,174,239,.18), rgba(35,84,184,.05));
  clip-path: polygon(22% 0,100% 16%,79% 100%,0 80%);
  transform: rotate(12deg);
  border-radius: 16px;
  pointer-events: none;
}
.inner-hero::after {
  content: "";
  position: absolute;
  left: 7%;
  bottom: 18px;
  width: 30px;
  height: 24px;
  background: linear-gradient(145deg, rgba(35,84,184,.20), rgba(0,174,239,.08));
  clip-path: polygon(19% 0,100% 14%,80% 100%,0 81%);
  transform: rotate(-14deg);
  border-radius: 8px;
  pointer-events: none;
}
.programme-card.featured::before {
  content: "";
  position: absolute;
  right: 18px;
  top: 18px;
  width: 42px;
  height: 34px;
  background: linear-gradient(145deg, rgba(0,174,239,.24), rgba(255,255,255,.04));
  clip-path: polygon(22% 0,100% 14%,80% 100%,0 82%);
  border-radius: 10px;
  transform: rotate(11deg);
  pointer-events: none;
}
.form-card::before {
  content: "";
  position: absolute;
  right: 24px;
  top: 22px;
  width: 26px;
  height: 20px;
  background: linear-gradient(145deg, rgba(0,174,239,.22), rgba(35,84,184,.05));
  clip-path: polygon(22% 0,100% 16%,80% 100%,0 82%);
  border-radius: 7px;
  transform: rotate(16deg);
  pointer-events: none;
}
.home-contact-band::before,
.next-step-band::before {
  content: "";
  position: absolute;
  right: 7%;
  top: 24px;
  width: 92px;
  height: 74px;
  background: linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.02));
  clip-path: polygon(22% 0,100% 14%,80% 100%,0 82%);
  transform: rotate(8deg);
  border-radius: 18px;
  pointer-events: none;
}
.home-contact-band::after,
.next-step-band::after {
  content: "";
  position: absolute;
  left: 6%;
  bottom: 18px;
  width: 38px;
  height: 30px;
  background: linear-gradient(145deg, rgba(131,216,245,.28), rgba(255,255,255,.04));
  clip-path: polygon(20% 0,100% 16%,80% 100%,0 78%);
  transform: rotate(-15deg);
  border-radius: 10px;
  pointer-events: none;
}
.support-card::before {
  content: "";
  position: absolute;
  left: 24px;
  top: 24px;
  width: 32px;
  height: 26px;
  background: linear-gradient(145deg, rgba(35,84,184,.18), rgba(0,174,239,.06));
  clip-path: polygon(22% 0,100% 16%,80% 100%,0 82%);
  border-radius: 9px;
  transform: rotate(-12deg);
  pointer-events: none;
}
@media (max-width: 620px) {
  .hero-copy::before, .hero-visual::after, .inner-hero::before, .inner-hero::after,
  .programme-card.featured::before, .form-card::before, .home-contact-band::before,
  .home-contact-band::after, .next-step-band::before, .next-step-band::after,
  .support-card::before { opacity: .72; }
}

/* v7: premium shard balance for home white sections */
.section-intro,
.impact { position: relative; overflow: hidden; isolation: isolate; }
.section-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 16% 22%, rgba(0,174,239,.12), transparent 24%),
    radial-gradient(circle at 82% 68%, rgba(35,84,184,.09), transparent 26%);
  pointer-events: none;
}
.impact::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 86% 18%, rgba(0,174,239,.12), transparent 24%),
    radial-gradient(circle at 12% 80%, rgba(35,84,184,.08), transparent 22%);
  pointer-events: none;
}
.section-intro > .container,
.impact > .container { position: relative; z-index: 1; }
.split-heading {
  position: relative;
  padding: 20px 0 6px;
}
.split-heading::before {
  content: "";
  position: absolute;
  right: 18%;
  top: 4px;
  width: 124px;
  height: 94px;
  background: linear-gradient(145deg, rgba(35,84,184,.16), rgba(0,174,239,.06));
  clip-path: polygon(20% 0, 100% 16%, 82% 100%, 0 80%);
  transform: rotate(8deg);
  border-radius: 18px;
  pointer-events: none;
}
.split-heading::after {
  content: "";
  position: absolute;
  left: -10px;
  bottom: -2px;
  width: 34px;
  height: 26px;
  background: linear-gradient(145deg, rgba(0,174,239,.28), rgba(35,84,184,.08));
  clip-path: polygon(20% 0, 100% 16%, 82% 100%, 0 80%);
  transform: rotate(-16deg);
  border-radius: 8px;
  pointer-events: none;
}
.intro-copy {
  position: relative;
  padding: 32px 36px;
  border: 1px solid rgba(10,17,82,.08);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(244,249,255,.98));
  box-shadow: 0 24px 60px rgba(10,17,82,.08);
}
.intro-copy::before {
  content: "";
  position: absolute;
  right: 18px;
  top: 18px;
  width: 28px;
  height: 22px;
  background: linear-gradient(145deg, rgba(0,174,239,.30), rgba(35,84,184,.08));
  clip-path: polygon(20% 0, 100% 16%, 82% 100%, 0 80%);
  transform: rotate(15deg);
  border-radius: 6px;
  pointer-events: none;
}
.impact-grid {
  position: relative;
  padding: 16px;
  border-radius: 34px;
  background: linear-gradient(180deg, rgba(247,250,255,.95), rgba(255,255,255,.95));
  box-shadow: inset 0 0 0 1px rgba(10,17,82,.07), 0 18px 46px rgba(10,17,82,.05);
}
.impact-grid::before {
  content: "";
  position: absolute;
  right: 28px;
  top: -14px;
  width: 86px;
  height: 66px;
  background: linear-gradient(145deg, rgba(0,174,239,.26), rgba(35,84,184,.08));
  clip-path: polygon(20% 0, 100% 16%, 82% 100%, 0 80%);
  transform: rotate(10deg);
  border-radius: 14px;
  pointer-events: none;
}
.impact-grid::after {
  content: "";
  position: absolute;
  left: 34px;
  bottom: -10px;
  width: 38px;
  height: 28px;
  background: linear-gradient(145deg, rgba(35,84,184,.22), rgba(0,174,239,.08));
  clip-path: polygon(20% 0, 100% 16%, 82% 100%, 0 80%);
  transform: rotate(-16deg);
  border-radius: 8px;
  pointer-events: none;
}
.impact-card::before {
  content: "";
  position: absolute;
  right: 18px;
  top: 18px;
  width: 26px;
  height: 20px;
  background: linear-gradient(145deg, rgba(0,174,239,.22), rgba(35,84,184,.06));
  clip-path: polygon(20% 0, 100% 16%, 82% 100%, 0 80%);
  transform: rotate(14deg);
  border-radius: 6px;
  pointer-events: none;
}
.impact-card:nth-child(even)::before {
  right: auto;
  left: 18px;
  top: auto;
  bottom: 18px;
  width: 22px;
  height: 16px;
  transform: rotate(-14deg);
}
.home-values-grid-7 .value-card {
  position: relative;
  overflow: hidden;
}
.home-values-grid-7 .value-card:nth-child(3n+1)::before {
  content: "";
  position: absolute;
  right: 14px;
  top: 14px;
  width: 22px;
  height: 16px;
  background: linear-gradient(145deg, rgba(0,174,239,.22), rgba(35,84,184,.06));
  clip-path: polygon(20% 0, 100% 16%, 82% 100%, 0 80%);
  transform: rotate(14deg);
  border-radius: 5px;
  pointer-events: none;
}
@media (max-width: 860px) {
  .split-heading::before { right: 6%; width: 96px; height: 72px; }
  .intro-copy { padding: 24px 24px; }
}
@media (max-width: 620px) {
  .split-heading::before { width: 70px; height: 54px; top: 8px; }
  .impact-grid { padding: 8px; border-radius: 24px; }
  .impact-grid::before, .impact-grid::after { opacity: .72; }
}

.impact .section-heading { position: relative; }
.impact .section-heading::after {
  content: "";
  position: absolute;
  right: 2%;
  top: -8px;
  width: 30px;
  height: 22px;
  background: linear-gradient(145deg, rgba(0,174,239,.24), rgba(35,84,184,.07));
  clip-path: polygon(20% 0, 100% 16%, 82% 100%, 0 80%);
  transform: rotate(-10deg);
  border-radius: 7px;
  pointer-events: none;
}


/* v9: final Scott-ready polish */
:focus-visible {
  outline: 3px solid rgba(0,174,239,.72);
  outline-offset: 4px;
}

.site-header {
  box-shadow: 0 8px 28px rgba(10,17,82,.035);
}

.primary-nav a,
.btn,
.text-link,
.card-link,
.home-email-link,
.footer-links a,
.footer-email {
  transition: color .22s ease, background .22s ease, border-color .22s ease,
              transform .22s ease, box-shadow .22s ease, opacity .22s ease;
}

.hero {
  padding-top: 84px;
}
.hero h1 {
  text-wrap: balance;
}
.hero-lead {
  max-width: 690px;
  line-height: 1.72;
}
.hero-actions {
  margin-top: 34px;
}
.hero-proof {
  margin-top: 40px;
}
.hero-proof div {
  padding: 12px 0 12px 16px;
}
.hero-image-shell {
  border: 1px solid rgba(10,17,82,.08);
}
.hero-image-shell > img {
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
}
.hero-visual:hover .hero-image-shell > img {
  transform: scale(1.035);
}
.hero-card {
  box-shadow: 0 16px 36px rgba(3,10,52,.20);
}
.values-ribbon {
  background: linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,251,255,.90));
  box-shadow: 0 14px 36px rgba(10,17,82,.055);
}

.section-heading h2,
.split-heading h2,
.movement-copy h2,
.home-contact-band h2,
.next-step-band h2 {
  text-wrap: balance;
}

.section-intro .split-heading > div:first-child {
  position: relative;
  z-index: 1;
}
.intro-copy {
  backdrop-filter: blur(6px);
}

.programme-card,
.impact-card,
.value-card,
.resource-card,
.involvement-card,
.donation-impact-card,
.aim-card,
.vision-card {
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.programme-card:hover,
.impact-card:hover,
.resource-card:hover,
.involvement-card:hover,
.donation-impact-card:hover,
.aim-card:hover,
.vision-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 52px rgba(10,17,82,.095);
}
.value-card:hover {
  background: rgba(255,255,255,.72);
}
.programme-card.featured:hover {
  transform: translateY(-3px);
}

.impact-card {
  border-color: rgba(10,17,82,.09);
  box-shadow: 0 10px 30px rgba(10,17,82,.035);
}
.impact-card:hover {
  border-color: rgba(35,84,184,.22);
}
.impact-link-card > span,
.card-link,
.text-link {
  position: relative;
}
.impact-link-card > span::after,
.card-link::after,
.text-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .22s ease;
  opacity: .55;
}
.impact-link-card:hover > span::after,
.card-link:hover::after,
.text-link:hover::after {
  transform: scaleX(1);
}

.movement-visual img {
  border: 1px solid rgba(10,17,82,.08);
}
.movement-caption {
  border: 1px solid rgba(10,17,82,.08);
}

.home-contact-band,
.next-step-band {
  overflow: hidden;
  isolation: isolate;
}
.home-contact-band > .container,
.next-step-band > .container {
  position: relative;
  z-index: 1;
}
.home-contact-band h2,
.next-step-band h2 {
  max-width: 760px;
}
.home-email-link:hover {
  opacity: .82;
}

.btn-primary {
  background: linear-gradient(135deg,#09104f 0%,#2354b8 72%,#1782ba 130%);
}
.btn-primary:hover {
  transform: translateY(-2px) scale(1.01);
}
.btn-white {
  box-shadow: 0 13px 28px rgba(3,10,52,.15);
}

.form-card,
.support-card,
.inner-hero-note {
  border-color: rgba(10,17,82,.10);
}
.form-card {
  box-shadow: 0 26px 66px rgba(10,17,82,.085);
}

.crisis-strip {
  border-top: 1px solid rgba(35,84,184,.08);
  border-bottom: 1px solid rgba(35,84,184,.08);
}

.site-footer {
  position: relative;
  overflow: hidden;
}
.site-footer::before {
  content: "";
  position: absolute;
  right: 4%;
  top: 34px;
  width: 72px;
  height: 54px;
  background: linear-gradient(145deg, rgba(0,174,239,.10), rgba(35,84,184,.025));
  clip-path: polygon(20% 0,100% 16%,82% 100%,0 80%);
  transform: rotate(12deg);
  border-radius: 12px;
  pointer-events: none;
}
.site-footer::after {
  content: "";
  position: absolute;
  left: 3%;
  bottom: 34px;
  width: 24px;
  height: 18px;
  background: linear-gradient(145deg, rgba(35,84,184,.12), rgba(0,174,239,.04));
  clip-path: polygon(20% 0,100% 16%,82% 100%,0 80%);
  transform: rotate(-14deg);
  border-radius: 6px;
  pointer-events: none;
}
.footer-main,
.footer-bottom {
  position: relative;
  z-index: 1;
}

@media (max-width: 860px) {
  .hero { padding-top: 58px; }
  .hero-visual:hover .hero-image-shell > img { transform: scale(1.01); }
  .programme-card:hover,
  .impact-card:hover,
  .resource-card:hover,
  .involvement-card:hover,
  .donation-impact-card:hover,
  .aim-card:hover,
  .vision-card:hover { transform: none; }
}

@media (max-width: 620px) {
  .hero { padding-top: 42px; }
  .hero-proof div { padding-top: 8px; padding-bottom: 8px; }
  .intro-copy { padding: 23px 22px; }
  .site-footer::before { width: 54px; height: 42px; right: -8px; opacity: .7; }
}

/* v10: youth-oriented while still premium */
.nav-cta {
  position: relative;
  background: linear-gradient(135deg, var(--navy), var(--blue));
  border: 1px solid rgba(255,255,255,.08);
}
.nav-cta::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,.13), transparent 45%);
  pointer-events: none;
}
.hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(0,174,239,.16), transparent 26%),
    radial-gradient(circle at 12% 86%, rgba(35,84,184,.13), transparent 25%),
    linear-gradient(180deg,#fff 0%,#f5f9ff 100%);
}
.hero::after {
  content: "";
  position: absolute;
  right: 5%;
  top: 88px;
  width: 110px;
  height: 84px;
  background: linear-gradient(145deg, rgba(0,174,239,.18), rgba(35,84,184,.04));
  clip-path: polygon(19% 0, 100% 16%, 82% 100%, 0 81%);
  border-radius: 20px;
  transform: rotate(8deg);
  pointer-events: none;
}
.hero-subline {
  margin: 18px 0 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(35,84,184,.11);
  color: var(--navy);
  font-size: 13px;
  box-shadow: 0 14px 30px rgba(10,17,82,.05);
}
.hero-subline::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 0 6px rgba(0,174,239,.12);
}
.btn-primary {
  background: linear-gradient(135deg, var(--navy), var(--blue) 58%, var(--cyan) 130%);
}
.btn-ghost {
  background: rgba(255,255,255,.92);
}
.hero-proof div {
  padding: 14px 12px 14px 16px;
  border: 1px solid rgba(35,84,184,.09);
  border-left: 3px solid rgba(0,174,239,.42);
  border-radius: 16px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 12px 28px rgba(10,17,82,.04);
}
.hero-image-shell { border-radius: 36px; }
.hero-image-shell > img { filter: saturate(1.06) contrast(1.03); }
.hero-card { border-radius: 18px; }
.values-ribbon {
  background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(246,250,255,.92));
  box-shadow: 0 16px 38px rgba(10,17,82,.05);
}
.section-intro::before, .impact::before { opacity: 1; }
.audience-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg,#fbfdff 0%, #f3f7fd 100%);
}
.audience-section::before {
  content: "";
  position: absolute;
  left: -60px;
  top: 42px;
  width: 180px;
  height: 132px;
  background: linear-gradient(145deg, rgba(0,174,239,.14), rgba(35,84,184,.04));
  clip-path: polygon(19% 0,100% 16%,82% 100%,0 81%);
  border-radius: 28px;
  transform: rotate(-10deg);
  pointer-events: none;
}
.audience-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.audience-card {
  position: relative;
  overflow: hidden;
  min-height: 310px;
  padding: 28px 28px 26px;
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,249,255,.96));
  border: 1px solid rgba(35,84,184,.08);
  box-shadow: 0 22px 52px rgba(10,17,82,.07);
}
.audience-card::before {
  content: "";
  position: absolute;
  right: 18px;
  top: 18px;
  width: 54px;
  height: 42px;
  background: linear-gradient(145deg, rgba(0,174,239,.18), rgba(35,84,184,.04));
  clip-path: polygon(19% 0,100% 16%,82% 100%,0 81%);
  border-radius: 12px;
  transform: rotate(11deg);
  pointer-events: none;
}
.audience-card::after {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, var(--cyan), var(--blue));
  opacity: .92;
}
.audience-kicker {
  display: inline-block;
  margin-bottom: 16px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #eef7ff;
  color: var(--blue);
  text-transform: uppercase;
  letter-spacing: .11em;
  font-size: 10px;
  font-weight: 700;
}
.audience-card h3 { margin: 0 0 12px; color: var(--navy); font-size: 28px; line-height: 1.08; }
.audience-card p { margin: 0; color: var(--muted); }
.audience-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 22px 0 8px;
  padding: 0;
  list-style: none;
}
.audience-tags li {
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(35,84,184,.09);
  color: var(--navy);
  font-size: 12px;
  font-weight: 700;
}
.audience-men { transform: rotate(-1deg); }
.audience-boys { transform: translateY(-6px); background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,248,255,.98)); }
.audience-boys::before { width: 68px; height: 52px; background: linear-gradient(145deg, rgba(0,174,239,.24), rgba(35,84,184,.06)); }
.audience-parents { transform: rotate(1deg); }
.programme-card { transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.programme-card:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(10,17,82,.12); }
.programme-card.featured:hover { transform: translateY(-6px) rotate(-.2deg); }
.programme-card:not(.featured)::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(90deg, rgba(0,174,239,.8), rgba(64,166,217,.4));
  opacity: .9;
}
.impact-card { border-radius: 26px; }
.impact-card:hover { transform: translateY(-6px) rotate(-.4deg); }
.home-contact-band { position: relative; overflow: hidden; }
.home-contact-band::after {
  content: "";
  position: absolute;
  right: -42px;
  top: 28px;
  width: 180px;
  height: 132px;
  background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.02));
  clip-path: polygon(19% 0,100% 16%,82% 100%,0 81%);
  border-radius: 26px;
  transform: rotate(8deg);
  pointer-events: none;
}
@media (max-width: 1050px) {
  .audience-grid { grid-template-columns: 1fr 1fr; }
  .audience-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
  .hero-subline { border-radius: 18px; }
  .audience-grid { grid-template-columns: 1fr; }
  .audience-card, .audience-men, .audience-boys, .audience-parents { transform: none; }
}
@media (max-width: 620px) {
  .hero-proof div { padding: 12px 12px 12px 14px; }
  .audience-card { min-height: auto; padding: 24px 22px; border-radius: 24px; }
  .audience-card h3 { font-size: 24px; }
}

/* v12: calm + energy homepage redesign */
.home-hero-v12 {
  padding: 72px 0 64px;
  background:
    radial-gradient(circle at 86% 16%, rgba(0,174,239,.12), transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#f7faff 100%);
}
.home-hero-v12 .hero-grid { grid-template-columns: .95fr 1.05fr; gap: 64px; }
.home-hero-v12 .hero h1,
.home-hero-v12 h1 { font-size: clamp(58px,6.6vw,88px); }
.home-hero-v12 .hero-lead { font-size: 18px; max-width: 630px; }
.home-manifesto-line {
  display: inline-flex;
  margin: 23px 0 0;
  padding: 10px 14px;
  border: 1px solid rgba(35,84,184,.11);
  border-radius: 999px;
  background: #fff;
  color: var(--navy);
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 14px 30px rgba(10,17,82,.05);
}
.home-hero-image { border-radius: 38px; }
.home-hero-image > img { aspect-ratio: 1.18 / 1; object-position: center 44%; filter: saturate(1.03) contrast(1.02); }
.home-hero-card { max-width: 310px; }
.home-hero-card strong { color: #9fe8ff; }

.tempo-band {
  position: relative;
  overflow: hidden;
  padding: 54px 0 58px;
  background: linear-gradient(120deg,#071041 0%,#0d1c67 48%,#0a72ad 145%);
  color: #fff;
}
.tempo-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size: 52px 52px;
}
.tempo-stack { position: relative; z-index: 2; display: flex; flex-direction: column; }
.tempo-stack span {
  display: block;
  width: fit-content;
  font-family: "Opun Mai","Open Sans",sans-serif;
  font-size: clamp(42px,6.8vw,90px);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: .92;
  text-transform: uppercase;
}
.tempo-stack span:nth-child(2) { margin-left: 13%; color: #8bdff8; }
.tempo-stack span:nth-child(3) { margin-left: 33%; }
.tempo-stack span:nth-child(4) { margin-left: 6%; color: #56c8ef; }
.tempo-stack span:nth-child(5) { margin-left: 42%; }
.tempo-shards i { position: absolute; z-index: 1; display: block; background: rgba(255,255,255,.13); clip-path: polygon(18% 0,100% 16%,82% 100%,0 81%); border-radius: 12px; }
.tempo-shards i:nth-child(1){width:82px;height:62px;right:8%;top:12%;transform:rotate(10deg)}
.tempo-shards i:nth-child(2){width:34px;height:26px;right:21%;bottom:14%;transform:rotate(-16deg);background:rgba(131,216,245,.24)}
.tempo-shards i:nth-child(3){width:52px;height:40px;left:6%;bottom:16%;transform:rotate(18deg);background:rgba(0,174,239,.18)}
.tempo-shards i:nth-child(4){width:24px;height:18px;left:27%;top:12%;transform:rotate(-10deg)}
.tempo-shards i:nth-child(5){width:120px;height:90px;right:-38px;bottom:-22px;transform:rotate(12deg);background:rgba(0,174,239,.12)}

.home-calm-section { position: relative; overflow: hidden; background: #fff; }
.home-calm-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 90px; align-items: start; }
.home-calm-heading { position: relative; padding-right: 20px; }
.home-calm-heading h2 { max-width: 520px; }
.home-calm-copy { padding: 34px 38px; border-radius: 30px; background: linear-gradient(180deg,#fff,#f7faff); border: 1px solid rgba(10,17,82,.08); box-shadow: 0 24px 62px rgba(10,17,82,.06); }
.home-calm-copy p { margin-top: 0; color: var(--muted); }
.calm-shard-cluster i { position: absolute; display:block; background: linear-gradient(145deg,rgba(0,174,239,.25),rgba(35,84,184,.06)); clip-path:polygon(18% 0,100% 16%,82% 100%,0 81%); border-radius:8px; }
.calm-shard-cluster i:nth-child(1){width:42px;height:32px;right:48px;bottom:-18px;transform:rotate(12deg)}
.calm-shard-cluster i:nth-child(2){width:24px;height:19px;right:12px;bottom:18px;transform:rotate(-12deg)}
.calm-shard-cluster i:nth-child(3){width:18px;height:14px;right:76px;bottom:24px;transform:rotate(18deg)}
.calm-shard-cluster i:nth-child(4){width:12px;height:10px;right:34px;bottom:56px;transform:rotate(-18deg)}

.youth-focus-section { position: relative; overflow: hidden; padding: 0; background: #f2f7fd; }
.youth-focus-grid { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 650px; width: min(100%, 1440px); margin-inline: auto; }
.youth-pressure-panel { position: relative; overflow: hidden; padding: 82px clamp(34px,6vw,88px); background: linear-gradient(145deg,#071041 0%,#123c8d 70%,#0d79b7 135%); color:#fff; }
.youth-pressure-panel::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:46px 46px; }
.youth-pressure-panel > * { position: relative; z-index: 2; }
.youth-pressure-panel h2 { color:#fff; max-width:560px; font-size:clamp(48px,5.5vw,74px); }
.pressure-words { display:flex; flex-wrap:wrap; gap:10px; margin-top:40px; max-width:610px; }
.pressure-words span { padding:11px 14px; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(255,255,255,.08); color:rgba(255,255,255,.88); font-size:13px; font-weight:700; }
.youth-shard { position:absolute; z-index:1; clip-path:polygon(18% 0,100% 16%,82% 100%,0 81%); border-radius:24px; background:rgba(255,255,255,.10); }
.youth-shard-one{width:190px;height:145px;right:-42px;top:34px;transform:rotate(10deg)}
.youth-shard-two{width:74px;height:56px;left:52px;bottom:32px;transform:rotate(-16deg);background:rgba(0,174,239,.18)}
.youth-promise-panel { padding: 88px clamp(38px,6vw,92px); background: #fff; display:flex; flex-direction:column; justify-content:center; }
.youth-index { color:var(--blue); font-weight:700; letter-spacing:.12em; font-size:11px; }
.youth-promise-panel > p { margin:24px 0 34px; max-width:620px; color:var(--muted); font-size:18px; }
.youth-promises { display:grid; gap:6px; }
.youth-promises strong { font-family:"Opun Mai","Open Sans",sans-serif; color:var(--navy); font-size:clamp(30px,3.5vw,48px); line-height:1; letter-spacing:-.035em; }
.youth-promises strong:nth-child(2){color:var(--blue)}
.youth-promises strong:nth-child(3){color:#1684bf}

.signature-programmes { position:relative; overflow:hidden; background:#fff; }
.signature-programme-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.signature-programme { position:relative; overflow:hidden; min-height:440px; padding:34px; border-radius:38px; display:grid; grid-template-columns:150px 1fr; gap:26px; align-items:start; box-shadow:0 28px 65px rgba(10,17,82,.16); }
.signature-programme::before { content:""; position:absolute; right:-22px; top:-24px; width:160px; height:120px; background:rgba(255,255,255,.13); clip-path:polygon(18% 0,100% 16%,82% 100%,0 81%); border-radius:24px; transform:rotate(10deg); }
.signature-programme { background:linear-gradient(145deg,#1769b0 0%,#1a91c9 120%); color:#fff; }
.signature-programme:nth-child(2n) { background:linear-gradient(145deg,#071041 0%,#163a89 72%,#0d6fac 140%); }
.signature-programme:nth-child(3n) { background:linear-gradient(145deg,#102f76 0%,#1b67a8 68%,#18a1c6 145%); }
.signature-programme-grid > .signature-programme:last-child:nth-child(odd) { grid-column:1 / -1; min-height:360px; }
.signature-big-number { position:relative; z-index:1; width:132px; height:132px; display:grid; place-items:center; border-radius:28px; background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.18); color:#fff; font-family:"Opun Mai","Open Sans",sans-serif; font-size:64px; font-weight:700; line-height:1; }
.signature-programme-copy { position:relative; z-index:1; }
.signature-label { color:#a8eaff; letter-spacing:.13em; text-transform:uppercase; font-size:10px; font-weight:700; }
.signature-programme h3 { margin:12px 0 16px; color:#fff; font-size:clamp(30px,3vw,42px); line-height:1.05; }
.signature-programme p { margin:0 0 26px; color:rgba(255,255,255,.78); }

.people-section { background:linear-gradient(180deg,#f6f9fe,#fff); }
.people-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:76px; align-items:center; }
.people-image-wrap { position:relative; }
.people-image-wrap img { width:100%; aspect-ratio:1.28/1; object-fit:cover; border-radius:36px; box-shadow:var(--shadow); }
.people-image-tag { position:absolute; left:24px; bottom:22px; padding:11px 14px; border-radius:999px; background:rgba(7,16,65,.82); color:#fff; font-size:10px; font-weight:700; letter-spacing:.09em; backdrop-filter:blur(12px); }
.people-image-shard { position:absolute; right:-18px; top:-20px; width:92px; height:70px; background:linear-gradient(145deg,rgba(0,174,239,.27),rgba(35,84,184,.08)); clip-path:polygon(18% 0,100% 16%,82% 100%,0 81%); border-radius:18px; transform:rotate(11deg); }
.people-copy p { color:var(--muted); }
.people-actions { display:flex; flex-direction:column; gap:22px; align-items:flex-start; }
.people-actions > span { padding:12px 14px; border-left:3px solid var(--cyan); background:#f5f9ff; color:var(--navy); font-size:12px; font-weight:700; }

.schools-campaign-section { position:relative; overflow:hidden; padding:100px 0; background:linear-gradient(135deg,#081143 0%,#133982 62%,#1082be 132%); color:#fff; }
.schools-grid-bg { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:48px 48px; }
.schools-campaign-section::after { content:""; position:absolute; right:-100px; top:-80px; width:390px; height:300px; background:rgba(255,255,255,.07); clip-path:polygon(18% 0,100% 16%,82% 100%,0 81%); border-radius:38px; transform:rotate(10deg); }
.schools-campaign-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:center; }
.schools-overline { display:block; margin-bottom:18px; color:#99e5ff; font-size:11px; font-weight:700; letter-spacing:.14em; }
.schools-campaign-main h2 { margin:0; color:#fff; font-size:clamp(60px,8vw,108px); line-height:.84; letter-spacing:-.06em; }
.schools-campaign-main h2 em { font-style:normal; color:#73d4f4; }
.schools-campaign-main > p:not(.eyebrow) { max-width:650px; margin:34px 0 30px; color:rgba(255,255,255,.77); font-size:18px; }
.schools-campaign-stat { justify-self:end; width:min(100%,360px); padding:36px; border:1px solid rgba(255,255,255,.18); border-radius:34px; background:rgba(255,255,255,.08); backdrop-filter:blur(10px); }
.stat-big { display:block; color:#fff; font-family:"Opun Mai","Open Sans",sans-serif; font-size:100px; font-weight:700; line-height:.85; }
.schools-campaign-stat strong { display:block; margin-top:12px; color:#9be6ff; letter-spacing:.12em; font-size:12px; }
.schools-campaign-stat i { display:block; height:1px; margin:28px 0; background:rgba(255,255,255,.18); }
.stat-date { display:block; color:#fff; font-family:"Opun Mai","Open Sans",sans-serif; font-size:30px; font-weight:700; }
.schools-campaign-stat small { display:block; margin-top:10px; color:rgba(255,255,255,.68); }

.small-steps-section { position:relative; overflow:hidden; padding:86px 0; background:#fff; }
.small-steps-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:center; }
.small-steps-eyebrow { color:var(--blue); letter-spacing:.13em; font-size:10px; font-weight:700; }
.small-steps-copy h2 { margin:14px 0 0; font-size:clamp(54px,7vw,94px); line-height:.9; letter-spacing:-.06em; }
.small-steps-copy h2 span { display:block; }
.small-steps-copy h2 span:last-child { color:var(--blue); }
.small-steps-list { display:grid; gap:12px; font-family:"Opun Mai","Open Sans",sans-serif; font-size:22px; color:var(--muted); }
.small-steps-list strong { color:var(--navy); font-size:30px; }
.small-steps-shards i { position:absolute; display:block; background:linear-gradient(145deg,rgba(0,174,239,.18),rgba(35,84,184,.04)); clip-path:polygon(18% 0,100% 16%,82% 100%,0 81%); border-radius:12px; }
.small-steps-shards i:nth-child(1){width:94px;height:70px;right:5%;top:14%;transform:rotate(9deg)}
.small-steps-shards i:nth-child(2){width:46px;height:34px;right:16%;bottom:14%;transform:rotate(-13deg)}
.small-steps-shards i:nth-child(3){width:28px;height:22px;left:5%;bottom:20%;transform:rotate(17deg)}
.small-steps-shards i:nth-child(4){width:18px;height:14px;left:26%;top:12%;transform:rotate(-12deg)}
.small-steps-shards i:nth-child(5){width:34px;height:26px;right:34%;top:16%;transform:rotate(16deg)}
.small-steps-shards i:nth-child(6){width:16px;height:12px;right:28%;bottom:24%;transform:rotate(-17deg)}

.home-involved-v12 { position:relative; overflow:hidden; background:linear-gradient(180deg,#f5f8fd 0%,#fff 100%); }
.home-involved-v12 .impact-card { border-radius:28px; background:#fff; }
.home-involved-v12 .impact-card:hover { transform:translateY(-7px); }
.home-contact-v12 { background:linear-gradient(135deg,#071041 0%,#153982 65%,#0f7fb8 135%); }

@media (max-width: 1050px) {
  .signature-programme-grid { grid-template-columns:1fr; }
  .youth-focus-grid { grid-template-columns:1fr; }
  .youth-pressure-panel,.youth-promise-panel { padding:70px 54px; }
  .people-grid,.schools-campaign-grid,.small-steps-grid { grid-template-columns:1fr; }
  .schools-campaign-stat { justify-self:start; }
}
@media (max-width: 860px) {
  .home-hero-v12 .hero-grid,.home-calm-grid { grid-template-columns:1fr; gap:46px; }
  .tempo-stack span:nth-child(n) { margin-left:0; }
  .tempo-stack span:nth-child(even) { margin-left:12%; }
  .signature-programme { grid-template-columns:110px 1fr; }
  .signature-big-number { width:100px; height:100px; font-size:50px; }
}
@media (max-width: 620px) {
  .home-hero-v12 { padding-top:42px; }
  .home-hero-v12 h1 { font-size:clamp(46px,14vw,62px); }
  .tempo-band { padding:46px 0; }
  .tempo-stack span { font-size:clamp(38px,13vw,58px); }
  .tempo-stack span:nth-child(even) { margin-left:7%; }
  .home-calm-copy { padding:25px 22px; border-radius:24px; }
  .youth-pressure-panel,.youth-promise-panel { padding:58px 24px; }
  .pressure-words span { font-size:11px; }
  .youth-promises strong { font-size:clamp(28px,9vw,38px); }
  .signature-programme { grid-template-columns:1fr; min-height:auto; padding:26px 22px; border-radius:28px; }
  .signature-big-number { width:78px; height:78px; font-size:38px; border-radius:20px; }
  .people-grid { gap:40px; }
  .people-image-tag { position:static; display:inline-flex; margin-top:12px; }
  .schools-campaign-section { padding:72px 0; }
  .schools-campaign-main h2 { font-size:clamp(58px,18vw,78px); }
  .schools-campaign-stat { width:100%; }
  .small-steps-section { padding:70px 0; }
  .small-steps-copy h2 { font-size:clamp(50px,16vw,68px); }
  .small-steps-list { font-size:18px; }
  .small-steps-list strong { font-size:25px; }
}

/* Stage 1 database/CMS: newsletter and dynamic resources */
.footer-newsletter { position:relative; padding:58px 0; background:linear-gradient(135deg,#08104a 0%,#173b8c 68%,#1487c2 145%); color:#fff; overflow:hidden; }
.footer-newsletter::after { content:""; position:absolute; right:-55px; top:-45px; width:220px; height:170px; background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.02)); clip-path:polygon(19% 0,100% 16%,82% 100%,0 81%); border-radius:30px; transform:rotate(9deg); pointer-events:none; }
.footer-newsletter-grid { position:relative; z-index:1; display:grid; grid-template-columns:.85fr 1.15fr; gap:65px; align-items:center; }
.footer-newsletter-kicker { display:block; margin-bottom:8px; color:#90e1fb; text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:800; }
.footer-newsletter h2 { margin:0; color:#fff; font-size:clamp(30px,4vw,46px); line-height:1.05; }
.footer-newsletter p { margin:14px 0 0; color:rgba(255,255,255,.72); max-width:560px; }
.newsletter-form { display:grid; gap:14px; }
.newsletter-fields { display:grid; grid-template-columns:.7fr 1fr auto; gap:10px; align-items:end; }
.newsletter-fields label { display:grid; gap:6px; color:#fff; font-size:11px; font-weight:700; }
.newsletter-fields label span { color:rgba(255,255,255,.82); }
.newsletter-fields em { font-style:normal; color:rgba(255,255,255,.55); font-weight:500; }
.newsletter-fields input { width:100%; min-height:48px; padding:11px 13px; border:1px solid rgba(255,255,255,.22); border-radius:13px; background:rgba(255,255,255,.10); color:#fff; outline:none; }
.newsletter-fields input::placeholder { color:rgba(255,255,255,.50); }
.newsletter-fields input:focus { border-color:#8fe3fb; box-shadow:0 0 0 4px rgba(143,227,251,.12); }
.newsletter-fields .btn { white-space:nowrap; border:0; cursor:pointer; background:#fff; color:var(--navy); box-shadow:none; }
.newsletter-consent { display:grid; grid-template-columns:18px 1fr; gap:9px; align-items:start; color:rgba(255,255,255,.70); font-size:11px; }
.newsletter-consent input { margin-top:2px; accent-color:var(--cyan); }
.newsletter-consent a { color:#fff; font-weight:700; }
.newsletter-flash { margin-bottom:12px; padding:11px 13px; border-radius:12px; background:rgba(255,255,255,.12); color:#fff; font-size:12px; }
.newsletter-flash.success { background:rgba(39,196,120,.18); border:1px solid rgba(126,235,179,.26); }
.newsletter-flash.error { background:rgba(255,111,111,.15); border:1px solid rgba(255,180,180,.22); }
.resource-library { background:#fff; }
.resource-library-filters { display:flex; flex-wrap:wrap; gap:8px; margin:-18px auto 36px; }
.resource-library-filters a { padding:8px 12px; border:1px solid var(--line); border-radius:999px; color:var(--muted); text-decoration:none; font-size:11px; font-weight:700; }
.resource-library-filters a:hover,.resource-library-filters a.active { background:#eef5ff; border-color:rgba(35,84,184,.18); color:var(--blue); }
.dynamic-resource-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.dynamic-resource-card { position:relative; overflow:hidden; display:flex; flex-direction:column; min-height:360px; border:1px solid var(--line); border-radius:26px; background:linear-gradient(180deg,#fff,#f8fbff); color:inherit; text-decoration:none; box-shadow:0 18px 45px rgba(10,17,82,.05); transition:transform .22s ease,box-shadow .22s ease; }
.dynamic-resource-card:hover { transform:translateY(-6px); box-shadow:0 26px 55px rgba(10,17,82,.10); }
.dynamic-resource-image { height:185px; overflow:hidden; background:#eaf2ff; }
.dynamic-resource-image img { width:100%; height:100%; object-fit:cover; }
.dynamic-resource-body { display:flex; flex-direction:column; flex:1; padding:24px; }
.dynamic-resource-meta { display:flex; flex-wrap:wrap; gap:8px; align-items:center; color:var(--blue); text-transform:uppercase; letter-spacing:.08em; font-size:9px; font-weight:800; }
.dynamic-resource-card h3 { margin:16px 0 10px; color:var(--navy); font-size:25px; line-height:1.12; }
.dynamic-resource-card p { margin:0 0 18px; color:var(--muted); }
.dynamic-resource-card strong { margin-top:auto; color:var(--blue); font-size:12px; }
.resource-article { background:#fff; }
.resource-article-wrap { width:min(calc(100% - 40px),900px); margin:0 auto; }
.resource-article-hero { margin-bottom:34px; overflow:hidden; border-radius:28px; box-shadow:var(--shadow); }
.resource-article-hero img { width:100%; max-height:480px; object-fit:cover; }
.resource-article-meta { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; color:var(--blue); text-transform:uppercase; letter-spacing:.08em; font-size:10px; font-weight:800; }
.resource-article-content { color:#343b55; font-size:17px; line-height:1.8; }
.resource-article-content p { margin:0 0 1.2em; }
.resource-article-actions { margin-top:34px; display:flex; flex-wrap:wrap; gap:10px; }
@media(max-width:900px){.footer-newsletter-grid{grid-template-columns:1fr;gap:28px}.newsletter-fields{grid-template-columns:1fr 1fr}.newsletter-fields .btn{grid-column:1/-1}.dynamic-resource-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.newsletter-fields{grid-template-columns:1fr}.newsletter-fields .btn{grid-column:auto;width:100%}.dynamic-resource-grid{grid-template-columns:1fr}.resource-article-wrap{width:min(calc(100% - 28px),900px)}}
.resource-article-content h2,.resource-article-content h3{margin:1.55em 0 .55em;color:var(--navy);line-height:1.15}.resource-article-content h2{font-size:32px}.resource-article-content h3{font-size:24px}.resource-article-content ul,.resource-article-content ol{margin:0 0 1.4em;padding-left:1.4em}.resource-article-content li+li{margin-top:.45em}

/* Stage 2 dynamic programmes, events and downloads */
.site-banner{padding:10px 0;background:#eaf7ff;color:var(--navy);text-align:center;font-size:13px;font-weight:700;border-bottom:1px solid rgba(35,84,184,.08)}
.stage2-upcoming{position:relative}.stage2-upcoming-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.stage2-upcoming-column{padding:28px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 18px 44px rgba(10,17,82,.05)}.stage2-upcoming-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.stage2-upcoming-head h3{margin:0;color:var(--navy);font-size:26px}.stage2-upcoming-head a{color:var(--blue);font-size:12px;font-weight:700;text-decoration:none}.stage2-upcoming-item{display:grid;gap:5px;padding:15px 0;border-top:1px solid var(--line);text-decoration:none}.stage2-upcoming-item strong{color:var(--navy)}.stage2-upcoming-item span,.stage2-empty span{color:var(--muted);font-size:12px}.stage2-empty{display:grid;gap:5px;padding:18px 0;border-top:1px solid var(--line)}.stage2-empty strong{color:var(--navy)}
.activity-public-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.activity-public-card{overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 18px 44px rgba(10,17,82,.06)}.activity-public-image{aspect-ratio:16/10;overflow:hidden}.activity-public-image img{width:100%;height:100%;object-fit:cover}.activity-public-body{padding:24px}.activity-public-body h3{margin:12px 0 10px;color:var(--navy);font-size:26px}.activity-public-body p{color:var(--muted)}.activity-meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.activity-meta span{padding:7px 9px;border-radius:999px;background:#f2f7ff;color:var(--blue);font-size:11px;font-weight:700}.public-empty-state{grid-column:1/-1;padding:45px;border-radius:30px;background:linear-gradient(135deg,#f4f8ff,#eef7fb);text-align:center}.public-empty-state>span{color:var(--blue);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.public-empty-state h3{margin:10px 0;color:var(--navy);font-size:30px}.public-empty-state p{margin:0 auto 22px;max-width:600px;color:var(--muted)}
.activity-detail-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:38px;align-items:start}.activity-form-card{position:sticky;top:110px}.resource-prose{color:var(--ink);font-size:17px;line-height:1.8}.resource-prose p{margin:0 0 1.2em}
.download-public-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.download-public-card{display:grid;grid-template-columns:62px 1fr;gap:18px;padding:24px;border:1px solid var(--line);border-radius:24px;background:#fff;text-decoration:none;box-shadow:0 14px 36px rgba(10,17,82,.04);transition:transform .2s ease,box-shadow .2s ease}.download-public-card:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(10,17,82,.08)}.download-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;font-size:28px}.download-meta{color:var(--blue);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.download-public-card h3{margin:7px 0;color:var(--navy);font-size:22px}.download-public-card p{margin:0 0 12px;color:var(--muted);font-size:13px}.download-public-card strong{color:var(--blue);font-size:12px}
.programme-signatures{padding-top:80px}.activity-form-card .premium-form{padding:0}.activity-form-card{padding:28px}
@media(max-width:1000px){.activity-public-grid{grid-template-columns:repeat(2,1fr)}.activity-detail-layout{grid-template-columns:1fr}.activity-form-card{position:static}.download-public-grid{grid-template-columns:1fr}}
@media(max-width:760px){.stage2-upcoming-grid{grid-template-columns:1fr}.activity-public-grid{grid-template-columns:1fr}.public-empty-state{padding:30px 20px}.download-public-card{grid-template-columns:48px 1fr;padding:19px}.download-icon{width:48px;height:48px}.stage2-upcoming-column{padding:22px}}
.inline-confirm-form{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}

/* Stage 3 programme opportunities */
.compact-programme-opportunities{padding-top:40px;padding-bottom:40px;background:#f7faff}
.compact-opportunity-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px}
.compact-opportunity-grid .programme-card{min-height:auto;background:#fff;color:var(--ink);border:1px solid rgba(35,84,184,.10)}
.compact-opportunity-grid .programme-card h3{color:var(--navy)}
.compact-opportunity-grid .programme-card p{color:#5b6478}
.compact-opportunity-grid .card-number{font-size:12px;letter-spacing:.08em;color:var(--blue)}
@media(max-width:900px){.compact-opportunity-grid{grid-template-columns:1fr}}

/* Stage 4 public news + impact */
.news-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.news-public-card{overflow:hidden;display:flex;flex-direction:column;min-height:340px;border:1px solid var(--line);border-radius:28px;background:#fff;text-decoration:none;box-shadow:0 18px 44px rgba(10,17,82,.06);transition:transform .2s ease,box-shadow .2s ease}.news-public-card:hover{transform:translateY(-5px);box-shadow:0 24px 52px rgba(10,17,82,.10)}.news-public-image{height:190px;overflow:hidden}.news-public-image img{width:100%;height:100%;object-fit:cover}.news-public-body{display:flex;flex-direction:column;flex:1;padding:24px}.news-public-body>span{color:var(--blue);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.news-public-body h2{margin:10px 0;color:var(--navy);font-size:25px}.news-public-body p{color:var(--muted)}.news-public-body strong{margin-top:auto;color:var(--blue);font-size:12px}.impact-public-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.impact-public-card{padding:28px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:0 16px 40px rgba(10,17,82,.05)}.impact-public-card>strong{display:block;color:var(--blue);font-family:"Opun Mai",sans-serif;font-size:clamp(42px,5vw,70px);line-height:1}.impact-public-card h3{margin:14px 0 7px;color:var(--navy);font-size:20px}.impact-public-card span{color:var(--blue);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.impact-public-card p{margin:12px 0 0;color:var(--muted);font-size:13px}@media(max-width:950px){.news-public-grid{grid-template-columns:repeat(2,1fr)}.impact-public-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.news-public-grid,.impact-public-grid{grid-template-columns:1fr}}

/* Stage 6 public governance */
.governance-public{background:#fff}.governance-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.governance-public-card{display:flex;flex-direction:column;min-height:300px;padding:26px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:0 16px 40px rgba(10,17,82,.05)}.governance-public-card>span{color:var(--blue);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.governance-public-card h3{margin:12px 0 10px;color:var(--navy);font-size:26px}.governance-public-card p{margin:0 0 18px;color:var(--muted);line-height:1.65}.governance-meta{display:flex;flex-wrap:wrap;gap:7px;margin:auto 0 18px}.governance-meta small{padding:7px 9px;border-radius:999px;background:#eef5ff;color:var(--blue);font-size:10px;font-weight:700}.governance-public-card .text-link{margin-top:0}@media(max-width:950px){.governance-public-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.governance-public-grid{grid-template-columns:1fr}}

/* v20 rich article formatting */
.resource-article-content blockquote{margin:1.5em 0;padding:18px 22px;border-left:4px solid var(--cyan);border-radius:0 14px 14px 0;background:#f3f9ff;color:#3d4663;font-style:italic}.resource-article-content a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.resource-article-content u{text-underline-offset:3px}


/* Stage 9: final launch polish */
img{height:auto}
a,button,input,select,textarea{scroll-margin-top:120px}
.newsletter-flash[role="status"]{border-left:4px solid currentColor}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* v21.1 PDF newsletter archive */
.newsletter-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.newsletter-archive-card{display:flex;flex-direction:column;align-items:flex-start;min-height:310px;padding:30px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:0 18px 42px rgba(10,17,82,.05)}.newsletter-archive-card>span{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.newsletter-archive-card h2{margin:18px 0 8px;color:var(--navy);font-size:28px;line-height:1.12}.newsletter-archive-card>strong{color:var(--cyan);font-size:12px}.newsletter-archive-card p{margin:16px 0 24px;color:var(--muted);line-height:1.7}.newsletter-archive-card .btn{margin-top:auto}@media(max-width:900px){.newsletter-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.newsletter-archive-grid{grid-template-columns:1fr}}


/* v21.2 newsletter online issue */
.newsletter-online-issue{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.newsletter-online-issue .resource-article-wrap{padding:10px 0 20px}
.newsletter-archive-card .hero-actions{margin-top:20px;gap:10px}
.newsletter-archive-card .btn{min-height:44px;padding:11px 16px}


/* v21.6 — Programme CMS */
.signature-programme-grid > .signature-programme:last-child:nth-child(odd) .signature-programme-copy{max-width:760px}
.signature-programme .light-note{color:rgba(255,255,255,.72);padding:0}
@media(max-width:1050px){.signature-programme-grid > .signature-programme:last-child:nth-child(odd){grid-column:auto;min-height:440px}}
