@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin-var.woff2) format("woff2")}@font-face{font-family:Oswald;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/oswald-latin-var.woff2) format("woff2")}:root{--color-red: #c8102e;--color-blue: #005baa;--color-blue-soft: #004a8f;--color-white: #ffffff;--color-bg: #faf9f7;--color-surface: #f0ede8;--color-border: #ddd8d0;--color-text: #1c1a18;--color-text-muted: #4a5c63;--color-accent: #c8102e;--color-accent-text: #a50d26;--color-accent-hover: #a50d26;--color-dark: #0d1626;--color-dark2: #14213a;--text-on-dark: #f3f6fb;--text-muted-on-dark: rgba(255, 255, 255, .72);--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Oswald", "Arial Narrow", system-ui, sans-serif;--radius: 4px;--space-section: clamp(56px, 8vw, 104px);--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 3rem;--space-xl: 5rem;--gutter: 1.25rem;--max-width: 1100px;--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--color-text);background:var(--color-bg);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}main{flex:1 0 auto}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.1;text-transform:uppercase;letter-spacing:.01em}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;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-width:0}.skip-link{position:absolute;top:-100%;left:1rem;padding:.5rem 1rem;background:var(--color-accent);color:var(--color-white);font-weight:600;z-index:9999;transition:top var(--transition)}.skip-link:focus{top:1rem}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--gutter)}.site-header{position:sticky;top:0;z-index:100;background:var(--color-white);border-bottom:1px solid var(--color-border);box-shadow:0 1px 4px #0000000f}.header-inner{display:flex;align-items:center;justify-content:space-between;padding-block:.75rem}.site-logo{display:flex;align-items:center;gap:.625rem;min-height:44px}.site-logo img{width:48px;height:48px;object-fit:contain}.site-name{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--color-blue);line-height:1.2}.site-nav{display:none;gap:2rem}.site-nav a{font-size:.9375rem;font-weight:500;color:var(--color-text);min-height:44px;display:inline-flex;align-items:center;border-bottom:2px solid transparent;transition:color var(--transition),border-color var(--transition)}.site-nav a:hover{color:var(--color-blue);border-bottom-color:var(--color-accent)}.nav-toggle{display:flex;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center}.nav-toggle span{display:block;width:22px;height:2px;background:var(--color-text);transition:var(--transition)}.mobile-nav{display:flex;flex-direction:column;background:var(--color-white);border-top:1px solid var(--color-border);padding:var(--space-sm) var(--gutter);gap:0}.mobile-nav a{font-size:1rem;font-weight:500;padding:.875rem 0;border-bottom:1px solid var(--color-border);min-height:44px;display:flex;align-items:center;color:var(--color-text)}.mobile-nav[hidden]{display:none}.mobile-nav a:last-child{border-bottom:none}.mobile-nav a:hover{color:var(--color-blue)}@media(min-width:768px){.site-nav{display:flex}.nav-toggle{display:none}.mobile-nav{display:none!important}}.site-footer{background:var(--color-dark);color:var(--text-muted-on-dark);padding:var(--space-lg) var(--gutter) var(--space-md);font-size:.9375rem}.footer-inner{display:grid;gap:var(--space-lg)}@media(min-width:720px){.footer-inner{grid-template-columns:2fr 1fr 1fr;gap:var(--space-xl)}}.footer-name{font-family:var(--font-display);font-size:1.25rem;font-weight:600;text-transform:uppercase;line-height:1.15;color:var(--color-white)}.footer-text{margin-top:.75rem;max-width:40ch;line-height:1.6}.footer-col-title{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-white)}.footer-list,.footer-social{list-style:none;margin-top:.75rem;display:flex;flex-direction:column;gap:.125rem}.footer-social{flex-direction:row;gap:var(--space-sm)}.footer-list a,.footer-social a,.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;color:var(--text-muted-on-dark);transition:color var(--transition)}.footer-list a:hover,.footer-social a:hover,.footer-bottom a:hover{color:var(--color-white);text-decoration:underline}.footer-social a{font-weight:600;color:var(--color-white)}.footer-bottom{margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;font-size:.8125rem}@media(min-width:640px){.footer-inner{flex-direction:row;justify-content:space-between;text-align:left}}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 2rem;background:var(--color-blue);color:var(--color-white);font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;min-height:44px;transition:background var(--transition);border-radius:var(--radius)}.btn-primary:hover{background:var(--color-blue-soft)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.75rem;border:2px solid var(--color-blue);color:var(--color-blue);font-size:.9375rem;font-weight:600;min-height:44px;transition:background var(--transition),color var(--transition);border-radius:2px}.btn-secondary:hover{background:var(--color-blue);color:var(--color-white)}.hero{position:relative;min-height:80dvh;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-bg:after{content:"";position:absolute;inset:0;background:#060e2294}.hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);max-width:640px;padding-block:var(--space-xl)}.hero-eyebrow{font-size:.8125rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-white);font-weight:500}.hero-headline{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,4.5rem);font-weight:700;line-height:1.1;color:var(--color-white)}.hero-sub{font-size:clamp(1rem,2.5vw,1.2rem);color:#ffffffd9;max-width:480px;line-height:1.6}.mission{padding:var(--space-xl) var(--gutter)}.mission-inner{max-width:720px}.mission-inner p{font-size:1.125rem;line-height:1.8;color:var(--color-text);margin-top:var(--space-sm)}.section-heading{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:var(--color-blue);position:relative;padding-bottom:.75rem}.section-heading:after{content:"";display:block;width:2.5rem;height:2px;background:var(--color-accent);position:absolute;bottom:0;left:0}.community-photo{width:100%;aspect-ratio:16/7;overflow:hidden;background:var(--color-surface)}.community-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.cta-band{background:var(--color-blue);padding:var(--space-lg) var(--gutter)}.cta-band-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);text-align:center}@media(min-width:640px){.cta-band-inner{flex-direction:row;justify-content:space-between;text-align:left}}.cta-band-text{font-size:1.25rem;font-weight:600;color:var(--color-white);line-height:1.4}.cta-band .btn-primary,.page-hero .btn-primary{background:var(--color-white);color:var(--color-blue);white-space:nowrap;flex-shrink:0}.cta-band .btn-primary:hover,.page-hero .btn-primary:hover{background:#ffffffe6}.page-hero{background:var(--color-blue);color:var(--color-white);padding:var(--space-lg) var(--gutter)}.page-title{font-family:var(--font-display);font-size:clamp(2rem,6vw,3.5rem);font-weight:700;color:var(--color-white);line-height:1.1}.page-sub{font-size:1.125rem;color:#ffffffd9;margin-top:var(--space-xs);max-width:560px}.donate-content{padding:var(--space-xl) var(--gutter);display:grid;gap:var(--space-xl)}@media(min-width:768px){.donate-content{grid-template-columns:1fr 320px;align-items:start}}.levels-list{list-style:none;margin-top:var(--space-md);display:flex;flex-direction:column;gap:0;max-width:480px}.level-item{display:flex;justify-content:space-between;align-items:center;padding:.875rem 0;border-bottom:1px solid var(--color-border)}.level-item:last-child{border-bottom:none}.level-name{font-weight:600;color:var(--color-text)}.level-amount{font-size:1.125rem;font-weight:700;color:var(--color-red)}.donate-note{margin-top:var(--space-md);color:var(--color-text-muted);font-size:.9375rem}.donate-btn{margin-top:var(--space-sm)}.sidebar-card{background:var(--color-surface);border-left:3px solid var(--color-blue);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm);border-radius:2px}.contact-content{padding:var(--space-xl) var(--gutter);display:grid;gap:var(--space-xl)}@media(min-width:768px){.contact-content{grid-template-columns:1fr 1fr;align-items:start}}.committee-list{list-style:none;margin-top:var(--space-md)}.committee-item{display:flex;justify-content:space-between;align-items:center;padding:.875rem 0;border-bottom:1px solid var(--color-border)}.committee-item:last-child{border-bottom:none}.committee-name{font-weight:600;color:var(--color-text)}.committee-role{font-size:.875rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.contact-info{display:flex;flex-direction:column;gap:var(--space-sm)}.contact-info p{color:var(--color-text-muted)}.contact-email-btn{align-self:flex-start}.contact-note{font-size:.8125rem;color:var(--color-text-muted);font-style:italic}.donate-hero{position:relative;min-height:40dvh;display:flex;align-items:center;overflow:hidden}.donate-hero-bg{position:absolute;inset:0;z-index:0}.donate-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center top}.donate-hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(to right,#001e50d9,#001e5099 60%,#001e5059)}.donate-hero-inner{position:relative;z-index:1;padding-block:var(--space-xl)}.thankyou-content{padding:var(--space-xl) var(--gutter)}.thankyou-inner{max-width:560px;display:flex;flex-direction:column;gap:var(--space-md)}.thankyou-inner p{font-size:1.125rem;line-height:1.8;color:var(--color-text)}.amount-selector{margin-top:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.amount-buttons{display:flex;flex-wrap:wrap;gap:.625rem}.amount-btn{padding:.625rem 1.5rem;border:2px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:1rem;font-weight:600;min-height:44px;min-width:80px;border-radius:2px;transition:border-color var(--transition),background var(--transition),color var(--transition)}.amount-btn:hover,.amount-btn.active{border-color:var(--color-blue);background:var(--color-blue);color:var(--color-white)}.custom-amount-wrap{display:flex;align-items:center;gap:.375rem;max-width:220px}.currency-symbol{font-size:1rem;color:var(--color-text-muted);font-weight:600}.custom-amount-input{width:100%;padding:.625rem .875rem;border:2px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:1rem;min-height:44px;border-radius:2px;transition:border-color var(--transition)}.donate-submit-btn{margin-top:var(--space-sm);min-width:220px}.donate-error{margin-top:var(--space-sm);color:var(--color-accent-text);font-size:.9375rem}.donate-section{padding:var(--space-xl) var(--gutter)}.donate-selector-inner{display:grid;gap:var(--space-xl);margin-bottom:var(--space-xl)}@media(min-width:768px){.donate-selector-inner{grid-template-columns:320px 1fr;align-items:start}}.donate-info-cards{display:grid;gap:var(--space-sm);border-top:1px solid var(--color-border);padding-top:var(--space-lg)}@media(min-width:640px){.donate-info-cards{grid-template-columns:1fr 1fr}}.level-display{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.level-image{width:100%;max-width:300px;aspect-ratio:1;object-fit:contain;transition:opacity .15s ease}.level-selected-price{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--color-blue);min-height:2.5rem}.donate-form-area{display:flex;flex-direction:column;gap:var(--space-md)}.level-cards{display:flex;flex-wrap:wrap;gap:.5rem}.level-card{padding:.625rem 1.125rem;border:2px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:.875rem;font-weight:600;border-radius:3px;min-height:44px;cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition);white-space:nowrap}.level-card:hover{border-color:var(--color-blue);color:var(--color-blue)}.level-card.active{border-color:var(--color-blue);background:var(--color-blue);color:var(--color-white)}.custom-amount-section{display:flex;flex-direction:column;gap:.5rem}.amount-label-text{font-size:.9375rem;color:var(--color-text-muted)}.custom-amount-wrap{display:flex;align-items:center;gap:.375rem;max-width:200px}.currency-symbol{font-size:1rem;font-weight:600;color:var(--color-text-muted)}.custom-amount-input{width:100%;padding:.625rem .875rem;border:2px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:1rem;min-height:44px;border-radius:3px;transition:border-color var(--transition)}.custom-amount-input:focus{outline:none;border-color:var(--color-blue)}.custom-amount-input::-webkit-inner-spin-button,.custom-amount-input::-webkit-outer-spin-button{-webkit-appearance:none}.custom-amount-input[type=number]{-moz-appearance:textfield}.donate-submit-btn{align-self:flex-start;min-width:200px}.donate-submit-btn:disabled{opacity:.45;cursor:not-allowed}.donate-error{color:var(--color-accent-text);font-size:.9375rem}.sidebar-card{background:var(--color-surface);border-left:3px solid var(--color-blue);padding:var(--space-sm) var(--space-md);border-radius:2px}.sidebar-heading{font-size:1rem;font-weight:700;color:var(--color-blue);margin-bottom:.5rem}.sidebar-card p{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6}.announcement{padding:var(--space-lg) var(--gutter);border-bottom:1px solid var(--color-border)}.announcement-inner{display:grid;gap:var(--space-md);background:var(--color-surface);border-left:4px solid var(--color-blue);padding:var(--space-md) var(--space-lg);border-radius:2px;max-width:780px}@media(min-width:640px){.announcement-inner{grid-template-columns:auto 1fr;align-items:start;gap:var(--space-lg)}}.announcement-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-white);background:var(--color-blue);padding:.375rem .75rem;border-radius:2px;white-space:nowrap;align-self:start}.announcement-body{display:flex;flex-direction:column;gap:.75rem}.announcement-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--color-blue);line-height:1.3}.announcement-body p{font-size:1rem;color:var(--color-text);line-height:1.6}.announcement-schedule{list-style:none;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin:.25rem 0}.announcement-schedule li{display:flex;align-items:baseline;gap:1rem;padding:.625rem 0;border-bottom:1px solid var(--color-border)}.announcement-schedule li:last-child{border-bottom:none}.schedule-time{font-size:.875rem;font-weight:700;color:var(--color-blue);min-width:130px;flex-shrink:0}.schedule-detail{font-size:.9375rem;color:var(--color-text)}.announcement-closing{font-weight:600;color:var(--color-text)}.contact-email-display{font-size:.9375rem;color:var(--color-text-muted);margin-top:-.25rem}.contact-social{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.contact-social-heading{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.social-links{list-style:none;display:flex;flex-direction:column;gap:.5rem}.social-link{display:inline-flex;align-items:center;font-size:1rem;font-weight:600;color:var(--color-blue);min-height:44px;text-decoration:underline;text-underline-offset:3px;transition:color var(--transition)}.social-link:hover{color:var(--color-accent-text)}.ticket-intro,.admin-note{color:var(--color-text-muted);max-width:60ch}.ticket-form .btn-primary{align-self:flex-start}.ticket-form{margin-top:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);max-width:720px}.field{display:flex;flex-direction:column;gap:.375rem;flex:1 1 220px}.field-row{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.field label,.checkbox-field label,.qty-row>label{font-size:.875rem;font-weight:600;color:var(--color-text)}.req{color:var(--color-accent-text)}.field input,.field textarea{font:inherit;color:var(--color-text);background:var(--color-white);border:1px solid var(--color-border);border-radius:2px;padding:.6875rem .75rem;width:100%}.field input:focus-visible,.field textarea:focus-visible,.qty-control input:focus-visible{outline:2px solid var(--color-blue);outline-offset:1px}.attendee,.waiver-group{border:1px solid var(--color-border);border-radius:2px;padding:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-sm)}.attendee legend,.waiver-group legend{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-blue);padding-inline:.5rem}.attendee-fields{display:flex;flex-direction:column;gap:var(--space-sm)}.qty-row{display:flex;flex-direction:column;gap:.375rem}.qty-control{display:flex;align-items:stretch;gap:.5rem;max-width:200px}.qty-btn{width:44px;min-height:44px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:2px;font-size:1.25rem;font-weight:700;color:var(--color-blue)}.qty-btn:hover{background:var(--color-border)}.qty-control input{font:inherit;text-align:center;width:4.5rem;min-height:44px;border:1px solid var(--color-border);border-radius:2px;background:var(--color-white);color:var(--color-text)}.ticket-total{font-family:var(--font-display);font-size:1.125rem;font-weight:700;color:var(--color-blue)}.checkbox-field{display:flex;align-items:flex-start;gap:.625rem}.checkbox-field input{width:1.25rem;height:1.25rem;margin-top:.1875rem;flex-shrink:0}.checkbox-field label{font-weight:400;line-height:1.5}.hp-wrap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.ticket-error,.form-status{padding:.75rem 1rem;border-radius:2px;font-weight:600}.ticket-error,.form-status.is-error{background:#fdecef;color:var(--color-accent-text);border-left:4px solid var(--color-accent)}.form-status.is-success{background:#e8f1f9;color:var(--color-blue-soft);border-left:4px solid var(--color-blue)}.waiver-block{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm);border:2px solid var(--color-blue);border-radius:var(--radius);background:var(--color-white)}.waiver-title{font-size:1.0625rem;font-weight:600;color:var(--color-blue);line-height:1.25}.sig-note{font-size:.8125rem;color:var(--color-text-muted)}.date-field{flex:0 0 auto;max-width:14rem}.waiver-text{max-width:70ch;max-height:16rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding:var(--space-sm) var(--space-md) var(--space-sm) var(--space-sm);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);font-size:.9375rem;line-height:1.7}.waiver-text:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.thank-you-content{padding:var(--space-xl) var(--gutter);max-width:70ch;display:flex;flex-direction:column;gap:.75rem}.thank-you-actions{margin-top:var(--space-sm);display:flex;flex-wrap:wrap;gap:var(--space-sm)}.admin{padding:var(--space-lg) var(--gutter)}.admin-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.admin-year{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600}.admin-year select{font:inherit;min-height:44px;padding:0 .625rem;border:1px solid var(--color-border);border-radius:2px;background:var(--color-white);color:var(--color-text)}.admin-stats{list-style:none;margin-top:var(--space-md);display:grid;gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.admin-stat{display:flex;flex-direction:column;gap:.125rem;padding:var(--space-sm);background:var(--color-surface);border-radius:2px}.admin-stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--color-blue);font-variant-numeric:tabular-nums}.admin-stat-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.admin-actions{margin-top:var(--space-md)}.admin-error{margin-top:var(--space-sm);padding:.75rem 1rem;background:#fdecef;color:var(--color-accent-text);border-left:4px solid var(--color-accent);font-weight:600}.admin-empty{margin-top:var(--space-sm);color:var(--color-text-muted)}.admin-table-wrap{margin-top:var(--space-sm);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9375rem}.admin-table th,.admin-table td{text-align:left;padding:.625rem .75rem;border-bottom:1px solid var(--color-border);white-space:nowrap}.admin-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);background:var(--color-surface)}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}.js .reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}.section-dark,.section-cream,.section-light,.section-alt{padding:var(--space-section) var(--gutter)}.section-dark{background:var(--color-dark);color:var(--text-on-dark)}.section-cream{background:#fff6f2}.section-light{background:var(--color-bg)}.section-alt{background:var(--color-surface)}.eyebrow{font-family:var(--font-body);font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent-text)}.section-dark .eyebrow{color:#ff7a8c}.band-heading{font-size:clamp(2rem,5.5vw,3.25rem);font-weight:700;line-height:1;color:var(--color-white);margin-top:.5rem;text-wrap:balance}.band-heading-dark{color:var(--color-blue)}.lead{font-size:clamp(1.0625rem,2vw,1.1875rem);line-height:1.7;max-width:58ch;margin-top:var(--space-sm)}.badge{display:inline-flex;align-items:center;font-family:var(--font-body);font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.375rem .875rem;border-radius:40px}.badge-accent{background:var(--color-accent);color:var(--color-white)}.notice{margin-top:var(--space-sm);padding:.875rem 1.125rem;background:var(--color-white);border-left:4px solid var(--color-blue);font-weight:600;max-width:60ch}.notice a{color:var(--color-accent-text);text-decoration:underline;text-underline-offset:2px}.notice a:hover{color:var(--color-accent)}.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:var(--space-md)}.btn-ghost,.btn-outline{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1.5rem;font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius);transition:background var(--transition),color var(--transition)}.btn-ghost{color:var(--color-white);border:2px solid rgba(255,255,255,.55)}.btn-ghost:hover{background:var(--color-white);color:var(--color-dark)}.btn-outline{color:var(--color-blue);border:2px solid var(--color-blue);margin-top:var(--space-md)}.btn-outline:hover{background:var(--color-blue);color:var(--color-white)}.event-hero{position:relative;overflow:hidden;padding:clamp(96px,16vw,168px) 0 clamp(48px,8vw,88px);color:var(--color-white);background:var(--color-dark)}.event-hero-bg{position:absolute;inset:0;z-index:0}.event-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.event-hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(170deg,#0d1626b8,#0d1626c7 35%,#005baad1)}.event-hero-inner{position:relative;z-index:2;max-width:780px}.event-hero-title{font-size:clamp(2.75rem,9vw,5.5rem);font-weight:700;line-height:.95;margin-top:var(--space-sm);text-wrap:balance}.event-hero-meta{font-family:var(--font-display);font-size:clamp(1rem,2.4vw,1.375rem);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-white);margin-top:.75rem}.event-hero-sub{font-size:clamp(1rem,2vw,1.1875rem);line-height:1.65;color:#ffffffe0;max-width:54ch;margin-top:var(--space-sm);display:flex;flex-direction:column;gap:.75rem}.countdown{margin-top:var(--space-md)}.countdown-label{display:block;font-size:.6875rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#ffffffb3;margin-bottom:.5rem}.countdown-list{list-style:none;display:flex;gap:.5rem}.countdown-list li{display:flex;flex-direction:column;align-items:center;gap:.125rem;flex:0 0 4.75rem;padding:.625rem .5rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius)}.countdown-num{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2rem);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.countdown-unit{font-size:.625rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ffffffb8}.facts{background:var(--color-accent);padding:0 var(--gutter)}.fact-strip{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:720px){.fact-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}.fact{display:flex;flex-direction:column;gap:.125rem;padding:var(--space-sm) .75rem;border-right:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}@media(min-width:720px){.fact{border-bottom:none}.fact:last-child{border-right:none}}.fact-label{font-size:.6875rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#ffffffd1}.fact-value{font-family:var(--font-display);font-size:clamp(1.125rem,3vw,1.5rem);font-weight:600;text-transform:uppercase;color:var(--color-white);line-height:1.2}.attraction-grid{list-style:none;margin-top:var(--space-lg);display:grid;gap:1px;background:#ffffff24;border:1px solid rgba(255,255,255,.14);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.attraction-card{display:flex;flex-direction:column;gap:.25rem;padding:var(--space-sm) var(--space-sm) 1.25rem;background:var(--color-dark);transition:background var(--transition)}.attraction-card:hover{background:var(--color-dark2)}.attraction-num{font-family:var(--font-display);font-size:.875rem;font-weight:700;letter-spacing:.1em;color:#ff7a8c}.attraction-name{font-family:var(--font-display);font-size:1.375rem;font-weight:600;text-transform:uppercase;line-height:1.15;color:var(--color-white)}.attraction-note{font-size:.9375rem;line-height:1.5;color:var(--text-muted-on-dark)}.attractions-more{margin-top:var(--space-md);font-family:var(--font-display);font-size:1.125rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted-on-dark)}.photo-grid{list-style:none;margin-top:var(--space-lg);display:grid;gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.photo-item{overflow:hidden;border-radius:var(--radius);background:var(--color-surface)}.photo-item img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover}.photo-credit{margin-top:var(--space-md);font-size:.9375rem;color:var(--color-text-muted)}.photo-credit a{color:var(--color-accent-text);text-decoration:underline;text-underline-offset:2px}.photo-credit a:hover{color:var(--color-accent)}.detail-grid{list-style:none;margin-top:var(--space-lg);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.detail-item{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:2px solid var(--color-border)}.detail-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;line-height:1.2;color:var(--color-blue)}.detail-body{font-size:1rem;line-height:1.65;color:var(--color-text-muted)}.section-dark .detail-item{border-top-color:#ffffff3d}.section-dark .detail-title{color:var(--color-white)}.section-dark .detail-body{color:var(--text-muted-on-dark)}.detail-closing{margin-top:var(--space-lg);max-width:58ch;font-size:1.0625rem;line-height:1.7}.role-list{list-style:none;margin-top:var(--space-lg);display:grid;border-top:1px solid var(--color-border)}.role-item{padding:.875rem 0;border-bottom:1px solid var(--color-border)}.role-name{font-family:var(--font-display);font-size:1.0625rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;line-height:1.25;color:var(--color-blue)}.role-note{margin-top:.25rem;font-size:1rem;line-height:1.6;color:var(--color-text-muted)}@media(min-width:860px){.role-list{grid-template-columns:1fr 1fr;column-gap:var(--space-xl)}}.why-grid{display:grid;gap:var(--space-lg)}@media(min-width:860px){.why-grid{grid-template-columns:1fr 1fr;align-items:center;gap:var(--space-xl)}}.why-media img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius)}.why-body p+p,.lead+p{margin-top:1rem;line-height:1.75;color:var(--color-text-muted);max-width:58ch}.party-promo{background:var(--color-dark);color:var(--text-on-dark);padding:var(--space-lg) var(--gutter)}.party-promo-inner{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-md)}@media(min-width:860px){.party-promo-inner{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-lg)}}.party-promo-meta{font-family:var(--font-display);font-size:1.0625rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-top:.5rem}.party-promo-sub{margin-top:.75rem;max-width:52ch;color:var(--text-muted-on-dark);line-height:1.65;display:flex;flex-direction:column;gap:.75rem}.party-promo .btn-ghost{flex-shrink:0}.prose{max-width:68ch}.prose p,.prose ul{margin-top:1rem;line-height:1.75}.prose h2{font-size:clamp(1.25rem,3vw,1.5rem);color:var(--color-blue);margin-top:var(--space-md)}.prose ul{padding-left:1.25rem}.prose li{margin-top:.5rem;line-height:1.7}.prose a{color:var(--color-accent-text);text-decoration:underline}.cal-controls{position:sticky;top:0;z-index:20;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:.75rem var(--gutter)}.cal-controls .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.cal-filters,.cal-jump{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.chip{min-height:44px;padding:.5rem .875rem;border:1px solid var(--color-border);border-radius:40px;background:var(--color-white);color:var(--color-text);font-size:.8125rem;font-weight:600;transition:background var(--transition),color var(--transition),border-color var(--transition)}.chip:hover{border-color:var(--color-blue)}.chip.is-on{background:var(--color-blue);border-color:var(--color-blue);color:var(--color-white)}.chip:focus-visible,.cal-jump select:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.cal-jump select{font:inherit;font-size:.8125rem;font-weight:600;min-height:44px;padding:0 .625rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-white);color:var(--color-text)}.calendar-page{padding:var(--space-lg) var(--gutter) var(--space-xl)}.cal-month+.cal-month{margin-top:var(--space-lg)}.cal-month-heading{font-size:clamp(1.375rem,4vw,1.75rem);color:var(--color-blue);padding-bottom:.5rem;border-bottom:2px solid var(--color-blue)}.cal-year{font-family:var(--font-body);font-size:.8125rem;font-weight:600;letter-spacing:.08em;color:var(--color-text-muted);vertical-align:.15em}.cal-note{margin-top:.75rem;font-size:.9375rem;color:var(--color-text-muted)}.cal-list{list-style:none;margin-top:.5rem}.cal-item{display:grid;grid-template-columns:3.5rem 1fr;align-items:baseline;gap:.25rem 1rem;padding:.75rem 0;border-bottom:1px solid var(--color-border)}@media(min-width:640px){.cal-item{grid-template-columns:3.5rem 1fr auto;align-items:center}}.cal-item:last-child{border-bottom:none}.cal-item.is-past{opacity:.45}.cal-day{font-size:.9375rem;font-weight:700;color:var(--color-accent-text);font-variant-numeric:tabular-nums}.cal-body{display:flex;flex-direction:column;gap:.125rem}.cal-title{line-height:1.4}.cal-title a{color:var(--color-accent-text);text-decoration:underline;text-underline-offset:2px}.cal-title a:hover{color:var(--color-accent)}.cal-detail{font-size:.875rem;color:var(--color-text-muted);line-height:1.4}.cal-tag{grid-column:2;justify-self:start;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .5rem;border-radius:3px;background:var(--color-surface);color:var(--color-text-muted);white-space:nowrap}@media(min-width:640px){.cal-tag{grid-column:3;justify-self:end}}.cal-tag[data-tag=meeting]{background:#e6eef8;color:var(--color-blue-soft)}.cal-tag[data-tag=senior]{background:#fdecef;color:var(--color-accent-text)}.cal-tag[data-tag=deadline]{background:#fff2dd;color:#8a5a00}.cal-empty{padding:var(--space-md) 0;color:var(--color-text-muted)}.whats-next{padding:var(--space-xl) var(--gutter);background:var(--color-surface)}.whats-next-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-sm)}.whats-next-head .btn-outline{margin-top:0}.next-list{list-style:none;margin-top:var(--space-md);display:grid;gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.next-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-white);border-radius:var(--radius);border-left:4px solid var(--color-accent)}.next-date{display:flex;flex-direction:column;align-items:center;flex-shrink:0;min-width:3.25rem}.next-month{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-text)}.next-day{font-family:var(--font-display);font-size:2rem;font-weight:700;line-height:1;color:var(--color-blue);font-variant-numeric:tabular-nums}.next-body{display:flex;flex-direction:column;gap:.125rem}.next-title{font-weight:600;line-height:1.35}.next-detail{font-size:.875rem;color:var(--color-text-muted)}.pay-in-person{margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--color-border);max-width:720px;color:var(--color-text-muted)}.pay-in-person a{color:var(--color-accent-text);font-weight:600;text-decoration:underline}.tick{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:3px;font-weight:700;font-size:.875rem}.tick-on{background:#e6f4ea;color:#1b6e35}.tick-off{background:#fdecef;color:var(--color-accent-text)}.adult-toggle{padding:.625rem .75rem;background:var(--color-surface);border-radius:var(--radius)}.field[hidden]{display:none}.admin-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;color:var(--color-text-muted)}.date-list{list-style:none;margin-top:var(--space-lg);display:grid;gap:var(--space-md)}.date-item{padding-top:1rem;border-top:2px solid rgba(255,255,255,.24)}.date-item.is-past{opacity:.55}.date-title{font-family:var(--font-display);font-size:1.375rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;line-height:1.2;color:var(--color-white)}.date-pair{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:.75rem}.date-slot{display:flex;flex-direction:column;gap:.125rem}.date-slot.is-past .date-value{text-decoration:line-through;color:var(--text-muted-on-dark)}.date-label{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted-on-dark)}.date-value{font-family:var(--font-display);font-size:1.125rem;font-weight:500;color:var(--color-white)}.date-soon{color:#ff7a8c}.date-note{margin-top:.75rem;max-width:62ch;font-size:1rem;line-height:1.65;color:var(--text-muted-on-dark)}.rule-heading{margin-top:var(--space-lg);font-family:var(--font-display);font-size:1.25rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;padding-bottom:.5rem;border-bottom:2px solid var(--color-border)}.rule-heading-yes{color:var(--color-blue)}.rule-heading-no{color:var(--color-accent-text)}.rule-list{list-style:none;margin-top:.75rem;display:grid;gap:.375rem}.rule-list li{padding-left:1.25rem;position:relative;font-size:1rem;line-height:1.55;color:var(--color-text-muted)}.rule-list li:before{content:"";position:absolute;left:0;top:.55em;width:.5rem;height:2px;background:var(--color-border)}@media(min-width:620px){.rule-list-wide{grid-template-columns:1fr 1fr;column-gap:var(--space-md)}}@media(min-width:900px){.rule-list-wide{grid-template-columns:repeat(3,1fr)}}.example{margin-top:var(--space-md);display:grid;gap:var(--space-md);align-items:start}.example-yes{width:100%;max-width:260px;height:auto;border-radius:var(--radius)}.example-body .rule-heading{margin-top:0}@media(min-width:700px){.example{grid-template-columns:260px 1fr;gap:var(--space-lg)}}.example-grid{list-style:none;margin-top:var(--space-md);display:grid;gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.example-grid img{width:100%;height:190px;object-fit:cover;object-position:center top;border-radius:var(--radius);background:var(--color-surface)}.figure{margin-top:var(--space-md)}.figure img{width:100%;height:auto;border-radius:var(--radius)}.figure-note{margin-top:.75rem;max-width:62ch;font-size:.9375rem;line-height:1.6;color:var(--color-text-muted)}.section-dark .figure-note{color:var(--text-muted-on-dark)}.sub-heading{margin-top:var(--space-lg);font-family:var(--font-display);font-size:1.375rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--color-blue)}.section-dark .sub-heading{color:var(--color-white)}.plain-list{list-style:none;margin-top:.75rem;max-width:68ch;display:grid;gap:.625rem}.plain-list li{padding-left:1.25rem;position:relative;font-size:1rem;line-height:1.65;color:var(--color-text-muted)}.plain-list li:before{content:"";position:absolute;left:0;top:.6em;width:.5rem;height:2px;background:var(--color-accent)}.section-dark .plain-list li{color:var(--text-muted-on-dark)}.price-wrap{margin-top:var(--space-lg);overflow-x:auto}.price-table{width:100%;border-collapse:collapse;text-align:left}.price-table th,.price-table td{padding:.75rem .5rem;border-bottom:1px solid var(--color-border);vertical-align:top}.price-table thead th{font-family:var(--font-display);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;line-height:1.25;color:var(--color-text-muted);border-bottom-width:2px}.price-table tbody th{padding-right:1rem}.price-name{display:block;font-family:var(--font-display);font-size:1.0625rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--color-blue)}.price-detail{display:block;margin-top:.125rem;font-family:var(--font-body);font-size:.875rem;font-weight:400;line-height:1.45;text-transform:none;letter-spacing:0;color:var(--color-text-muted)}.price-cell{font-family:var(--font-display);font-size:1.125rem;font-weight:500;white-space:nowrap;color:var(--color-text)}.price-none{font-family:var(--font-body);font-size:.8125rem;font-weight:400;white-space:normal;color:var(--color-text-muted)}.price-head.is-now,.price-cell.is-now{background:#005baa12}.price-head.is-now{color:var(--color-blue)}.price-now{display:block;margin-top:.25rem;font-family:var(--font-body);font-size:.6875rem;font-weight:700;letter-spacing:.12em;color:var(--color-accent-text)}.section-dark .price-table th,.section-dark .price-table td{border-bottom-color:#fff3}.section-dark .price-table thead th{color:var(--text-muted-on-dark)}.section-dark .price-name{color:var(--color-white)}.section-dark .price-detail{color:var(--text-muted-on-dark)}.section-dark .price-cell{color:var(--text-on-dark)}.section-dark .price-head.is-now,.section-dark .price-cell.is-now{background:#ffffff14}.section-dark .price-head.is-now{color:var(--color-white)}.section-dark .price-now{color:#ff7a8c}.callout{margin-top:var(--space-md);max-width:68ch;padding:var(--space-sm);border-left:4px solid var(--color-accent);background:var(--color-white)}.callout-title{font-family:var(--font-display);font-size:1.1875rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--color-blue)}.callout p{margin-top:.5rem;font-size:1rem;line-height:1.65;color:var(--color-text-muted)}.role-note a,.plain-list a,.callout p a,.date-note a,.figure-note a{color:var(--color-accent-text);text-decoration:underline;text-underline-offset:.15em}.role-note a:hover,.plain-list a:hover,.callout p a:hover,.date-note a:hover,.figure-note a:hover{color:var(--color-blue)}.section-dark .plain-list a,.section-dark .date-note a,.section-dark .figure-note a{color:var(--color-white)}.section-dark .plain-list a:hover,.section-dark .date-note a:hover,.section-dark .figure-note a:hover{color:#ff7a8c}
