:root {
  --pink: #e91e8c;
  --hot-pink: #ff3da6;
  --deep-pink: #c2185b;
  --magenta: #d500a8;
  --purple: #6a1fc2;
  --deep-purple: #4a0e8f;
  --lavender: #b39ddb;
  --gold: #f9a825;
  --gold-light: #ffd740;
  --teal: #00b8c8;
  --peach: #ffb085;
  --white: #ffffff;
  --soft-bg: #fdf2fb;
  --text-dark: #2d1060;
  --text-body: #5a3080;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Nunito', sans-serif; background: var(--soft-bg); color: var(--text-dark); overflow-x: hidden; }

/* ─── FONTS ─── */
.script   { font-family: 'Great Vibes', cursive; }
.dancing  { font-family: 'Dancing Script', cursive; }
.pacifico { font-family: 'Pacifico', cursive; }

/* ─── UTILITY ─── */
.container { max-width: 1140px; margin: 0 auto; padding: 0 1.5rem; }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.delay-1 { transition-delay: .1s; }
.delay-2 { transition-delay: .2s; }
.delay-3 { transition-delay: .3s; }
.delay-4 { transition-delay: .4s; }
.delay-5 { transition-delay: .5s; }

/* ─── ANIMATIONS ─── */
@keyframes gradShift { 0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} }
@keyframes flutter { 0%,100%{transform:translateY(0) rotate(-6deg) scaleX(1)} 50%{transform:translateY(-16px) rotate(6deg) scaleX(-1)} }
@keyframes twinkle { 0%,100%{opacity:.2;transform:scale(.6)} 50%{opacity:1;transform:scale(1.3)} }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes pulseGlow { 0%,100%{box-shadow:0 0 20px rgba(233,30,140,.4)} 50%{box-shadow:0 0 40px rgba(233,30,140,.7),0 0 60px rgba(249,168,37,.3)} }
@keyframes bounceDown { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(7px)} }

/* ─────────────────────────────
   NAVIGATION
───────────────────────────── */
nav {
  position: sticky; top: 0; left: 0; right: 0; z-index: 1000;
  padding: .9rem 2rem;
  display: flex; align-items: center; justify-content: space-between;
  background: linear-gradient(135deg, #6a1fc2 0%, #c2156a 100%);
  border-bottom: 1px solid rgba(255,255,255,.2);
  transition: background .3s, box-shadow .3s;
}
nav.scrolled {
  background: rgba(255,255,255,.96);
  box-shadow: 0 2px 24px rgba(106,31,194,.12);
}
nav.scrolled .nav-logo-text, nav.scrolled .nav-logo-sub { color: var(--text-dark); }
nav.scrolled .nav-links a { color: var(--text-dark); }
nav.scrolled .nav-links a:hover { color: var(--pink); }

.nav-logo { display: flex; flex-direction: column; text-decoration: none; line-height: 1; }
.nav-logo-text {
  font-family: 'Great Vibes', cursive;
  font-size: 1.65rem;
  color: white;
  transition: color .3s;
  line-height: 1.1;
}
.nav-logo-sub {
  font-size: .58rem; font-weight: 800;
  letter-spacing: .2em; text-transform: uppercase;
  color: rgba(255,255,255,.75);
  transition: color .3s;
  margin-top: .1rem;
}

.nav-links { display: flex; align-items: center; gap: 1.75rem; list-style: none; }
.nav-links a {
  color: rgba(255,255,255,.9);
  text-decoration: none; font-weight: 700;
  font-size: .83rem; letter-spacing: .04em;
  transition: color .2s;
}
.nav-links a:hover { color: var(--gold); }

.btn-donate {
  background: linear-gradient(135deg, var(--hot-pink), var(--deep-pink));
  color: white; border: none; cursor: pointer;
  padding: .55rem 1.35rem;
  border-radius: 999px;
  font-family: 'Nunito', sans-serif;
  font-size: .85rem; font-weight: 800;
  text-decoration: none;
  box-shadow: 0 4px 18px rgba(233,30,140,.45);
  transition: transform .2s, box-shadow .2s;
  display: inline-flex; align-items: center; gap: .35rem;
}
.btn-donate:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(233,30,140,.55); }

.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: .2rem; }
.hamburger span { display: block; width: 22px; height: 2px; background: white; border-radius: 2px; transition: .3s; }
nav.scrolled .hamburger span { background: var(--text-dark); }

/* ─────────────────────────────
   HERO — two-column
───────────────────────────── */
#hero {
  min-height: 100vh;
  background: linear-gradient(145deg, #3d0c82 0%, #7b1aa8 20%, #c2156a 50%, #e8491a 75%, #f9a825 100%);
  background-size: 300% 300%;
  animation: gradShift 14s ease infinite;
  position: relative; overflow: hidden;
  display: flex; align-items: center;
  padding: 7rem 0 3rem;
}

/* layered glow spheres */
.hero-glow-1 { position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(255,100,200,.25)0%,transparent 65%);top:-100px;left:-100px;pointer-events:none; }
.hero-glow-2 { position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(249,168,37,.2)0%,transparent 65%);bottom:-80px;right:-80px;pointer-events:none; }
.hero-glow-3 { position:absolute;width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.1)0%,transparent 70%);top:30%;left:30%;pointer-events:none; }

/* butterflies */
.bf { position:absolute;font-size:2.2rem;pointer-events:none;animation:flutter 5s ease-in-out infinite; }
.bf:nth-child(1){top:8%;left:5%;animation-delay:0s;font-size:2.8rem}
.bf:nth-child(2){top:6%;right:6%;animation-delay:1.2s;font-size:3.2rem}
.bf:nth-child(3){top:22%;left:2%;animation-delay:2.5s;font-size:2rem}
.bf:nth-child(4){bottom:28%;right:3%;animation-delay:.7s;font-size:2.4rem}
.bf:nth-child(5){top:40%;right:1%;animation-delay:1.8s;font-size:1.8rem}

/* sparkles */
.sp { position:absolute;color:var(--gold-light);pointer-events:none;animation:twinkle 3s ease-in-out infinite;font-size:1.1rem; }
.sp:nth-child(6){top:15%;left:18%;animation-delay:.3s}
.sp:nth-child(7){top:35%;left:8%;animation-delay:1s}
.sp:nth-child(8){top:12%;right:20%;animation-delay:.6s}
.sp:nth-child(9){bottom:35%;left:20%;animation-delay:1.5s}
.sp:nth-child(10){bottom:25%;right:22%;animation-delay:.9s}
.sp:nth-child(11){top:55%;right:10%;animation-delay:2s}

/* hearts */
.ht { position:absolute;pointer-events:none;font-size:1.4rem;animation:float 4s ease-in-out infinite;opacity:.6; }
.ht:nth-child(12){top:20%;left:38%;animation-delay:.5s}
.ht:nth-child(13){top:70%;left:12%;animation-delay:1.4s;font-size:1rem}
.ht:nth-child(14){bottom:20%;right:38%;animation-delay:2.2s;font-size:1.8rem}

/* flowers */
.fl { position:absolute;font-size:2rem;pointer-events:none;opacity:.5;animation:float 6s ease-in-out infinite; }
.fl:nth-child(15){bottom:10%;left:5%;animation-delay:1s}
.fl:nth-child(16){bottom:15%;right:8%;animation-delay:2s}

.hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
  position: relative; z-index: 2;
  max-width: 1140px; margin: 0 auto; padding: 0 2rem;
  width: 100%;
}

/* LEFT */
.hero-left {}
.hero-eyebrow {
  font-size: .78rem; font-weight: 800;
  letter-spacing: .22em; text-transform: uppercase;
  color: rgba(255,255,255,.75); margin-bottom: .9rem;
  display: flex; align-items: center; gap: .4rem;
}
.hero-title-becoming {
  font-family: 'Great Vibes', cursive;
  font-size: clamp(4.5rem, 9vw, 7.5rem);
  color: white; line-height: .95;
  text-shadow: 0 4px 24px rgba(100,0,80,.4), 2px 2px 0 rgba(200,0,100,.3);
  margin-bottom: -.2rem;
}
.hero-title-her {
  font-family: 'Great Vibes', cursive;
  font-size: clamp(5.5rem, 11vw, 9.5rem);
  line-height: .9;
  background: linear-gradient(135deg, #ffd740, #ff9800, #ffd740);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  text-shadow: none;
  filter: drop-shadow(2px 4px 12px rgba(249,168,37,.5));
  display: block; margin-bottom: .5rem;
}
/* crown on Her */
.crown-wrap { position: relative; display: inline-block; }
.crown-wrap::before { content: '👑'; position:absolute; top:-1.4rem; right:-.5rem; font-size:1.8rem; animation: float 3s ease-in-out infinite; }

.hero-brush {
  display: inline-block;
  position: relative;
  font-family: 'Playfair Display', serif;
  font-weight: 900;
  font-size: clamp(.9rem, 2.2vw, 1.2rem);
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--deep-purple);
  padding: .55rem 1.8rem;
  margin: .5rem 0 1rem;
  z-index: 1;
}
.hero-brush::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(90deg, var(--gold) 0%, #ffb300 100%);
  border-radius: 6px;
  transform: skewX(-3deg);
  z-index: -1;
  box-shadow: 0 4px 18px rgba(249,168,37,.45);
}

.hero-sub-script {
  font-family: 'Dancing Script', cursive;
  font-size: clamp(1.4rem, 3vw, 2rem);
  color: rgba(255,255,255,.95);
  display: flex; align-items: center; gap: .4rem;
  margin-bottom: 1.8rem;
  text-shadow: 0 2px 10px rgba(0,0,0,.2);
}
.hero-sub-script span { font-size: .8em; color: var(--gold-light); }

.hero-btns { display: flex; gap: 1rem; flex-wrap: wrap; }
.btn-hero-solid {
  background: linear-gradient(135deg, var(--hot-pink), var(--magenta));
  color: white; border: none; cursor: pointer;
  padding: .85rem 2rem; border-radius: 999px;
  font-family: 'Nunito', sans-serif;
  font-size: .95rem; font-weight: 800;
  text-decoration: none;
  box-shadow: 0 6px 24px rgba(213,0,168,.4);
  transition: transform .2s, box-shadow .2s;
  display: inline-flex; align-items: center; gap: .4rem;
}
.btn-hero-solid:hover { transform: translateY(-3px); box-shadow: 0 10px 32px rgba(213,0,168,.55); }
.btn-hero-outline {
  background: transparent;
  color: white; border: 2px solid rgba(255,255,255,.75);
  padding: .82rem 2rem; border-radius: 999px;
  font-family: 'Nunito', sans-serif;
  font-size: .95rem; font-weight: 700;
  text-decoration: none;
  transition: background .2s, transform .2s;
  display: inline-flex; align-items: center; gap: .4rem;
}
.btn-hero-outline:hover { background: rgba(255,255,255,.15); transform: translateY(-3px); }

/* RIGHT — image placeholder */
.hero-right { position: relative; }
.hero-img-wrap {
  position: relative;
  border-radius: 50% 40% 45% 35% / 40% 45% 35% 50%;
  overflow: hidden;
  aspect-ratio: .9;
  max-height: 520px;
  background: linear-gradient(160deg, rgba(255,150,200,.3), rgba(160,60,220,.3));
  border: 3px solid rgba(255,255,255,.3);
  box-shadow: 0 20px 70px rgba(100,0,150,.35), 0 0 0 8px rgba(255,255,255,.1);
}
.hero-img-wrap img { width:100%;height:100%;object-fit:cover; }
.hero-img-placeholder {
  width:100%; height:100%;
  background: linear-gradient(160deg, rgba(255,100,180,.25) 0%, rgba(120,40,200,.25) 50%, rgba(255,140,0,.2) 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:rgba(255,255,255,.6); text-align:center; padding:2rem; gap:.5rem;
}
.hip-emoji { font-size: 5rem; }
.hip-text { font-family:'Great Vibes',cursive; font-size:2rem; color:rgba(255,255,255,.8); }
.hip-sub { font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; opacity:.6; }

/* decorative ring around image */
.hero-ring {
  position: absolute; inset: -16px; border-radius: inherit;
  background: conic-gradient(from 0deg, var(--hot-pink), var(--gold), var(--purple), var(--teal), var(--hot-pink));
  z-index: -1; opacity: .5;
  border-radius: 55% 45% 50% 40% / 45% 50% 40% 55%;
}
/* floating badges on hero right */
.hero-badge {
  position: absolute;
  background: rgba(255,255,255,.95);
  border-radius: 14px;
  padding: .6rem 1rem;
  display: flex; align-items: center; gap: .5rem;
  box-shadow: 0 8px 28px rgba(0,0,0,.15);
  font-weight: 800; font-size: .8rem; color: var(--text-dark);
  animation: float 4s ease-in-out infinite;
  white-space: nowrap;
}
.hb-1 { top: 8%; right: -4%; animation-delay: 0s; }
.hb-2 { bottom: 18%; right: -6%; animation-delay: 1.5s; }
.hb-3 { bottom: 5%; left: 2%; animation-delay: .8s; }
.hero-badge-dot { width:10px;height:10px;border-radius:50%; }
.hbd-pink { background:var(--pink); }
.hbd-gold { background:var(--gold); }
.hbd-teal { background:var(--teal); }

/* scroll caret */
.hero-caret {
  position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%);
  color:rgba(255,255,255,.55); font-size:.7rem; letter-spacing:.15em;
  text-transform:uppercase; display:flex; flex-direction:column; align-items:center; gap:.4rem;
  animation: bounceDown 2.5s ease infinite; pointer-events:none;
}
.hero-caret::after {
  content:''; width:1px; height:36px;
  background:linear-gradient(to bottom,rgba(255,255,255,.5),transparent);
}

/* ─────────────────────────────
   WAVE DIVIDER
───────────────────────────── */
.wave-top {
  width:100%; overflow:hidden; line-height:0; background:var(--soft-bg);
}
.wave-top svg { display:block; }

/* ─────────────────────────────
   MISSION & VISION
───────────────────────────── */
#mission {
  background: var(--soft-bg);
  padding: 5rem 1.5rem;
  position: relative; overflow: hidden;
}
#mission::before {
  content:'';position:absolute;top:-60px;left:-60px;
  width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(233,30,140,.09)0%,transparent 70%);
  pointer-events:none;
}

.mission-heading-wrap {
  display:flex; align-items:center; gap:.75rem; margin-bottom:2.5rem;
}
.mission-heading {
  font-family:'Great Vibes',cursive;
  font-size:clamp(2.4rem,5vw,3.4rem);
  color:var(--text-dark);
}
.mission-heading-deco {
  font-size:1.5rem; color:var(--gold);
  animation:float 3s ease-in-out infinite;
}
.mission-line { flex:1; height:2px; background:linear-gradient(90deg,rgba(233,30,140,.3),transparent); }

.mission-grid {
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:2rem; align-items:start;
}
.mission-grid-2col {
  display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start;
}

.mission-col-head {
  font-weight:800; font-size:.9rem;
  color:var(--pink);
  display:flex; align-items:center; gap:.45rem;
  margin-bottom:.65rem;
}
.mission-col-head.v { color:var(--purple); }
.mission-col-title {
  font-family:'Playfair Display',serif;
  font-size:1.35rem; font-weight:700;
  color:var(--text-dark); margin-bottom:.75rem;
}
.mission-col p { color:var(--text-body); line-height:1.8; font-size:.95rem; }

.mission-divider {
  width:2px; background:linear-gradient(to bottom,transparent,rgba(233,30,140,.3),transparent);
  align-self:stretch; margin:0 .5rem;
}

/* quote brush box */
.quote-brush {
  background: linear-gradient(135deg, var(--deep-purple) 0%, var(--purple) 60%, #9c27b0 100%);
  border-radius: 18px;
  padding: 2.2rem 2rem;
  position: relative; overflow: hidden;
  box-shadow: 0 16px 48px rgba(74,14,143,.3);
}
.quote-brush::before {
  content:'';position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 80 Q50 30 100 80 T200 80 T300 80 T400 80 L400 0 L0 0 Z' fill='rgba(255,255,255,0.04)'/%3E%3C/svg%3E") bottom/cover no-repeat;
  pointer-events:none;
}
.quote-brush::after {
  content:'"'; position:absolute; top:-30px; left:10px;
  font-size:9rem; font-family:'Great Vibes',cursive;
  color:rgba(255,255,255,.1); pointer-events:none; line-height:1;
}
.quote-brush-text {
  font-family:'Great Vibes',cursive;
  font-size:clamp(1.7rem,3.5vw,2.3rem);
  color:white; line-height:1.35;
  text-shadow:0 2px 12px rgba(0,0,0,.2);
  position:relative; z-index:1;
}
.quote-hearts { margin-top:1rem; color:var(--gold-light); font-size:1.2rem; position:relative;z-index:1; }

/* ─────────────────────────────
   CORE VALUES — PREMIUM
───────────────────────────── */
#values {
  background: linear-gradient(160deg, #fce4f5 0%, #f0e6ff 40%, #ffe8f5 70%, #fff3e0 100%);
  padding: 6rem 1.5rem;
  position: relative; overflow: hidden;
}
#values::before {
  content: '';
  position: absolute; top: -120px; right: -120px;
  width: 500px; height: 500px; border-radius: 50%;
  background: radial-gradient(circle, rgba(233,30,140,.07) 0%, transparent 65%);
  pointer-events: none;
}
#values::after {
  content: '';
  position: absolute; bottom: -80px; left: -80px;
  width: 400px; height: 400px; border-radius: 50%;
  background: radial-gradient(circle, rgba(106,31,194,.07) 0%, transparent 65%);
  pointer-events: none;
}

.values-heading-wrap {
  text-align: center; margin-bottom: 4rem;
  display: flex; flex-direction: column; align-items: center; gap: .6rem;
  position: relative; z-index: 1;
}
.values-eyebrow {
  font-size: .7rem; font-weight: 800; letter-spacing: .25em;
  text-transform: uppercase; color: var(--pink);
  display: flex; align-items: center; gap: .6rem;
}
.values-eyebrow::before, .values-eyebrow::after {
  content: ''; display: block; width: 40px; height: 1.5px;
  background: linear-gradient(90deg, transparent, rgba(233,30,140,.5));
}
.values-eyebrow::after { transform: scaleX(-1); }
.values-title {
  font-family: 'Great Vibes', cursive;
  font-size: clamp(2.8rem, 5.5vw, 4rem);
  color: var(--text-dark);
  line-height: 1;
}
.values-subtitle {
  font-size: .88rem; color: var(--text-body);
  max-width: 460px; text-align: center; line-height: 1.7;
}

/* Grid */
.values-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.4rem;
  position: relative; z-index: 1;
}

/* Card base */
.val-card {
  position: relative;
  border-radius: 28px;
  padding: 2.2rem 1.2rem 1.8rem;
  text-align: center;
  cursor: default;
  overflow: hidden;
  transition: transform .4s cubic-bezier(.175,.885,.32,1.275), box-shadow .4s ease;
  isolation: isolate;
}

/* glass layer */
.val-card::before {
  content: '';
  position: absolute; inset: 0; border-radius: 28px;
  background: rgba(255,255,255,.65);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1.5px solid rgba(255,255,255,.85);
  z-index: -1;
  transition: background .4s;
}

/* colored glow slab behind each card */
.val-card::after {
  content: '';
  position: absolute; inset: 6px; border-radius: 24px;
  opacity: 0;
  transition: opacity .4s;
  z-index: -2;
  filter: blur(18px);
}

.val-card:hover { transform: translateY(-12px) scale(1.03); }
.val-card:hover::before { background: rgba(255,255,255,.8); }
.val-card:hover::after { opacity: 1; }

/* per-card accent colors */
.val-card-1 { box-shadow: 0 8px 32px rgba(244,143,177,.25), 0 2px 8px rgba(233,30,140,.08); }
.val-card-1::after { background: radial-gradient(circle, #f48fb1, #e91e8c); }
.val-card-1:hover { box-shadow: 0 24px 56px rgba(233,30,140,.28), 0 8px 20px rgba(244,143,177,.3); }

.val-card-2 { box-shadow: 0 8px 32px rgba(156,39,176,.2), 0 2px 8px rgba(106,31,194,.08); }
.val-card-2::after { background: radial-gradient(circle, #ce93d8, #9c27b0); }
.val-card-2:hover { box-shadow: 0 24px 56px rgba(106,31,194,.28), 0 8px 20px rgba(156,39,176,.3); }

.val-card-3 { box-shadow: 0 8px 32px rgba(255,179,0,.22), 0 2px 8px rgba(249,168,37,.1); }
.val-card-3::after { background: radial-gradient(circle, #ffd740, #f9a825); }
.val-card-3:hover { box-shadow: 0 24px 56px rgba(249,168,37,.35), 0 8px 20px rgba(255,179,0,.3); }

.val-card-4 { box-shadow: 0 8px 32px rgba(0,172,193,.2), 0 2px 8px rgba(0,184,200,.08); }
.val-card-4::after { background: radial-gradient(circle, #80deea, #00acc1); }
.val-card-4:hover { box-shadow: 0 24px 56px rgba(0,172,193,.28), 0 8px 20px rgba(0,184,200,.3); }

.val-card-5 { box-shadow: 0 8px 32px rgba(213,0,168,.2), 0 2px 8px rgba(233,30,140,.08); }
.val-card-5::after { background: radial-gradient(circle, #ff80ab, #d500a8); }
.val-card-5:hover { box-shadow: 0 24px 56px rgba(213,0,168,.28), 0 8px 20px rgba(255,128,171,.3); }

/* Icon ring */
.val-icon {
  width: 78px; height: 78px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 2rem; margin: 0 auto 1.1rem;
  position: relative;
  transition: transform .4s cubic-bezier(.175,.885,.32,1.275);
}
.val-card:hover .val-icon { transform: scale(1.15) rotate(-5deg); }

/* icon ring pulse */
.val-icon::after {
  content: '';
  position: absolute; inset: -5px; border-radius: 50%;
  border: 2px solid transparent;
  opacity: 0; transition: opacity .4s, transform .4s;
  transform: scale(.85);
}
.val-card:hover .val-icon::after { opacity: 1; transform: scale(1); }

.vi-pink    { background: radial-gradient(135deg, #fce4ec 30%, #f48fb1 100%); box-shadow: 0 4px 18px rgba(233,30,140,.25); }
.vi-pink::after { border-color: rgba(233,30,140,.4); }
.vi-purple  { background: radial-gradient(135deg, #ede7f6 30%, #ce93d8 100%); box-shadow: 0 4px 18px rgba(156,39,176,.25); }
.vi-purple::after { border-color: rgba(156,39,176,.4); }
.vi-gold    { background: radial-gradient(135deg, #fff8e1 30%, #ffd740 100%); box-shadow: 0 4px 18px rgba(249,168,37,.3); }
.vi-gold::after { border-color: rgba(249,168,37,.5); }
.vi-teal    { background: radial-gradient(135deg, #e0f7fa 30%, #80deea 100%); box-shadow: 0 4px 18px rgba(0,172,193,.25); }
.vi-teal::after { border-color: rgba(0,172,193,.4); }
.vi-magenta { background: radial-gradient(135deg, #fce4ec 30%, #ff80ab 100%); box-shadow: 0 4px 18px rgba(213,0,168,.25); }
.vi-magenta::after { border-color: rgba(213,0,168,.4); }

/* top accent stripe */
.val-stripe {
  position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: 48px; height: 3px; border-radius: 0 0 4px 4px;
  transition: width .4s ease;
}
.val-card:hover .val-stripe { width: 80%; }
.vs-pink    { background: linear-gradient(90deg, #f48fb1, #e91e8c); }
.vs-purple  { background: linear-gradient(90deg, #ce93d8, #9c27b0); }
.vs-gold    { background: linear-gradient(90deg, #ffd740, #f9a825); }
.vs-teal    { background: linear-gradient(90deg, #80deea, #00acc1); }
.vs-magenta { background: linear-gradient(90deg, #ff80ab, #d500a8); }

.val-name {
  font-family: 'Playfair Display', serif;
  font-size: 1.05rem; font-weight: 700;
  color: var(--text-dark); margin-bottom: .45rem;
  transition: color .3s;
}
.val-card-1:hover .val-name { color: #c2185b; }
.val-card-2:hover .val-name { color: #6a1fc2; }
.val-card-3:hover .val-name { color: #e65100; }
.val-card-4:hover .val-name { color: #00838f; }
.val-card-5:hover .val-name { color: #ad1457; }

.val-desc { font-size: .8rem; color: var(--text-body); line-height: 1.6; }

/* stagger entrance */
@keyframes cardRise {
  from { opacity: 0; transform: translateY(40px) scale(.95); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.val-card.visible {
  animation: cardRise .6s cubic-bezier(.175,.885,.32,1.275) forwards;
}
.val-card { opacity: 0; }
.val-card-1.visible { animation-delay: .05s; }
.val-card-2.visible { animation-delay: .15s; }
.val-card-3.visible { animation-delay: .25s; }
.val-card-4.visible { animation-delay: .35s; }
.val-card-5.visible { animation-delay: .45s; }

/* ─────────────────────────────
   EVENTS + ABOUT (combined row)
───────────────────────────── */
#events-about {
  background:linear-gradient(135deg,#f8eaff 0%,#ffe0f5 50%,#fff3e0 100%);
  padding:5rem 1.5rem;
}

.ea-heading-wrap { display:flex;align-items:center;gap:.75rem;margin-bottom:2.5rem; }
.ea-heading { font-family:'Great Vibes',cursive;font-size:clamp(2.2rem,4vw,3rem);color:var(--text-dark); }
.ea-heart { font-size:1.5rem;color:var(--pink);animation:float 3s ease-in-out infinite; }

.ea-grid {
  display:grid;
  grid-template-columns:1fr 1.15fr .85fr;
  gap:2rem; align-items:start;
}

/* flyer column */
.flyer-col { position:relative; }
.flyer-col::before {
  content:''; position:absolute;inset:-10px;
  border-radius:22px;
  background:linear-gradient(135deg,var(--hot-pink),var(--gold),var(--purple));
  z-index:0; opacity:.55;
}
.flyer-img-wrap {
  position:relative;z-index:1;
  border-radius:16px; overflow:hidden;
  box-shadow:0 20px 56px rgba(0,0,0,.22);
}
.flyer-img-wrap img { width:100%;height:auto;display:block; }
.flyer-placeholder-v2 {
  width:100%;height:100%;
  background:linear-gradient(160deg,#ff4db8,#7b2ff7,#f9a825);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:white;text-align:center;padding:2rem;
}
.fpv2-title { font-family:'Great Vibes',cursive;font-size:2.2rem;line-height:1.1;margin-bottom:.4rem; }
.fpv2-sub { font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;opacity:.85; }
.fpv2-date { margin-top:1.5rem;font-size:.78rem;opacity:.75; }

/* event details column */
.event-col {}
.event-col-title {
  font-family:'Playfair Display',serif;
  font-size:1.35rem;font-weight:700;
  color:var(--text-dark);margin-bottom:.5rem;line-height:1.3;
}
.event-col-tagline { font-size:.88rem;color:var(--text-body);line-height:1.65;margin-bottom:1.5rem; }

.evt-meta-item {
  display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.9rem;
}
.evt-icon {
  width:36px;height:36px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:1rem;
}
.ei-pink   { background:rgba(233,30,140,.12); }
.ei-purple { background:rgba(106,31,194,.12); }
.ei-teal   { background:rgba(0,184,200,.12); }
.ei-gold   { background:rgba(249,168,37,.12); }
.evt-lbl { font-size:.67rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-body); }
.evt-val { font-size:.95rem;font-weight:700;color:var(--text-dark); }
.evt-val.highlight { color:var(--pink);font-size:1.05rem; }

.badge-limited {
  display:inline-flex;align-items:center;gap:.4rem;
  background:rgba(233,30,140,.1);border:1.5px solid rgba(233,30,140,.3);
  border-radius:999px;padding:.35rem 1rem;
  font-size:.75rem;font-weight:800;color:var(--pink);
  letter-spacing:.06em;margin-bottom:1.25rem;
}

.btn-register {
  background:linear-gradient(135deg,var(--hot-pink),var(--magenta));
  color:white;border:none;cursor:pointer;
  padding:.85rem 2rem;border-radius:999px;
  font-family:'Nunito',sans-serif;font-size:.95rem;font-weight:800;
  text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;
  box-shadow:0 6px 22px rgba(213,0,168,.35);
  transition:transform .2s,box-shadow .2s;
}
.btn-register:hover { transform:translateY(-3px);box-shadow:0 10px 32px rgba(213,0,168,.5); }

.evt-phone {
  margin-top:1rem;font-size:.85rem;color:var(--text-body);
  display:flex;align-items:center;gap:.4rem;
}
.evt-phone a { color:var(--purple);font-weight:800;text-decoration:none; }
.evt-phone a:hover { text-decoration:underline; }

/* about column */
.about-col { display:flex;flex-direction:column;gap:1.5rem; }
.about-heading-wrap { display:flex;align-items:center;gap:.5rem; }
.about-heading { font-family:'Great Vibes',cursive;font-size:2rem;color:var(--text-dark); }

.about-col p {
  font-size:.88rem;color:var(--text-body);
  line-height:1.8;
}

.btn-learn {
  background:transparent;
  border:2px solid var(--purple);
  color:var(--purple);
  padding:.65rem 1.5rem;border-radius:999px;
  font-family:'Nunito',sans-serif;font-size:.85rem;font-weight:800;
  text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;
  transition:background .2s,color .2s;
}
.btn-learn:hover { background:var(--purple);color:white; }

/* ─────────────────────────────
   CONTACT
───────────────────────────── */
#contact {
  background:linear-gradient(160deg,#7b1aa8 0%,#c2156a 60%,#e8491a 100%);
  padding:5rem 1.5rem;
  position:relative;overflow:hidden;
}
#contact::before {
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 50% 70% at 10% 50%,rgba(255,255,255,.07) 0%,transparent 70%),
    radial-gradient(ellipse 40% 60% at 90% 30%,rgba(249,168,37,.12) 0%,transparent 65%);
  pointer-events:none;
}

.contact-grid {
  display:grid;grid-template-columns:1fr 1.3fr 1fr;
  gap:3rem;align-items:start;
  position:relative;z-index:2;
}

/* contact info */
.ci-heading { font-family:'Great Vibes',cursive;font-size:clamp(2rem,4vw,3rem);color:white;margin-bottom:.3rem;display:flex;align-items:center;gap:.4rem; }
.ci-sub { font-size:.8rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:2rem; }

.ci-item {
  display:flex;align-items:center;gap:.85rem;margin-bottom:1.1rem;
}
.ci-icon-wrap {
  width:44px;height:44px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.25);
}
.ci-lbl { font-size:.67rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6); }
.ci-val { font-size:.9rem;font-weight:700;color:white; }
.ci-val a { color:var(--gold-light);text-decoration:none; }
.ci-val a:hover { text-decoration:underline; }

/* contact form */
.contact-form-box {
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.25);
  border-radius:24px;
  padding:2.2rem;
}
.cf-title { font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:white;margin-bottom:1.5rem; }

.cf-row { display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:.9rem; }
.cf-group { display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem; }
.cf-group input, .cf-group textarea, .cf-group select {
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.3);
  border-radius:10px;
  padding:.75rem 1rem;
  font-family:'Nunito',sans-serif;font-size:.88rem;
  color:white;
  outline:none;
  transition:background .2s,border-color .2s;
  width:100%;
}
.cf-group input::placeholder,
.cf-group textarea::placeholder { color:rgba(255,255,255,.55); }
.cf-group input:focus,
.cf-group textarea:focus {
  background:rgba(255,255,255,.25);
  border-color:var(--gold-light);
}
.cf-group textarea { resize:vertical;min-height:90px; }

.btn-send {
  background:linear-gradient(135deg,var(--hot-pink),var(--magenta));
  color:white;border:none;cursor:pointer;
  padding:.85rem 2rem;border-radius:12px;
  font-family:'Nunito',sans-serif;font-size:.92rem;font-weight:800;
  box-shadow:0 6px 22px rgba(213,0,168,.4);
  transition:transform .2s,box-shadow .2s;
  display:flex;align-items:center;gap:.4rem;
  width:100%;justify-content:center;
}
.btn-send:hover { transform:translateY(-2px);box-shadow:0 10px 32px rgba(213,0,168,.55); }

/* contact quote panel */
.contact-quote-panel {
  background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.2);
  border-radius:24px;
  padding:2.2rem 1.8rem;
  backdrop-filter:blur(8px);
}
.cqp-text {
  font-family:'Great Vibes',cursive;
  font-size:clamp(1.5rem,3vw,2rem);
  color:white;line-height:1.4;
  text-shadow:0 2px 12px rgba(0,0,0,.2);
  margin-bottom:1.5rem;
}
.cqp-hearts { font-size:1.5rem;display:flex;flex-direction:column;gap:.5rem; }
.cqp-star { color:var(--gold-light);font-size:1rem;display:flex;gap:.3rem; }

/* ─────────────────────────────
   FOOTER
───────────────────────────── */
footer {
  background:linear-gradient(135deg,#1a0533 0%,#4a0e8f 40%,#7b1aa8 100%);
  color:white;
  padding:3rem 1.5rem 1.5rem;
}

.footer-inner {
  max-width:1140px;margin:0 auto;
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem;
  padding-bottom:2.5rem;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.f-brand { font-family:'Great Vibes',cursive;font-size:2.1rem;color:white;margin-bottom:.3rem; }
.f-sub { font-size:.6rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:1rem; }
.f-desc { font-size:.83rem;color:rgba(255,255,255,.6);line-height:1.7;margin-bottom:1.25rem; }

.f-socials { display:flex;gap:.6rem; }
.f-social {
  width:36px;height:36px;border-radius:9px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;text-decoration:none;color:white;
  transition:background .2s,transform .2s;
}
.f-social:hover { background:rgba(233,30,140,.4);transform:translateY(-2px); }

.f-col-title { font-size:.7rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem; }
.f-links { list-style:none;display:flex;flex-direction:column;gap:.55rem; }
.f-links a { color:rgba(255,255,255,.6);text-decoration:none;font-size:.85rem;transition:color .2s; }
.f-links a:hover { color:var(--gold); }

.footer-bottom {
  max-width:1140px;margin:0 auto;
  padding-top:2rem;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:1rem;
}
.footer-tagline {
  font-family:'Great Vibes',cursive;
  font-size:1.5rem;
  background:linear-gradient(90deg,var(--hot-pink),var(--gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.footer-copy { font-size:.75rem;color:rgba(255,255,255,.35); }

.footer-social-row { display:flex;align-items:center;gap:.6rem; }
.footer-social-label { font-size:.7rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.45); }

/* ─────────────────────────────
   RESPONSIVE
───────────────────────────── */
@media(max-width:1024px){
  .values-grid { grid-template-columns:repeat(3,1fr); }
  .ea-grid { grid-template-columns:1fr 1fr; }
  .about-col { display:none; }
  .contact-grid { grid-template-columns:1fr 1fr; }
  .contact-quote-panel { display:none; }
  .footer-inner { grid-template-columns:1fr 1fr; }
}
@media(max-width:768px){
  .hero-inner { grid-template-columns:1fr; text-align:center; }
  .mission-grid-2col { grid-template-columns:1fr; }
  .hero-right { display:none; }
  .hero-btns { justify-content:center; }
  .mission-grid { grid-template-columns:1fr; }
  .mission-divider { display:none; }
  .values-grid { grid-template-columns:repeat(2,1fr); }
  .ea-grid { grid-template-columns:1fr; }
  .flyer-col { max-width:300px; margin:0 auto; }
  .contact-grid { grid-template-columns:1fr; }
  .nav-links { display:none;flex-direction:column;position:fixed;top:70px;left:0;right:0;background:rgba(255,255,255,.97);padding:2rem;gap:1.1rem;box-shadow:0 12px 40px rgba(0,0,0,.1);z-index:999; }
  .nav-links.open { display:flex; }
  .nav-links a { color:var(--text-dark) !important;font-size:.95rem; }
  .hamburger { display:flex; }
  .footer-inner { grid-template-columns:1fr; gap:1.5rem; }
  .footer-bottom { flex-direction:column;text-align:center; }
  .cf-row { grid-template-columns:1fr; }
}
@media(max-width:480px){
  .values-grid { grid-template-columns:repeat(2,1fr); }
  .hero-title-becoming { font-size:3.5rem; }
  .hero-title-her { font-size:4.5rem; }
}


/* Production cleanup: mobile header fix */
nav { min-height: 74px; }
#hero { scroll-margin-top: 74px; }
@media (max-width: 768px) {
  /* Solid, opaque header on mobile so it never visually overlaps
     the hero image when sticky-scrolled. Drops the translucent blur
     used on desktop. */
  nav {
    min-height: 96px;
    padding: .85rem 1.25rem;
    background: linear-gradient(135deg, #6a1fc2 0%, #c2156a 100%);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-bottom: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 2px 14px rgba(106,31,194,.18);
  }
  /* Keep the logo white on mobile even when the page is scrolled,
     since the bg stays the brand gradient. */
  nav.scrolled {
    background: linear-gradient(135deg, #6a1fc2 0%, #c2156a 100%);
    box-shadow: 0 2px 14px rgba(106,31,194,.25);
  }
  nav.scrolled .nav-logo-text,
  nav.scrolled .nav-logo-sub { color: white; }
  nav.scrolled .hamburger span { background: white; }

  .nav-logo-text {
    font-size: clamp(1.7rem, 7.2vw, 2.25rem);
    line-height: 1;
  }
  .nav-logo-sub {
    font-size: clamp(.55rem, 2.2vw, .68rem);
    letter-spacing: .22em;
    margin-top: .3rem;
  }
  .hamburger span {
    width: 28px;
    height: 3px;
  }
  .nav-links {
    top: 96px;
  }
}
@media (max-width: 420px) {
  nav {
    min-height: 86px;
    padding: .75rem 1rem;
  }
  .nav-logo-text {
    font-size: 1.85rem;
  }
  .nav-logo-sub {
    font-size: .55rem;
  }
  .nav-links {
    top: 86px;
  }
}
