:root{
    --navy:#0A1F3D;
    --navy-2:#0E2747;
    --navy-3:#163461;
    --ink:#16233a;
    --ink-soft:#56627a;
    --red:#B21F2D;
    --red-bright:#CE2F3C;
    --red-deep:#8C1822;
    --silver:#C7CCD4;
    --silver-bright:#E8EBEF;
    --silver-deep:#8B95A2;
    --steel:#5C6675;
    --paper:#EEF1F5;
    --paper-2:#E4E8EE;
    --white:#FBFCFD;
    --line:rgba(199,204,212,.30);
    --ease:cubic-bezier(.2,.7,.2,1);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:"Public Sans",system-ui,sans-serif;background:var(--navy);color:var(--silver-bright);-webkit-font-smoothing:antialiased;overflow-x:hidden}
  h1,h2,h3,.serif{font-family:"Fraunces",Georgia,serif;font-weight:600;letter-spacing:-.01em;line-height:1.05}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  .wrap{max-width:1140px;margin:0 auto;padding:0 28px}
  .eyebrow{font-size:13px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--red-bright);display:inline-block}

  /* chrome/silver text for big numerals */
  .chrome{background:linear-gradient(180deg,#ffffff 0%,#D7DCE2 46%,#9AA3AF 72%,#EAEDF1 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 1px 0 rgba(0,0,0,.15)}

  /* brand divider: silver line — red diamond — silver line */
  .divider{display:flex;align-items:center;gap:14px;justify-content:center}
  .divider .ln{height:1px;width:64px;background:linear-gradient(90deg,transparent,var(--silver))}
  .divider .ln.r{background:linear-gradient(90deg,var(--silver),transparent)}
  .divider .dia{width:9px;height:9px;background:var(--red);transform:rotate(45deg);box-shadow:0 0 0 3px rgba(178,31,45,.12)}

  /* ---------- Sticky nav ---------- */
  header.bar{position:sticky;top:0;z-index:50;background:rgba(10,31,61,.85);backdrop-filter:blur(10px);border-bottom:1px solid rgba(199,204,212,.16)}
  .bar .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
  .bar .brand{display:flex;align-items:center;gap:12px;font-family:"Fraunces",serif;font-size:18px}
  .bar .brand img{height:42px;width:auto}
  .bar nav{display:flex;align-items:center;gap:24px}
  .bar nav a.link{font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--silver);opacity:.85;transition:opacity .2s,color .2s}
  .bar nav a.link:hover{opacity:1;color:var(--red-bright)}
  .btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:14.5px;letter-spacing:.02em;padding:12px 22px;border-radius:2px;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,color .25s,border-color .25s;cursor:pointer;border:1px solid transparent;white-space:nowrap}
  .btn-red{background:linear-gradient(180deg,var(--red-bright),var(--red-deep));color:#fff;box-shadow:0 8px 26px -10px rgba(178,31,45,.75)}
  .btn-red:hover{transform:translateY(-2px);box-shadow:0 16px 38px -10px rgba(178,31,45,.9)}
  .btn-steel{border-color:rgba(199,204,212,.4);color:var(--silver-bright)}
  .btn-steel:hover{border-color:var(--silver-bright);color:#fff;transform:translateY(-2px)}
  .btn .arr{transition:transform .25s var(--ease)}
  .btn:hover .arr{transform:translateX(4px)}
  @media(max-width:860px){.bar nav .link{display:none}}

  /* ---------- Hero ---------- */
  .hero{position:relative;padding:78px 0 90px;text-align:center;overflow:hidden}
  .hero::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(900px 520px at 50% -8%,rgba(199,204,212,.16),transparent 60%),radial-gradient(700px 500px at 50% 118%,rgba(178,31,45,.16),transparent 60%),radial-gradient(700px 500px at 88% 8%,rgba(22,52,97,.9),transparent 60%)}
  .hero::after{content:"";position:absolute;inset:0;opacity:.05;z-index:0;background-image:repeating-linear-gradient(135deg,#fff 0 1px,transparent 1px 22px)}
  .hero .wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
  .hero-logo{height:138px;width:auto;filter:drop-shadow(0 18px 40px rgba(0,0,0,.5));margin-bottom:22px}
  .hero h1{font-size:clamp(34px,5.4vw,66px);max-width:14ch;margin:18px auto 0;color:#fff}
  .hero h1 .accent{color:var(--red-bright);font-style:italic;font-weight:500;display:block}
  .hero .sub{font-size:clamp(16px,1.7vw,19px);color:var(--silver);max-width:60ch;margin:26px auto 0;line-height:1.65;opacity:.92}
  .hero .cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:38px}
  .hero .anchor{margin-top:40px;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(199,204,212,.6)}
  .hero .anchor b{color:var(--silver-bright);font-weight:700}

  /* reveal animation */
  .rise{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .rise.in{opacity:1;transform:none}
  .d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}
  .d4{transition-delay:.32s}.d5{transition-delay:.40s}.d6{transition-delay:.48s}

  /* ---------- Section scaffolding ---------- */
  section{position:relative}
  .pad{padding:92px 0}
  .head{text-align:center;max-width:42ch;margin:0 auto 54px}
  .head h2{font-size:clamp(28px,3.6vw,44px);margin:16px 0 0}
  .head p{margin-top:18px;line-height:1.7;font-size:17px}

  /* light section */
  .light{background:var(--paper);color:var(--ink)}
  .light .eyebrow{color:var(--red)}
  .light .head h2{color:var(--navy)}
  .light .head p{color:var(--ink-soft)}
  .light .divider .ln{background:linear-gradient(90deg,transparent,var(--steel))}
  .light .divider .ln.r{background:linear-gradient(90deg,var(--steel),transparent)}
  .light .divider .dia{background:var(--red)}

  /* ---------- Mission ---------- */
  .mission .lead{font-family:"Fraunces",serif;font-size:clamp(22px,2.7vw,30px);line-height:1.4;text-align:center;max-width:24ch;margin:0 auto;color:var(--navy)}
  .mission .body{display:grid;grid-template-columns:1fr 1fr;gap:46px;margin-top:52px;max-width:880px;margin-left:auto;margin-right:auto}
  .mission .body p{line-height:1.8;font-size:16.5px;color:var(--ink-soft)}
  .mission .body p strong{color:var(--ink)}
  .stamp{margin:54px auto 0;max-width:760px;border:1px solid var(--paper-2);border-left:3px solid var(--red);border-radius:3px;padding:22px 28px;text-align:center;background:#fff}
  .stamp span{font-size:13.5px;letter-spacing:.04em;color:var(--ink-soft)}
  .stamp b{color:var(--navy)}
  @media(max-width:720px){.mission .body{grid-template-columns:1fr;gap:24px}}

  /* ---------- Founder / About ---------- */
  .founder{background:linear-gradient(180deg,var(--navy),var(--navy-2))}
  .fgrid{display:grid;grid-template-columns:360px 1fr;gap:58px;align-items:center}
  .portrait{position:relative;justify-self:center}
  .portrait .frame{padding:8px;background:linear-gradient(150deg,#EAEDF1,#9AA3AF 45%,#5C6675 70%,#EAEDF1);border-radius:5px;box-shadow:0 30px 60px -28px rgba(0,0,0,.8)}
  .portrait img{border-radius:3px;display:block;width:340px;height:auto}
  .portrait .ribbon{position:absolute;left:-14px;bottom:26px;background:linear-gradient(180deg,var(--red-bright),var(--red-deep));color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:9px 16px;border-radius:2px;box-shadow:0 12px 26px -10px rgba(178,31,45,.7)}
  .fcontent h2{font-size:clamp(28px,3.4vw,42px);color:#fff;margin:14px 0 6px}
  .fcontent .role{font-size:14.5px;letter-spacing:.04em;color:var(--silver);font-weight:600;margin-bottom:22px}
  .fcontent .role b{color:var(--red-bright)}
  .fcontent p{line-height:1.8;font-size:16px;color:var(--silver);opacity:.94;margin-bottom:16px}
  .fcontent p strong{color:#fff;font-weight:600}
  .pquote{font-family:"Fraunces",serif;font-style:italic;font-size:clamp(18px,2vw,22px);line-height:1.45;color:var(--silver-bright);border-left:2px solid var(--red);padding-left:20px;margin:24px 0 26px}
  .chips{display:flex;flex-wrap:wrap;gap:10px}
  .chip{font-size:12.5px;font-weight:600;letter-spacing:.03em;color:var(--silver-bright);border:1px solid rgba(199,204,212,.3);background:rgba(255,255,255,.04);padding:9px 14px;border-radius:2px}
  .chip b{color:var(--red-bright);font-weight:700}
  @media(max-width:880px){.fgrid{grid-template-columns:1fr;gap:36px}.portrait img{width:280px}.fcontent{text-align:left}}

  /* ---------- Council Leadership ---------- */
  .leadcard{display:grid;grid-template-columns:260px 1fr;gap:44px;align-items:center;max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--paper-2);border-radius:5px;padding:36px 40px;box-shadow:0 24px 50px -34px rgba(10,31,61,.5)}
  .leadcard .photo{justify-self:center}
  .leadcard .photo .frame{padding:6px;background:linear-gradient(150deg,#EAEDF1,#9AA3AF 48%,#5C6675 70%,#EAEDF1);border-radius:5px}
  .leadcard .photo img{border-radius:3px;width:248px;height:auto;display:block}
  .leadcard h3{font-family:"Fraunces",serif;font-size:28px;color:var(--navy);margin-bottom:4px}
  .leadcard .role{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:linear-gradient(180deg,var(--red-bright),var(--red-deep));padding:6px 13px;border-radius:2px;margin-bottom:16px}
  .leadcard .cred{font-size:13px;letter-spacing:.04em;color:var(--steel);font-weight:600;margin-bottom:16px}
  .leadcard p{line-height:1.75;font-size:15.5px;color:var(--ink-soft)}
  .leadcard p strong{color:var(--ink)}
  .leadcard p+p{margin-top:13px}
  .leadnote{text-align:center;margin-top:30px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);font-weight:600}
  @media(max-width:760px){.leadcard{grid-template-columns:1fr;gap:24px;padding:30px 26px;text-align:center}.leadcard .role{margin-left:auto;margin-right:auto}}

  /* ---------- Triple Win ---------- */
  .triwin{background:linear-gradient(180deg,var(--navy-2),var(--navy))}
  .cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .twcard{position:relative;border:1px solid rgba(199,204,212,.22);border-radius:4px;padding:38px 30px 34px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0));transition:transform .35s var(--ease),border-color .35s,box-shadow .35s;overflow:hidden}
  .twcard::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--red),var(--red-deep));opacity:0;transition:opacity .35s}
  .twcard:hover{transform:translateY(-6px);border-color:var(--silver-deep);box-shadow:0 26px 50px -28px rgba(0,0,0,.85)}
  .twcard:hover::before{opacity:1}
  .twcard .num{font-family:"Fraunces",serif;font-size:15px;color:var(--red-bright);letter-spacing:.2em}
  .twcard h3{font-size:25px;margin:14px 0 14px;color:#fff}
  .twcard p{line-height:1.7;color:var(--silver);font-size:15.5px;opacity:.92}
  .twcard .tag{margin-top:18px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--silver-deep);font-weight:700}
  @media(max-width:880px){.cards3{grid-template-columns:1fr}}

  /* ---------- Programs ---------- */
  .progrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--paper-2);border:1px solid var(--paper-2);border-radius:4px;overflow:hidden}
  .prog{background:var(--white);padding:34px 30px;transition:background .3s}
  .prog:hover{background:#fff}
  .prog .ic{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--red);border-radius:50%;color:var(--red);margin-bottom:18px}
  .prog .ic svg{width:21px;height:21px}
  .prog h3{font-size:21px;color:var(--navy);margin-bottom:10px}
  .prog p{line-height:1.65;color:var(--ink-soft);font-size:15px}
  @media(max-width:880px){.progrid{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.progrid{grid-template-columns:1fr}}

  /* ---------- Stats ---------- */
  .stats{background:var(--navy-2);border-top:1px solid rgba(199,204,212,.18);border-bottom:1px solid rgba(199,204,212,.18)}
  .statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
  .stat .big{font-family:"Fraunces",serif;font-size:clamp(38px,5vw,58px);font-weight:600;line-height:1}
  .stat .lbl{margin-top:12px;font-size:14px;color:var(--silver);line-height:1.5;opacity:.9}
  .stats .note{text-align:center;margin-top:40px;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(199,204,212,.5)}
  @media(max-width:760px){.statgrid{grid-template-columns:1fr 1fr;gap:38px 20px}}

  /* ---------- Events ---------- */
  .events{background:var(--paper);color:var(--ink)}
  .events .eyebrow{color:var(--red)}
  .events .head h2{color:var(--navy)}
  .evlist{max-width:840px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
  .ev{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:24px;border:1px solid var(--paper-2);border-radius:4px;padding:22px 26px;background:#fff;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
  .ev:hover{transform:translateX(6px);border-color:var(--red);box-shadow:0 16px 34px -22px rgba(10,31,61,.45)}
  .ev .date{text-align:center;border-right:1px solid var(--paper-2);padding-right:18px}
  .ev .date .m{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);font-weight:700}
  .ev .date .d{font-family:"Fraunces",serif;font-size:34px;color:var(--navy);font-weight:600;line-height:1}
  .ev .mid h3{font-size:20px;color:var(--ink);margin-bottom:4px}
  .ev .mid .evbadge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:linear-gradient(180deg,var(--red-bright),var(--red-deep));padding:3px 9px;border-radius:2px;margin-left:10px;vertical-align:middle;position:relative;top:-2px;box-shadow:0 6px 16px -8px rgba(178,31,45,.7)}
  .ev .mid p{font-size:14px;color:var(--ink-soft)}
  .ev .where{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);font-weight:700;text-align:right}
  .events .foot{text-align:center;margin-top:32px;font-size:14px;color:var(--ink-soft)}
  @media(max-width:620px){.ev{grid-template-columns:84px 1fr;gap:16px}.ev .where{display:none}.ev .date .d{font-size:28px}}

  /* ---------- Donate band ---------- */
  .donate{position:relative;text-align:center;padding:104px 0;overflow:hidden;background:linear-gradient(180deg,var(--navy-2),var(--navy))}
  .donate::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(700px 420px at 50% 0%,rgba(178,31,45,.22),transparent 62%),radial-gradient(620px 380px at 50% 100%,rgba(199,204,212,.1),transparent 60%)}
  .donate .wrap{position:relative;z-index:1}
  .donate h2{font-size:clamp(30px,4vw,52px);margin:18px auto 0;max-width:16ch;color:#fff}
  .donate h2 em{color:var(--red-bright);font-style:italic;font-weight:500}
  .donate p{max-width:56ch;margin:24px auto 0;line-height:1.7;font-size:17px;color:var(--silver)}
  .donate .cta{margin-top:40px}
  .donate .btn-red{padding:17px 40px;font-size:17px}
  .donate .secure{margin-top:18px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(199,204,212,.55)}

  /* ---------- Footer ---------- */
  footer{background:#07182f;padding:56px 0 40px;border-top:1px solid rgba(199,204,212,.16)}
  .ftop{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap}
  .fbrand{max-width:420px}
  .fbrand img{height:64px;margin-bottom:18px}
  .fbrand p{font-size:14px;line-height:1.7;color:rgba(199,204,212,.7)}
  .fbrand .quote{font-family:"Fraunces",serif;font-style:italic;color:var(--silver-bright);font-size:16px;margin-top:14px;line-height:1.5}
  .flinks{display:flex;gap:54px;flex-wrap:wrap}
  .flinks h4{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--red-bright);margin-bottom:16px}
  .flinks a,.flinks span{display:block;font-size:14px;color:rgba(199,204,212,.78);margin-bottom:11px;transition:color .2s}
  .flinks a:hover{color:#fff}
  .fbottom{margin-top:46px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:rgba(199,204,212,.5)}

/* Extracted inline spacing utilities */
.mt-24{margin-top:24px}
.mt-34{margin-top:34px}

