@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,700;0,9..144,900;1,9..144,300;1,9..144,700&family=DM+Sans:wght@300;400;500;600&display=swap');

/* ═══════════════════════════════════════════
   DESIGN TOKENS — Editorial NGO 2025
═══════════════════════════════════════════ */
:root {
  --ink:        #0D0D0B;
  --ink-80:     rgba(13,13,11,.8);
  --ink-40:     rgba(13,13,11,.4);
  --ink-10:     rgba(13,13,11,.07);
  --white:      #FFFFFF;
  --off-white:  #F8F5EF;
  --paper:      #F2EDE3;
  --paper-dark: #E8E0D0;
  --sienna:     #C4622D;
  --sienna-dk:  #9E4A1E;
  --sienna-lt:  #E8845A;
  --forest:     #2D5016;
  --forest-lt:  #4A7C28;
  --ochre:      #D4922A;
  --stone:      #6B5F52;
  --stone-lt:   #9E9085;
  --serif:  'Fraunces', Georgia, serif;
  --sans:   'DM Sans', system-ui, sans-serif;
  --sp-xs:  8px;
  --sp-sm:  16px;
  --sp-md:  32px;
  --sp-lg:  64px;
  --sp-xl:  96px;
  --sp-2xl: 136px;
  --r-sm: 4px; --r-md: 10px; --r-lg: 18px; --r-xl: 28px; --r-full: 999px;
  --shadow-card: 0 1px 3px rgba(13,13,11,.05), 0 6px 20px rgba(13,13,11,.07);
  --shadow-lift: 0 4px 12px rgba(13,13,11,.07), 0 18px 44px rgba(13,13,11,.11);
  --shadow-xl:   0 24px 72px rgba(13,13,11,.16);
  --nav-h: 68px;
  --max-w: 1200px;
  --ease: cubic-bezier(.25,.46,.45,.94);
  --ease-out: cubic-bezier(0,.55,.45,1);
  --spring: cubic-bezier(.34,1.56,.64,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--off-white);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul,ol{padding-left:1.4em}
li{margin-bottom:.3em}

h1,h2,h3,h4{font-family:var(--serif);line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
h1{font-size:clamp(2.8rem,7vw,5.5rem);font-weight:900}
h2{font-size:clamp(1.8rem,4vw,3rem);font-weight:700}
h3{font-size:clamp(1.15rem,2.5vw,1.5rem);font-weight:700}
h4{font-size:1.05rem;font-weight:600}
p{font-size:1rem;line-height:1.78;color:var(--stone);margin-bottom:1rem}
p:last-child{margin-bottom:0}
strong{font-weight:600;color:var(--ink)}

.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--sp-md)}
.section{padding:var(--sp-xl) 0}
.section-sm{padding:var(--sp-lg) 0}
.section-lg{padding:var(--sp-2xl) 0}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-md);align-items:start}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-md)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.grid-5-7{display:grid;grid-template-columns:5fr 7fr;gap:var(--sp-lg);align-items:center}
.grid-7-5{display:grid;grid-template-columns:7fr 5fr;gap:var(--sp-lg);align-items:center}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-h);background:var(--ink);display:flex;align-items:center;transition:background .3s var(--ease)}
.nav--scrolled-light{background:rgba(248,245,239,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--paper-dark)}
.nav--scrolled-light .nav__logo{color:var(--ink)}
.nav--scrolled-light .nav__links a{color:var(--stone)}
.nav--scrolled-light .nav__links a:hover{color:var(--ink)}
.nav--scrolled-light .nav__burger span{background:var(--ink)}
.nav__inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--sp-md);width:100%;display:flex;align-items:center;justify-content:space-between}
.nav__logo{font-family:var(--serif);font-size:1.5rem;font-weight:900;color:var(--white);letter-spacing:-.03em;display:flex;align-items:center;gap:10px}
.nav__logo-mark{width:26px;height:26px;border-radius:var(--r-sm);background:var(--sienna);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:900;color:var(--white);flex-shrink:0;font-family:var(--serif)}
.nav__links{display:flex;align-items:center;gap:2px;list-style:none;padding:0}
.nav__links li{margin:0}
.nav__links a{padding:7px 13px;border-radius:var(--r-sm);font-size:.88rem;font-weight:500;color:rgba(255,255,255,.6);transition:color .2s,background .2s;letter-spacing:.01em}
.nav__links a:hover,.nav__links a.active{color:var(--white);background:rgba(255,255,255,.08)}
.nav__links a.active{font-weight:600}
.nav__donate{background:var(--sienna)!important;color:var(--white)!important;padding:8px 20px!important;border-radius:var(--r-full)!important;font-weight:600!important;font-size:.85rem!important;box-shadow:0 2px 8px rgba(196,98,45,.4)!important;transition:all .2s!important}
.nav__donate:hover{background:var(--sienna-dk)!important;transform:translateY(-1px);box-shadow:0 4px 16px rgba(196,98,45,.5)!important}
.nav__burger{display:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px}
.nav__burger span{display:block;width:22px;height:2px;background:var(--white);border-radius:2px;transition:transform .3s,opacity .2s}
.nav__burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__burger.open span:nth-child(2){opacity:0}
.nav__burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:var(--r-full);font-family:var(--sans);font-size:.93rem;font-weight:600;letter-spacing:.01em;cursor:pointer;border:none;transition:transform .15s var(--spring),box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--sienna);color:var(--white);box-shadow:0 2px 8px rgba(196,98,45,.3)}
.btn-primary:hover{background:var(--sienna-dk);box-shadow:0 6px 20px rgba(196,98,45,.4)}
.btn-dark{background:var(--ink);color:var(--white);box-shadow:0 2px 8px rgba(13,13,11,.2)}
.btn-dark:hover{box-shadow:0 6px 20px rgba(13,13,11,.3)}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--paper-dark)}
.btn-outline:hover{border-color:var(--ink);background:var(--ink-10)}
.btn-outline-white{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.35)}
.btn-outline-white:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.7)}
.btn-forest{background:var(--forest);color:var(--white)}
.btn-forest:hover{background:var(--forest-lt)}
.btn-sm{padding:9px 20px;font-size:.85rem}
.btn-lg{padding:17px 38px;font-size:1rem}
.btn-group{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

/* HERO HOME */
.hero-home{min-height:100svh;background:var(--ink);display:flex;flex-direction:column;justify-content:flex-end;padding-top:var(--nav-h);position:relative;overflow:hidden}
.hero-home::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 88% 12%,rgba(196,98,45,.2) 0%,transparent 58%),radial-gradient(ellipse 55% 75% at 8% 88%,rgba(45,80,22,.28) 0%,transparent 52%)}
.hero-home::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.025'/%3E%3C/svg%3E");opacity:.5;pointer-events:none}
.hero-home__content{position:relative;z-index:2;padding:var(--sp-xl) 0 var(--sp-md)}
.hero-home__eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sienna-lt);margin-bottom:var(--sp-md)}
.hero-home__eyebrow::before{content:'';width:28px;height:1px;background:currentColor}
.hero-home h1{color:var(--white);max-width:900px;font-weight:900;font-style:italic;line-height:1.0;margin-bottom:var(--sp-md)}
.hero-home h1 em{font-style:normal;color:var(--sienna-lt)}
.hero-home__sub{font-size:1.05rem;color:rgba(255,255,255,.5);max-width:500px;font-weight:300;line-height:1.75;margin-bottom:var(--sp-lg)}
.hero-home__actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-home__bottom{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.07);padding:var(--sp-sm) 0;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md)}
.hero-home__reg{font-size:.75rem;color:rgba(255,255,255,.25);letter-spacing:.05em}
.hero-home__scroll{display:flex;align-items:center;gap:10px;font-size:.75rem;color:rgba(255,255,255,.28);letter-spacing:.1em;text-transform:uppercase}
.hero-home__scroll-line{width:1px;height:36px;background:rgba(255,255,255,.2);animation:pulse-line 2.2s ease-in-out infinite}
@keyframes pulse-line{0%,100%{opacity:.25}50%{opacity:.8}}

/* IMPACT BAR */
.impact-bar{background:var(--white);border-bottom:1px solid var(--paper-dark);padding:var(--sp-lg) 0}
.impact-bar__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.impact-item{padding:var(--sp-sm) var(--sp-md);border-right:1px solid var(--paper-dark);position:relative}
.impact-item:last-child{border-right:none}
.impact-item__num{font-family:var(--serif);font-size:clamp(2.2rem,4.5vw,3.6rem);font-weight:900;line-height:1;color:var(--ink);margin-bottom:4px;display:flex;align-items:baseline;gap:3px}
.impact-item__unit{font-size:.55em;font-weight:700;color:var(--sienna);align-self:flex-start;margin-top:.3em}
.impact-item__label{font-size:.85rem;color:var(--stone-lt);font-weight:400;line-height:1.4;margin:0}
.impact-item__stripe{position:absolute;bottom:0;left:0;height:2px;background:var(--sienna);width:0;transition:width 1.3s var(--ease-out)}
.impact-item.animated .impact-item__stripe{width:100%}

/* PAGE HERO INNER */
.page-hero{background:var(--ink);padding-top:calc(var(--nav-h) + var(--sp-lg));padding-bottom:var(--sp-lg);position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 90% at 100% 50%,rgba(196,98,45,.1),transparent 60%)}
.page-hero__inner{position:relative;z-index:1}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:.78rem;color:rgba(255,255,255,.28);margin-bottom:var(--sp-sm)}
.breadcrumb a{color:rgba(255,255,255,.45);transition:color .2s}
.breadcrumb a:hover{color:var(--sienna-lt)}
.breadcrumb span{opacity:.4}
.page-hero__tag{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sienna-lt);margin-bottom:var(--sp-sm)}
.page-hero h1{color:var(--white);max-width:740px;font-style:italic}
.page-hero__desc{font-size:1rem;color:rgba(255,255,255,.48);max-width:540px;margin-top:var(--sp-sm);font-weight:300}

/* SECTION TAG */
.section-tag{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sienna);display:flex;align-items:center;gap:10px;margin-bottom:var(--sp-sm)}
.section-tag::before{content:'';width:20px;height:1.5px;background:currentColor}
.section-tag-white{color:var(--sienna-lt)}
.section-tag-white::before{background:var(--sienna-lt)}

.section-header{margin-bottom:var(--sp-lg)}
.section-header h2{margin-bottom:10px}
.section-header p{max-width:520px;font-size:1rem}
.section-header.centered{text-align:center}
.section-header.centered p{margin:0 auto}
.section-header.light h2{color:var(--white)}
.section-header.light p{color:rgba(255,255,255,.48)}

/* CARDS */
.card{background:var(--white);border-radius:var(--r-xl);padding:var(--sp-md);box-shadow:var(--shadow-card);border:1px solid rgba(13,13,11,.04);transition:box-shadow .25s,transform .25s var(--ease)}
.card:hover{box-shadow:var(--shadow-lift);transform:translateY(-4px)}
.card-icon{width:46px;height:46px;border-radius:var(--r-md);background:var(--paper);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:var(--sp-sm);flex-shrink:0}

/* FEATURE CARD */
.feat-card{background:var(--white);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-card);transition:box-shadow .3s,transform .3s var(--ease)}
.feat-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-6px)}
.feat-card__img{height:260px;display:flex;align-items:center;justify-content:center;font-size:4rem;position:relative}
.feat-card__img--forest{background:linear-gradient(145deg,var(--forest) 0%,var(--forest-lt) 100%)}
.feat-card__img--sienna{background:linear-gradient(145deg,#7A3010 0%,var(--sienna) 100%)}
.feat-card__img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to top,rgba(13,13,11,.35),transparent)}
.feat-card__body{padding:var(--sp-md)}
.feat-card__tag{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--forest-lt);background:rgba(74,124,40,.1);padding:3px 10px;border-radius:var(--r-full);display:inline-block;margin-bottom:var(--sp-sm)}

/* STEP */
.step{display:flex;gap:var(--sp-md);align-items:flex-start;padding:var(--sp-md) 0;border-top:1px solid var(--paper-dark)}
.step:first-child{border-top:none;padding-top:0}
.step__num{width:38px;height:38px;border-radius:var(--r-md);flex-shrink:0;background:var(--sienna);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:.95rem;font-weight:700}
.step__num--forest{background:var(--forest)}
.step__body h4{margin-bottom:4px;color:var(--ink);font-size:.98rem}
.step__body p{font-size:.9rem;margin:0}

/* PULL QUOTE */
.pull-quote{border-left:3px solid var(--sienna);padding:var(--sp-sm) var(--sp-md);background:var(--paper);border-radius:0 var(--r-md) var(--r-md) 0;margin:var(--sp-md) 0}
.pull-quote p{font-family:var(--serif);font-size:1.05rem;font-style:italic;color:var(--ink);font-weight:300;margin:0}

/* REG BOX */
.reg-box{background:var(--paper);border:1px solid var(--paper-dark);border-radius:var(--r-xl);padding:var(--sp-md)}
.reg-box__title{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--forest);margin-bottom:var(--sp-sm);display:block}
.reg-table{width:100%;border-collapse:collapse;font-size:.88rem}
.reg-table td{padding:9px 0;border-bottom:1px solid var(--paper-dark)}
.reg-table tr:last-child td{border-bottom:none}
.reg-table td:first-child{color:var(--stone-lt);width:48%}
.reg-table td:last-child{font-weight:600;color:var(--ink)}
.reg-badge{color:var(--forest-lt)!important}

/* STAT CARD */
.stat-card{background:var(--ink);border-radius:var(--r-xl);padding:var(--sp-md);position:relative;overflow:hidden}
.stat-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 100% 100%,rgba(196,98,45,.22),transparent 60%)}
.stat-card__num{font-family:var(--serif);font-size:3.2rem;font-weight:900;color:var(--white);line-height:1;position:relative}
.stat-card__label{font-size:.85rem;color:rgba(255,255,255,.42);margin-top:8px;position:relative;margin-bottom:0}

/* TEAM CARD */
.team-card{background:var(--white);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-card);transition:box-shadow .3s,transform .25s var(--ease)}
.team-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-4px)}
.team-card__avatar{height:210px;background:linear-gradient(145deg,var(--paper-dark),var(--paper));display:flex;align-items:center;justify-content:center;font-size:4rem;position:relative}
.team-card__avatar::after{content:'';position:absolute;bottom:0;left:0;right:0;height:36%;background:linear-gradient(to top,rgba(242,237,227,.8),transparent)}
.team-card__body{padding:var(--sp-md)}
.team-card__name{font-family:var(--serif);font-size:1.25rem;font-weight:700;margin-bottom:2px}
.team-card__role{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sienna);margin-bottom:var(--sp-sm)}

/* VALUES */
.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-sm)}
.value-item{background:var(--paper);border-radius:var(--r-lg);padding:var(--sp-md)}
.value-item__icon{font-size:1.5rem;margin-bottom:10px}
.value-item h4{margin-bottom:6px;font-size:.97rem}
.value-item p{font-size:.87rem;margin:0}

/* DONATE TIER */
.tier-card{background:var(--white);border:1.5px solid var(--paper-dark);border-radius:var(--r-xl);padding:var(--sp-md);text-align:center;transition:border-color .2s,box-shadow .2s,transform .2s var(--ease);position:relative;overflow:hidden}
.tier-card:hover{border-color:var(--sienna);box-shadow:var(--shadow-lift);transform:translateY(-4px)}
.tier-card--dark{border-color:var(--sienna);background:var(--ink)}
.tier-card--dark .tier-card__amount{color:var(--sienna-lt)}
.tier-card--dark .tier-card__name{color:rgba(255,255,255,.5)}
.tier-card--dark p{color:rgba(255,255,255,.45)}
.tier-card--dark h4{color:var(--white)}
.tier-card__badge{position:absolute;top:12px;right:12px;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--sienna);color:var(--white);padding:3px 10px;border-radius:var(--r-full)}
.tier-card__icon{font-size:1.8rem;margin-bottom:var(--sp-sm)}
.tier-card__amount{font-family:var(--serif);font-size:2.6rem;font-weight:900;color:var(--sienna);line-height:1;margin-bottom:4px}
.tier-card__name{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--stone-lt);margin-bottom:var(--sp-sm)}

/* GIVE CARD */
.give-card{background:var(--white);border-radius:var(--r-xl);padding:var(--sp-lg) var(--sp-md);box-shadow:var(--shadow-card);border-top:3px solid var(--sienna)}
.give-card--forest{border-top-color:var(--forest)}
.give-card__mono{background:var(--paper);border-radius:var(--r-md);padding:13px var(--sp-sm);font-family:monospace;font-size:.95rem;font-weight:600;text-align:center;color:var(--ink);margin:var(--sp-sm) 0}

/* MONTHLY CARD */
.monthly-card{background:var(--white);border-radius:var(--r-lg);padding:var(--sp-md);display:flex;align-items:center;gap:var(--sp-md);box-shadow:var(--shadow-card);border:1.5px solid transparent;transition:border-color .2s,box-shadow .2s}
.monthly-card:hover,.monthly-card--hl{border-color:var(--sienna)}
.monthly-card__amount{font-family:var(--serif);font-size:1.7rem;font-weight:900;color:var(--sienna);min-width:76px;text-align:center;flex-shrink:0;line-height:1}
.monthly-card__per{font-size:.72rem;color:var(--stone-lt);display:block;margin-top:3px}
.monthly-card h4{margin-bottom:3px;font-size:.93rem}
.monthly-card p{font-size:.83rem;margin:0}

/* TRANSPARENCY BAR */
.transparency-bar{display:flex;border-radius:var(--r-full);overflow:hidden;height:10px;margin-bottom:var(--sp-sm)}
.t-bar__seg{height:100%;transition:width .8s var(--ease-out)}

/* CTA BAND */
.cta-band{background:var(--ink);border-radius:var(--r-xl);padding:var(--sp-xl) var(--sp-lg);text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(45,80,22,.3),transparent 50%),radial-gradient(circle at 80% 50%,rgba(196,98,45,.2),transparent 50%)}
.cta-band__inner{position:relative;z-index:1}
.cta-band h2{color:var(--white);font-style:italic;margin-bottom:var(--sp-sm)}
.cta-band p{color:rgba(255,255,255,.45);max-width:460px;margin:0 auto var(--sp-md);font-weight:300}

/* ARTICLE */
.article-card{background:var(--white);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column;transition:box-shadow .3s,transform .25s var(--ease)}
.article-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-5px)}
.article-card__thumb{height:210px;display:flex;align-items:center;justify-content:center;font-size:3.5rem}
.article-card__body{padding:var(--sp-md);flex:1;display:flex;flex-direction:column}
.article-card__meta{display:flex;align-items:center;gap:10px;font-size:.76rem;color:var(--stone-lt);margin-bottom:var(--sp-sm)}
.tag{background:rgba(196,98,45,.1);color:var(--sienna);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:var(--r-full)}
.tag-forest{background:rgba(45,80,22,.1);color:var(--forest-lt)}
.article-card__title{font-family:var(--serif);font-size:1.15rem;font-weight:700;line-height:1.25;margin-bottom:8px;color:var(--ink)}
.article-card__title a{color:inherit;transition:color .2s}
.article-card__title a:hover{color:var(--sienna)}

/* ARTICLE FULL */
.article-full{max-width:740px;margin:0 auto}
.article-full h2{margin-top:var(--sp-lg);margin-bottom:var(--sp-sm);font-size:clamp(1.3rem,2.8vw,1.7rem)}
.article-full h3{margin-top:var(--sp-md);margin-bottom:10px;color:var(--forest)}
.article-full p{margin-bottom:1.2rem}
.article-full ul{margin-bottom:1.2rem}
.article-full li{color:var(--stone);margin-bottom:.5em}
.article-sep{border:none;border-top:1px solid var(--paper-dark);margin:var(--sp-xl) 0}

/* CONTENT BODY */
.content-body h2{margin-top:var(--sp-lg);margin-bottom:var(--sp-sm)}
.content-body h3{margin-top:var(--sp-md);margin-bottom:10px;color:var(--forest)}
.content-body ul,.content-body ol{margin-bottom:1.2rem}
.content-body li{color:var(--stone)}
.content-body a{color:var(--sienna);text-decoration:underline;text-underline-offset:3px}

/* FOOTER */
.footer{background:var(--ink);color:rgba(255,255,255,.42);padding:var(--sp-xl) 0 var(--sp-md)}
.footer__top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--sp-lg);margin-bottom:var(--sp-lg)}
.footer__logo{font-family:var(--serif);font-size:1.5rem;font-weight:900;color:var(--white);letter-spacing:-.03em;display:flex;align-items:center;gap:10px;margin-bottom:var(--sp-sm)}
.footer__logo-mark{width:26px;height:26px;border-radius:var(--r-sm);background:var(--sienna);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:900;color:var(--white);font-family:var(--serif);flex-shrink:0}
.footer__desc{font-size:.86rem;line-height:1.75;color:rgba(255,255,255,.36);margin-bottom:var(--sp-sm)}
.footer__reg{font-size:.73rem;color:rgba(255,255,255,.18);letter-spacing:.03em;margin:0;line-height:1.7}
.footer__col-title{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--white);display:block;margin-bottom:var(--sp-sm)}
.footer__links{list-style:none;padding:0}
.footer__links li{margin-bottom:10px}
.footer__links a{font-size:.86rem;color:rgba(255,255,255,.36);transition:color .2s}
.footer__links a:hover{color:var(--sienna-lt)}
.footer__bottom{padding-top:var(--sp-md);border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;font-size:.78rem}
.footer__legal{display:flex;gap:var(--sp-md)}
.footer__legal a{color:rgba(255,255,255,.25);transition:color .2s}
.footer__legal a:hover{color:var(--white)}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.reveal-d1{transition-delay:.1s}
.reveal-d2{transition-delay:.2s}
.reveal-d3{transition-delay:.3s}
.reveal-d4{transition-delay:.4s}

/* RESPONSIVE */
@media(max-width:960px){
  .grid-5-7,.grid-7-5,.grid-2{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr 1fr}
  .grid-4{grid-template-columns:1fr 1fr}
  .impact-bar__grid{grid-template-columns:1fr 1fr}
  .footer__top{grid-template-columns:1fr 1fr}
  .cta-band{padding:var(--sp-lg) var(--sp-md)}
  .values-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  :root{--sp-md:24px;--sp-lg:44px;--sp-xl:68px}
  .grid-3,.grid-4{grid-template-columns:1fr}
  .footer__top{grid-template-columns:1fr}
  .nav__links{display:none}
  .nav__burger{display:flex}
  .nav__links.open{display:flex;flex-direction:column;position:fixed;top:var(--nav-h);left:0;right:0;background:var(--ink);padding:var(--sp-sm) var(--sp-md) var(--sp-md);border-top:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow-xl);gap:4px}
  .nav__links.open a{padding:12px 14px;color:rgba(255,255,255,.65)}
  .values-grid{grid-template-columns:1fr}
  .btn-group{flex-direction:column;align-items:flex-start}
  .hero-home h1{font-size:clamp(2.2rem,9vw,3.2rem)}
  .cta-band{padding:var(--sp-lg) var(--sp-sm)}
  .monthly-card{flex-direction:column;text-align:center}
}
