/* ===========================================================
   ANANDI DEVI CHARITABLE TRUST — Design System v2
   Rooted in Compassion. Rising with Hope.
   =========================================================== */

:root{
  --maroon:#5C1B31;
  --maroon-deep:#3B0F1F;
  --maroon-soft:#7A2C45;
  --gold:#B99B57;
  --gold-light:#E3D3A0;
  --cream:#FBF8F3;
  --sand:#F1EAE0;
  --ink:#2B211F;
  --ink-soft:#6B5F5A;
  --hairline:rgba(92,27,49,0.14);
  --serif:'Fraunces', serif;
  --sans:'Manrope', sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--cream);
  line-height:1.7;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{list-style:none;}
button{font-family:inherit;}
::selection{background:var(--gold-light);color:var(--maroon-deep);}

.wrap{max-width:1160px;margin:0 auto;padding:0 40px;}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 40px;}

.eyebrow{
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:0.22em;
  font-size:11.5px;
  font-weight:600;
  color:var(--gold);
}
h1,h2,h3,h4{font-family:var(--serif);color:var(--maroon-deep);font-weight:500;letter-spacing:-0.01em;}
em{font-style:italic;color:var(--maroon-soft);}
:focus-visible{outline:1.5px solid var(--gold);outline-offset:4px;}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 30px;font-size:13.5px;font-weight:600;
  letter-spacing:0.03em;
  border-radius:2px;border:1px solid transparent;
  cursor:pointer;transition:all .3s ease;
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-size:12px;
}
.btn-gold{background:var(--maroon-deep);color:var(--gold-light);}
.btn-gold:hover{background:var(--gold);color:var(--maroon-deep);}
.btn-line{border-color:var(--maroon-deep);color:var(--maroon-deep);}
.btn-line:hover{background:var(--maroon-deep);color:var(--cream);}
.btn-line-light{border-color:rgba(251,248,243,0.45);color:var(--cream);}
.btn-line-light:hover{background:var(--cream);color:var(--maroon-deep);}
.btn svg{width:13px;height:13px;transition:transform .3s;}
.btn:hover svg{transform:translateX(3px);}

/* ---------- NAV ---------- */
header{
  position:sticky;top:0;z-index:200;
  background:rgba(251,248,243,0.9);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--hairline);
}
nav{
  max-width:1160px;margin:0 auto;padding:16px 40px;
  display:flex;align-items:center;justify-content:space-between;gap:28px;
}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{width:42px;height:42px;border-radius:50%;}
.brand .word{display:flex;flex-direction:column;line-height:1.15;}
.brand .word .n1{font-family:var(--serif);font-size:16.5px;color:var(--maroon-deep);letter-spacing:0.03em;font-weight:600;}
.brand .word .n2{font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);font-weight:600;}
.nav-links{display:flex;gap:30px;align-items:center;font-size:13px;font-weight:600;}
.nav-links a{position:relative;padding:4px 0;color:var(--ink);opacity:0.8;transition:opacity .25s;}
.nav-links a:hover, .nav-links a.active{opacity:1;color:var(--maroon-deep);}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-3px;width:0;height:1px;background:var(--gold);transition:width .3s ease;}
.nav-links a:hover::after, .nav-links a.active::after{width:100%;}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--maroon-deep);}
.menu-toggle svg{width:24px;height:24px;}

@media (max-width:900px){
  .nav-links{
    position:fixed;inset:0 0 0 auto;width:80%;max-width:320px;height:100vh;
    background:var(--cream);flex-direction:column;align-items:flex-start;
    padding:100px 36px;gap:26px;transform:translateX(100%);transition:transform .4s ease;
    box-shadow:-10px 0 40px rgba(0,0,0,0.08);
  }
  .nav-links.open{transform:translateX(0);}
  .menu-toggle{display:block;}
}

/* ---------- HERO ---------- */
.page-hero{
  position:relative;padding:140px 0 90px;overflow:hidden;
  background:var(--cream);
}
.page-hero .lotus-bg{
  position:absolute;top:-10%;right:-12%;width:640px;height:640px;opacity:0.07;pointer-events:none;
}
.page-hero .wrap{position:relative;z-index:2;}
.page-hero.small{padding:150px 0 70px;}
.page-hero h1{font-size:clamp(34px,5.4vw,58px);line-height:1.1;max-width:760px;margin:20px 0 22px;}
.page-hero p.lead{max-width:520px;color:var(--ink-soft);font-size:17px;margin-bottom:36px;}
.page-hero .actions{display:flex;gap:16px;flex-wrap:wrap;}

.hero-home{
  background:var(--maroon-deep);color:var(--cream);
  padding:150px 0 110px;position:relative;overflow:hidden;
}
.hero-home::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(120% 100% at 85% -10%, rgba(185,155,87,0.18), transparent 55%);
}
.hero-home .lotus-bg{position:absolute;right:-10%;top:-8%;width:680px;height:680px;opacity:0.14;pointer-events:none;}
.hero-home .wrap{position:relative;z-index:2;max-width:740px;}
.hero-home .eyebrow{color:var(--gold-light);}
.hero-home h1{color:var(--cream);font-size:clamp(36px,6vw,66px);line-height:1.08;margin:22px 0 24px;}
.hero-home p.lead{color:rgba(251,248,243,0.78);font-size:18px;max-width:520px;margin-bottom:40px;}

/* ---------- DIVIDER (lotus glyph) ---------- */
.divider{display:flex;justify-content:center;padding:64px 0;}
.divider svg{width:46px;height:46px;color:var(--gold);}

/* ---------- SECTION ---------- */
.section{padding:100px 0;}
.section.tight{padding:70px 0;}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head h2{font-size:clamp(28px,4vw,40px);margin:16px 0 16px;}
.section-head p{color:var(--ink-soft);font-size:16px;max-width:540px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}

.bg-sand{background:var(--sand);}
.bg-maroon{background:var(--maroon-deep);color:var(--cream);}
.bg-maroon h2, .bg-maroon h3, .bg-maroon h4{color:var(--cream);}
.bg-maroon .section-head p{color:rgba(251,248,243,0.72);}

/* ---------- PETAL ROWS (replaces card-grid) ---------- */
.petal-list{border-top:1px solid var(--hairline);}
.petal-row{
  display:grid;grid-template-columns:64px 1fr 1.4fr auto;gap:32px;align-items:center;
  padding:34px 0;border-bottom:1px solid var(--hairline);
  transition:padding-left .35s ease;
}
.petal-row:hover{padding-left:12px;}
.petal-row .petal-icon{width:38px;height:38px;color:var(--gold);}
.petal-row h3{font-size:20px;}
.petal-row p{color:var(--ink-soft);font-size:14.5px;max-width:460px;}
.petal-row .go{
  font-size:12px;text-transform:uppercase;letter-spacing:0.12em;font-weight:700;color:var(--maroon-deep);
  display:flex;align-items:center;gap:8px;white-space:nowrap;
}
.petal-row .go svg{width:13px;height:13px;transition:transform .3s;}
.petal-row:hover .go svg{transform:translateX(4px);}
@media (max-width:760px){
  .petal-row{grid-template-columns:48px 1fr;grid-template-areas:"icon title" "icon text" "icon go";row-gap:6px;}
  .petal-row .petal-icon{grid-area:icon;}
}

/* ---------- IMPACT STRIP ---------- */
.impact-strip{background:var(--maroon-deep);color:var(--cream);padding:90px 0;position:relative;}
.impact-strip .lotus-bg{position:absolute;left:-10%;bottom:-20%;width:480px;height:480px;opacity:0.08;}
.counters{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 24px;position:relative;z-index:2;}
.counter{text-align:left;border-left:1px solid rgba(251,248,243,0.2);padding-left:22px;}
.counter .num{font-family:var(--serif);font-size:clamp(30px,3.6vw,46px);color:var(--gold-light);font-weight:500;display:block;}
.counter .label{font-size:12.5px;text-transform:uppercase;letter-spacing:0.1em;color:rgba(251,248,243,0.65);margin-top:8px;}
@media (max-width:800px){.counters{grid-template-columns:repeat(2,1fr);}}

/* ---------- QUOTE / MISSION STRIP ---------- */
.statement{padding:100px 0;text-align:center;}
.statement .wrap-narrow p{
  font-family:var(--serif);font-size:clamp(22px,3.1vw,32px);color:var(--maroon-deep);line-height:1.5;font-weight:400;
}
.statement .signoff{margin-top:26px;font-size:11.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);font-weight:700;}

/* ---------- TWO COL FEATURE ---------- */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.feature.reverse{direction:rtl;}
.feature.reverse > *{direction:ltr;}
.feature-art{aspect-ratio:4/5;border-radius:2px;overflow:hidden;position:relative;background:var(--maroon-deep);}
.feature-art svg{position:absolute;inset:0;width:100%;height:100%;}
.feature-copy .eyebrow{display:block;margin-bottom:16px;}
.feature-copy h2{font-size:clamp(24px,3vw,36px);margin-bottom:18px;}
.feature-copy p{color:var(--ink-soft);margin-bottom:22px;}
@media (max-width:860px){.feature, .feature.reverse{grid-template-columns:1fr;direction:ltr;}}

/* ---------- STORY CARDS (news / stories) ---------- */
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;}
.story-card .thumb{aspect-ratio:5/4;overflow:hidden;margin-bottom:20px;position:relative;border-radius:2px;}
.story-card .thumb svg{width:100%;height:100%;}
.story-card .date{font-size:11px;text-transform:uppercase;letter-spacing:0.14em;color:var(--gold);font-weight:700;}
.story-card h4{font-size:19px;margin:10px 0 8px;}
.story-card p{color:var(--ink-soft);font-size:14px;}
@media (max-width:860px){.story-grid{grid-template-columns:1fr;}}

/* ---------- TESTIMONIALS ---------- */
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);}
.test-card{background:var(--cream);padding:38px 34px;}
.test-card .mark{font-family:var(--serif);font-size:40px;color:var(--gold);display:block;margin-bottom:10px;line-height:1;}
.test-card p{font-size:14.5px;margin-bottom:20px;}
.test-card .who{font-size:13px;font-weight:700;color:var(--maroon-deep);}
.test-card .role{font-size:12px;color:var(--ink-soft);}
@media (max-width:860px){.test-grid{grid-template-columns:1fr;}}

/* ---------- INVOLVED CARDS ---------- */
.involve-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(251,248,243,0.15);}
.involve-card{background:var(--maroon-deep);padding:44px 36px;transition:background .3s;}
.involve-card:hover{background:#4A1428;}
.involve-card svg{width:30px;height:30px;color:var(--gold-light);margin-bottom:22px;}
.involve-card h3{color:var(--cream);font-size:21px;margin-bottom:12px;}
.involve-card p{color:rgba(251,248,243,0.7);font-size:14.5px;margin-bottom:26px;}
@media (max-width:860px){.involve-grid{grid-template-columns:1fr;}}

/* ---------- VALUES LIST ---------- */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;}
.value-item .idx{font-family:var(--serif);font-size:26px;color:var(--gold);margin-bottom:10px;display:block;font-style:italic;}
.value-item h4{font-size:16.5px;margin-bottom:8px;}
.value-item p{font-size:13.5px;color:var(--ink-soft);}
@media (max-width:860px){.values-grid{grid-template-columns:repeat(2,1fr);}}

/* ---------- TIMELINE (about) ---------- */
.timeline{border-left:1px solid var(--hairline);margin-left:8px;}
.tl-item{position:relative;padding:0 0 48px 36px;}
.tl-item::before{content:'';position:absolute;left:-5px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--gold);}
.tl-item .yr{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:6px;display:block;}
.tl-item h4{font-size:18px;margin-bottom:6px;}
.tl-item p{color:var(--ink-soft);font-size:14.5px;max-width:500px;}

/* ---------- NEWSLETTER ---------- */
.newsletter{background:var(--sand);padding:80px 0;}
.newsletter .box{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.newsletter h2{font-size:clamp(24px,3vw,32px);margin-bottom:12px;}
.newsletter p{color:var(--ink-soft);font-size:15px;}
.form-row{display:flex;gap:0;margin-bottom:12px;border-bottom:1px solid var(--maroon-deep);padding-bottom:10px;}
.form-row input{
  flex:1;border:none;background:none;font-family:var(--sans);font-size:14px;color:var(--ink);padding:8px 4px;
}
.form-row input:focus{outline:none;}
.newsletter .fine{font-size:11.5px;color:var(--ink-soft);margin-top:12px;}

/* ---------- FORM (contact) ---------- */
.contact-form{display:flex;flex-direction:column;gap:24px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field label{font-size:11.5px;text-transform:uppercase;letter-spacing:0.12em;font-weight:700;color:var(--maroon-deep);}
.field input, .field textarea, .field select{
  border:none;border-bottom:1px solid var(--hairline);background:none;padding:10px 2px;font-family:var(--sans);font-size:15px;color:var(--ink);
}
.field input:focus, .field textarea:focus, .field select:focus{outline:none;border-color:var(--gold);}
.field textarea{resize:vertical;min-height:110px;}

/* ---------- INFO GRID (contact / impact downloads) ---------- */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;}
.info-item h4{font-size:13px;text-transform:uppercase;letter-spacing:0.1em;color:var(--gold);margin-bottom:10px;}
.info-item p{font-size:15px;color:var(--ink);}
@media (max-width:860px){.info-grid{grid-template-columns:1fr;}}

.doc-list{border-top:1px solid var(--hairline);}
.doc-row{
  display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-bottom:1px solid var(--hairline);
}
.doc-row .name{font-size:15px;font-weight:600;color:var(--maroon-deep);}
.doc-row .meta{font-size:12.5px;color:var(--ink-soft);margin-top:4px;}
.doc-row a{font-size:12px;text-transform:uppercase;letter-spacing:0.1em;font-weight:700;color:var(--gold);display:flex;align-items:center;gap:6px;}
.doc-row a svg{width:14px;height:14px;}

/* ---------- FOOTER ---------- */
footer{background:var(--maroon-deep);color:rgba(251,248,243,0.78);padding:80px 0 30px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;padding-bottom:52px;border-bottom:1px solid rgba(251,248,243,0.14);}
.foot-brand{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.foot-brand img{width:50px;height:50px;border-radius:50%;}
.foot-brand .word .n1{font-family:var(--serif);font-size:19px;color:var(--cream);}
.foot-brand .word .n2{font-size:9.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold-light);}
.foot-grid p{font-size:13.5px;line-height:1.8;}
.foot-col h5{font-size:11px;text-transform:uppercase;letter-spacing:0.16em;color:var(--gold-light);margin-bottom:20px;font-weight:700;}
.foot-col li{margin-bottom:12px;font-size:13.5px;}
.foot-col a:hover{color:var(--gold-light);}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;flex-wrap:wrap;gap:14px;font-size:12px;color:rgba(251,248,243,0.5);}
.foot-bottom .socials{display:flex;gap:14px;}
.foot-bottom .socials a{width:32px;height:32px;border-radius:50%;border:1px solid rgba(251,248,243,0.22);display:flex;align-items:center;justify-content:center;}
.foot-bottom .socials svg{width:14px;height:14px;}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr;}}

/* ---------- REVEAL ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease, transform .9s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none;}html{scroll-behavior:auto;}}

/* ---------- MISC ---------- */
.tag{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:0.12em;font-weight:700;color:var(--gold);border:1px solid var(--gold);padding:6px 14px;border-radius:100px;margin-bottom:20px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:44px;}
@media (max-width:860px){.grid-2{grid-template-columns:1fr;}}
