/*
 * CEVF Design System — shared-design-system.css
 * Single clean file — no duplicates, no conflicts
 * v2.0
 */

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',system-ui,sans-serif;font-size:14.5px;background:#FAF8F4;color:#1A1A18;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
ul{list-style:none;padding:0;margin:0}
button,input,select,textarea{font-family:'DM Sans',system-ui,sans-serif}

/* ── TOKENS ── */
:root{
  --cream:#FAF8F4;
  --cream2:#F0EDE5;
  --cream3:#E4E0D8;
  --ink:#1A1A18;
  --ink2:#2E2C29;
  --ink3:#44423E;
  --muted:#7A7772;
  --muted2:#A8A49E;
  --amber:#E8861A;
  --amber-d:#C96E0E;
  --amber-l:#F5A84A;
  --amber-pale:#FEF3E7;
  --amber-pale2:#FDE8CC;
  --green:#1E6B45;
  --green-pale:#EAF4EE;
  --border:#E8E4DC;
  --border2:#D8D4CC;
  --dk:#0E0D0C;
  --dk2:#1C1A18;
  --dk3:#2A2724;
  --dk-cream:#F0EDE6;
  --dk-muted:rgba(240,237,230,.45);
  --dk-border:rgba(240,237,230,.08);
  --shadow:0 1px 3px rgba(26,26,24,.06),0 4px 16px rgba(26,26,24,.06);
  --shadow-lg:0 8px 32px rgba(26,26,24,.12),0 2px 8px rgba(26,26,24,.05);
  --f-disp:'Lora',Georgia,serif;
  --f-body:'DM Sans',system-ui,sans-serif;
  --f-mono:'DM Mono',monospace;
  --max:1240px;
  --pad:clamp(20px,5vw,72px);
  --sec:clamp(64px,8vw,112px);
}

/* ── LAYOUT ── */
.cevf-wrap{max-width:var(--max);margin-left:auto;margin-right:auto;padding-left:var(--pad);padding-right:var(--pad)}

/* ══ ANNOUNCEMENT BAR ══
   Fixed at top. CSS provides a default top so first paint is correct;
   JS (stackBars) refines it once the admin-bar height is known.
*/
.cevf-ann-bar{
  position:fixed;
  top:0;left:0;right:0;
  z-index:600;
  background:#0E0D0C;
  color:#F0EDE6;
  font-size:12.5px;font-weight:500;
  padding:10px clamp(20px,4vw,60px);
  display:flex;align-items:center;justify-content:center;
  gap:14px;flex-wrap:wrap;
  text-align:center;
  width:100%;
}
.cevf-ann-bar a{color:#F5A84A;font-weight:700;text-decoration:underline}
.cevf-ann-pulse{
  width:7px;height:7px;border-radius:50%;
  background:#EF4444;flex-shrink:0;
  display:inline-block;
  animation:cevfPulse 2s ease-in-out infinite;
}
@keyframes cevfPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}

/* ══ HEADER ══
   Fixed below ann-bar. CSS default top approximates ann-bar height so
   the header paints in roughly the right place before JS fires.
*/
#cevf-header{
  position:fixed;
  top:44px;left:0;right:0;
  z-index:500;
  height:112px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 clamp(20px,4vw,60px);
  gap:20px;
  transition:background .3s,box-shadow .3s;
  border-bottom:1px solid transparent;
  width:100%;
}
#cevf-header.mode-hero{background:transparent}
#cevf-header.mode-hero.scrolled{background:rgba(14,13,12,.92);border-bottom-color:rgba(240,237,230,.1);backdrop-filter:blur(16px)}
#cevf-header.mode-solid{background:rgba(250,248,244,.98);border-bottom-color:#E8E4DC;box-shadow:0 1px 3px rgba(26,26,24,.06)}

/* Logo */
.cevf-logo{display:flex;align-items:center;gap:12px;flex-shrink:0;text-decoration:none}
.cevf-logo-ring{
  width:40px;height:40px;border-radius:50%;
  border:1.5px solid #E8861A;
  display:flex;align-items:center;justify-content:center;
  font-family:'Lora',Georgia,serif;font-size:13px;font-weight:700;
  color:#E8861A;flex-shrink:0;
}
.cevf-logo-img{height:96px!important;width:auto!important;max-height:96px!important;max-width:260px!important;object-fit:contain;border-radius:50%;flex-shrink:0;display:block}
.cevf-ft-logo .cevf-logo-img{height:80px!important;max-height:80px!important;max-width:230px!important}
.cevf-logo-name strong{display:block;font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.25;white-space:nowrap}
.cevf-logo-name small{display:block;font-size:11px;letter-spacing:.07em;text-transform:uppercase;margin-top:2px;white-space:nowrap}
#cevf-header.mode-hero .cevf-logo-name strong{color:#F5F2EB}
#cevf-header.mode-hero .cevf-logo-name small{color:rgba(240,237,230,.45)}
#cevf-header.mode-solid .cevf-logo-name strong{color:#1A1A18}
#cevf-header.mode-solid .cevf-logo-name small{color:#7A7772}

/* Nav */
.cevf-nav{display:flex;align-items:center;gap:2px;flex-shrink:0}
.cevf-nav a{font-size:13px;font-weight:500;padding:7px 13px;border-radius:7px;text-decoration:none;white-space:nowrap;transition:color .15s,background .15s}
#cevf-header.mode-hero .cevf-nav a{color:rgba(240,237,230,.8)}
#cevf-header.mode-hero .cevf-nav a:hover,
#cevf-header.mode-hero.scrolled .cevf-nav a:hover{color:#F5F2EB;background:rgba(240,237,230,.08)}
#cevf-header.mode-solid .cevf-nav a{color:#44423E}
#cevf-header.mode-solid .cevf-nav a:hover{color:#1A1A18;background:#F0EDE5}
.cevf-nav a.current-menu-item{color:#E8861A!important;font-weight:600}
.cevf-nav-donate{
  background:#E8861A!important;color:#1A1A18!important;
  font-size:13px!important;font-weight:700!important;
  padding:9px 22px!important;border-radius:8px!important;
  display:inline-flex;align-items:center;gap:6px;
  text-decoration:none!important;white-space:nowrap;margin-left:8px;
  transition:background .15s,transform .1s!important;
}
.cevf-nav-donate:hover{background:#F5A84A!important;transform:translateY(-1px)!important;color:#1A1A18!important}

/* ══ HERO ══ */
.cevf-hero{
  position:relative;
  height:100svh;min-height:640px;
  display:flex;flex-direction:column;justify-content:flex-end;
  overflow:hidden;
}
.cevf-hero-photo{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);animation:cevfZoom 14s ease-out forwards;filter:brightness(.5) saturate(.85)}
@keyframes cevfZoom{to{transform:scale(1)}}
.cevf-hero-gradient{position:absolute;inset:0;background:linear-gradient(to top,rgba(14,13,12,.95) 0%,rgba(14,13,12,.45) 42%,rgba(14,13,12,.1) 100%)}
.cevf-hero-word-mask{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden}
.cevf-hero-word{font-family:'Lora',Georgia,serif;font-size:clamp(90px,17vw,230px);font-weight:700;letter-spacing:-.04em;line-height:1;color:transparent;-webkit-background-clip:text;background-clip:text;background-size:cover;background-position:center 30%;opacity:.16;user-select:none;white-space:nowrap}
.cevf-hero-content{position:relative;z-index:2;padding:0 var(--pad) clamp(180px,20vh,210px);max-width:var(--max);margin:0 auto;width:100%}
.cevf-hero-kicker{font-family:var(--f-mono);font-size:11px;color:var(--amber);letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px;display:flex;align-items:center;gap:10px}
.cevf-hero-kicker::before{content:"";width:28px;height:1px;background:var(--amber)}
.cevf-hero-h1{font-family:var(--f-disp);font-size:clamp(30px,4vw,50px);font-weight:500;line-height:1.06;letter-spacing:-.025em;color:#F5F2EB;max-width:860px;margin-bottom:22px}
.cevf-hero-h1 em{font-style:italic;color:var(--amber-l)}
.cevf-hero-sub{font-size:clamp(14px,1.6vw,17px);color:rgba(240,237,230,.6);max-width:480px;line-height:1.72;font-weight:300;margin-bottom:36px}
.cevf-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.cevf-hero-scroll{position:absolute;bottom:210px;right:var(--pad);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(240,237,230,.3);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-family:var(--f-mono)}
.cevf-scroll-line{width:1px;height:44px;background:rgba(240,237,230,.2);animation:cevfLine 2s ease-in-out infinite}
@keyframes cevfLine{0%,100%{opacity:.2;transform:scaleY(1)}50%{opacity:.6;transform:scaleY(.55)}}

/* Stats bar */
.cevf-stats-bar{position:absolute;bottom:0;left:0;right:0;z-index:3;background:rgba(250,248,244,.97);border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(4,1fr)}
.cevf-stat-cell{padding:20px 28px;border-right:1px solid var(--border);display:flex;align-items:center;gap:16px}
.cevf-stat-cell:last-child{border-right:none}
.cevf-stat-icon{font-size:22px;flex-shrink:0}
.cevf-stat-num{font-family:var(--f-disp);font-size:clamp(22px,2.4vw,30px);font-weight:700;color:var(--ink);line-height:1}
.cevf-stat-num span{color:var(--amber)}
.cevf-stat-lab{font-size:11.5px;color:var(--muted);line-height:1.4}
.cevf-stat-lab strong{display:block;font-size:12.5px;color:var(--ink2);font-weight:500;margin-bottom:1px}

/* ══ BIG NUMBER ══ */
.cevf-big-num{font-family:var(--f-disp);font-size:clamp(64px,7vw,96px);font-weight:700;color:var(--ink);line-height:.9;letter-spacing:-.04em}
.cevf-big-num em{display:block;font-style:italic;color:var(--amber);font-size:.42em;letter-spacing:0;margin-top:6px}

/* ══ PAGE BANNER (inner pages) ══ */
.cevf-banner{background:var(--dk);position:relative;overflow:hidden;padding-top:160px}
.cevf-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(232,134,26,.12) 0%,transparent 65%);pointer-events:none}
.cevf-banner-inner{max-width:var(--max);margin:0 auto;padding:60px var(--pad) 80px}
.cevf-banner-sub{font-size:clamp(15px,1.8vw,17.5px);color:var(--dk-muted);max-width:520px;line-height:1.7;font-weight:300}
.cevf-breadcrumb{display:flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:11px;color:rgba(240,237,230,.3);margin-top:28px}
.cevf-breadcrumb a{color:rgba(240,237,230,.45);transition:color .15s}
.cevf-breadcrumb a:hover{color:var(--amber)}
.cevf-breadcrumb span{color:rgba(240,237,230,.2)}

/* ══ TYPOGRAPHY ══ */
.cevf-kicker{font-family:var(--f-mono);font-size:10.5px;font-weight:500;color:var(--amber);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.cevf-kicker::before{content:attr(data-n);color:var(--muted2)}
.cevf-banner .cevf-kicker{color:var(--amber)}
.cevf-banner .cevf-kicker::before{color:rgba(240,237,230,.3)}
.cevf-h1{font-family:var(--f-disp);font-size:clamp(30px,4vw,50px);font-weight:500;line-height:1.05;letter-spacing:-.025em;color:var(--dk-cream);max-width:700px;margin-bottom:18px}
.cevf-h1 em{font-style:italic;color:var(--amber-l)}
.cevf-h2{font-family:var(--f-disp);font-size:clamp(26px,3.4vw,44px);font-weight:500;line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin-bottom:16px}
.cevf-h2.on-dark{color:var(--dk-cream)}
.cevf-lead{font-size:15px;color:var(--muted);line-height:1.8;font-weight:300}
.cevf-body{font-size:14.5px;color:var(--muted);line-height:1.85}

/* ══ BUTTONS ══ */
.btn-amber{background:var(--amber);color:var(--ink);font-size:14px;font-weight:700;padding:13px 28px;border-radius:9px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .15s,transform .1s;text-decoration:none;line-height:1}
.btn-amber:hover{background:var(--amber-l);transform:translateY(-1px)}
.btn-outline-ink{background:transparent;color:var(--ink);font-size:14px;font-weight:500;padding:13px 24px;border-radius:9px;border:1.5px solid var(--border2);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .15s;text-decoration:none;line-height:1}
.btn-outline-ink:hover{border-color:var(--ink2);background:var(--cream2)}
.btn-outline-cream{background:transparent;color:var(--dk-cream);font-size:14px;font-weight:500;padding:13px 24px;border-radius:9px;border:1.5px solid rgba(240,237,230,.25);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .15s;text-decoration:none;line-height:1}
.btn-outline-cream:hover{border-color:rgba(240,237,230,.5);background:rgba(240,237,230,.06)}
.btn-dark{background:var(--ink);color:#FAF8F4;font-size:14px;font-weight:700;padding:13px 28px;border-radius:9px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .15s,transform .1s;text-decoration:none;line-height:1}
.btn-dark:hover{background:var(--ink2);transform:translateY(-1px)}

/* ══ SEAL CHIPS ══ */
.cevf-seal{font-family:var(--f-mono);font-size:10px;background:var(--green-pale);color:var(--green);border:1px solid rgba(30,107,69,.2);padding:5px 12px;border-radius:4px;letter-spacing:.05em;display:inline-block}
.cevf-seal-row{display:flex;flex-wrap:wrap;gap:8px}

/* ══ SECTION UTILS ══ */
.cevf-section{padding:var(--sec) 0}
.cevf-section-border{border-top:1px solid var(--border)}

/* ══ GRID SYSTEM ══ */
.cevf-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.cevf-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px}

/* ══ TRUST STRIP ══ */
.cevf-trust-strip{background:var(--cream2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px var(--pad);display:flex;align-items:center;justify-content:center;gap:clamp(16px,3vw,40px);flex-wrap:wrap}
.cevf-trust-strip span{display:flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:11px;color:var(--muted);letter-spacing:.04em}
.cevf-trust-strip span::before{content:'✓';color:var(--green);font-weight:700}

/* ══ REG TABLE ══ */
.cevf-reg-table{border:1px solid var(--border);border-radius:12px;overflow:hidden}
.cevf-reg-row{display:flex;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);font-size:13px}
.cevf-reg-row:last-child{border-bottom:none}
.cevf-reg-row:nth-child(even){background:var(--cream2)}
.cevf-reg-key{font-family:var(--f-mono);font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.cevf-reg-val{color:var(--ink);font-weight:500;text-align:right}

/* ══ SPEND BAR ══ */
.cevf-spend-label{font-family:var(--f-mono);font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}
.cevf-spend-bar{display:flex;height:52px;border-radius:10px;overflow:hidden;gap:2px;margin-bottom:12px}
.cevf-sp-a{background:var(--amber);display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:12px;font-weight:700;color:var(--ink)}
.cevf-sp-b{background:var(--cream3);display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.cevf-spend-legend{display:flex;gap:20px;flex-wrap:wrap}
.cevf-sl{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.cevf-sl-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}
.dot-amber{background:var(--amber)}.dot-grey{background:var(--cream3)}

/* ══ PROGRAMS GRID — LIGHT SKIN ══ */
.cevf-prog-grid-light{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:20px;
}
.cevf-prog-light-feat{
  grid-row:span 2;
  background:var(--cream);
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:420px;
  transition:box-shadow .2s,transform .2s;
}
.cevf-prog-light-feat:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.cevf-prog-light-img{
  flex:1;
  background-size:cover;
  background-position:center;
  min-height:200px;
  filter:saturate(.8);
  transition:filter .4s;
}
.cevf-prog-light-feat:hover .cevf-prog-light-img{filter:saturate(.95)}
.cevf-prog-light-feat-body{padding:22px 24px 26px}
.cevf-prog-light-card{
  background:var(--cream);
  border:1px solid var(--border);
  border-radius:14px;
  padding:24px;
  transition:box-shadow .2s,transform .2s,border-color .2s;
}
.cevf-prog-light-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:var(--amber-pale2)}
.cevf-prog-light-icon{width:44px;height:44px;border-radius:12px;background:var(--amber-pale);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:14px}

/* ══ CAMPAIGN ROWS — LIGHT SKIN ══ */
.cevf-camp-light-list{display:flex;flex-direction:column;gap:14px}
.cevf-camp-light-row{
  background:var(--cream);
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  display:grid;
  grid-template-columns:200px 1fr 170px 150px;
  min-height:170px;
  transition:box-shadow .2s,border-color .2s;
}
.cevf-camp-light-row:hover{box-shadow:var(--shadow-lg);border-color:var(--amber-pale2)}
.cevf-camp-light-imgw{overflow:hidden;min-height:170px}
.cevf-camp-light-imgw > div{width:100%;height:100%;min-height:170px}
.cevf-camp-light-body{padding:22px 26px;display:flex;flex-direction:column;justify-content:center}
.cevf-camp-light-prog{padding:22px 24px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--border)}
.cevf-camp-light-cta{padding:22px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;border-left:1px solid var(--border)}
.cevf-camp-light-cta .btn-amber{white-space:nowrap}

/* Tag pills */
.cevf-lt{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:3px;font-family:var(--f-mono);display:inline-block}
.cevf-lt-r{background:#FEE2E2;color:#B91C1C}
.cevf-lt-b{background:#DBEAFE;color:#1D4ED8}
.cevf-lt-g{background:var(--green-pale);color:var(--green)}
.cevf-lt-o{background:var(--amber-pale);color:var(--amber-d)}

/* ══ IMPACT ROWS ══ */
.cevf-impact-list{display:flex;flex-direction:column;gap:20px;margin:28px 0}
.cevf-impact-row{display:flex;gap:18px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--border)}
.cevf-impact-row:last-child{border-bottom:none;padding-bottom:0}
.cevf-impact-amt{font-family:var(--f-disp);font-size:22px;font-weight:700;color:var(--amber-d);min-width:80px;line-height:1;flex-shrink:0}
.cevf-impact-what strong{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:3px}
.cevf-impact-what span{font-size:12.5px;color:var(--muted)}

/* ══ TRUST CHECKS ══ */
.cevf-trust-checks{display:flex;flex-direction:column;gap:10px}
.cevf-tc{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}
.cevf-tc-icon{width:26px;height:26px;border-radius:50%;background:var(--green-pale);border:1px solid rgba(30,107,69,.2);display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;color:var(--green)}

/* ══ DONATE CARD ══ */
.cevf-don-card{background:var(--cream);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg)}
.cevf-don-card-hd{padding:22px 26px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.cevf-don-title{font-family:var(--f-disp);font-size:17px;font-weight:700;color:var(--ink)}
.cevf-don-freq{display:flex;background:var(--cream2);border:1px solid var(--border);border-radius:9px;padding:3px;margin-bottom:22px}
.cevf-dft{flex:1;padding:9px 14px;border-radius:6px;font-size:13px;font-weight:600;color:var(--muted);border:none;background:transparent;cursor:pointer;font-family:var(--f-body);transition:all .15s}
.cevf-dft.on{background:var(--amber);color:var(--ink)}
.cevf-don-body{padding:26px}
.cevf-don-lbl{font-family:var(--f-mono);font-size:10.5px;font-weight:600;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.cevf-amt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.cevf-amt-btn{background:var(--cream2);border:1.5px solid var(--border);border-radius:8px;padding:12px 4px;font-family:var(--f-disp);font-size:15px;font-weight:700;color:var(--ink3);text-align:center;transition:all .15s;display:block;text-decoration:none;line-height:1.4;cursor:pointer}
.cevf-amt-btn:hover,.cevf-amt-btn.on{background:var(--amber-pale);border-color:var(--amber);color:var(--amber-d)}
.cevf-don-main-btn{display:block;width:100%;background:var(--amber);color:var(--ink);border:none;border-radius:10px;padding:15.5px;font-family:var(--f-body);font-size:15px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s;margin-bottom:16px;text-align:center;text-decoration:none;line-height:1.5}
.cevf-don-main-btn:hover{background:var(--amber-l);transform:translateY(-1px)}
.cevf-don-secure{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;font-size:11.5px;color:var(--muted);border-top:1px solid var(--border);padding-top:14px}
.cevf-don-secure span::before{content:'✓ ';color:var(--green);font-weight:700}
.cevf-upi-strip{border-top:1px solid var(--border);padding:18px 26px;display:flex;gap:14px;align-items:center;background:var(--cream2)}
.cevf-upi-box{width:52px;height:52px;background:var(--dk);border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:8.5px;color:rgba(240,237,230,.5);text-align:center;gap:2px;flex-shrink:0}
.cevf-upi-box strong{color:var(--amber);font-size:11px;display:block}
.cevf-upi-info strong{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:3px}
.cevf-upi-info small{font-size:11.5px;color:var(--muted);line-height:1.6;display:block}

/* ══ STORY CARDS ══ */
.cevf-story-card{background:var(--cream);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:transform .22s,box-shadow .22s}
.cevf-story-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.cevf-story-top{height:200px;position:relative;overflow:hidden}
.cevf-story-img{width:100%;height:100%;background-size:cover;background-position:center;filter:saturate(.75);transition:transform .5s}
.cevf-story-card:hover .cevf-story-img{transform:scale(1.05)}
.cevf-story-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(250,248,244,.95) 0%,transparent 60%)}
.cevf-story-pull{position:absolute;bottom:16px;left:20px;right:20px;font-family:var(--f-disp);font-size:13px;font-style:italic;color:var(--ink2);line-height:1.5}
.cevf-story-body{padding:20px 20px 24px}
.cevf-story-text{font-size:13.5px;color:var(--muted);line-height:1.7;margin-bottom:18px}
.cevf-story-author{display:flex;align-items:center;gap:10px}
.cevf-story-av{width:36px;height:36px;border-radius:50%;border:2px solid var(--border2);background:var(--cream2);flex-shrink:0}
.cevf-story-name{font-size:13px;font-weight:600;color:var(--ink)}
.cevf-story-role{font-size:11.5px;color:var(--muted)}

/* ══ CONTACT FORMS ══ */
.cevf-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.cevf-form-row.full{grid-template-columns:1fr}
.cevf-form-field{display:flex;flex-direction:column;gap:6px}
.cevf-form-field label{font-family:var(--f-mono);font-size:10.5px;font-weight:600;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.cevf-form-field input,.cevf-form-field textarea,.cevf-form-field select{width:100%;background:var(--cream2);border:1.5px solid var(--border);border-radius:8px;padding:11px 14px;font-family:var(--f-body);font-size:14px;color:var(--ink);outline:none;transition:border-color .15s;resize:none}
.cevf-form-field input:focus,.cevf-form-field textarea:focus,.cevf-form-field select:focus{border-color:var(--amber)}
.cevf-form-field input::placeholder,.cevf-form-field textarea::placeholder{color:var(--muted2)}
.cevf-form-consent{display:flex;align-items:flex-start;gap:10px;margin:16px 0;font-size:12.5px;color:var(--muted);line-height:1.5}
.cevf-form-consent input[type=checkbox]{margin-top:2px;accent-color:var(--amber);flex-shrink:0;cursor:pointer}
.cevf-form-submit{width:100%;background:var(--amber);color:var(--ink);border:none;border-radius:10px;padding:15px;font-family:var(--f-body);font-size:15px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s}
.cevf-form-submit:hover{background:var(--amber-l);transform:translateY(-1px)}

/* ══ CASE CARDS (how-to-help page) ══ */
.cevf-case-card{background:var(--cream);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.cevf-case-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.cevf-case-img{width:100%;height:200px;background-size:cover;background-position:center;filter:saturate(.8)}
.cevf-case-body{padding:20px 20px 24px}
.cevf-case-tags{display:flex;gap:7px;margin-bottom:12px;flex-wrap:wrap}
.cevf-case-name{font-family:var(--f-disp);font-size:18px;font-weight:700;color:var(--ink);margin-bottom:8px;line-height:1.2}
.cevf-case-desc{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:16px}
.cevf-cpbar{height:5px;background:var(--cream3);border-radius:3px;overflow:hidden;margin-bottom:7px}
.cevf-cpfill{height:100%;border-radius:3px;background:var(--amber)}
.cevf-cpmeta{display:flex;justify-content:space-between;font-size:11.5px;margin-bottom:16px}
.cevf-cpraised{font-weight:600;color:var(--ink)}
.cevf-cpgoal{color:var(--muted)}
.cevf-donate-case{display:block;text-align:center;background:var(--amber);color:var(--ink);font-size:13.5px;font-weight:700;padding:11px;border-radius:8px;border:none;cursor:pointer;transition:background .15s;width:100%;font-family:var(--f-body);text-decoration:none}
.cevf-donate-case:hover{background:var(--amber-l)}

/* ══ REVEAL ANIMATIONS ══
   Only hide elements once JS has loaded (html.cevf-js class).
   Without this guard, a slow-loading script leaves content invisible. */
.cevf-js .cevf-rev{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.cevf-rev.vis{opacity:1;transform:none}
.cevf-rev[data-d="1"]{transition-delay:.1s}
.cevf-rev[data-d="2"]{transition-delay:.2s}
.cevf-rev[data-d="3"]{transition-delay:.3s}


/* ══ GENERIC CARD ══ */
.cevf-card{background:var(--cream);border:1px solid var(--border);border-radius:16px;transition:transform .2s,box-shadow .2s}
.cevf-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}

/* ══ FOOTER BRAND COL ══ */
.cevf-ft-brand{}

/* ══ FOOTER ══ */
#cevf-footer{
  background:#0E0D0C;
  padding:72px 0 0;
}
.cevf-footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.5fr;
  gap:48px;
  max-width:1240px;
  margin:0 auto;
  padding:0 clamp(20px,5vw,72px) 60px;
}
.cevf-ft-logo{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.cevf-ft-logo .cevf-logo-ring{border-color:#E8861A}
.cevf-ft-logo .cevf-logo-name strong{color:#F0EDE6;font-size:13px;font-weight:600;display:block;line-height:1.25}
.cevf-ft-logo .cevf-logo-name small{color:rgba(240,237,230,.35);font-size:9.5px;text-transform:uppercase;letter-spacing:.07em;display:block;margin-top:2px}
.cevf-ft-about{font-size:13px;color:rgba(240,237,230,.4);line-height:1.75;margin-bottom:22px;max-width:280px}
.cevf-ft-seals{display:flex;flex-direction:column;gap:8px}
.cevf-ft-seal{font-size:11.5px;color:rgba(240,237,230,.3);line-height:1.5}
.cevf-ft-seal strong{color:rgba(240,237,230,.5);font-weight:600;margin-right:4px}
.cevf-ft-col h4{font-family:'DM Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(240,237,230,.25);margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid rgba(240,237,230,.07)}
.cevf-ft-col ul{display:flex;flex-direction:column;gap:12px;list-style:none;padding:0;margin:0}
.cevf-ft-col ul li a{font-size:13.5px;color:rgba(240,237,230,.45);text-decoration:none;transition:color .15s;display:block}
.cevf-ft-col ul li a:hover{color:rgba(240,237,230,.85)}
.cevf-ft-bank-detail{display:flex;flex-direction:column;gap:12px}
.cevf-ft-bank-row{display:flex;flex-direction:column;gap:3px}
.cevf-ft-bank-label{font-family:'DM Mono',monospace;font-size:9.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(240,237,230,.25)}
.cevf-ft-bank-row span:last-child{font-size:12.5px;color:rgba(240,237,230,.5);line-height:1.4}
.cevf-footer-bottom{max-width:1240px;margin:0 auto;padding:22px clamp(20px,5vw,72px);border-top:1px solid rgba(240,237,230,.07);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.cevf-ft-copy{font-size:11.5px;color:rgba(240,237,230,.2);line-height:1.6}
.cevf-ft-social{display:flex;gap:10px}
.cevf-ft-soc{width:34px;height:34px;border-radius:8px;border:1px solid rgba(240,237,230,.1);display:flex;align-items:center;justify-content:center;font-size:11px;color:rgba(240,237,230,.35);text-decoration:none;transition:all .15s}
.cevf-ft-soc:hover{border-color:rgba(240,237,230,.3);color:rgba(240,237,230,.7);background:rgba(240,237,230,.05)}

/* ══ RESPONSIVE ══ */
@media(max-width:1020px){
  .cevf-grid-2{grid-template-columns:1fr;gap:48px}
  .cevf-grid-3{grid-template-columns:1fr 1fr}
  .cevf-prog-grid-light{grid-template-columns:1fr 1fr}
  .cevf-prog-light-feat{grid-row:auto;grid-column:1/3}
  .cevf-camp-light-row{grid-template-columns:1fr;min-height:auto}
  .cevf-camp-light-imgw{height:180px}
  .cevf-camp-light-prog,.cevf-camp-light-cta{border-left:none;border-top:1px solid var(--border)}
  .cevf-footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .cevf-stats-bar{grid-template-columns:1fr 1fr}
  .cevf-stat-cell{border-bottom:1px solid var(--border)}
}
@media(max-width:860px){
  .cevf-nav a:not(.cevf-nav-donate){display:none}
}
@media(max-width:640px){
  .cevf-grid-3{grid-template-columns:1fr}
  .cevf-prog-grid-light{grid-template-columns:1fr}
  .cevf-prog-light-feat{grid-column:auto}
  .cevf-footer-grid{grid-template-columns:1fr;gap:28px}
  .cevf-amt-grid{grid-template-columns:1fr 1fr}
  .cevf-form-row{grid-template-columns:1fr}
  .cevf-logo-name small{display:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:0ms!important}}

/* ══════════════════════════════════════════
   CASE / CAMPAIGN DETAIL PAGE
══════════════════════════════════════════ */
.cevf-detail-section{margin-top:38px;padding-top:38px;border-top:1px solid var(--border)}
.cevf-detail-section:first-of-type{margin-top:0;padding-top:0;border-top:none}

/* Gallery */
.cevf-detail-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.cevf-detail-gimg{aspect-ratio:1;background-size:cover;background-position:center;border-radius:12px;border:1px solid var(--border);filter:saturate(.88);transition:transform .3s,filter .3s;cursor:zoom-in}
.cevf-detail-gimg:hover{transform:scale(1.02);filter:saturate(1)}

/* Appeal box */
.cevf-appeal-box{background:var(--amber-pale);border-radius:14px;border-left:3px solid var(--amber);padding:28px 30px;border-top:none!important;margin-top:38px}

/* Trust documents — non-downloadable */
.cevf-doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.cevf-doc-card{margin:0}
.cevf-doc-img-wrap{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--border2);background:var(--cream2);aspect-ratio:3/4}
.cevf-doc-img{width:100%;height:100%;object-fit:cover;display:block;filter:blur(.4px) contrast(.97);user-select:none;-webkit-user-drag:none;pointer-events:none}
.cevf-doc-watermark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:13px;font-weight:700;letter-spacing:.2em;color:rgba(232,134,26,.32);transform:rotate(-28deg);pointer-events:none;text-align:center;line-height:2.4}
.cevf-doc-shield{position:absolute;bottom:10px;right:10px;background:var(--green);color:#fff;font-size:10px;font-weight:700;font-family:var(--f-mono);padding:4px 9px;border-radius:5px;letter-spacing:.04em}

/* Timeline */
.cevf-timeline{position:relative;padding-left:8px}
.cevf-tl-item{position:relative;padding-left:28px;padding-bottom:22px;border-left:2px solid var(--border)}
.cevf-tl-item:last-child{border-left-color:transparent;padding-bottom:0}
.cevf-tl-dot{position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--amber);border:2px solid var(--cream)}
.cevf-tl-when{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--amber-d);margin-bottom:4px}
.cevf-tl-what{font-size:14px;color:var(--ink2);line-height:1.6}

/* Funds breakdown */
.cevf-funds-grid{display:flex;flex-direction:column;gap:12px}
.cevf-fund-row{display:flex;align-items:center;gap:18px;padding:16px 20px;background:var(--cream2);border-radius:10px;border:1px solid var(--border)}
.cevf-fund-pct{font-family:var(--f-disp);font-size:26px;font-weight:700;color:var(--amber-d);min-width:64px;line-height:1}
.cevf-fund-label{font-size:13.5px;color:var(--ink2);line-height:1.5}

@media(max-width:640px){
  .cevf-detail-gallery{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
  .cevf-doc-grid{grid-template-columns:1fr 1fr}
  .cevf-fund-pct{font-size:22px;min-width:54px}
}

/* ══════════════════════════════════════════
   PROGRAM DETAIL — EDITORIAL
══════════════════════════════════════════ */
.cevf-prog-hero{position:relative;min-height:480px;display:flex;align-items:flex-end;overflow:hidden}
.cevf-prog-hero-img{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04);animation:cevfZoom 14s ease-out forwards;filter:brightness(.55) saturate(.9)}
.cevf-prog-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(14,13,12,.92) 0%,rgba(14,13,12,.35) 55%,rgba(14,13,12,.2) 100%)}
.cevf-prog-hero-content{position:relative;z-index:2;padding-top:160px;padding-bottom:56px;width:100%}
.cevf-prog-hero-icon{width:60px;height:60px;border-radius:16px;background:rgba(232,134,26,.18);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;font-size:30px;margin-bottom:20px;border:1px solid rgba(245,168,74,.3)}
.cevf-prog-hero-title{font-family:var(--f-disp);font-size:clamp(34px,5.5vw,64px);font-weight:700;line-height:1.05;letter-spacing:-.025em;color:#F5F2EB;max-width:760px}

/* Program editorial body — larger, comfortable reading */
.cevf-prog-body{font-size:17px;line-height:1.95;color:var(--ink3)}
.cevf-prog-body p{margin-bottom:24px}
.cevf-prog-body p:first-of-type{font-size:19px;line-height:1.85;color:var(--ink2);font-weight:400}
.cevf-prog-body p:first-of-type::first-letter{font-family:var(--f-disp);font-size:64px;font-weight:700;float:left;line-height:.82;margin:6px 12px 0 0;color:var(--amber-d)}
.cevf-prog-body h2,.cevf-prog-body h3{font-family:var(--f-disp);color:var(--ink);margin:36px 0 16px;line-height:1.2}
.cevf-prog-body h2{font-size:26px}.cevf-prog-body h3{font-size:21px}
.cevf-prog-body blockquote{font-family:var(--f-disp);font-style:italic;font-size:22px;line-height:1.5;color:var(--ink);border-left:3px solid var(--amber);padding-left:24px;margin:32px 0}
.cevf-prog-body a{color:var(--amber-d);text-decoration:underline}
.cevf-prog-body ul,.cevf-prog-body ol{margin:0 0 24px 22px}
.cevf-prog-body li{margin-bottom:8px}

/* Reversed grid columns helper */
@media(min-width:1021px){.cevf-rev-cols{direction:ltr}}

@media(max-width:1020px){
  .cevf-prog-hero{min-height:380px}
  .cevf-prog-body p:first-of-type::first-letter{font-size:52px}
}

/* ════════════════════════════════════════════════════════════════════
 *  DONATION WIDGET  —  "Donate & save tax" card (cevf_donation_widget)
 * ════════════════════════════════════════════════════════════════════ */
.cevf-dw{background:var(--cream);border:1px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);max-width:480px;width:100%}
.cevf-dw-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 26px;background:linear-gradient(180deg,var(--cream2),var(--cream));border-bottom:1px solid var(--border)}
.cevf-dw-title{font-family:var(--f-disp);font-size:21px;font-weight:700;color:var(--ink);line-height:1.1}
.cevf-dw-badge{font-family:var(--f-mono);font-size:10.5px;font-weight:600;color:var(--green);background:var(--green-pale);border:1px solid #cfe6da;padding:5px 11px;border-radius:20px;white-space:nowrap}
.cevf-dw-body{padding:24px 26px 26px}
.cevf-dw-freq{display:flex;background:var(--cream2);border:1px solid var(--border);border-radius:11px;padding:4px;margin-bottom:22px}
.cevf-dw-ft{flex:1;padding:11px 14px;border-radius:8px;font-size:13.5px;font-weight:700;color:var(--muted);border:none;background:transparent;cursor:pointer;font-family:var(--f-body);transition:all .15s}
.cevf-dw-ft.on{background:var(--amber);color:var(--ink);box-shadow:0 2px 8px rgba(232,134,26,.28)}
.cevf-dw-lbl{font-size:12.5px;font-weight:600;color:var(--ink3);margin-bottom:12px}
.cevf-dw-amts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.cevf-dw-amt{background:var(--cream);border:1.5px solid var(--border2);border-radius:12px;padding:15px 8px;font-family:var(--f-disp);font-size:18px;font-weight:700;color:var(--ink2);text-align:center;cursor:pointer;transition:all .15s;font-feature-settings:"tnum"}
.cevf-dw-amt:hover{border-color:var(--amber-l);background:var(--amber-pale)}
.cevf-dw-amt.on{background:var(--amber);border-color:var(--amber);color:var(--ink);box-shadow:0 4px 14px rgba(232,134,26,.3)}
.cevf-dw-custom{grid-column:1/-1;display:flex;align-items:center;gap:6px;background:var(--cream);border:1.5px solid var(--border2);border-radius:12px;padding:0 16px;transition:border-color .15s}
.cevf-dw-custom:focus-within{border-color:var(--amber)}
.cevf-dw-custom>span{font-family:var(--f-disp);font-size:18px;font-weight:700;color:var(--muted)}
.cevf-dw-custom-input{flex:1;border:none;background:transparent;padding:15px 4px;font-family:var(--f-disp);font-size:17px;font-weight:700;color:var(--ink);outline:none;width:100%}
.cevf-dw-impact{display:flex;align-items:flex-start;gap:9px;background:var(--amber-pale);border-radius:12px;padding:13px 15px;font-size:13px;line-height:1.5;color:var(--ink3);margin-bottom:20px}
.cevf-dw-heart{flex:none;font-size:15px}
.cevf-dw-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.cevf-dw-input{border:1.5px solid var(--border2);border-radius:11px;padding:13px 15px;font-size:14px;color:var(--ink);background:var(--cream);transition:border-color .15s;width:100%}
.cevf-dw-input:focus{outline:none;border-color:var(--amber)}
.cevf-dw-input.cevf-dw-err{border-color:#c0392b;background:#fdf3f2}
.cevf-dw-submit{display:block;width:100%;background:var(--amber);color:var(--ink);border:none;border-radius:13px;padding:17px;font-family:var(--f-body);font-size:15.5px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;box-shadow:0 6px 20px rgba(232,134,26,.32)}
.cevf-dw-submit:hover{background:var(--amber-l);transform:translateY(-2px);box-shadow:0 10px 26px rgba(232,134,26,.42)}
.cevf-dw-submit-amt{font-family:var(--f-disp);font-feature-settings:"tnum"}
.cevf-dw-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-top:16px;font-size:11.5px;color:var(--muted)}
.cevf-dw-trust span{white-space:nowrap}

/* ── TRUST / CERTIFICATION STRIP (cevf_trust_strip) ── */
.cevf-trust{text-align:center}
.cevf-trust-h{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:26px}
.cevf-trust-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.cevf-trust-card{display:flex;align-items:center;gap:13px;background:var(--cream);border:1px solid var(--border);border-radius:14px;padding:16px 22px;min-width:200px;box-shadow:var(--shadow);text-align:left}
.cevf-trust-badge{flex:none;font-family:var(--f-disp);font-weight:700;font-size:15px;color:var(--amber-d);background:var(--amber-pale);border:1px solid var(--amber-pale2);border-radius:10px;width:54px;height:54px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.05;padding:4px}
.cevf-trust-meta{display:flex;flex-direction:column;gap:2px}
.cevf-trust-meta strong{font-size:14px;color:var(--ink);font-weight:700}
.cevf-trust-meta span{font-size:12px;color:var(--muted);font-family:var(--f-mono)}
.cevf-trust--dark .cevf-trust-h{color:var(--dk-muted)}
.cevf-trust--dark .cevf-trust-card{background:var(--dk2);border-color:var(--dk-border)}
.cevf-trust--dark .cevf-trust-meta strong{color:var(--dk-cream)}
.cevf-trust--dark .cevf-trust-badge{background:rgba(232,134,26,.16);border-color:rgba(245,168,74,.3)}

@media(max-width:560px){
  .cevf-trust-card{min-width:0;width:100%}
}
