/* The Leadin' Lady Foundation — site template (from the Website & Digital marketing deck) */
:root{
  --royal:#5a1e8c;--royal-dark:#43146b;--violet:#7b4bb3;--lilac:#b99ad9;
  --lav-50:#faf7fd;--lav-100:#f3ecfa;--lav-200:#e6d8f4;--lav-300:#d4bfec;
  --ink:#2a1f35;--muted:#65596f;--line:#e7def0;--white:#fff;
  --serif:"Cinzel",Georgia,"Times New Roman",serif;--sans:"Nunito Sans",Arial,Helvetica,sans-serif;
  --radius:18px;--shadow:0 10px 30px rgba(74,28,122,.09)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.65;font-size:1.02rem}
img{max-width:100%;height:auto}a{color:var(--royal)}
.container{max-width:1160px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:100}
.sr-only,.hidden{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Headings */
h1,h2,h3{font-family:var(--serif);color:var(--royal-dark);line-height:1.15;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2.3rem,5.6vw,4.2rem);letter-spacing:.02em;text-transform:uppercase}
h2{font-size:clamp(1.6rem,3.2vw,2.4rem);letter-spacing:.02em}
h3{font-size:1.12rem;letter-spacing:.03em;color:var(--royal)}
.eyebrow{display:inline-block;font-family:var(--sans);font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;color:var(--violet);margin-bottom:10px}
.section-tag{display:inline-block;background:var(--royal);color:#fff;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;padding:8px 16px;margin-bottom:18px}
p.lead,.lead{font-size:1.1rem;color:var(--muted);max-width:800px}
.tagline{font-family:var(--serif);font-size:clamp(1.05rem,2vw,1.35rem);color:var(--violet);font-weight:600;margin:0 0 6px}
.help,.small,small{font-size:.85rem;color:var(--muted)}.required{color:#a1245b}

/* Header */
.site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:80px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--royal-dark)}
.brand-mark{width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 50% 35%,var(--lilac),var(--royal) 70%);display:grid;place-items:center;color:#fff;font-family:var(--serif);font-weight:700;font-size:1.05rem;box-shadow:0 4px 12px rgba(90,30,140,.3)}
.brand-text{font-family:var(--serif);font-weight:700;letter-spacing:.05em;font-size:1rem;line-height:1.15}
.brand-text small{display:block;font-family:var(--sans);font-size:.66rem;letter-spacing:.2em;color:var(--violet);font-weight:800}
.mainnav{display:flex;align-items:center;gap:22px}
.mainnav>a,.drop-toggle{font:700 .9rem var(--sans);color:var(--ink);text-decoration:none;background:none;border:0;padding:6px 0;cursor:pointer}
.mainnav>a:hover,.drop-toggle:hover,.mainnav>a[aria-current]{color:var(--royal)}
.mainnav>a[aria-current]{box-shadow:inset 0 -2px 0 var(--royal)}
.mainnav .nav-cta{background:var(--royal);color:#fff;padding:10px 20px;border-radius:999px}
.mainnav .nav-cta:hover{background:var(--royal-dark);color:#fff}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font:700 .9rem var(--sans);color:var(--royal);cursor:pointer}

/* Dropdown */
.dropdown{position:relative}
.drop-menu{display:none;position:absolute;left:50%;transform:translateX(-50%);top:100%;margin:0;padding:8px 0;list-style:none;min-width:270px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 36px rgba(74,28,122,.16);z-index:60}
.drop-menu a{display:block;padding:8px 18px;font-weight:700;font-size:.9rem;text-decoration:none;color:var(--ink)}
.drop-menu a:hover,.drop-menu a:focus{background:var(--lav-100);color:var(--royal)}
.drop-label{padding:10px 18px 4px;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--violet)}
.drop-label:not(:first-child){border-top:1px solid var(--lav-200);margin-top:6px}
.dropdown:hover .drop-menu,.dropdown:focus-within .drop-menu,.dropdown.open .drop-menu{display:block}

/* Buttons */
.button,.btn{display:inline-block;background:var(--royal);color:#fff;text-decoration:none;border:2px solid var(--royal);border-radius:999px;padding:12px 26px;font:800 .95rem var(--sans);cursor:pointer;box-shadow:0 6px 16px rgba(90,30,140,.22);transition:background .15s,transform .15s}
.button:hover,.btn:hover{background:var(--royal-dark);border-color:var(--royal-dark);transform:translateY(-1px)}
.button.outline{background:transparent;color:var(--royal);box-shadow:none}
.button.outline:hover{background:var(--lav-100);color:var(--royal-dark)}
.actions,.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

/* Hero — soft lavender wash with botanical shapes, as in the deck */
.hero{position:relative;overflow:hidden;padding:84px 0 78px;background:linear-gradient(105deg,#fff 0%,var(--lav-50) 30%,var(--lav-100) 60%,var(--lav-200) 100%)}
.hero:before,.hero:after{content:"";position:absolute;pointer-events:none;border-radius:0 100% 0 100%;background:linear-gradient(135deg,rgba(185,154,217,.35),rgba(185,154,217,0))}
.hero:before{width:260px;height:260px;left:-80px;bottom:-60px;transform:rotate(-20deg)}
.hero:after{width:380px;height:380px;right:-120px;top:-140px;transform:rotate(25deg)}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero-inner.single{grid-template-columns:1fr}
.hero h1{color:var(--royal-dark)}
.hero p{max-width:640px}
.hero-art{display:flex;justify-content:center}
.hero-panel{background:linear-gradient(160deg,var(--royal) 0%,var(--violet) 60%,var(--lilac) 100%);color:#fff;border-radius:28px;padding:38px 34px;box-shadow:0 22px 48px rgba(74,28,122,.28);max-width:420px;width:100%;position:relative}
.hero-panel h3,.hero-panel strong{color:#fff}
.hero-panel .quote{font-family:var(--serif);font-size:1.35rem;line-height:1.35;margin:0 0 14px}
.hero-panel .meta{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.hero-logo{background:#000;border-radius:28px;padding:16px;box-shadow:0 22px 48px rgba(0,0,0,.22);max-width:460px}
.hero-logo img{display:block;border-radius:16px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.chip{background:#fff;border:1px solid var(--lav-300);color:var(--royal);padding:7px 14px;border-radius:999px;font-weight:800;font-size:.86rem}
.note{font-size:.84rem;color:var(--muted);margin-top:18px}

/* Sections */
section{padding:72px 0}
section.soft,.soft{background:var(--lav-50)}
section.soft{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.card p{margin-bottom:0}
.program{border-top:4px solid var(--royal);scroll-margin-top:110px}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px}
.fact{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;border-left:4px solid var(--violet)}
.fact strong{display:block;font-family:var(--serif);color:var(--royal-dark);font-size:1.08rem}
.timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}
.slot{padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:12px}
.slot strong{color:var(--royal);display:block}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px;text-align:center}
.pillar{padding:28px 22px;border-radius:var(--radius);background:#fff;border:1px solid var(--line)}
.pillar .icon{width:58px;height:58px;margin:0 auto 14px;border-radius:50%;background:var(--lav-100);display:grid;place-items:center;font-size:1.5rem;color:var(--royal)}
.callout{background:linear-gradient(120deg,var(--royal),var(--violet));color:#fff;border-radius:24px;padding:40px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.callout h2,.callout h3{color:#fff;margin:0 0 6px}.callout p{margin:0;opacity:.92}
.callout .button{background:#fff;color:var(--royal);border-color:#fff}
.callout .button.outline{background:transparent;color:#fff;border-color:#fff}
.notice{border-left:5px solid var(--royal);padding:18px 20px;background:var(--lav-100);border-radius:0 12px 12px 0}

/* Forms */
.forms{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:26px}
.formbox{background:#fff;padding:30px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
form.formbox{max-width:760px}
label,legend{font-weight:800;font-size:.92rem}
label{display:block;margin:14px 0 5px}
input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;border:1px solid #cdbfdc;border-radius:10px;padding:11px 13px;font:inherit;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:3px solid var(--lav-300);outline-offset:1px;border-color:var(--violet)}
fieldset{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:18px 0}
fieldset label,label.check{font-weight:400;margin:8px 0;display:flex;align-items:flex-start;gap:9px}
input[type=checkbox]{accent-color:var(--royal);margin-top:5px}
.submit,form .button{margin-top:18px;width:100%}

/* FAQ */
.faq details{border-bottom:1px solid var(--line);padding:16px 0}
.faq summary{cursor:pointer;font-weight:800;color:var(--royal-dark)}

/* Footer */
.site-footer{background:linear-gradient(160deg,#2b1240,var(--royal-dark));color:#eadff5;padding:56px 0 28px}
.site-footer a{color:#fff}
.footergrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
.site-footer h4{font-family:var(--serif);color:#fff;letter-spacing:.06em;margin:0 0 10px;font-size:1rem}
.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:4px 0}
.site-footer .footer-tag{font-family:var(--serif);color:var(--lilac);margin:6px 0 12px}
.footer-url{display:block;margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;color:var(--lilac)}

/* FREE 2 BE accent (playful palette from its logo) */
.kids .program,.kids .card{border-top:4px solid var(--royal)}
.kids .grid .card:nth-child(1){border-top-color:#f7931e}.kids .grid .card:nth-child(2){border-top-color:#1fb5c9}.kids .grid .card:nth-child(3){border-top-color:#8cc63f}
.kids .fact:nth-child(1){border-left-color:#f7931e}.kids .fact:nth-child(2){border-left-color:#ffc20e}.kids .fact:nth-child(3){border-left-color:#ef4f7b}.kids .fact:nth-child(4){border-left-color:#1d7fd1}
.rainbow-tag{letter-spacing:.3em;font-weight:800;font-size:.85rem}
.rainbow-tag span:nth-child(1){color:#e8742c}.rainbow-tag span:nth-child(2){color:#1fa3b5}.rainbow-tag span:nth-child(3){color:#6f9b2f}

/* Responsive */
@media(max-width:960px){
  .nav-toggle{display:inline-block}
  .site-header .container{flex-wrap:wrap;min-height:68px;padding-top:10px;padding-bottom:10px;gap:10px}
  .brand{flex:1;min-width:0}
  .mainnav{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 0 18px}
  .site-header.nav-open .mainnav{display:flex}
  .drop-menu{position:static;transform:none;box-shadow:none;border:0;padding:0 0 0 12px;min-width:0}
  .dropdown:hover .drop-menu{display:none}.dropdown.open .drop-menu,.dropdown:focus-within .drop-menu{display:block}
  .hero-inner,.forms{grid-template-columns:1fr}
  .grid,.pillars{grid-template-columns:repeat(2,1fr)}
  .facts{grid-template-columns:1fr 1fr}
  .footergrid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  section{padding:52px 0}.hero{padding:56px 0}
  .brand-text{font-size:.82rem}.brand-mark{width:40px;height:40px;flex:none}
  .grid,.grid.two,.pillars,.timeline,.footergrid{grid-template-columns:1fr}
  .button,.btn{width:100%;text-align:center}
  .formbox{padding:20px}.callout{padding:28px}
}

/* Homepage official logo — layered so the wings unfold from behind the figure, then gently beat */
.hero-logo-wrap{position:relative;width:clamp(200px,27vw,300px);aspect-ratio:1;margin:0 0 18px}
.logo-glow{position:absolute;inset:6% 8% 30%;border-radius:50%;background:radial-gradient(circle,rgba(185,154,217,.6),rgba(185,154,217,0) 70%);animation:glowIn 1.8s ease-out .3s both}
.logo-anim{position:relative;width:100%;height:100%;animation:logoRise 2.2s ease-out 0s both,logoFloat 6s ease-in-out 3.6s infinite;filter:drop-shadow(0 12px 22px rgba(90,30,140,.25))}
.logo-anim img{position:absolute;inset:0;width:100%;height:100%;display:block}
.logo-core{z-index:2;clip-path:polygon(44% 0,70% 0,72% 24%,71% 34%,66% 42%,70% 54%,75% 66%,100% 66%,100% 100%,0 100%,0 63%,34% 63%,31% 55%,36% 40%,44% 30%)}
.wing{z-index:1}
.wing-left{clip-path:polygon(0 0,44.5% 0,44.5% 30.5%,36.5% 40%,31.5% 55%,34.5% 63.5%,0 63.5%);transform-origin:40% 52%;animation:wingLeft 2.4s cubic-bezier(.25,.8,.3,1.05) .25s both,beatLeft 6s ease-in-out 3.6s infinite}
.wing-right{clip-path:polygon(69.5% 0,100% 0,100% 66.5%,74.5% 66.5%,69.5% 54%,65.5% 42%,70.5% 34%,71.5% 24%);transform-origin:66% 50%;animation:wingRight 2.4s cubic-bezier(.25,.8,.3,1.05) .25s both,beatRight 6s ease-in-out 3.6s infinite}
@keyframes wingLeft{0%{opacity:0;transform:rotate(58deg) scaleX(.25)}25%{opacity:1}65%{transform:rotate(-7deg) scaleX(1.06)}82%{transform:rotate(2deg) scaleX(.99)}100%{opacity:1;transform:none}}
@keyframes wingRight{0%{opacity:0;transform:rotate(-58deg) scaleX(.25)}25%{opacity:1}65%{transform:rotate(7deg) scaleX(1.06)}82%{transform:rotate(-2deg) scaleX(.99)}100%{opacity:1;transform:none}}
@keyframes beatLeft{0%,100%{transform:none}50%{transform:rotate(-4deg)}}
@keyframes beatRight{0%,100%{transform:none}50%{transform:rotate(4deg)}}
@keyframes logoRise{0%{opacity:0;transform:translateY(18px) scale(.92)}35%{opacity:1}100%{opacity:1;transform:none}}
@keyframes logoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes glowIn{0%{opacity:0;transform:scale(.4)}100%{opacity:1;transform:scale(1.15)}}
@media(max-width:960px){.hero-logo-wrap{margin-left:auto;margin-right:auto}}
@media(prefers-reduced-motion:reduce){.logo-anim,.wing,.logo-glow,.logo-heart img,.spark{animation:none}.spark{opacity:0}}
.brand-logo{width:54px;height:auto;flex:none;filter:drop-shadow(0 3px 6px rgba(90,30,140,.25))}
@media(max-width:600px){.brand-logo{width:44px}}

/* Spinning, sparkling gold heart (layered over the logo core, which has the heart removed) */
.logo-heart{position:absolute;z-index:3;left:49.04%;top:45.45%;width:9.57%;height:9.17%;perspective:300px}
.logo-heart img{width:100%;height:100%;display:block;transform-style:preserve-3d;
  animation:heartIn .6s ease-out 1.4s both,heartSpin 5s cubic-bezier(.45,.05,.35,1) 2.4s infinite;filter:drop-shadow(0 0 4px rgba(255,214,102,.7))}
.spark{position:absolute;width:70%;filter:drop-shadow(0 0 3px #ffe9a8);aspect-ratio:1;pointer-events:none;opacity:0;
  background:radial-gradient(circle,#fff 0 18%,#fff2c4 30%,rgba(255,215,100,.85) 45%,rgba(255,215,100,0) 70%);
  clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);
  animation:twinkle 2.6s ease-in-out infinite}
.s1{left:-45%;top:-40%;animation-delay:2.6s}.s2{right:-50%;top:-10%;width:55%;animation-delay:3.1s}
.s3{right:-35%;bottom:-45%;width:50%;animation-delay:3.7s}.s4{left:-50%;bottom:-15%;width:48%;animation-delay:4.2s}
.s5{left:20%;top:-70%;width:55%;animation-delay:4.7s}
@keyframes heartIn{0%{opacity:0;transform:scale(.2)}70%{transform:scale(1.25)}100%{opacity:1;transform:none}}
@keyframes heartSpin{0%{transform:rotateY(0)}28%{transform:rotateY(360deg) scale(1.08)}36%,100%{transform:rotateY(360deg) scale(1)}}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.2) rotate(0)}15%{opacity:1;transform:scale(1.1) rotate(45deg)}35%{opacity:0;transform:scale(.3) rotate(90deg)}}

/* Menu wings — unfold beside a menu item when it is hovered, focused, tapped or the current page */
.mainnav>a:not(.nav-cta),.drop-toggle{position:relative}
.mainnav>a:not(.nav-cta)::before,.mainnav>a:not(.nav-cta)::after,.drop-toggle::before,.drop-toggle::after{
  content:"";position:absolute;top:50%;width:15px;height:11px;margin-top:-7px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='1' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%235a1e8c'/%3E%3Cstop offset='1' stop-color='%23b99ad9'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1 14C6 13 10 10 13 4C15 1.5 19 .5 23 1C20.5 2.8 18.5 4 16.5 5.2C19 5.2 21.2 5.5 23 6.4C20.5 8.2 17.6 8.6 15.2 8.6C17.2 9.4 19 10.4 20.2 11.6C16 12.8 12 12.9 9 13.6C6 14.4 3 14.6 1 14Z' fill='url(%23g)' stroke='%23c9c4d1' stroke-width='.7'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity:0;pointer-events:none;transition:opacity .2s}
.mainnav>a:not(.nav-cta)::before,.drop-toggle::before{left:0;transform-origin:100% 80%;transform:rotate(50deg) scale(.3);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='1' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%235a1e8c'/%3E%3Cstop offset='1' stop-color='%23b99ad9'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(24 0) scale(-1 1)'%3E%3Cpath d='M1 14C6 13 10 10 13 4C15 1.5 19 .5 23 1C20.5 2.8 18.5 4 16.5 5.2C19 5.2 21.2 5.5 23 6.4C20.5 8.2 17.6 8.6 15.2 8.6C17.2 9.4 19 10.4 20.2 11.6C16 12.8 12 12.9 9 13.6C6 14.4 3 14.6 1 14Z' fill='url(%23g)' stroke='%23c9c4d1' stroke-width='.7'/%3E%3C/g%3E%3C/svg%3E")}
.mainnav>a:not(.nav-cta)::after,.drop-toggle::after{right:0;transform-origin:0 80%;transform:rotate(-50deg) scale(.3)}
.mainnav>a:not(.nav-cta):hover::before,.mainnav>a:not(.nav-cta):focus-visible::before,.mainnav>a[aria-current]::before,.mainnav>a.flap::before,
.drop-toggle:hover::before,.drop-toggle:focus-visible::before,.dropdown.open .drop-toggle::before{opacity:1;animation:navWingL .6s cubic-bezier(.3,.8,.3,1.2) both}
.mainnav>a:not(.nav-cta):hover::after,.mainnav>a:not(.nav-cta):focus-visible::after,.mainnav>a[aria-current]::after,.mainnav>a.flap::after,
.drop-toggle:hover::after,.drop-toggle:focus-visible::after,.dropdown.open .drop-toggle::after{opacity:1;animation:navWingR .6s cubic-bezier(.3,.8,.3,1.2) both}
.mainnav>a.flap::before{animation:navFlapL .7s ease-in-out both}.mainnav>a.flap::after{animation:navFlapR .7s ease-in-out both}
.mainnav>a[aria-current]{box-shadow:none}
.mainnav{gap:2px}.mainnav>a:not(.nav-cta),.drop-toggle{padding:6px 23px}.mainnav .nav-cta{margin-left:12px}
.drop-menu a{position:relative;padding-left:34px}
.drop-menu a::before{content:"";position:absolute;left:12px;top:50%;width:15px;height:11px;margin-top:-6px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='1' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%235a1e8c'/%3E%3Cstop offset='1' stop-color='%23b99ad9'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1 14C6 13 10 10 13 4C15 1.5 19 .5 23 1C20.5 2.8 18.5 4 16.5 5.2C19 5.2 21.2 5.5 23 6.4C20.5 8.2 17.6 8.6 15.2 8.6C17.2 9.4 19 10.4 20.2 11.6C16 12.8 12 12.9 9 13.6C6 14.4 3 14.6 1 14Z' fill='url(%23g)' stroke='%23c9c4d1' stroke-width='.7'/%3E%3C/svg%3E") center/contain no-repeat;opacity:0;transform-origin:0 80%;transform:rotate(-50deg) scale(.3);transition:opacity .2s}
.drop-menu a:hover::before,.drop-menu a:focus-visible::before,.drop-menu a.flap::before{opacity:1;animation:navWingR .55s cubic-bezier(.3,.8,.3,1.2) both}
.drop-menu a.flap::before{animation:navFlapR .7s ease-in-out both}
@keyframes navWingL{0%{transform:rotate(50deg) scale(.3)}60%{transform:rotate(-12deg) scale(1.1)}100%{transform:none}}
@keyframes navWingR{0%{transform:rotate(-50deg) scale(.3)}60%{transform:rotate(12deg) scale(1.1)}100%{transform:rotate(0) scale(1)}}
@keyframes navFlapL{0%,100%{transform:none}25%,75%{transform:rotate(28deg)}50%{transform:rotate(-10deg)}}
@keyframes navFlapR{0%,100%{transform:none}25%,75%{transform:rotate(-28deg)}50%{transform:rotate(10deg)}}
@media(max-width:960px){.mainnav .nav-cta{margin:8px 0 0 23px}}
@media(prefers-reduced-motion:reduce){.mainnav a::before,.mainnav a::after,.drop-toggle::before,.drop-toggle::after{animation:none!important;transform:none!important}}

/* "Who's That Lady?" 3D stage scene (Events hero): layered SVG planes in CSS perspective */
.stage-scene{margin:0;width:100%;max-width:470px;border-radius:28px;background:#14061f;box-shadow:0 30px 60px rgba(30,10,45,.45),0 0 0 1px rgba(214,174,101,.35) inset;overflow:hidden}
.stage-view{position:relative;aspect-ratio:480/520;overflow:hidden;border-radius:28px 28px 0 0;background:#12061f}
.stage-rig{position:absolute;inset:0}
.st-layer{position:absolute;inset:-4.5%;transform:translate(calc(var(--mx,0) * var(--d) * 1px),calc(var(--my,0) * var(--d) * 1px))}
.st-layer svg{display:block;width:100%;height:100%}
.st-back{--d:-4}.st-stage{--d:-1.5}.st-curtains{--d:2}.st-marq{--d:4}.st-aud{--d:8}
.stage-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,transparent 55%,rgba(5,1,10,.55) 100%)}
.stage-scene figcaption{text-align:center;color:#eadff5;font-weight:800;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;padding:12px 10px 14px;background:linear-gradient(#14061f,#1d0a2c)}
.stage-scene svg *{transform-box:view-box}

/* curtains gather into folds toward the sides */
.st-curtain-l{transform-origin:-20px 0;animation:stOpenL 2.6s cubic-bezier(.65,0,.25,1) .4s both,stDrapeL 7s ease-in-out 3s infinite}
.st-curtain-r{transform-origin:500px 0;animation:stOpenR 2.6s cubic-bezier(.65,0,.25,1) .4s both,stDrapeR 7s ease-in-out 3s infinite}
@keyframes stOpenL{0%{transform:scaleX(1.02)}15%{transform:scaleX(1.03) skewX(-1deg)}100%{transform:scaleX(.36)}}
@keyframes stOpenR{0%{transform:scaleX(1.02)}15%{transform:scaleX(1.03) skewX(1deg)}100%{transform:scaleX(.36)}}
@keyframes stDrapeL{0%,100%{transform:scaleX(.36)}50%{transform:scaleX(.375) skewX(.6deg)}}
@keyframes stDrapeR{0%,100%{transform:scaleX(.36)}50%{transform:scaleX(.375) skewX(-.6deg)}}

/* lighting */
.st-spot,.st-pool{animation:stSpotOn .9s steps(3) 1.9s both,stSpotPulse 5s ease-in-out 3s infinite}
@keyframes stSpotOn{0%{opacity:0}33%{opacity:.7}66%{opacity:.2}100%{opacity:1}}
@keyframes stSpotPulse{0%,100%{opacity:1}50%{opacity:.82}}
.st-bl{transform-origin:47px 40px;animation:stSweepL 8s ease-in-out infinite alternate}
.st-br{transform-origin:433px 40px;animation:stSweepR 7s ease-in-out infinite alternate}
@keyframes stSweepL{from{transform:rotate(16deg)}to{transform:rotate(-14deg)}}
@keyframes stSweepR{from{transform:rotate(-16deg)}to{transform:rotate(14deg)}}
.st-haze{animation:stHaze 14s ease-in-out infinite alternate}.st-haze.h2{animation-duration:18s;animation-direction:alternate-reverse}
@keyframes stHaze{from{transform:translateX(-30px)}to{transform:translateX(40px)}}
.st-dust{opacity:0;animation:stDust 9s linear infinite}
@keyframes stDust{0%{opacity:0;transform:translate(0,0)}15%{opacity:.9}85%{opacity:.6}100%{opacity:0;transform:translate(14px,-90px)}}
.st-foot{animation:stSpotPulse 3s ease-in-out infinite}

/* performer */
.st-lady{transform-origin:240px 434px;animation:stLadyIn 1.2s ease-out 2.3s both,stSway 6s ease-in-out 3.5s infinite}
@keyframes stLadyIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes stSway{0%,100%{transform:rotate(0)}50%{transform:rotate(1.2deg)}}
.st-arm{transform-origin:18px -245px;animation:stWave 3s ease-in-out 3.2s infinite}
@keyframes stWave{0%,100%{transform:rotate(0)}30%{transform:rotate(8deg)}65%{transform:rotate(-6deg)}}
.st-hair{transform-origin:-7px -280px;animation:stHair 3s ease-in-out infinite}
@keyframes stHair{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(-2deg) scale(1.02,.99)}}
.ld-seq{transform-box:fill-box;transform-origin:center;animation:stTwinkle 1.8s ease-in-out infinite}
.ld-shimmer{animation:ldShimmer 3.5s ease-in-out 3s infinite}
@keyframes ldShimmer{0%{transform:translateX(0) skewX(-15deg)}60%,100%{transform:translateX(200px) skewX(-15deg)}}
.ld-earring{transform-origin:-1.5px -268px;animation:ldEar 2s ease-in-out infinite}
@keyframes ldEar{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
.st-arm-g{transform-origin:256.6px 208.6px}
.st-handspark{transform-origin:275px 118px;animation:stTwinkle 3s ease-in-out 3.2s infinite}
.st-gspark{transform-box:fill-box;transform-origin:center;animation:stTwinkle 2.4s ease-in-out infinite}
@keyframes stTwinkle{0%,100%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1)}}

/* marquee */
.st-bulb{animation:stBulb 1.2s steps(1) infinite}.st-bulb.b2{animation-delay:.6s}
@keyframes stBulb{0%{opacity:1}50%{opacity:.3}}
.st-title{animation:stGlow 3s ease-in-out infinite}
@keyframes stGlow{0%,100%{filter:none}50%{filter:drop-shadow(0 0 6px #ffcf5a)}}
.st-shine{animation:stShine 5s ease-in-out 2.5s infinite}
@keyframes stShine{0%{transform:skewX(-20deg) translateX(0)}35%,100%{transform:skewX(-20deg) translateX(400px)}}
.st-marquee{transform-origin:240px 20px;animation:stSwing 6s ease-in-out infinite}
@keyframes stSwing{0%,100%{transform:rotate(-.6deg)}50%{transform:rotate(.6deg)}}

/* audience + confetti */
.st-confetti{opacity:0;animation:stFall 7s linear infinite}
@keyframes stFall{0%{opacity:0;transform:translate(0,0)}8%{opacity:1}50%{transform:translate(18px,260px)}85%{opacity:1}100%{opacity:0;transform:translate(-6px,520px)}}
.st-flip{transform-box:fill-box;transform-origin:center;animation:stFlip 1s linear infinite}
@keyframes stFlip{0%{transform:rotate(0) scaleY(1)}50%{transform:rotate(180deg) scaleY(.2)}100%{transform:rotate(360deg) scaleY(1)}}
.st-cheer{animation:stCheer 1.8s ease-in-out infinite}
@keyframes stCheer{0%,100%{transform:rotate(-9deg) translateY(5px)}50%{transform:rotate(9deg) translateY(-5px)}}
.st-phone{animation:stPhone 4s ease-in-out infinite}
@keyframes stPhone{0%,100%{opacity:.9;transform:translateY(0)}50%{opacity:.55;transform:translateY(-3px)}}

.js .stage-scene:not(.play) *{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.stage-scene *{animation:none!important}.st-curtain-l,.st-curtain-r{transform:scaleX(.36)}.st-confetti,.st-dust{opacity:0}}

/* AI-generated photoreal performer layered into the stage */
.ld-body{transform-origin:240px 434px;animation:ldBreathe 4.5s ease-in-out infinite}
@keyframes ldBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.006,1.01)}}
.ld-img{filter:brightness(.92) contrast(1.05) saturate(1.08)}
.ld-halo{animation:ldHalo 4s ease-in-out infinite}
@keyframes ldHalo{0%,100%{opacity:.75}50%{opacity:1}}
.ld-glint{opacity:0;animation:ldGlint 2.6s ease-in-out infinite}
@keyframes ldGlint{0%,100%{opacity:0;transform:scale(.15) rotate(0)}35%{opacity:.85;transform:scale(.62) rotate(45deg)}60%{opacity:0;transform:scale(.2) rotate(90deg)}}
.ld-sheen{animation:ldSheen 4.5s ease-in-out 3s infinite}
@keyframes ldSheen{0%{transform:translateX(0) skewX(-14deg)}55%,100%{transform:translateX(230px) skewX(-14deg)}}
.ld-mic-glint{animation:ldGlint 3.2s ease-in-out 3.4s infinite}

/* Live-event broadcast treatment (all stage graphics kept) */
.stage-rig{transform-origin:50% 55%;animation:camPush 16s ease-in-out infinite,camHand 3.3s ease-in-out infinite}
.stage-scene.cam-2 .stage-rig{animation:camPush2 12s ease-in-out infinite,camHand 2.7s ease-in-out infinite}
.stage-scene.cam-3 .stage-rig{animation:camPush3 12s ease-in-out infinite,camHand 3.1s ease-in-out infinite}
@keyframes camPush{0%,100%{scale:1;translate:0 0}50%{scale:1.07;translate:0 -1.5%}}
@keyframes camPush2{0%{scale:1.32;translate:-1% 9%}100%{scale:1.4;translate:-1.5% 10%}}
@keyframes camPush3{0%{scale:1.1;translate:4% -4%}100%{scale:1.05;translate:-4% -2.5%}}
@keyframes camHand{0%,100%{rotate:0deg}25%{rotate:.25deg}50%{rotate:-.15deg}75%{rotate:.2deg}}
.live-fx{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit}
.live-hud{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:center;gap:8px;font:800 .66rem/1 var(--sans);letter-spacing:.12em;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.live-badge{display:inline-flex;align-items:center;gap:6px;background:#d91c3c;padding:5px 9px 5px 8px;border-radius:5px;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.live-badge b{width:7px;height:7px;border-radius:50%;background:#fff;animation:liveDot 1.2s steps(1) infinite}
@keyframes liveDot{50%{opacity:.15}}
.cam-label,.rec-time{background:rgba(10,3,18,.55);padding:5px 8px;border-radius:5px;backdrop-filter:blur(3px)}
.rec-time{margin-left:auto;font-variant-numeric:tabular-nums}
.lower-third{position:absolute;left:12px;bottom:15%;max-width:78%;background:linear-gradient(90deg,rgba(90,30,140,.92),rgba(90,30,140,.7) 80%,rgba(90,30,140,0));border-left:4px solid var(--gold,#d6ae65);padding:8px 26px 8px 12px;color:#fff;transform:translateX(-110%);animation:lowerThird 14s cubic-bezier(.3,.8,.3,1) 4s infinite}
.lower-third strong{display:block;font:700 .82rem/1.2 var(--serif);letter-spacing:.06em;color:#ffe7a3}
.lower-third span{display:block;font:700 .64rem/1.3 var(--sans);letter-spacing:.06em;opacity:.92}
@keyframes lowerThird{0%{transform:translateX(-110%)}6%,52%{transform:none}60%,100%{transform:translateX(-110%)}}
.grain{position:absolute;inset:-50%;opacity:.13;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .5s steps(4) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-6%,4%)}50%{transform:translate(5%,-3%)}75%{transform:translate(-3%,-6%)}100%{transform:translate(4%,5%)}}
.beat-wash{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(214,150,255,.22),transparent 60%);mix-blend-mode:screen;animation:beat .5s ease-out infinite}
@keyframes beat{0%{opacity:1}70%,100%{opacity:0}}
.lens-flare{position:absolute;left:50%;top:10%;width:0;height:0;mix-blend-mode:screen;animation:flareDrift 16s ease-in-out infinite}
.lens-flare span{position:absolute;left:-60px;top:-60px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(255,250,235,.9) 0,rgba(255,236,200,.35) 22%,transparent 62%);animation:flarePulse 2s ease-in-out infinite}
.lens-flare span::after{content:"";position:absolute;left:-60px;right:-60px;top:58px;height:3px;background:linear-gradient(90deg,transparent,rgba(200,180,255,.55),transparent)}
.lens-flare i{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(201,156,255,.3),transparent 70%)}
.lens-flare .f1{width:34px;height:34px;left:40px;top:120px}.lens-flare .f2{width:18px;height:18px;left:70px;top:190px;background:radial-gradient(circle,rgba(255,200,240,.35),transparent 70%)}.lens-flare .f3{width:54px;height:54px;left:95px;top:260px}
@keyframes flarePulse{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
@keyframes flareDrift{0%,100%{translate:0 0}50%{translate:-8px 4px}}
.flashes i{position:absolute;width:70px;height:70px;margin:-35px 0 0 -35px;border-radius:50%;background:radial-gradient(circle,#fff 0,rgba(255,255,255,.75) 12%,rgba(230,220,255,.25) 35%,transparent 65%);mix-blend-mode:screen;animation:camFlash .35s ease-out forwards}
.flashes i::after{content:"";position:absolute;left:-20px;right:-20px;top:34px;height:2px;background:linear-gradient(90deg,transparent,#fff,transparent)}
@keyframes camFlash{0%{opacity:0;transform:scale(.4)}15%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.15)}}
.cam-cut{position:absolute;inset:0;background:#000;opacity:0}
.cam-cut.go{animation:camCut .35s ease-out}
@keyframes camCut{0%{opacity:.85}100%{opacity:0}}
.st-strobe{opacity:0;animation:strobe 8s steps(1) 4s infinite}
@keyframes strobe{0%,86%,100%{opacity:0}87%{opacity:.35}88%{opacity:0}89%{opacity:.3}90%{opacity:0}91%{opacity:.28}92%{opacity:0}}
.st-bl,.st-br{animation-name:stSweepL,lightHue;animation-duration:8s,12s;animation-timing-function:ease-in-out,linear;animation-iteration-count:infinite,infinite;animation-direction:alternate,normal}
.st-br{animation-name:stSweepR,lightHue;animation-duration:7s,12s}
@keyframes lightHue{0%{filter:none}33%{filter:hue-rotate(-40deg) saturate(1.3)}66%{filter:hue-rotate(35deg)}100%{filter:none}}
.st-crowd-bob{animation:crowdBob .5s ease-in-out infinite alternate}
@keyframes crowdBob{from{transform:translateY(0)}to{transform:translateY(2.5px)}}
.st-cheer{animation-duration:1s}
.js .stage-scene:not(.play) .live-fx *,.js .stage-scene:not(.play) .stage-rig{animation-play-state:paused}
@media(max-width:600px){.live-hud{font-size:.58rem;top:9px;left:9px;right:9px}.lower-third{bottom:14%;padding:6px 18px 6px 10px}.lower-third strong{font-size:.72rem}.lower-third span{font-size:.56rem}}
@media(prefers-reduced-motion:reduce){.stage-rig,.live-fx *{animation:none!important}.lower-third{transform:none}.grain,.beat-wash,.flashes{display:none}}

/* current page inside the Programs dropdown */
.drop-menu a[aria-current]{color:var(--royal);background:var(--lav-100)}
.drop-menu a[aria-current]::before{opacity:1;transform:none}
.dropdown.drop-current .drop-toggle{color:var(--royal)}
.dropdown.drop-current .drop-toggle::before,.dropdown.drop-current .drop-toggle::after{opacity:1;transform:none}
/* seven-item menu fit */
.mainnav>a,.drop-toggle{white-space:nowrap}
.mainnav>a:not(.nav-cta),.drop-toggle{padding:6px 18px}
.mainnav>a:not(.nav-cta)::before,.mainnav>a:not(.nav-cta)::after,.drop-toggle::before,.drop-toggle::after{width:13px;height:10px;margin-top:-6px}
.mainnav .nav-cta{margin-left:8px;padding:10px 18px}
@media(min-width:961px) and (max-width:1180px){.brand-text{font-size:.84rem}.brand-logo{width:46px}.mainnav>a:not(.nav-cta),.drop-toggle{padding:6px 14px;font-size:.84rem}.mainnav .nav-cta{padding:9px 14px;font-size:.84rem}}

/* Founder page + CEO letter */
.founder-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px 30px;box-shadow:0 22px 48px rgba(74,28,122,.16);max-width:380px;text-align:center}
.founder-card img{width:210px;height:auto;display:block;margin:0 auto 10px}
.founder-quote{font-family:var(--serif);font-size:1.25rem;line-height:1.35;color:var(--royal-dark);margin:6px 0}
.founder-card .meta{color:var(--violet);font-weight:800;font-size:.85rem;letter-spacing:.06em}
.letter{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(26px,5vw,56px);box-shadow:var(--shadow);font-size:1.08rem;line-height:1.8}
.letter p{margin:0 0 1.15em}
.letter .pull{font-family:var(--serif);font-size:1.3rem;line-height:1.45;color:var(--royal);border-left:4px solid var(--gold,#d6ae65);padding-left:18px;margin:1.4em 0}
.signoff{margin-top:2em;padding-top:1.4em;border-top:1px solid var(--line)}
.signoff p{margin:0 0 .4em}
.sig{font-family:var(--serif);font-size:1.6rem;color:var(--royal-dark);font-weight:700;letter-spacing:.02em}
.signoff .omm{margin-top:1em;font-family:var(--serif);color:var(--violet);font-weight:700;letter-spacing:.08em}
.letter-teaser{max-width:860px}
.letter-teaser blockquote{margin:6px 0 16px;font-family:var(--serif);font-size:clamp(1.25rem,2.4vw,1.7rem);line-height:1.4;color:var(--royal-dark)}
.letter-teaser .sig{font-size:1.25rem;margin:0}

/* Programs mega dropdown (two columns on desktop) */
@media(min-width:961px){
  .drop-menu.mega{column-count:2;column-gap:0;min-width:560px}
  .drop-menu.mega li{break-inside:avoid}
  .drop-menu.mega .col-break{break-before:column;border-top:0;margin-top:0}
  .dropdown:hover .drop-menu,.dropdown:focus-within .drop-menu,.dropdown.open .drop-menu{display:block}
  .dropdown:last-of-type .drop-menu.mega{left:auto;right:-140px;transform:none}
}

/* CEO portrait under the message */
.ceo-portrait{margin:2.2em 0 0;text-align:center}
.ceo-portrait img{display:block;width:100%;max-width:520px;height:auto;margin:0 auto;border-radius:20px;box-shadow:0 18px 40px rgba(74,28,122,.2);border:1px solid var(--line)}
.ceo-portrait figcaption{margin-top:14px;color:var(--muted);font-size:.95rem}
.ceo-portrait figcaption strong{display:block;font-family:var(--serif);color:var(--royal-dark);font-size:1.15rem}

/* Conference flyers */
.flyers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}
.flyer{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow)}
.flyer img{display:block;width:100%;height:auto;border-radius:12px;transition:transform .2s}
.flyer a:hover img{transform:scale(1.015)}
.flyer figcaption{padding:12px 6px 4px;font-size:.9rem;color:var(--muted);text-align:center}
.flyer figcaption strong{display:block;font-family:var(--serif);color:var(--royal-dark);font-size:1.1rem}
@media(max-width:960px){.flyers{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.flyers{grid-template-columns:1fr}}
