:root{
  --ink:#24112f;--soft:#523f5b;--paper:#fff8ea;--paper2:#f7ebd2;--white:#fff;
  --purple:#4f1b6d;--dark:#2b103c;--pink:#c31f66;--red:#ef3f32;--orange:#ff7a18;
  --yellow:#ffc72c;--green:#0d8d6d;--blue:#1868b7;--border:rgba(36,17,47,.14);
  --header:74px;--shell:min(1180px,calc(100% - 32px));--r1:18px;--r2:30px;--r3:44px;
  --ease:cubic-bezier(.22,1,.36,1)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;margin-top:0!important}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Plus Jakarta Sans",system-ui,sans-serif;line-height:1.65;overflow-x:hidden}
body.is-menu-open,body.is-modal-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
::selection{background:var(--yellow);color:var(--ink)}
.shell{width:var(--shell);margin-inline:auto}
.section{position:relative;padding:88px 0}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1}
h2{margin-bottom:22px;font:400 clamp(3rem,13vw,5.6rem)/.92 "Bebas Neue",Impact,sans-serif;letter-spacing:.01em}
h3{font-size:1.25rem}
p{color:var(--soft)}
.skip-link{position:fixed;z-index:9999;top:12px;left:12px;transform:translateY(-160%);padding:12px 16px;border-radius:10px;background:#fff;font-weight:800}
.skip-link:focus{transform:none}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--yellow);font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.eyebrow:before{content:"";width:28px;height:2px;background:currentColor}
.eyebrow-dark{color:var(--pink)}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:12px 20px;font-size:.86rem;font-weight:800;cursor:pointer;transition:.25s var(--ease)}
.button:hover{transform:translateY(-3px)}
.button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
.button-primary{background:var(--yellow);color:var(--dark);box-shadow:0 12px 30px rgba(255,199,44,.25)}
.button-ghost{border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.07);color:#fff;backdrop-filter:blur(12px)}
.button-light{background:#fff;color:var(--dark)}
.button-large{min-height:58px;padding-inline:26px}
.reading-progress{position:fixed;z-index:150;inset:0 0 auto;height:3px;background:rgba(255,255,255,.14);pointer-events:none}
.reading-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--yellow),var(--orange),var(--pink))}
.site-header{position:fixed;z-index:140;top:0;left:0;width:100%;height:var(--header);color:#fff;transition:.35s ease}
.site-header.is-scrolled{background:rgba(43,16,60,.92);box-shadow:0 12px 35px rgba(16,3,24,.24);backdrop-filter:blur(16px)}
.header-inner{height:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px}
.brand{position:relative;z-index:2;width:158px}
.brand img{width:100%;height:54px;object-fit:contain;object-position:left center;filter:drop-shadow(0 5px 15px rgba(0,0,0,.18))}
.desktop-nav,.header-cta{display:none}
.menu-toggle{position:relative;z-index:2;width:48px;height:48px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.08);cursor:pointer}
.menu-toggle span{position:absolute;left:14px;width:19px;height:2px;background:#fff;transition:.3s ease}
.menu-toggle span:nth-child(1){top:15px}.menu-toggle span:nth-child(2){top:22px}.menu-toggle span:nth-child(3){top:29px}
.menu-toggle[aria-expanded=true] span:nth-child(1){top:22px;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:nth-child(3){top:22px;transform:rotate(-45deg)}
.mobile-nav{position:fixed;z-index:1;inset:0;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:100px 28px 38px;background:radial-gradient(circle at 80% 12%,rgba(255,199,44,.2),transparent 22%),radial-gradient(circle at 8% 80%,rgba(195,31,102,.28),transparent 28%),var(--dark);transform:translateX(100%);transition:transform .45s var(--ease)}
.mobile-nav.is-open{transform:none}
.mobile-nav>a{padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.15);font:400 2.3rem/1 "Bebas Neue",Impact,sans-serif}
.mobile-nav .button{margin-top:10px}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background-color:var(--dark);background-position:center;background-size:cover;color:#fff}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,5,29,.32),rgba(19,5,29,.18) 34%,rgba(19,5,29,.86) 82%,rgba(19,5,29,.98)),linear-gradient(90deg,rgba(20,5,31,.66),transparent 70%)}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:140px;background:linear-gradient(to top,var(--dark),transparent)}
.hero-grain,.hero-grain:before{position:absolute;inset:0;pointer-events:none}
.hero-grain{opacity:.15;mix-blend-mode:soft-light}
.hero-grain:before{content:"";background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.flag-canopy{position:absolute;z-index:2;top:68px;left:-12px;right:-12px;display:grid;grid-template-columns:repeat(12,1fr);filter:drop-shadow(0 8px 14px rgba(0,0,0,.22));transform:rotate(-1deg)}
.flag-canopy:before{content:"";position:absolute;top:0;width:100%;height:3px;background:#fff}
.flag-canopy i{display:block;aspect-ratio:.8;clip-path:polygon(10% 0,90% 0,50% 100%);background:var(--yellow)}
.flag-canopy i:nth-child(5n+1){background:var(--pink)}.flag-canopy i:nth-child(5n+2){background:var(--green)}.flag-canopy i:nth-child(5n+3){background:var(--blue)}.flag-canopy i:nth-child(5n+4){background:var(--orange)}
.hero-content{position:relative;z-index:3;padding:148px 0 138px}
.hero-title{max-width:920px;margin:0 0 22px;font:400 clamp(3.7rem,16vw,9.6rem)/.82 "Bebas Neue",Impact,sans-serif;letter-spacing:-.025em;text-transform:uppercase;text-shadow:0 10px 40px rgba(0,0,0,.26)}
.hero-title span,.hero-title strong{display:block}
.hero-title strong{position:relative;width:max-content;color:var(--yellow);font-weight:400}
.hero-title strong:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:12px;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 12C80 2 128 18 201 9c69-9 120 9 197-5' fill='none' stroke='%23ff7a18' stroke-width='8' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.hero-lead{max-width:670px;margin-bottom:30px;color:rgba(255,255,255,.88);font-size:1.03rem;line-height:1.75}
.hero-actions{display:flex;flex-direction:column;gap:12px}
.hero-bottom{position:absolute;z-index:4;bottom:34px;left:50%;display:flex;align-items:center;gap:15px;transform:translateX(-50%)}
.hero-bottom p{margin:0;color:rgba(255,255,255,.55);font-size:.73rem;letter-spacing:.1em;text-transform:uppercase}
.sound-wave{display:flex;align-items:flex-end;gap:3px;height:20px}.sound-wave span{width:2px;border-radius:4px;background:var(--yellow);animation:wave 1.2s ease-in-out infinite alternate}
.sound-wave span:nth-child(1),.sound-wave span:nth-child(7){height:6px}.sound-wave span:nth-child(2),.sound-wave span:nth-child(6){height:13px;animation-delay:-.4s}.sound-wave span:nth-child(3),.sound-wave span:nth-child(5){height:18px;animation-delay:-.7s}.sound-wave span:nth-child(4){height:10px}
@keyframes wave{to{transform:scaleY(.45);opacity:.58}}
.ticker{position:relative;z-index:5;overflow:hidden;border-block:4px solid var(--ink);background:var(--yellow);transform:rotate(-1deg) scale(1.02)}
.ticker-track{display:flex;width:max-content;align-items:center;gap:24px;padding:14px 0;font:400 1.35rem/1 "Bebas Neue",Impact,sans-serif;letter-spacing:.04em;animation:ticker 28s linear infinite}
.ticker-track b{color:var(--pink)}@keyframes ticker{to{transform:translateX(-50%)}}
.intro{background:radial-gradient(circle at 100% 0,rgba(255,199,44,.26),transparent 27%),var(--paper)}
.intro-grid{display:grid;gap:34px}
.intro-heading h2 em{color:var(--pink);font-family:"Caveat",cursive;font-weight:700;text-transform:none}
.intro-copy .lead-copy{color:var(--ink);font-size:1.16rem;font-weight:700;line-height:1.6}
.signature{margin-top:28px;color:var(--pink);font:700 2rem "Caveat",cursive;transform:rotate(-2deg)}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:54px}
.stat-card{min-height:180px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--border);border-radius:var(--r1);padding:20px;background:rgba(255,255,255,.58)}
.stat-number{color:var(--purple);font:400 clamp(3rem,16vw,5.5rem)/.85 "Bebas Neue",Impact,sans-serif}
.stat-card p{margin:0;color:var(--ink);font-size:.82rem;font-weight:800;line-height:1.35}
.stat-card small{color:var(--soft);font-weight:500}
.stat-card-accent{border-color:var(--pink);background:var(--pink);transform:rotate(1.5deg)}
.stat-card-accent *{color:#fff!important}
.culture-story{padding:92px 0;color:#fff;background:radial-gradient(circle at 12% 12%,rgba(195,31,102,.26),transparent 26%),radial-gradient(circle at 88% 86%,rgba(24,104,183,.22),transparent 28%),var(--dark)}
.story-heading{margin-bottom:48px}.story-heading h2{max-width:850px}.story-heading h2 span{color:var(--yellow)}.story-heading>p:last-child{color:rgba(255,255,255,.64)}
.story-layout{display:grid;gap:20px}
.story-visual{position:sticky;z-index:2;top:calc(var(--header) + 12px);min-height:42vh;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:var(--r2);background:#431b5a center/cover;box-shadow:0 34px 90px rgba(26,7,37,.24);transition:background-image .55s ease}
.story-visual-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(20,4,28,.88))}
.story-visual p{position:absolute;z-index:2;left:22px;right:22px;bottom:18px;margin:0;color:#fff;font:400 2rem/1 "Bebas Neue",Impact,sans-serif}
.story-index{position:absolute;z-index:2;top:18px;left:18px;right:18px;display:flex;align-items:center;gap:8px;color:#fff;font-size:.78rem;font-weight:800}
.story-index i{flex:1;height:1px;background:rgba(255,255,255,.45)}
.story-step{min-height:60vh;display:flex;flex-direction:column;justify-content:center;padding:48px 8px 24px;opacity:.35;transition:.35s ease}
.story-step.is-active{opacity:1}
.story-step>span{margin-bottom:14px;color:var(--yellow);font-size:.73rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.story-step h3{margin-bottom:18px;font:400 2.6rem/.95 "Bebas Neue",Impact,sans-serif}
.story-step p{color:rgba(255,255,255,.72)}
.story-note{margin-top:18px;border-left:3px solid var(--yellow);padding-left:15px;color:rgba(255,255,255,.9);font-size:.88rem;font-weight:700}
.quote-break{position:relative;overflow:hidden;padding:100px 0;background:var(--yellow)}
.quote-break:before,.quote-break:after{content:"";position:absolute;left:-2%;width:104%;height:36px;background-size:70px 36px;background-image:linear-gradient(135deg,var(--dark) 25%,transparent 25%),linear-gradient(225deg,var(--dark) 25%,transparent 25%)}
.quote-break:before{top:0}.quote-break:after{bottom:0;transform:rotate(180deg)}
.quote-break .shell{position:relative;z-index:2}
.quote-break p,.quote-break strong{display:block;margin:0;color:var(--ink);font:400 clamp(3.2rem,14vw,8.4rem)/.86 "Bebas Neue",Impact,sans-serif}
.quote-break strong{color:var(--pink)}
.quote-sun{position:absolute;top:50%;right:-100px;width:360px;height:360px;border:42px dotted rgba(255,255,255,.38);border-radius:50%;transform:translateY(-50%);animation:spin 24s linear infinite}
@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}
.our-story{overflow:hidden;background:linear-gradient(rgba(255,255,255,.52) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.52) 1px,transparent 1px),var(--paper2);background-size:32px 32px}
.section-heading{max-width:920px;margin-bottom:48px}.section-heading.centered{margin-inline:auto;text-align:center}.section-heading.centered .eyebrow{justify-content:center}
.feature-card{overflow:hidden;border-radius:var(--r3);background:var(--dark);box-shadow:0 34px 90px rgba(26,7,37,.24)}
.feature-media{min-height:340px;background:center/cover}
.feature-copy{position:relative;padding:34px 26px 38px;color:#fff}
.feature-copy:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(var(--yellow),var(--orange),var(--pink))}
.feature-year{display:block;margin-bottom:12px;color:var(--yellow);font:400 4.5rem/.8 "Bebas Neue",Impact,sans-serif}
.feature-copy h3{margin-bottom:16px;font:400 2.45rem/.95 "Bebas Neue",Impact,sans-serif}
.feature-copy p{color:rgba(255,255,255,.72)}
.timeline{position:relative;margin-top:76px;padding-left:24px}
.timeline-line{position:absolute;top:0;bottom:0;left:8px;width:4px;overflow:hidden;border-radius:999px;background:rgba(43,16,60,.12)}
.timeline-line span{display:block;width:100%;height:0;background:linear-gradient(var(--yellow),var(--orange),var(--pink),var(--purple))}
.timeline-item{position:relative;padding:0 0 62px 22px}
.timeline-marker{position:absolute;top:0;left:-31px;width:34px;height:34px;display:grid;place-items:center;border:5px solid var(--paper2);border-radius:50%;background:var(--pink);color:#fff;font-size:.62rem;font-weight:800}
.timeline-item>div:last-child>span{color:var(--pink);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.timeline-item h3{margin:8px 0 12px;font:400 2.2rem/1 "Bebas Neue",Impact,sans-serif}
.impact{overflow:hidden;color:#fff;background:var(--green)}
.impact:before{content:"";position:absolute;inset:0;opacity:.12;background-image:radial-gradient(circle at 10px 10px,#fff 2px,transparent 2px);background-size:28px 28px}
.impact-pattern{position:absolute;right:-120px;top:-120px;width:420px;height:420px;border:50px solid rgba(255,255,255,.08);border-radius:50%}
.impact-grid{position:relative;z-index:2;display:grid;gap:42px}.impact-copy>p:not(.eyebrow){color:rgba(255,255,255,.78)}
.text-link{display:inline-flex;gap:10px;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:6px;font-weight:800}
.impact-cards{display:grid;gap:14px}
.impact-card{min-height:220px;border:1px solid rgba(255,255,255,.22);border-radius:var(--r1);padding:24px;background:rgba(255,255,255,.11);backdrop-filter:blur(12px)}
.impact-card:nth-child(2){background:rgba(255,199,44,.92);color:var(--ink)}.impact-card:nth-child(2) p{color:var(--soft)}
.impact-card:nth-child(3){background:rgba(195,31,102,.82)}.impact-card:nth-child(4){background:rgba(43,16,60,.78)}
.impact-icon{display:grid;width:46px;height:46px;place-items:center;margin-bottom:28px;border:1px solid currentColor;border-radius:50%;font-size:1.3rem}
.impact-card h3{margin-bottom:10px}.impact-card p{margin:0;color:rgba(255,255,255,.72);font-size:.9rem}
.principles{background:var(--paper)}
.principle-wheel{position:relative;display:grid;gap:12px}
.wheel-center{min-height:220px;display:grid;place-content:center;aspect-ratio:1;max-width:300px;margin:0 auto 16px;border-radius:50%;background:radial-gradient(circle at 36% 28%,#ffdf75,var(--yellow) 55%,var(--orange));box-shadow:0 25px 60px rgba(255,122,24,.24);text-align:center}
.wheel-center span{font:400 4rem/.8 "Bebas Neue",Impact,sans-serif}.wheel-center small{font:700 1.7rem "Caveat",cursive}
.principle{min-height:120px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;border:1px solid var(--border);border-radius:var(--r1);padding:20px;background:#fff}
.principle span{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--paper2);color:var(--pink);font-size:.73rem;font-weight:800}
.principle h3{margin:0;font-size:1rem}.principle-2 span{color:var(--green)}.principle-3 span{color:var(--blue)}.principle-4 span{color:var(--orange)}.principle-5 span{color:var(--purple)}.principle-6 span{color:var(--red)}
.gallery{background:#170820;color:#fff}
.gallery-heading{display:grid;gap:14px;margin-bottom:38px}.gallery-heading h2{margin-bottom:0}.gallery-heading>p{color:rgba(255,255,255,.64)}.gallery-heading code{color:var(--yellow)}
.gallery-grid{display:grid;gap:12px}
.gallery-item{position:relative;min-height:320px;overflow:hidden;margin:0;border-radius:var(--r1);background:#2b103c}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gallery-item:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(13,3,20,.9))}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-item figcaption{position:absolute;z-index:2;left:20px;right:20px;bottom:18px}.gallery-item figcaption span{display:block;margin-bottom:4px;color:var(--yellow);font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.gallery-item figcaption strong{font-size:.92rem}.gallery-item-tall{min-height:450px}
.sponsor{background:radial-gradient(circle at 8% 12%,rgba(255,199,44,.2),transparent 24%),radial-gradient(circle at 90% 80%,rgba(24,104,183,.2),transparent 28%),var(--paper)}
.sponsor-card{overflow:hidden;border-radius:var(--r3);background:var(--purple);box-shadow:0 34px 90px rgba(26,7,37,.24)}
.sponsor-copy{padding:38px 26px;color:#fff;background:linear-gradient(145deg,rgba(195,31,102,.6),rgba(79,27,109,.25))}
.sponsor-copy h2{font-size:clamp(3.2rem,13vw,5.8rem)}.sponsor-copy>p:not(.eyebrow){color:rgba(255,255,255,.72)}
.sponsor-benefits{padding:34px 26px 38px;color:#fff}.sponsor-benefits h3{margin-bottom:22px;font:400 2.1rem/1 "Bebas Neue",Impact,sans-serif}
.sponsor-benefits ul{margin:0;padding:0;list-style:none}.sponsor-benefits li{display:grid;grid-template-columns:42px 1fr;gap:12px;border-top:1px solid rgba(255,255,255,.16);padding:17px 0;color:rgba(255,255,255,.82);font-size:.9rem}.sponsor-benefits li span{color:var(--yellow);font-size:.73rem;font-weight:800}.sponsor-note{margin:16px 0 0;color:rgba(255,255,255,.46);font-size:.75rem}
.join{overflow:hidden;padding-block:120px;text-align:center;background:var(--paper2)}
.join:before{content:"";position:absolute;inset:0;background-image:linear-gradient(45deg,rgba(195,31,102,.06) 25%,transparent 25%,transparent 75%,rgba(195,31,102,.06) 75%),linear-gradient(45deg,rgba(195,31,102,.06) 25%,transparent 25%,transparent 75%,rgba(195,31,102,.06) 75%);background-position:0 0,26px 26px;background-size:52px 52px}
.join-inner{position:relative;z-index:2;max-width:840px}.join-inner .eyebrow{color:var(--pink)}.join-inner .eyebrow:before{display:none}.join-inner>p:not(.eyebrow){max-width:620px;margin-inline:auto}
.join-lanterns{position:absolute;inset:0 0 auto;display:flex;justify-content:space-around;pointer-events:none}.join-lanterns i{width:54px;height:92px;clip-path:polygon(50% 0,92% 22%,92% 75%,50% 100%,8% 75%,8% 22%);background:var(--yellow);box-shadow:inset 0 0 0 7px rgba(255,255,255,.3);transform-origin:top center;animation:lantern 3.5s ease-in-out infinite alternate}.join-lanterns i:nth-child(2){background:var(--pink);animation-delay:-.8s}.join-lanterns i:nth-child(3){background:var(--green);animation-delay:-1.6s}.join-lanterns i:nth-child(4){background:var(--blue);animation-delay:-2.2s}.join-lanterns i:nth-child(5){background:var(--orange);animation-delay:-1.1s}
@keyframes lantern{to{transform:rotate(7deg) translateY(8px)}}
.sources{padding-top:68px;background:#fff}.sources-grid{display:grid;gap:30px}.sources-grid h2{font-size:clamp(3rem,12vw,5rem)}.sources-list{display:grid}.sources-list a{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--border);padding:20px 0;font-weight:700}.sources-list a:last-child{border-bottom:1px solid var(--border)}.sources-list a span{color:var(--pink)}
.site-footer{position:relative;overflow:hidden;padding-top:88px;background:var(--dark);color:#fff}
.footer-flags{position:absolute;top:0;left:0;width:100%;height:48px;background:repeating-linear-gradient(135deg,var(--yellow) 0 32px,var(--pink) 32px 64px,var(--green) 64px 96px,var(--blue) 96px 128px,var(--orange) 128px 160px);clip-path:polygon(0 0,100% 0,100% 45%,96% 100%,92% 45%,88% 100%,84% 45%,80% 100%,76% 45%,72% 100%,68% 45%,64% 100%,60% 45%,56% 100%,52% 45%,48% 100%,44% 45%,40% 100%,36% 45%,32% 100%,28% 45%,24% 100%,20% 45%,16% 100%,12% 45%,8% 100%,4% 45%,0 100%)}
.footer-grid{display:grid;gap:36px;padding-bottom:54px}.footer-logo{width:220px;margin-bottom:18px}.footer-grid p{max-width:360px;color:rgba(255,255,255,.6)}.footer-grid h3{margin-bottom:16px;color:var(--yellow);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}.footer-grid>div:not(:last-child) a{display:block;margin:10px 0;color:rgba(255,255,255,.72);font-size:.88rem}.footer-grid a:hover{color:var(--yellow)}
.footer-location{display:flex;flex-direction:column;align-items:flex-start}.footer-location span{color:var(--yellow);font:700 2rem "Caveat",cursive}.footer-location strong{font:400 4rem/.78 "Bebas Neue",Impact,sans-serif}.footer-location small{margin-top:10px;color:rgba(255,255,255,.5);letter-spacing:.18em;text-transform:uppercase}
.footer-bottom{display:flex;flex-direction:column;gap:4px;border-top:1px solid rgba(255,255,255,.12);padding:22px 0 28px}.footer-bottom p{margin:0;color:rgba(255,255,255,.45);font-size:.72rem}
.modal{width:min(720px,calc(100% - 24px));max-height:calc(100svh - 24px);overflow:auto;border:0;border-radius:28px;padding:0;background:var(--paper);box-shadow:0 40px 120px rgba(16,3,24,.5)}.modal::backdrop{background:rgba(18,4,27,.78);backdrop-filter:blur(8px)}.modal-content{padding:48px 22px 28px}.modal-content h2{font-size:clamp(2.9rem,12vw,4.8rem)}.modal-close{position:absolute;z-index:2;top:12px;right:12px;width:42px;height:42px;border:0;border-radius:50%;background:var(--ink);color:#fff;font-size:1.8rem;cursor:pointer}
.join-form{display:grid;gap:16px;margin-top:24px}.join-form label{display:grid;gap:7px;color:var(--ink);font-size:.78rem;font-weight:800}.join-form input,.join-form textarea,.join-form select{width:100%;border:1px solid rgba(36,17,47,.22);border-radius:13px;padding:13px 14px;background:#fff;color:var(--ink)}.join-form textarea{resize:vertical}.form-row{display:grid;gap:16px}.form-feedback{min-height:24px;margin:0;color:var(--green);font-weight:700}.contact-options{display:grid;gap:12px;margin-top:24px}.contact-options a{display:grid;gap:5px;border:1px solid var(--border);border-radius:16px;padding:18px;background:#fff}.contact-options a:hover{border-color:var(--pink);transform:translateY(-2px)}.contact-options span{color:var(--soft);font-size:.82rem}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
body.admin-bar .site-header,body.admin-bar .reading-progress{top:32px}
@media(max-width:782px){body.admin-bar .site-header,body.admin-bar .reading-progress{top:46px}}
@media(min-width:640px){
  :root{--shell:min(1180px,calc(100% - 56px))}
  .section{padding-block:108px}.hero-actions{flex-direction:row}.stats{grid-template-columns:repeat(4,1fr)}.stat-card{min-height:210px}.impact-cards{grid-template-columns:1fr 1fr}.principle-wheel{grid-template-columns:1fr 1fr}.wheel-center{grid-column:1/-1}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:340px}.gallery-item{min-height:0}.gallery-item-wide{grid-column:1/-1}.gallery-item-tall{grid-row:span 2}.form-row{grid-template-columns:1fr 160px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-location{grid-column:1/-1}.footer-bottom{flex-direction:row;justify-content:space-between}
}
@media(min-width:900px){
  :root{--header:88px}
  .header-inner{grid-template-columns:240px 1fr auto}.brand{width:210px}.brand img{height:66px}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.1vw,34px)}.desktop-nav a{position:relative;color:rgba(255,255,255,.78);font-size:.76rem;font-weight:800}.desktop-nav a:after{content:"";position:absolute;right:0;bottom:-8px;left:0;height:2px;background:var(--yellow);transform:scaleX(0);transition:.25s}.desktop-nav a:hover:after{transform:scaleX(1)}.header-cta{display:inline-flex}.menu-toggle,.mobile-nav{display:none}
  .hero-content{padding-bottom:160px}.hero-lead{font-size:1.15rem}.intro-grid{grid-template-columns:1.05fr .95fr;gap:80px}.story-layout{grid-template-columns:minmax(0,1.05fr) minmax(360px,.85fr);gap:72px}.story-visual{top:calc(var(--header) + 30px);min-height:calc(100vh - var(--header) - 60px)}.story-visual p{left:34px;bottom:30px;font-size:3.3rem}.story-step{min-height:88vh;padding:60px 0}.story-step h3{font-size:4rem}
  .feature-card{display:grid;grid-template-columns:1.15fr .85fr;min-height:600px}.feature-media{min-height:100%}.feature-copy{display:flex;flex-direction:column;justify-content:center;padding:64px}.timeline{max-width:940px;margin-top:110px;margin-inline:auto;padding-left:90px}.timeline-line{left:32px}.timeline-item{display:grid;grid-template-columns:140px 1fr;gap:46px;padding:0 0 92px}.timeline-marker{left:-73px;width:52px;height:52px}.timeline-item>div:last-child{display:grid;grid-template-columns:1.05fr 1fr;column-gap:50px}.timeline-item>div:last-child>span{grid-column:1/-1}.timeline-item h3{margin-bottom:0;font-size:3rem}.timeline-item p{align-self:center}
  .impact-grid{grid-template-columns:.92fr 1.08fr;gap:90px;align-items:center}.impact-copy{position:sticky;top:140px;align-self:start}.impact-card{min-height:280px;padding:30px}.principle-wheel{min-height:720px;display:block}.wheel-center{position:absolute;top:50%;left:50%;width:310px;max-width:none;margin:0;transform:translate(-50%,-50%)}.principle{position:absolute;width:260px;min-height:138px}.principle-1{top:4%;left:12%}.principle-2{top:4%;right:12%}.principle-3{top:40%;left:0}.principle-4{top:40%;right:0}.principle-5{bottom:4%;left:12%}.principle-6{bottom:4%;right:12%}
  .gallery-heading{grid-template-columns:1fr 360px;align-items:end}.gallery-grid{grid-template-columns:1.3fr .85fr .85fr;grid-template-rows:340px 340px}.gallery-item-wide{grid-column:span 2}.gallery-item-tall{grid-column:3;grid-row:1/span 2}.sponsor-card{display:grid;grid-template-columns:1.08fr .92fr}.sponsor-copy{padding:70px}.sponsor-benefits{display:flex;flex-direction:column;justify-content:center;padding:70px 54px}.sources-grid{grid-template-columns:.9fr 1.1fr;gap:80px}.footer-grid{grid-template-columns:1.5fr .7fr 1fr .8fr}.footer-location{grid-column:auto}.modal-content{padding:58px 54px 44px}
}
@media(min-width:1180px){.principle{width:300px}.principle-1,.principle-5{left:13%}.principle-2,.principle-6{right:13%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}
