/* ==========================================================================
   Minhash Foundation — shared stylesheet
   ========================================================================== */

:root{
  --navy:#0B2A4A;
  --navy-deep:#0A2744;
  --paper:#F7F5F1;
  --paper-2:#EDEAE2;
  --gold:#FF9933;
  --gold-soft:#FFDCAE;
  --teal:#0E7A3C;
  --teal-soft:#D9F0E1;
  --ink:#13233A;
  --line: rgba(19,35,58,0.14);
  --line-dark: rgba(247,245,241,0.16);
  --radius-lg:20px;
  --radius-md:14px;
  --radius-sm:8px;
  --saffron:#FF9933;
  --saffron-soft:#FFDCAE;
  --indiagreen:#0E7A3C;
  --indiagreen-soft:#D9F0E1;
}

/* ---------- tricolor signature (Indian flag accent) ---------- */
.tricolor-rule{
  height:5px; width:100%;
  background:linear-gradient(90deg, var(--saffron) 0 33.33%, #ffffff 33.33% 66.66%, var(--indiagreen) 66.66% 100%);
}
.tricolor-tag{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono', monospace; font-size:0.72rem; letter-spacing:0.08em;
  padding:5px 12px 5px 8px; border-radius:999px; background:var(--paper-2); color:var(--ink); opacity:0.85;
}
.tricolor-tag .dots{display:inline-flex; gap:3px;}
.tricolor-tag .dots span{width:6px; height:6px; border-radius:50%; display:inline-block;}
.tricolor-tag .dots span:nth-child(1){background:var(--saffron);}
.tricolor-tag .dots span:nth-child(2){background:#fff; border:1px solid var(--line);}
.tricolor-tag .dots span:nth-child(3){background:var(--indiagreen);}

/* ---------- photo tiles (duotone-navy treated photography) ---------- */
.photo-tile{
  position:relative; overflow:hidden; background:var(--navy-deep);
}
.photo-tile img{
  width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(1.05) contrast(1.02);
}
.photo-tile::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(7,27,48,0.05) 0%, rgba(7,27,48,0.38) 100%);
  pointer-events:none;
}
.photo-tile.top-tint::after{
  background:linear-gradient(180deg, rgba(7,27,48,0.5) 0%, rgba(7,27,48,0.05) 35%, rgba(7,27,48,0.05) 65%, rgba(7,27,48,0.5) 100%);
}

/* ---------- faces-of-the-movement photo grid ---------- */
.faces-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
@media(max-width:900px){ .faces-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:560px){ .faces-grid{grid-template-columns:1fr;} }
.face-card{border-radius:16px; overflow:hidden; border:1px solid var(--line);}
.face-card .photo-tile{aspect-ratio:4/5;}
.face-card .face-caption{padding:14px 16px 16px; background:#fff;}
.face-card .face-caption h4{font-family:'Inter',sans-serif; font-weight:700; font-size:0.92rem; color:var(--navy-deep); margin-bottom:3px;}
.face-card .face-caption p{font-size:0.82rem; opacity:0.65;}
.face-card .tricolor-rule{border-radius:0;}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Poppins', sans-serif;
  font-weight:700;
  margin:0;
  color:var(--navy-deep);
  line-height:1.2;
}
p{margin:0;}
a{color:inherit;}
img{max-width:100%; display:block;}
.mono{font-family:'JetBrains Mono', monospace;}
.wrap{max-width:1160px; margin:0 auto; padding:0 28px;}
section{position:relative;}
ul{margin:0;}

/* ---------- utility ---------- */
.section-pad{padding:96px 0;}
@media(max-width:700px){ .section-pad{padding:64px 0;} }
.kicker{
  font-family:'JetBrains Mono', monospace; font-size:0.78rem; text-transform:uppercase;
  letter-spacing:0.12em; color:var(--teal); margin-bottom:14px; display:inline-flex; align-items:center; gap:8px;
}
.kicker::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--teal); display:inline-block;}
.on-dark .kicker{color:var(--gold-soft);}
.on-dark .kicker::before{background:var(--gold);}
.section-head{max-width:660px; margin-bottom:56px;}
.section-head h2{font-size:clamp(1.7rem,3vw,2.35rem);}
.section-head p{margin-top:16px; color:var(--ink); opacity:0.75; font-size:1.05rem;}
.on-dark .section-head p{color:rgba(247,245,241,0.72); opacity:1;}

.btn-primary, .btn-ghost, .btn-secondary{
  display:inline-flex; align-items:center; gap:8px;
  padding:15px 26px; border-radius:999px; font-weight:700; font-size:0.95rem;
  text-decoration:none; font-family:'Inter',sans-serif; border:none; cursor:pointer;
}
.btn-primary{
  background:var(--gold); color:#fff;
  transition:transform .15s ease;
}
.btn-primary:hover{transform:translateY(-2px);}
.btn-secondary{
  background:var(--teal); color:#fff;
  transition:transform .15s ease;
}
.btn-secondary:hover{transform:translateY(-2px);}
.btn-ghost{
  border:1px solid rgba(19,35,58,0.25); color:var(--navy-deep); background:#fff;
}
.on-dark .btn-ghost{border-color:rgba(247,245,241,0.35); color:#fff; background:transparent;}
.btn-ghost:hover{background:rgba(19,35,58,0.05);}
.on-dark .btn-ghost:hover{background:rgba(247,245,241,0.08);}

.pill{
  font-family:'JetBrains Mono', monospace; font-size:0.72rem; color:var(--teal);
  background:var(--teal-soft); padding:4px 10px; border-radius:6px; display:inline-block;
}

/* ---------- header / nav ---------- */
header.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,0.96); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
nav.wrap{
  display:flex; align-items:center; justify-content:space-between; height:84px;
}
.brand{
  display:flex; align-items:center; gap:12px; text-decoration:none; flex-shrink:0;
}
.brand .mark{
  width:44px; height:44px; border-radius:50%; background:#fff; border:2px solid var(--navy-deep);
  display:grid; place-items:center; flex-shrink:0;
}
.brand .mark svg{width:22px; height:22px;}
.brand-text{display:flex; flex-direction:column; line-height:1.3; white-space:nowrap;}
.brand-name{
  font-family:'Poppins',sans-serif; font-weight:800; font-size:1rem; color:var(--navy-deep);
  text-transform:uppercase; letter-spacing:0.01em; white-space:nowrap;
}
.brand-tagline{
  font-family:'JetBrains Mono',monospace; font-size:0.64rem; font-weight:700;
  letter-spacing:0.06em; text-transform:uppercase; color:var(--gold); white-space:nowrap;
}
.brand-logo{
  height:44px; width:auto; display:block;
}
footer .brand-logo{height:38px;}
.nav-links{
  list-style:none; display:flex; gap:20px; margin:0; padding:0; font-size:0.8rem; font-weight:600;
  text-transform:uppercase; letter-spacing:0.03em; flex-shrink:0;
}
.nav-links a{
  text-decoration:none; color:var(--navy-deep); opacity:0.8; transition:opacity .2s, color .2s;
  position:relative; padding-bottom:3px; white-space:nowrap;
}
.nav-links a:hover{opacity:1; color:var(--gold);}
.nav-links a.active{opacity:1; color:var(--gold);}
.nav-cta-group{display:flex; align-items:center; gap:8px; flex-shrink:0;}
.nav-cta-volunteer{
  background:var(--teal); color:#fff; border:none;
  padding:11px 16px; border-radius:999px; font-weight:700; font-size:0.82rem;
  font-family:'Inter',sans-serif; cursor:pointer; text-decoration:none; white-space:nowrap;
  transition:transform .15s ease;
}
.nav-cta-volunteer:hover{transform:translateY(-1px);}
.nav-cta{
  background:var(--gold); color:#fff; border:none;
  display:inline-flex; align-items:center; gap:6px;
  padding:11px 16px; border-radius:999px; font-weight:700; font-size:0.82rem;
  font-family:'Inter',sans-serif; cursor:pointer; text-decoration:none; white-space:nowrap;
  transition:transform .15s ease;
}
.nav-cta:hover{transform:translateY(-1px);}
.nav-desktop{display:flex; align-items:center; gap:20px; min-width:0;}
.nav-toggle{
  display:none; background:none; border:none; cursor:pointer; padding:6px;
}
.nav-toggle svg{width:24px; height:24px; color:var(--navy-deep);}
.mobile-menu{
  display:none; flex-direction:column; gap:0; background:var(--paper);
  border-bottom:1px solid var(--line); padding:6px 28px 22px;
}
.mobile-menu a{
  padding:14px 0; text-decoration:none; color:var(--navy-deep); border-bottom:1px solid var(--line);
  font-size:1rem;
}
.mobile-menu .nav-cta-group{margin-top:16px; display:flex; flex-direction:column; gap:10px;}
.mobile-menu .nav-cta, .mobile-menu .nav-cta-volunteer{justify-content:center; text-align:center;}

@media(max-width:1180px){
  .nav-desktop{display:none;}
  .nav-toggle{display:block;}
  .mobile-menu.open{display:flex;}
}

/* ---------- hero (generic, per-page) ---------- */
.page-hero{
  background:linear-gradient(180deg,#FEF6EA 0%,#FBEFDC 100%); color:var(--ink); padding:64px 0 100px; overflow:hidden;
}
.page-hero h1{
  color:var(--navy-deep); font-family:'Poppins',sans-serif; font-weight:700;
  font-size:clamp(1.9rem,3.6vw,2.8rem); max-width:760px; letter-spacing:-0.01em;
}
.page-hero h1.hero-display{
  font-weight:800; text-transform:uppercase; font-size:clamp(2rem,4.6vw,3.4rem); line-height:1.15;
}
.page-hero h1 .hl{color:var(--gold);}
.page-hero p.lead{
  margin-top:20px; font-size:1.08rem; color:var(--ink); opacity:0.72; max-width:600px;
}
.page-hero .hero-actions{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap;}
.hero-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:44px; align-items:center;}
@media(max-width:860px){ .hero-grid{grid-template-columns:1fr;} }
.hero-side-photo{aspect-ratio:4/3.3; border-radius:20px; box-shadow:0 16px 40px rgba(19,35,58,0.14);}

/* ---------- full-bleed dark initiative hero (listing + detail pages) ---------- */
.initiative-hero{
  position:relative; min-height:520px; display:flex; align-items:flex-end;
  background:var(--navy-deep); overflow:hidden;
}
.initiative-hero img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.initiative-hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,39,68,0.5) 0%, rgba(10,39,68,0.3) 38%, rgba(10,39,68,0.88) 100%);
}
.initiative-hero .wrap{position:relative; z-index:2; padding:130px 28px 64px;}
.initiative-hero .hero-chip{
  display:inline-block; background:#fff; color:var(--navy-deep); font-family:'JetBrains Mono',monospace;
  font-size:0.76rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
  padding:9px 16px; border-radius:8px; margin-bottom:22px;
}
.initiative-hero h1{
  color:#fff; font-family:'Poppins',sans-serif; font-weight:800;
  font-size:clamp(2rem,4.4vw,3.1rem); max-width:800px; line-height:1.15;
}
.initiative-hero p.lead{color:rgba(255,255,255,0.85); margin-top:18px; max-width:600px; font-size:1.05rem;}
.initiative-hero .hero-actions{margin-top:28px; display:flex; gap:14px; flex-wrap:wrap;}
.initiative-hero .btn-ghost{background:transparent; border-color:rgba(255,255,255,0.5); color:#fff;}
.initiative-hero .btn-ghost:hover{background:rgba(255,255,255,0.1);}

/* ---------- nav dropdown ---------- */
.nav-links li{position:relative;}
.nav-links .has-dropdown{display:flex; align-items:center; gap:4px; cursor:pointer;}
.nav-links .has-dropdown svg{width:11px; height:11px; transition:transform .2s ease;}
.nav-links li:hover .has-dropdown svg{transform:rotate(180deg);}
.nav-dropdown{
  position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%);
  background:#fff; border-radius:14px; box-shadow:0 20px 44px rgba(19,35,58,0.18);
  border:1px solid var(--line); padding:14px; display:grid; grid-template-columns:1fr 1fr;
  gap:4px; width:420px; opacity:0; visibility:hidden; transform:translateX(-50%) translateY(8px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  text-transform:none; letter-spacing:normal; z-index:50;
}
.nav-links li:hover .nav-dropdown{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
.nav-dropdown a{
  display:block; padding:10px 12px; border-radius:8px; font-size:0.86rem; font-weight:600;
  color:var(--navy-deep); opacity:1;
}
.nav-dropdown a:hover{background:var(--paper-2); color:var(--gold);}
.nav-dropdown .nav-dropdown-all{
  grid-column:1 / -1; background:var(--teal-soft); color:var(--teal) !important;
  font-weight:700; margin-bottom:6px;
}
.nav-dropdown.compact{grid-template-columns:1fr; width:230px;}

/* ---------- gallery ---------- */
.gallery-cat-head{margin:56px 0 24px;}
.gallery-cat-head:first-of-type{margin-top:0;}
.gallery-cat-head h3{font-size:1.1rem; display:flex; align-items:center; gap:10px;}
.gallery-cat-head h3::before{content:""; width:8px; height:8px; background:var(--gold); border-radius:50%; display:inline-block;}
.gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
@media(max-width:900px){ .gallery-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .gallery-grid{grid-template-columns:1fr;} }
.gallery-item{border-radius:14px; overflow:hidden; position:relative;}
.gallery-item .photo-tile{aspect-ratio:1/1;}
.gallery-item .photo-tile.top-tint::after{background:linear-gradient(180deg, rgba(7,27,48,0) 55%, rgba(7,27,48,0.75) 100%);}
.gallery-caption{
  position:absolute; left:0; right:0; bottom:0; padding:14px; z-index:2;
  color:#fff; font-size:0.84rem; font-weight:600;
}

.home-hero-grid{
  display:grid; grid-template-columns:1.05fr 0.95fr; gap:40px; align-items:center;
}
@media(max-width:900px){ .home-hero-grid{grid-template-columns:1fr;} }

/* ---------- home hero: full-bleed photo, exact reference layout ---------- */
.home-hero{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg,#FEF6EA 0%,#FBEFDC 100%);
  min-height:660px; display:flex; align-items:center;
  padding:56px 0 130px;
}
.home-hero .hero-content{
  position:relative; z-index:2; max-width:min(600px, 40vw);
  padding-left:max(28px, calc((100vw - 1160px) / 2 + 28px));
  padding-right:28px;
}
.home-hero .hero-label{
  display:inline-block; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:0.82rem;
  letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); margin-bottom:16px;
}
.home-hero h1.hero-display{
  font-family:'Poppins',sans-serif; font-weight:800; text-transform:uppercase;
  font-size:clamp(2.1rem,4.6vw,3.5rem); line-height:1.12; letter-spacing:-0.01em;
}
.home-hero h1.hero-display .line{display:block; color:var(--navy-deep);}
.home-hero h1.hero-display .line.accent{color:var(--gold);}
.home-hero p.lead{margin-top:22px; font-size:1.06rem; color:var(--ink); opacity:0.75; max-width:520px;}
.home-hero .hero-actions{display:flex; gap:12px; margin-top:30px; flex-wrap:nowrap;}
.home-hero .hero-actions .btn-primary, .home-hero .hero-actions .btn-secondary, .home-hero .hero-actions .btn-ghost{
  text-transform:uppercase; font-size:0.78rem; letter-spacing:0.01em; padding:14px 18px; white-space:nowrap;
}
@media(max-width:640px){
  .home-hero .hero-actions{flex-wrap:wrap;}
}
.hero-photo-full{
  position:absolute; top:0; right:0; bottom:0; width:58%; z-index:1;
}
@media(max-width:900px){ .hero-photo-full{display:none;} .home-hero{padding-bottom:100px; min-height:0;} .home-hero .hero-content{max-width:640px;} }
.hero-photo-full img{width:100%; height:100%; object-fit:cover; display:block;}
.hero-photo-full::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, #FEF6EA 0%, rgba(254,246,234,0) 14%);
}

.statbar-float{
  margin-top:-64px; position:relative; z-index:5;
}
.statbar-card{
  background:#fff; border-radius:20px; box-shadow:0 16px 40px rgba(19,35,58,0.12);
  padding:28px 10px; display:grid; grid-template-columns:repeat(5,1fr); gap:0;
}
.hero-edge-accent{display:flex; height:5px;}
.hero-edge-accent span{flex:1;}
.hero-edge-accent span:first-child{background:var(--gold);}
.hero-edge-accent span:nth-child(2){background:transparent;}
.hero-edge-accent span:last-child{background:var(--teal);}
@media(max-width:900px){ .statbar-card{grid-template-columns:repeat(2,1fr); gap:20px;} }
@media(max-width:500px){ .statbar-card{grid-template-columns:1fr; gap:20px;} }
.stat-item{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px;
  padding:0 12px; border-right:1px solid var(--line);
}
.stat-item:last-child{border-right:none;}
@media(max-width:900px){ .stat-item{border-right:none;} }
.stat-icon{
  width:46px; height:46px; border-radius:50%; display:grid; place-items:center; flex-shrink:0;
}
.stat-icon svg{width:22px; height:22px;}
.stat-icon.c1{background:var(--teal-soft); color:var(--teal);}
.stat-icon.c2{background:var(--gold-soft); color:var(--gold);}
.stat-icon.c3{background:#DCEBFB; color:#1E6FBF;}
.stat-icon.c4{background:#FBDCE4; color:#C43A63;}
.stat-icon.c5{background:var(--teal-soft); color:var(--teal);}
.stat-num{font-family:'Poppins',sans-serif; font-weight:800; font-size:1.3rem; color:var(--navy-deep);}
.stat-label{font-size:0.78rem; color:var(--ink); opacity:0.6;}

/* ---------- cards / grids ---------- */
.card{
  background:#fff; border:1px solid var(--line); border-radius:16px; padding:30px 26px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.card:hover{transform:translateY(-4px); box-shadow:0 14px 30px rgba(19,35,58,0.08);}
.card-icon{
  width:46px; height:46px; border-radius:11px; background:var(--teal-soft);
  display:grid; place-items:center; margin-bottom:18px;
}
.card-icon svg{width:23px; height:23px; color:var(--teal);}
.card h3{font-size:1.12rem; margin-bottom:9px;}
.card p{color:var(--ink); opacity:0.75; font-size:0.95rem;}

.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
@media(max-width:900px){ .grid-3{grid-template-columns:1fr 1fr;} .grid-4{grid-template-columns:1fr 1fr;} }
@media(max-width:640px){ .grid-3{grid-template-columns:1fr;} .grid-4{grid-template-columns:1fr;} .grid-2{grid-template-columns:1fr;} }

.band-alt{background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.band-dark{background:var(--navy-deep); color:var(--paper);}

/* ---------- vision / mission colored cards ---------- */
.vm-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
@media(max-width:760px){ .vm-grid{grid-template-columns:1fr;} }
.vm-card{
  border-radius:22px; padding:44px 40px; color:#fff;
  box-shadow:0 20px 40px rgba(19,35,58,0.14);
}
.vm-card h3{color:#fff; font-size:1.7rem; margin-bottom:16px;}
.vm-card p{opacity:0.92; font-size:1rem; line-height:1.65;}
.vm-vision{background:linear-gradient(135deg, #FFAD52 0%, var(--gold) 100%);}
.vm-mission{background:linear-gradient(135deg, #16955A 0%, var(--teal) 100%);}
.vm-more{
  display:inline-block; margin-top:24px; padding:12px 24px; border-radius:999px;
  background:rgba(255,255,255,0.22); color:#fff; text-decoration:none; font-weight:700; font-size:0.9rem;
  transition:background .2s ease;
}
.vm-more:hover{background:rgba(255,255,255,0.34);}

/* ---------- values grid (about) ---------- */
.value-item{padding:26px 0; border-top:1px solid var(--line);}
.value-item:last-child{border-bottom:1px solid var(--line);}
.value-item h3{font-size:1.05rem; margin-bottom:6px;}
.value-item p{color:var(--ink); opacity:0.72; font-size:0.95rem;}
.value-num{font-family:'JetBrains Mono',monospace; color:var(--teal); font-size:0.82rem; margin-right:14px;}

/* ---------- initiative cards ---------- */
.initiative-card{
  background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden;
  display:flex; flex-direction:column; transition:transform .25s ease, box-shadow .25s ease;
}
.initiative-card:hover{transform:translateY(-4px); box-shadow:0 14px 30px rgba(19,35,58,0.08);}
.initiative-media{
  height:150px; background:var(--navy-deep); position:relative; overflow:hidden;
}
.initiative-media svg{width:100%; height:100%;}
.initiative-body{padding:24px 24px 26px; flex:1; display:flex; flex-direction:column;}
.initiative-body h3{font-size:1.1rem; margin-bottom:8px;}
.initiative-body p{color:var(--ink); opacity:0.75; font-size:0.93rem; margin-bottom:16px; flex:1;}
.tag-row{display:flex; gap:8px; flex-wrap:wrap;}
.initiative-more{
  display:inline-block; margin-top:16px; font-size:0.86rem; font-weight:700; color:var(--gold); text-decoration:none;
}
.initiative-more:hover{text-decoration:underline;}
.initiative-detail{border-top:1px solid var(--line);}
.initiative-detail:nth-of-type(odd){background:var(--paper-2);}

/* ---------- quote / story ---------- */
.quote-block{
  background:var(--navy-deep); color:var(--paper); border-radius:18px; padding:40px;
}
.quote-block svg{width:32px; height:32px; color:var(--gold); margin-bottom:16px;}
.quote-block p.quote-text{font-family:'Poppins',sans-serif; font-weight:500; font-size:1.22rem; line-height:1.5;}
.quote-block footer{margin-top:20px; font-size:0.9rem; color:rgba(247,245,241,0.68); font-family:'Inter',sans-serif;}

/* ---------- involve / ways-to-help cards ---------- */
.involve-card{
  background:rgba(247,245,241,0.05); border:1px solid var(--line-dark); border-radius:16px; padding:28px;
}
.band-dark .involve-card h3{color:#fff;}
.involve-card .num{font-family:'JetBrains Mono',monospace; color:var(--gold-soft); font-size:0.85rem; margin-bottom:14px; display:block;}
.involve-card p{color:rgba(247,245,241,0.72); font-size:0.95rem; margin-bottom:18px;}
.involve-card a{
  color:var(--gold-soft); text-decoration:none; font-weight:600; font-size:0.92rem;
  border-bottom:1px solid rgba(240,217,166,0.4); padding-bottom:2px;
}

/* ---------- bank transfer / UPI details ---------- */
.bank-details-card{
  margin-top:36px; background:rgba(247,245,241,0.05); border:1px solid var(--line-dark);
  border-radius:18px; padding:34px;
}
.bank-details-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:40px;}
@media(max-width:760px){ .bank-details-grid{grid-template-columns:1fr;} }
.bank-row{
  display:flex; justify-content:space-between; gap:16px; padding:11px 0;
  border-bottom:1px solid rgba(247,245,241,0.1); font-size:0.92rem;
}
.bank-row span{color:rgba(247,245,241,0.55);}
.bank-row strong{color:#fff; font-weight:600; text-align:right;}
.bank-note{font-size:0.82rem; color:rgba(247,245,241,0.55); margin-top:14px; line-height:1.5;}
.bank-note a{color:var(--gold-soft); font-weight:600;}
.bank-qr-block{display:flex; flex-direction:column; align-items:center; text-align:center;}
.bank-qr-placeholder{
  width:160px; height:160px; border:2px dashed rgba(247,245,241,0.25); border-radius:14px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  color:rgba(247,245,241,0.4);
}
.bank-qr-placeholder svg{width:40px; height:40px;}
.bank-qr-placeholder span{font-size:0.78rem; text-transform:uppercase; letter-spacing:0.05em;}

/* ---------- CTA band ---------- */
.cta-band{
  background:linear-gradient(135deg, #FEF6EA 0%, #FDEFDC 100%);
  border-left:5px solid var(--gold);
  border-radius:16px; padding:44px 48px;
  display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;
  box-shadow:0 16px 40px rgba(19,35,58,0.08);
}
.cta-band .cta-kicker{
  display:block; font-family:'JetBrains Mono',monospace; font-size:0.78rem; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--teal); margin-bottom:10px;
}
.cta-band h2{font-size:clamp(1.4rem,2.6vw,1.8rem); max-width:480px;}
.cta-band p{margin-top:10px; color:var(--ink); opacity:0.75; max-width:440px;}
.cta-band .cta-actions{display:flex; gap:14px; flex-wrap:wrap;}

/* ---------- forms ---------- */
.form-card{
  background:#fff; border:1px solid var(--line); border-radius:18px; padding:38px;
}
.form-row{margin-bottom:20px;}
.form-row label{
  display:block; font-size:0.86rem; font-weight:600; margin-bottom:8px; color:var(--navy-deep);
}
.form-row input, .form-row select, .form-row textarea{
  width:100%; padding:13px 14px; border-radius:9px; border:1px solid var(--line);
  font-family:'Inter',sans-serif; font-size:0.96rem; background:var(--paper); color:var(--ink);
}
.form-row textarea{resize:vertical; min-height:120px;}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{
  outline:2px solid var(--teal); outline-offset:1px;
}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media(max-width:560px){ .two-col{grid-template-columns:1fr;} }
.form-note{font-size:0.84rem; opacity:0.6; margin-top:14px;}
.form-success{
  display:none; background:var(--teal-soft); border:1px solid var(--teal); color:var(--navy-deep);
  padding:16px 18px; border-radius:10px; font-size:0.92rem; margin-bottom:20px;
}
.form-success.show{display:block;}

.contact-side{display:flex; flex-direction:column; gap:24px;}
.contact-line{display:flex; gap:14px; align-items:flex-start;}
.contact-line .ic{
  width:38px; height:38px; border-radius:10px; background:var(--teal-soft); display:grid; place-items:center; flex-shrink:0;
}
.contact-line .ic svg{width:19px; height:19px; color:var(--teal);}
.contact-line h4{font-size:0.98rem; margin-bottom:3px; color:var(--navy-deep); font-family:'Inter',sans-serif; font-weight:700;}
.contact-line p{font-size:0.92rem; opacity:0.75;}

/* ---------- document / registration cards ---------- */
.doc-card{
  background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px;
  display:flex; flex-direction:column; gap:12px;
}
.doc-card .doc-icon{width:36px;height:36px;border-radius:9px;background:var(--paper-2);display:grid;place-items:center;}
.doc-card .doc-icon svg{width:18px;height:18px;color:var(--navy-deep);}
.doc-card h4{font-family:'Inter',sans-serif; font-weight:700; font-size:0.98rem; color:var(--navy-deep);}
.doc-card p{font-size:0.88rem; opacity:0.65;}
.doc-card a{font-size:0.88rem; font-weight:700; color:var(--teal); text-decoration:none;}

/* ---------- footer ---------- */
footer.site-footer{background:var(--navy-deep); padding:64px 0 30px; color:rgba(247,245,241,0.85);}
.footer-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1.1fr; gap:40px;}
@media(max-width:900px){ .footer-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:560px){ .footer-grid{grid-template-columns:1fr;} }
.footer-grid h4{
  font-family:'Inter',sans-serif; font-size:0.82rem; text-transform:uppercase; letter-spacing:0.08em;
  color:#fff; margin-bottom:10px; font-weight:700;
}
.footer-underline{width:44px; height:3px; border-radius:2px; margin-bottom:18px;
  background:linear-gradient(90deg, var(--gold) 0%, var(--gold) 50%, var(--teal) 50%, var(--teal) 100%);}
.footer-grid ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px;}
.footer-grid a{text-decoration:none; color:rgba(247,245,241,0.7); font-size:0.94rem; transition:color .2s;}
.footer-grid a:hover{color:var(--gold);}
.footer-logo-row{
  display:flex; align-items:center; gap:12px;
}
.footer-logo-row .mark{
  width:44px; height:44px; border-radius:50%; background:#fff; border:2px solid rgba(247,245,241,0.3);
  display:grid; place-items:center; flex-shrink:0;
}
.footer-logo-row .mark svg{width:22px; height:22px;}
.footer-logo-row .brand-text{display:flex; flex-direction:column; line-height:1.3;}
.footer-logo-row .brand-name{
  font-family:'Poppins',sans-serif; font-weight:800; font-size:1rem; color:#fff; text-transform:uppercase;
}
.footer-tagline{
  font-family:'JetBrains Mono',monospace; font-size:0.72rem; letter-spacing:0.1em;
  color:var(--gold); margin-top:2px; text-transform:uppercase; font-weight:700;
}
.footer-desc{opacity:0.65; font-size:0.92rem; max-width:300px; margin-top:14px; line-height:1.6;}
.footer-bullets{list-style:none; margin:18px 0 0; padding:0; display:flex; flex-direction:column; gap:9px;}
.footer-bullets li{
  font-size:0.86rem; color:rgba(247,245,241,0.65); padding-left:16px; position:relative;
}
.footer-bullets li::before{
  content:""; position:absolute; left:0; top:5px; width:7px; height:7px; background:var(--gold);
}
.footer-contact-list{display:flex; flex-direction:column; gap:12px;}
.footer-contact-item{
  display:flex; align-items:flex-start; gap:12px; text-decoration:none;
  background:rgba(247,245,241,0.06); border:1px solid rgba(247,245,241,0.1);
  border-radius:12px; padding:12px 14px; transition:background .2s ease;
}
.footer-contact-item:hover{background:rgba(247,245,241,0.11);}
.fc-icon{
  width:34px; height:34px; border-radius:9px; background:var(--teal); flex-shrink:0;
  display:grid; place-items:center;
}
.fc-icon svg{width:16px; height:16px; color:#fff;}
.fc-text{display:flex; flex-direction:column; gap:2px;}
.fc-label{font-size:0.7rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--gold); font-weight:700;}
.fc-value{font-size:0.86rem; color:rgba(247,245,241,0.85); line-height:1.4;}
.footer-volunteer-card{
  background:rgba(247,245,241,0.06); border:1px solid rgba(247,245,241,0.1);
  border-radius:12px; padding:14px;
}
.footer-volunteer-card .fc-label{display:block; margin-bottom:6px;}
.footer-volunteer-card p{font-size:0.86rem; color:rgba(247,245,241,0.85); line-height:1.4; margin:0;}
.footer-social{display:flex; gap:10px; margin-top:18px; flex-wrap:wrap;}
.footer-social a{
  width:38px; height:38px; border-radius:50%; background:rgba(247,245,241,0.08);
  border:1px solid rgba(247,245,241,0.14); display:grid; place-items:center; transition:background .2s ease;
}
.footer-social a:hover{background:var(--teal);}
.footer-social svg{width:16px; height:16px; color:#fff;}
.footer-bottom{
  margin-top:50px; padding-top:24px; border-top:1px solid rgba(247,245,241,0.14);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  font-size:0.8rem; color:rgba(247,245,241,0.55); font-family:'JetBrains Mono',monospace;
}
.footer-bottom .footer-quicklinks{display:flex; gap:20px;}
.footer-bottom .footer-quicklinks a{color:rgba(247,245,241,0.55); text-decoration:none;}
.footer-bottom .footer-quicklinks a:hover{color:var(--gold);}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{transition:none; opacity:1; transform:none;}
}

/* ==========================================================================
   Mobile polish — tighter spacing, safer type scale, full-width stacking
   ========================================================================== */
@media(max-width:640px){
  .wrap{padding:0 18px;}
  nav.wrap{height:68px;}
  .brand .mark{width:36px; height:36px;}
  .brand .mark svg{width:18px; height:18px;}
  .brand-name{font-size:0.86rem;}
  .brand-tagline{font-size:0.58rem;}
  .nav-toggle svg{width:22px; height:22px;}

  .section-pad{padding:48px 0;}
  h1{font-size:clamp(1.6rem,7vw,2.1rem) !important;}
  .page-hero h1{font-size:clamp(1.5rem,6.5vw,2rem);}
  .page-hero p.lead{font-size:0.98rem;}
  .home-hero{padding-top:36px; min-height:0;}
  .home-hero h1.hero-display{font-size:clamp(1.7rem,8vw,2.4rem); line-height:1.16;}
  .home-hero .hero-content{padding-left:18px; padding-right:18px; max-width:100%;}
  .home-hero .hero-actions{flex-direction:column; align-items:stretch;}
  .home-hero .hero-actions a{justify-content:center; width:100%;}

  .statbar-card{padding:20px 14px;}
  .stat-num{font-size:1.1rem;}
  .stat-label{font-size:0.72rem;}
  .stat-icon{width:38px; height:38px;}

  .cta-band{padding:28px 22px; flex-direction:column; align-items:flex-start;}
  .cta-band .cta-actions{width:100%; flex-direction:column;}
  .cta-band .cta-actions a{justify-content:center; width:100%;}

  .form-card{padding:24px 20px;}
  .quote-block{padding:26px 22px;}
  .vm-card{padding:30px 24px;}
  .initiative-detail .grid-2{direction:ltr !important;}
  .initiative-media{height:130px;}

  .bank-details-card{padding:22px 18px;}
  .bank-row{flex-direction:column; align-items:flex-start; gap:4px;}
  .bank-row strong{text-align:left;}

  .footer-grid{gap:32px;}
  .footer-bottom{flex-direction:column; align-items:flex-start; gap:14px;}
  .doc-card{padding:20px;}

  .hero-side-photo, .hero-photo{aspect-ratio:4/3;}
}

@media(max-width:400px){
  .home-hero h1.hero-display{font-size:1.55rem;}
  .btn-primary, .btn-ghost, .btn-secondary{padding:13px 18px; font-size:0.82rem;}
}