:root{--yellow: #F5C842;--yellow-dark: #D4A820;--red: #C0392B;--red-dark: #8B1A0E;--maroon: #3D0C0C;--cream: #FEF6DC;--cream-dark: #F5E8B0;--white: #FFFFFF;--text-dark: #2A0A0A;--text-body: #5a2020;--text-muted: #7a3030;--text-faint: #9a6060}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Nunito,sans-serif;background-color:var(--cream);color:var(--text-dark);background-image:radial-gradient(circle,#d4a82022 1px,transparent 1px);background-size:28px 28px}h1,h2,h3,.logo-text{font-family:Fredoka One,cursive}img{max-width:100%;display:block}.icon{width:1em;height:1em;display:inline-block;vertical-align:-.125em;flex-shrink:0}a{color:inherit}.checker{height:16px;background-image:repeating-linear-gradient(90deg,var(--red) 0px,var(--red) 16px,var(--yellow) 16px,var(--yellow) 32px)}nav{background:var(--cream);border-bottom:3px solid var(--maroon);position:sticky;top:0;z-index:100;padding:.75rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.nav-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}.nav-brand img{width:60px;height:60px;object-fit:contain}.nav-brand-text{font-family:Fredoka One,cursive;font-size:1.15rem;color:var(--maroon);line-height:1.2}.nav-brand-text span{color:var(--red)}.nav-toggle{display:none;background:none;border:2px solid var(--maroon);border-radius:8px;color:var(--maroon);padding:.4rem;cursor:pointer;flex-shrink:0}.nav-toggle .icon{width:1.6rem;height:1.6rem}.nav-toggle-icon-close,.nav-toggle[aria-expanded=true] .nav-toggle-icon-open{display:none}.nav-toggle[aria-expanded=true] .nav-toggle-icon-close{display:block}nav ul{display:flex;gap:.25rem;list-style:none;flex-wrap:wrap}nav ul li a{font-family:Nunito,sans-serif;font-weight:800;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--maroon);text-decoration:none;padding:.45rem .85rem;border-radius:20px;border:2px solid transparent;transition:all .15s;display:block}nav ul li a:hover,nav ul li a[aria-current=page]{background:var(--red);color:var(--white);border-color:var(--maroon)}@media(max-width:1199px){nav{padding:.65rem 1.25rem}.nav-toggle{display:inline-flex}#nav-menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:.35rem;background:var(--cream);border-bottom:3px solid var(--maroon);box-shadow:0 8px 16px #0000001f;padding:.75rem 1.25rem 1.25rem}#nav-menu.open{display:flex}nav ul li a{font-size:.9rem;padding:.7rem 1rem;border-radius:10px}}footer{background:var(--maroon);color:var(--cream);padding:3rem 2rem 1.5rem;border-top:5px solid var(--yellow)}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;max-width:1100px;margin:0 auto 2rem}.footer-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;text-decoration:none}.footer-brand img{width:48px;height:48px;object-fit:contain}.footer-brand-name{font-family:Fredoka One,cursive;font-size:1.1rem;color:var(--yellow)}.footer-col h4{font-family:Fredoka One,cursive;font-size:1rem;color:var(--yellow);margin-bottom:.75rem;border-bottom:2px solid var(--red);padding-bottom:.4rem}.footer-col p,.footer-col a{font-size:.88rem;line-height:1.7;color:#e8c8a0;text-decoration:none;display:block}.footer-col a:hover{color:var(--yellow)}.footer-col p.with-icon{display:flex;align-items:center;gap:.5rem}.footer-col p.with-icon .icon{color:var(--yellow);flex-shrink:0}.footer-utility{max-width:1100px;margin:0 auto 1rem;border-top:1px solid #5a1a1a;padding-top:1rem;display:flex;flex-wrap:wrap;justify-content:center}.footer-utility a{font-size:.82rem;color:#e8c8a0;text-decoration:none;padding:0 .75rem;border-right:1px solid #5a1a1a}.footer-utility a:last-child{border-right:none}.footer-utility a:hover{color:var(--yellow)}.footer-bottom{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.footer-bottom p{font-size:.8rem;color:var(--text-faint)}.btn{display:inline-block;font-family:Fredoka One,cursive;font-size:1.1rem;letter-spacing:.05em;padding:.75rem 2rem;border-radius:30px;text-decoration:none;border:3px solid var(--maroon);transition:transform .12s,box-shadow .12s;cursor:pointer}.btn:hover{transform:translateY(-2px);box-shadow:4px 4px 0 var(--maroon)}.btn-primary{background:var(--red);color:var(--yellow)}.btn-secondary{background:var(--yellow);color:var(--maroon)}.btn-outline{background:transparent;color:var(--maroon)}.btn-sm{font-size:.85rem;padding:.5rem 1.3rem}.hero{background:var(--maroon);position:relative;overflow:hidden;padding:3.5rem 2rem 3rem;text-align:center}.hero-logo{width:100%;max-width:260px;margin:0 auto 1rem;filter:drop-shadow(6px 6px 0 #8B1A0E88)}.hero h1{font-size:clamp(3rem,9vw,6.5rem);color:var(--yellow);line-height:.9;text-shadow:5px 5px 0 var(--red-dark),8px 8px 0 var(--maroon);margin-bottom:.4rem}.hero-sub{font-size:clamp(1.1rem,3vw,1.6rem);color:var(--cream);font-weight:800;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.5rem}.hero-tag{display:inline-flex;align-items:center;gap:.5rem;background:var(--red);color:var(--yellow);font-family:Fredoka One,cursive;font-size:1rem;padding:.4rem 1.4rem;border-radius:30px;border:3px solid var(--yellow);margin:.25rem;letter-spacing:.05em}.hero-cta{margin-top:2rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.page-hero{background:var(--maroon);padding:3rem 2rem;text-align:center}.page-hero-eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--yellow);margin-bottom:.5rem}.page-hero h1{font-size:clamp(2.2rem,6vw,3.6rem);color:var(--yellow);text-shadow:4px 4px 0 var(--red-dark);margin-bottom:.6rem}.page-hero p{font-size:1.05rem;color:var(--cream);font-weight:700;max-width:640px;margin:0 auto}.details-strip{background:var(--red);border-top:4px solid var(--maroon);border-bottom:4px solid var(--maroon);padding:1.25rem 2rem;display:flex;justify-content:center;gap:3rem;flex-wrap:wrap}.detail-item{text-align:center;color:var(--cream)}.detail-label{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);margin-bottom:.15rem}.detail-value{font-family:Fredoka One,cursive;font-size:1.3rem;color:var(--white)}.section{padding:4rem 2rem;max-width:1100px;margin:0 auto}.section-label{font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--red);margin-bottom:.4rem;display:flex;align-items:center;gap:.5rem}.section-label:before,.section-label:after{content:"~";color:var(--yellow-dark)}.section-label.center{justify-content:center}.section-title{font-size:clamp(2rem,5vw,3.2rem);color:var(--maroon);margin-bottom:1rem;text-shadow:3px 3px 0 var(--yellow-dark)}.section-title.center{text-align:center}.section-divider{width:60px;height:5px;border-radius:3px;background:var(--red);margin:1rem 0 2rem}.section-divider.center{margin:1rem auto 2rem}.section-dark{background:var(--maroon);padding:4rem 2rem}.section-dark .section-label{color:var(--yellow)}.section-dark .section-label:before,.section-dark .section-label:after{color:var(--red)}.section-dark .section-title{color:var(--yellow);text-shadow:3px 3px 0 var(--red-dark)}.section-dark .section-divider{background:var(--yellow)}.section-dark-inner{max-width:1100px;margin:0 auto}.section-gold{background:var(--yellow);border-top:4px solid var(--maroon);border-bottom:4px solid var(--maroon);padding:3.5rem 2rem;text-align:center}.section-gold .section-label{color:var(--maroon);justify-content:center}.section-gold .section-title{color:var(--maroon);text-shadow:3px 3px 0 var(--yellow-dark)}@media(max-width:640px){.details-strip{gap:1.5rem}}.card{background:var(--white);border:3px solid var(--maroon);border-radius:16px;padding:1.5rem 1.25rem;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}.card:hover{transform:translateY(-3px);box-shadow:5px 5px 0 var(--maroon)}.card>.btn:last-child,.card>a.btn:last-child{margin-top:auto;align-self:flex-start}.card--center{text-align:center}.card--center>.btn:last-child,.card--center>a.btn:last-child{align-self:center}.card-icon{font-size:2.2rem;color:var(--red);margin-bottom:.6rem}.card-title{font-family:Fredoka One,cursive;font-size:1.2rem;color:var(--maroon);margin-bottom:.2rem}.card-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:.5rem}.card-desc{font-size:.9rem;color:var(--text-body);line-height:1.5;margin-bottom:.75rem}.vendor-card{height:14rem;overflow:hidden}.vendor-card .card-icon,.vendor-card .card-title,.vendor-card .card-eyebrow{flex-shrink:0}.grid-2{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem}.grid-2>*{flex:1 1 240px}@media(max-width:640px){.visit-info-grid.grid-2{flex-direction:column;align-items:center}.visit-info-grid .card{width:100%;max-width:360px;text-align:center}}.grid-3{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem}.grid-3>*{flex:1 1 220px}.grid-4{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem}.grid-4>*{flex:1 1 200px}.sidebar-layout{display:grid;grid-template-columns:2fr 1fr;align-items:start;gap:1.25rem}.sidebar-main{display:flex;flex-direction:column;gap:2rem}.sidebar-aside{display:flex;flex-direction:column;gap:1.25rem}@media(max-width:700px){.sidebar-layout{grid-template-columns:1fr}.sidebar-layout.cards-first .sidebar-aside{order:-1}}.quick-link{background:var(--white);border:3px solid var(--maroon);border-radius:16px;padding:1.75rem 1.25rem;text-align:center;text-decoration:none;display:block;transition:transform .15s,box-shadow .15s}.quick-link:hover{transform:translateY(-3px);box-shadow:5px 5px 0 var(--maroon)}.quick-link-icon{font-size:2.4rem;color:var(--red);margin-bottom:.5rem}.quick-link-title{font-family:Fredoka One,cursive;font-size:1.15rem;color:var(--maroon);margin-bottom:.3rem}.quick-link-desc{font-size:.85rem;color:var(--text-body)}.agenda{list-style:none;max-width:640px;margin:0 auto;position:relative}.agenda:before{content:"";position:absolute;left:27px;top:8px;bottom:8px;width:2px;background:var(--cream-dark)}.agenda-item{position:relative;padding:0 0 2rem}.agenda-item:last-child{padding-bottom:0}.agenda-item details{width:100%}.agenda-summary-row{display:flex;gap:1.25rem;align-items:flex-start;cursor:pointer;list-style:none}.agenda-summary-row::-webkit-details-marker{display:none}.agenda-summary-row::marker{content:""}.agenda-chevron{flex-shrink:0;color:var(--text-muted);font-size:.75rem;padding-top:.85rem;transition:transform .15s}.agenda-item details[open] .agenda-chevron{transform:rotate(180deg)}.agenda-detail{font-size:.88rem;color:var(--text-body);line-height:1.6;padding:.4rem 0 0 4.5rem}.agenda-marker{position:relative;z-index:1;flex-shrink:0;width:56px;height:56px;border-radius:50%;background:var(--white);border:2px solid var(--maroon);color:var(--red);display:flex;align-items:center;justify-content:center}.agenda-marker .icon{width:1.5rem;height:1.5rem}.agenda-item.featured .agenda-marker{background:var(--maroon);color:var(--yellow);border-color:var(--maroon)}.agenda-body{flex:1;padding-top:.6rem}.agenda-time{font-family:Fredoka One,cursive;font-size:.95rem;color:var(--red);display:block;margin-bottom:.15rem}.agenda-title{font-size:1.1rem;font-weight:800;color:var(--maroon)}.agenda-location{font-size:.88rem;color:var(--text-muted);font-weight:600;margin-top:.15rem}.agenda-badge{display:inline-block;font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--red);color:var(--yellow);border-radius:4px;padding:.15rem .5rem;margin-left:.5rem;vertical-align:middle}.sponsor-tier-label{font-size:1.05rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--maroon);margin:1.5rem 0 .75rem;display:flex;align-items:center;gap:.5rem;justify-content:center}.sponsor-tier-label .icon{width:1.35rem;height:1.35rem}.sponsor-logo{width:100%;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.sponsor-logo img{max-height:100%;max-width:100%;object-fit:contain}.sponsor-name{font-family:Nunito,sans-serif;font-size:.72rem;font-weight:700;color:var(--text-muted)}.sponsor-name-only{font-family:Fredoka One,cursive;color:var(--maroon)}.sponsor-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1rem}.sponsor-card{background:var(--white);border:3px solid var(--maroon);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;color:var(--maroon);transition:transform .12s,box-shadow .12s;cursor:default;padding:.75rem 1rem;text-align:center}.sponsor-card:hover{transform:translateY(-2px);box-shadow:4px 4px 0 var(--maroon)}.sponsor-cta{margin-top:2rem;font-size:1rem;font-weight:700;color:var(--maroon)}.sponsor-cta a{color:var(--red);text-decoration:underline;text-decoration-thickness:2px}.faq-item{padding:1rem 0;border-bottom:1px solid var(--cream-dark)}.faq-item:last-child{border-bottom:none}.faq-q{font-family:Fredoka One,cursive;font-size:1.05rem;color:var(--maroon)}.faq-a{font-size:.92rem;color:var(--text-body);margin-top:.35rem;line-height:1.6}.map-zone{background:var(--cream-dark);border:3px dashed var(--red);border-radius:16px;min-height:220px;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem}.map-zone-title{font-family:Fredoka One,cursive;font-size:1.1rem;color:var(--maroon)}.map-zone-sub{font-size:.88rem;color:var(--text-body);margin-top:.4rem}.gallery-year+.gallery-year{margin-top:3.5rem}.gallery-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.gallery-item{display:block;flex:1 1 240px;max-width:320px;aspect-ratio:4 / 3;border:3px solid var(--maroon);border-radius:12px;overflow:hidden;transition:transform .15s,box-shadow .15s}.gallery-item:hover{transform:translateY(-3px);box-shadow:5px 5px 0 var(--maroon)}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.map-embed{margin-top:2rem;border:3px solid var(--maroon);border-radius:16px;overflow:hidden;aspect-ratio:16 / 9}.map-embed iframe{width:100%;height:100%;border:0}.callout{margin-top:2rem;padding:1.5rem;background:var(--cream-dark);border:3px dashed var(--red);border-radius:16px;text-align:center}.callout-title{font-family:Fredoka One,cursive;font-size:1.2rem;color:var(--maroon)}.callout-desc{font-size:.95rem;color:var(--text-body);margin:.4rem 0 1rem}.filter-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:2rem}.filter-label{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--maroon)}.filter-pill{background:var(--white);border:2px solid var(--maroon);color:var(--maroon);border-radius:20px;padding:.35rem .9rem;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;font-family:Nunito,sans-serif;cursor:pointer}.filter-pill.active{background:var(--red);color:var(--yellow)}.img-placeholder{background:var(--cream-dark);border:2px dashed var(--maroon);border-radius:12px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;color:var(--text-muted)}.img-placeholder .icon{width:2rem;height:2rem}.lineup-photo{width:64px;height:64px;object-fit:cover;border-radius:12px;border:2px solid var(--maroon)}.img-placeholder-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;text-align:center;padding:0 .5rem}.form-panel{background:var(--white);border:3px solid var(--maroon);border-radius:16px;padding:1.75rem}.form-row{display:grid;gap:1rem;margin-bottom:1rem}.form-row.cols-2{grid-template-columns:1fr 1fr}@media(max-width:560px){.form-row.cols-2{grid-template-columns:1fr}}.field label{display:block;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--maroon);margin-bottom:.4rem}.field input,.field select,.field textarea{width:100%;font-family:Nunito,sans-serif;font-size:.95rem;color:var(--text-dark);background:var(--cream);border:2px solid var(--maroon);border-radius:8px;padding:.65rem .85rem;resize:vertical}.field textarea{min-height:100px}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--yellow);outline-offset:1px}.field-hint{font-size:.78rem;color:var(--text-muted);margin-top:.3rem}.form-overlay-wrap{position:relative}.form-overlay-wrap .form-panel{opacity:.35;filter:saturate(.5)}.form-overlay{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:1.5rem}.form-overlay-card{background:var(--white);border:3px solid var(--maroon);border-radius:16px;padding:1.75rem;max-width:420px;text-align:center;box-shadow:0 8px 24px #00000040}.donate-amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.donate-amount{background:var(--cream);border:2px solid var(--maroon);border-radius:8px;padding:.75rem;text-align:center;font-family:Fredoka One,cursive;font-size:1.1rem;color:var(--maroon);cursor:pointer}.donate-amount:hover,.donate-amount.selected{background:var(--yellow)}
