
/* PP Neue Montreal — place the licensed .woff2 files in /fonts. Falls back to Inter Tight until then. */



:root{
  /* Renewed Hope 2.0 brand */
  --green:#2E7449; --green-dk:#1F5634; --green-lt:#EAF3EC;
  --leaf:#6F9E4B; --leaf-lt:#F1F6EA;
  --orange:#FF4F1E; --orange-2:#FF6025; --orange-dk:#D93C0E; --orange-lt:#FFF0EA;
  /* legacy names mapped onto the brand */
  --blue:var(--leaf); --blue-lt:var(--leaf-lt);
  --red:var(--orange); --red-lt:var(--orange-lt);
  --err:#C62828;
  --grad:linear-gradient(110deg,var(--green),var(--leaf) 40%,var(--orange-2) 75%,var(--orange));
  --ink:#101814; --ink-2:#4A5650; --ink-3:#7A857F;
  --line:#E5EAE7; --bg:#FFFFFF; --bg-2:#F7F9F8;
  --radius:16px; --max:1180px;
  --display:Arial,Helvetica,system-ui,sans-serif;
  --body:Arial,Helvetica,system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:var(--body);color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--display);line-height:1.04;letter-spacing:-.035em}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s, background .15s;font-family:var(--body)}
.btn:hover{transform:translateY(-2px)}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:var(--green-dk)}
.btn-outline{border-color:var(--ink);color:var(--ink);background:#fff}
.flagbar{height:6px;display:flex}
.flagbar span{flex:1}

/* NAV */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{width:42px;height:42px;border-radius:12px;background:conic-gradient(var(--green) 0 33%,#fff 0 66%,var(--blue) 0);border:2px solid var(--ink);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:13px}
.brand-mark b{background:#fff;padding:1px 4px;border-radius:4px}
.brand-logo{height:46px;width:auto}
.brand small{display:block;font-size:11px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}
.brand strong{font-family:var(--display);font-size:17px}
.nav ul{display:flex;gap:28px;list-style:none}
.nav ul a{text-decoration:none;font-size:15px;font-weight:500;color:var(--ink-2)}
.nav ul a:hover{color:var(--green)}
.nav .btn{padding:10px 18px}
.menu-btn{display:none;background:none;border:0;font-size:26px;cursor:pointer}

/* HERO */
.hero{padding:64px 0 40px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;right:-180px;top:-120px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,var(--green-lt),transparent 70%);z-index:-1}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:8px;background:var(--bg-2);border:1px solid var(--line);padding:6px 14px 6px 6px;border-radius:999px;font-size:13px;font-weight:600}
.pill i{background:var(--red);color:#fff;font-style:normal;padding:3px 10px;border-radius:999px;font-size:11px;letter-spacing:.08em}
.hero h1{font-size:clamp(42px,6.4vw,78px);font-weight:700;margin:22px 0 18px}
.hero h1 em{font-style:normal;color:var(--green);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:10px;background:var(--blue-lt);z-index:-1;border-radius:4px}
.hero p.lead{font-size:19px;color:var(--ink-2);max-width:540px;margin-bottom:30px}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.leaders{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.leader{border-radius:22px;overflow:hidden;background:var(--bg-2);border:1px solid var(--line);position:relative}
.leader:nth-child(2){margin-top:48px}
.portrait{aspect-ratio:4/5;display:grid;place-items:center;position:relative;color:#fff}
.portrait.p1{background:linear-gradient(160deg,var(--green) 0%,var(--green-dk) 100%)}
.portrait.p2{background:linear-gradient(160deg,var(--orange-2) 0%,var(--orange-dk) 100%)}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portrait .initials{font-family:var(--display);font-size:64px;font-weight:700;opacity:.9}
.portrait .note{position:absolute;bottom:10px;left:10px;right:10px;font-size:11px;background:rgba(0,0,0,.25);padding:4px 8px;border-radius:6px;text-align:center}
.leader-info{padding:14px 16px 16px;background:#fff}
.leader-info strong{font-family:var(--display);font-size:17px;display:block;line-height:1.2}
.leader-info span{font-size:13px;color:var(--ink-3)}

/* STATS */
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:30px 22px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat b{font-family:var(--display);font-size:clamp(28px,3.4vw,40px);font-weight:700;display:block;line-height:1}
.stat:nth-child(1) b{color:var(--green)}.stat:nth-child(2) b{color:var(--blue)}.stat:nth-child(3) b{color:var(--red)}
.stat span{font-size:14px;color:var(--ink-2);display:block;margin-top:8px}

section.block{padding:96px 0}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(34px,4.4vw,54px);font-weight:700;margin-top:10px;max-width:680px}
.sec-head p{color:var(--ink-2);max-width:420px}

/* FILTER CHIPS */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.chip{border:1px solid var(--line);background:#fff;padding:8px 16px;border-radius:999px;font-size:14px;font-weight:500;cursor:pointer;font-family:var(--body);color:var(--ink-2)}
.chip.active{background:var(--ink);border-color:var(--ink);color:#fff}

/* ACHIEVEMENTS */
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}
#achievements{position:relative;overflow:hidden;isolation:isolate}
.ach-aura{position:absolute;inset:0;z-index:-1;pointer-events:none}
.ach-aura i{position:absolute;width:520px;height:520px;border-radius:50%;filter:blur(90px);opacity:.38;animation:auraDrift 22s ease-in-out infinite alternate}
.ach-aura i:nth-child(1){background:#8CC46A;top:8%;left:-8%}
.ach-aura i:nth-child(2){background:#FFB08F;top:38%;right:-10%;animation-duration:27s;animation-direction:alternate-reverse}
.ach-aura i:nth-child(3){background:#FF8A5C;bottom:-6%;left:30%;opacity:.22;animation-duration:31s}
@keyframes auraDrift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(80px,-60px) scale(1.15)}100%{transform:translate(-40px,50px) scale(.95)}}

.pro-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:999px;background:rgba(255,255,255,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(46,116,73,.2);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-dk);position:relative;overflow:hidden}
.pro-badge b{background:var(--green);color:#fff;border-radius:999px;padding:4px 10px;font-size:11px}
.pro-badge::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.9) 50%,transparent 70%);transform:translateX(-120%);animation:badgeShine 4s ease-in-out infinite}
@keyframes badgeShine{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.ach-head h2 .line{display:block;overflow:hidden}
.ach-head h2 .line span{display:inline-block;transform:translateY(105%);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.ach-head h2 .line:nth-child(2) span{transition-delay:.12s;color:var(--green)}
.ach-head.in h2 .line span{transform:none}
.ach-head .lede{font-size:17px}
.ach-head .lede strong{color:var(--ink)}

.ach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ach{--mx:50%;--my:50%;position:relative;border-radius:20px;padding:26px;display:flex;flex-direction:column;
  background:rgba(255,255,255,.72);border:1px solid rgba(16,24,20,.08);
  backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 6px 24px rgba(16,24,20,.05);
  opacity:0;transform:translateY(30px) scale(.97);filter:blur(6px);
  transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1),filter .7s ease,box-shadow .35s ease,background .35s ease}
.ach.in{opacity:1;transform:none;filter:none}
.ach.hide{display:none}
/* cursor spotlight (glass sheen) */
.ach::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,255,255,.55),transparent 45%)}
/* gleaming border */
.ach::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:2.5px;pointer-events:none;opacity:0;transition:opacity .35s;
  background:conic-gradient(from var(--ang),transparent 0 35%,rgba(46,116,73,.35) 45%,var(--green) 58%,#A8CC7E 66%,var(--blue) 76%,rgba(255,79,30,.8) 84%,transparent 94%);
  filter:drop-shadow(0 0 6px rgba(46,116,73,.45));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:rhv3-border-angle 3.2s linear infinite}
@keyframes rhv3-border-angle{to{--ang:360deg}}
.ach.in:hover{transform:translateY(-6px);background:rgba(255,255,255,.55);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 24px 60px rgba(46,116,73,.16)}
.ach:hover::before,.ach:hover::after{opacity:1}
.ach > *{position:relative;z-index:1}
.ach .tag{align-self:flex-start;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;margin-bottom:18px}
.tag.edu{background:var(--green-lt);color:var(--green-dk)}
.tag.eco{background:var(--blue-lt);color:var(--blue)}
.tag.inf{background:var(--red-lt);color:var(--red)}
.tag.wel{background:#FFF4E5;color:#9A4A12}
.ach .big{font-family:var(--display);font-size:38px;font-weight:700;line-height:1;margin-bottom:6px;font-variant-numeric:tabular-nums}
.ach h3{font-size:20px;margin-bottom:10px;font-weight:700}
.ach p{font-size:15px;color:var(--ink-2);flex:1}
.ach .chips-mini{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ach .chips-mini span{font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25)}
.ach a.src{font-size:13px;color:var(--ink-3);margin-top:16px;text-decoration:none;border-top:1px dashed rgba(16,24,20,.12);padding-top:12px}
.ach a.src:hover{color:var(--green)}
.ach.feature{grid-column:span 2;color:#fff;border-color:transparent;background:linear-gradient(135deg,#2E7449,#1F5634 60%,#173F27)}
.ach.feature.blue{background:linear-gradient(135deg,var(--orange-2),var(--orange) 50%,var(--orange-dk))}
.ach.feature::before{opacity:.9;background:conic-gradient(from var(--ang),transparent 0 55%,rgba(255,255,255,.2) 65%,#fff 75%,rgba(255,255,255,.2) 85%,transparent 92%)}
.ach.feature::after{background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,255,255,.18),transparent 45%)}
.ach.feature.in:hover{background:linear-gradient(135deg,#358252,#1F5634 60%,#173F27);box-shadow:0 24px 60px rgba(46,116,73,.3)}
.ach.feature.blue.in:hover{background:linear-gradient(135deg,#FF7038,var(--orange) 50%,var(--orange-dk));box-shadow:0 24px 60px rgba(255,79,30,.3)}
.ach.feature p,.ach.feature a.src{color:rgba(255,255,255,.85)}
.ach.feature a.src{border-color:rgba(255,255,255,.3)}
.ach.feature a.src:hover{color:#fff}
.ach.feature .tag{background:rgba(255,255,255,.18);color:#fff}
.ach.feature .big{font-size:56px}
.ach-foot{margin-top:28px;font-size:13px;color:var(--ink-3);text-align:center}
@media (prefers-reduced-motion:reduce){.ach,.ach-head h2 .line span{opacity:1!important;transform:none!important;filter:none!important}.ach::before,.ach-aura i,.pro-badge::after{animation:none}}
@media (hover:none){.ach::before,.ach::after{display:none}.ach.feature::before{display:block}}

/* DIRECTORATE */
.dir{background:var(--bg-2)}
.dir-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:56px;align-items:start}
.dir-intro p{color:var(--ink-2);font-size:17px;margin-top:18px}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pillar{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.pillar .num{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-family:var(--display);font-weight:700;color:#fff;margin-bottom:16px}
.pillar:nth-child(1) .num{background:var(--green)}.pillar:nth-child(2) .num{background:var(--blue)}.pillar:nth-child(3) .num{background:var(--red)}.pillar:nth-child(4) .num{background:var(--ink)}
.pillar h3{font-size:19px;margin-bottom:6px}
.pillar p{font-size:14px;color:var(--ink-2)}
.team{margin-top:56px}
.team h3{font-size:24px;margin-bottom:20px}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.member{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;text-align:center}
.member .av{width:72px;height:72px;border-radius:50%;margin:0 auto 12px;background:var(--line);display:grid;place-items:center;color:var(--ink-3);font-size:12px}
.member strong{display:block;font-size:15px}
.member span{font-size:13px;color:var(--ink-3)}

/* ACTIVITIES */
.repo-tools{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.repo-tools input,.repo-tools select{padding:12px 16px;border:1px solid var(--line);border-radius:12px;font-size:15px;font-family:var(--body);background:#fff}
.repo-tools input{flex:1;min-width:220px}
.act-list{display:grid;gap:12px}
.act{display:grid;grid-template-columns:110px 1fr auto;gap:24px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;background:#fff}
.act .date{font-family:var(--display);line-height:1.1}
.act .date b{font-size:30px;display:block}
.act .date span{font-size:13px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}
.act h3{font-size:18px;margin-bottom:4px}
.act p{font-size:14px;color:var(--ink-2)}
.act .meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.act .meta span{font-size:12px;background:var(--bg-2);padding:3px 10px;border-radius:999px;color:var(--ink-2)}
.act .meta .sample{background:#FFF5E0;color:#8A5A00}
.act a.more{font-size:14px;font-weight:600;color:var(--green);text-decoration:none;white-space:nowrap}
.empty{padding:40px;text-align:center;color:var(--ink-3);border:1px dashed var(--line);border-radius:var(--radius);display:none}
.resources{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.res{border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;gap:14px;align-items:center;text-decoration:none;background:#fff}
.res .ico{width:44px;height:44px;border-radius:12px;background:var(--blue-lt);color:var(--blue);display:grid;place-items:center;font-weight:700;font-size:13px;flex-shrink:0}
.res strong{display:block;font-size:15px}
.res span{font-size:13px;color:var(--ink-3)}

/* REGISTER */
.register{background:var(--ink);color:#fff;border-radius:28px;margin:0 20px;padding:80px 0}
.register .eyebrow{color:#A8CC7E}
.register .sec-head p{color:rgba(255,255,255,.7)}
.reg-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:48px;align-items:start}
.why{display:grid;gap:14px}
.why div{display:flex;gap:14px;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:14px}
.why b{color:#A8CC7E;font-family:var(--display);font-size:20px}
.why p{font-size:14px;color:rgba(255,255,255,.75)}
.why strong{display:block;color:#fff;font-size:15px}
.form-card{background:#fff;color:var(--ink);border-radius:22px;padding:28px}
.tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--bg-2);border-radius:14px;padding:5px;margin-bottom:24px}
.tabs button{border:0;background:none;padding:12px;border-radius:10px;font-weight:600;font-size:15px;cursor:pointer;font-family:var(--body);color:var(--ink-2)}
.tabs button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.06)}


.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{margin-bottom:16px}
.field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.field label .opt{font-weight:400;color:var(--ink-3)}
.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font-size:15px;font-family:var(--body);background:#fff;color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-lt)}
.field.err input,.field.err select,.field.err textarea{border-color:var(--err)}
.field .msg{font-size:13px;color:var(--err);margin-top:4px;display:none}
.field.err .msg{display:block}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.checks input{width:auto;accent-color:var(--green)}
.checks label{display:flex;gap:8px;align-items:center;font-weight:400;font-size:14px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;margin:0}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink-2);margin:6px 0 20px}
.consent input{margin-top:3px;width:auto}
.success{display:none;text-align:center;padding:40px 10px}
.success .tick{width:72px;height:72px;border-radius:50%;background:var(--green-lt);color:var(--green);display:grid;place-items:center;font-size:36px;margin:0 auto 18px}
.success h3{font-size:26px;margin-bottom:8px}
.success p{color:var(--ink-2)}

/* FOOTER */
footer{padding:72px 0 32px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;margin-bottom:48px}
footer h4{font-size:14px;margin-bottom:14px;font-family:var(--body);font-weight:600}
footer ul{list-style:none;display:grid;gap:8px}
footer ul a{text-decoration:none;color:var(--ink-2);font-size:14px}
footer ul a:hover{color:var(--green)}
footer .about{font-size:14px;color:var(--ink-2);margin-top:14px;max-width:320px}
.legal{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--ink-3)}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s, transform .6s}
.reveal.in{opacity:1;transform:none}


/* ===== Brand boxes ===== */
.ach.tint-orange{background:linear-gradient(160deg,#FFF3EC,rgba(255,255,255,.75))}
.ach.tint-orange .big{color:var(--orange)}
.ach.tint-leaf{background:linear-gradient(160deg,#EEF5E6,rgba(255,255,255,.75))}
.ach.tint-leaf .big{color:var(--green)}
.ach.solid-green{grid-column:1/-1;background:linear-gradient(150deg,var(--leaf),var(--green) 70%);color:#fff;border-color:transparent}
.ach.solid-green p,.ach.solid-green a.src{color:rgba(255,255,255,.88)}
.ach.solid-green a.src{border-color:rgba(255,255,255,.3)}
.ach.solid-green .tag{background:rgba(255,255,255,.2);color:#fff}
.ach.solid-green.in:hover{background:linear-gradient(150deg,#7DAF56,var(--green) 70%)}
.pillar:nth-child(2){background:linear-gradient(150deg,var(--orange-2),var(--orange-dk));border-color:transparent;color:#fff}
.pillar:nth-child(2) p{color:rgba(255,255,255,.9)}
.pillar:nth-child(2) .num{background:#fff;color:var(--orange)}
.pillar:nth-child(3) .num{background:var(--leaf)}
.pillar:nth-child(4){background:linear-gradient(150deg,var(--green),var(--green-dk));border-color:transparent;color:#fff}
.pillar:nth-child(4) p{color:rgba(255,255,255,.88)}
.pillar:nth-child(4) .num{background:var(--orange)}
.stat:nth-child(3) b{color:var(--orange)}.stat:nth-child(2) b{color:var(--leaf)}
.res .ico{background:var(--orange-lt);color:var(--orange)}
.register .eyebrow,.why b{color:#FF9A6E}

/* ===== Soft gradient on hover, everywhere ===== */
[data-glow]{--mx:50%;--my:50%;position:relative;isolation:isolate;overflow:hidden}
[data-glow]::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;opacity:0;transition:opacity .45s ease;
  background:radial-gradient(260px circle at var(--mx) var(--my),rgba(255,96,37,.16),rgba(111,158,75,.12) 45%,transparent 72%)}
[data-glow]:hover::after{opacity:1}
[data-glow] > *{position:relative;z-index:1}
.pillar,.member,.act,.res,.stat,.why div,.leader{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.pillar:hover,.member:hover,.act:hover,.res:hover,.leader:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(46,116,73,.12);border-color:rgba(255,79,30,.25)}
.pillar:nth-child(2)[data-glow]::after,.pillar:nth-child(4)[data-glow]::after,.why div[data-glow]::after{background:radial-gradient(260px circle at var(--mx) var(--my),rgba(255,255,255,.22),transparent 70%)}
/* buttons: flowing brand gradient */
.btn-green{background:var(--green);background-image:linear-gradient(110deg,var(--green),var(--green));background-size:300% 100%}
.btn-green:hover{background-image:linear-gradient(110deg,var(--green),var(--leaf),var(--orange),var(--leaf),var(--green));animation:gradFlow 3s linear infinite}
.btn-outline:hover{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box}
@keyframes gradFlow{from{background-position:0% 50%}to{background-position:-300% 50%}}
/* chips & tabs */
.chip{transition:background .3s,color .3s,border-color .3s}
.chip:not(.active):hover{background:linear-gradient(110deg,var(--green-lt),var(--orange-lt));border-color:rgba(255,79,30,.25);color:var(--ink)}
.chip.active{background:var(--grad);border-color:transparent}
.tabs button:not(.active):hover{background:linear-gradient(110deg,var(--green-lt),var(--orange-lt))}
/* text links: gradient ink */
.nav ul a,footer ul a,.act a.more{background:var(--grad);-webkit-background-clip:text;background-clip:text;transition:color .3s}
.nav ul a:hover,footer ul a:hover,.act a.more:hover{color:transparent}
.nav ul a{position:relative}
.nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.nav ul a:hover::after{transform:scaleX(1)}
/* form fields */
.field input:hover,.field select:hover,.field textarea:hover,.repo-tools input:hover,.repo-tools select:hover{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(110deg,rgba(46,116,73,.5),rgba(255,79,30,.5)) border-box}
.checks label{transition:background .3s,border-color .3s}
.checks label:hover{background:linear-gradient(110deg,var(--green-lt),var(--orange-lt));border-color:rgba(255,79,30,.25)}
/* hero accent */
.hero h1 em{background:linear-gradient(110deg,var(--green),var(--leaf) 55%,var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1 em::after{background:var(--orange-lt)}
.hero::before{background:radial-gradient(circle,rgba(255,96,37,.12),rgba(111,158,75,.10) 40%,transparent 70%)}
@media (hover:none){[data-glow]::after{display:none}}
@media (prefers-reduced-motion:reduce){.btn-green:hover{animation:none}}

@media (max-width:960px){
  .hero-grid,.dir-grid,.reg-grid{grid-template-columns:1fr}
  .ach-grid{grid-template-columns:1fr 1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .team-grid{grid-template-columns:1fr 1fr}
  .resources{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .nav ul{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;flex-direction:column;padding:20px;gap:16px;border-bottom:1px solid var(--line)}
  .nav ul.open{display:flex}
  .menu-btn{display:block}
  .nav .btn{display:none}
}
@media (max-width:640px){
  section.block{padding:64px 0}
  .ach-grid,.pillars,.row,.checks{grid-template-columns:1fr}
  .ach.feature,.ach.solid-green{grid-column:auto}
  .act{grid-template-columns:1fr;gap:10px}
  .register{margin:0;border-radius:0;padding:64px 0}
  .form-card{padding:20px}
  .leader:nth-child(2){margin-top:24px}
  .portrait .initials{font-size:44px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* Accessible, responsive version-three adaptations. */
:root{--green:var(--wp--preset--color--green,#2e7449);--orange:var(--wp--preset--color--orange,#ff4f1e)}
[hidden]{display:none!important} .wp-site-blocks{padding:0} .wp-block-group,.wp-block-image,p{margin-block-start:0}
.wp-block-group{box-sizing:border-box} .wp-block-buttons{gap:12px}.wp-block-buttons .wp-block-button__link{font:inherit;font-weight:600;border-radius:999px;padding:14px 22px;background:var(--green);color:white;min-height:48px;text-decoration:none}.wp-block-button.is-style-outline .wp-block-button__link{background:white;color:var(--ink);border:2px solid var(--ink)}
.ach,.reveal{opacity:1;transform:none;filter:none}.ach-head h2 .line span{transform:none}.ach{min-width:0}.ach.hide{display:none}.ach .src{margin-top:16px;padding-top:12px;border-top:1px dashed currentColor;font-size:13px}.ach .src a{color:inherit;text-decoration:none;display:inline-flex;min-height:44px;align-items:center}.ach .big{overflow-wrap:anywhere}
.hero{isolation:isolate}.hero .lead{max-width:540px;font-size:19px;color:var(--ink-2);margin-bottom:30px}.pill{color:var(--green-dk)}
.leaders{align-items:end;grid-template-columns:1.5fr 1fr;gap:16px}.leader:nth-child(2){margin-top:0}.leader{border:2px solid var(--orange);border-radius:100px 100px 20px 20px;min-width:0}.portrait{aspect-ratio:auto;height:400px}.leader:nth-child(2) .portrait{height:200px}.portrait figure{position:absolute;inset:0;margin:0}.portrait img{object-position:center top}.leader-info{min-height:104px}.leader-info h3{font-size:17px;line-height:1.25;letter-spacing:-.02em;margin:0 0 6px}.leader-info p{font-size:12px;color:var(--ink-2);line-height:1.5}
.brand{min-width:0;gap:10px}.brand p{font-size:14px;font-weight:700;line-height:1.3;margin:0}.brand .brand-kicker{font-size:10px;letter-spacing:.06em;color:var(--ink-2);font-weight:400}.brand .wp-block-site-logo{flex:none}.brand .wp-block-site-logo img{width:auto;height:46px;object-fit:contain}.brand-logo{height:46px;width:auto;object-fit:contain}
.rh-navigation{background:transparent;font-size:14px}.rh-navigation .wp-block-navigation__container{gap:22px}.rh-navigation .wp-block-navigation-item__content{display:inline-flex;align-items:center;min-height:44px}.rh-navigation .wp-block-navigation__responsive-container-open,.rh-navigation .wp-block-navigation__responsive-container-close{min-width:48px;min-height:48px;align-items:center;justify-content:center;border-radius:12px}.rh-navigation .wp-block-navigation__responsive-container.is-menu-open{padding:24px;background:white;color:var(--green-dk)}
.community-photo{padding:64px 20px 0}.community-photo figure{margin:0;border-radius:24px;overflow:hidden}.community-photo img{width:100%;height:360px;object-fit:cover;object-position:center 38%}.community-photo figcaption{font-size:13px;padding:14px 20px;background:var(--green-lt);margin:0}.community-photo figcaption a{color:var(--green-dk)}
.pillar .num{margin-bottom:16px}.why>div{display:block}.why .step-number{font-size:20px;color:#ff9a6e;font-weight:700}.why h3{font-size:17px;margin:8px 0;color:white}.why p{margin:0}.register{background:var(--green-dk)}
.res{display:block;min-width:0}.res h3{font-size:20px;margin-bottom:12px}.res p{font-size:14px;line-height:1.6}.res a{display:inline-flex;min-height:44px;align-items:center}.form-card{min-width:0}.rh-demo-form-block .volunteer-form{border:0;padding:0;box-shadow:none;background:white}.rh-demo-form-block .form-field label{font-size:14px;font-weight:600}.rh-demo-form-block .form-wide{margin:0}.rh-demo-form-block .btn{width:100%;background:var(--green);color:white;justify-content:center}.rh-demo-form-block .success-dialog{max-width:min(440px,calc(100vw - 32px));padding:28px}.rh-demo-form-block .success-dialog h2{font-size:32px;margin-bottom:16px}.rh-demo-form-block .success-dialog p{line-height:1.6}.rh-demo-form-block .success-dialog form{display:block;margin-top:20px}.rh-demo-form-block .rhv-consent{font-size:13px}.rh-demo-form-block .rhv-help legend{font-size:14px;font-weight:600}.rh-demo-form-block input,.rh-demo-form-block select,.rh-demo-form-block textarea{min-height:48px}.rh-demo-form-block input[type=checkbox]{min-height:0;flex:none}
.rhv-state-dropdown{z-index:30}.form-card{overflow:visible}.rhv-tabs [role=tab]{min-height:48px}.repository .wp-block-post-template{padding:0;list-style:none}.repository .act{display:block;margin-top:16px}.act .wp-block-post-date{font-size:13px;color:var(--ink-2);margin-bottom:12px}.act .wp-block-post-title{font-size:22px;margin:0 0 12px}.act .wp-block-post-title a{color:var(--green-dk);text-decoration:none}.act .wp-block-post-excerpt{font-size:15px}.act .wp-block-post-terms{font-size:12px;margin-top:12px}.repo-tools{grid-template-columns:2fr 1fr 1fr}.repo-empty{padding:24px;border:1px dashed var(--line);border-radius:16px;color:var(--ink-2)}
.rh-page,.rh-blog{max-width:1180px;margin:auto;padding:64px 20px}.rh-page h1,.rh-blog h1{font-size:clamp(36px,6vw,64px);margin-bottom:24px}.rh-page .wp-block-post-content>*{margin-block:24px}.rh-page .wp-block-post-content h2{font-size:32px}.rh-blog .wp-block-post-template{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;list-style:none}.rh-post-card{padding:24px;border:1px solid var(--line);border-radius:20px;height:100%}.rh-post-card h3{font-size:24px;margin-block:20px 12px}.rh-page img,.rh-post-card img{max-width:100%;height:auto;border-radius:16px}.wp-block-query-pagination{display:flex;gap:16px;margin-top:24px}.wp-block-search{display:flex;gap:12px}.wp-block-search input,.wp-block-search button{padding:12px;border-radius:12px}.foot-grid p a,.legal a{text-decoration:none}.foot-grid h3{font-size:15px;margin-bottom:14px}.foot-grid p{font-size:14px;color:var(--ink-2);line-height:1.7}.foot-grid p+p{margin-top:8px}
.skip-link{position:absolute;top:-100px;left:20px;z-index:100;padding:12px;background:white;color:var(--green-dk)}.skip-link:focus{top:10px}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.menu-btn{min-width:48px;min-height:48px;color:var(--green-dk)}.nav ul a{min-height:44px;display:flex;align-items:center}.hero h1 em{white-space:normal}.sec-head>*{min-width:0}.wrap{width:100%}.stats .stat{min-width:0}.stat-value strong{font-size:40px;font-weight:700;line-height:1.1}.stat>p+p{font-size:13px;margin-top:8px;color:var(--ink-2)}.stat b{overflow-wrap:anywhere}.field input,.field select{min-height:48px}
@media(max-width:1100px){.nav{gap:16px}.rh-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}.rh-navigation .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}}
@media(max-width:960px){.hero{padding-top:40px}.hero-grid{gap:32px}.leaders{max-width:600px}.portrait{height:420px}.leader:nth-child(2) .portrait{height:210px}.repo-tools{grid-template-columns:1fr}.rh-blog .wp-block-post-template{grid-template-columns:1fr 1fr}.nav ul{box-shadow:0 12px 20px #0001}.rh-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:flex-start}}
@media(max-width:640px){.wrap{padding-inline:16px}.hero h1{font-size:clamp(40px,12vw,64px)}.hero p.lead,.hero .lead{font-size:17px}.hero-ctas .wp-block-button,.hero-ctas .btn{width:100%}.hero-ctas .wp-block-button__link{width:100%;text-align:center}.leaders{gap:10px}.portrait{height:320px}.leader:nth-child(2) .portrait{height:160px}.leader{border-radius:80px 80px 16px 16px}.leader-info{padding:12px 10px;min-height:130px}.leader-info h3{font-size:14px}.leader-info p{font-size:11px}.ach .big,.ach.feature .big{font-size:clamp(24px,7vw,36px)}.ach{padding:22px}.team-grid,.foot-grid{grid-template-columns:1fr}.register{margin:0 12px;border-radius:24px;padding:48px 0}.reg-grid{gap:24px}.form-card{padding:18px}.community-photo{padding:40px 16px 0}.community-photo img{height:260px}.rh-blog .wp-block-post-template{grid-template-columns:1fr}.legal{font-size:12px}.brand p{font-size:12px}.brand-kicker{font-size:9px!important}.brand-logo,.brand .wp-block-site-logo img{height:40px}.stats-grid{grid-template-columns:1fr 1fr}.stat{padding:22px 16px}.stat b{font-size:30px}.stat span{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.editor-styles-wrapper .ach,.editor-styles-wrapper .reveal{opacity:1;filter:none;transform:none}.editor-styles-wrapper .portrait figure{position:relative}.editor-styles-wrapper .portrait{height:auto}.editor-styles-wrapper .rh-demo-editor{padding:24px;border:1px dashed var(--green);border-radius:16px;background:var(--green-lt)}
/* Reference interactions, fixed brand strip and a monochrome hero backdrop. */
.flagbar { height:6px; display:flex; width:100%; }
.flagbar span { flex:1 1 0; }
.flagbar .flag-green { background:var(--green); }
.flagbar .flag-leaf { background:var(--leaf); }
.flagbar .flag-orange { background:var(--orange); }
.rh-header:not(:has(.flagbar))::before { content:""; display:block; height:6px; background:linear-gradient(to right,var(--green) 0 33.333%,var(--leaf) 33.333% 66.666%,var(--orange) 66.666% 100%); }
.hero::before { inset:0; width:auto; height:auto; border-radius:0; background:linear-gradient(90deg,rgba(255,255,255,.7),rgba(255,255,255,.38) 52%,rgba(255,255,255,.32)); z-index:-1; pointer-events:none; }
.hero-backdrop { position:absolute!important; inset:0; z-index:-2; pointer-events:none; opacity:.24; }
.hero-backdrop figure { height:100%; margin:0; }
.hero-backdrop img { width:100%; height:100%; object-fit:cover; object-position:center 35%; filter:grayscale(1); }
/* Updating a theme never overwrites an existing edited Home page. */
.hero:not(:has(.hero-backdrop))::after { content:""; position:absolute; inset:0; z-index:-2; pointer-events:none; background:url("../images/youth-background.jpg") center 35% / cover; filter:grayscale(1); opacity:.24; }
.ach { isolation:isolate; }
.ach::before { animation-name:rhv3-border-angle; }
.ach::before,.ach::after { transform:none; }
.ach:focus-within::before,.ach:focus-within::after { opacity:1; }
@media (hover:hover) {
  .wp-block-button:not(.is-style-outline) .wp-block-button__link,
  .rh-demo-form-block .btn { background-image:linear-gradient(110deg,var(--green),var(--green)); background-size:300% 100%; transition:transform .15s,background .15s; }
  .wp-block-button:not(.is-style-outline) .wp-block-button__link:is(:hover,:focus-visible),
  .rh-demo-form-block .btn:not(:disabled):is(:hover,:focus-visible) { background-image:linear-gradient(110deg,var(--green),var(--leaf),var(--orange),var(--leaf),var(--green)); animation:rhv3-gradient-flow 3s linear infinite; transform:translateY(-2px); }
  .wp-block-button.is-style-outline .wp-block-button__link { transition:transform .15s,background .15s,border-color .15s; }
  .wp-block-button.is-style-outline .wp-block-button__link:is(:hover,:focus-visible) { border-color:transparent; background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box; transform:translateY(-2px); }
  .rhv-extended .tabs [role=tab][aria-selected=false]:is(:hover,:focus-visible) { background:linear-gradient(110deg,var(--green-lt),var(--orange-lt)); }
}
@keyframes rhv3-gradient-flow { from{background-position:0% 50%} to{background-position:-300% 50%} }
@media(max-width:960px) { .nav ul { top:100%; } }
@media(max-width:640px) { .hero-backdrop img { object-position:55% center; } }
@media(prefers-reduced-motion:reduce) {
  .ach::before,.wp-block-button .wp-block-button__link,.rh-demo-form-block .btn { animation:none!important; }
}
.community-pattern { padding:64px 20px 0; }
.youth-pattern { height:280px; border-radius:24px; overflow:hidden; border:1px solid #dce6d9; background-color:#fbfdfb; background-image:url('../images/youth-pattern.svg'),linear-gradient(120deg,#edf5ef,#fff 55%,#fff0e9); background-repeat:repeat,no-repeat; background-size:480px 240px,cover; }
.brand,.brand > div { min-width:0; }
.community-banner { padding:64px 20px 0; }
/* Equal registration choices, with the existing map as a quiet decorative layer. */
.community-panel.registration-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding:0; background:none; border:0; box-shadow:none; overflow:visible; align-items:stretch; }
.registration-path { position:relative; isolation:isolate; overflow:hidden; min-width:0; padding:44px; border-radius:28px; color:#fff; display:flex; flex-direction:column; align-items:flex-start; background:#205b3b; }
.registration-path.support-group-path { background:#c43e14; }
.registration-path::before { content:""; position:absolute; z-index:-1; inset:0; background:url('../images/community-geometry.svg') center / cover; opacity:.055; pointer-events:none; }
.registration-path::after { content:""; position:absolute; z-index:-1; width:260px; height:220px; right:-28px; bottom:-25px; background:url('../images/nigeria-community.png') center / contain no-repeat; opacity:.12; pointer-events:none; }
.support-group-path::after { filter:grayscale(1); opacity:.10; }
.registration-path .eyebrow { color:#fff; font-size:12px; margin:0 0 24px; letter-spacing:.13em; }
.registration-path h2 { color:#fff; font-size:clamp(32px,3.5vw,48px); line-height:1.08; letter-spacing:-.035em; margin:0 0 20px; }
.registration-path p:not(.eyebrow) { color:#fff; font-size:17px; line-height:1.7; max-width:430px; margin:0 0 30px; }
.registration-path-cta { margin-top:auto; padding-top:12px; width:100%; }
.registration-path .wp-block-button:not(.is-style-outline) .wp-block-button__link { background:#fff; background-image:none; border:2px solid transparent; color:#205b3b; font-weight:700; border-radius:999px; min-height:54px; padding:16px 24px; max-width:100%; text-align:center; }
.support-group-path .wp-block-button:not(.is-style-outline) .wp-block-button__link { color:#9b3010; }
.registration-path .wp-block-button:not(.is-style-outline) .wp-block-button__link:is(:hover,:focus-visible) { background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box; color:#143d27; transform:translateY(-2px); box-shadow:0 8px 24px #0002; }
.support-group-path .wp-block-button:not(.is-style-outline) .wp-block-button__link:is(:hover,:focus-visible) { color:#7c260c; }
.registration-path .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus-visible { outline:3px solid #fff; outline-offset:5px; }
#v3-form-mount { scroll-margin-top:140px; }
@media(max-width:760px) {
  .community-banner { padding:40px 16px 0; }
  .community-panel.registration-paths { grid-template-columns:minmax(0,1fr); gap:20px; }
  .registration-path { padding:32px; }
}
@media(max-width:400px) {
  .registration-path { padding:26px 22px; }
  .registration-path p:not(.eyebrow) { font-size:15px; }
  .registration-path-cta .wp-block-button,.registration-path-cta .wp-block-button__link { width:100%; }
  .registration-path .wp-block-button:not(.is-style-outline) .wp-block-button__link { padding:14px 16px; font-size:14px; }
}
.brand strong,.brand p:not(.brand-kicker) { line-height:1.25; }
@media(max-width:640px) {
  .community-pattern { padding:40px 16px 0; }
  .youth-pattern { height:200px; background-size:360px 180px,cover; }
  .nav > .brand { max-width:calc(100% - 48px); }
  .brand strong { font-size:14px; }
}
/* Supplied Directorate content, separate archives and programmes. */
.content-section h2{font-size:clamp(34px,5vw,56px);line-height:1.08;letter-spacing:-.045em;max-width:900px;margin:0 0 26px}
.section-body>.eyebrow{margin-bottom:16px;color:var(--green)}
.section-body>p{max-width:850px;font-size:17px;line-height:1.75;margin:0 0 22px;color:var(--ink-2)}
.section-body>h3{font-size:26px;margin:32px 0 18px}.section-body>.wp-block-list{margin:0 0 28px;padding-left:22px;line-height:1.9;color:var(--ink-2)}
.overview{padding:44px 0}.overview-grid,.three-grid,.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.two-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:28px 0}
.info-card{min-width:0;padding:28px;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:0 8px 24px #153e2506;display:flex;flex-direction:column;gap:16px}
.info-card h3{font-size:26px;line-height:1.15;letter-spacing:-.025em;margin:0}.info-card p{font-size:16px;line-height:1.75;color:var(--ink-2);margin:0}.info-card>.eyebrow{font-size:11px;color:var(--green)}.info-card a{color:var(--green);font-weight:600;line-height:1.5}.info-card>.wp-block-buttons,.info-card>p:last-child{margin-top:auto}.info-card .wp-block-buttons a{color:white;display:inline-block}
.about-section,.programmes-section{background:#f5f8f3}.content-notice{padding:22px 24px;background:#edf4e9;border:1px solid #dce6d9;border-left:4px solid var(--green);border-radius:16px;line-height:1.7;margin:24px 0!important;color:var(--green-dk)!important}
.archive-tools{margin:28px 0 20px}.archive-tools label{display:block;font-size:14px;font-weight:600;margin-bottom:10px}.archive-tools input{width:100%;max-width:720px;padding:16px 20px;min-height:52px;border:1px solid var(--line);border-radius:16px;font:inherit;background:white}.archive-count{font-size:14px;color:var(--ink-2);margin:20px 0}
.archive-card{display:flex;flex-direction:column;min-height:0}.archive-card .record-label{font-size:clamp(26px,3vw,38px);line-height:1.1;font-weight:700;letter-spacing:-.04em;margin:14px 0}.archive-card h3{font-size:22px;line-height:1.2}.archive-card>p:not(.record-label):not(.tag):not(.src){font-size:16px;line-height:1.7}.record-meta{margin-top:auto;padding-top:24px}.record-meta ul{padding:0;list-style:none;font-size:13px;line-height:1.8;margin:0}.archive-card .src{margin-top:18px}.archive-card .src a{overflow-wrap:anywhere}.programme-label{font-size:36px!important;font-weight:700;color:var(--green)!important;letter-spacing:-.04em}
.resource-grid{margin-top:28px}.resource-card details{margin-top:auto}.resource-card summary{cursor:pointer;font-weight:600;color:var(--green);padding:14px 0;min-height:48px}.resource-card details p{margin:14px 0}.resource-card details a{display:inline-block;min-height:44px}
.registration-copy h3{font-size:28px;color:white;margin:0 0 22px}.registration-copy p{font-size:16px;line-height:1.8;color:#ffffffde;margin-bottom:22px}.registration-copy a{color:white;text-underline-offset:5px}.register>.wrap>.eyebrow{margin-bottom:16px}.register>.wrap>h2{font-size:clamp(38px,6vw,64px);margin-bottom:32px}
.contact-details{padding:24px 0;min-width:0}.contact-details h3{font-size:25px;margin:0 0 20px}.contact-details p{font-size:16px;line-height:1.7;margin:0 0 16px}.contact-details h3:not(:first-child){margin-top:36px}
.enquiry-card{border:1px solid var(--line);border-radius:24px;padding:28px;background:#f7faf5;min-width:0}.enquiry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.enquiry-form h3,.enquiry-form>p{grid-column:1/-1;margin:0}.enquiry-form>p{font-size:14px;line-height:1.65;color:var(--ink-2)}.enquiry-form label{display:block;margin-bottom:8px;font-size:14px;font-weight:600}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;max-width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #b9cbb7;border-radius:12px;font:inherit;background:white}.enquiry-form .form-wide{grid-column:1/-1}.enquiry-form button{justify-content:center}.policy-item{padding:24px 0;border-bottom:1px solid var(--line);scroll-margin-top:140px}.policy-item h3{font-size:26px;margin-bottom:16px}.policy-item p{max-width:850px;line-height:1.75;color:var(--ink-2);margin-bottom:14px}
.hero h1{font-size:clamp(42px,5.2vw,74px)}.hero .lead{font-size:17px}.hero-ctas{display:flex;flex-wrap:wrap}.hero-ctas .wp-block-button__link{font-size:14px}.foot-grid{grid-template-columns:2fr 1fr 1fr}.foot-grid .brand{display:flex}.foot-grid .brand p{color:var(--ink)}
#home,#about,#achievements,#programmes,#activities,#leadership,#resources,#register,#contact,#volunteer-map{scroll-margin-top:108px}
@media(max-width:1300px){.nav ul{display:none;position:absolute;top:100%;left:16px;right:16px;padding:18px;border:1px solid var(--line);border-radius:16px;background:white;z-index:99;max-height:calc(100dvh - 120px);overflow:auto}.nav ul.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.menu-btn{display:flex;align-items:center;justify-content:center}.nav{position:relative}.rh-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}.rh-navigation .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}}
@media(min-width:1301px){.nav ul{gap:18px}.nav ul a,.rh-navigation{font-size:13px}.rh-navigation .wp-block-navigation__container{gap:18px}.brand strong{font-size:17px}}
@media(max-width:960px){.overview-grid,.three-grid,.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(42px,7vw,66px)}}
@media(max-width:640px){.overview-grid,.three-grid,.resource-grid{grid-template-columns:1fr;gap:18px}.info-card{padding:24px}.content-section{padding-block:48px}.section-body>p{font-size:16px}.content-section h2{font-size:36px;overflow-wrap:anywhere}.info-card h3{font-size:24px}.archive-card .record-label{font-size:28px}.hero h1{font-size:clamp(38px,11vw,58px)}.hero .lead{font-size:16px}.brand strong{font-size:13px}.brand small{font-size:9px}.content-notice{padding:18px}.enquiry-form{grid-template-columns:1fr}.enquiry-card{padding:20px}.foot-grid{grid-template-columns:1fr}.foot-grid .brand p{font-size:14px}.reg-grid{grid-template-columns:1fr}.chips{gap:8px}.chip{font-size:13px}.registration-copy p{font-size:15px}.rh-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:6px}}
.repo-tools input,.repo-tools select{min-width:0;max-width:100%;width:100%}

/* Keep exported WordPress button padding inside its layout box. */
.wp-block-buttons .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center}

/* Dedicated page titles and a compact navigation current-page indicator. */
.content-section .section-body>h1,.register h1{font-size:clamp(36px,4vw,56px);line-height:1.08;letter-spacing:-.035em;margin-bottom:24px}
.nav a[aria-current="page"],.rh-navigation .current-menu-item>a{color:var(--green);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:8px}
.overview-grid .info-card .wp-block-buttons{margin-top:auto;padding-top:20px}.overview-grid .info-card{display:flex;flex-direction:column}

/* Reference pills and leadership portraits in the Home and About heroes. */
.home-hero{background:#fff}
.home-hero::before,.home-hero:not(:has(.hero-backdrop))::after{display:none}
.home-hero .hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:center}
.home-hero h1{font-size:clamp(40px,4.2vw,60px)}
.home-hero .leaders{min-width:0;width:100%}
.home-hero-copy{max-width:950px}
.home-hero p.lead{max-width:none;margin-bottom:20px}
.home-hero .hero-ctas{gap:16px;margin-top:28px}
.home-hero .hero-ctas .wp-block-button__link{font-size:20px;font-weight:700;line-height:1.25;min-height:70px;padding:20px 28px;border-radius:999px}
.home-hero .hero-ctas .is-style-outline .wp-block-button__link{border:3px solid var(--ink);background-color:#fff;color:var(--ink)}
.about-hero{background:#fff}
.about-hero::before,.about-hero:not(:has(.hero-backdrop))::after{display:none}
.about-hero .hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:48px}
.about-hero h1{font-size:clamp(38px,4vw,58px);margin-bottom:24px}
.about-hero h3:not(.leader-info h3){font-size:23px;line-height:1.3;margin-bottom:20px}
.about-hero .eyebrow{color:var(--green);margin-bottom:18px}
.about-hero .lead{max-width:none;margin-bottom:18px;line-height:1.75}
.about-hero .leaders{min-width:0;width:100%}
@media(max-width:960px){.home-hero .hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}.home-hero .leaders{max-width:600px}.about-hero .hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}.about-hero .leaders{max-width:600px}}
@media(max-width:640px){.home-hero .hero-ctas{gap:16px;margin-top:28px}.home-hero .hero-ctas .wp-block-button__link{font-size:18px;min-height:64px;padding:18px 22px}.about-hero h1{font-size:clamp(34px,10vw,52px)}.about-hero h3:not(.leader-info h3){font-size:21px}}

/* Alternating chronology inspired by the supplied archival timeline. */
.presidential-timeline{padding:76px 0;background:#f7f8f1;overflow:hidden}
.timeline-heading{text-align:center;max-width:760px;margin:0 auto 44px}
.timeline-heading .eyebrow{color:var(--green);margin-bottom:18px}
.timeline-heading h2{font-size:clamp(36px,4.5vw,60px);letter-spacing:-.04em;line-height:1.05;margin-bottom:20px}
.timeline-heading p:not(.eyebrow){font-size:17px;line-height:1.7;color:var(--ink-2)}
.milestone-track{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-color:var(--green) #dce6d9;scrollbar-width:thin;padding-bottom:22px}
.milestone{position:relative;flex:0 0 340px;min-width:0;display:grid;grid-template-rows:300px 300px;padding-inline:22px;scroll-snap-align:start}
.milestone::before{content:"";position:absolute;top:300px;left:0;right:0;border-top:1px dashed #93ad86}
.milestone::after{content:"";position:absolute;left:22px;top:294px;width:12px;height:12px;background:var(--green);border:2px solid #f7f8f1;border-radius:50%}
.milestone-year{font-family:Georgia,'Times New Roman',serif;font-size:25px;font-weight:700;line-height:1;padding:14px 16px;background:#e6eddb;color:var(--green-dk);border-radius:10px;justify-self:start;margin:0;position:relative;z-index:1}
.milestone-detail{min-width:0;position:relative;color:var(--green-dk)}
.milestone-detail h3{font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:1.2;margin:10px 0 14px;letter-spacing:-.02em}
.milestone-detail p{font-size:15px;line-height:1.65;margin-bottom:12px;color:var(--ink-2)}
.milestone-detail .milestone-date{font-size:12px;line-height:1.4;color:var(--green);font-weight:600;margin-bottom:10px}
.milestone-detail .milestone-status{font-size:12px;color:var(--green);font-weight:600;margin-bottom:8px}
.milestone-detail .milestone-source{font-size:13px;margin:0}
.milestone-source a{display:inline-flex;align-items:center;min-height:44px;color:var(--green);text-underline-offset:4px}
.milestone-below .milestone-year{grid-row:1;align-self:end;margin-bottom:24px}
.milestone-below .milestone-detail{grid-row:2;padding-top:30px}
.milestone-above .milestone-year{grid-row:2;align-self:start;margin-top:24px}
.milestone-above .milestone-year{background:#fff0e6;color:#a64017}
.milestone-above .milestone-detail{grid-row:1;align-self:end;padding-bottom:28px}
.milestone-first .milestone-year{font-size:100px;letter-spacing:-.065em;background:transparent;padding:0;margin-bottom:32px}
.timeline-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px}
.timeline-controls p{font-size:13px;color:var(--ink-2)}
.timeline-arrows{display:flex;gap:10px}
.timeline-arrows button{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid var(--green);border-radius:50%;background:white;color:var(--green-dk);font-size:24px;cursor:pointer}
.timeline-arrows button:hover{background:var(--green);color:white}
.timeline-arrows button:disabled{opacity:.35;cursor:default;background:white;color:var(--green)}
.timeline-footer{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:36px;border-top:1px solid #dce6d9;padding-top:32px}
.timeline-note{font-size:13px;line-height:1.7;color:var(--ink-2);max-width:620px;margin:0}
.timeline-footer .wp-block-buttons{flex-shrink:0}
@media(max-width:740px){
 .presidential-timeline{padding:52px 0}.timeline-heading{text-align:left;margin-bottom:36px}.timeline-heading h2{font-size:38px}
 .milestone-track{display:block;overflow:visible;padding:0;border-left:1px dashed #93ad86;margin-left:8px}
 .milestone{display:flex;flex-direction:column;gap:20px;padding:0 0 32px 24px}
 .milestone::before{display:none}.milestone::after{left:-7px;top:20px}
 .milestone .milestone-year,.milestone-first .milestone-year{font-size:28px;letter-spacing:normal;background:#e6eddb;padding:14px 16px;margin:0;align-self:flex-start}
 .milestone .milestone-detail{padding:0;align-self:stretch}.milestone-detail h3{font-size:25px}
 .timeline-controls{display:none}.timeline-footer{flex-direction:column;align-items:stretch;gap:24px;margin-top:0}.timeline-footer .wp-block-button,.timeline-footer .wp-block-button__link{width:100%}
}
