:root{
  --primary:#059144;
  --secondary:#E8B30F;
  --dark:#0f2d22;
  --ink:#18352b;
  --muted:#667a72;
  --light:#f7fbf8;
  --white:#ffffff;
  --border:#dce8e1;
  --shadow:0 20px 60px rgba(0,0,0,.08);
  --radius:20px;
  --radius-sm:14px;
  --container:1200px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.65;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(var(--container), calc(100% - 40px));margin:0 auto}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(5,145,68,.08);
}
.nav-wrap{
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand img{height:62px;width:auto}
.nav-links{
  display:flex;
  align-items:center;
  gap:26px;
}
.nav-links a{
  font-weight:600;
  color:#24483b;
  transition:.3s ease;
}
.nav-links a:hover,
.nav-links a.active{color:var(--primary)}
.nav-item{
  position:relative;
}
.nav-parent{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.nav-parent::before{
  content:"";
  order:2;
  width:6px;
  height:6px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
}
.submenu{
  position:absolute;
  left:0;
  top:calc(100% + 18px);
  min-width:240px;
  display:grid;
  gap:2px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15,45,34,.12);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.25s ease;
}
.has-dropdown:hover .submenu,
.has-dropdown:focus-within .submenu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.submenu a{
  border-radius:8px;
  padding:10px 12px;
  color:var(--ink);
  white-space:nowrap;
}
.submenu a:hover,
.submenu a.active{
  background:#eef9f2;
  color:var(--primary);
}
.mobile-submenu{
  display:grid;
  gap:8px;
  padding:0 0 4px 16px;
  border-left:2px solid rgba(5,145,68,.18);
}
.mobile-submenu a{
  color:var(--muted);
  font-size:.95rem;
}
.mobile-parent.active,
.mobile-submenu a.active{
  color:var(--primary);
  font-weight:800;
}
.nav-cta{
  display:flex;
  align-items:center;
  gap:14px;
}
.mobile-toggle{
  display:none;
  background:none;
  border:none;
  font-size:28px;
  cursor:pointer;
  color:var(--primary);
}
.mobile-menu{
  display:none;
  border-top:1px solid rgba(5,145,68,.08);
  background:#fff;
}
.mobile-menu.active{display:block}
.mobile-menu-inner{
  display:grid;
  gap:14px;
  padding:18px 0 24px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border-radius:14px;
  font-weight:700;
  transition:.3s ease;
  border:1px solid transparent;
}
.btn-secondary{
  background:var(--secondary);
  color:#1f1b08;
}
.btn-secondary:hover{transform:translateY(-2px)}
.btn-outline{
  border:1px solid rgba(5,145,68,.22);
  color:var(--primary);
  background:#fff;
}
.btn-outline:hover{background:#f5fbf7}
.btn-light{
  background:rgba(255,255,255,.14);
  color:#fff;
  border:1px solid rgba(255,255,255,.3);
}
.btn-light:hover{background:rgba(255,255,255,.2)}

.hero-slider{
  position:relative;
  min-height:88vh;
  overflow:hidden;
}
.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .6s ease, visibility .6s ease;
}
.hero-slide.active{
  opacity:1;
  visibility:visible;
}
.hero-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
}
.hero-content{
  position:relative;
  z-index:2;
  min-height:88vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:760px;
  color:#fff;
}
.eyebrow,
.section-tag{
  display:inline-block;
  font-size:.85rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.hero-content h1{
  font-family:'Playfair Display', serif;
  font-size:clamp(2.8rem, 5vw, 5rem);
  line-height:1.05;
  margin-bottom:18px;
}
.hero-content p{
  font-size:1.08rem;
  max-width:650px;
  color:rgba(255,255,255,.9);
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}
.slider-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:4;
  width:52px;
  height:52px;
  border:none;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:1.4rem;
  cursor:pointer;
  backdrop-filter:blur(10px);
}
.slider-btn.prev{left:24px}
.slider-btn.next{right:24px}
.slider-dots{
  position:absolute;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  z-index:4;
  display:flex;
  gap:10px;
}
.dot{
  width:12px;
  height:12px;
  border-radius:50%;
  border:none;
  background:rgba(255,255,255,.45);
  cursor:pointer;
}
.dot.active{background:var(--secondary)}

.impact-strip{
  background:var(--white);
  margin-top:-48px;
  position:relative;
  z-index:5;
}
.impact-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.impact-card{
  background:#fff;
  border-radius:18px;
  padding:24px;
  box-shadow:var(--shadow);
  border:1px solid #eef4f0;
}
.impact-card h3{
  margin-bottom:10px;
  color:var(--dark);
  font-size:1.05rem;
}
.impact-card p{color:var(--muted);font-size:.96rem}

.section{
  padding:90px 0;
}
.soft-bg{background:#f7fbf8}
.gold-bg{background:#fffaf0}
.dark-section{
  background:linear-gradient(135deg, #0b261d, #114432);
  color:#fff;
}
.section-head{
  max-width:760px;
  margin-bottom:42px;
}
.section-head.center{
  text-align:center;
  margin-inline:auto;
}
.section-head.narrow{max-width:680px}
.section-head h2,
.content-block h2,
.newsletter-box h2,
.volunteer-banner h2{
  font-family:'Playfair Display', serif;
  font-size:clamp(2rem,3vw,3.1rem);
  line-height:1.12;
  margin-bottom:14px;
  color:var(--dark);
}
.dark-section h2,
.dark-section p,
.dark-section .section-tag.light{
  color:#fff;
}
.section-head p,
.content-block p,
.newsletter-box p,
.volunteer-banner p{
  color:var(--muted);
}
.section-tag{
  color:var(--primary);
}
.section-tag.light{color:#d5f4e1}
.section-tag.dark{color:#5c4711}

.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
}
.two-col.reverse .content-block{order:1}
.two-col.reverse .media-card{order:2}

.media-card{
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.media-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  min-height:420px;
}
.content-block .text-link{
  color:var(--primary);
  font-weight:700;
  display:inline-block;
  margin-top:16px;
}

.card-grid{
  display:grid;
  gap:24px;
}
.card-grid.three{grid-template-columns:repeat(3,1fr)}
.card-grid.two{grid-template-columns:repeat(2,1fr)}

.feature-card,
.program-card,
.activity-card,
.testimonial-card,
.blog-card,
.stat-box{
  background:#fff;
  border:1px solid var(--border);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 8px 30px rgba(0,0,0,.04);
}
.feature-card,
.testimonial-card,
.stat-box{
  padding:30px 24px;
}
.feature-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#eef9f2;
  font-size:1.5rem;
  margin-bottom:16px;
}
.feature-card h3,
.program-body h3,
.activity-body h3,
.blog-body h3,
.stat-box h3{
  color:var(--dark);
  margin-bottom:10px;
}
.feature-card p,
.program-body p,
.activity-body p,
.blog-body p,
.testimonial-card p,
.stat-box p{
  color:var(--muted);
}

.program-card img,
.activity-card img,
.blog-card img{
  width:100%;
  height:250px;
  object-fit:cover;
}
.program-body,
.activity-body,
.blog-body{
  padding:24px;
}
.program-body a,
.blog-body a{
  margin-top:14px;
  display:inline-block;
  color:var(--primary);
  font-weight:700;
}
.blog-body span{
  font-size:.82rem;
  font-weight:800;
  color:var(--secondary);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.volunteer-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.stats-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.custom-list{
  list-style:none;
  margin-top:20px;
  display:grid;
  gap:12px;
}
.custom-list li{
  position:relative;
  padding-left:28px;
  color:var(--muted);
}
.custom-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--primary);
  font-weight:800;
}

.testimonial-card{
  background:#fff;
  position:relative;
}
.testimonial-card h4{
  margin-top:16px;
  color:var(--primary);
}

.faq-section{background:#fcfdfc}
.faq-list{
  max-width:860px;
  margin:0 auto;
  display:grid;
  gap:14px;
}
.faq-list details{
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  padding:18px 20px;
}
.faq-list summary{
  cursor:pointer;
  font-weight:700;
  color:var(--dark);
}
.faq-list p{
  margin-top:12px;
  color:var(--muted);
}

.newsletter-box{
  background:linear-gradient(135deg, #0f2d22, #15553c);
  border-radius:26px;
  padding:42px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:28px;
  color:#fff;
}
.newsletter-box h2{color:#fff}
.newsletter-box p{color:rgba(255,255,255,.85)}
.newsletter-form{
  display:flex;
  gap:12px;
  align-items:center;
}

.profile-hero{
  padding:100px 0 60px;
  background:linear-gradient(180deg, #f7fbf8 0%, #fff 54%);
}
.profile-card{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:30px;
  border-radius:30px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(5,145,68,.12);
  box-shadow:var(--shadow);
}
.profile-image{
  background:linear-gradient(180deg, #f7fbf8, #fff);
  padding:18px;
  display:grid;
  place-items:center;
}
.profile-image img{
  width:100%;
  height:auto;
  max-width:380px;
  border-radius:28px;
  border:10px solid #f7fbf8;
  box-shadow:0 20px 40px rgba(0,0,0,.08);
  object-fit:cover;
}
.profile-card-body{
  padding:36px;
  display:grid;
  gap:22px;
}
.profile-card-body h2{
  margin-top:0;
  font-size:2rem;
  color:var(--dark);
}
.profile-quick-info{
  display:grid;
  gap:18px;
}
.profile-quick-info div strong{
  display:block;
  margin-bottom:8px;
  color:var(--dark);
  font-size:.95rem;
}
..profile-quick-info div p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
}
.profile-cta{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:12px;
}
.profile-qr{
  background:#f7fbf8;
  border:1px solid rgba(5,145,68,.16);
  border-radius:22px;
  padding:24px;
  text-align:center;
}
.qr-box{
  width:170px;
  height:170px;
  margin:0 auto 18px;
  border-radius:24px;
  background:#0f2d22;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:.95rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid rgba(5,145,68,.2);
  font-weight:800;
  background:rgba(5,145,68,.12);
  color:var(--primary);
}
.profile-metrics{
  margin:32px 0;
  display:grid;
  grid-template-columns:repeat(2,minmax(180px,1fr));
  gap:18px;
}
.metric-card{
  background:#fff;
  border:1px solid rgba(5,145,68,.14);
  border-radius:22px;
  padding:24px;
}
.metric-card small{
  display:block;
  color:var(--muted);
  margin-bottom:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
}
.metric-card strong{
  font-size:1.25rem;
  color:var(--dark);
  line-height:1.3;
}
.lead{
  max-width:680px;
  color:var(--muted);
  font-size:1.05rem;
}

.newsletter-form input{
  flex:1;
  min-height:52px;
  border:none;
  border-radius:14px;
  padding:0 16px;
  outline:none;
}

.site-footer{
  background:#0e241c;
  color:#d8e5df;
  padding-top:70px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1fr;
  gap:32px;
}
.footer-brand img{
  height:64px;
  width:auto;
  margin-bottom:16px;
}
.site-footer h4{
  color:#fff;
  margin-bottom:16px;
}
.site-footer a,
.site-footer p{
  display:block;
  color:#d8e5df;
  margin-bottom:10px;
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:40px;
  padding:22px 0;
  text-align:center;
  color:#c9d8d1;
}

@media (max-width: 1100px){
  .nav-links,.nav-cta{display:none}
  .mobile-toggle{display:block}
  .impact-grid,
  .card-grid.three,
  .stats-grid,
  .footer-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .two-col,
  .newsletter-box,
  .profile-metrics{
    grid-template-columns:1fr;
  }
  .profile-card{grid-template-columns:1fr}
}

@media (max-width: 768px){
  .hero-slider,
  .hero-content{min-height:78vh}
  .slider-btn{display:none}
  .impact-grid,
  .card-grid.three,
  .card-grid.two,
  .stats-grid,
  .footer-grid{
    grid-template-columns:1fr;
  }
  .volunteer-banner{
    flex-direction:column;
    align-items:flex-start;
  }
  .newsletter-form{
    flex-direction:column;
    align-items:stretch;
  }
  .impact-strip{margin-top:-24px}
  .section{padding:72px 0}
  .brand img{height:54px}
}



/* ========= PREMIUM HOVER EFFECTS & ANIMATIONS ========= */

/* Smooth global motion */
a,
button,
.btn,
.feature-card,
.program-card,
.activity-card,
.testimonial-card,
.blog-card,
.impact-card,
.stat-box,
.faq-list details,
.media-card img,
.nav-links a,
.footer-grid a {
  transition: all 0.35s ease;
}

/* Navigation hover */
.nav-links a {
  position: relative;
}

.nav-links a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 0;
  height: 2px;
  background: var(--secondary);
  transition: width 0.35s ease;
}

.nav-links a:hover::after,
.nav-links a.active::after {
  width: 100%;
}

.nav-links a:hover {
  color: var(--primary);
  transform: translateY(-1px);
}

.submenu a::after {
  display: none;
}

.submenu a:hover {
  transform: none;
}

/* Button hover */
.btn {
  position: relative;
  overflow: hidden;
}

.btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.12);
}

.btn:active {
  transform: translateY(-1px);
}

.btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 90%;
  height: 100%;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,0.22),
    rgba(255,255,255,0)
  );
  transform: skewX(-20deg);
  transition: left 0.6s ease;
}

.btn:hover::before {
  left: 130%;
}

/* Brand hover */
.brand img {
  transition: transform 0.35s ease;
}

.brand:hover img {
  transform: scale(1.03);
}

/* Hero content entrance */
.hero-content > * {
  animation: heroFadeUp 0.9s ease both;
}

.hero-content h1 {
  animation-delay: 0.15s;
}

.hero-content p {
  animation-delay: 0.3s;
}

.hero-actions {
  animation-delay: 0.45s;
}

/* Hero zoom effect */
.hero-slide.active .hero-bg {
  animation: heroZoom 6s ease forwards;
}

/* Card hover lift */
.feature-card:hover,
.program-card:hover,
.activity-card:hover,
.testimonial-card:hover,
.blog-card:hover,
.impact-card:hover,
.stat-box:hover {
  transform: translateY(-10px);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.12);
  border-color: rgba(5, 145, 68, 0.2);
}

/* Image zoom on card hover */
.program-card,
.activity-card,
.blog-card,
.media-card {
  overflow: hidden;
}

.program-card img,
.activity-card img,
.blog-card img,
.media-card img {
  transition: transform 0.6s ease;
}

.program-card:hover img,
.activity-card:hover img,
.blog-card:hover img,
.media-card:hover img {
  transform: scale(1.08);
}

/* Feature icon hover */
.feature-icon {
  transition: transform 0.35s ease, background 0.35s ease;
}

.feature-card:hover .feature-icon {
  transform: rotate(-6deg) scale(1.08);
  background: #dff5e7;
}

/* Program link hover */
.program-body a,
.blog-body a,
.text-link {
  position: relative;
}

.program-body a::after,
.blog-body a::after,
.text-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 0;
  height: 2px;
  background: currentColor;
  transition: width 0.3s ease;
}

.program-body a:hover::after,
.blog-body a:hover::after,
.text-link:hover::after {
  width: 100%;
}

/* FAQ hover */
.faq-list details:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.06);
  border-color: rgba(5, 145, 68, 0.18);
}

/* Footer link hover */
.site-footer a:hover {
  color: var(--secondary);
  transform: translateX(4px);
}

/* Newsletter form input focus */
.newsletter-form input {
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.newsletter-form input:focus {
  transform: translateY(-2px);
  box-shadow: 0 0 0 4px rgba(232, 179, 15, 0.18);
}

/* Section reveal animation setup */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Slight stagger helper */
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* Floating animation for impact cards */
.impact-card:nth-child(1) { animation: floatY 4s ease-in-out infinite; }
.impact-card:nth-child(2) { animation: floatY 4.8s ease-in-out infinite; }
.impact-card:nth-child(3) { animation: floatY 5.2s ease-in-out infinite; }
.impact-card:nth-child(4) { animation: floatY 5.8s ease-in-out infinite; }

/* Slider dots hover */
.dot {
  transition: transform 0.3s ease, background 0.3s ease;
}

.dot:hover {
  transform: scale(1.2);
  background: var(--secondary);
}

/* Arrow buttons hover */
.slider-btn:hover {
  background: rgba(255,255,255,0.24);
  transform: translateY(-50%) scale(1.08);
}

/* Keyframes */
@keyframes heroFadeUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes heroZoom {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.08);
  }
}

@keyframes floatY {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

/* ========= ABOUT PAGE PREMIUM REDESIGN ========= */

.about-hero{
  position:relative;
  min-height:76vh;
  overflow:hidden;
  color:#fff;
}

.about-hero-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
}

.about-hero-inner{
  position:relative;
  z-index:2;
  min-height:76vh;
  display:flex;
  align-items:center;
}

.about-hero-copy{
  max-width:780px;
  padding:80px 0;
}

.about-hero-copy h1{
  font-family:'Playfair Display', serif;
  font-size:clamp(2.7rem, 5vw, 5.6rem);
  line-height:1.02;
  margin-bottom:20px;
}

.about-hero-copy p{
  max-width:640px;
  color:rgba(255,255,255,.88);
  font-size:1.1rem;
}

.about-snapshot{
  position:relative;
  z-index:5;
  margin-top:-58px;
}

.snapshot-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.snapshot-grid article{
  background:#fff;
  border:1px solid rgba(5,145,68,.12);
  border-radius:8px;
  box-shadow:0 22px 60px rgba(15,45,34,.11);
  padding:26px;
}

.snapshot-grid strong{
  display:block;
  color:var(--dark);
  font-size:1.05rem;
  margin-bottom:6px;
}

.snapshot-grid span{
  color:var(--muted);
  font-size:.95rem;
}

.about-story-grid,
.philosophy-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:56px;
  align-items:center;
}

.story-copy h2,
.purpose-panel h2,
.philosophy-copy h2,
.about-cta h2{
  font-family:'Playfair Display', serif;
  color:var(--dark);
  font-size:clamp(2rem, 3.2vw, 3.5rem);
  line-height:1.08;
  margin-bottom:16px;
}

.story-copy p,
.purpose-panel p,
.philosophy-copy p,
.about-cta p{
  color:var(--muted);
}

.story-copy p + p{
  margin-top:14px;
}

.story-visual-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  grid-template-rows:240px 240px;
  gap:16px;
}

.story-photo{
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(15,45,34,.13);
}

.story-photo.large{
  grid-row:span 2;
}

.story-photo img,
.philosophy-image img,
.focus-card img,
.impact-gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.about-purpose-section{
  background:#f6fbf8;
}

.purpose-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.purpose-panel{
  min-height:390px;
  border-radius:8px;
  padding:42px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  position:relative;
  background-size:cover;
  background-position:center;
  isolation:isolate;
}

.purpose-panel::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.94));
}

.purpose-panel.mission{
  background-image:url('../images/hero-1.jpg');
}

.purpose-panel.vision{
  background-image:url('../images/program-poor.jpg');
}

.focus-card-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.focus-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 14px 40px rgba(15,45,34,.07);
}

.focus-card img{
  height:230px;
}

.focus-card div{
  padding:22px;
}

.focus-card h3{
  color:var(--dark);
  margin-bottom:8px;
}

.focus-card p{
  color:var(--muted);
  font-size:.95rem;
}

.philosophy-section{
  background:#fffaf0;
}

.philosophy-grid{
  grid-template-columns:1.05fr .95fr;
}

.philosophy-image{
  height:560px;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(15,45,34,.14);
}

.values-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}

.values-row span{
  border:1px solid rgba(5,145,68,.2);
  border-radius:999px;
  background:#fff;
  color:var(--dark);
  padding:10px 14px;
  font-weight:700;
  font-size:.92rem;
}

.impact-gallery{
  display:grid;
  grid-template-columns:1.15fr .85fr 1fr;
  gap:18px;
}

.impact-gallery figure{
  min-height:390px;
  border-radius:8px;
  overflow:hidden;
  position:relative;
  box-shadow:0 18px 45px rgba(15,45,34,.12);
}

.impact-gallery figcaption{
  position:absolute;
  left:18px;
  bottom:18px;
  border-radius:8px;
  background:rgba(255,255,255,.92);
  color:var(--dark);
  padding:10px 14px;
  font-weight:800;
}

.about-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  border-radius:8px;
  color:#fff;
  background:linear-gradient(135deg, #0e241c, #14633f);
  padding:46px;
  overflow:hidden;
  position:relative;
}

.about-cta::after{
  content:"";
  position:absolute;
  inset:auto -12% -45% auto;
  width:420px;
  height:420px;
  border-radius:50%;
  border:70px solid rgba(232,179,15,.18);
}

.about-cta > *{
  position:relative;
  z-index:1;
}

.about-cta h2,
.about-cta p{
  color:#fff;
}

.about-cta .actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

@media (max-width: 1100px){
  .about-story-grid,
  .philosophy-grid,
  .purpose-grid{
    grid-template-columns:1fr;
  }

  .focus-card-grid,
  .impact-gallery{
    grid-template-columns:repeat(2,1fr);
  }

  .about-cta{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media (max-width: 768px){
  .about-hero,
  .about-hero-inner{
    min-height:72vh;
  }

  .about-hero-copy{
    padding:58px 0 92px;
  }

  .snapshot-grid,
  .focus-card-grid,
  .impact-gallery{
    grid-template-columns:1fr;
  }

  .story-visual-grid{
    grid-template-columns:1fr;
    grid-template-rows:none;
  }

  .story-photo,
  .story-photo.large{
    min-height:260px;
  }

  .purpose-panel{
    min-height:330px;
    padding:30px;
  }

  .philosophy-image{
    height:360px;
  }

  .impact-gallery figure{
    min-height:310px;
  }

  .about-cta{
    padding:32px;
  }
}

/* ========= PROGRAMS, CONTACT & VOLUNTEERS PREMIUM PAGES ========= */

.programs-hero,
.contact-hero,
.volunteers-hero{
  position:relative;
  min-height:72vh;
  overflow:hidden;
  color:#fff;
}

.programs-hero-bg,
.contact-hero-bg,
.volunteers-hero-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
}

.programs-hero-inner,
.contact-hero-inner,
.volunteers-hero-inner{
  position:relative;
  z-index:2;
  min-height:72vh;
  display:flex;
  align-items:center;
}

.programs-hero-copy,
.contact-hero-copy,
.volunteers-hero-copy{
  max-width:790px;
  padding:76px 0;
}

.programs-hero-copy h1,
.contact-hero-copy h1,
.volunteers-hero-copy h1{
  font-family:'Playfair Display', serif;
  font-size:clamp(2.6rem, 5vw, 5.4rem);
  line-height:1.03;
  margin-bottom:20px;
}

.programs-hero-copy p,
.contact-hero-copy p,
.volunteers-hero-copy p{
  max-width:660px;
  color:rgba(255,255,255,.88);
  font-size:1.08rem;
}

.programs-strip{
  position:relative;
  z-index:5;
  margin-top:-52px;
}

.programs-strip-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.programs-strip-grid article{
  background:#fff;
  border:1px solid rgba(5,145,68,.12);
  border-radius:8px;
  box-shadow:0 22px 60px rgba(15,45,34,.11);
  padding:24px;
}

.programs-strip-grid strong,
.program-process-grid strong{
  display:block;
  color:var(--dark);
  margin-bottom:6px;
}

.programs-strip-grid span,
.program-process-grid span{
  color:var(--muted);
  font-size:.94rem;
}

.program-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}

.program-feature-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 16px 44px rgba(15,45,34,.08);
}

.program-feature-card img{
  width:100%;
  height:300px;
  object-fit:cover;
}

.program-feature-card div{
  padding:28px;
}

.program-feature-card span{
  display:inline-flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:#eef9f2;
  color:var(--primary);
  font-weight:800;
  margin-bottom:16px;
}

.program-feature-card h3,
.deep-dive-copy h2,
.program-impact-panel h2,
.contact-info-panel h2,
.contact-form-panel h2,
.contact-photo-grid h2,
.volunteers-intro-grid h2,
.volunteer-path-grid h2{
  font-family:'Playfair Display', serif;
  color:var(--dark);
  font-size:clamp(1.9rem, 3vw, 3rem);
  line-height:1.1;
  margin-bottom:14px;
}

.program-feature-card p,
.deep-dive-copy p,
.contact-info-panel p,
.contact-photo-grid p,
.volunteers-intro-grid p,
.volunteer-path-grid p{
  color:var(--muted);
}

.program-feature-card a{
  display:inline-block;
  margin-top:18px;
  color:var(--primary);
  font-weight:800;
}

.program-deep-dive,
.contact-main-section,
.volunteers-list-section{
  background:#f7fbf8;
}

.deep-dive-grid,
.contact-photo-grid,
.volunteer-path-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:52px;
  align-items:center;
}

.deep-dive-image,
.contact-photo-grid figure,
.volunteer-path-grid figure{
  height:520px;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 22px 60px rgba(15,45,34,.13);
}

.deep-dive-image img,
.contact-photo-grid img,
.volunteer-path-grid img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.premium-check-list{
  list-style:none;
  margin-top:24px;
  display:grid;
  gap:12px;
}

.premium-check-list li{
  position:relative;
  padding-left:28px;
  color:var(--ink);
  font-weight:600;
}

.premium-check-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--secondary);
}

.program-impact-panel{
  border-radius:8px;
  background:#fff;
  border:1px solid var(--border);
  box-shadow:0 18px 55px rgba(15,45,34,.08);
  padding:42px;
}

.program-process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:28px;
}

.program-process-grid article{
  border-radius:8px;
  background:#f7fbf8;
  border:1px solid var(--border);
  padding:22px;
}

.contact-premium-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:24px;
  align-items:start;
}

.contact-info-panel,
.contact-form-panel{
  border-radius:8px;
  background:#fff;
  border:1px solid var(--border);
  box-shadow:0 18px 55px rgba(15,45,34,.08);
  padding:34px;
}

.contact-detail-list{
  display:grid;
  gap:12px;
  margin-top:24px;
}

.contact-detail{
  display:block;
  border-radius:8px;
  background:#f7fbf8;
  border:1px solid var(--border);
  padding:18px;
}

.contact-detail span,
.volunteer-profile-card span{
  display:block;
  color:var(--primary);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:6px;
}

.contact-detail strong{
  color:var(--dark);
}

.contact-social-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

.contact-social-row a{
  border-radius:8px;
  border:1px solid rgba(5,145,68,.18);
  color:var(--primary);
  background:#fff;
  padding:10px 14px;
  font-weight:800;
}

.premium-form{
  display:grid;
  gap:18px;
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.field{
  display:grid;
  gap:8px;
}

.field label{
  color:var(--dark);
  font-weight:800;
  font-size:.92rem;
}

.field input,
.field select,
.field textarea{
  width:100%;
  min-height:54px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  padding:0 16px;
  outline:none;
}

.field textarea{
  min-height:150px;
  padding:14px 16px;
  resize:vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:rgba(5,145,68,.5);
  box-shadow:0 0 0 4px rgba(5,145,68,.1);
}

.form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
}

.notice{
  color:var(--primary);
  font-weight:800;
}

.contact-photo-section{
  background:#fffaf0;
}

.volunteers-intro-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:40px;
  align-items:end;
}

.volunteer-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.volunteer-profile-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  box-shadow:0 16px 44px rgba(15,45,34,.08);
  padding:26px;
}

.volunteer-profile-card.featured{
  grid-column:span 2;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:24px;
  align-items:end;
  padding:0;
  overflow:hidden;
}

.volunteer-profile-card.featured > div:last-child{
  padding:28px 28px 28px 0;
}

.volunteer-image{
  height:100%;
  min-height:330px;
}

.volunteer-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.profile-mark{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#eef9f2;
  color:var(--primary);
  font-weight:800;
  margin-bottom:20px;
}

.volunteer-profile-card h3{
  color:var(--dark);
  margin-bottom:10px;
}

.volunteer-profile-card p{
  color:var(--muted);
}

.volunteer-path-section{
  background:#fffaf0;
}

.volunteer-roster-section{
  background:#008d3d;
}

.volunteer-roster-section .section-head h2,
.volunteer-roster-section .section-head p,
.volunteer-roster-section .section-tag{
  color:#fff;
}

.volunteer-roster-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
}

.volunteer-person-card{
  display:flex;
  min-height:100%;
  flex-direction:column;
  overflow:hidden;
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.12);
}

.volunteer-avatar{
  min-height:250px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, #f4fbf7, #e6f4ec);
  color:var(--primary);
  font-size:clamp(2.3rem, 4vw, 4rem);
  font-weight:800;
  letter-spacing:0;
}

.volunteer-avatar.gold{
  background:linear-gradient(135deg, #fff8dc, #eef9f2);
  color:#8b6b08;
}

.volunteer-avatar.red{
  background:linear-gradient(135deg, #fff1f1, #eef9f2);
  color:#b72c2c;
}

.volunteer-person-body{
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:flex-start;
  padding:22px 18px 24px;
}

.volunteer-person-body h3{
  color:var(--dark);
  font-size:1.08rem;
  line-height:1.35;
  margin-bottom:10px;
}

.volunteer-person-body p{
  color:var(--muted);
  font-size:.95rem;
  margin-bottom:20px;
}

.volunteer-person-body .btn{
  margin-top:auto;
  min-height:48px;
  background:#fb4949;
  color:#fff;
}

.certified-intro-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:40px;
  align-items:end;
}

.certified-intro-grid h2,
.certified-roster-empty h3{
  font-family:'Playfair Display', serif;
  color:var(--dark);
  font-size:clamp(1.9rem, 3vw, 3rem);
  line-height:1.1;
  margin-bottom:14px;
}

.certified-intro-grid p,
.certified-roster-empty p{
  color:var(--muted);
}

.certified-list-section{
  background:#f7fbf8;
}

.certified-roster-card{
  border:1px solid var(--border);
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 55px rgba(15,45,34,.08);
  overflow:hidden;
}

.certified-roster-empty{
  max-width:720px;
  margin:0 auto;
  padding:42px 34px 20px;
  text-align:center;
}

.certified-roster-empty span{
  display:inline-flex;
  border-radius:8px;
  background:#eef9f2;
  color:var(--primary);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:8px 12px;
  margin-bottom:18px;
}

.certified-name-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  padding:20px 34px 34px;
}

.certified-name-grid article{
  border:1px solid var(--border);
  border-radius:8px;
  background:#f7fbf8;
  padding:22px;
}

.certified-name-grid strong{
  display:block;
  color:var(--dark);
  margin-bottom:6px;
}

.certified-name-grid span{
  color:var(--muted);
  font-size:.94rem;
}

.certified-cta-section{
  background:#fffaf0;
}

@media (max-width: 1100px){
  .programs-strip-grid,
  .program-process-grid,
  .volunteer-card-grid,
  .volunteer-roster-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .deep-dive-grid,
  .contact-premium-grid,
  .contact-photo-grid,
  .volunteers-intro-grid,
  .certified-intro-grid,
  .volunteer-path-grid{
    grid-template-columns:1fr;
  }

  .certified-name-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width: 768px){
  .programs-hero,
  .contact-hero,
  .volunteers-hero,
  .programs-hero-inner,
  .contact-hero-inner,
  .volunteers-hero-inner{
    min-height:70vh;
  }

  .programs-hero-copy,
  .contact-hero-copy,
  .volunteers-hero-copy{
    padding:58px 0 90px;
  }

  .programs-strip-grid,
  .program-feature-grid,
  .program-process-grid,
  .form-grid,
  .certified-name-grid,
  .volunteer-card-grid,
  .volunteer-roster-grid{
    grid-template-columns:1fr;
  }

  .program-feature-card img{
    height:240px;
  }

  .volunteer-avatar{
    min-height:220px;
  }

  .deep-dive-image,
  .contact-photo-grid figure,
  .volunteer-path-grid figure{
    height:340px;
  }

  .contact-info-panel,
  .contact-form-panel,
  .program-impact-panel{
    padding:28px;
  }

  .volunteer-profile-card.featured{
    grid-column:auto;
    grid-template-columns:1fr;
  }

  .volunteer-profile-card.featured > div:last-child{
    padding:0 26px 26px;
  }
}

/* ========= WHOLE-SITE PREMIUM PAGE UTILITIES ========= */

.home-premium-hero,
.premium-page-hero{
  position:relative;
  min-height:76vh;
  overflow:hidden;
  color:#fff;
}

.home-premium-hero-bg,
.premium-page-hero-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
}

.home-premium-hero-inner,
.premium-page-hero-inner{
  position:relative;
  z-index:2;
  min-height:76vh;
  display:flex;
  align-items:center;
}

.home-premium-copy,
.premium-page-hero-inner > div{
  max-width:820px;
  padding:76px 0;
}

.home-premium-copy h1,
.premium-page-hero h1,
.donation-story h2,
.donation-bank-card h2,
.blog-feature-post h2,
.article-hero h1,
.article-body h2,
.volunteer-copy-panel h2{
  font-family:'Playfair Display', serif;
  color:inherit;
  font-size:clamp(2.3rem, 5vw, 5.3rem);
  line-height:1.04;
  margin-bottom:18px;
}

.premium-page-hero h1,
.home-premium-copy h1{
  color:#fff;
}

.home-premium-copy p,
.premium-page-hero p{
  max-width:660px;
  color:rgba(255,255,255,.88);
  font-size:1.08rem;
}

.donation-grid,
.volunteer-signup-grid{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:28px;
  align-items:start;
}

.donation-story,
.donation-bank-card,
.volunteer-copy-panel{
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  box-shadow:0 18px 55px rgba(15,45,34,.08);
  padding:36px;
}

.donation-story h2,
.donation-bank-card h2,
.volunteer-copy-panel h2{
  color:var(--dark);
  font-size:clamp(2rem, 3.2vw, 3.2rem);
}

.donation-story p,
.donation-bank-card p,
.volunteer-copy-panel p{
  color:var(--muted);
}

.donation-cause-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:26px;
}

.donation-cause-grid article,
.bank-detail{
  border-radius:8px;
  background:#f7fbf8;
  border:1px solid var(--border);
  padding:18px;
}

.donation-bank-card h3{
  color:var(--dark);
  font-size:1rem;
  margin:24px 0 14px;
}

.donation-instruction-list{
  display:grid;
  gap:10px;
  margin:18px 0 22px;
  padding-left:20px;
  color:var(--muted);
}

.donation-cause-grid strong,
.bank-detail strong{
  display:block;
  color:var(--dark);
}

.donation-cause-grid span,
.bank-detail span{
  color:var(--muted);
  font-size:.92rem;
}

.bank-detail{
  margin-bottom:12px;
}

.premium-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.premium-gallery figure{
  min-height:340px;
  position:relative;
  overflow:hidden;
  border-radius:8px;
  box-shadow:0 18px 45px rgba(15,45,34,.12);
}

.premium-gallery figure.wide{
  grid-column:span 2;
}

.premium-gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.premium-gallery figcaption{
  position:absolute;
  left:18px;
  bottom:18px;
  border-radius:8px;
  background:rgba(255,255,255,.92);
  color:var(--dark);
  padding:10px 14px;
  font-weight:800;
}

.blog-premium-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:24px;
}

.blog-feature-post,
.blog-side-list article{
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 18px 55px rgba(15,45,34,.08);
}

.blog-feature-post img{
  width:100%;
  height:430px;
  object-fit:cover;
}

.blog-feature-post div{
  padding:30px;
}

.blog-feature-post h2{
  color:var(--dark);
  font-size:clamp(2rem, 3vw, 3.1rem);
}

.blog-feature-post p{
  color:var(--muted);
}

.blog-feature-post time,
.blog-side-list time{
  color:var(--primary);
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.blog-side-list{
  display:grid;
  gap:16px;
}

.blog-side-list article{
  display:grid;
  grid-template-columns:150px 1fr;
  align-items:center;
}

.blog-side-list img{
  width:100%;
  height:150px;
  object-fit:cover;
}

.blog-side-list div{
  padding:18px;
}

.blog-side-list h3{
  color:var(--dark);
  font-size:1rem;
  line-height:1.25;
  margin-top:8px;
}

.article-hero{
  background:linear-gradient(135deg, #0e241c, #14633f);
  color:#fff;
  padding:110px 0 86px;
}

.article-hero h1{
  max-width:980px;
  color:#fff;
  font-size:clamp(2.4rem, 4.8vw, 5rem);
}

.article-hero p{
  color:rgba(255,255,255,.84);
  max-width:680px;
  font-size:1.08rem;
}

.article-layout{
  max-width:940px;
}

.article-body{
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  box-shadow:0 18px 55px rgba(15,45,34,.08);
  padding:34px;
}

.article-body img{
  width:100%;
  max-height:480px;
  object-fit:cover;
  border-radius:8px;
  margin-bottom:28px;
}

.article-body h2{
  color:var(--dark);
  font-size:clamp(1.8rem, 3vw, 2.6rem);
  margin-top:28px;
}

.article-body p,
.article-body li{
  color:var(--muted);
  margin-bottom:14px;
}

.article-body ul{
  padding-left:22px;
  margin-bottom:22px;
}

.article-phase-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin:24px 0 30px;
}

.article-phase-grid section{
  border:1px solid var(--border);
  border-radius:8px;
  background:#f7fbf8;
  padding:20px;
}

.article-phase-grid h3{
  color:var(--dark);
  margin-bottom:10px;
}

.article-phase-grid ul{
  margin-bottom:0;
}

.article-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}

.policy-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.policy-grid article{
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  box-shadow:0 18px 55px rgba(15,45,34,.08);
  padding:28px;
}

.policy-grid span{
  display:inline-flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:#eef9f2;
  color:var(--primary);
  font-weight:800;
  margin-bottom:20px;
}

.policy-grid h3{
  color:var(--dark);
  margin-bottom:10px;
}

.policy-grid p{
  color:var(--muted);
}

.policy-detail-section{
  background:#f7fbf8;
}

.policy-detail-section.reveal{
  opacity:1;
  transform:none;
}

.policy-detail-list{
  display:grid;
  gap:18px;
}

.policy-detail-list article{
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  box-shadow:0 16px 44px rgba(15,45,34,.07);
  padding:28px;
}

.policy-detail-list h2{
  color:var(--dark);
  font-family:'Playfair Display', serif;
  font-size:clamp(1.4rem, 2vw, 2rem);
  line-height:1.2;
  margin-bottom:14px;
}

.policy-detail-list p{
  color:var(--muted);
  margin-bottom:12px;
}

.policy-detail-list p:last-child{
  margin-bottom:0;
}

.media-video-section{
  background:#f7fbf8;
}

.media-video-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}

.media-video-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  box-shadow:0 18px 55px rgba(15,45,34,.08);
  overflow:hidden;
}

.video-frame{
  position:relative;
  aspect-ratio:16/9;
  background:#0e241c;
}

.video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.media-video-card h3{
  color:var(--dark);
  font-size:1.05rem;
  line-height:1.35;
  padding:20px;
}

@media (max-width: 1100px){
  .donation-grid,
  .volunteer-signup-grid,
  .blog-premium-grid{
    grid-template-columns:1fr;
  }

  .policy-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .article-phase-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width: 768px){
  .home-premium-hero,
  .premium-page-hero,
  .home-premium-hero-inner,
  .premium-page-hero-inner{
    min-height:70vh;
  }

  .home-premium-copy,
  .premium-page-hero-inner > div{
    padding:58px 0 90px;
  }

  .donation-cause-grid,
  .premium-gallery,
  .policy-grid,
  .media-video-grid{
    grid-template-columns:1fr;
  }

  .article-phase-grid{
    grid-template-columns:1fr;
  }

  .premium-gallery figure.wide{
    grid-column:auto;
  }

  .blog-side-list article{
    grid-template-columns:1fr;
  }

  .blog-side-list img{
    height:220px;
  }

  .blog-feature-post img{
    height:280px;
  }

  .article-body,
  .donation-story,
  .donation-bank-card,
  .volunteer-copy-panel{
    padding:28px;
  }
}

/* Final radius harmonisation for the redesigned static site */
.btn,
.feature-card,
.program-card,
.activity-card,
.testimonial-card,
.blog-card,
.impact-card,
.stat-box,
.faq-list details,
.media-card,
.newsletter-box,
.contact-info-panel,
.contact-form-panel,
.volunteer-profile-card,
.volunteer-person-card,
.program-feature-card,
.focus-card,
.story-photo,
.purpose-panel,
.philosophy-image,
.impact-gallery figure,
.about-cta,
.donation-story,
.donation-bank-card,
.blog-feature-post,
.blog-side-list article,
.media-video-card,
.article-body,
.policy-grid article,
.policy-detail-list article,
.premium-gallery figure{
  border-radius:8px;
}

/* ========= PREMIUM TEAM MEMBER PROFILE ========= */

.team-profile-page{
  background:#f7fbf8;
}

.profile-hero-premium{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:92px 0 78px;
  background:
    linear-gradient(135deg, rgba(14,36,28,.98), rgba(6,81,50,.9) 52%, rgba(232,179,15,.86)),
    url("../images/about-home.jpg") center/cover;
  color:#fff;
}

.profile-hero-premium::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:68px 68px;
  mask-image:linear-gradient(90deg, rgba(0,0,0,.22), transparent 62%);
}

.profile-hero-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.02fr) minmax(320px, .72fr);
  gap:56px;
  align-items:center;
}

.profile-hero-copy{
  max-width:760px;
}

.profile-hero-copy .section-tag{
  color:#f2ca45;
}

.profile-hero-copy h1{
  font-family:'Playfair Display', serif;
  font-size:clamp(3.2rem, 7vw, 6.6rem);
  line-height:.96;
  margin-bottom:22px;
  color:#fff;
}

.profile-hero-copy .lead{
  max-width:680px;
  color:rgba(255,255,255,.88);
  font-size:1.13rem;
}

.profile-status-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:30px 0;
}

.profile-status-row span{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:8px;
  background:rgba(255,255,255,.1);
  color:#fff;
  padding:0 15px;
  font-size:.92rem;
  font-weight:800;
  backdrop-filter:blur(10px);
}

.profile-status-row .status-badge{
  background:#fff;
  border-color:#fff;
  color:var(--primary);
}

.profile-portrait-card{
  position:relative;
  border:1px solid rgba(255,255,255,.28);
  border-radius:8px;
  background:rgba(255,255,255,.12);
  box-shadow:0 30px 80px rgba(0,0,0,.24);
  padding:18px;
  backdrop-filter:blur(18px);
}

.profile-portrait-frame{
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:14px solid #e8b30f;
  border-radius:42px;
  background:#fff;
  aspect-ratio:4/5.25;
}

.profile-portrait-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

.profile-nameplate{
  display:grid;
  gap:3px;
  margin-top:14px;
  border-radius:8px;
  background:#fff;
  padding:18px;
  color:var(--dark);
}

.profile-nameplate span{
  color:var(--primary);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.profile-nameplate strong{
  font-family:'Playfair Display', serif;
  font-size:1.9rem;
  line-height:1.08;
}

.profile-nameplate p{
  color:var(--muted);
  margin:0;
}

.profile-credential-band{
  position:relative;
  z-index:2;
  margin-top:-34px;
}

.premium-metrics{
  grid-template-columns:repeat(4,1fr);
  margin:0 auto;
}

.premium-metrics .metric-card{
  border-radius:8px;
  border-color:rgba(5,145,68,.1);
  box-shadow:0 18px 50px rgba(15,45,34,.1);
}

.profile-detail-section{
  padding-top:74px;
  background:linear-gradient(180deg, #f7fbf8 0%, #fff 100%);
}

.profile-detail-grid{
  display:grid;
  grid-template-columns:1.06fr .94fr;
  gap:24px;
  align-items:stretch;
}

.profile-detail-grid .profile-card{
  display:block;
  border-radius:8px;
  border:1px solid var(--border);
  box-shadow:0 18px 55px rgba(15,45,34,.08);
}

.profile-summary-card{
  background:#fff;
}

.profile-info-card{
  background:#fffaf0;
}

.profile-detail-grid .profile-card-body{
  height:100%;
  padding:34px;
}

.profile-detail-grid .profile-card-body h2{
  font-family:'Playfair Display', serif;
  font-size:clamp(2rem, 3vw, 3.2rem);
  line-height:1.08;
}

.profile-quick-info{
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.profile-quick-info div{
  border:1px solid rgba(5,145,68,.1);
  border-radius:8px;
  background:#fff;
  padding:18px;
}

.profile-quick-info div p{
  margin:0;
  color:var(--muted);
  line-height:1.5;
  overflow-wrap:anywhere;
}

@media (max-width: 1100px){
  .profile-hero-grid,
  .profile-detail-grid{
    grid-template-columns:1fr;
  }

  .premium-metrics{
    grid-template-columns:repeat(2,1fr);
  }

  .profile-portrait-card{
    max-width:520px;
  }
}

@media (max-width: 768px){
  .profile-hero-premium{
    padding:68px 0 58px;
  }

  .profile-status-row,
  .profile-cta{
    align-items:stretch;
    flex-direction:column;
  }

  .premium-metrics,
  .profile-quick-info{
    grid-template-columns:1fr;
  }

  .profile-credential-band{
    margin-top:-20px;
  }

  .profile-portrait-frame{
    border-width:10px;
    border-radius:30px;
  }

  .profile-detail-grid .profile-card-body{
    padding:28px;
  }
}
