:root{--charcoal:#34312e;--green:#769d52;--blue:#61a3cd;--yellow:#efdd1a;--pink:#c00047;--white:#fff;--paper:#f6f1e9;--pad:clamp(1.25rem,4vw,4.5rem);--display:'Fredoka','Arial Rounded MT Bold',sans-serif;--body:'Open Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}section[id]{scroll-margin-top:5.5rem}body{margin:0;background:var(--charcoal);color:var(--charcoal);font-family:var(--body);font-weight:600;line-height:1.55}img{display:block;max-width:100%}a{color:inherit}button,input{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:.5rem;left:.5rem;padding:.75rem 1rem;background:var(--yellow);transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:fixed;z-index:20;top:1rem;left:var(--pad);right:var(--pad);display:flex;align-items:center;pointer-events:none}.brand-chip,.menu-button,nav{pointer-events:auto}.brand-chip{width:3.25rem;height:3.25rem;border-radius:50%;overflow:hidden;background:var(--charcoal);border:3px solid white;box-shadow:0 4px 0 rgba(0,0,0,.18)}.brand-chip img{width:100%;height:100%;object-fit:cover}.site-header nav{margin-left:auto;display:flex;gap:.25rem;padding:.35rem;background:rgba(52,49,46,.93);border:1px solid rgba(255,255,255,.2);border-radius:999px;backdrop-filter:blur(8px)}.site-header nav a,.menu-button{padding:.65rem .95rem;border-radius:999px;color:white;text-decoration:none;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}.site-header nav a:hover,.site-header nav a.active{background:var(--yellow);color:var(--charcoal)}.menu-button{display:none;margin-left:auto;background:var(--charcoal);border:1px solid white}.hero{position:relative;min-height:100svh;overflow:hidden;background:var(--charcoal);color:white;padding:7.5rem var(--pad) 4rem}.hero:before{content:"";position:absolute;inset:0;opacity:.07;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:5vw 5vw;mask-image:linear-gradient(to bottom,#000,transparent 80%)}.hero-grid,.section-grid{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);max-width:1440px;margin:auto}.eyebrow{grid-column:1/6;margin:0;color:var(--yellow);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.hero-logo{grid-column:1/5;width:min(100%,960px);max-height:50vh;object-fit:contain;object-position:left center}.hero-intro{grid-column:4/6;align-self:end;margin-top:-2rem;font-size:clamp(1rem,1.5vw,1.35rem)}.hero-kicker{font-family:var(--display);font-size:clamp(2rem,4.2vw,4.5rem);line-height:.96;margin:0 0 1rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.4rem;margin-top:1rem;padding:.8rem 1.25rem;border:0;border-radius:1.5rem 1.5rem .3rem 1.5rem;font-family:var(--display);font-size:1rem;text-transform:uppercase;text-decoration:none;cursor:pointer;box-shadow:0 .32rem 0 rgba(0,0,0,.25);transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px);box-shadow:0 .5rem 0 rgba(0,0,0,.25)}.button:active{transform:translateY(3px);box-shadow:0 .1rem 0 rgba(0,0,0,.25)}.button-yellow{background:var(--yellow);color:var(--charcoal)}.button-dark{background:var(--charcoal);color:white;cursor:not-allowed}.button-pink{background:var(--pink);color:white}.hero-community{grid-column:1/4;display:flex;gap:clamp(.75rem,1.5vw,1.5rem);align-items:flex-end;margin-top:1rem}.hero-community p{flex:1 1 13rem;margin:0;font-size:.85rem}.hero-people-crop{flex:0 1 29rem;width:min(56%,29rem);aspect-ratio:2.9/1;overflow:hidden}.hero-people{width:100%;height:100%;object-fit:cover;object-position:center bottom}.ticker{position:absolute;bottom:0;left:0;width:100%;overflow:hidden;background:var(--yellow);color:var(--charcoal);border-top:3px solid var(--charcoal);border-bottom:3px solid var(--charcoal);font-family:var(--display);text-transform:uppercase;white-space:nowrap}.ticker div{width:max-content;padding:.65rem 0;animation:ticker 25s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}
.section-grid{padding:clamp(5rem,10vw,10rem) var(--pad)}.section-number{grid-column:1/2;margin:0;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.about{background:var(--paper)}.about h2,.gallery h2,.mailing h2{grid-column:2/6;margin:0;font:700 clamp(3.4rem,8vw,8.5rem)/.87 var(--display);letter-spacing:-.045em;text-transform:uppercase}.about h2 span{color:var(--pink)}.about h2 .copy-primary{color:inherit}.about-copy{grid-column:2/4;font-size:clamp(1rem,1.4vw,1.25rem)}.about-copy .lede{font-family:var(--display);font-size:clamp(1.4rem,2vw,2rem);line-height:1.2}.seasons{grid-column:4/6;align-self:end;display:grid;grid-template-columns:repeat(3,1fr);border-top:3px solid var(--charcoal)}.seasons div{padding:1rem .35rem;border-right:1px solid var(--charcoal)}.seasons span,.seasons strong{display:block}.seasons span{font-size:.7rem}.seasons strong{font-family:var(--display);font-size:clamp(.9rem,1.4vw,1.3rem)}
.event{background:var(--yellow)}.event-grid{align-items:start}.event-date{grid-column:1/6;display:flex;align-items:center;justify-content:space-between;font:700 clamp(4rem,15vw,13rem)/.75 var(--display);letter-spacing:-.08em}.event-date i{font-style:normal;color:var(--pink);font-size:.6em}.event-details{grid-column:2/5;background:var(--paper);padding:clamp(1.5rem,4vw,3rem);border:3px solid var(--charcoal);box-shadow:.75rem .75rem 0 var(--charcoal)}.event-status{margin:0 0 .5rem;text-transform:uppercase;color:var(--pink);font-size:.75rem;letter-spacing:.12em}.event-details h2{font:700 clamp(2.2rem,4vw,4rem)/.95 var(--display);text-transform:uppercase;margin:0 0 2rem}.event-details dl{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.event-details dl div{border-top:2px solid;padding-top:.6rem}.event-details dt{text-transform:uppercase;font-size:.7rem;letter-spacing:.08em}.event-details dd{margin:.35rem 0 0}.event-description{max-width:42rem}.event-stamp{grid-column:5/6;align-self:end;justify-self:center;width:8rem;aspect-ratio:1;display:grid;place-items:center;text-align:center;border-radius:50%;background:var(--pink);color:white;font:700 1.4rem/1 var(--display);transform:rotate(8deg);box-shadow:.4rem .4rem 0 var(--charcoal)}
.gallery{overflow:hidden;background:var(--blue);padding-bottom:clamp(5rem,10vw,10rem)}.gallery-heading{align-items:end}.gallery h2{grid-column:2/5}.gallery-heading>p:nth-of-type(2){grid-column:2/4;margin:0}.gallery-controls{grid-column:4/6;justify-self:end;display:flex;align-items:center;gap:.75rem}.gallery-controls button{width:3.3rem;aspect-ratio:1;border:2px solid var(--charcoal);border-radius:50%;background:var(--paper);box-shadow:.2rem .2rem 0 var(--charcoal);cursor:pointer}.filmstrip{display:flex;gap:clamp(1rem,2vw,2rem);overflow-x:auto;scroll-snap-type:x mandatory;padding:1rem var(--pad) 2rem;cursor:grab;scrollbar-color:var(--charcoal) transparent;scrollbar-width:thin}.filmstrip:active{cursor:grabbing}.gallery-card{position:relative;flex:0 0 min(68vw,720px);aspect-ratio:4/3;scroll-snap-align:center;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1.5rem,4vw,3rem);border:3px solid var(--charcoal);border-radius:4rem 4rem .5rem 4rem;box-shadow:.75rem .75rem 0 var(--charcoal);overflow:hidden}.gallery-card:after{content:"";position:absolute;width:40%;aspect-ratio:1;right:-8%;bottom:-20%;border:clamp(1.5rem,4vw,3.5rem) solid rgba(52,49,46,.16);border-radius:50%}.gallery-card span{font-size:.75rem;letter-spacing:.1em}.gallery-card strong{font:700 clamp(2.5rem,6vw,6.5rem)/.86 var(--display);text-transform:uppercase;z-index:1}.gallery-card small{text-transform:uppercase;letter-spacing:.1em}.card-green{background:var(--green)}.card-blue{background:var(--paper)}.card-yellow{background:var(--yellow)}.card-pink{background:var(--pink);color:white}
.mailing{background:var(--paper)}.mailing-copy{grid-column:2/5}.mailing h2{font-size:clamp(3.4rem,8vw,8rem)}.mailing h2 span{color:var(--blue)}.mailing h2 .copy-primary{color:inherit}.mailing-copy>p{max-width:42rem;font-size:1.15rem}.signup-form{grid-column:2/5;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field label{display:block;margin-bottom:.35rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.field input{width:100%;min-height:3.5rem;padding:.7rem 1rem;border:2px solid var(--charcoal);background:white;border-radius:1rem}.signup-form .button{grid-column:1/3;justify-self:start}.privacy,.form-message{grid-column:1/3;margin:0;font-size:.72rem}.form-message{font-size:.9rem;color:var(--pink)}.people{grid-column:1/6;width:80%;margin:3rem auto -3rem}footer{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:1.5rem;padding:2rem var(--pad);background:var(--charcoal);color:white;font-size:.8rem}footer p{margin:0}footer div{display:flex;gap:1rem}.copyright{opacity:.7}
:focus-visible{outline:4px solid var(--yellow);outline-offset:4px}.reveal{opacity:0;transform:translateY(1.5rem);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:760px){.site-header nav{position:absolute;top:4rem;right:0;display:none;flex-direction:column;border-radius:1rem}.site-header nav.open{display:flex}.menu-button{display:block}.hero{padding-top:6.5rem}.hero-grid,.section-grid{grid-template-columns:1fr}.eyebrow,.hero-logo,.hero-intro,.hero-community,.section-number,.about h2,.about-copy,.seasons,.event-date,.event-details,.event-stamp,.gallery h2,.gallery-heading>p:nth-of-type(2),.gallery-controls,.mailing-copy,.signup-form,.people{grid-column:1}.hero-logo{margin-top:2rem}.hero-intro{margin-top:1rem}.hero-community{display:none}.section-grid{padding-top:5rem;padding-bottom:5rem}.about h2,.gallery h2,.mailing h2{font-size:clamp(3rem,16vw,5rem)}.seasons{margin-top:2rem}.event-date{font-size:22vw}.event-details{box-shadow:.4rem .4rem 0 var(--charcoal)}.event-details dl{grid-template-columns:1fr}.event-stamp{position:absolute;right:1.5rem;top:12rem;width:5rem;font-size:.9rem}.gallery-heading{padding-bottom:2rem}.gallery-controls{justify-self:start}.gallery-card{flex-basis:82vw;aspect-ratio:3/4;border-radius:2.5rem 2.5rem .5rem 2.5rem}.signup-form{display:grid;grid-template-columns:1fr}.signup-form .button,.privacy,.form-message{grid-column:1}.people{width:100%;margin-bottom:-2rem}footer{grid-template-columns:auto 1fr}footer div,.copyright{grid-column:1/3;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}
.capture .site-header{display:flex;position:absolute}.capture .hero{min-height:965px}.capture .reveal{opacity:1;transform:none;transition:none}.capture .ticker div{animation:none}

/* V2 refinement */
.ticker .ticker-track{display:flex;width:max-content;padding:.65rem 0;animation:ticker 46s linear infinite}
.ticker .ticker-track span{display:block;flex:none;white-space:nowrap}
.hero-intro{grid-column:3/5;max-width:38rem;margin-left:clamp(0rem,1.5vw,1.5rem)}
.about h2,.gallery h2,.mailing h2{font-size:clamp(3rem,6.6vw,7rem);line-height:.92;letter-spacing:-.025em}
.about h2{line-height:.94;letter-spacing:-.018em}
.mailing h2{line-height:.9;letter-spacing:-.02em}
.community-transition{position:relative;min-height:clamp(32rem,72vw,58rem);overflow:hidden;background-image:url('assets/images/community-transition.webp');background-size:cover;background-position:center 42%;isolation:isolate}
.community-transition:before{content:"";position:absolute;inset:auto 0 0;height:44%;background-image:url('assets/images/pink-dither-transition.png');background-position:center bottom;background-size:auto 100%;background-repeat:repeat-x;z-index:2}
.dither{position:absolute;left:0;right:0;background:var(--pink);z-index:1;pointer-events:none}
.dither-1{bottom:25%;height:15%;opacity:.48;mask-image:repeating-conic-gradient(from 45deg,#000 0 25%,transparent 0 50%);mask-size:6px 6px}
.dither-2{bottom:15%;height:18%;opacity:.72;mask-image:repeating-conic-gradient(from 45deg,#000 0 37.5%,transparent 0 50%);mask-size:10px 10px;transform:translateX(1.5%)}
.dither-3{bottom:6%;height:18%;opacity:.9;mask-image:repeating-conic-gradient(from 45deg,#000 0 43%,transparent 0 50%);mask-size:16px 16px;transform:translateX(-1%)}
.dither-4{bottom:0;height:12%;background:var(--pink)}
.event{background:var(--pink);color:var(--paper)}
.event-grid{padding-top:clamp(4rem,7vw,7rem)}
.event-date{grid-column:2/5;display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;width:min(100%,880px);justify-self:center;gap:0;font-size:clamp(3.6rem,9vw,8.4rem);line-height:.8;letter-spacing:-.035em;color:var(--paper)}
.event-date span{justify-self:center}.event-date span:first-child{justify-self:start}.event-date span:last-child{justify-self:end}.event-date i{justify-self:center}
.event-date i{color:var(--yellow);font-size:.54em}
.event-details{grid-column:2/5;width:min(100%,880px);justify-self:center;color:var(--charcoal);box-shadow:.65rem .65rem 0 var(--yellow)}
.event-details h2{font-size:clamp(2rem,3.3vw,3.3rem);line-height:1;letter-spacing:-.015em}
.event-details .button-dark{background:var(--yellow);color:var(--charcoal)}
.gallery h2{letter-spacing:-.018em}
.gallery-card{position:relative;flex:0 0 min(78vw,1180px);aspect-ratio:16/9;margin:0;padding:0;border-radius:2.5rem 2.5rem .5rem 2.5rem;background:var(--charcoal);color:var(--charcoal);box-shadow:.75rem .75rem 0 #c00047}
.gallery-card:after{display:none}
.gallery-card picture{display:block;width:100%;height:100%;border-radius:inherit}
.gallery-card img{width:100%;height:100%;object-fit:contain;object-position:center;background:var(--charcoal);border-radius:inherit}
.gallery-card figcaption{position:absolute;left:1.2rem;bottom:1.2rem;padding:.55rem .8rem;border:2px solid var(--charcoal);border-radius:999px;background:var(--paper);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;box-shadow:.2rem .2rem 0 var(--charcoal)}
.filmstrip{overflow-x:hidden;cursor:grab;touch-action:pan-y;scroll-snap-type:none;user-select:none;-webkit-user-select:none}
.filmstrip.is-dragging{cursor:grabbing}
.filmstrip.is-dragging .gallery-open{cursor:grabbing}
.gallery-controls button:focus-visible{outline:4px solid var(--yellow);outline-offset:4px}
.mailing-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.signup-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;max-width:780px}
.signup-form .field input{min-height:4.25rem;font-size:1.05rem}
.signup-form .button{grid-column:2;margin:0;min-height:4.25rem;padding-inline:1.5rem}
.signup-form .privacy,.signup-form .form-message{grid-column:1/3}
.people-flourish{grid-column:2/5;text-align:center;margin-top:2rem}
.people-message{margin:0 0 1.5rem;font:700 clamp(1.5rem,3vw,2.75rem)/1 var(--display);text-transform:none;color:var(--charcoal)}
.people-message span{white-space:nowrap}
.people-crop{width:min(50%,520px);aspect-ratio:2.9/1;margin:auto;overflow:hidden}
.people-crop .people{width:100%;height:100%;margin:0;object-fit:cover;object-position:center bottom}
@media(max-width:760px){.about h2,.gallery h2,.mailing h2{font-size:clamp(2.85rem,14vw,4.6rem);line-height:.94}.hero-intro{grid-column:1;max-width:none;margin-left:0}.community-transition{min-height:34rem;background-position:center top}.community-transition:before{height:38%;background-size:auto 100%}.event-date{grid-column:1;font-size:18vw}.event-details{grid-column:1;box-shadow:.4rem .4rem 0 var(--yellow)}.gallery-card{flex-basis:88vw;aspect-ratio:4/3;border-radius:1.8rem 1.8rem .4rem 1.8rem}.signup-form{grid-template-columns:1fr}.signup-form .button,.signup-form .privacy,.signup-form .form-message{grid-column:1}.people-flourish{grid-column:1}.people-message span{white-space:normal}.people-crop{width:min(72%,420px)}}

/* Privacy page */
.privacy-page{background:var(--paper);color:var(--charcoal)}
.privacy-page .site-header{position:absolute}
.privacy-main{max-width:900px;margin:auto;padding:9rem var(--pad) 6rem}
.privacy-main .eyebrow{color:var(--pink)}
.privacy-main h1{margin:.6rem 0 1.5rem;font:700 clamp(3rem,8vw,7rem)/1 var(--display);font-kerning:none;font-feature-settings:"kern" 0;letter-spacing:.035em;text-transform:uppercase}
.privacy-main .updated{margin-bottom:3rem;color:var(--pink);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.privacy-copy{max-width:720px}
.privacy-copy h2{margin:2.75rem 0 .7rem;font:700 clamp(1.6rem,3vw,2.3rem)/1 var(--display)}
.privacy-copy li{margin:.45rem 0}
.privacy-copy a{font-weight:700;text-decoration-thickness:2px;text-underline-offset:3px}
.privacy-back{display:inline-flex;margin-top:3rem;font-family:var(--display);text-transform:uppercase}
@media(max-width:760px){.privacy-main{padding-top:7rem}.privacy-main h1{font-size:clamp(2.8rem,16vw,4.7rem)}}

.gallery-open{display:block;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:inherit;background:transparent;cursor:zoom-in;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.gallery-open picture{pointer-events:none}
.gallery-open:focus-visible{outline:5px solid var(--yellow);outline-offset:-8px}
.gallery-card figcaption{pointer-events:none}.lightbox-open{overflow:hidden}.gallery-lightbox{width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:clamp(1rem,3vw,2.5rem);border:0;background:rgba(18,18,18,.98);color:white}
.gallery-lightbox::backdrop{background:rgba(18,18,18,.92)}
.gallery-lightbox[open]{display:grid;place-items:center}
.gallery-lightbox.is-fallback{position:fixed;z-index:100;inset:0}
.lightbox-close{position:fixed;z-index:2;top:clamp(1rem,2vw,2rem);right:clamp(1rem,2vw,2rem);width:3.25rem;aspect-ratio:1;border:2px solid white;border-radius:50%;background:var(--pink);color:white;font:700 2rem/1 var(--display);cursor:pointer}
.lightbox-layout{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(.6rem,2vw,1.5rem);width:min(100%,1600px)}
.gallery-lightbox figure{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:1rem;min-width:0;margin:0}
.gallery-lightbox img{width:100%;height:min(82vh,1000px);object-fit:contain}
.gallery-lightbox figcaption{display:flex;justify-content:space-between;gap:1rem;font-family:var(--display);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.lightbox-arrow{width:clamp(2.8rem,5vw,4.5rem);aspect-ratio:1;border:2px solid white;border-radius:50%;background:var(--paper);color:var(--charcoal);font:700 clamp(1.4rem,3vw,2.25rem)/1 var(--display);box-shadow:.25rem .25rem 0 var(--pink);cursor:pointer;touch-action:manipulation}
.lightbox-arrow:hover,.lightbox-close:hover{transform:translateY(-2px)}
.lightbox-arrow:focus-visible,.lightbox-close:focus-visible{outline:4px solid var(--yellow);outline-offset:4px}
@media(max-width:760px){.gallery-lightbox{padding:4.5rem .5rem 1rem}.lightbox-layout{gap:.25rem}.gallery-lightbox img{height:calc(100dvh - 8rem);max-height:72vh}.gallery-lightbox figcaption{font-size:.68rem}.lightbox-arrow{width:2.75rem}}

/* Official People Persons in the original compact hero footprint. */
.hero-community{gap:.5rem}
.hero-community p{flex:initial;margin:0 0 0 1rem}
.hero-people-crop{position:relative;flex:0 0 auto;width:auto;height:clamp(4rem,6vw,5.5rem);aspect-ratio:990/265;overflow:hidden}
.hero-people{position:static;width:100%;max-width:100%;height:100%;object-fit:contain;object-position:initial;transform:none}
