:root{--green:#6cbf2a;--green-dark:#4f9a1a;--green-light:#eaf7dd;--gold:#f5b942;--sky:#4a9ede;--ink:#26321f;--ink-soft:#55614c;--paper:#fff;--paper-soft:#fbfdf7;--border:#e3ecd8;--shadow:0 10px 30px #26321f14;--shadow-lg:0 20px 50px #26321f29;--radius:18px;--font-head:"Baloo 2", "Segoe UI", sans-serif;--font-body:"Nunito", "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);margin:0;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--font-head);color:var(--green-dark);margin:0 0 .5em}p{margin:0 0 1em}a{color:var(--green-dark)}.container{max-width:1280px;margin:0 auto;padding:0 1.5rem;position:relative}.btn{font-weight:700;font-family:var(--font-head);cursor:pointer;border:none;border-radius:999px;padding:.85rem 1.75rem;font-size:1rem;text-decoration:none;display:inline-block}.btn-primary{background:var(--green);color:#fff;box-shadow:0 8px 20px #6cbf2a59}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.site-header{z-index:50;background:0 0;border-bottom:1px solid #0000;transition:background .35s,border-color .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s;position:sticky;top:0}.site-header.is-scrolled{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#ffffffeb}.header-inner{justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex;position:relative}.brand{align-items:center;gap:.6rem;text-decoration:none;display:flex}.brand-logo{width:44px;height:44px;box-shadow:var(--shadow);border-radius:50%}.brand-text{flex-direction:column;line-height:1.2;display:flex}.brand-name{font-family:var(--font-head);color:var(--green-dark);font-size:1.05rem;font-weight:700}.brand-sub{color:var(--ink-soft);font-size:.75rem}.site-nav--desktop{align-items:center;gap:1.5rem;display:flex}.site-nav a{color:var(--ink);font-size:.95rem;font-weight:600;text-decoration:none;position:relative}.site-nav--desktop a:not(.nav-cta):after{content:"";background:var(--green);border-radius:2px;height:2px;transition:right .25s;position:absolute;bottom:-4px;left:0;right:100%}.site-nav--desktop a:not(.nav-cta):hover:after{right:0}.site-nav a:hover{color:var(--green-dark)}.nav-cta{background:var(--green);border-radius:999px;padding:.5rem 1.1rem;transition:background .2s,transform .2s;color:#fff!important}.nav-cta:hover{background:var(--green-dark);transform:translateY(-1px)}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:.4rem;display:none}.nav-toggle span{background:var(--green-dark);border-radius:2px;width:24px;height:3px;transition:transform .25s,opacity .25s}.nav-toggle.is-open span:first-child{transform:translateY(8px)rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.site-nav--mobile{background:var(--paper);border-bottom:1px solid var(--border);box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;gap:0;display:none;position:absolute;top:100%;left:0;right:0;overflow:hidden}.site-nav--mobile a{border-top:1px solid var(--border);width:100%;padding:.9rem 1.25rem}.site-nav--mobile .nav-cta{text-align:center;border-radius:0}.hero{background:radial-gradient(120% 120% at 50% 0%, var(--green-light) 0%, var(--paper) 65%);text-align:center;padding:5rem 0 4.5rem;position:relative;overflow:hidden}.hero-blob{filter:blur(50px);opacity:.5;pointer-events:none;z-index:0;border-radius:50%;position:absolute}.hero-blob--a{background:radial-gradient(circle, var(--gold) 0%, transparent 70%);width:340px;height:340px;animation:14s ease-in-out infinite blob-float-a;top:-80px;left:-100px}.hero-blob--b{background:radial-gradient(circle, var(--sky) 0%, transparent 70%);width:380px;height:380px;animation:16s ease-in-out infinite blob-float-b;bottom:-140px;right:-120px}@keyframes blob-float-a{0%,to{transform:translate(0)scale(1)}50%{transform:translate(30px,40px)scale(1.08)}}@keyframes blob-float-b{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-30px,-30px)scale(1.1)}}.hero-floaters{z-index:0;pointer-events:none;position:absolute;inset:0}.hero-floater{opacity:.55;font-size:1.8rem;animation:7s ease-in-out infinite floater-drift;position:absolute}.hero-floater--0{font-size:2.1rem;animation-delay:0s;top:14%;left:8%}.hero-floater--1{font-size:1.5rem;animation-delay:1.1s;top:65%;left:6%}.hero-floater--2{font-size:1.7rem;animation-delay:.5s;top:22%;right:10%}.hero-floater--3{font-size:2rem;animation-delay:1.8s;top:70%;right:8%}.hero-floater--4{font-size:1.4rem;animation-delay:2.4s;top:42%;left:3%}.hero-floater--5{font-size:1.6rem;animation-delay:.9s;top:46%;right:4%}@keyframes floater-drift{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-18px)rotate(8deg)}}.hero-inner{z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.hero-logo{width:96px;height:96px;box-shadow:var(--shadow-lg);border-radius:50%;margin-bottom:1.25rem}.hero h1{max-width:20ch;font-size:clamp(1.6rem,4vw,2.5rem)}.tagline{font-family:var(--font-head);color:var(--gold);margin-bottom:1rem;font-size:1.15rem;font-weight:700}.hero-copy{max-width:46ch;color:var(--ink-soft)}.hero-scroll-cue{border:2px solid var(--ink-soft);opacity:.5;z-index:1;border-radius:999px;width:26px;height:40px;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.hero-scroll-cue-dot{background:var(--ink-soft);border-radius:50%;width:5px;height:5px;margin:6px auto 0;animation:1.6s ease-in-out infinite scroll-cue-bounce;display:block}@keyframes scroll-cue-bounce{0%,to{opacity:1;transform:translateY(0)}50%{opacity:0;transform:translateY(14px)}}.section{padding:4.5rem 0}.section h2{text-align:center;font-size:clamp(1.4rem,3vw,2rem)}.section-lead{text-align:center;color:var(--ink-soft);max-width:56ch;margin:0 auto 2.5rem}.about{background:var(--paper-soft)}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;display:grid}.feature-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);will-change:transform;padding:1.5rem}.feature-icon{margin-bottom:.5rem;font-size:2rem;display:block}.feature-card h3{margin-bottom:.35rem;font-size:1.05rem}.feature-card p{color:var(--ink-soft);margin:0;font-size:.92rem}.programs-subhead{text-align:center;color:var(--ink);margin:2.5rem 0 1.25rem;font-size:1.1rem}.programs-subhead:first-of-type{margin-top:.5rem}.program-story{flex-direction:column;gap:1.5rem;margin-bottom:1rem;display:flex;position:relative}.program-story--growth:before{content:"";border-left:3px dashed var(--border);z-index:0;width:0;position:absolute;top:20px;bottom:20px;left:50%}.program-row{z-index:1;background:var(--paper);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:28px;align-items:center;gap:2rem;padding:1.5rem 2rem;display:flex;position:relative}.program-row:nth-child(2n){flex-direction:row-reverse}.program-row-art{aspect-ratio:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:clamp(150px,22vw,240px);display:flex;overflow:visible}.program-row-text{flex:1;min-width:0}.program-row-icon{margin-bottom:.25rem;font-size:1.5rem;display:block}.program-row-text h3{margin-bottom:.4rem;font-size:1.3rem}.program-row-text p{color:var(--ink-soft);max-width:42ch;margin:0}@media (width<=720px){.program-story--growth:before{display:none}.program-row,.program-row:nth-child(2n){text-align:center;flex-direction:column;padding:1.5rem}.program-row-text p{max-width:none}}.poster-grid,.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem;display:grid}.poster-card,.gallery-card{border-radius:var(--radius);cursor:pointer;background:var(--paper);box-shadow:var(--shadow);aspect-ratio:3/4;border:none;padding:0;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}.poster-card:hover,.gallery-card:hover:not(.gallery-placeholder){box-shadow:var(--shadow-lg);transform:translateY(-4px)}.poster-card img,.gallery-card img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.poster-card:hover img,.gallery-card:hover img{transform:scale(1.06)}.poster-label{color:#fff;font-family:var(--font-head);text-align:left;background:linear-gradient(#0000,#26321fd9);padding:.9rem .8rem .6rem;font-size:.9rem;font-weight:700;position:absolute;bottom:0;left:0;right:0}.poster-badge{z-index:1;font-family:var(--font-head);letter-spacing:.02em;color:#fff;border-radius:999px;padding:.3rem .7rem;font-size:.72rem;font-weight:700;position:absolute;top:.7rem;left:.7rem;box-shadow:0 4px 10px #0003}.poster-badge--upcoming{background:var(--green)}.poster-badge--past{background:#26321f99}.gallery-placeholder{color:var(--ink-soft);background:var(--green-light);text-align:center;cursor:default;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;display:flex}.gallery-placeholder span{font-size:2rem}.gallery-placeholder p{margin:0;font-size:.9rem}.carousel{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.carousel-track{gap:1.25rem;width:max-content;animation:46s linear infinite carousel-scroll;display:flex}.carousel:hover .carousel-track,.carousel:focus-within .carousel-track{animation-play-state:paused}.carousel-item{height:var(--item-h,260px);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;background:var(--paper);border:none;flex-shrink:0;padding:0;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}.carousel-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)scale(1.02)}.carousel-item img{width:auto;height:100%;transition:transform .35s;display:block}.carousel-item:hover img{transform:scale(1.05)}.carousel-item .poster-label{font-size:.82rem}@keyframes carousel-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (width<=640px){.carousel-item{height:190px}}.contact{background:var(--paper-soft)}.contact-inner{grid-template-columns:1fr 1.2fr;align-items:start;gap:3rem;display:grid}.contact-info h2,.contact-info .section-lead{text-align:left;margin-left:0}.info-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.contact-form{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.75rem}.form-row{flex-direction:column;gap:.35rem;margin-bottom:1.1rem;display:flex}.form-row label{font-size:.9rem;font-weight:700}.form-row input,.form-row textarea{font-family:var(--font-body);border:1px solid var(--border);background:var(--paper-soft);resize:vertical;border-radius:10px;padding:.7rem .9rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-row input:focus,.form-row textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #6cbf2a2e}.form-row--hidden{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-status{min-height:1.2em;margin:.9rem 0 0;font-weight:600;position:relative}.form-status.success{color:var(--green-dark)}.form-status.error{color:#c0392b}.confetti{pointer-events:none;gap:6px;display:inline-flex;position:absolute;top:-4px;left:50%}.confetti span{display:inline-block}.site-footer{background:var(--ink);color:#d8e6c9;text-align:center;padding:2rem 0}.footer-inner p{margin:.2rem 0;font-size:.9rem}.footer-credit{color:#9fb28a;font-size:.8rem}.lightbox{z-index:100;background:#141a0fe6;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.lightbox img{border-radius:10px;max-width:100%;max-height:90vh;box-shadow:0 20px 50px #00000080}.lightbox-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:2.5rem;line-height:1;position:absolute;top:1.25rem;right:1.5rem}@media (width<=800px){.contact-inner{grid-template-columns:1fr}}@media (width<=640px){.nav-toggle{display:flex}.site-nav--desktop{display:none}.site-nav--mobile{display:flex}}.loop-bounce{transform-origin:100px 216px;animation:2.6s ease-in-out infinite kid-bounce}.loop-sway{transform-origin:100px 216px;animation:3.4s ease-in-out infinite kid-sway}.loop-breathe{transform-origin:100px 130px;animation:2.8s ease-in-out infinite kid-breathe}.loop-twirl{transform-origin:100px 160px;animation:3.2s ease-in-out infinite kid-twirl}.loop-kick{transform-origin:100px 216px;animation:2.2s ease-in-out infinite kid-kick}.loop-beat{transform-origin:100px 216px;animation:1.8s ease-in-out infinite kid-beat}@keyframes kid-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes kid-sway{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}@keyframes kid-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes kid-twirl{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@keyframes kid-kick{0%,to{transform:translateY(0)rotate(-1.5deg)}50%{transform:translateY(-4px)rotate(1.5deg)}}@keyframes kid-beat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.loop-balloon-bob{animation:2.3s ease-in-out infinite balloon-bob}@keyframes balloon-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-6px)rotate(3deg)}}.loop-block-wiggle{transform-box:fill-box;transform-origin:50%;animation:2.5s ease-in-out infinite block-wiggle}@keyframes block-wiggle{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.loop-pencil-wiggle{transform-origin:0 0;animation:1.8s ease-in-out infinite pencil-wiggle}@keyframes pencil-wiggle{0%,to{transform:rotate(22deg)}50%{transform:rotate(34deg)}}.loop-page-flip{transform-box:fill-box;transform-origin:0;animation:3.2s ease-in-out infinite page-flip}@keyframes page-flip{0%,15%,to{transform:rotateY(0)}50%,65%{transform:rotateY(35deg)}}.loop-sparkle{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite sparkle-pulse}@keyframes sparkle-pulse{0%,to{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.loop-swoosh{animation:2.4s ease-in-out infinite swoosh-pulse}@keyframes swoosh-pulse{0%,to{opacity:.35}50%{opacity:.7}}.loop-mudra{transform-box:fill-box;transform-origin:50%;animation:2s ease-in-out infinite mudra-glow}@keyframes mudra-glow{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}}@media (prefers-reduced-motion:reduce){.hero-blob,.hero-floater,.hero-scroll-cue-dot,.carousel-track,.loop-bounce,.loop-sway,.loop-breathe,.loop-twirl,.loop-kick,.loop-beat,.loop-balloon-bob,.loop-block-wiggle,.loop-pencil-wiggle,.loop-page-flip,.loop-sparkle,.loop-swoosh,.loop-mudra{animation:none!important}*{transition-duration:.01ms!important}}
