/* ══════════════════════════════════════════════════════
   CALUNAH, Complete Stylesheet  v3.0
   Palette: Deep Green · Gold · White
══════════════════════════════════════════════════════ */
:root {
  --green:        #1a6b2f; --green-dark:   #0d3318; --green-deeper: #071a0c;
  --green-light:  #2d9147; --green-pale:   #e8f5eb;
  --gold:         #c9a227; --gold-light:   #e8c547; --gold-dark:    #9e7d1a;
  --white:        #ffffff; --off-white:    #f9fdf9;
  --text:         #1a2e1f; --text-mid:     #3d5a44; --text-light:   #6b8570;
  --border:       rgba(26,107,47,.15);
  --shadow:       0 4px 24px rgba(13,51,24,.12);
  --shadow-lg:    0 12px 48px rgba(13,51,24,.20);
  --radius: 12px; --radius-lg: 20px;
  --transition:   .35s cubic-bezier(.4,0,.2,1);
  --font-head:    'Playfair Display', Georgia, serif;
  --font-body:    'Montserrat', Arial, sans-serif;
  --font-accent:  'Cormorant Garamond', Georgia, serif;
  --nav-h: 80px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-overflow-scrolling:touch}
body{font-family:var(--font-body);color:var(--text);background:var(--white);line-height:1.7;overflow-x:hidden}
body.splash-open{overflow:hidden}
img{max-width:100%;display:block} a{text-decoration:none;color:inherit} ul{list-style:none}
/* Perf: hint the compositor for images so decode/paint doesn't block scroll */
.gallery-item img,.event-flyer img,.work-card img{content-visibility:auto}
/* Respect users who ask for less motion — also a perf win on weak devices */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  #logo-canvas,#particles-canvas{display:none!important}
}
.container{max-width:1260px;margin:0 auto;padding:0 1.5rem}
.section{padding:100px 0;contain:layout style}
/* Performance: skip rendering off-screen sections until scrolled near.
   contain-intrinsic-size reserves space so the scrollbar stays stable
   (prevents the "blank then pop" jank). Hero/nav excluded (always visible). */
.section:not(.hero):not(.events-section){content-visibility:auto;contain-intrinsic-size:auto 700px}

/* ── BUTTONS ───────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 2rem;font-family:var(--font-body);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:50px;border:2px solid transparent;cursor:pointer;transition:var(--transition);white-space:nowrap;position:relative;overflow:hidden}
.btn-primary{background:var(--green);color:var(--white);border-color:var(--green)}
.btn-primary:hover{background:var(--green-light);transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,107,47,.35)}
.btn-gold{background:var(--gold);color:var(--green-dark);border-color:var(--gold);position:relative;overflow:hidden}
.btn-gold::after{content:'';position:absolute;top:-50%;left:-75%;width:50%;height:200%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:btnSweep 3s ease-in-out infinite}
@keyframes btnSweep{0%{left:-75%}50%{left:140%}100%{left:140%}}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,162,39,.4)}
.btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.6)}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:var(--white);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--green);border-color:var(--green)}
.btn-outline:hover{background:var(--green);color:var(--white);transform:translateY(-2px)}
.btn-gold-outline{background:transparent;color:var(--gold);border-color:var(--gold)}
.btn-gold-outline:hover{background:var(--gold);color:var(--green-dark);transform:translateY(-2px)}
.btn-youtube{background:#ff0000;color:var(--white);border-color:#ff0000}
.btn-youtube:hover{background:#cc0000;transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,0,0,.35)}
.btn-facebook{background:#1877f2;color:var(--white);border-color:#1877f2}
.btn-facebook:hover{background:#1565d8;transform:translateY(-2px)}
.btn-instagram{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:var(--white);border-color:#e1306c}
.btn-instagram:hover{transform:translateY(-2px)}
.btn-donate-hero{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--green-dark);border-color:transparent}
.btn-donate-hero:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(201,162,39,.5)}
.btn-full{width:100%;justify-content:center}

/* ── SECTION HEADERS ───────────────────────────────── */
.section-head{text-align:center;margin-bottom:3.5rem}
.section-badge{display:inline-block;padding:.35rem 1.2rem;background:var(--green-pale);color:var(--green);font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;border-radius:50px;margin-bottom:1rem;position:relative;overflow:hidden}
.section-badge::after{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:badgeSweep 3.5s ease-in-out infinite}
@keyframes badgeSweep{0%{left:-100%}50%{left:140%}100%{left:140%}}
.section-badge.gold{background:rgba(201,162,39,.15);color:var(--gold)}
.section-title{font-family:var(--font-head);font-size:clamp(2rem,4vw,3rem);font-weight:900;color:var(--text);line-height:1.15;margin-bottom:1rem;transition:text-shadow .4s}
.section-title:hover{text-shadow:0 0 30px rgba(201,162,39,.25)}
.section-title.white{color:var(--white)}
.section-sub{font-size:1.05rem;color:var(--text-light);max-width:650px;margin:0 auto}
.section-sub.white{color:rgba(255,255,255,.75)}
.divider{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:1rem 0 1.25rem}
.divider span{display:block;width:60px;height:2px;background:linear-gradient(90deg,transparent,var(--gold))}
.divider span:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.divider i{color:var(--gold);font-size:.85rem;animation:iconGlow 2.5s ease-in-out infinite}
@keyframes iconGlow{0%,100%{text-shadow:0 0 4px rgba(201,162,39,.4)}50%{text-shadow:0 0 16px rgba(201,162,39,1),0 0 30px rgba(255,230,100,.6)}}
.divider.light span{background:linear-gradient(90deg,transparent,rgba(255,255,255,.4))}
.divider.light span:last-child{background:linear-gradient(90deg,rgba(255,255,255,.4),transparent)}
.divider.light i{color:rgba(255,255,255,.7)}
.section-cta{text-align:center;margin-top:3rem}
.section-bg-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(201,162,39,.07) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(26,107,47,.2) 0%,transparent 50%);pointer-events:none}
.section-bg-pattern.dark{background-image:radial-gradient(circle at 10% 80%,rgba(26,107,47,.15) 0%,transparent 40%),radial-gradient(circle at 90% 20%,rgba(201,162,39,.06) 0%,transparent 40%)}
.section-bg-green{position:absolute;inset:0;background-image:radial-gradient(ellipse at 0% 100%,rgba(201,162,39,.08) 0%,transparent 50%),radial-gradient(ellipse at 100% 0%,rgba(45,145,71,.15) 0%,transparent 50%);pointer-events:none}

/* ════════════════════════════════════════
   SPLASH SCREEN
════════════════════════════════════════ */
.splash-screen{position:fixed;inset:0;z-index:9999;background:radial-gradient(ellipse at center,#1a5a28 0%,#0d3318 50%,#071a0c 100%);display:flex;align-items:center;justify-content:center;transition:opacity 1.2s ease,visibility 1.2s ease}
.splash-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}
#particles-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.splash-content{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem}
.splash-logo-ring{position:relative;display:flex;align-items:center;justify-content:center}
.splash-logo-ring::before{content:'';position:absolute;inset:-16px;border-radius:50%;border:2px solid rgba(201,162,39,.25);animation:ringPulse 2.5s ease-in-out infinite}
.splash-logo-ring::after{content:'';position:absolute;inset:-30px;border-radius:50%;border:1px solid rgba(201,162,39,.12);animation:ringPulse 2.5s ease-in-out .8s infinite}
@keyframes ringPulse{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.12);opacity:.15}}
.splash-logo{width:220px;height:220px;object-fit:contain;animation:logoEntry 1.4s cubic-bezier(.34,1.56,.64,1) forwards,splashLogoGlow 2.5s ease-in-out 1.5s infinite}
@keyframes logoEntry{0%{transform:scale(0) rotate(-270deg);opacity:0}65%{transform:scale(1.12) rotate(12deg);opacity:1}82%{transform:scale(.96) rotate(-6deg)}100%{transform:scale(1) rotate(0deg);opacity:1}}
@keyframes splashLogoGlow{0%,100%{filter:drop-shadow(0 0 30px rgba(201,162,39,.45))}50%{filter:drop-shadow(0 0 60px rgba(255,230,100,.85)) drop-shadow(0 0 100px rgba(201,162,39,.3))}}
.splash-text{animation:fadeUp .9s ease .9s both}
.splash-title{font-family:var(--font-head);font-size:clamp(2.8rem,7vw,5.5rem);font-weight:900;color:var(--gold);letter-spacing:.2em;text-shadow:0 2px 30px rgba(201,162,39,.45);margin-bottom:.4rem}
.splash-sub{font-family:var(--font-body);font-size:clamp(.85rem,2.5vw,1.1rem);color:rgba(255,255,255,.82);font-weight:300;letter-spacing:.04em;margin-bottom:.3rem}
.splash-tagline{font-family:var(--font-accent);font-size:clamp(.8rem,2vw,1rem);color:rgba(201,162,39,.7);font-style:italic;letter-spacing:.1em;margin-bottom:.2rem}
.splash-501c3{font-size:.75rem;color:rgba(255,255,255,.45);letter-spacing:.1em;text-transform:uppercase}
.splash-501c3 i{color:var(--gold);margin-right:.4rem}
.splash-loader{animation:fadeIn .5s ease 1.5s both}
.splash-progress-track{width:220px;height:2px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.splash-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--gold-dark),var(--gold-light));border-radius:2px;transition:width linear}
.splash-btn{display:flex;align-items:center;gap:.75rem;padding:.9rem 2.2rem;background:transparent;border:2px solid var(--gold);color:var(--gold);font-family:var(--font-body);font-size:.85rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;border-radius:50px;cursor:pointer;transition:var(--transition);animation:fadeUp .8s ease 1.8s both}
.splash-btn:hover{background:var(--gold);color:var(--green-dark);box-shadow:0 8px 28px rgba(201,162,39,.45);transform:translateY(-3px)}

/* ════════════════════════════════════════
   NAVIGATION, ANIMATED DROPDOWN
════════════════════════════════════════ */
/* ════════════════════════════════════════
   NAVBAR — redesigned
════════════════════════════════════════ */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);display:flex;align-items:center;background:transparent;transition:background .45s ease,box-shadow .45s ease,height .45s ease,border-color .45s ease;border-bottom:1px solid transparent;max-width:100vw}

/* Gold shimmer line at the very top when scrolled */
.navbar::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(201,162,39,.0) 20%,rgba(201,162,39,.0) 80%,transparent 100%);transition:background .45s ease;pointer-events:none;z-index:1}

/* Rich frosted dark glass on scroll */
.navbar.scrolled{background:linear-gradient(180deg,rgba(3,10,5,.985) 0%,rgba(4,14,6,.96) 100%);box-shadow:0 8px 40px rgba(0,0,0,.50),0 1px 0 rgba(201,162,39,.12) inset;border-bottom:1px solid rgba(201,162,39,.18);height:64px}
.navbar.scrolled::before{background:linear-gradient(90deg,transparent 0%,rgba(201,162,39,.55) 30%,rgba(255,220,80,.7) 50%,rgba(201,162,39,.55) 70%,transparent 100%)}

/* ── Layout ── */
.nav-inner{max-width:1660px;margin:0 auto;padding:0 2rem;width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem}

/* ── Brand ── */
.nav-brand{display:flex;align-items:center;gap:.85rem;flex-shrink:0;position:relative;padding-right:1.4rem}
.nav-brand::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:32px;background:linear-gradient(to bottom,transparent,rgba(201,162,39,.4),transparent)}
.nav-logo{width:52px;height:52px;object-fit:contain;transition:transform .4s ease;animation:logoPulse 3.5s ease-in-out infinite;filter:drop-shadow(0 2px 10px rgba(201,162,39,.45))}
@keyframes logoPulse{0%,100%{filter:drop-shadow(0 0 6px rgba(201,162,39,.45)) drop-shadow(0 2px 8px rgba(0,0,0,.55))}50%{filter:drop-shadow(0 0 22px rgba(201,162,39,.9)) drop-shadow(0 2px 8px rgba(0,0,0,.55))}}
.navbar.scrolled .nav-logo{width:44px;height:44px}
.nav-brand:hover .nav-logo{transform:rotate(6deg) scale(1.08)}
.nav-name{display:block;font-family:var(--font-head);font-size:1.25rem;font-weight:900;color:var(--gold);letter-spacing:.09em;line-height:1;text-shadow:0 2px 12px rgba(0,0,0,.7)}
.nav-tagline{display:block;font-size:.58rem;color:rgba(255,255,255,.75);letter-spacing:.1em;text-transform:uppercase;margin-top:.2rem;text-shadow:0 1px 6px rgba(0,0,0,.8)}

/* ── Nav links list ── */
.nav-links{display:flex;align-items:center;gap:.1rem}
.nav-item{position:relative}

/* ── Individual link ── */
.nav-link{display:flex;align-items:center;gap:.28rem;font-size:.69rem;font-weight:700;color:rgba(255,255,255,.88);padding:.44rem .5rem;border-radius:8px;letter-spacing:.03em;text-transform:uppercase;transition:color .25s,background .25s,box-shadow .25s;position:relative;cursor:pointer;white-space:nowrap;text-shadow:0 1px 8px rgba(0,0,0,.7);border:1px solid transparent}
.nav-icon{display:none;font-size:.6rem;color:var(--gold)}

/* Pill hover: soft gold background + border */
.nav-link::before{content:'';position:absolute;inset:0;border-radius:8px;background:transparent;transition:background .25s,border-color .25s}
.nav-link:hover::before{background:rgba(201,162,39,.11)}
.nav-link:hover,.nav-link.active{color:var(--gold);text-shadow:0 0 12px rgba(201,162,39,.4)}
.nav-link.active::before{background:rgba(201,162,39,.14)}

/* Thin gold underline dot indicator */
.nav-link::after{content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);border-radius:2px;transition:width .3s ease}
.nav-link:hover::after,.nav-link.active::after{width:55%}

.nav-arrow{font-size:.52rem;margin-left:.12rem;color:rgba(201,162,39,.6);transition:transform .3s,color .25s}
.nav-item:hover .nav-arrow{transform:rotate(180deg);color:var(--gold)}

/* ── DROPDOWN ── */
.nav-dropdown{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(-10px);background:linear-gradient(160deg,rgba(4,12,6,.99) 0%,rgba(6,18,8,.97) 100%);-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);border:1px solid rgba(201,162,39,.22);border-top:2px solid var(--gold);border-radius:4px 4px 14px 14px;min-width:260px;padding:.5rem 0 .8rem;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease,transform .3s ease;box-shadow:0 24px 60px rgba(0,0,0,.65),0 0 0 1px rgba(201,162,39,.06);z-index:200;overflow:hidden}

/* Gold arrow pointer */
.nav-dropdown::before{content:'';position:absolute;top:-10px;left:50%;transform:translateX(-50%);border:10px solid transparent;border-bottom-color:var(--gold);border-top:none;filter:drop-shadow(0 -2px 4px rgba(0,0,0,.3))}

/* Subtle gold glow at top of dropdown */
.nav-dropdown::after{content:'';position:absolute;top:0;left:0;right:0;height:60px;background:radial-gradient(ellipse at 50% -20%,rgba(201,162,39,.12) 0%,transparent 70%);pointer-events:none}

.nav-item:hover .nav-dropdown,.nav-item:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

/* Dropdown header label */
.nav-dropdown li:first-child{position:relative}
.nav-dropdown li:first-child::before{content:'ABOUT CALUNAH';display:block;font-family:var(--font-body);font-size:.6rem;font-weight:800;letter-spacing:.18em;color:rgba(201,162,39,.55);padding:.65rem 1.3rem .25rem;text-transform:uppercase}

.nav-dd-item{display:flex;align-items:center;gap:.9rem;padding:.55rem 1.3rem;color:rgba(255,255,255,.75);font-size:.78rem;font-weight:600;letter-spacing:.04em;transition:all .2s ease;cursor:pointer;position:relative}
.nav-dd-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:transparent;transition:background .2s ease,transform .2s ease;transform:scaleY(0)}
.nav-dd-item i{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:5px;background:rgba(201,162,39,.1);color:rgba(201,162,39,.65);font-size:.72rem;flex-shrink:0;transition:all .2s ease}
.nav-dd-item:hover{color:#fff;background:rgba(201,162,39,.08);padding-left:1.6rem}
.nav-dd-item:hover::before{background:var(--gold);transform:scaleY(1)}
.nav-dd-item:hover i{background:rgba(201,162,39,.2);color:var(--gold)}

/* Staggered fade-in */
.nav-dropdown li:nth-child(1) .nav-dd-item{transition-delay:0ms}
.nav-dropdown li:nth-child(2) .nav-dd-item{transition-delay:25ms}
.nav-dropdown li:nth-child(3) .nav-dd-item{transition-delay:50ms}
.nav-dropdown li:nth-child(4) .nav-dd-item{transition-delay:75ms}
.nav-dropdown li:nth-child(5) .nav-dd-item{transition-delay:100ms}

/* ── Donate CTA ── */
@keyframes donateShimmer{0%{left:-80%}60%,100%{left:130%}}
.btn-nav-donate{background:linear-gradient(135deg,#b8920a 0%,var(--gold) 50%,#e8c84a 100%);color:var(--green-dark)!important;padding:.46rem 1.1rem;border-radius:50px;margin-left:.3rem;font-size:.7rem;font-weight:900;box-shadow:0 3px 16px rgba(201,162,39,.45),0 1px 0 rgba(255,255,255,.15) inset;text-shadow:none!important;letter-spacing:.06em;position:relative;overflow:hidden;border:1px solid rgba(255,220,80,.3)!important}
.btn-nav-donate::before{content:'';position:absolute;top:0;left:-80%;width:55%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);animation:donateShimmer 2.8s ease infinite;pointer-events:none;border-radius:50px}
.btn-nav-donate::after{display:none}
.btn-nav-donate:hover{background:linear-gradient(135deg,var(--gold) 0%,#e8c84a 60%,var(--gold) 100%);transform:translateY(-2px)!important;box-shadow:0 8px 24px rgba(201,162,39,.55),0 1px 0 rgba(255,255,255,.2) inset}

/* ── Hamburger (mobile) ── */
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:rgba(201,162,39,.08);border:1px solid rgba(201,162,39,.25);border-radius:8px;padding:.45rem .5rem;transition:background .25s,border-color .25s}
.nav-hamburger:hover{background:rgba(201,162,39,.16);border-color:rgba(201,162,39,.45)}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--gold);border-radius:2px;transition:var(--transition)}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── Language Switcher ── */
.lang-switcher{display:flex;align-items:center;gap:2px;margin-left:.5rem;flex-shrink:0;background:rgba(255,255,255,.05);border:1px solid rgba(201,162,39,.2);border-radius:8px;padding:3px}
.lang-btn{padding:4px 8px;border:none;background:transparent;color:rgba(255,255,255,.65);font-size:.6rem;font-weight:800;letter-spacing:.1em;border-radius:5px;cursor:pointer;font-family:var(--font-body);transition:all .22s ease;line-height:1;min-width:28px;text-align:center}
.lang-btn:hover{background:rgba(201,162,39,.15);color:var(--gold)}
.lang-btn.active{background:linear-gradient(135deg,var(--gold-dark),var(--gold));color:var(--green-dark);font-weight:900;box-shadow:0 2px 8px rgba(201,162,39,.35)}

/* ════════════════════════════════════════
   HERO
════════════════════════════════════════ */
.hero{position:relative;height:100vh;min-height:650px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;background-color:var(--green-dark);opacity:0;transition:opacity 1.2s ease;transform:scale(1.06);animation-duration:8s;animation-timing-function:ease;animation-fill-mode:forwards}
.hero-slide.active{opacity:1;animation-name:kenBurns}
@keyframes kenBurns{from{transform:scale(1.06)}to{transform:scale(1)}}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(7,26,12,.55) 0%,rgba(13,51,24,.45) 40%,rgba(7,26,12,.88) 100%);z-index:1}
.hero-content{position:relative;z-index:2;text-align:center;padding:0 1.5rem;max-width:960px}
.hero-badge{display:inline-flex;align-items:center;gap:.6rem;padding:.4rem 1.4rem;border:1px solid rgba(201,162,39,.5);color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;border-radius:50px;margin-bottom:1.2rem;backdrop-filter:blur(6px);background:rgba(201,162,39,.08);animation:fadeDown .9s ease .3s both,badgeGlow 3s ease-in-out 1.5s infinite}
.hero-badge i{font-size:.5rem}
@keyframes badgeGlow{0%,100%{box-shadow:0 0 8px rgba(201,162,39,.2),inset 0 0 4px rgba(201,162,39,.05)}50%{box-shadow:0 0 22px rgba(201,162,39,.55),inset 0 0 10px rgba(201,162,39,.15)}}
.hero-main{display:block;font-family:var(--font-head);font-size:clamp(3.5rem,9vw,8rem);font-weight:900;background:linear-gradient(100deg,#fff 0%,#fff 30%,#ffe87a 46%,#ffd700 50%,#ffe87a 54%,#fff 70%,#fff 100%);background-size:250% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmerTitle 5s linear infinite,fadeUp .9s ease .5s both;letter-spacing:.12em;line-height:1}
@keyframes shimmerTitle{0%{background-position:200% center}100%{background-position:-200% center}}
.hero-sub{display:block;font-family:var(--font-accent);font-size:clamp(1rem,2.5vw,1.6rem);font-style:italic;color:rgba(255,255,255,.85);letter-spacing:.04em;margin:.75rem 0 .5rem;animation:fadeUp .9s ease .65s both}
.hero-desc{font-size:clamp(.88rem,2vw,1.05rem);color:rgba(255,255,255,.72);line-height:1.8;margin-bottom:.75rem;animation:fadeUp .9s ease .75s both}
.hero-501{font-size:.75rem;color:rgba(201,162,39,.7);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.75rem;animation:fadeUp .9s ease .85s both}
.hero-501 i{margin-right:.3rem}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:fadeUp .9s ease .95s both}
.hero-nav{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:1rem}
.hero-arrow{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);backdrop-filter:blur(4px)}
.hero-arrow:hover{background:var(--gold);border-color:var(--gold);color:var(--green-dark);transform:scale(1.1)}
.hero-dots{display:flex;gap:.5rem;align-items:center}
.hdot{width:8px;height:8px;border-radius:50%;border:none;background:rgba(255,255,255,.35);cursor:pointer;transition:var(--transition);padding:0}
.hdot.active{background:var(--gold);width:24px;border-radius:4px}
.scroll-cue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:.4rem;color:rgba(255,255,255,.5);font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;animation:fadeIn 1.5s ease 2s both}
.scroll-mouse{width:22px;height:36px;border:1.5px solid rgba(255,255,255,.35);border-radius:12px;display:flex;justify-content:center;padding-top:6px}
.scroll-wheel{width:3px;height:8px;background:rgba(255,255,255,.6);border-radius:3px;animation:scrollWheel 1.8s ease infinite}
@keyframes scrollWheel{0%{transform:translateY(0);opacity:1}100%{transform:translateY(10px);opacity:0}}

/* ════════════════════════════════════════
   STATS RIBBON
════════════════════════════════════════ */
.stats-ribbon{background:linear-gradient(135deg,var(--green-dark) 0%,var(--green) 100%);padding:50px 0;position:relative;overflow:hidden}
.stats-ribbon::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:2rem}
.stat{text-align:center;color:var(--white);position:relative}
.stat+.stat::before{content:'';position:absolute;left:0;top:20%;bottom:20%;width:1px;background:rgba(255,255,255,.15)}
.stat-icon{font-size:1.8rem;color:var(--gold);margin-bottom:.75rem;display:block}
.stat-num{font-family:var(--font-head);font-size:clamp(2rem,4vw,3rem);font-weight:900;color:var(--white);line-height:1;margin-bottom:.4rem;transition:text-shadow .4s}
.stat:hover .stat-num{text-shadow:0 0 20px rgba(255,255,255,.6)}
.stat-lbl{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6)}

/* ════════════════════════════════════════
   ABOUT SECTION
════════════════════════════════════════ */
.about-section{background:var(--white)}
.nonprofit-seal{display:flex;align-items:center;gap:.85rem;padding:1rem 1.25rem;background:linear-gradient(135deg,rgba(201,162,39,.08),rgba(201,162,39,.15));border:1px solid rgba(201,162,39,.3);border-radius:var(--radius);margin-bottom:1.75rem}
.nonprofit-seal i{font-size:2rem;color:var(--gold);flex-shrink:0}
.nonprofit-seal strong{display:block;font-size:.9rem;color:var(--text);margin-bottom:.2rem}
.nonprofit-seal small{font-size:.75rem;color:var(--text-light);line-height:1.5}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-lead-heading{font-family:var(--font-head);font-size:1.5rem;font-weight:700;color:var(--green);margin-bottom:.75rem}
.about-lead{font-size:1.05rem;color:var(--text);line-height:1.8;margin-bottom:1.25rem;font-weight:400}
.about-text p{color:var(--text-mid);margin-bottom:1rem;line-height:1.85}
.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}
.value-card{display:flex;flex-direction:column;gap:.4rem;padding:1.25rem;background:var(--off-white);border-radius:var(--radius);border-left:3px solid var(--gold);transition:var(--transition)}
.value-card:hover{background:var(--green-pale);transform:translateY(-3px);box-shadow:var(--shadow)}
.value-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--green),var(--green-light));border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:.85rem}
.value-card h4{font-family:var(--font-head);font-size:.95rem;font-weight:700;color:var(--text)}
.value-card p{font-size:.8rem;color:var(--text-light);line-height:1.5;margin:0}
.about-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.about-collage{position:relative;display:flex;flex-direction:column;gap:1rem}
/* Main hero campus photo */
.collage-main{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);cursor:pointer}
.collage-main img{width:100%;height:360px;object-fit:cover;transition:transform .8s ease;display:block}
.collage-main:hover img{transform:scale(1.04)}
.collage-badge{position:absolute;top:20px;right:20px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--green-dark);padding:.9rem 1.1rem;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);z-index:2}
.cb-num{display:block;font-family:var(--font-head);font-size:1.8rem;font-weight:900;line-height:1}
.cb-lbl{display:block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-top:.25rem}
/* "View Photos" hover button on main */
.collage-view-btn{position:absolute;bottom:16px;left:50%;transform:translateX(-50%) translateY(8px);background:rgba(0,0,0,.62);backdrop-filter:blur(6px);color:#fff;border:1.5px solid rgba(255,255,255,.3);border-radius:50px;padding:.5rem 1.2rem;font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;opacity:0;transition:all .3s ease;white-space:nowrap;display:flex;align-items:center;gap:.5rem;pointer-events:none;z-index:3}
.collage-main:hover .collage-view-btn{opacity:1;transform:translateX(-50%) translateY(0)}
/* 4-thumbnail campus strip */
.campus-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
.campus-thumb{border-radius:var(--radius);overflow:hidden;cursor:pointer;position:relative;aspect-ratio:4/3}
.campus-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;display:block}
.campus-thumb:hover img{transform:scale(1.08)}
.campus-thumb-overlay{position:absolute;inset:0;background:rgba(10,39,20,.45);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}
.campus-thumb:hover .campus-thumb-overlay{opacity:1}
.campus-thumb-overlay i{font-size:1.4rem;color:rgba(255,255,255,.9);filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}

/* ════════════════════════════════════════
   OUR HISTORY, TIMELINE
════════════════════════════════════════ */
/* Founders block */
.founders-block{display:grid;grid-template-columns:260px 1fr;gap:3rem;align-items:start;background:rgba(255,255,255,.05);border:1px solid rgba(201,162,39,.25);border-radius:var(--radius-lg);padding:2.5rem;margin-bottom:4rem;backdrop-filter:blur(8px)}
.founders-photo-wrap{display:flex;flex-direction:column;align-items:center;gap:.75rem;flex-shrink:0}
.founders-photo{width:200px;height:200px;border-radius:50%;object-fit:cover;object-position:top;border:4px solid var(--gold);box-shadow:0 0 0 6px rgba(201,162,39,.2),0 12px 40px rgba(0,0,0,.4)}
.founders-photo-caption{font-size:.75rem;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.12em;text-align:center}
.founders-star{font-size:.6rem;margin:0 .3rem}
.founders-names{font-family:var(--font-head);font-size:1rem;font-weight:700;color:var(--gold);margin-bottom:.5rem;font-style:italic}
.founders-heading{font-family:var(--font-head);font-size:1.6rem;font-weight:800;color:#fff;margin-bottom:1rem}
.founders-text p{font-size:.88rem;color:rgba(255,255,255,.75);line-height:1.85;margin-bottom:.9rem}
.founders-text p:last-child{margin-bottom:0}
.founders-quote{font-style:italic;color:rgba(255,255,255,.55)!important;font-size:.84rem!important;border-left:3px solid var(--gold);padding-left:1rem;margin-top:1rem!important}
.founders-quote .fa-quote-left,.founders-quote .fa-quote-right{color:var(--gold);font-size:.7rem;margin:0 .3rem}

.history-section{background:var(--green-dark);position:relative;overflow:hidden}
.timeline{position:relative;max-width:900px;margin:0 auto}
.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,transparent,rgba(201,162,39,.4),rgba(201,162,39,.7),rgba(201,162,39,.4),transparent);transform:translateX(-50%)}
.tl-item{display:grid;grid-template-columns:1fr 48px 1fr;gap:0 1.5rem;align-items:start;margin-bottom:3rem;position:relative}
.tl-item.right{direction:rtl}
.tl-item.right .tl-card{direction:ltr;text-align:left}
.tl-dot{grid-column:2;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--gold-dark),var(--gold));display:flex;align-items:center;justify-content:center;color:var(--green-dark);font-size:.9rem;box-shadow:0 0 0 4px rgba(201,162,39,.2),0 0 20px rgba(201,162,39,.3);z-index:1;margin-top:.5rem;flex-shrink:0}
.tl-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:1.5rem;backdrop-filter:blur(8px);transition:var(--transition)}
.tl-card:hover{background:rgba(255,255,255,.09);border-color:rgba(201,162,39,.25);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.3)}
.tl-year{font-family:var(--font-head);font-size:1.4rem;font-weight:900;color:var(--gold);margin-bottom:.4rem}
.tl-year.present{background:linear-gradient(135deg,var(--gold),var(--gold-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.tl-card h4{font-family:var(--font-head);font-size:1.05rem;font-weight:700;color:var(--white);margin-bottom:.6rem}
.tl-card p{font-size:.85rem;color:rgba(255,255,255,.65);line-height:1.75;margin:0}
.tl-present{border-color:rgba(201,162,39,.35);background:rgba(201,162,39,.07)}

/* ════════════════════════════════════════
   OUR WORK
════════════════════════════════════════ */
.ourwork-section{background:var(--off-white)}
.work-impact-bar{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;background:linear-gradient(135deg,var(--green-dark),var(--green));border-radius:var(--radius-lg);padding:2rem 3rem;margin-bottom:3.5rem}
.impact-stat{text-align:center}
.impact-num{display:block;font-family:var(--font-head);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:900;color:var(--gold)}
.impact-lbl{display:block;font-size:.75rem;font-weight:600;color:rgba(255,255,255,.65);text-transform:uppercase;letter-spacing:.1em;margin-top:.25rem}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}
.work-card{background:var(--white);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--border);transition:var(--transition);position:relative;overflow:hidden}
.work-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--green),var(--gold));transform:scaleX(0);transition:transform .4s ease;transform-origin:left}
.work-card:hover::before{transform:scaleX(1)}
.work-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:rgba(201,162,39,.25)}
.work-icon{width:60px;height:60px;background:linear-gradient(135deg,var(--green-dark),var(--green));border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:1.4rem;margin-bottom:1.25rem;transition:var(--transition)}
.work-card:hover .work-icon{transform:scale(1.1) rotate(-5deg)}
.work-card h3{font-family:var(--font-head);font-size:1.15rem;font-weight:700;color:var(--text);margin-bottom:.75rem}
.work-card p{font-size:.875rem;color:var(--text-mid);line-height:1.75;margin-bottom:1.25rem}
.work-link{font-size:.8rem;font-weight:700;color:var(--green);letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.4rem;transition:var(--transition)}
.work-link:hover{color:var(--gold);gap:.7rem}

/* ════════════════════════════════════════
   EXECUTIVE COMMITTEE
════════════════════════════════════════ */
.committee-section{background:var(--green-deeper);position:relative;overflow:hidden}
.committee-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.committee-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:1.75rem 1.25rem;text-align:center;transition:var(--transition)}
.committee-card:hover{background:rgba(255,255,255,.08);border-color:rgba(201,162,39,.3);transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.3)}
/* Committee photo wrapper, positions the role-icon badge */
.committee-photo-wrap{position:relative;width:100px;margin:0 auto 1.1rem}
.committee-photo{width:100px;height:100px;border-radius:50%;border:3px solid rgba(201,162,39,.45);overflow:hidden;background:linear-gradient(135deg,var(--green),var(--green-light));display:flex;align-items:center;justify-content:center;color:var(--gold);transition:var(--transition);box-shadow:0 4px 18px rgba(0,0,0,.35)}
.committee-photo.photo-fallback{background:linear-gradient(135deg,var(--green),var(--green-light))}
.committee-card:hover .committee-photo{border-color:var(--gold);box-shadow:0 0 24px rgba(201,162,39,.45),0 4px 20px rgba(0,0,0,.35)}
/* Actual uploaded photo */
.committee-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;border-radius:50%}
/* Initials fallback */
.committee-initials{font-family:var(--font-head);font-size:1.75rem;font-weight:900;color:var(--gold);letter-spacing:.04em;line-height:1;user-select:none}
/* Role icon badge, bottom-right of photo circle */
.committee-role-badge{position:absolute;bottom:2px;right:2px;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--gold-dark),var(--gold));color:var(--green-dark);display:flex;align-items:center;justify-content:center;font-size:.62rem;border:2.5px solid var(--green-deeper);box-shadow:0 2px 8px rgba(0,0,0,.4);transition:transform .25s ease}
.committee-card:hover .committee-role-badge{transform:scale(1.15)}
.committee-role{font-size:.68rem;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.3rem}
.committee-name{font-family:var(--font-head);font-size:1rem;font-weight:700;color:var(--white);margin-bottom:.5rem}
.committee-bio{font-size:.78rem;color:rgba(255,255,255,.5);line-height:1.6}
.committee-note{font-size:.82rem;color:rgba(255,255,255,.4);font-style:italic;text-align:center;margin-top:2rem}

/* ════════════════════════════════════════
   CHAPTER PRESIDENTS
════════════════════════════════════════ */
.chapters-section{background:var(--white)}
.chapters-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
/* Chapter cards, CSS custom props --ch-c1/--ch-c2 set per-card from JS */
.chapter-card{--ch-c1:var(--green);--ch-c2:var(--gold);background:var(--off-white);border-radius:var(--radius-lg);padding:0;border:1px solid var(--border);border-top:3.5px solid var(--ch-c1);transition:var(--transition);position:relative;overflow:hidden}
.chapter-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.13);border-color:var(--ch-c1);border-top-color:var(--ch-c1)}
/* Subtle color wash on hover */
.chapter-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.035) 0%,transparent 65%);opacity:0;transition:opacity .35s ease;pointer-events:none;border-radius:inherit}
.chapter-card:hover::before{opacity:1}
.chapter-card-body{padding:1.25rem 1.35rem 1.35rem}
/* Card header: icon badge left, flag+abbr right */
.chapter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.chapter-icon-badge{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--ch-c1),var(--ch-c2));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.05rem;flex-shrink:0;box-shadow:0 4px 14px rgba(0,0,0,.18);transition:transform .25s ease,box-shadow .25s ease}
.chapter-icon-badge.has-emoji{background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.85));border:2px solid var(--ch-c1);box-shadow:0 4px 14px rgba(0,0,0,.12)}
.ch-badge-emoji{font-size:1.5rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.12))}
.chapter-card:hover .chapter-icon-badge{transform:scale(1.1) rotate(4deg);box-shadow:0 6px 18px rgba(0,0,0,.22)}
.chapter-flag-wrap{display:flex;flex-direction:column;align-items:center;gap:.18rem}
.chapter-flag{font-size:1.7rem;line-height:1;filter:drop-shadow(0 1px 3px rgba(0,0,0,.18))}
.chapter-abbr{font-size:.58rem;font-weight:800;color:var(--ch-c1);letter-spacing:.1em;text-transform:uppercase;line-height:1}
/* President photo circle on chapter card */
.chapter-president-photo{width:80px;height:80px;border-radius:50%;margin:.1rem auto .9rem;overflow:hidden;border:3px solid var(--ch-c1);background:linear-gradient(135deg,var(--green),var(--green-light));display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.15);transition:border-color .3s ease,box-shadow .3s ease;flex-shrink:0}
.chapter-card:hover .chapter-president-photo{border-color:var(--ch-c2);box-shadow:0 6px 20px rgba(0,0,0,.22)}
.chapter-president-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.chapter-president-photo.ch-photo-fallback{background:linear-gradient(135deg,var(--ch-c1),var(--ch-c2))}
.ch-photo-initials{font-family:var(--font-head);font-size:1.5rem;font-weight:900;color:#fff;letter-spacing:.03em;line-height:1;user-select:none}
.chapter-city{font-family:var(--font-head);font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:.2rem;text-align:center}
.chapter-country{font-size:.72rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:.85rem;text-align:center}
.chapter-president-label{font-size:.68rem;font-weight:700;color:var(--ch-c1);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem;display:flex;align-items:center;gap:.35rem}
.chapter-president-name{font-size:.9rem;font-weight:600;color:var(--text-mid);margin-bottom:.6rem}
.chapter-contact a{font-size:.78rem;color:var(--green);display:flex;align-items:center;gap:.4rem;transition:color .25s}
.chapter-contact a:hover{color:var(--gold)}

/* ════════════════════════════════════════
   DONORS & PARTNERS
════════════════════════════════════════ */
.donors-section{background:var(--green-dark);position:relative;overflow:hidden}
.donor-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;margin-bottom:3rem}
.donor-tier{border-radius:var(--radius-lg);padding:2rem;text-align:center}
.donor-tier.platinum{background:rgba(229,228,226,.06);border:1px solid rgba(229,228,226,.2)}
.donor-tier.gold-tier{background:rgba(201,162,39,.07);border:1px solid rgba(201,162,39,.25)}
.donor-tier.silver-tier{background:rgba(192,192,192,.05);border:1px solid rgba(192,192,192,.2)}
.tier-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1.2rem;border-radius:50px;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.25rem}
.platinum .tier-badge{background:rgba(229,228,226,.15);color:#e5e4e2}
.gold-tier .tier-badge{background:rgba(201,162,39,.15);color:var(--gold)}
.silver-tier .tier-badge{background:rgba(192,192,192,.15);color:#c0c0c0}
.donor-names{display:flex;flex-direction:column;gap:.5rem}
.donor-name{font-size:.9rem;font-weight:600;color:rgba(255,255,255,.8);padding:.4rem .75rem;border-radius:8px;background:rgba(255,255,255,.04);transition:var(--transition)}
.donor-name:hover{background:rgba(255,255,255,.08);color:var(--white)}
.donor-placeholder{font-size:.8rem;color:rgba(255,255,255,.25);font-style:italic;padding:.5rem}
.donor-cta-box{display:flex;align-items:center;gap:2rem;padding:2.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(201,162,39,.2);border-radius:var(--radius-lg)}
.donor-cta-icon{font-size:3rem;color:var(--gold);flex-shrink:0;animation:iconGlow 2.5s ease-in-out infinite}
.donor-cta-box h3{font-family:var(--font-head);font-size:1.5rem;font-weight:700;color:var(--white);margin-bottom:.5rem}
.donor-cta-box p{font-size:.9rem;color:rgba(255,255,255,.65);line-height:1.7;margin-bottom:0}

/* ════════════════════════════════════════
   EVENTS
════════════════════════════════════════ */
.events-section{background:var(--green-dark);position:relative;overflow:hidden}
.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}
.event-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition);backdrop-filter:blur(8px);will-change:transform}
.event-card:hover{transform:translateY(-8px);background:rgba(255,255,255,.07);border-color:rgba(201,162,39,.3);box-shadow:0 20px 50px rgba(0,0,0,.3)}
.event-flyer{position:relative;overflow:hidden;aspect-ratio:3/4;background:linear-gradient(135deg,var(--green) 0%,var(--green-dark) 100%);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.75rem;color:rgba(255,255,255,.2)}
.event-flyer img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.event-flyer i{font-size:3rem;color:rgba(201,162,39,.3)}
.event-flyer span{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.event-card:hover .event-flyer img{transform:scale(1.06)}
.event-date-badge{position:absolute;top:14px;right:14px;background:var(--gold);color:var(--green-dark);text-align:center;padding:.45rem .6rem;border-radius:12px;line-height:1;box-shadow:0 6px 18px rgba(0,0,0,.32);min-width:54px}
.event-date-badge .day{display:block;font-size:1.5rem;font-weight:900;font-family:var(--font-head);line-height:1}
.event-date-badge .month{display:block;font-size:.7rem;font-weight:800;letter-spacing:.12em;margin-top:2px}
.event-date-badge .year{display:block;font-size:.6rem;font-weight:600;opacity:.72;margin-top:2px}
.event-date-badge.past{background:rgba(15,15,15,.65);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.event-date-badge .badge-flag{display:block;font-size:.72rem;font-weight:800;letter-spacing:.12em;padding:.2rem .1rem}
.event-info{padding:1.5rem}
.event-category{font-size:.68rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.12em}
.event-title{font-family:var(--font-head);font-size:1.1rem;font-weight:700;color:var(--white);margin:.4rem 0 .75rem;line-height:1.3}
.event-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.78rem;color:rgba(255,255,255,.5);margin-bottom:.85rem}
.event-meta i{color:var(--gold);margin-right:.3rem}
.event-desc{font-size:.85rem;color:rgba(255,255,255,.6);line-height:1.65;margin-bottom:.6rem}
.event-full-info{font-size:.83rem;color:rgba(255,255,255,.5);line-height:1.65;margin-bottom:1.25rem;padding-top:.6rem;border-top:1px solid rgba(255,255,255,.06)}
.event-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.event-tag{font-size:.65rem;padding:.25rem .6rem;border-radius:50px;background:rgba(201,162,39,.12);color:rgba(201,162,39,.85);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.event-actions{display:flex;gap:.6rem;flex-wrap:wrap}

/* ════════════════════════════════════════
   GALLERY
════════════════════════════════════════ */
.gallery-section{background:var(--off-white)}
.gallery-filters{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-bottom:2.5rem}
.gf-btn{padding:.5rem 1.4rem;border:1.5px solid var(--border);background:transparent;color:var(--text-mid);font-family:var(--font-body);font-size:.8rem;font-weight:600;letter-spacing:.06em;border-radius:50px;cursor:pointer;transition:var(--transition)}
.gf-btn:hover,.gf-btn.active{background:var(--green);border-color:var(--green);color:var(--white);box-shadow:0 4px 16px rgba(26,107,47,.25)}
/* Pulse when a filter is auto-applied from an event's "View Photos" button */
@keyframes gfFlash{0%,100%{box-shadow:0 0 0 0 rgba(201,162,39,.6)}50%{box-shadow:0 0 0 8px rgba(201,162,39,0)}}
.gf-btn.gf-flash{animation:gfFlash 1.2s ease-out;border-color:var(--gold)}
.gallery-grid{columns:4;column-gap:14px}
.gallery-grid.gallery-empty{columns:1}
.gallery-item{break-inside:avoid;margin-bottom:14px;border-radius:var(--radius);overflow:hidden;position:relative;cursor:pointer;background:var(--green-pale);will-change:transform}
.gallery-item img{width:100%;display:block;transition:transform .6s ease}
.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(7,26,12,.85) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--white);opacity:0;transition:var(--transition)}
.gallery-overlay i{font-size:1.8rem;color:var(--gold);transform:scale(.7);transition:var(--transition)}
.gallery-overlay span{font-size:.8rem;font-weight:600;letter-spacing:.08em;transform:translateY(10px);transition:var(--transition)}
.gallery-item:hover img{transform:scale(1.07)}
.gallery-item:hover .gallery-overlay{opacity:1}
.gallery-item:hover .gallery-overlay i{transform:scale(1)}
.gallery-item:hover .gallery-overlay span{transform:translateY(0)}
.gallery-item.hidden{display:none}
.gallery-item.placeholder{aspect-ratio:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.5rem;color:var(--text-light);font-size:.78rem;font-weight:600;border:2px dashed var(--border);cursor:default;text-align:center;padding:1rem}
.gallery-item.placeholder i{font-size:2rem;color:var(--border)}
/* Gallery Coming Soon */
.gallery-coming-soon{column-span:all;text-align:center;padding:5rem 2rem;background:var(--white);border-radius:var(--radius-lg);border:2px dashed rgba(26,107,47,.15)}
.gallery-coming-soon .gcs-icon{font-size:3.5rem;color:var(--gold);margin-bottom:1.2rem;opacity:.55}
.gallery-coming-soon h3{font-family:var(--font-head);font-size:1.6rem;color:var(--text);margin-bottom:.75rem}
.gallery-coming-soon p{color:var(--text-light);max-width:480px;margin:0 auto 2rem;font-size:.95rem}

/* ══ GALA 2023 SPOTLIGHT BANNER ══════════════════════════ */
.gala-spotlight{display:none;margin:0 0 2.8rem;border-radius:20px;background:linear-gradient(145deg,#120d00 0%,#2a1c00 45%,#0f0900 100%);border:1px solid rgba(212,175,55,.3);overflow:hidden;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.gala-spotlight::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(212,175,55,.13) 0%,transparent 70%);pointer-events:none}
.gala-spotlight::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='1' fill='rgba(212,175,55,0.08)'/%3E%3C/svg%3E");pointer-events:none;opacity:.4}
.gala-spotlight.visible{display:block;animation:spotlightFadeIn .5s ease}
@keyframes spotlightFadeIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
.gala-spotlight-inner{padding:3.2rem 4rem;text-align:center;position:relative;z-index:1}
.gala-spotlight-badge{display:inline-block;background:linear-gradient(135deg,#d4af37 0%,#f5d97a 50%,#d4af37 100%);color:#1a1200;font-family:var(--font-body);font-weight:800;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;padding:.5rem 1.6rem;border-radius:50px;margin-bottom:1.6rem;box-shadow:0 4px 20px rgba(212,175,55,.35)}
.gala-spotlight-theme{font-family:var(--font-head);font-size:clamp(1.9rem,4.5vw,3.2rem);font-style:italic;font-weight:700;color:#d4af37;margin:0 0 1.4rem;line-height:1.2;text-shadow:0 0 40px rgba(212,175,55,.35),0 2px 12px rgba(0,0,0,.4)}
.gala-spotlight-meta{display:flex;justify-content:center;gap:2.2rem;margin-bottom:2.2rem;flex-wrap:wrap}
.gala-spotlight-meta span{color:rgba(255,255,255,.7);font-family:var(--font-body);font-size:.83rem;font-weight:500;display:flex;align-items:center;gap:.5rem;letter-spacing:.03em}
.gala-spotlight-meta i{color:#d4af37;font-size:.78rem}
.gala-spotlight-desc{font-family:'Cormorant Garamond',serif;font-size:1.18rem;line-height:1.85;color:rgba(255,255,255,.86);max-width:800px;margin:0 auto 1.1rem}
.gala-spotlight-desc em{color:#e8c84a;font-style:italic;font-weight:600}
.gala-spotlight-divider{display:flex;align-items:center;gap:1rem;max-width:400px;margin:1.8rem auto}
.gala-spotlight-divider span{flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(212,175,55,.35),transparent)}
.gala-spotlight-divider i{color:rgba(212,175,55,.55);font-size:.7rem}
.gala-spotlight-closing{font-family:var(--font-head);font-size:1.08rem;font-style:italic;color:rgba(212,175,55,.82);max-width:740px;margin:0 auto;line-height:1.75;padding:1.6rem 2rem;border-top:1px solid rgba(212,175,55,.18)}
.gala-spotlight-closing i{font-size:.75rem;opacity:.65}
@media(max-width:768px){.gala-spotlight-inner{padding:2.2rem 1.6rem}.gala-spotlight-meta{gap:1.2rem}}
@media(max-width:480px){.gala-spotlight-inner{padding:1.8rem 1.2rem}.gala-spotlight-closing{padding:1.2rem 1rem}}

/* ══ LIGHTBOX — simple & bulletproof ════════════════════════ */
.lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.95);display:none;align-items:center;justify-content:center;cursor:pointer}
.lightbox.open{display:flex}
/* Image is centered directly. Uses dvh (real visible height on phones) so it is
   NEVER cut off, with vh fallback for older browsers. */
.lb-img{max-width:92vw;max-height:84vh;max-height:84dvh;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.6);cursor:default}
.lb-caption{position:fixed;left:0;right:0;bottom:12px;margin:0;text-align:center;color:rgba(255,255,255,.85);font-size:.85rem;font-style:italic;padding:0 1rem;pointer-events:none}
.lb-close{position:fixed;top:14px;right:14px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.3);color:#fff;border-radius:50%;font-size:1.1rem;cursor:pointer;z-index:3}
.lb-close:hover{background:var(--gold);color:var(--green-dark)}
.lb-prev,.lb-next{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.3);color:#fff;border-radius:50%;font-size:1.1rem;cursor:pointer;z-index:3}
.lb-prev{left:14px} .lb-next{right:14px}
.lb-prev:hover,.lb-next:hover{background:var(--gold);color:var(--green-dark)}
@media(max-width:600px){
  .lb-img{max-width:94vw;max-height:80vh;max-height:80dvh}
  .lb-prev{left:6px} .lb-next{right:6px}
  .lb-close{top:8px;right:8px;width:38px;height:38px}
  .lb-prev,.lb-next{width:38px;height:38px}
}

/* ════════════════════════════════════════
   VIDEOS + LIVESTREAM
════════════════════════════════════════ */
.videos-section{background:var(--green-deeper);position:relative;overflow:hidden}
/* Videos Coming Soon */
.videos-coming-soon{text-align:center;padding:4rem 2rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);margin-bottom:4rem}
.videos-coming-soon .vcs-icon{font-size:4rem;color:#ff0000;margin-bottom:1.2rem;opacity:.7}
.videos-coming-soon h3{font-family:var(--font-head);font-size:1.7rem;color:var(--white);margin-bottom:.75rem}
.videos-coming-soon p{color:rgba(255,255,255,.6);max-width:500px;margin:0 auto 2rem;font-size:.95rem;line-height:1.7}
/* Livestream Box */
.livestream-box{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:4rem}
.live-header{padding:1.75rem 2rem 1rem;display:flex;flex-direction:column;align-items:flex-start;gap:1rem;border-bottom:1px solid rgba(255,255,255,.06)}
.live-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem 1rem;border-radius:50px;background:rgba(255,0,0,.12);border:1px solid rgba(255,0,0,.25)}
.live-dot{width:10px;height:10px;border-radius:50%;background:#ff3333;box-shadow:0 0 0 3px rgba(255,51,51,.25);animation:livePulse 1.2s ease-in-out infinite}
@keyframes livePulse{0%,100%{box-shadow:0 0 0 3px rgba(255,51,51,.25)}50%{box-shadow:0 0 0 8px rgba(255,51,51,0)}}
#live-status-text{font-size:.75rem;font-weight:800;color:#ff5555;letter-spacing:.15em;text-transform:uppercase}
.live-title{font-family:var(--font-head);font-size:1.4rem;font-weight:700;color:var(--white)}
.live-platform-tabs{display:flex;gap:.5rem;flex-wrap:wrap}
.lp-tab{padding:.5rem 1.2rem;border:1.5px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:rgba(255,255,255,.55);font-family:var(--font-body);font-size:.78rem;font-weight:700;border-radius:50px;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:.4rem}
.lp-tab:hover,.lp-tab.active{border-color:var(--gold);color:var(--gold);background:rgba(201,162,39,.08)}
.live-embed-wrapper{padding:0}
.live-embed{position:relative;aspect-ratio:16/9;width:100%;background:#000}
.live-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.live-placeholder{padding:4rem 2rem;text-align:center;display:none}
.livestream-box.offline .live-embed-wrapper{display:none}
.livestream-box.offline .live-placeholder{display:block}
.live-ph-icon{font-size:3rem;color:rgba(201,162,39,.35);margin-bottom:1.25rem;display:block;animation:iconGlow 2.5s ease-in-out infinite}
.live-placeholder h4{font-family:var(--font-head);font-size:1.4rem;color:var(--white);margin-bottom:.5rem}
.live-next-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin:1.5rem 0 .5rem}
.live-next-event{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:1.25rem;max-width:500px;margin:0 auto 2rem}
.live-next-event h5{font-family:var(--font-head);font-size:1rem;color:var(--white);margin-bottom:.3rem}
.live-next-event p{font-size:.83rem;color:rgba(255,255,255,.55)}
.live-next-event .lne-date{font-size:.8rem;color:var(--gold);font-weight:700;margin-bottom:.3rem}
.live-follow-btns{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:.75rem}
.live-admin-note{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.5rem;background:rgba(201,162,39,.07);border:1px solid rgba(201,162,39,.2);border-radius:var(--radius);margin-bottom:3rem;font-size:.82rem}
.live-admin-note i{color:var(--gold);margin-top:.15rem;flex-shrink:0}
.live-admin-note p{color:rgba(255,255,255,.6);margin:0;line-height:1.6}
.live-admin-note code{background:rgba(0,0,0,.3);padding:.1rem .35rem;border-radius:4px;font-size:.78rem;color:var(--gold-light)}
/* ── Subscribe banner & section label ── */
.videos-section-label{margin:0 0 1.5rem}
.vsl-title{font-family:var(--font-head);font-size:1.15rem;color:rgba(255,255,255,.7);font-weight:700}
.vsl-title i{color:#ff0000;margin-right:.45rem}
.video-sub-banner{display:flex;align-items:center;gap:2rem;background:rgba(255,0,0,.06);border:1px solid rgba(255,0,0,.18);border-radius:var(--radius-lg);padding:1.75rem 2rem;margin-top:2.5rem}
.vsb-icon{font-size:2.6rem;color:#ff0000;flex-shrink:0;line-height:1}
.vsb-text{flex:1}
.vsb-text h4{font-family:var(--font-head);font-size:1.15rem;color:var(--white);margin-bottom:.3rem}
.vsb-text p{color:rgba(255,255,255,.55);font-size:.88rem;line-height:1.6}
/* Featured video */
.video-feature{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:center;margin-bottom:3rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg);overflow:hidden}
.video-frame{position:relative;aspect-ratio:16/9}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.video-feature-info{padding:2.5rem 2.5rem 2.5rem 0}
.video-tag{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem 1rem;background:rgba(255,0,0,.15);color:#ff5555;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:50px;border:1px solid rgba(255,0,0,.25);margin-bottom:1rem}
.video-feature-info h3{font-family:var(--font-head);font-size:1.6rem;font-weight:700;color:var(--white);margin-bottom:1rem;line-height:1.3}
.video-feature-info p{color:rgba(255,255,255,.6);line-height:1.75;margin-bottom:1.75rem}
.videos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.video-card{border-radius:var(--radius);overflow:hidden;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);transition:var(--transition)}
.video-card:hover{transform:translateY(-6px);border-color:rgba(201,162,39,.25);box-shadow:0 16px 40px rgba(0,0,0,.3)}
.video-thumb{position:relative;aspect-ratio:16/9}
.video-thumb iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.video-card-info{padding:1rem 1.25rem}
.video-card-info h4{font-family:var(--font-head);font-size:1rem;color:var(--white);margin-bottom:.4rem}
.video-card-info span{font-size:.78rem;color:rgba(255,255,255,.4)}
.video-card-info i{color:var(--gold);margin-right:.3rem}

/* ════════════════════════════════════════
   EVENT SPOTLIGHT BANNER
════════════════════════════════════════ */
.event-spotlight{background:linear-gradient(135deg,var(--green-dark) 0%,#0d5c2a 100%);border-bottom:3px solid var(--gold);padding:.9rem 0;position:relative;z-index:90;transition:max-height .4s ease,opacity .4s ease;overflow:hidden}
.event-spotlight.hidden{max-height:0;opacity:0;padding:0;border:none}
.spotlight-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.spotlight-left{display:flex;align-items:center;gap:1.25rem;flex:1;min-width:0}
.spotlight-badge{background:var(--gold);color:var(--green-dark);font-size:.65rem;font-weight:900;padding:.3rem .75rem;border-radius:50px;white-space:nowrap;text-transform:uppercase;letter-spacing:.1em;flex-shrink:0}
.spotlight-details{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.spotlight-details strong{color:#fff;font-size:.95rem;font-weight:700;font-family:var(--font-head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spotlight-meta{color:rgba(255,255,255,.75);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spotlight-meta i{color:var(--gold);margin-right:.2rem}
.spotlight-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.spotlight-btn{background:var(--gold);color:var(--green-dark)!important;font-size:.8rem;padding:.55rem 1.3rem;border-radius:50px;font-weight:800;white-space:nowrap;text-decoration:none;transition:var(--transition)}
.spotlight-btn:hover{background:#fff;transform:translateY(-1px)}
.spotlight-close{background:rgba(255,255,255,.15);border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}
.spotlight-close:hover{background:rgba(255,255,255,.3)}

/* ════════════════════════════════════════
   E-NEWSLETTER
════════════════════════════════════════ */
.newsletter-section{background:var(--white)}
/* ══ FEATURED MAGAZINE (3D book cover that opens the flipbook) ══ */
.nl-reader-wrap{margin-bottom:3.5rem}
.nl-magazine{display:grid;grid-template-columns:auto 1fr;gap:3rem;align-items:center;background:linear-gradient(135deg,#0a2614,#0d3d1a 55%,#0a2614);border-radius:22px;padding:3rem 3.2rem;box-shadow:0 24px 64px rgba(0,0,0,.28);border:1px solid rgba(201,162,39,.18)}
/* 3D book */
.nl-mag-cover{perspective:1600px;cursor:pointer;outline:none;justify-self:center}
.nl-mag-book{position:relative;width:230px;height:298px;transform-style:preserve-3d;transform:rotateY(-22deg);transition:transform .6s cubic-bezier(.2,.7,.2,1);border-radius:4px 10px 10px 4px;box-shadow:0 20px 45px rgba(0,0,0,.5)}
.nl-mag-cover:hover .nl-mag-book,.nl-mag-cover:focus .nl-mag-book{transform:rotateY(-8deg) translateY(-6px) scale(1.03)}
.nl-mag-book img{width:100%;height:100%;object-fit:cover;display:block;border-radius:4px 10px 10px 4px;backface-visibility:hidden}
/* Fallback if cover image is missing */
.nl-mag-fallback{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;background:linear-gradient(160deg,#1a6b2f,#0d3d1a);border-radius:4px 10px 10px 4px;color:#fff}
.nl-mag-nocover .nl-mag-fallback{display:flex}
.nl-mag-fallback i{font-size:2.4rem;color:var(--gold)}
.nl-mag-fallback-title{font-family:var(--font-head);font-size:1.5rem;font-weight:900;color:var(--gold);letter-spacing:.05em}
.nl-mag-fallback-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;color:rgba(255,255,255,.85)}
/* Page-edge effect on the right side */
.nl-mag-book::after{content:'';position:absolute;top:2px;bottom:2px;right:-1px;width:9px;background:repeating-linear-gradient(to right,#fff,#fff 1px,#e2e2e2 1px,#e2e2e2 2px);transform:rotateY(90deg) translateZ(4px) translateX(4px);transform-origin:right;border-radius:0 3px 3px 0}
/* Spine shadow */
.nl-mag-spine{position:absolute;top:0;bottom:0;left:0;width:14px;background:linear-gradient(to right,rgba(0,0,0,.35),transparent);border-radius:4px 0 0 4px;pointer-events:none}
/* Glossy shine sweep */
.nl-mag-shine{position:absolute;inset:0;border-radius:4px 10px 10px 4px;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.28) 45%,transparent 60%);opacity:0;transition:opacity .5s;pointer-events:none}
.nl-mag-cover:hover .nl-mag-shine{opacity:1}
.nl-mag-open-hint{margin-top:1rem;text-align:center;color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:.45rem;opacity:.85}
/* Info panel */
.nl-mag-info{display:flex;flex-direction:column;gap:.7rem}
.nl-featured-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--gold);color:var(--green-dark);font-size:.65rem;font-weight:900;padding:.3rem .9rem;border-radius:50px;text-transform:uppercase;letter-spacing:.1em;width:fit-content}
.nl-featured-title{font-family:var(--font-head);font-size:1.8rem;font-weight:800;color:#fff;margin:.25rem 0 0;line-height:1.2}
.nl-featured-sub{color:rgba(255,255,255,.72);font-size:.92rem;line-height:1.65;margin:0 0 .4rem}
.nl-mag-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.4rem}
.nl-read-btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:800}
.nl-download-btn{display:inline-flex;align-items:center;gap:.5rem;border:1.5px solid rgba(255,255,255,.35);color:#fff!important;background:transparent;font-weight:700}
.nl-download-btn:hover{background:rgba(255,255,255,.12)}
.nl-mag-tip{font-size:.76rem;color:rgba(255,255,255,.5);margin:.3rem 0 0;display:flex;align-items:center;gap:.45rem}
.nl-mag-tip i{color:var(--gold)}
@media(max-width:760px){
  .nl-magazine{grid-template-columns:1fr;gap:2rem;padding:2.2rem 1.6rem;text-align:center}
  .nl-mag-info{align-items:center}
  .nl-mag-actions{justify-content:center}
}

/* ══ FLIPBOOK FULLSCREEN MODAL ══════════════════════════ */
.flipbook-modal{position:fixed;inset:0;z-index:100000;background:linear-gradient(135deg,#1a1208,#2a1c08 50%,#120d04);display:none;flex-direction:column}
.flipbook-modal.open{display:flex}
.fb-topbar{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.4rem;background:rgba(0,0,0,.35);border-bottom:1px solid rgba(201,162,39,.2);flex-shrink:0}
.fb-title{font-family:var(--font-head);font-size:1.05rem;font-weight:700;color:var(--gold)}
.fb-tools{display:flex;gap:.5rem}
.fb-tool{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:9px;cursor:pointer;font-size:.95rem;text-decoration:none;transition:var(--transition)}
.fb-tool:hover{background:var(--gold);color:var(--green-dark);border-color:var(--gold)}
.fb-close:hover{background:#c0392b;color:#fff;border-color:#c0392b}
.fb-stage{flex:1;display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.2rem;min-height:0;position:relative}
.fb-book-area{flex:1;height:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;max-width:1100px}
.fb-book{transition:transform .25s ease;transform-origin:center center;filter:drop-shadow(0 24px 50px rgba(0,0,0,.6))}
.fb-spread{display:flex;height:78vh;max-height:78vh}
.fb-spread.single{justify-content:center}
.fb-page{height:100%;background:#fff}
.fb-page img{height:100%;width:auto;display:block;max-width:46vw}
.fb-spread.single .fb-page img{max-width:92vw}
.fb-page-left{box-shadow:inset -18px 0 28px -18px rgba(0,0,0,.45);border-radius:4px 0 0 4px}
.fb-page-right{box-shadow:inset 18px 0 28px -18px rgba(0,0,0,.45);border-radius:0 4px 4px 0}
.fb-page-blank{background:#efe9dd;min-width:30px}
/* Page still rendering — subtle shimmer so it's never an empty white gap */
.fb-page-rendering{background-image:linear-gradient(100deg,#f2eee4 30%,#fffdf7 50%,#f2eee4 70%);background-size:200% 100%;animation:fbShimmer 1s linear infinite;min-width:200px}
@keyframes fbShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
/* Snappy page-turn flip (overlaps the content swap, ~150ms) */
@keyframes fbFlipNext{0%{transform:rotateY(0)}100%{transform:rotateY(-11deg)}}
@keyframes fbFlipPrev{0%{transform:rotateY(0)}100%{transform:rotateY(11deg)}}
.fb-book.flip-next{animation:fbFlipNext .15s ease-out;transform-origin:left center}
.fb-book.flip-prev{animation:fbFlipPrev .15s ease-out;transform-origin:right center}
.fb-nav{width:52px;height:52px;flex-shrink:0;border-radius:50%;background:rgba(255,255,255,.1);border:1.5px solid rgba(201,162,39,.4);color:var(--gold);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);z-index:2}
.fb-nav:hover:not(:disabled){background:var(--gold);color:var(--green-dark)}
.fb-nav:disabled{opacity:.3;cursor:not-allowed}
.fb-bottombar{display:flex;align-items:center;gap:1rem;padding:.9rem 2rem;background:rgba(0,0,0,.35);border-top:1px solid rgba(201,162,39,.2);flex-shrink:0;justify-content:center}
.fb-pagenum,.fb-total{font-size:.8rem;color:rgba(255,255,255,.75);white-space:nowrap;font-weight:600}
.fb-slider{-webkit-appearance:none;appearance:none;width:min(420px,50vw);height:5px;border-radius:50px;background:rgba(255,255,255,.2);outline:none;cursor:pointer}
.fb-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--gold);cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.fb-slider::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:50%;background:var(--gold);cursor:pointer}
.fb-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:rgba(255,255,255,.8);font-size:.9rem;z-index:3}
.fb-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.15);border-top-color:var(--gold);border-radius:50%;animation:lbSpin .8s linear infinite}
@media(max-width:900px){
  .fb-spread{height:72vh}
  .fb-page img{max-width:88vw}
  .fb-nav{width:44px;height:44px;font-size:1rem}
  .fb-stage{gap:.4rem;padding:.6rem}
  .fb-title{font-size:.85rem;max-width:55vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
/* Issue tags */
.issue-featured .issue-icon{color:var(--gold)!important}
.issue-new-tag{display:inline-block;background:var(--gold);color:var(--green-dark);font-size:.6rem;font-weight:800;padding:.1rem .5rem;border-radius:50px;vertical-align:middle;margin-left:.4rem;text-transform:uppercase;letter-spacing:.08em}
.newsletter-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.newsletter-signup-box{background:var(--off-white);border-radius:var(--radius-lg);padding:2.5rem;border:1px solid var(--border)}
.nl-icon-wrap{width:70px;height:70px;background:linear-gradient(135deg,var(--green-dark),var(--green));border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:1.8rem;margin-bottom:1.5rem}
.newsletter-signup-box h3{font-family:var(--font-head);font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:.75rem}
.newsletter-signup-box p{font-size:.9rem;color:var(--text-mid);line-height:1.7;margin-bottom:1.5rem}
.nl-form{display:flex;flex-direction:column;gap:.85rem}
.nl-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.nl-form input,.nl-form select{background:var(--white);border:1.5px solid var(--border);border-radius:10px;padding:.8rem 1rem;font-family:var(--font-body);font-size:.88rem;color:var(--text);outline:none;transition:var(--transition);width:100%}
.nl-form input:focus,.nl-form select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(26,107,47,.1)}
.nl-success-msg{display:none;padding:.75rem 1rem;background:rgba(45,145,71,.1);border:1px solid rgba(45,145,71,.25);border-radius:8px;color:var(--green);font-size:.85rem;font-weight:600;align-items:center;gap:.5rem}
.nl-success-msg i{color:var(--green-light)}
.nl-privacy{font-size:.72rem;color:var(--text-light);margin-top:.75rem;text-align:center}
.nl-privacy i{margin-right:.3rem;color:var(--green)}
.newsletter-issues h3{font-family:var(--font-head);font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:.4rem}
.issues-sub{font-size:.88rem;color:var(--text-light);margin-bottom:1.5rem}
.issues-list{display:flex;flex-direction:column;gap:.85rem}
.issue-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius);transition:var(--transition)}
.issue-item:hover{border-color:rgba(201,162,39,.3);box-shadow:var(--shadow)}
.issue-icon{width:44px;height:44px;background:linear-gradient(135deg,var(--green-dark),var(--green));border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:.9rem;flex-shrink:0}
.issue-info{flex:1}
.issue-title{font-weight:700;font-size:.88rem;color:var(--text);margin-bottom:.15rem}
.issue-date{font-size:.72rem;color:var(--text-light)}
.issue-download{color:var(--green);font-size:.8rem;font-weight:700;display:flex;align-items:center;gap:.3rem;transition:color .25s}
.issue-download:hover{color:var(--gold)}
.issues-placeholder{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem;background:var(--off-white);border:2px dashed var(--border);border-radius:var(--radius-lg);text-align:center;color:var(--text-light);font-size:.8rem}
.issues-placeholder i{font-size:2.5rem;color:var(--border)}
.issues-placeholder code{background:rgba(0,0,0,.06);padding:.1rem .4rem;border-radius:4px;font-size:.75rem}

/* ════════════════════════════════════════
   MEMBERSHIP
════════════════════════════════════════ */
.membership-section{background:var(--green-dark);position:relative;overflow:hidden}
.membership-benefits-bar{display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:center;background:rgba(255,255,255,.04);border-radius:var(--radius-lg);padding:1.5rem 2rem;margin-bottom:3rem;border:1px solid rgba(255,255,255,.06)}
.mb-benefit{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.5rem 1rem}
.mb-benefit i{font-size:1.3rem;color:var(--gold)}
.mb-benefit span{font-size:.72rem;font-weight:700;color:rgba(255,255,255,.65);text-transform:uppercase;letter-spacing:.08em;text-align:center}
.membership-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:3rem}
.membership-card{border-radius:var(--radius-lg);padding:2rem 1.5rem;text-align:center;border:1px solid rgba(255,255,255,.1);transition:var(--transition);background:rgba(255,255,255,.04);position:relative;overflow:hidden}
.membership-card.featured{border-color:rgba(201,162,39,.4);background:rgba(201,162,39,.07)}
.membership-card.featured::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold-dark),var(--gold-light))}
.membership-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.mem-badge{position:absolute;top:-.5rem;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--gold-dark),var(--gold));color:var(--green-dark);font-size:.65rem;font-weight:800;padding:.3rem .9rem;border-radius:50px;white-space:nowrap;text-transform:uppercase;letter-spacing:.1em}
.mem-icon{font-size:2rem;color:var(--gold);margin:1rem 0 .75rem;display:block}
.mem-name{font-family:var(--font-head);font-size:1.15rem;font-weight:700;color:var(--white);margin-bottom:.5rem}
.mem-price{font-family:var(--font-head);font-size:2rem;font-weight:900;color:var(--gold);line-height:1;margin-bottom:.2rem}
.mem-period{font-size:.75rem;color:rgba(255,255,255,.4);margin-bottom:1.5rem}
.mem-features{text-align:left;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.55rem}
.mem-feature{display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;color:rgba(255,255,255,.7);line-height:1.4}
.mem-feature i{color:var(--gold);font-size:.75rem;margin-top:.2rem;flex-shrink:0}
.membership-form-wrap{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:3rem;backdrop-filter:blur(8px)}
.mem-form-title{font-family:var(--font-head);font-size:1.6rem;font-weight:700;color:var(--white);margin-bottom:2rem;text-align:center;display:flex;align-items:center;gap:.75rem;justify-content:center}
.mem-form-title i{color:var(--gold)}
.membership-form{display:flex;flex-direction:column;gap:1.1rem}

/* ── Recurring Membership Widget ── */
.recurring-wrap{background:rgba(255,255,255,.05);border:1.5px solid rgba(201,162,39,.3);border-radius:var(--radius-lg);padding:2.75rem;margin-bottom:3rem;backdrop-filter:blur(10px);position:relative;overflow:hidden}
.recurring-wrap::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold-dark),var(--gold),var(--gold-light))}
.recurring-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:2rem}
.recurring-icon{width:56px;height:56px;background:linear-gradient(135deg,var(--gold-dark),var(--gold));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--green-dark);flex-shrink:0}
.recurring-title{font-family:var(--font-head);font-size:1.45rem;font-weight:700;color:var(--white);margin-bottom:.3rem}
.recurring-sub{font-size:.82rem;color:rgba(255,255,255,.55);line-height:1.6;margin:0}
/* Period toggle */
.recurring-toggle-wrap{display:flex;gap:0;margin-bottom:1.75rem;background:rgba(0,0,0,.25);border-radius:50px;padding:4px;width:fit-content}
.rec-period-btn{padding:.55rem 1.5rem;border:none;background:transparent;color:rgba(255,255,255,.55);font-size:.82rem;font-weight:700;border-radius:50px;cursor:pointer;transition:var(--transition);font-family:var(--font-body);display:flex;align-items:center;gap:.5rem;white-space:nowrap}
.rec-period-btn.active{background:linear-gradient(135deg,var(--gold-dark),var(--gold));color:var(--green-dark)}
.rec-save-tag{background:rgba(26,107,47,.85);color:#fff;font-size:.62rem;padding:.15rem .5rem;border-radius:50px;font-weight:800;letter-spacing:.04em}
.rec-period-btn.active .rec-save-tag{background:rgba(0,0,0,.25);color:var(--green-dark)}
/* Amount buttons */
.recurring-amounts{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:1.5rem;align-items:center}
.rec-amt-btn{padding:.6rem 1.35rem;border:1.5px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:rgba(255,255,255,.75);font-size:.95rem;font-weight:700;border-radius:50px;cursor:pointer;transition:var(--transition);font-family:var(--font-head)}
.rec-amt-btn:hover{border-color:var(--gold);color:var(--gold)}
.rec-amt-btn.active{background:linear-gradient(135deg,var(--gold-dark),var(--gold));color:var(--green-dark);border-color:transparent}
.rec-custom-wrap{display:flex;align-items:center;border:1.5px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);border-radius:50px;overflow:hidden;transition:var(--transition)}
.rec-custom-wrap:focus-within{border-color:var(--gold)}
.rec-custom-dollar{padding:.6rem 0 .6rem .9rem;color:rgba(255,255,255,.55);font-size:.95rem;font-weight:700;pointer-events:none}
.rec-custom-input{background:transparent;border:none;outline:none;color:var(--white);font-size:.95rem;font-weight:700;width:75px;padding:.6rem .75rem .6rem .2rem;font-family:var(--font-head)}
.rec-custom-input::placeholder{color:rgba(255,255,255,.3);font-weight:400}
/* Summary line */
.recurring-summary{font-size:1rem;color:rgba(255,255,255,.7);margin-bottom:1.75rem;min-height:1.5em}
.recurring-summary strong{color:var(--gold);font-size:1.1rem}
/* CTA buttons */
.recurring-ctas{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}
.rec-btn-zelle,.rec-btn-paypal,.rec-btn-stripe{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.8rem;border-radius:50px;font-size:.9rem;font-weight:700;text-decoration:none;transition:var(--transition);white-space:nowrap}
.rec-btn-zelle{background:linear-gradient(135deg,#6600cc,#9900ee);color:#fff;border:none}
.rec-btn-zelle:hover{opacity:.88;transform:translateY(-2px);box-shadow:0 8px 24px rgba(102,0,204,.35)}
.rec-zelle-z{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.2);font-weight:900;font-size:.85rem}
.rec-phone{font-size:.78rem;opacity:.8;font-weight:600}
.rec-btn-paypal{background:#003087;color:#fff;border:none}
.rec-btn-paypal:hover{background:#002070;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,48,135,.35)}
.rec-btn-stripe{background:linear-gradient(135deg,#635bff,#7c73ff);color:#fff;border:none;cursor:pointer}
.rec-btn-stripe:hover{opacity:.88;transform:translateY(-2px);box-shadow:0 8px 24px rgba(99,91,255,.38)}
.rec-btn-stripe:disabled{opacity:.7;cursor:wait;transform:none}
/* Note line */
.recurring-note{font-size:.78rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:.5rem;margin:0}
.recurring-note i{color:var(--gold);opacity:.7}

/* ════════════════════════════════════════
   DONATE SECTION
════════════════════════════════════════ */
.donate-section{background:var(--white)}
.donate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:4rem}
.donate-card{border-radius:var(--radius-lg);padding:2rem 1.5rem;text-align:center;border:1.5px solid var(--border);transition:var(--transition);position:relative}
.donate-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:rgba(201,162,39,.4)}
.donate-card.featured{border-color:var(--gold);background:linear-gradient(135deg,rgba(201,162,39,.06),rgba(201,162,39,.02))}
.donate-ribbon{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--gold-dark),var(--gold));color:var(--green-dark);font-size:.65rem;font-weight:800;padding:.35rem 1rem;border-radius:50px;white-space:nowrap;text-transform:uppercase;letter-spacing:.1em}
.donate-amount{font-family:var(--font-head);font-size:2.5rem;font-weight:900;color:var(--green);line-height:1;margin:.5rem 0 .3rem}
.donate-tier{font-size:.72rem;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.15em;margin-bottom:1rem}
.donate-card p{font-size:.84rem;color:var(--text-mid);line-height:1.65;margin-bottom:1.5rem}
.donate-methods{background:var(--off-white);border-radius:var(--radius-lg);padding:3rem;border:1px solid var(--border)}
.donate-methods-title{font-family:var(--font-head);font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:2rem;text-align:center}
.donate-ways{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:2rem}
/* Shared donate-way card */
.donate-way{background:var(--white);border-radius:var(--radius-lg);border:1.5px solid var(--border);padding:2rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:var(--transition)}
.donate-way:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.dw-icon-wrap{font-size:2.4rem;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;height:52px}
.dw-icon{color:var(--green)}
/* Zelle badge */
.dw-zelle-badge{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#6600cc,#9900ee);color:#fff;font-size:1.6rem;font-weight:900;font-family:var(--font-head)}
.dw-zelle{border-color:rgba(102,0,204,.2)}
.dw-zelle:hover{border-color:rgba(102,0,204,.55);box-shadow:0 12px 40px rgba(102,0,204,.12)}
/* PayPal */
.dw-paypal .dw-icon{color:#003087}
.dw-paypal{border-color:rgba(0,48,135,.15)}
.dw-paypal:hover{border-color:rgba(0,48,135,.35);box-shadow:0 12px 40px rgba(0,48,135,.08)}
/* Check */
.dw-check .dw-icon{color:var(--green-dark)}
.dw-check address{font-style:normal;font-size:.88rem;color:var(--text);font-weight:600;line-height:1.6}
/* Stripe card */
.dw-stripe-badge{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#635bff,#7c73ff);color:#fff;font-size:1.6rem;font-weight:900;font-family:var(--font-head);letter-spacing:-.02em}
.dw-stripe{border-color:rgba(99,91,255,.2)}
.dw-stripe:hover{border-color:rgba(99,91,255,.5);box-shadow:0 12px 40px rgba(99,91,255,.13)}
.dw-btn-stripe{background:linear-gradient(135deg,#635bff,#7c73ff);color:#fff}
.dw-btn-stripe:hover{opacity:.88;transform:translateY(-2px);box-shadow:0 8px 24px rgba(99,91,255,.32)}
.dw-btn-soon{opacity:.55;cursor:not-allowed;pointer-events:none}
.dw-coming-soon-note{font-size:.75rem;color:var(--text-light);margin-top:.5rem;text-align:center}
/* Donorbox card */
.dw-donorbox-badge{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#c0392b,#e74c3c);color:#fff;font-size:1.3rem}
.dw-donorbox{border-color:rgba(231,76,60,.2)}
.dw-donorbox:hover{border-color:rgba(231,76,60,.5);box-shadow:0 12px 40px rgba(231,76,60,.13)}
.dw-btn-donorbox{background:linear-gradient(135deg,#c0392b,#e74c3c)!important;color:#fff!important;border:none;font-weight:700;letter-spacing:.04em;padding:.6rem 1.4rem;border-radius:50px;margin-top:.25rem;text-decoration:none}
.dw-btn-donorbox:hover{background:linear-gradient(135deg,#a93226,#c0392b)!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 8px 24px rgba(192,57,43,.35)}
.dw-donorbox-note{font-size:.72rem;color:var(--text-light);margin-top:.4rem;text-align:center;letter-spacing:.02em}
/* Shared text helpers */
.donate-way h4{font-size:.95rem;font-weight:800;color:var(--text);margin:0;font-family:var(--font-head)}
.dw-detail{font-size:.8rem;color:var(--text-light);line-height:1.5;margin:0}
.dw-highlight{font-size:1.15rem;font-weight:800;color:var(--green-dark);letter-spacing:.03em;margin:.1rem 0}
/* Donate-way buttons */
.dw-btn{padding:.6rem 1.2rem;border-radius:50px;font-size:.78rem;font-weight:700;display:inline-flex;align-items:center;gap:.45rem;margin-top:.5rem;text-decoration:none;transition:var(--transition)}
.dw-btn-zelle{background:linear-gradient(135deg,#6600cc,#9900ee);color:#fff}
.dw-btn-zelle:hover{opacity:.88;transform:translateY(-2px)}
.dw-btn-paypal{background:#003087;color:#fff}
.dw-btn-paypal:hover{background:#002070;transform:translateY(-2px)}
.donate-address{font-style:normal;font-size:.85rem;color:var(--text);font-weight:600;line-height:1.7}
/* ══ FUNDRAISING TRACKER ═══════════════════════════════ */
/* ══ QR SCAN CARDS ═════════════════════════════════════ */
.qr-scan-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2.5rem}
.qr-card{background:var(--white);border:1.5px solid var(--border);border-radius:18px;padding:1.8rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.9rem;transition:var(--transition)}
.qr-card:hover{transform:translateY(-5px);box-shadow:0 16px 44px rgba(0,0,0,.12)}
.qr-card-head{font-family:var(--font-head);font-size:1.05rem;font-weight:800;display:flex;align-items:center;gap:.5rem}
.qr-donate .qr-card-head{color:#c0392b}
.qr-tickets .qr-card-head{color:var(--green-dark)}
.qr-donate{border-color:rgba(192,57,43,.25)}
.qr-tickets{border-color:rgba(26,107,47,.25)}
.qr-img{width:100%;max-width:230px;height:auto;border-radius:12px}
.qr-card-note{font-size:.82rem;color:var(--text-light);margin:0;line-height:1.5}
.qr-download-btn{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;padding:.5rem 1.2rem;border-radius:50px;text-decoration:none;transition:var(--transition);border:1.5px solid var(--border);color:var(--text-mid);background:var(--off-white)}
.qr-download-btn:hover{background:var(--green);color:#fff;border-color:var(--green);transform:translateY(-2px)}
.qr-donate .qr-download-btn:hover{background:#c0392b;border-color:#c0392b}
@media(max-width:600px){.qr-scan-row{grid-template-columns:1fr;max-width:340px;margin-left:auto;margin-right:auto}}

.fundraise-tracker{background:linear-gradient(135deg,#0d3d1a 0%,#1a6b2f 60%,#0d3d1a 100%);border-radius:20px;padding:2.5rem 2.8rem;margin-bottom:2.5rem;border:1px solid rgba(201,162,39,.2);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.ft-header{text-align:center;margin-bottom:2rem}
.ft-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(201,162,39,.15);border:1px solid rgba(201,162,39,.35);color:var(--gold);font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;padding:.4rem 1rem;border-radius:50px;margin-bottom:1rem}
.ft-title{font-family:var(--font-head);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:900;color:#fff;margin:0 0 .6rem}
.ft-goal{color:var(--gold)}
.ft-tagline{font-size:.9rem;color:rgba(255,255,255,.7);font-style:italic;margin:0}
.ft-milestones{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:2rem}
.ft-milestone{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.9rem .6rem;text-align:center;display:flex;flex-direction:column;gap:.2rem}
.ft-milestone.ft-final{background:rgba(201,162,39,.12);border-color:rgba(201,162,39,.35)}
.ft-qtr{font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.ft-target{font-family:var(--font-head);font-size:1.2rem;font-weight:900;color:var(--gold)}
.ft-period{font-size:.65rem;color:rgba(255,255,255,.45)}
.ft-bar-label{display:flex;justify-content:space-between;font-size:.72rem;color:rgba(255,255,255,.55);margin-bottom:.4rem}
.ft-bar-track{position:relative;height:22px;background:rgba(255,255,255,.1);border-radius:50px;overflow:visible;margin-bottom:.6rem}
.ft-bar-fill{height:100%;background:linear-gradient(90deg,#1a6b2f,var(--gold));border-radius:50px;transition:width 1.5s ease;min-width:4px}
.ft-bar-markers{position:absolute;top:0;left:0;right:0;height:100%;pointer-events:none}
.ft-bar-markers span{position:absolute;transform:translateX(-50%);top:calc(100% + 4px);font-size:.6rem;color:rgba(255,255,255,.45);white-space:nowrap}
.ft-note{font-size:.72rem;color:rgba(255,255,255,.45);margin:.8rem 0 0;display:flex;align-items:center;gap:.4rem}
.ft-note i{color:var(--gold);opacity:.7}
.ft-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;margin-top:1.5rem;background:linear-gradient(135deg,var(--gold-dark),var(--gold));color:var(--green-dark);font-family:var(--font-body);font-size:.9rem;font-weight:800;letter-spacing:.06em;padding:.85rem 2.2rem;border-radius:50px;text-decoration:none;border:none;cursor:pointer;transition:var(--transition);box-shadow:0 8px 24px rgba(201,162,39,.35)}
.ft-cta-btn:hover{background:linear-gradient(135deg,var(--gold),#e8c84a);transform:translateY(-3px);box-shadow:0 14px 36px rgba(201,162,39,.5);color:var(--green-dark)}
@media(max-width:640px){.ft-milestones{grid-template-columns:repeat(2,1fr)}.fundraise-tracker{padding:1.8rem 1.4rem}}
@media(max-width:380px){.ft-milestones{grid-template-columns:1fr 1fr}}

.donate-501{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,rgba(201,162,39,.08),rgba(201,162,39,.04));border:1px solid rgba(201,162,39,.25);border-radius:var(--radius)}
.donate-501 i{font-size:1.5rem;color:var(--gold);flex-shrink:0;margin-top:.15rem}
.donate-501 p{font-size:.84rem;color:var(--text-mid);line-height:1.7;margin:0}

/* ════════════════════════════════════════
   SOCIAL SECTION
════════════════════════════════════════ */
/* ══ CUSTOM ADMIN-CREATED SECTIONS ═════════════════════ */
.cx-section{background:var(--white)}
.cx-section.cx-alt{background:var(--off-white)}
.cx-inner{display:block}
.cx-inner.cx-haswide{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.cx-text .section-title{margin-bottom:1rem}
.cx-body{font-size:1rem;line-height:1.8;color:var(--text-mid);margin-top:1rem}
.cx-body p{margin-bottom:1rem}
.cx-media img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:block}
.cx-cta{margin-top:1.5rem;display:inline-flex}
@media(max-width:860px){.cx-inner.cx-haswide{grid-template-columns:1fr;gap:2rem}}

.social-section{background:var(--white)}
.platforms-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.platform-card{display:flex;align-items:center;gap:1.5rem;padding:1.75rem;border-radius:var(--radius-lg);border:1.5px solid var(--border);background:var(--off-white);transition:var(--transition);cursor:pointer}
.platform-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.platform-icon{width:60px;height:60px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--white);flex-shrink:0}
.platform-card.facebook{border-color:rgba(24,119,242,.25)} .platform-card.instagram{border-color:rgba(225,48,108,.25)} .platform-card.twitter{border-color:rgba(15,20,25,.25)} .platform-card.youtube{border-color:rgba(255,0,0,.25)}
.platform-card.facebook:hover{background:rgba(24,119,242,.04);border-color:#1877f2} .platform-card.instagram:hover{background:rgba(225,48,108,.04);border-color:#e1306c}
.platform-card.twitter:hover{background:rgba(15,20,25,.04);border-color:#0f1419} .platform-card.youtube:hover{background:rgba(255,0,0,.04);border-color:#ff0000}
.platform-card.facebook .platform-icon{background:#1877f2} .platform-card.instagram .platform-icon{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}
.platform-card.twitter .platform-icon{background:#0f1419} .platform-card.youtube .platform-icon{background:#ff0000}
.platform-info{flex:1} .platform-info h3{font-family:var(--font-head);font-size:1.2rem;font-weight:700;color:var(--text);margin-bottom:.25rem}
.platform-info p{font-size:.85rem;color:var(--text-light);line-height:1.5;margin-bottom:.35rem} .platform-handle{font-size:.78rem;font-weight:700;color:var(--green)}
.platform-arrow{color:var(--text-light);font-size:.9rem;transition:var(--transition)} .platform-card:hover .platform-arrow{transform:translateX(5px);color:var(--green)}

/* ════════════════════════════════════════
   CONTACT SECTION
════════════════════════════════════════ */
.contact-section{background:var(--green-dark);position:relative;overflow:hidden}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;position:relative}
.contact-info h3{font-family:var(--font-head);font-size:1.6rem;font-weight:700;color:var(--white);margin-bottom:1rem}
.contact-info p{color:rgba(255,255,255,.65);line-height:1.8;margin-bottom:2rem}
.contact-items{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}
.ci{display:flex;align-items:flex-start;gap:1rem}
.ci-icon{width:44px;height:44px;background:rgba(201,162,39,.12);border:1px solid rgba(201,162,39,.25);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0;font-size:.9rem}
.ci h4{font-size:.72rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.2rem}
.ci a,.ci p,.ci address{color:#ffffff;font-size:.9rem;font-weight:400;font-style:normal;margin:0;transition:var(--transition)} .ci a:hover{color:var(--gold)}
.contact-socials{display:flex;gap:.75rem}
.cs-btn{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:.9rem;transition:var(--transition);border:1.5px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06)}
.cs-btn:hover{transform:translateY(-4px) scale(1.1)}
.cs-btn.facebook:hover{background:#1877f2;border-color:#1877f2} .cs-btn.instagram:hover{background:#e1306c;border-color:#e1306c}
.cs-btn.twitter:hover{background:#0f1419;border-color:#0f1419} .cs-btn.youtube:hover{background:#ff0000;border-color:#ff0000}
.contact-form-wrap{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:2.5rem;backdrop-filter:blur(8px)}
.contact-form,.membership-form{display:flex;flex-direction:column;gap:1.1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.form-group{display:flex;flex-direction:column;gap:.4rem}
.form-group label{font-size:.78rem;font-weight:600;color:rgba(255,255,255,.7);letter-spacing:.05em}
.form-group label span{color:var(--gold)}
.form-group input,.form-group select,.form-group textarea{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.85rem 1.1rem;font-family:var(--font-body);font-size:.88rem;color:var(--white);transition:var(--transition);outline:none}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,.3)}
.form-group select option{background:var(--green-dark);color:var(--white)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);background:rgba(255,255,255,.1);box-shadow:0 0 0 3px rgba(201,162,39,.15)}
.form-group textarea{resize:vertical;min-height:120px}
.form-success{display:none;text-align:center;padding:1rem;background:rgba(45,145,71,.2);border:1px solid rgba(45,145,71,.4);border-radius:10px;color:#7cd99a;font-weight:600;font-size:.9rem}
.form-success i{margin-right:.5rem}

/* ════════════════════════════════════════
   FOOTER
════════════════════════════════════════ */
.footer{background:var(--green-deeper)}
.footer-top{padding:80px 0 50px;border-bottom:1px solid rgba(255,255,255,.06)}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:3rem}
.footer-logo{width:110px;height:110px;object-fit:contain;margin-bottom:1.25rem;filter:drop-shadow(0 4px 16px rgba(201,162,39,.4))}
.footer-desc{font-size:.85rem;color:rgba(255,255,255,.55);line-height:1.7;margin-bottom:.5rem}
.footer-est{font-family:var(--font-accent);font-size:.9rem;color:rgba(201,162,39,.6);font-style:italic;margin-bottom:1.25rem}
.footer-501c3{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:rgba(201,162,39,.07);border:1px solid rgba(201,162,39,.2);border-radius:var(--radius);margin-bottom:1.5rem}
.footer-501c3 i{font-size:1.25rem;color:var(--gold);flex-shrink:0;margin-top:.1rem}
.footer-501c3 strong{display:block;font-size:.78rem;color:rgba(255,255,255,.8);margin-bottom:.2rem}
.footer-501c3 small{font-size:.7rem;color:rgba(255,255,255,.4);line-height:1.5}
.footer-socials{display:flex;gap:.6rem}
.footer-socials a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:.85rem;transition:var(--transition)}
.footer-socials a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px)}
.footer-col h4{font-family:var(--font-head);font-size:1rem;font-weight:700;color:var(--white);margin-bottom:1.25rem;position:relative;padding-bottom:.75rem}
.footer-col h4::after{content:'';position:absolute;left:0;bottom:0;width:30px;height:2px;background:var(--gold);border-radius:2px}
.footer-col ul{display:flex;flex-direction:column;gap:.65rem}
.footer-col ul a{font-size:.84rem;color:rgba(255,255,255,.5);transition:var(--transition);display:inline-flex;align-items:center;gap:.4rem}
.footer-col ul a::before{content:'›';color:var(--gold);font-size:1.1rem;opacity:0;transform:translateX(-6px);transition:var(--transition)}
.footer-col ul a:hover{color:var(--gold);padding-left:.3rem}
.footer-col ul a:hover::before{opacity:1;transform:translateX(0)}
.footer-newsletter p{font-size:.84rem;color:rgba(255,255,255,.5);line-height:1.7;margin-bottom:1.25rem}
.newsletter-form{display:flex;border:1px solid rgba(255,255,255,.12);border-radius:50px;overflow:hidden;background:rgba(255,255,255,.05)}
.newsletter-form input{flex:1;background:transparent;border:none;padding:.8rem 1.2rem;color:var(--white);font-family:var(--font-body);font-size:.85rem;outline:none}
.newsletter-form input::placeholder{color:rgba(255,255,255,.3)}
.newsletter-form button{background:var(--gold);border:none;padding:.8rem 1.25rem;color:var(--green-dark);cursor:pointer;font-size:.9rem;transition:var(--transition)}
.newsletter-form button:hover{background:var(--gold-light)}
.nl-success{display:none;margin-top:.75rem;font-size:.82rem;color:#7cd99a;font-weight:600}
.nl-success i{margin-right:.4rem}
.footer-links-extra{margin-top:1.25rem;font-size:.75rem;color:rgba(255,255,255,.3)}
.footer-links-extra a{color:rgba(201,162,39,.5);transition:color .25s;margin:0 .3rem}
.footer-links-extra a:hover{color:var(--gold)}
.footer-bottom{padding:1.75rem 0;text-align:center}
.footer-bottom p{font-size:.8rem;color:rgba(255,255,255,.3);line-height:1.8}
.footer-bottom a{color:rgba(201,162,39,.6);transition:var(--transition)}
.footer-bottom a:hover{color:var(--gold)}
.footer-note{margin-top:.3rem}

/* ════════════════════════════════════════
   BACK TO TOP
════════════════════════════════════════ */
.back-to-top{position:fixed;bottom:2rem;right:2rem;z-index:900;width:46px;height:46px;border-radius:50%;background:var(--gold);color:var(--green-dark);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:0 6px 20px rgba(0,0,0,.3);transform:translateY(80px);opacity:0;transition:var(--transition)}
.back-to-top.visible{transform:translateY(0);opacity:1}
.back-to-top:hover{background:var(--gold-light);transform:translateY(-4px)}

/* ════════════════════════════════════════
   KEYFRAMES
════════════════════════════════════════ */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */
@media(max-width:1200px){
  .stats-row{grid-template-columns:repeat(3,1fr)}
  .committee-grid,.chapters-grid{grid-template-columns:repeat(3,1fr)}
  .membership-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}
  .donate-grid{grid-template-columns:repeat(2,1fr)}
  .donate-ways{grid-template-columns:repeat(2,1fr)}
}
/* ── Nav: switch to hamburger at ≤1340px so all 9 items + Donate + 3
   languages always fit on one line (French/Kreyòl words are longer and
   were pushing KR off-screen between 1200–1340px). ── */
@media(max-width:1340px){
  .nav-hamburger{display:flex}
  .lang-switcher{margin-left:auto;margin-right:.6rem}
  /* Restore icons in mobile slide-out drawer */
  .nav-links .nav-icon{display:inline-flex;opacity:1;transform:none}
  .nav-links{
    position:fixed;top:0;right:0;
    width:min(320px,95vw);height:100vh;
    background:rgba(5,18,8,0.18);
    -webkit-backdrop-filter:blur(28px) saturate(1.4);
    backdrop-filter:blur(28px) saturate(1.4);
    border-left:1px solid rgba(201,162,39,.22);
    flex-direction:column;align-items:flex-start;
    padding:5rem 1.25rem 2rem;gap:0;
    transform:translateX(100%);
    transition:transform .4s cubic-bezier(.4,0,.2,1);
    box-shadow:-16px 0 60px rgba(0,0,0,.35);
    overflow-y:auto;overflow-x:hidden;
    z-index:1001
  }
  .nav-links.open{transform:translateX(0)}
  .nav-item{width:100%;position:relative}
  .nav-link{
    width:100%;padding:.85rem 1rem;font-size:.9rem;border-radius:8px;
    color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.7)
  }
  .nav-link::after{display:none}
  .nav-dropdown{
    position:static !important;
    top:auto !important;left:auto !important;
    transform:none !important;
    width:100% !important;
    background:rgba(255,255,255,.06);
    border:none;
    border-left:2px solid rgba(201,162,39,.35);
    border-radius:0 6px 6px 0;
    padding:0;
    opacity:1 !important;
    visibility:visible !important;
    box-shadow:none;
    max-height:0;
    overflow:hidden;
    transition:max-height .4s ease,padding .3s ease;
    margin:0 0 0 .5rem;
    min-width:0
  }
  .nav-dropdown::before{display:none}
  .nav-item.mobile-open .nav-dropdown{max-height:400px;padding:.35rem 0;margin-top:.25rem}
  .nav-item.mobile-open .nav-arrow{transform:rotate(180deg)}
  .nav-dd-item{
    padding:.65rem 1rem .65rem 1.25rem;
    display:block;width:100%;
    font-size:.82rem;color:rgba(255,255,255,.85);
    text-shadow:0 1px 4px rgba(0,0,0,.6)
  }
  .nav-dd-item i{margin-right:.5rem;color:var(--gold);font-size:.7rem}
  .nav-dd-item:hover{color:var(--gold);background:rgba(201,162,39,.08)}
  .btn-nav-donate{margin:.5rem 0 0;width:100%;text-align:center;justify-content:center}
}
@media(max-width:1000px){
  .about-grid,.contact-grid,.newsletter-layout{grid-template-columns:1fr;gap:3rem}
  .about-collage{max-width:540px;margin:0 auto}
  .events-grid,.work-grid,.videos-grid{grid-template-columns:1fr 1fr}
  .platforms-grid{grid-template-columns:1fr}
  .video-feature{grid-template-columns:1fr}
  .video-feature-info{padding:1.75rem}
  .founders-block{grid-template-columns:1fr;text-align:center}
  .founders-photo-wrap{margin:0 auto}
  .founders-quote{text-align:left}
  .tl-item{grid-template-columns:48px 1fr}
  .tl-dot{grid-column:1}
  .tl-card{grid-column:2}
  .tl-item.right{direction:ltr}
  .timeline::before{left:24px}
  .donor-tiers{grid-template-columns:1fr}
}
@media(max-width:960px){
  .committee-grid,.chapters-grid{grid-template-columns:repeat(2,1fr)}
  .tl-item{grid-template-columns:40px 1fr;gap:0 1rem}
  .tl-dot{width:40px;height:40px}
  .timeline::before{left:20px}
}
@media(max-width:640px){
  /* Subscribe banner stack on mobile */
  .video-sub-banner{flex-direction:column;text-align:center}
  /* Spotlight responsive */
  .spotlight-inner{flex-direction:column;align-items:flex-start;gap:.75rem}
  .spotlight-details strong{font-size:.85rem;white-space:normal}
  .spotlight-meta{display:none}
  .spotlight-right{width:100%;justify-content:space-between}
  /* PDF reader on mobile: hide iframe, show fallback button */
  .nl-iframe{display:none}
  .nl-mobile-fallback{display:flex}
  .nl-featured-header{padding:1.5rem}
  .nl-featured-title{font-size:1.2rem}
  .section{padding:70px 0}
  .hero-btns{flex-direction:column;align-items:center}
  .events-grid,.work-grid,.videos-grid{grid-template-columns:1fr}
  .gallery-grid{columns:2}
  .stats-row{grid-template-columns:repeat(2,1fr)} .stat+.stat::before{display:none}
  .membership-grid,.committee-grid,.chapters-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .form-row,.nl-row{grid-template-columns:1fr}
  .donate-grid{grid-template-columns:1fr}
  .donate-ways{grid-template-columns:1fr 1fr}
  .donor-cta-box{flex-direction:column;text-align:center}
  .recurring-wrap{padding:2rem 1.5rem}
  .recurring-ctas{flex-direction:column}
  .campus-strip{grid-template-columns:repeat(2,1fr)}
  .work-impact-bar{flex-direction:column;padding:1.5rem}
  .membership-benefits-bar{gap:.75rem}
  .live-follow-btns{flex-direction:column;align-items:center}
}
@media(max-width:400px){
  .gallery-grid{columns:1}
  .splash-logo{width:170px;height:170px}
  .donate-ways{grid-template-columns:1fr}
}

/* ============================================================
   SUPPLEMENTAL STYLES, v3.0 dynamic components
   ============================================================ */

/* Committee email link */
.committee-email{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:rgba(201,162,39,.7);margin-top:.75rem;transition:color .25s}
.committee-email:hover{color:var(--gold)}

/* Event buttons */
.btn-event-more{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border-radius:50px;border:1px solid rgba(201,162,39,.4);background:transparent;color:rgba(201,162,39,.85);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .25s;font-family:var(--font-body)}
.btn-event-more:hover{background:rgba(201,162,39,.12);border-color:var(--gold);color:var(--gold)}
.btn.btn-sm{padding:.4rem .9rem;font-size:.78rem}

/* Membership cards */
.membership-popular{position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--green-dark);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:.2rem .9rem;border-radius:0 0 8px 8px;white-space:nowrap}
.membership-icon{font-size:2.2rem;margin-bottom:1rem;display:block}
.membership-tier{font-family:var(--font-head);font-size:1.25rem;font-weight:700;color:var(--white);margin-bottom:.75rem}
.membership-price{margin-bottom:1.25rem}
.price-amount{display:block;font-size:2.5rem;font-weight:900;color:var(--gold);font-family:var(--font-head);line-height:1}
.price-period{font-size:.78rem;color:rgba(255,255,255,.4)}
.membership-features{list-style:none;text-align:left;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem}
.membership-features li{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:rgba(255,255,255,.7)}
.membership-features li i{color:var(--gold);font-size:.7rem;flex-shrink:0}
.btn-membership{display:block;text-align:center;padding:.75rem 1.25rem;border-radius:50px;color:var(--green-deep);font-weight:700;font-size:.88rem;transition:all .3s;border:none;cursor:pointer;text-decoration:none}
.btn-membership:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.3)}

/* Livestream next stream card */
.next-stream-card{background:rgba(255,255,255,.06);border:1px solid rgba(201,162,39,.2);border-radius:var(--radius);padding:1rem 1.25rem;margin:.75rem 0 1.25rem;text-align:left}
.ns-title{font-weight:700;color:var(--white);font-size:.95rem;margin-bottom:.5rem}
.ns-meta{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.78rem;color:rgba(255,255,255,.5)}
.ns-meta i{color:var(--gold);margin-right:.3rem}

/* Live offline state (fallback) */
.live-offline{text-align:center;padding:2rem;color:rgba(255,255,255,.6)}
.live-offline i{font-size:3rem;color:rgba(201,162,39,.4);margin-bottom:1rem;display:block}
.live-offline h3{font-family:var(--font-head);color:var(--white);margin-bottom:.5rem}
.btn-live-notify{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.65rem 1.4rem;border-radius:50px;background:#ff0000;color:#fff;font-weight:700;font-size:.88rem;transition:all .3s}
.btn-live-notify:hover{background:#cc0000;transform:translateY(-2px)}
.live-ig-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;color:rgba(255,255,255,.6);text-align:center}
.live-ig-fallback i{font-size:3rem;color:#e1306c}

/* Cookie consent banner */
.cookie-banner{position:fixed;bottom:-100px;left:0;right:0;z-index:99999;padding:1rem 1.5rem;background:rgba(5,18,8,.97);border-top:1px solid rgba(201,162,39,.3);backdrop-filter:blur(16px);transition:bottom .4s ease;box-shadow:0 -4px 24px rgba(0,0,0,.4)}
.cookie-banner.visible{bottom:0}
.cookie-content{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.cookie-content>i{font-size:1.5rem;color:var(--gold);flex-shrink:0}
.cookie-content p{flex:1;font-size:.83rem;color:rgba(255,255,255,.75);margin:0}
.cookie-link{color:var(--gold)}
.cookie-btns{display:flex;gap:.6rem;flex-shrink:0}
.cookie-accept{padding:.45rem 1.1rem;border-radius:50px;background:var(--gold);color:var(--green-deep);border:none;font-weight:700;font-size:.8rem;cursor:pointer;transition:all .25s}
.cookie-accept:hover{background:var(--gold-light)}
.cookie-decline{padding:.45rem 1.1rem;border-radius:50px;background:transparent;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.6);font-size:.8rem;cursor:pointer;transition:all .25s}
.cookie-decline:hover{border-color:rgba(255,255,255,.4);color:rgba(255,255,255,.85)}

/* Form error message */
.form-error{background:rgba(220,38,38,.12);border:1px solid rgba(220,38,38,.4);color:#fca5a5;border-radius:8px;padding:.65rem 1rem;font-size:.82rem;margin-top:.75rem;display:none}

/* Form success */
.form-success{text-align:center;padding:2rem 1rem;color:rgba(255,255,255,.8)}
.form-success i{font-size:2.5rem;color:var(--gold);margin-bottom:.75rem;display:block}
.form-success h3{font-family:var(--font-head);color:var(--white);margin-bottom:.5rem}

/* Newsletter success */
.nl-success{display:flex;align-items:center;gap:.75rem;padding:1rem;background:rgba(201,162,39,.1);border:1px solid rgba(201,162,39,.3);border-radius:var(--radius);color:var(--gold)}
#nl-signup-success{display:none;align-items:center;gap:.5rem;color:var(--gold);font-size:.88rem;margin-top:.75rem}
#nl-signup-success i{color:var(--gold)}

/* Issue preview text */
.issue-preview{font-size:.75rem;color:var(--text-light);line-height:1.5;margin-top:.2rem}

/* Keyboard navigation focus ring */
.keyboard-nav *:focus{outline:2px solid var(--gold);outline-offset:3px}

/* Mobile nav open state, handled in main @media(max-width:960px) block above */

/* ── BLOG SECTION ─────────────────────────────────────── */
.blog-section{background:var(--off-white)}
.blog-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:1.5rem;margin-top:2rem;
}
.blog-card{
  background:#fff;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow);transition:transform var(--transition),box-shadow var(--transition);
  display:flex;flex-direction:column;
}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.blog-card-img{height:200px;overflow:hidden}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.blog-card:hover .blog-card-img img{transform:scale(1.04)}
.blog-card-body{padding:1.4rem;flex:1;display:flex;flex-direction:column;gap:.6rem}
.blog-card-body h3{font-family:var(--font-head);font-size:1.1rem;color:var(--text);line-height:1.3}
.blog-card-body p{font-size:.85rem;color:var(--text-light);line-height:1.6;flex:1}
.blog-card-meta{display:flex;gap:1rem;font-size:.75rem;color:var(--text-light);margin-top:.5rem;flex-wrap:wrap}
.blog-card-meta span{display:flex;align-items:center;gap:.3rem}

/* ── ZELLE QR CODE ──────────────────────────────────────── */
.zelle-qr-wrap{
  margin:.8rem auto;text-align:center;
}
.zelle-qr-img{
  width:160px;height:160px;
  border-radius:12px;
  box-shadow:0 4px 20px rgba(0,0,0,.15);
  border:3px solid rgba(109,43,217,.2);
  background:#fff;padding:6px;
  transition:transform .3s;
}
.zelle-qr-img:hover{transform:scale(1.05)}
.zelle-qr-caption{
  font-size:.72rem;color:var(--text-light);
  margin-top:.4rem;display:flex;align-items:center;justify-content:center;gap:.3rem;
}

/* ══ WHO WE ARE / WHY GIVE STORY SECTION ════════════════ */
.calunah-story{margin:0 0 3.5rem;display:flex;flex-direction:column;gap:0}

/* Why Give header strip */
.cs-why-header{position:relative;border-radius:18px 18px 0 0;overflow:hidden;height:280px}
.cs-why-img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.45)}
.cs-why-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;gap:.8rem}
.cs-why-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(201,162,39,.2);border:1px solid rgba(201,162,39,.45);color:var(--gold);font-family:var(--font-body);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.35rem 1rem;border-radius:50px}
.cs-why-title{font-family:var(--font-head);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;color:#fff;margin:0;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.cs-why-sub{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-style:italic;color:rgba(255,255,255,.82);max-width:600px;margin:0;line-height:1.6}

/* Vision · Mission · Community grid */
.cs-vmc-grid{display:grid;grid-template-columns:repeat(3,1fr);background:var(--off-white);border-left:1px solid var(--border);border-right:1px solid var(--border)}
.cs-vmc-card{display:flex;flex-direction:column;border-right:1px solid var(--border);transition:var(--transition)}
.cs-vmc-card:last-child{border-right:none}
.cs-vmc-card:hover{background:var(--white);box-shadow:inset 0 0 0 2px rgba(201,162,39,.2)}
.cs-vmc-img-wrap{height:180px;overflow:hidden}
.cs-vmc-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.cs-vmc-card:hover .cs-vmc-img{transform:scale(1.06)}
.cs-vmc-body{padding:1.8rem 1.6rem;flex:1;display:flex;flex-direction:column;gap:.6rem}
.cs-vmc-icon{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--green-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;margin-bottom:.25rem}
.cs-vmc-title{font-family:var(--font-head);font-size:1.15rem;font-weight:800;color:var(--text);margin:0;letter-spacing:.02em}
.cs-vmc-body p{font-size:.88rem;line-height:1.75;color:var(--text-mid);margin:0}
.cs-vmc-body em{color:var(--green-dark);font-style:italic}

/* Educational Advancement */
.cs-edu{display:grid;grid-template-columns:1fr 1.6fr;background:var(--white);border:1px solid var(--border);border-top:none}
.cs-edu-img-col{display:flex;flex-direction:column;gap:0}
.cs-edu-img{width:100%;flex:1;object-fit:cover;display:block;height:50%}
.cs-edu-content{padding:2.5rem 2.8rem;display:flex;flex-direction:column;gap:.8rem;justify-content:center}
.cs-edu-icon{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#e8c84a);display:flex;align-items:center;justify-content:center;color:#1a1200;font-size:1.2rem}
.cs-edu-title{font-family:var(--font-head);font-size:1.4rem;font-weight:800;color:var(--text);margin:0}
.cs-edu-intro{font-size:.92rem;color:var(--text-mid);margin:0;font-weight:500}
.cs-edu-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}
.cs-edu-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:.88rem;line-height:1.65;color:var(--text-mid)}
.cs-edu-list li i{color:var(--green);font-size:.85rem;margin-top:.25rem;flex-shrink:0}
.cs-edu-list em{color:var(--green-dark);font-style:italic}

/* Core Values row */
.cs-values-row{display:grid;grid-template-columns:repeat(4,1fr);border-radius:0 0 18px 18px;overflow:hidden}
.cs-value-card{padding:2.2rem 1.8rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.7rem}
.cs-val-icon{font-size:2rem;opacity:.9}
.cs-value-card h5{font-family:var(--font-body);font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin:0}
.cs-value-card p{font-size:.83rem;line-height:1.65;margin:0;opacity:.85}
/* Value card color themes */
.cs-val-integrity{background:#1e2d4a;color:#fff}.cs-val-integrity .cs-val-icon{color:#7fa8d4}
.cs-val-service{background:#3a3a3a;color:#fff}.cs-val-service .cs-val-icon{color:#aaa}
.cs-val-quality{background:#f0f0f0;color:#2a2a2a}.cs-val-quality .cs-val-icon{color:var(--green-dark)}
.cs-val-innovation{background:#b5c4b1;color:#1e2d1e}.cs-val-innovation .cs-val-icon{color:#2a5c2a}

/* Responsive */
@media(max-width:1024px){
  .cs-vmc-grid{grid-template-columns:1fr 1fr}
  .cs-vmc-card:nth-child(2){border-right:none}
  .cs-vmc-card:nth-child(3){grid-column:1/-1;border-right:none;border-top:1px solid var(--border)}
  .cs-edu{grid-template-columns:1fr}
  .cs-edu-img-col{height:220px;flex-direction:row}
  .cs-edu-img{height:100%;flex:1}
}
@media(max-width:768px){
  .cs-why-header{height:220px}
  .cs-vmc-grid{grid-template-columns:1fr}
  .cs-vmc-card{border-right:none;border-bottom:1px solid var(--border)}
  .cs-values-row{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .cs-values-row{grid-template-columns:1fr}
  .cs-edu-content{padding:1.8rem 1.4rem}
}

/* ══ UNAH CAMPUS BUILDING CAMPAIGN ══════════════════════ */
.unah-campaign{margin:0 0 3rem;border-radius:20px;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.22)}
.unah-campaign-inner{display:grid;grid-template-columns:1.1fr 1fr;min-height:520px}

/* Photo mosaic */
.ucp-mosaic{display:grid;grid-template-columns:1fr 1.4fr 1fr;grid-template-rows:200px 200px 160px;gap:5px;background:#000}
.ucp-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.ucp-img:hover{transform:scale(1.04)}
.ucp-a{grid-column:1;grid-row:1/3}         /* portrait: corridor */
.ucp-b{grid-column:2;grid-row:1}            /* landscape: aerial campus */
.ucp-c{grid-column:3;grid-row:1/3}         /* portrait: marble */
.ucp-d{grid-column:2;grid-row:2}            /* landscape: construction */
.ucp-e{grid-column:1/4;grid-row:3}         /* panoramic: aerial UNAH field */

/* Content panel */
.ucp-content{background:linear-gradient(160deg,#071a0c 0%,#0d2714 60%,#091509 100%);padding:3rem 2.8rem;display:flex;flex-direction:column;justify-content:center;gap:1rem;position:relative;overflow:hidden}
.ucp-content::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(201,162,39,.1) 0%,transparent 70%);pointer-events:none}
.ucp-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(201,162,39,.15);border:1px solid rgba(201,162,39,.3);color:var(--gold);font-family:var(--font-body);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.4rem 1rem;border-radius:50px;align-self:flex-start}
.ucp-title{font-family:var(--font-head);font-size:clamp(1.5rem,2.5vw,2.2rem);font-weight:800;color:#fff;line-height:1.2;margin:0;position:relative;z-index:1}
.ucp-quote{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-style:italic;color:rgba(201,162,39,.9);line-height:1.65;margin:.25rem 0;position:relative;z-index:1;padding-left:.5rem;border-left:3px solid rgba(201,162,39,.4)}
.ucp-ql,.ucp-qr{font-size:.75rem;opacity:.6;vertical-align:super}
.ucp-text{font-size:.9rem;line-height:1.75;color:rgba(255,255,255,.78);margin:0;position:relative;z-index:1}
.ucp-stats{display:flex;align-items:center;gap:1.2rem;margin:.4rem 0;position:relative;z-index:1}
.ucp-stat{display:flex;flex-direction:column;align-items:center;gap:.15rem;text-align:center}
.ucp-stat-n{font-family:var(--font-head);font-size:1.45rem;font-weight:900;color:var(--gold);line-height:1}
.ucp-stat-l{font-size:.65rem;font-weight:600;color:rgba(255,255,255,.55);letter-spacing:.04em;text-transform:uppercase;line-height:1.3}
.ucp-stat-div{width:1px;height:36px;background:rgba(201,162,39,.25)}
.ucp-donate-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;background:linear-gradient(135deg,#c0392b,#e74c3c);color:#fff!important;font-family:var(--font-body);font-size:1rem;font-weight:800;letter-spacing:.05em;padding:.9rem 2rem;border-radius:50px;text-decoration:none;border:none;cursor:pointer;transition:var(--transition);box-shadow:0 8px 28px rgba(192,57,43,.45);margin-top:.5rem;position:relative;z-index:1}
.ucp-donate-btn:hover{background:linear-gradient(135deg,#a93226,#c0392b);transform:translateY(-3px);box-shadow:0 14px 36px rgba(192,57,43,.55);color:#fff!important}
.ucp-secure{font-size:.7rem;color:rgba(255,255,255,.38);margin:0;letter-spacing:.04em;position:relative;z-index:1}
@media(max-width:1024px){
  .unah-campaign-inner{grid-template-columns:1fr}
  .ucp-mosaic{grid-template-columns:1fr 1fr 1fr;grid-template-rows:160px 160px 130px}
}
@media(max-width:600px){
  .ucp-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:130px 130px 130px}
  .ucp-a{grid-column:1;grid-row:1}
  .ucp-b{grid-column:2;grid-row:1}
  .ucp-c{grid-column:1;grid-row:2}
  .ucp-d{grid-column:2;grid-row:2}
  .ucp-e{grid-column:1/3;grid-row:3}
  .ucp-content{padding:2rem 1.5rem}
  .ucp-stats{gap:.8rem}
}

/* ══ EVENT TICKET TIERS ══════════════════════════════════ */
.event-tickets{margin:1.2rem 0 0;background:linear-gradient(135deg,rgba(201,162,39,.07),rgba(26,107,47,.05));border:1.5px solid rgba(201,162,39,.25);border-radius:14px;padding:1.2rem 1.4rem;display:flex;flex-direction:column;gap:.9rem}
.et-heading{font-family:var(--font-body);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.5rem}
.et-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem}
.et-tier{background:var(--white);border-radius:10px;border:1px solid var(--border);padding:1rem;display:flex;flex-direction:column;gap:.4rem;align-items:center;text-align:center;transition:var(--transition);min-width:0}
.et-tier:hover{border-color:var(--gold);box-shadow:0 6px 20px rgba(201,162,39,.14);transform:translateY(-3px)}
.et-tier-top{display:flex;flex-direction:column;align-items:center;gap:.15rem}
.et-tier-label{font-family:var(--font-body);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mid)}
.et-tier-price{font-family:var(--font-head);font-size:1.7rem;font-weight:900;color:var(--green-dark);line-height:1}
.et-tier-note{font-size:.72rem;color:var(--text-light);text-align:center}
.et-buy-btn{background:linear-gradient(135deg,#635bff,#7c73ff);color:#fff;border:none;font-size:.66rem;letter-spacing:.03em;padding:.55rem .5rem;border-radius:50px;cursor:pointer;margin-top:.3rem;font-weight:800;width:100%;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.35rem;transition:var(--transition);overflow:visible;white-space:nowrap}
.et-buy-btn i{font-size:.85rem}
.et-buy-btn:hover{background:linear-gradient(135deg,#5048e0,#635bff);color:#fff;transform:translateY(-2px);box-shadow:0 6px 18px rgba(99,91,255,.4)}
.et-buy-btn:disabled{opacity:.7;cursor:wait;transform:none}
.et-secure-note{font-size:.7rem;color:var(--text-light);text-align:center;margin:.9rem 0 .2rem;display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap}
.et-secure-note i{color:var(--green)}
/* Ticket thank-you / cancel toast */
.ticket-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);z-index:99999;display:flex;align-items:flex-start;gap:.8rem;max-width:440px;width:calc(100% - 32px);padding:1rem 1.1rem;border-radius:14px;box-shadow:0 16px 48px rgba(0,0,0,.3);font-size:.9rem;line-height:1.45;transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.ticket-toast.show{transform:translate(-50%,0)}
.ticket-toast i{font-size:1.4rem;flex-shrink:0;margin-top:.1rem}
.ticket-toast .tt-close{margin-left:auto;background:none;border:none;font-size:1.4rem;line-height:1;cursor:pointer;color:inherit;opacity:.6;padding:0 .2rem}
.ticket-toast .tt-close:hover{opacity:1}
.tt-success{background:linear-gradient(135deg,#1a6b2f,#0d4d1f);color:#fff}
.tt-success i{color:#7CFC9A}
.tt-cancel{background:#fff;color:var(--text);border:1px solid var(--border)}
.tt-cancel i{color:var(--gold)}
.et-reserve-btn{background:transparent;border:1.5px solid var(--green);color:var(--green);font-size:.75rem;padding:.42rem .9rem;border-radius:50px;cursor:pointer;margin-top:.3rem;font-weight:700;width:100%;transition:var(--transition)}
.et-reserve-btn:hover{background:var(--green);color:#fff}
.et-at-door{font-size:.72rem;color:var(--text-light);margin-top:.3rem;display:flex;align-items:center;gap:.3rem;justify-content:center}
.et-reserve-all-btn{background:rgba(201,162,39,.1);border:1.5px dashed rgba(201,162,39,.4);color:var(--green-dark);font-family:var(--font-body);font-size:.8rem;font-weight:700;padding:.65rem 1rem;border-radius:50px;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}
.et-reserve-all-btn:hover{background:rgba(201,162,39,.18);border-color:var(--gold)}
@media(max-width:380px){.et-tiers{grid-template-columns:1fr}}

/* ══ TICKET RESERVATION MODAL ════════════════════════════ */
.ticket-modal{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.ticket-modal.open{opacity:1;visibility:visible}
.ticket-modal-overlay{position:absolute;inset:0;background:rgba(7,26,12,.88);backdrop-filter:blur(6px);cursor:pointer}
.ticket-modal-box{position:relative;z-index:1;background:var(--white);border-radius:20px;padding:0;max-width:560px;width:100%;max-height:92vh;overflow-y:auto;box-shadow:0 32px 80px rgba(0,0,0,.4);animation:tmSlideIn .35s cubic-bezier(.34,1.56,.64,1) both}
@keyframes tmSlideIn{from{transform:translateY(30px) scale(.95);opacity:0}to{transform:none;opacity:1}}
.ticket-modal-close{position:absolute;top:1rem;right:1rem;z-index:2;background:rgba(0,0,0,.08);border:none;width:34px;height:34px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text);font-size:.9rem;transition:var(--transition)}
.ticket-modal-close:hover{background:rgba(0,0,0,.16)}
.tm-header{background:linear-gradient(135deg,var(--green-dark),var(--green-deeper));padding:2rem 2rem 1.5rem;border-radius:20px 20px 0 0;text-align:center;color:#fff}
.tm-header-icon{font-size:2rem;color:var(--gold);margin-bottom:.5rem;display:block}
.tm-header h3{font-family:var(--font-head);font-size:1.25rem;font-weight:800;margin:.25rem 0 0;color:#fff}
.tm-event-meta{font-size:.8rem;color:rgba(255,255,255,.7);margin:.3rem 0 0}
.tm-ticket-selected{padding:.75rem 2rem 0;text-align:center}
.tm-selected-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(201,162,39,.12);border:1.5px solid rgba(201,162,39,.35);color:var(--gold);font-size:.8rem;font-weight:700;padding:.4rem 1.2rem;border-radius:50px;letter-spacing:.04em}
.tm-form{padding:1.5rem 2rem 2rem;display:flex;flex-direction:column;gap:1rem}
.tm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.tm-form-group{display:flex;flex-direction:column;gap:.35rem}
.tm-form-group label{font-size:.78rem;font-weight:700;color:var(--text);letter-spacing:.02em}
.tm-form-group label span{color:var(--gold)}
.tm-form-group input,.tm-form-group select,.tm-form-group textarea{border:1.5px solid var(--border);border-radius:8px;padding:.6rem .9rem;font-size:.88rem;font-family:var(--font-body);color:var(--text);background:var(--off-white);transition:var(--transition);width:100%}
.tm-form-group input:focus,.tm-form-group select:focus,.tm-form-group textarea:focus{outline:none;border-color:var(--green);background:var(--white);box-shadow:0 0 0 3px rgba(26,107,47,.1)}
.tm-pay-info{display:flex;align-items:flex-start;gap:.75rem;background:rgba(201,162,39,.08);border:1px solid rgba(201,162,39,.2);border-radius:10px;padding:1rem}
.tm-pay-info i{color:var(--gold);margin-top:.15rem;flex-shrink:0}
.tm-pay-info p{font-size:.8rem;line-height:1.6;color:var(--text-mid);margin:0}
.tm-submit{margin-top:.25rem}
.tm-success{display:flex;align-items:center;gap:.75rem;background:#e8f5e9;border:1.5px solid #4caf50;border-radius:10px;padding:1rem 1.2rem;color:#2e7d32;font-size:.88rem;font-weight:600;line-height:1.5}
.tm-success i{font-size:1.3rem;flex-shrink:0}
@media(max-width:480px){.tm-form-row{grid-template-columns:1fr}.tm-form{padding:1.2rem 1.2rem 1.6rem}}

/* ── DONATE QR BANNER ───────────────────────────────────── */
.donate-qr-banner{
  display:flex;align-items:center;gap:2.5rem;
  background:linear-gradient(135deg,var(--green-dark) 0%,var(--green-deeper) 100%);
  border-radius:var(--radius-lg);padding:2rem 2.5rem;
  margin:2rem 0;box-shadow:var(--shadow-lg);
  border:1px solid rgba(201,162,39,.2);
}
.dqr-img{
  width:180px;height:180px;flex-shrink:0;
  border-radius:14px;background:#fff;
  padding:8px;box-shadow:0 8px 30px rgba(0,0,0,.25);
  transition:transform .3s;
}
.dqr-img:hover{transform:scale(1.04)}
.dqr-right{flex:1}
.dqr-right h3{
  font-family:var(--font-head);font-size:1.8rem;
  color:var(--white);margin:.4rem 0 .6rem;
}
.dqr-right p{color:rgba(255,255,255,.75);font-size:.9rem;line-height:1.7;margin-bottom:1.2rem}
.dqr-steps{
  display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;
}
.dqr-steps span{
  display:flex;align-items:center;gap:.4rem;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);
  border-radius:50px;padding:.4rem 1rem;
  color:#fff;font-size:.82rem;font-weight:600;
}
.dqr-steps span i{color:var(--gold)}
.dqr-arrow{color:rgba(255,255,255,.3);font-size:.75rem}
@media(max-width:680px){
  .donate-qr-banner{flex-direction:column;text-align:center;padding:1.5rem}
  .dqr-steps{justify-content:center}
  .dqr-img{width:150px;height:150px}
}
