:root{
    --forest:#184734;
    --forest-deep:#0F2E20;
    --forest-mid:#2C6B4C;
    --forest-pale:#E7EFE8;
    --orange:#D67A2A;
    --orange-soft:#F2B784;
    --ivory:#FBF8F3;
    --cream:#F4EEE6;
    --charcoal:#2D2D2D;
    --gray:#6F6F6F;
    --line: rgba(24,71,52,0.14);
    --radius-lg: 120px 24px 120px 24px;
    --radius-sm: 28px;
    --maxw: 1240px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--ivory);
    color:var(--charcoal);
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 40px;}
  h1,h2,h3,h4{font-family:'Cormorant Garamond', serif; font-weight:500; color:var(--forest-deep); line-height:1.08;}
  .eyebrow{
    font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600; letter-spacing:.16em;
    text-transform:uppercase; color:var(--orange); display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{content:""; width:22px; height:1px; background:var(--orange);}
  p{color:var(--gray); line-height:1.75; font-size:16px;}
  .btn{
    display:inline-flex; align-items:center; gap:8px; padding:14px 30px; border-radius:999px;
    font-weight:600; font-size:14.5px; letter-spacing:.03em; cursor:pointer; border:1.5px solid transparent;
    transition:all .25s ease;
  }
  .btn-primary{background:var(--forest); color:var(--ivory);}
  .btn-primary:hover{background:var(--forest-deep); transform:translateY(-2px);}
  .btn-outline{border-color:var(--forest); color:var(--forest);}
  .btn-outline:hover{background:var(--forest); color:var(--ivory); transform:translateY(-2px);}
  .btn-orange{background:var(--orange); color:var(--ivory);}
  .btn-orange:hover{background:#bd671f; transform:translateY(-2px);}
  ::selection{background:var(--orange-soft); color:var(--forest-deep);}

  /* reveal animation */
  .reveal{opacity:0; transform:translateY(26px); transition:opacity .8s ease, transform .8s ease;}
  .reveal.in{opacity:1; transform:none;}
  @media (prefers-reduced-motion: reduce){ .reveal{opacity:1; transform:none; transition:none;} }

  /* ---------- NAV ---------- */
  header{position:sticky; top:0; z-index:100; background:rgba(251,248,243,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
  nav{display:flex; align-items:center; justify-content:space-between; padding:18px 0;}
  .logo{display:flex; align-items:center; gap:12px;}
  .logo-mark{width:42px; height:42px; border-radius:50%; background:conic-gradient(from 220deg, #ffffff, #ffffff, #ffffff); display:flex; align-items:center; justify-content:center;}
  .logo-mark span{width:34px; height:34px; border-radius:50%; background:var(--ivory); display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-weight:600; color:var(--forest); font-size:16px;}
  .logo-text{line-height:1.15;}
  .logo-text .name{font-family:'Cormorant Garamond',serif; font-size:17px; font-weight:600; color:var(--forest-deep); letter-spacing:.01em;}
  .logo-text .sub{font-size:9.5px; letter-spacing:.22em; color:var(--orange); font-weight:600;}
  .nav-links{display:flex; gap:34px; list-style:none;}
  .nav-links a{font-size:14px; font-weight:500; color:var(--charcoal); position:relative; padding-bottom:4px;}
  .nav-links a.active{color:var(--forest);}
  .nav-links a.active::after{content:""; position:absolute; left:0; bottom:0; width:100%; height:2px; background:var(--orange);}
  .nav-links a:hover{color:var(--forest);}
  .nav-right{display:flex; align-items:center; gap:18px;}
  .icon-btn{width:36px; height:36px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--forest); cursor:pointer;}
  .nav-toggle{display:none;}

  /* ticker / running tagline panel */
  .ticker-panel{background:var(--forest); overflow:hidden; white-space:nowrap; border-bottom:1px solid rgba(255,255,255,.08);}
  .ticker-track{display:inline-flex; animation:scrollTicker 32s linear infinite; padding:9px 0;}
  .ticker-track span{color:var(--cream); font-size:11.5px; letter-spacing:.18em; font-weight:600; text-transform:uppercase; padding:0 26px; display:inline-flex; align-items:center; gap:26px;}
  .ticker-track span::after{content:"✦"; color:var(--orange); font-size:10px;}
  @keyframes scrollTicker{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

  /* ---------- HERO ---------- */
  .hero{position:relative; padding:100px 0 90px; overflow:hidden;}
  .hero::before{
    content:""; position:absolute; top:-180px; right:-220px; width:640px; height:640px; border-radius:50%;
    background:radial-gradient(circle at 30% 30%, var(--forest-pale), transparent 70%); z-index:0;
  }
  .hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; position:relative; z-index:1;}
  .hero h1{font-size:58px; letter-spacing:-.01em; margin-bottom:22px;}
  .hero h1 em{font-style:italic; color:var(--orange); font-weight:500;}
  .hero p.lede{font-size:18px; max-width:480px; margin-bottom:34px;}
  .hero-ctas{display:flex; gap:16px; margin-bottom:44px;}
  .hero-meta{display:flex; gap:36px; padding-top:26px; border-top:1px solid var(--line);}
  .hero-meta div b{display:block; font-family:'Cormorant Garamond',serif; font-size:26px; color:var(--forest-deep);}
  .hero-meta div span{font-size:12px; color:var(--gray); letter-spacing:.03em;}

  .hero-art{position:relative; height:520px;}
  .orbit-ring{position:absolute; border:1px solid var(--line); border-radius:50%;}
  .orbit-ring.r1{width:480px; height:480px; top:10px; left:0;}
  .orbit-ring.r2{width:400px; height:400px; top:50px; left:40px; border-style:dashed; border-color:rgba(214,122,42,.35);}
  .globe{
    position:absolute; width:320px; height:320px; border-radius:50%; top:90px; left:80px;
    background:
      radial-gradient(circle at 35% 30%, rgba(255,255,255,.5), transparent 45%),
      conic-gradient(from 200deg at 50% 50%, #2C6B4C, #184734 30%, #0F2E20 55%, #2C6B4C 80%, #2C6B4C);
    box-shadow: 0 40px 70px -20px rgba(15,46,32,.45), inset -18px -18px 50px rgba(0,0,0,.25);
  }
  .globe::after{
    content:""; position:absolute; inset:0; border-radius:50%;
    background-image: radial-gradient(circle at 20% 65%, rgba(255,255,255,.18) 0 18px, transparent 19px),
                       radial-gradient(circle at 60% 20%, rgba(255,255,255,.14) 0 26px, transparent 27px),
                       radial-gradient(circle at 75% 70%, rgba(255,255,255,.16) 0 14px, transparent 15px);
  }
  .satellite{position:absolute; width:16px; height:16px; border-radius:50%; background:var(--orange); top:60px; right:30px; box-shadow:0 0 0 6px rgba(214,122,42,.18);}
  .leaf-line{position:absolute; bottom:0; right:-10px; width:220px; opacity:.7;}

  /* ---------- SECTION HEADERS ---------- */
   section{padding:100px 0;} 
  .sec-head{max-width:640px; margin-bottom:56px;}
  .sec-head h2{font-size:42px; margin-top:14px;}
  .sec-head p{margin-top:16px; font-size:17px;}
  .sec-head.center{margin-left:auto; margin-right:auto; text-align:center;}
  .sec-head.center .eyebrow{justify-content:center;}
  .sec-head.center .eyebrow::before{display:none;}

  /* ---------- FOCUS AREAS ---------- */
  /* .focus{background:var(--cream);} */
  .focus-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
  .focus-card{background:var(--ivory); border-radius:var(--radius-sm); padding:34px 26px; border:1px solid var(--line); transition:transform .3s ease, box-shadow .3s ease;}
  .focus-card:hover{transform:translateY(-6px); box-shadow:0 24px 50px -20px rgba(24,71,52,.25);}
  .focus-ic{width:50px; height:50px; border-radius:50%; background:var(--forest-pale); display:flex; align-items:center; justify-content:center; margin-bottom:20px; color:var(--forest);}
  .focus-card h4{font-size:21px; margin-bottom:10px; font-weight:600;}
  .focus-card p{font-size:14.5px;}

  /* ---------- ABOUT / DIRECTOR ---------- */
  .about-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center;}
  .about-photo{position:relative;}
  .about-photo .frame{
    width:100%; aspect-ratio:4/5; border-radius:var(--radius-lg); overflow:hidden; position:relative;
    background:linear-gradient(160deg, var(--forest-pale), var(--cream));
    border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  }
  .about-photo .frame .ph-label{font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--forest-mid); font-size:16px; text-align:center; padding:20px;}
  .about-photo .badge{
    position:absolute; bottom:-24px; left:-24px; background:var(--forest); color:var(--ivory); border-radius:50%;
    width:118px; height:118px; display:flex; align-items:center; justify-content:center; text-align:center;
    font-family:'Cormorant Garamond',serif; font-size:13px; line-height:1.3; padding:10px; box-shadow:0 20px 40px -14px rgba(15,46,32,.5);
  }
  .about-copy .eyebrow{margin-bottom:14px;}
  .about-copy h2{font-size:38px; margin-bottom:8px;}
  .about-copy .role{font-size:14.5px; color:var(--orange); font-weight:600; letter-spacing:.03em; margin-bottom:18px;}
  .about-copy .founded{font-size:12.5px; color:var(--gray); letter-spacing:.06em; text-transform:uppercase; margin-bottom:22px;}
  .values-row{display:flex; gap:26px; margin-top:26px; flex-wrap:wrap;}
  .values-row div{font-size:13px; font-weight:600; color:var(--forest); background:var(--forest-pale); padding:8px 16px; border-radius:999px;}

  /* ---------- DIRECTOR QUOTE BAND (signature element) ---------- */
  .quote-band{background:var(--forest); position:relative; padding:110px 0; overflow:hidden;}
  .quote-band .wrap{position:relative; z-index:2;}
  .quote-branch{position:absolute; top:0; right:0; height:100%; opacity:.5; z-index:1;}
  .quote-branch2{position:absolute; bottom:-40px; left:-60px; width:340px; opacity:.35; z-index:1; transform:scaleX(-1);}
  .quote-mark{font-family:'Playfair Display',serif; font-size:100px; color:var(--orange); line-height:0.4; opacity:.85;}
  .quote-band blockquote{
    font-family:'Playfair Display',serif; font-style:italic; color:var(--ivory); font-size:34px; line-height:1.5;
    max-width:840px; margin:10px 0 30px;
  }
  .quote-attr{display:flex; align-items:center; gap:16px;}
  .quote-attr .dash{width:40px; height:1px; background:var(--orange);}
  .quote-attr b{color:var(--ivory); font-family:'Inter',sans-serif; font-size:15px; font-weight:600;}
  .quote-attr span{color:var(--orange-soft); font-size:13px; display:block;}

  /* ---------- IMPACT COUNTERS ---------- */
  .impact{background:var(--forest-deep); color:var(--ivory);}
  .impact .sec-head h2{color:var(--ivory);}
  .impact .sec-head p{color:rgba(251,248,243,.7);}
  .impact .eyebrow::before{background:var(--orange);}
  .impact-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.1); border-radius:var(--radius-sm); overflow:hidden;}
  .impact-cell{background:var(--forest-deep); padding:40px 30px; text-align:left;}
  .impact-cell .num{font-family:'Cormorant Garamond',serif; font-size:52px; color:var(--orange-soft); display:flex; align-items:baseline; gap:2px;}
  .impact-cell .lbl{font-size:13px; color:rgba(251,248,243,.75); margin-top:8px; letter-spacing:.02em;}

  /* ---------- PROGRAMS ---------- */
  .programs-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .prog-card{border-radius:var(--radius-sm); overflow:hidden; background:var(--cream); border:1px solid var(--line);}
  .prog-img{aspect-ratio:16/11; background:linear-gradient(150deg, var(--forest-pale), var(--cream) 60%); display:flex; align-items:center; justify-content:center; position:relative;}
  .prog-img .tag{position:absolute; top:16px; left:16px; background:var(--ivory); color:var(--forest); font-size:11px; font-weight:600; letter-spacing:.05em; padding:6px 14px; border-radius:999px; text-transform:uppercase;}
  .prog-body{padding:26px 24px 28px;}
  .prog-body h4{font-size:22px; margin-bottom:8px;}
  .prog-body p{font-size:14px; margin-bottom:16px;}
  .prog-link{font-size:13.5px; font-weight:600; color:var(--orange); display:inline-flex; align-items:center; gap:6px;}

  /* ---------- ACHIEVEMENTS / RESEARCH split ---------- */
  .ar-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
  .ar-card{border-radius:var(--radius-sm); padding:40px; border:1px solid var(--line);}
  .ar-card.forest{background:var(--forest); color:var(--ivory);}
  .ar-card.forest h3{color:var(--ivory);}
  .ar-card.forest p{color:rgba(251,248,243,.75);}
  .ar-card.cream{background:var(--cream);}
  .ar-list{list-style:none; margin-top:24px;}
  .ar-list li{display:flex; gap:14px; padding:14px 0; border-top:1px solid rgba(0,0,0,.08); font-size:14.5px;}
  .ar-card.forest .ar-list li{border-top:1px solid rgba(255,255,255,.15); color:var(--ivory);}
  .ar-list li b{color:var(--orange); font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:600;}

  /* ---------- NEWSROOM ---------- */
  .news-grid{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:26px;}
  .news-card{border-bottom:1px solid var(--line); padding-bottom:22px;}
  .news-card .date{font-size:12px; color:var(--orange); font-weight:600; letter-spacing:.05em; text-transform:uppercase; margin-bottom:10px;}
  .news-card h4{font-size:20px; margin-bottom:8px;}
  .news-card p{font-size:14px;}
  .news-feat{grid-row:span 2; background:var(--forest-pale); border-radius:var(--radius-sm); padding:34px; border:none; display:flex; flex-direction:column; justify-content:flex-end; min-height:420px;}
  .news-feat .date{color:var(--forest-mid);}
  .news-feat h3{font-size:28px; margin-bottom:10px;}

  /* ---------- EVENTS ---------- */
  .events-wrap{border:1px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; background:var(--ivory);}
  .events-tabs{display:flex; border-bottom:1px solid var(--line);}
  .events-tabs div{padding:18px 32px; font-size:14px; font-weight:600; color:var(--gray); cursor:pointer;}
  .events-tabs div.active{color:var(--forest); background:var(--cream); border-bottom:2px solid var(--orange);}
  .event-row{display:grid; grid-template-columns:110px 1fr auto; gap:26px; align-items:center; padding:24px 34px; border-bottom:1px solid var(--line);}
  .event-row:last-child{border-bottom:none;}
  .event-date{background:var(--forest); color:var(--ivory); border-radius:14px; padding:12px; text-align:center; font-family:'Cormorant Garamond',serif;}
  .event-date .d{font-size:26px; font-weight:600; line-height:1;}
  .event-date .m{font-size:11px; letter-spacing:.1em; text-transform:uppercase;}
  .event-info h4{font-size:18px; margin-bottom:4px;}
  .event-info span{font-size:13px; color:var(--gray);}

  /* ---------- TESTIMONIALS ---------- */
  .testi{background:var(--cream);}
  .testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .testi-card{background:var(--ivory); border-radius:var(--radius-sm); padding:34px; border:1px solid var(--line);}
  .testi-card .quote-mark{font-size:54px; color:var(--orange-soft); line-height:.3; display:block; margin-bottom:12px;}
  .testi-card p{font-style:italic; font-size:15px; color:var(--charcoal); margin-bottom:22px;}
  .testi-person{display:flex; align-items:center; gap:12px;}
  .testi-avatar{width:44px; height:44px; border-radius:50%; background:var(--forest-pale); display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; color:var(--forest); font-weight:600;}
  .testi-person b{font-size:14px; display:block;}
  .testi-person span{font-size:12px; color:var(--gray);}

  /* ---------- PARTNERS ---------- */
  .partners-track{display:flex; overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:34px 0;}
  .partners-inner{display:flex; gap:70px; animation:scrollTicker 26s linear infinite;}
  .partner-logo{font-family:'Cormorant Garamond',serif; font-size:22px; color:var(--gray); font-weight:600; white-space:nowrap; opacity:.7; letter-spacing:.02em;}

  /* ---------- GET INVOLVED ---------- */
  .involved-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .involve-card{border-radius:var(--radius-sm); padding:38px 30px; border:1px solid var(--line); background:var(--ivory); position:relative;}
  .involve-card h4{font-size:24px; margin-bottom:10px;}
  .involve-card p{font-size:14px; margin-bottom:22px;}
  .involve-card.highlight{background:var(--orange); border:none;}
  .involve-card.highlight h4, .involve-card.highlight .btn-outline{color:var(--ivory); border-color:var(--ivory);}
  .involve-card.highlight p{color:rgba(251,248,243,.85);}
  .involve-card.highlight .btn-outline:hover{background:var(--ivory); color:var(--orange);}

  /* ---------- CONTACT ---------- */
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start;}
  .contact-form{display:flex; flex-direction:column; gap:16px;}
  .contact-form input, .contact-form textarea{
    border:1px solid var(--line); background:var(--cream); border-radius:14px; padding:15px 18px; font-family:'Inter',sans-serif; font-size:14.5px; color:var(--charcoal);
  }
  .contact-form textarea{min-height:120px; resize:vertical;}
  .map-box{border-radius:var(--radius-sm); background:linear-gradient(155deg, var(--forest-pale), var(--cream)); aspect-ratio:4/3.2; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; margin-bottom:26px;}
  .map-box span{font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--forest-mid);}
  .contact-info-row{display:flex; gap:26px; flex-wrap:wrap;}
  .contact-info-row div{display:flex; align-items:center; gap:10px; font-size:14px; color:var(--charcoal);}
  .contact-info-row .ic{width:34px; height:34px; border-radius:50%; background:var(--forest-pale); color:var(--forest); display:flex; align-items:center; justify-content:center; font-size:15px;}

  /* ---------- NEWSLETTER ---------- */
  .newsletter{background:var(--forest); border-radius:var(--radius-lg); padding:60px 60px; display:flex; justify-content:space-between; align-items:center; gap:40px;}
  .newsletter h3{color:var(--ivory); font-size:30px; max-width:420px;}
  .newsletter form{display:flex; gap:10px; flex:1; max-width:420px;}
  .newsletter input{flex:1; border-radius:999px; border:none; padding:14px 20px; font-family:'Inter',sans-serif; font-size:14px;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--forest-deep); color:rgba(251,248,243,.75); padding:80px 0 0; margin-top:60px;}
  .foot-grid{display:grid; grid-template-columns:1.4fr .8fr .8fr .8fr 1.1fr; gap:40px; padding-bottom:60px; border-bottom:1px solid rgba(255,255,255,.1);}
  .foot-logo{display:flex; align-items:center; gap:10px; margin-bottom:16px;}
  .foot-logo .name{color:var(--ivory); font-family:'Cormorant Garamond',serif; font-size:18px; font-weight:600;}
  footer h5{color:var(--ivory); font-size:13px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:18px; font-weight:600;}
  footer ul{list-style:none;}
  footer li{margin-bottom:11px; font-size:14px;}
  footer li a:hover{color:var(--orange-soft);}
  .foot-bottom{display:flex; justify-content:space-between; align-items:center; padding:26px 0; font-size:12.5px;}
  .foot-social{display:flex; gap:12px;}
  .foot-social span{width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; font-size:13px;}

  @media (max-width:1000px){
    .hero-grid, .about-grid, .contact-grid{grid-template-columns:1fr;}
    .hero-art{height:360px; margin-top:20px;}
    .focus-grid, .impact-grid, .programs-grid, .ar-grid, .involved-grid, .testi-grid{grid-template-columns:repeat(2,1fr);}
    .news-grid{grid-template-columns:1fr 1fr;}
    .news-feat{grid-row:auto; min-height:280px;}
    .nav-links{display:none;}
    .newsletter{flex-direction:column; align-items:flex-start;}
    .foot-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:640px){
    .wrap{padding:0 22px;}
    .hero h1{font-size:38px;}
    .focus-grid, .impact-grid, .programs-grid, .ar-grid, .involved-grid, .testi-grid, .news-grid{grid-template-columns:1fr;}
    .quote-band blockquote{font-size:24px;}
    .newsletter{padding:40px 26px;}
    .foot-grid{grid-template-columns:1fr;}
    section{padding:64px 0;}
    .event-row{grid-template-columns:70px 1fr; row-gap:10px;}
    .event-row .btn{grid-column:1/-1;}
  }

/* ================= INNER PAGE ADDITIONS ================= */

/* Page header / breadcrumb band */
.page-hero{padding:70px 0 60px; position:relative; overflow:hidden;}
.page-hero::before{content:""; position:absolute; top:-160px; right:-200px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle at 30% 30%, var(--forest-pale), transparent 70%); z-index:0;}
.breadcrumb{display:flex; align-items:center; gap:8px; font-size:13px; color:var(--gray); margin-bottom:20px; position:relative; z-index:1;}
.breadcrumb a{color:var(--forest); font-weight:600;}
.breadcrumb .sep{color:var(--orange);}
.page-hero h1{font-size:46px; max-width:760px; position:relative; z-index:1;}
.page-hero p.lede{max-width:560px; margin-top:16px; font-size:17px; position:relative; z-index:1;}

/* Team / people cards */
.team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.team-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.team-card{background:var(--ivory); border:1px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; transition:transform .3s ease, box-shadow .3s ease;}
.team-card:hover{transform:translateY(-6px); box-shadow:0 24px 50px -20px rgba(24,71,52,.22);}
.team-photo{aspect-ratio:4/4.4; background:linear-gradient(155deg, var(--forest-pale), var(--cream)); display:flex; align-items:center; justify-content:center;}
.team-photo span{font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--forest-mid); font-size:13px; text-align:center; padding:16px;}
.team-body{padding:20px 22px 26px;}
.team-body h4{font-size:19px; margin-bottom:4px;}
.team-body .role{font-size:12.5px; color:var(--orange); font-weight:600; letter-spacing:.03em; text-transform:uppercase;}
.team-body p{font-size:13.5px; margin-top:10px;}

/* Timeline (research / history) */
.timeline{position:relative; padding-left:34px; border-left:1px solid var(--line);}
.timeline-item{position:relative; padding-bottom:44px;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item::before{content:""; position:absolute; left:-40px; top:2px; width:12px; height:12px; border-radius:50%; background:var(--orange); border:3px solid var(--ivory); box-shadow:0 0 0 1px var(--orange);}
.timeline-item .yr{font-family:'Cormorant Garamond',serif; font-size:24px; color:var(--forest-deep); margin-bottom:6px;}
.timeline-item h4{font-size:18px; margin-bottom:6px;}
.timeline-item p{font-size:14px;}

/* Publication / document rows */
.doc-list{border-top:1px solid var(--line);}
.doc-row{display:grid; grid-template-columns:auto 1fr auto auto; gap:22px; align-items:center; padding:22px 6px; border-bottom:1px solid var(--line);}
.doc-ic{width:44px; height:44px; border-radius:12px; background:var(--forest-pale); color:var(--forest); display:flex; align-items:center; justify-content:center; font-size:17px;}
.doc-row h4{font-size:16.5px; margin-bottom:4px;}
.doc-row span{font-size:12.5px; color:var(--gray);}
.doc-tag{font-size:11px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--forest); background:var(--forest-pale); padding:6px 14px; border-radius:999px; white-space:nowrap;}
.doc-dl{font-size:13px; font-weight:600; color:var(--orange); white-space:nowrap;}

/* Filter pills */
.filter-row{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:40px;}
.filter-pill{padding:10px 20px; border-radius:999px; border:1px solid var(--line); font-size:13.5px; font-weight:600; color:var(--charcoal); cursor:pointer;}
.filter-pill.active{background:var(--forest); color:var(--ivory); border-color:var(--forest);}

/* Gallery */
.gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:180px; gap:16px;}
.gallery-item{border-radius:20px; background:linear-gradient(155deg, var(--forest-pale), var(--cream)); display:flex; align-items:center; justify-content:center; overflow:hidden; position:relative;}
.gallery-item span{font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--forest-mid); font-size:12.5px; text-align:center; padding:10px;}
.gallery-item.big{grid-column:span 2; grid-row:span 2;}
.gallery-item .cat{position:absolute; bottom:12px; left:12px; background:rgba(251,248,243,.92); color:var(--forest); font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:5px 12px; border-radius:999px;}

/* Table (financials) */
.data-table{width:100%; border-collapse:collapse; border-radius:var(--radius-sm); overflow:hidden; border:1px solid var(--line);}
.data-table th, .data-table td{padding:16px 22px; text-align:left; font-size:14px;}
.data-table thead th{background:var(--forest); color:var(--ivory); font-weight:600; font-size:12.5px; letter-spacing:.05em; text-transform:uppercase;}
.data-table tbody tr{border-bottom:1px solid var(--line);}
.data-table tbody tr:nth-child(even){background:var(--cream);}
.data-table td.num{font-family:'Cormorant Garamond',serif; font-size:17px; color:var(--forest-deep);}

/* Report cards */
.report-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.report-card{border:1px solid var(--line); border-radius:var(--radius-sm); padding:30px; background:var(--ivory); display:flex; flex-direction:column; gap:16px;}
.report-icon{width:52px; height:52px; border-radius:14px; background:var(--forest-pale); color:var(--forest); display:flex; align-items:center; justify-content:center; font-size:20px;}
.report-card h4{font-size:19px;}
.report-card span{font-size:12.5px; color:var(--gray);}

/* Accreditation badges */
.badge-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.accred-badge{border:1px solid var(--line); border-radius:var(--radius-sm); padding:30px 20px; text-align:center; background:var(--cream);}
.accred-badge .ring{width:70px; height:70px; border-radius:50%; border:1.5px dashed var(--orange); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-family:'Cormorant Garamond',serif; font-size:22px; color:var(--forest);}
.accred-badge h4{font-size:15.5px; margin-bottom:6px;}
.accred-badge span{font-size:12px; color:var(--gray);}

/* Accordion (FAQ / policy) */
.accordion{border-top:1px solid var(--line);}
.acc-item{border-bottom:1px solid var(--line);}
.acc-head{display:flex; justify-content:space-between; align-items:center; padding:22px 4px; cursor:pointer; font-weight:600; font-size:15.5px; color:var(--forest-deep);}
.acc-head .plus{color:var(--orange); font-size:20px; font-family:'Cormorant Garamond',serif;}
.acc-body{padding:0 4px 22px; font-size:14.5px; color:var(--gray); max-width:800px; display:none;}
.acc-item.open .acc-body{display:block;}

/* Policy content */
.policy-body h3{font-size:22px; margin:34px 0 12px; color:var(--forest-deep);}
.policy-body p{margin-bottom:14px;}
.policy-body ul{margin:0 0 14px 20px; color:var(--gray); font-size:15px; line-height:1.8;}
.policy-nav{position:sticky; top:120px; border-left:2px solid var(--line); padding-left:20px;}
.policy-nav a{display:block; font-size:13.5px; color:var(--gray); padding:8px 0;}
.policy-nav a:hover, .policy-nav a.active{color:var(--forest); font-weight:600;}

/* Donate tiers */
.tier-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.tier-card{border:1.5px solid var(--line); border-radius:var(--radius-sm); padding:26px 20px; text-align:center; cursor:pointer; background:var(--ivory);}
.tier-card.selected{border-color:var(--orange); background:var(--cream);}
.tier-card .amt{font-family:'Cormorant Garamond',serif; font-size:30px; color:var(--forest-deep);}
.tier-card span{font-size:12px; color:var(--gray); display:block; margin-top:6px;}
.donate-panel{border:1px solid var(--line); border-radius:var(--radius-lg); padding:44px; background:var(--cream);}
.freq-toggle{display:inline-flex; background:var(--ivory); border:1px solid var(--line); border-radius:999px; padding:4px; margin-bottom:26px;}
.freq-toggle div{padding:10px 22px; border-radius:999px; font-size:13.5px; font-weight:600; cursor:pointer;}
.freq-toggle div.active{background:var(--forest); color:var(--ivory);}

/* Volunteer roles */
.role-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
.role-card{border:1px solid var(--line); border-radius:var(--radius-sm); padding:30px; display:flex; gap:20px; background:var(--ivory);}
.role-card .n{font-family:'Cormorant Garamond',serif; font-size:32px; color:var(--orange-soft); min-width:44px;}
.role-card h4{font-size:18px; margin-bottom:6px;}
.role-card p{font-size:14px;}

/* 404 */
.error-hero{min-height:64vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:80px 0;}
.error-hero .code{font-family:'Cormorant Garamond',serif; font-size:150px; color:var(--forest-pale); line-height:1; position:relative;}
.error-hero .code em{font-style:italic; color:var(--orange);}
.error-hero h2{margin-top:10px; font-size:32px;}
.error-hero p{margin:14px 0 30px; max-width:420px;}

/* stat strip small */
.stat-strip{display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:var(--radius-sm); overflow:hidden;}
.stat-strip div{padding:28px 24px; border-right:1px solid var(--line);}
.stat-strip div:last-child{border-right:none;}
.stat-strip b{font-family:'Cormorant Garamond',serif; font-size:32px; color:var(--forest-deep); display:block;}
.stat-strip span{font-size:12.5px; color:var(--gray);}

/* generic two-col content */
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start;}
.side-card{border:1px solid var(--line); border-radius:var(--radius-sm); padding:28px; background:var(--cream);}
.side-card h4{font-size:16px; margin-bottom:14px;}
.side-card ul{list-style:none;}
.side-card li{font-size:14px; padding:9px 0; border-top:1px solid var(--line); color:var(--gray);}
.side-card li:first-child{border-top:none;}

@media (max-width:1000px){
  .team-grid, .team-grid.cols-3, .gallery-grid, .report-grid, .badge-grid, .role-grid, .tier-grid, .stat-strip{grid-template-columns:repeat(2,1fr);}
  .two-col{grid-template-columns:1fr;}
  .policy-nav{position:static; border-left:none; padding-left:0; margin-bottom:30px;}
}
@media (max-width:640px){
  .team-grid, .team-grid.cols-3, .gallery-grid, .report-grid, .badge-grid, .role-grid, .tier-grid, .stat-strip{grid-template-columns:1fr;}
  .gallery-item.big{grid-column:span 1;}
  .page-hero h1{font-size:32px;}
  .doc-row{grid-template-columns:auto 1fr; row-gap:10px;}
  .doc-tag, .doc-dl{grid-column:2;}
  .error-hero .code{font-size:90px;}
}


/*============================
        EVENTS
=============================*/

.events-section{

padding:110px 0;

background:#f8f6f1;

}

.events-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(340px,1fr));

gap:35px;

margin-top:60px;

}

.event-card{

background:#fff;

border-radius:24px;

overflow:hidden;

box-shadow:0 20px 50px rgba(0,0,0,.08);

transition:.4s;

}

.event-card:hover{

transform:translateY(-10px);

box-shadow:0 30px 70px rgba(0,0,0,.12);

}

.event-image{

position:relative;

height:230px;

overflow:hidden;

}

.event-image img{

width:100%;

height:100%;

object-fit:cover;

transition:.5s;

}

.event-card:hover img{

transform:scale(1.08);

}

.event-date{

position:absolute;

top:18px;

left:18px;

background:#184734;

color:white;

width:72px;

height:72px;

border-radius:18px;

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

font-size:28px;

font-weight:700;

}

.event-date span{

font-size:13px;

letter-spacing:1px;

}

.event-content{

padding:28px;

}

.event-category{

display:inline-flex;

align-items:center;

gap:8px;

background:#eef6f2;

color:#184734;

padding:8px 16px;

border-radius:30px;

font-size:13px;

font-weight:600;

margin-bottom:18px;

}

.event-content h3{

margin-bottom:14px;

font-size:26px;

color:#184734;

}

.event-content p{

line-height:1.8;

color:#666;

margin-bottom:22px;

}

.event-meta{

display:flex;

justify-content:space-between;

margin-bottom:25px;

font-size:14px;

color:#666;

}

.event-meta span{

display:flex;

align-items:center;

gap:8px;

}

.event-meta i{

color:#d67a2a;

}



/*==========================
        EVENTS PAGE
===========================*/

.events-wrap{
    margin-top:60px;
}

/* Tabs */

.events-tabs{
    display:flex;
    justify-content:center;
    gap:15px;
    margin-bottom:50px;
}

.events-tabs div{
    padding:14px 34px;
    border-radius:50px;
    background:#ffffff;
    border:1px solid #e8e5df;
    cursor:pointer;
    font-weight:600;
    transition:.35s;
    color:#666;
}

.events-tabs div:hover{
    background:#184734;
    color:#fff;
}

.events-tabs .active{
    background:#184734;
    color:#fff;
    box-shadow:0 15px 35px rgba(24,71,52,.25);
}

/* Tab Content */

.events-content{
    display:none;
    animation:fade .5s ease;
}

.events-content.active{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(350px,1fr));
    gap:35px;
}

@keyframes fade{

    from{
        opacity:0;
        transform:translateY(20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/* Card */

.event-card{

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    box-shadow:0 15px 45px rgba(0,0,0,.08);

    transition:.4s;

}

.event-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 60px rgba(0,0,0,.14);

}

/* Image */

.event-thumb{

    position:relative;

    height:240px;

    overflow:hidden;

}

.event-thumb img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.6s;

}

.event-card:hover img{

    transform:scale(1.08);

}

/* Date Badge */

.event-date-box{

    position:absolute;

    top:20px;

    left:20px;

    width:72px;

    height:72px;

    background:#184734;

    color:#fff;

    border-radius:18px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    box-shadow:0 15px 30px rgba(0,0,0,.2);

}

.event-date-box span{

    font-size:30px;

    font-weight:700;

    line-height:1;

}

.event-date-box small{

    letter-spacing:1px;

    font-size:12px;

}

/* Body */

.event-body{

    padding:28px;

}

.event-body h3{

    margin:18px 0 12px;

    font-size:28px;

    color:#184734;

    font-family:'Cormorant Garamond',serif;

}

.event-body p{

    color:#666;

    line-height:1.8;

    margin-bottom:25px;

}

/* Category Badge */

.event-badge{

    display:inline-block;

    padding:8px 18px;

    border-radius:30px;

    font-size:13px;

    font-weight:600;

}

.workshop{

    background:#EAF5EF;

    color:#184734;

}

.healthcare{

    background:#FFF4E7;

    color:#D67A2A;

}

.webinar{

    background:#EEF3FF;

    color:#3559b8;

}

.completed{

    background:#F3F3F3;

    color:#666;

}

/* Meta */

.event-meta{

    display:flex;

    justify-content:space-between;

    margin-bottom:28px;

    color:#777;

    font-size:14px;

}

.event-meta span{

    display:flex;

    align-items:center;

    gap:6px;

}

/* Button */

.event-body .btn{

    width:100%;

    text-align:center;

}

/* Responsive */

@media(max-width:768px){

.events-content.active{

grid-template-columns:1fr;

}

.event-thumb{

height:220px;

}

.event-body{

padding:22px;

}

.event-body h3{

font-size:24px;

}

}


.events-content{

    opacity:0;

    transform:translateY(20px);

    transition:.45s ease;

    display:none;

}

.events-content.active{

    display:grid;

    opacity:1;

    transform:translateY(0);

}


.event-thumb::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(to top,
    rgba(0,0,0,.45),
    rgba(0,0,0,0));

    opacity:0;

    transition:.4s;

}

.event-card:hover .event-thumb::after{

    opacity:1;

}

.event-card:hover .event-date-box{

    transform:scale(1.08);

}

.event-date-box{

    transition:.35s;

}


.avatars{
    display:flex;
    align-items:center;
}

.avatars img{

    width:52px;
    height:52px;

    min-width:52px;
    min-height:52px;

    object-fit:cover;

    aspect-ratio:1 / 1;

    border-radius:50%;

    border:3px solid white;

    margin-left:-12px;

    box-shadow:0 5px 15px rgba(0,0,0,.15);

}


.avatars img:first-child{
    margin-left:0;
}

.hero-premium{

background:

linear-gradient(
120deg,
#fff8ef 0%,
#f6eee2 45%,
#dfece3 100%
);

}


.frame{

    overflow:hidden;

    border-radius:12px;

}


.frame img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

}



/* ==================================
PREMIUM IMPACT SECTION
================================== */


.impact-section{


background:

linear-gradient(
135deg,
#184734,
#0f3022
);


color:white;

padding:100px 0;


}




.impact-section .sec-head h2{


color:white;


}


.impact-section .sec-head p{


color:rgba(255,255,255,.75);

max-width:600px;

}



.impact-grid{


display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

margin-top:60px;


}





.impact-card{


background:

rgba(255,255,255,.08);


border:

1px solid rgba(255,255,255,.18);


padding:40px 25px;


text-align:center;


backdrop-filter:blur(10px);


transition:.35s ease;


}



.impact-card:hover{


transform:translateY(-12px);


background:

rgba(255,255,255,.15);


}




.impact-icon{


font-size:35px;

margin-bottom:20px;


}



.impact-card h3{


font-family:"Cormorant Garamond";


font-size:65px;

font-weight:500;


color:#e2a15b;


margin:10px 0;


}



.impact-card p{


font-size:15px;

letter-spacing:1px;

text-transform:uppercase;


color:white;


}




@media(max-width:900px){


.impact-grid{


grid-template-columns:1fr 1fr;


}


}



@media(max-width:600px){


.impact-grid{


grid-template-columns:1fr;


}


}


/* =========================
GALLERY LIGHTBOX
========================= */


.gallery-grid img{

cursor:pointer;

transition:.35s ease;

}


.gallery-grid img:hover{

transform:scale(1.03);

}





.lightbox{


display:none;

position:fixed;

inset:0;

background:rgba(0,0,0,.88);

z-index:9999;

align-items:center;

justify-content:center;

flex-direction:column;


}



.lightbox img{


max-width:90%;

max-height:80vh;

object-fit:contain;

border-radius:10px;


}



.lightbox p{


color:white;

font-size:18px;

margin-top:20px;


}



.lightbox-close{


position:absolute;

top:25px;

right:40px;

font-size:50px;

color:white;

cursor:pointer;


}

.logo{
    display:flex;
    align-items:center;
}

.logo a{
    display:flex;
    align-items:center;
    gap:15px;
    text-decoration:none;
}

.logo img{
    width:72px;
    height:72px;
    object-fit:contain;
}

.logo-text h2{
    margin:0;
    font-size:28px;
    color:#174734;
    font-family:"Cormorant Garamond", serif;
    font-weight:600;
    line-height:1;
}

.logo-text span{
    display:block;
    margin-top:4px;
    color:#f07a16;
    letter-spacing:6px;
    font-size:13px;
    font-weight:600;
}

/* =========================
   HERO SLIDER
========================= */

.hero-slider{
    position:relative;
    overflow:hidden;
    width:100%;
}

.hero-slider input{
    display:none;
}

.hero-slider .slides{
    display:flex;
    width:300%;
    transition:transform .7s ease-in-out;
}

.hero-slider .slide{
    width:33.3333%;
    flex-shrink:0;
}

/* Move Slides */

#slide1:checked ~ .slides{
    transform:translateX(0%);
}

#slide2:checked ~ .slides{
    transform:translateX(-33.3333%);
}

#slide3:checked ~ .slides{
    transform:translateX(-66.6666%);
}

/* Dots */

.slider-dots{
    display:flex;
    justify-content:center;
    gap:12px;
    margin-top:25px;
    margin-bottom:20px;
}

.slider-dots label{
    width:14px;
    height:14px;
    border-radius:50%;
    background:#d2d2d2;
    cursor:pointer;
    transition:.3s;
}

#slide1:checked ~ .slider-dots label:nth-child(1),
#slide2:checked ~ .slider-dots label:nth-child(2),
#slide3:checked ~ .slider-dots label:nth-child(3){
    background:#1b5e3f;
    transform:scale(1.2);
}

/* Responsive */

@media(max-width:768px){

    .hero-slider .slides{
        width:300%;
    }

    .hero-slider .slide{
        width:100%;
    }

}