:root{
    --red:#D6452F;
    --red-deep:#B83A26;
    --amber:#E8A82E;
    --ink:#2c2724;
    --ink-soft:#5b534d;
    --cream:#ffffff;
    --cream-2:#fbf8f4;
    --line:#e7ddd2;
    --head:"Oswald",sans-serif;
    --body:"Open Sans",system-ui,sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:var(--body);color:var(--ink);background:var(--cream);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px}
  a{color:inherit;text-decoration:none}
  .eyebrow{font-family:var(--body);font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
  h1,h2,h3{font-family:var(--head);font-weight:600;line-height:1.05;text-transform:uppercase;letter-spacing:.01em}
  .sec-title{font-size:clamp(1.9rem,3.6vw,2.6rem);color:var(--red);margin:.18em 0 .7em}
  .btn{display:inline-block;font-family:var(--head);font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:.92rem;padding:13px 30px;border-radius:3px;transition:transform .2s,background .25s,color .25s,border-color .25s;cursor:pointer}
  .btn-amber{background:var(--amber);color:#fff}
  .btn-amber:hover{background:#d6991f;transform:translateY(-2px)}
  .btn-outline{border:1.5px solid var(--red);color:var(--red);background:transparent}
  .btn-outline:hover{background:var(--red);color:#fff;transform:translateY(-2px)}
  .btn-outline-white{border:1.5px solid #fff;color:#fff;background:transparent}
  .btn-outline-white:hover{background:#fff;color:var(--red)}
  header{position:fixed;top:0;left:0;right:0;z-index:60;background:var(--red);box-shadow:0 1px 0 rgba(0,0,0,.06)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:72px}
  .brand{display:flex;align-items:center;gap:12px;color:#fff}
  .brand .glyph{width:34px;height:34px;flex:none}
  .brand .txt{font-family:var(--head);font-weight:600;text-transform:uppercase;line-height:1;font-size:1.04rem;letter-spacing:.02em}
  .brand .txt small{display:block;font-size:.66rem;letter-spacing:.22em;font-weight:400;opacity:.9;margin-top:3px}
  .nav-links{display:flex;align-items:center;gap:30px}
  .nav-links a{color:#fff;font-family:var(--head);font-weight:400;text-transform:uppercase;font-size:.82rem;letter-spacing:.05em;opacity:.92;transition:opacity .2s}
  .nav-links a:hover{opacity:1}
  .nav-links .pill{background:var(--amber);padding:9px 18px;border-radius:3px;font-weight:500}
  .menu-btn{display:none;background:none;border:1px solid rgba(255,255,255,.6);color:#fff;font-family:var(--head);text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;padding:8px 14px;border-radius:3px;cursor:pointer}
  .hero{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding-top:72px;
    background:linear-gradient(rgba(30,18,10,.42),rgba(30,18,10,.66)),url("hero_moughenda.jpg");
    background-size:cover;background-position:center 38%}
  .hero-inner{max-width:820px;padding:60px 28px}
  .hero .eyebrow{color:#fff;opacity:.92;letter-spacing:.32em}
  .hero h1{font-size:clamp(2.3rem,5.6vw,4rem);margin:.3em 0 .45em;font-weight:600}
  .hero p{font-size:clamp(1rem,1.5vw,1.18rem);max-width:620px;margin:0 auto;font-weight:400;opacity:.95}
  .hero .btns{display:flex;gap:14px;justify-content:center;margin-top:38px;flex-wrap:wrap}
  section.band{position:relative;overflow:hidden}
  .pad{padding:96px 0}
  .split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
  .stack p{margin-bottom:1em;color:var(--ink-soft)}
  .aphorism{font-family:var(--head);text-transform:none;font-weight:400;color:var(--red);font-size:1.15rem;line-height:1.4;margin-top:18px}
  .photo{border-radius:4px;overflow:hidden;box-shadow:0 18px 40px rgba(60,30,15,.18)}
  .photo img{width:100%;height:100%;object-fit:cover;display:block}
  .red-band{background:var(--red);color:#fff}
  .panel-white{background:#fff;color:var(--ink);border-radius:4px;padding:48px 44px}
  .panel-white .sec-title{color:var(--red)}
  .panel-white .stack p{color:var(--ink-soft)}
  .programs{background:var(--cream-2);text-align:center}
  .programs .sec-title{margin-bottom:.1em}
  .prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px;text-align:left}
  .pcard{border:1px solid var(--line);border-radius:5px;background:#fff;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s}
  .pcard:hover{box-shadow:0 16px 36px rgba(60,30,15,.14);transform:translateY(-4px)}
  .pcard .pimg{height:188px;overflow:hidden}
  .pcard .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
  .pcard:hover .pimg img{transform:scale(1.05)}
  .pcard .pbody{padding:26px 26px 30px;flex:1;display:flex;flex-direction:column}
  .pcard h3{color:var(--red);font-size:1.5rem;font-weight:600;line-height:1.1}
  .pcard .dur{font-family:var(--head);color:var(--amber);font-size:.86rem;letter-spacing:.05em;margin:4px 0 14px}
  .pcard .pdesc{color:var(--ink-soft);font-size:.92rem;flex:1}
  .pcard ul{list-style:none;margin:16px 0 22px}
  .pcard li{font-size:.86rem;color:var(--ink-soft);padding:5px 0 5px 18px;position:relative}
  .pcard li::before{content:"";position:absolute;left:0;top:13px;width:6px;height:6px;background:var(--red);border-radius:50%}
  .tiles-band{position:relative;color:#fff;text-align:center;
    background:linear-gradient(rgba(70,35,20,.72),rgba(70,35,20,.72)),url("https://images.unsplash.com/photo-1448375240586-882707db888b?auto=format&fit=crop&w=2000&q=70");
    background-size:cover;background-position:center}
  .tiles-band .eyebrow{color:#fff;opacity:.85}
  .tiles-band h2{color:#fff;font-size:clamp(1.8rem,3.6vw,2.6rem);margin:.2em 0 .4em}
  .tiles-band .sub{color:rgba(255,255,255,.9);max-width:640px;margin:0 auto 44px}
  .tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
  .tile{background:var(--red);border-radius:4px;padding:30px 16px;transition:background .25s,transform .25s}
  .tile:hover{background:var(--red-deep);transform:translateY(-4px)}
  .tile .ic{width:40px;height:40px;margin:0 auto 14px;color:#fff}
  .tile h4{font-family:var(--head);font-weight:500;text-transform:uppercase;font-size:.96rem;line-height:1.2;letter-spacing:.02em}
  .leaders{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:18px}
  .leader{border-top:3px solid var(--red);padding-top:20px}
  .leader h4{font-family:var(--head);font-weight:600;text-transform:uppercase;color:var(--red);font-size:1.3rem;margin-bottom:8px}
  .leader p{font-size:.94rem;color:var(--ink-soft)}
  .support{background:var(--red);color:#fff;text-align:center}
  .support .sec-title{color:#fff}
  .support .sub{color:rgba(255,255,255,.92);max-width:600px;margin:0 auto 46px}
  .sup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left}
  .sup{background:#fff;border-radius:5px;padding:34px 28px;transition:transform .25s}
  .sup:hover{transform:translateY(-5px)}
  .sup h3{color:var(--red);font-size:1.32rem;font-weight:600;margin-bottom:10px}
  .sup p{color:var(--ink-soft);font-size:.92rem;margin-bottom:22px}
  .closing{text-align:center;background:var(--cream-2)}
  .closing h2{color:var(--red);font-size:clamp(1.9rem,4vw,2.8rem);max-width:720px;margin:0 auto .35em}
  .closing p{color:var(--ink-soft);max-width:540px;margin:0 auto 36px}
  .closing .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
  footer{background:#2c2724;color:#d9cfc4;padding:62px 0 34px}
  .foot{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
  .foot .brand .txt{color:#fff}
  .foot .tag{margin-top:14px;font-size:.9rem;max-width:320px;color:#b6a89c}
  .foot-cols{display:flex;gap:54px;flex-wrap:wrap}
  .fcol h5{font-family:var(--head);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--amber);margin-bottom:14px;font-weight:500}
  .fcol a{display:block;font-size:.9rem;padding:5px 0;color:#c8bbae;transition:color .2s}
  .fcol a:hover{color:#fff}
  .foot-base{margin-top:46px;padding-top:22px;border-top:1px solid #463e37;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem;color:#9b8e82}
  .motif{position:absolute;width:230px;height:auto;opacity:.5;pointer-events:none;z-index:0}
  .band > .wrap{position:relative;z-index:2}
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}
  @media(max-width:920px){
    .nav-links{display:none}
    .menu-btn{display:block}
    .split{grid-template-columns:1fr;gap:40px}
    .prog-grid{grid-template-columns:1fr}
    .tiles{grid-template-columns:repeat(2,1fr)}
    .sup-grid{grid-template-columns:1fr}
    .leaders{grid-template-columns:1fr}
    .pad{padding:68px 0}
    .panel-white{padding:34px 26px}
  }
  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
  :focus-visible{outline:3px solid var(--amber);outline-offset:3px}


/* ===== shared additions for inner pages ===== */
.ph-slot{display:flex;align-items:center;justify-content:center;text-align:center;background:repeating-linear-gradient(45deg,#f3ece2,#f3ece2 12px,#efe6d9 12px,#efe6d9 24px);color:#a99a89;border:1px dashed #cdbfae;border-radius:4px;font-family:var(--head);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;padding:24px;min-height:240px}
.ph-slot.tall{min-height:420px}
.photo .ph-slot{min-height:100%;border-radius:4px}
.subhero{position:relative;color:#fff;text-align:center;padding:150px 0 80px;background:var(--red)}
.subhero .eyebrow{color:#fff;opacity:.85}
.subhero h1{font-size:clamp(2.1rem,4.6vw,3.3rem);margin-top:.2em}
.subhero p{max-width:600px;margin:18px auto 0;color:rgba(255,255,255,.92)}
.prose p{margin-bottom:1em;color:var(--ink-soft)}
.prose h3{color:var(--red);font-size:1.5rem;margin:1.4em 0 .5em}
.stat-row-band{background:var(--cream-2);text-align:center}
.statline{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.statbox .n{font-family:var(--head);font-weight:600;color:var(--red);font-size:2.6rem;line-height:1}
.statbox .l{font-size:.86rem;color:var(--ink-soft);margin-top:8px}
.steps{counter-reset:step;display:grid;gap:18px;margin-top:10px}
.step{position:relative;padding:22px 24px 22px 70px;background:#fff;border:1px solid var(--line);border-radius:5px}
.step::before{counter-increment:step;content:counter(step);position:absolute;left:20px;top:20px;width:34px;height:34px;background:var(--red);color:#fff;font-family:var(--head);display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.05rem}
.step h4{font-family:var(--head);text-transform:uppercase;color:var(--ink);font-size:1.05rem;margin-bottom:4px}
.step p{font-size:.92rem;color:var(--ink-soft)}
@media(max-width:920px){.statline{grid-template-columns:repeat(2,1fr);gap:30px}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
