
:root{
  --black:#050507;
  --ink:#0b0910;
  --purple:#4a1768;
  --purple-2:#6b2b88;
  --purple-soft:#b99ac8;
  --gold:#d5a62b;
  --gold-light:#efcf73;
  --ivory:#f7f2e9;
  --muted:#c9c0d0;
  --line:rgba(213,166,43,.42);
  --panel:rgba(17,12,26,.86);
  --shadow:0 18px 55px rgba(0,0,0,.42);
  --serif:"Playfair Display", Georgia, serif;
  --sans:"Inter", Arial, sans-serif;
  --script:"Cormorant Garamond", Georgia, serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:
 radial-gradient(circle at 8% 14%,rgba(91,30,125,.18),transparent 25rem),
 radial-gradient(circle at 92% 80%,rgba(100,25,129,.16),transparent 30rem),
 var(--black);color:var(--ivory);font-family:var(--sans);line-height:1.65}
img{display:block;max-width:100%}
a{color:inherit}
button,input,textarea,select{font:inherit}
.container{width:min(1180px,calc(100% - 34px));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--gold);color:#08060b;padding:.7rem 1rem;z-index:999}
.skip-link:focus{left:1rem;top:1rem}
.site-header{position:sticky;top:0;z-index:50;background:rgba(4,4,7,.96);border-bottom:1px solid rgba(213,166,43,.3);backdrop-filter:blur(10px)}
.header-inner{min-height:70px;display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:180px}
.brand-crown{font-size:2rem;color:var(--gold);line-height:1;display:grid;place-items:center}.brand-crown svg{width:40px;height:30px}
.brand-text strong{display:block;font-family:var(--serif);font-size:.93rem;line-height:1.05;letter-spacing:.17em;text-transform:uppercase}
.brand-text small{display:block;color:var(--gold-light);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase}
.site-nav{margin-left:auto}
.site-nav ul{display:flex;align-items:center;gap:21px;list-style:none;margin:0;padding:0}
.site-nav a{text-decoration:none;text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.075em;color:#f7f4f0;position:relative;white-space:nowrap}
.site-nav a:hover,.site-nav a.active{color:var(--gold-light)}
.site-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:2px;background:var(--gold)}
.header-donate{padding:.68rem 1rem;border:1px solid var(--gold);border-radius:4px;background:linear-gradient(90deg,#301245,#1c102e);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:800;white-space:nowrap}
.header-donate:hover{background:var(--gold);color:#120d17}
.menu-toggle{display:none;margin-left:auto;border:1px solid var(--line);background:#1b1025;color:var(--ivory);border-radius:4px;padding:.55rem .75rem}
.hero-image-wrap{background:#060509;border-bottom:1px solid var(--line);overflow:hidden}
.hero-image{width:100%;height:auto;min-height:190px;object-fit:cover;object-position:center}
.home-hero .hero-image{max-height:500px;min-height:300px}
.hero-caption{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%)}
.page-intro{padding:62px 0 42px}
.kicker{font-size:.73rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);font-weight:800;margin-bottom:7px}
h1,h2,h3{font-family:var(--serif);line-height:1.08;margin:0 0 18px}
h1{font-size:clamp(2.25rem,6vw,5.6rem)}
h2{font-size:clamp(2rem,4.2vw,3.8rem)}
h3{font-size:clamp(1.25rem,2.2vw,1.8rem)}
.gold{color:var(--gold)}
.purple{color:#a75aca}
.lede{font-size:clamp(1.05rem,1.7vw,1.28rem);color:#ddd4e2;max-width:850px}
.script{font-family:var(--script);font-size:1.55rem;font-style:italic;color:#d9b0e8}
.section{padding:70px 0;border-top:1px solid rgba(213,166,43,.14)}
.section-tight{padding:44px 0}
.section-purple{background:linear-gradient(110deg,rgba(60,16,82,.78),rgba(12,8,18,.92))}
.section-goldwash{background:linear-gradient(135deg,rgba(213,166,43,.08),transparent 42%),#08070b}
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.panel,.card{background:linear-gradient(160deg,rgba(32,18,42,.96),rgba(8,8,12,.94));border:1px solid rgba(213,166,43,.42);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}
.panel{padding:30px}
.card-body{padding:24px}
.card img{width:100%;height:220px;object-fit:cover}
.card p,.panel p{color:#d5cbd9}
.icon{width:54px;height:54px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:1.35rem;margin-bottom:18px;background:rgba(81,26,106,.28)}
.btns{display:flex;gap:13px;flex-wrap:wrap;margin-top:25px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.82rem 1.15rem;border-radius:4px;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:900;border:1px solid var(--gold);cursor:pointer}
.btn-primary{background:linear-gradient(100deg,#dfb847,#bb7f13);color:#160e08}
.btn-primary:hover{filter:brightness(1.12)}
.btn-secondary{background:rgba(74,23,104,.4);color:var(--ivory)}
.btn-secondary:hover{background:rgba(108,43,136,.72)}
.list-clean{list-style:none;padding:0;margin:0}
.list-clean li{padding:11px 0;border-bottom:1px solid rgba(213,166,43,.18)}
.program-icon{font-size:2rem;color:var(--gold);margin-bottom:8px}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.stat{padding:22px;border:1px solid rgba(213,166,43,.35);border-radius:8px;background:rgba(10,8,14,.7)}
.stat strong{display:block;font-family:var(--serif);font-size:2.65rem;color:var(--ivory)}
.stat span{color:var(--muted);font-size:.85rem}
.quote{border-left:3px solid var(--gold);padding:18px 0 18px 24px;font-family:var(--script);font-size:1.55rem;color:#f0dff4}
.form-card{background:#0d0912;border:1px solid var(--line);padding:28px;border-radius:8px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-light);font-weight:800}
input,textarea,select{width:100%;border:1px solid rgba(213,166,43,.38);background:#09070c;color:var(--ivory);padding:.9rem;border-radius:4px}
textarea{min-height:145px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:2px solid var(--purple-2);outline-offset:2px}
.notice{font-size:.82rem;color:#bfb4c5}
.badge{display:inline-block;background:#3b1551;border:1px solid var(--gold);padding:.32rem .6rem;border-radius:999px;color:var(--gold-light);font-size:.66rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800}
.timeline{display:grid;gap:18px}
.timeline-item{display:grid;grid-template-columns:78px 1fr;gap:20px;align-items:start}
.timeline-date{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}
.resource-link{display:flex;justify-content:space-between;gap:12px;text-decoration:none;padding:18px;border:1px solid rgba(213,166,43,.25);border-radius:6px;background:rgba(35,18,48,.5)}
.resource-link:hover{border-color:var(--gold);transform:translateY(-2px)}
.logo-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.logo-placeholder{min-height:120px;border:1px dashed rgba(213,166,43,.45);display:grid;place-items:center;text-align:center;color:var(--muted);padding:12px;border-radius:6px;background:rgba(255,255,255,.02)}
.newsletter{padding:27px 0;background:linear-gradient(90deg,#401453,#1c0d2c);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.newsletter-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:center}
.newsletter-form{display:flex}
.newsletter-form input{border-radius:4px 0 0 4px}
.newsletter-form button{border-radius:0 4px 4px 0;white-space:nowrap}
.site-footer{padding:48px 0 24px;background:#050407}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.3fr;gap:35px}
.footer-title{color:var(--gold);font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;font-weight:900;margin-bottom:12px}
.footer-links{columns:2;list-style:none;padding:0;margin:0}
.footer-links li{break-inside:avoid;margin:0 0 8px}
.footer-links a{text-decoration:none;color:#d4cbd8;font-size:.86rem}
.footer-links a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid rgba(213,166,43,.18);padding-top:18px;margin-top:30px;display:flex;justify-content:space-between;gap:20px;color:#978e9d;font-size:.76rem}
.mosaic{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px}
.mosaic img{height:100%;min-height:250px;object-fit:cover;border:1px solid var(--line);border-radius:7px}
.mosaic img:first-child{grid-row:span 2}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;background:#0c0910;border:1px solid var(--line)}
th,td{padding:14px;border-bottom:1px solid rgba(213,166,43,.18);text-align:left}
th{color:var(--gold-light);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.center{text-align:center}
.hidden-honeypot{display:none!important}
@media(max-width:1050px){
  .site-nav ul{gap:13px}
  .site-nav a{font-size:.6rem}
  .brand{min-width:155px}
}
@media(max-width:880px){
  .site-nav,.header-donate{display:none}
  .menu-toggle{display:block}
  .site-header.open .site-nav{display:block;position:absolute;top:70px;left:0;right:0;background:#08060b;border-bottom:1px solid var(--gold);padding:10px 17px 18px}
  .site-header.open .site-nav ul{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
  .site-header.open .site-nav a{display:block;padding:12px;border-bottom:1px solid rgba(213,166,43,.15);font-size:.7rem}
  .site-header.open .header-donate{display:inline-flex;position:absolute;top:calc(70px + 250px);right:17px;z-index:3}
  .grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .newsletter-inner,.footer-grid{grid-template-columns:1fr}
  .mosaic{grid-template-columns:1fr 1fr}
  .mosaic img:first-child{grid-row:auto;grid-column:1/-1}
}
@media(max-width:620px){
  .container{width:min(100% - 24px,1180px)}
  .home-hero .hero-image{min-height:190px;object-position:center}
  .grid-4,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .page-intro,.section{padding:50px 0}
  .stats{grid-template-columns:1fr 1fr}
  .newsletter-form{display:grid;gap:10px}
  .newsletter-form input,.newsletter-form button{border-radius:4px}
  .footer-bottom{display:grid}
  .mosaic{grid-template-columns:1fr}
  .mosaic img:first-child{grid-column:auto}
  .card img{height:210px}
  .timeline-item{grid-template-columns:1fr}
}

/* V2 rollout refinements */
.header-donate.active{background:var(--gold);color:#120d17}
.coming-soon{max-width:900px;text-align:center;padding:44px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,rgba(63,19,84,.72),rgba(8,7,12,.96));box-shadow:var(--shadow)}
.coming-soon .lede{margin-inline:auto}
.hero-image{image-rendering:auto}
.home-hero .hero-image{max-height:none}
.card img{background:#120b18}
@media(min-width:1600px){.container{width:min(1320px,calc(100% - 60px))}.hero-image{width:100%}}
@media(max-width:880px){.site-header.open .header-donate{top:calc(70px + 195px)}}
@media(max-width:620px){.hero-image-wrap:not(.home-hero){background:#09070c}.hero-image-wrap:not(.home-hero) .hero-image{min-height:150px;object-fit:cover;object-position:center}.coming-soon{padding:30px 20px}.site-header.open .header-donate{top:calc(70px + 195px)}}

/* V3 client updates */
.nonprofit-status{margin:24px 0 0;padding:14px 16px;border:1px solid rgba(213,166,43,.34);background:rgba(213,166,43,.06);color:var(--gold-light);text-align:center;font-size:.78rem;letter-spacing:.04em}
.event-contact{margin:18px 0;padding:14px 16px;border-left:3px solid var(--gold);background:rgba(255,255,255,.04)}
.event-contact p{margin:0}
.event-feature h3{font-size:clamp(2rem,5vw,4rem);color:var(--gold-light);margin:.45rem 0}
.event-announcement{margin:26px 0 30px;padding:24px;border:1px solid rgba(213,166,43,.38);background:linear-gradient(135deg,rgba(74,27,96,.3),rgba(6,6,10,.75));box-shadow:0 18px 50px rgba(0,0,0,.28)}
.event-date-block{text-align:center;margin-bottom:24px}.event-date-block strong{display:block;font-family:var(--serif);font-size:clamp(2.1rem,6vw,4.6rem);color:#fff;margin-top:.65rem}.event-date-block span:not(.badge){display:block;font-family:var(--serif);font-size:clamp(1.5rem,4vw,3rem);color:var(--gold-light)}
.event-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.event-detail-grid .panel{text-align:center}.event-detail-grid .panel h3{color:var(--gold-light)}
.event-coming-soon{margin-top:28px}
@media (max-width:760px){.event-detail-grid{grid-template-columns:1fr}.event-announcement{padding:17px}.nonprofit-status{text-align:left}}


/* Final live-launch updates */
.brand-text strong{letter-spacing:.08em}
.zeffy-newsletter{position:relative;min-height:330px;border:1px solid rgba(213,166,43,.45);border-radius:8px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.zeffy-newsletter iframe{position:absolute;border:0;inset:0;width:100%;height:100%}
.footer-donate-cta{margin-top:34px;padding:24px 26px;border:1px solid var(--gold);border-radius:8px;background:linear-gradient(110deg,rgba(74,23,104,.72),rgba(13,8,19,.95));display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-donate-cta p{margin:0;color:#d8cedd}.footer-donate-cta .footer-title{margin-bottom:6px}.footer-donate-button{min-width:170px}
.founder-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}
.founder-copy p{max-width:760px}.founder-placeholder{padding:14px}.founder-placeholder img{width:100%;height:auto;max-height:650px;object-fit:cover;border-radius:5px}.founder-placeholder figcaption{padding:12px 8px 2px;color:#a99daf;font-size:.75rem;text-align:center}
.wishlist-intro{margin-inline:auto;max-width:820px}.wishlist-grid{margin-top:30px}.wishlist-card .list-clean li{color:#d8cedd}
@media(max-width:880px){.footer-donate-cta,.founder-grid{display:grid;grid-template-columns:1fr}.footer-donate-button{width:100%}.zeffy-newsletter{min-height:390px}}
@media(max-width:620px){.zeffy-newsletter{min-height:440px}.founder-placeholder img{max-height:none}.footer-donate-cta{padding:20px}}

/* Final launch thank-you state */
.thank-you-page{min-height:58vh;display:flex;align-items:center;padding:clamp(4rem,8vw,8rem) 0}
.thank-you-panel{max-width:780px;margin:0 auto;text-align:center;padding:clamp(2rem,5vw,4.5rem)}
.thank-you-panel .btn{margin-top:1.25rem}


.event-poster-card img, .event-poster-standalone img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 1rem;
}
.event-poster-card .card-body {
  text-align: left;
}
.event-poster-standalone {
  margin-top: 2rem;
}
