
  :root{
    --green: #14401F;
    --green-deep: #0D2E16;
    --clay: #A3372E;
    --sand: #F1E7D2;
    --sand-light: #F8F2E5;
    --ink: #211D16;
    --gold: #B8863B;
    --line: rgba(33,29,22,0.14);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Work Sans', sans-serif;
    color:var(--ink);
    background:var(--sand-light);
    line-height:1.6;
    font-size:17px;
  }
  h1,h2,h3,h4{
    font-family:'Fraunces', serif;
    font-weight:500;
    line-height:1.15;
    color:var(--green-deep);
  }
  a{color:inherit;}
  img{display:block; max-width:100%; height:auto;}
  .wrap{max-width:1120px; margin:0 auto; padding:0 32px;}
  .wrap-narrow{max-width:760px; margin:0 auto; padding:0 32px;}

  /* ---- Nav ---- */
  header.site{
    position:sticky; top:0; z-index:50;
    background:rgba(248,242,229,0.94);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  nav{
    max-width:1120px; margin:0 auto; padding:16px 32px;
    display:flex; align-items:center; justify-content:space-between;
  }
  nav .brand{display:flex; align-items:center; gap:10px;}
  nav .brand img{height:34px; width:auto;}
  nav .brand span{font-family:'Fraunces',serif; font-weight:600; font-size:1.05rem; color:var(--green-deep); letter-spacing:0.01em;}
  nav ul{list-style:none; display:flex; gap:28px;}
  nav ul a{font-size:0.94rem; text-decoration:none; color:var(--ink); border-bottom:1px solid transparent; padding-bottom:2px; transition:border-color .2s;}
  nav ul a:hover{border-color:var(--clay);}
  nav .cta{
    background:var(--clay); color:#fff; padding:9px 20px; border-radius:2px;
    text-decoration:none; font-size:0.92rem; font-weight:500;
    white-space:nowrap;
  }
  .nav-toggle{display:none;}
  @media(max-width:820px){
    nav ul.links{display:none;}
    .nav-toggle{display:block; background:none; border:none; font-size:1.6rem; color:var(--green-deep); cursor:pointer;}
  }

  /* ---- Hero ---- */
  .hero{position:relative; color:#fff; overflow:hidden;}
  .hero img{
    width:100%; height:78vh; min-height:460px; object-fit:cover;
    object-position: center 30%;
  }
  .hero::after{
    content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(180deg, rgba(13,46,22,0.15) 0%, rgba(13,46,22,0.55) 68%, rgba(13,46,22,0.86) 100%);
  }
  .hero-content{
    position:absolute; left:0; right:0; bottom:0; padding:52px 32px 44px; z-index:2;
    max-width:1120px; margin:0 auto;
  }
  .hero-eyebrow{
    font-family:'Fraunces',serif; font-style:italic; font-weight:500;
    color:#E7D9B8; font-size:1.05rem; margin-bottom:10px;
  }
  .hero h1{
    color:#fff; font-size:clamp(2.1rem, 5vw, 3.6rem); max-width:820px; margin-bottom:16px;
  }
  .hero p.lede{max-width:560px; color:#EFE8D6; font-size:1.08rem; margin-bottom:26px;}
  .hero-buttons{display:flex; gap:14px; flex-wrap:wrap;}
  .btn{
    display:inline-block; padding:13px 26px; text-decoration:none; font-size:0.96rem; font-weight:500;
    border-radius:2px; transition:transform .15s ease, background .2s;
  }
  .btn-primary{background:var(--clay); color:#fff;}
  .btn-primary:hover{background:#8C2C24;}
  .btn-ghost{border:1px solid rgba(255,255,255,0.6); color:#fff;}
  .btn-ghost:hover{background:rgba(255,255,255,0.12);}

  /* ---- Section basics ---- */
  section{padding:88px 0;}
  section.tight{padding:64px 0;}
  .section-tag{
    font-family:'Fraunces',serif; font-style:italic; color:var(--clay); font-size:1.02rem; margin-bottom:10px;
  }
  section h2{font-size:clamp(1.7rem, 3vw, 2.35rem); max-width:640px;}
  .lead-text{font-size:1.12rem; max-width:680px; color:#3A342A;}
  hr.rule{border:none; border-top:1px solid var(--line); margin:0;}

  /* ---- Who we are / Why ---- */
  .who-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:start; margin-top:36px;}
  @media(max-width:840px){.who-grid{grid-template-columns:1fr;}}
  .why-box{
    background:var(--green-deep); color:#EFE8D6; padding:34px 32px; border-radius:2px;
  }
  .why-box h3{color:#F1E7D2; font-size:1.25rem; margin-bottom:12px;}
  .why-box p{font-size:0.98rem; color:#D9CFB4;}

  /* ---- Quote block (ED word) ---- */
  .quote-section{background:var(--sand); }
  .quote-layout{display:grid; grid-template-columns:220px 1fr; gap:48px; align-items:center;}
  @media(max-width:760px){.quote-layout{grid-template-columns:1fr; text-align:left;}}
  .quote-layout img{border-radius:2px; width:100%; aspect-ratio:3/3.4; object-fit:cover;}
  blockquote{
    font-family:'Fraunces',serif; font-style:italic; font-weight:500;
    font-size:clamp(1.25rem, 2.6vw, 1.65rem); color:var(--green-deep);
    border-left:3px solid var(--clay); padding-left:28px;
  }
  .quote-attrib{margin-top:18px; font-family:'Work Sans',sans-serif; font-style:normal; font-size:0.95rem; color:var(--ink); font-weight:600;}
  .quote-attrib span{display:block; font-weight:400; color:#6B6250; font-size:0.88rem; margin-top:2px;}

  /* ---- Values ---- */
  .values-row{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:44px; border-top:1px solid var(--line);}
  .values-row > div{padding:26px 22px 0; border-right:1px solid var(--line);}
  .values-row > div:last-child{border-right:none;}
  @media(max-width:760px){
    .values-row{grid-template-columns:1fr 1fr;}
    .values-row > div:nth-child(2){border-right:none;}
  }
  .values-row h4{font-size:1.05rem; color:var(--clay); margin-bottom:8px;}
  .values-row p{font-size:0.92rem; color:#4A4436;}

  /* ---- Programs ---- */
  .program{
    display:grid; grid-template-columns:1fr 1fr; gap:0;
    border-top:1px solid var(--line);
  }
  .program:last-child{border-bottom:1px solid var(--line);}
  .program .ptext{padding:46px 44px 46px 0;}
  .program .pnum{font-family:'Fraunces',serif; font-style:italic; color:var(--gold); font-size:0.98rem; display:block; margin-bottom:10px;}
  .program h3{font-size:1.5rem; margin-bottom:12px;}
  .program p.pdesc{color:#4A4436; margin-bottom:16px; font-size:0.98rem;}
  .program ul{padding-left:0; list-style:none;}
  .program ul li{
    font-size:0.94rem; padding:8px 0 8px 20px; border-top:1px solid var(--line);
    position:relative; color:#3A342A;
  }
  .program ul li::before{content:"—"; position:absolute; left:0; color:var(--clay);}
  .program .pvisual{
    background:var(--green-deep); display:flex; align-items:center; justify-content:center;
    padding:44px;
  }
  .program .pvisual .mark{
    font-family:'Fraunces',serif; font-style:italic; color:#7C9C7F; font-size:5.5rem; line-height:1;
    opacity:0.5;
  }
  .program:nth-child(even) .ptext{order:2; padding:46px 0 46px 44px;}
  .program:nth-child(even) .pvisual{order:1;}
  @media(max-width:800px){
    .program, .program:nth-child(even){grid-template-columns:1fr;}
    .program .ptext, .program:nth-child(even) .ptext{padding:32px 0; order:2;}
    .program .pvisual{order:1; padding:30px;}
  }

  /* ---- Stories ---- */
  .story{
    display:grid; grid-template-columns:0.85fr 1.15fr; gap:52px; align-items:center;
    padding:56px 0;
  }
  .story:nth-child(even){grid-template-columns:1.15fr 0.85fr;}
  .story:nth-child(even) .story-img{order:2;}
  .story-img img{border-radius:2px; width:100%; object-fit:cover; aspect-ratio:4/5;}
  .story-label{font-family:'Fraunces',serif; font-style:italic; color:var(--clay); font-size:0.98rem; margin-bottom:8px;}
  .story h3{font-size:1.6rem; margin-bottom:6px;}
  .story .loc{font-size:0.88rem; color:#6B6250; margin-bottom:16px;}
  .story p{color:#3A342A; font-size:0.99rem; margin-bottom:14px;}
  .story .pull{font-family:'Fraunces',serif; font-style:italic; color:var(--green-deep); font-size:1.1rem; margin-top:16px;}
  @media(max-width:780px){
    .story, .story:nth-child(even){grid-template-columns:1fr;}
    .story-img{order:1 !important; margin-bottom:8px;}
  }

  /* ---- Gallery ---- */
  .gallery-grid{
    columns:4 220px; column-gap:14px; margin-top:40px;
  }
  .gallery-grid img{
    width:100%; margin-bottom:14px; border-radius:2px; break-inside:avoid;
  }
  @media(max-width:700px){ .gallery-grid{columns:2 160px;} }

  /* ---- Governance ---- */
  table.board{width:100%; border-collapse:collapse; margin-top:32px;}
  table.board th, table.board td{
    text-align:left; padding:14px 16px; border-top:1px solid var(--line); font-size:0.95rem;
  }
  table.board th{font-family:'Fraunces',serif; font-weight:500; font-style:italic; color:var(--clay); font-size:0.9rem;}
  table.board tr:last-child td{border-bottom:1px solid var(--line);}

  .tech-team{margin-top:36px; display:grid; grid-template-columns:repeat(2,1fr); gap:10px 40px;}
  @media(max-width:640px){.tech-team{grid-template-columns:1fr;}}
  .tech-team div{padding:12px 0; border-top:1px solid var(--line); font-size:0.94rem;}
  .tech-team strong{color:var(--green-deep); font-weight:600;}

  .leaders{margin-top:56px; display:grid; grid-template-columns:repeat(2,1fr); gap:44px;}
  @media(max-width:700px){.leaders{grid-template-columns:1fr;}}
  .leader-card{display:flex; gap:18px;}
  .leader-card img{width:76px; height:76px; object-fit:cover; border-radius:50%; flex-shrink:0;}
  .leader-card h4{font-size:1.05rem; margin-bottom:2px;}
  .leader-card .role{font-size:0.85rem; color:var(--clay); margin-bottom:10px;}
  .leader-card p{font-size:0.92rem; color:#4A4436;}

  /* ---- Get Involved ---- */
  .involve{background:var(--green-deep); color:#EFE8D6;}
  .involve h2{color:#F6F1E7;}
  .involve .lead-text{color:#D9CFB4;}
  .ways{margin-top:40px; display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid rgba(255,255,255,0.16);}
  .ways > div{padding:24px 20px 24px 0; border-right:1px solid rgba(255,255,255,0.16);}
  .ways > div:last-child{border-right:none; padding-right:0;}
  @media(max-width:800px){
    .ways{grid-template-columns:1fr 1fr;}
    .ways > div{padding:20px;}
  }
  .ways h4{font-family:'Fraunces',serif; font-style:italic; color:#E7D9B8; font-size:1.05rem; margin-bottom:8px; font-weight:500;}
  .ways p{font-size:0.9rem; color:#C9BFA4;}

  /* ---- Contact / footer ---- */
  .contact-section{padding-top:80px; padding-bottom:0;}
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px;}
  @media(max-width:760px){.contact-grid{grid-template-columns:1fr; gap:36px;}}
  .contact-grid h3{font-size:1.2rem; margin-bottom:16px;}
  .contact-grid p, .contact-grid a{font-size:0.98rem; color:#3A342A; text-decoration:none;}
  .contact-grid .row{padding:10px 0; border-top:1px solid var(--line);}
  .contact-grid .row:last-child{border-bottom:1px solid var(--line);}
  .proverb{
    margin-top:70px; padding:46px 0; text-align:center; border-top:1px solid var(--line);
  }
  .proverb p{font-family:'Fraunces',serif; font-style:italic; font-size:1.3rem; color:var(--green-deep); max-width:600px; margin:0 auto 8px;}
  .proverb span{font-size:0.85rem; color:#6B6250;}

  footer{background:var(--green-deep); color:#B9AF95; padding:30px 0; font-size:0.86rem;}
  footer .fwrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;}
  footer a{color:#D9CFB4; text-decoration:none;}

  .fade-in{opacity:0; transform:translateY(14px); transition:opacity .7s ease, transform .7s ease;}
  .fade-in.visible{opacity:1; transform:translateY(0);}
