@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#081b36;--navy-2:#0c294f;--royal:#00569d;--gold:#f1bd46;--cream:#f8f6f0;--ink:#142236;--muted:#607085;--line:#dfe5ed;--paper:#ffffff;--radius:22px;--max:1200px;--shadow:0 24px 70px rgba(10,31,55,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.63}img{display:block;max-width:100%}a{color:inherit}button,input{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}::selection{background:var(--gold);color:var(--navy)}.container{width:min(var(--max),calc(100% - 72px));margin-inline:auto}.skip-link{position:absolute;left:1rem;top:-100px;background:var(--gold);z-index:9999;color:var(--navy);padding:12px}.skip-link:focus{top:14px}.eyebrow{letter-spacing:.17em;text-transform:uppercase;font-weight:800;font-size:11px;color:var(--royal);display:inline-flex;align-items:center;gap:10px}.eyebrow:before{content:'';display:inline-block;height:3px;width:24px;background:currentColor}.eyebrow.gold{color:var(--gold)}.eyebrow.gold:before{background:var(--gold)}.section{padding:112px 0}.section-tight{padding:78px 0}.section-heading{max-width:760px;margin-bottom:42px}.section-heading h2,.section-title{font:800 clamp(2.25rem,4vw,4rem)/1.12 'Manrope',sans-serif;letter-spacing:-.057em;margin:14px 0 15px}.section-heading p{font-size:1.14rem;color:var(--muted);margin:0}.section-heading.center{text-align:center;margin-inline:auto}.section-heading.center .eyebrow:before{display:none}.muted{color:var(--muted)}.gold-text{color:var(--gold)}.blue-text{color:#0572bb}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 23px;border-radius:999px;border:1px solid transparent;text-decoration:none;font-size:.92rem;line-height:1.2;font-weight:800;cursor:pointer;transition:transform .2s,background .2s,border-color .2s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn svg{width:17px;height:17px}.btn-gold{background:var(--gold);color:#10223b}.btn-gold:hover{background:#ffd16a}.btn-navy{background:var(--navy);color:white}.btn-outline{color:var(--ink);border-color:#b8c5d2;background:transparent}.btn-outline:hover{border-color:#1657a3}.btn-outline-light{border-color:rgba(255,255,255,.48);color:white}.btn-outline-light:hover{border-color:white;background:rgba(255,255,255,.08)}.btn-white{background:white;color:var(--navy)}
.site-header{position:sticky;top:0;z-index:200;background:rgba(7,26,51,.97);color:white;border-bottom:1px solid rgba(255,255,255,.11);backdrop-filter:blur(15px)}.nav-shell{display:flex;align-items:center;gap:34px;justify-content:space-between;min-height:88px}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;flex-shrink:0}.brand img{width:208px;height:64px;object-fit:contain;object-position:left center}.nav-links{display:flex;gap:30px;align-items:center}.nav-links>a:not(.btn){text-decoration:none;color:#dce6f0;font-weight:700;font-size:.9rem;padding:10px 0;border-bottom:2px solid transparent}.nav-links>a:not(.btn):hover,.nav-links>a[aria-current=page]:not(.btn){color:var(--gold);border-bottom-color:var(--gold)}.nav-links .btn{padding:12px 18px}.mobile-toggle{display:none;background:none;color:white;border:1px solid rgba(255,255,255,.3);border-radius:12px;width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer}.mobile-toggle svg{width:23px;height:23px}
.hero{background:var(--navy);color:white;position:relative;overflow:hidden}.hero:before{content:'';position:absolute;width:740px;height:740px;border-radius:50%;right:-350px;top:-360px;background:radial-gradient(circle,rgba(24,116,205,.26),transparent 68%)}.hero-inner{display:grid;grid-template-columns:1fr 1.07fr;align-items:center;gap:48px;min-height:660px;padding-top:60px;padding-bottom:80px;position:relative}.hero-copy{position:relative;z-index:2}.hero h1{font:800 clamp(3.4rem,5.7vw,6.15rem)/1.02 'Manrope',sans-serif;letter-spacing:-.082em;margin:24px 0 26px;max-width:690px}.hero h1 em{color:var(--gold);font-style:normal}.hero .lead{max-width:530px;font-size:1.16rem;line-height:1.8;color:#cbd9ec}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-note{margin-top:28px;color:#9db4d0;font-size:.85rem;letter-spacing:.02em}.hero-photos{display:grid;grid-template-columns:1.05fr .8fr;grid-template-rows:260px 225px;gap:14px;height:502px;position:relative}.hero-photos:before{content:'';position:absolute;border:1px solid rgba(240,189,70,.4);border-radius:30px;inset:20px -17px -17px 22px;pointer-events:none}.hero-photo{height:100%;width:100%;object-fit:cover;border-radius:16px}.hero-photos .photo-tall{grid-row:span 2;object-position:48% 50%}.hero-photos .photo-top{object-position:50% 30%}.hero-photos .photo-bottom{object-position:53% 40%}.photo-sticker{position:absolute;bottom:-26px;left:-34px;background:var(--gold);color:var(--navy);padding:16px 19px;border-radius:15px;box-shadow:0 13px 35px rgba(0,0,0,.17);transform:rotate(-5deg);font-size:.78rem;font-weight:800;line-height:1.25;max-width:165px}.photo-sticker strong{font-size:1.28rem;display:block}
.ticker{background:var(--gold);overflow:hidden;color:var(--navy);border-bottom:1px solid #d9a333}.ticker-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:15px 0;font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem}.ticker-inner span+span:before{content:'✦';margin-right:25px;color:#b17b0a}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-card{border-radius:18px;overflow:hidden;background:#f3f6fa}.feature-card img{width:100%;height:265px;object-fit:cover}.feature-card-body{padding:28px}.feature-card h3{font:800 1.46rem/1.2 'Manrope';letter-spacing:-.035em;margin:5px 0 12px}.feature-card p{margin:0;color:var(--muted);font-size:.96rem}.card-number{color:var(--royal);letter-spacing:.13em;font-size:.72rem;font-weight:800}
.dark-section{background:var(--navy);color:white;position:relative;overflow:hidden}.dark-section .section-heading p,.dark-section .muted{color:#afc2d8}.quote-block{display:grid;grid-template-columns:.88fr 1.12fr;gap:80px;align-items:center}.quote-visual{position:relative}.quote-visual img{width:100%;height:510px;border-radius:24px;object-fit:cover}.quote-visual:after{content:'';position:absolute;right:-22px;bottom:-22px;width:160px;height:160px;border-right:8px solid var(--gold);border-bottom:8px solid var(--gold);border-radius:0 0 24px 0}.quote-copy h2{font:800 clamp(2.4rem,4vw,4.3rem)/1.12 'Manrope';letter-spacing:-.065em;margin:20px 0}.quote-copy p{font-size:1.13rem;color:#c5d4e5;max-width:525px}.stat-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.stat-chips span{border:1px solid rgba(255,255,255,.19);border-radius:50px;padding:9px 14px;color:#dce9f7;font-size:.79rem;font-weight:700}
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.program-card{position:relative;border:1px solid var(--line);border-radius:19px;padding:28px;display:flex;flex-direction:column;min-height:268px;transition:box-shadow .25s,translate .25s;background:white}.program-card:hover{box-shadow:var(--shadow);translate:0 -3px}.program-card .pill{align-self:flex-start}.program-card h3{font:800 1.42rem/1.22 'Manrope';letter-spacing:-.04em;margin:17px 0 9px}.program-card p{color:var(--muted);font-size:.91rem;line-height:1.65;margin:0 0 18px}.program-card .text-link{margin-top:auto}.pill{display:inline-block;border-radius:50px;padding:5px 12px;letter-spacing:.075em;text-transform:uppercase;background:#e5f0f9;color:#075291;font-weight:800;font-size:.64rem}.pill.gold{background:#fff2cf;color:#825900}.pill.dark{background:#e9ecf2;color:#26374f}.text-link{color:var(--royal);font-weight:800;text-decoration:none;font-size:.85rem;display:inline-flex;gap:9px;align-items:center}.text-link:hover{text-decoration:underline}.section-footer{display:flex;justify-content:center;margin-top:35px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.split img{width:100%;height:540px;object-fit:cover;border-radius:24px}.split h2{font:800 clamp(2.25rem,4vw,4.3rem)/1.12 'Manrope';letter-spacing:-.065em;margin:18px 0}.split p{color:var(--muted);font-size:1.06rem}.check-list{padding:0;list-style:none;margin:30px 0;display:grid;gap:15px}.check-list li{display:flex;gap:13px;align-items:flex-start;line-height:1.5}.check-list li:before{content:'✓';display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:#e2f2eb;color:#12764d;font-weight:900}
.cta-band{background:var(--gold);position:relative;overflow:hidden}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}.cta-inner h2{font:800 clamp(2.3rem,4vw,4.2rem)/1.15 'Manrope';letter-spacing:-.06em;margin:14px 0 0;max-width:640px}.cta-band .eyebrow{color:#674500}.cta-band .btn{flex-shrink:0}
.site-footer{background:#06152b;color:#d7e3ee;padding:72px 0 25px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:65px}.footer-logo{width:270px;height:104px;object-fit:contain;object-position:left center}.site-footer p{max-width:350px;color:#aebcd0;font-size:.9rem}.site-footer h2{color:white;margin:7px 0 15px;font:800 .85rem 'Manrope';letter-spacing:.1em;text-transform:uppercase}.footer-links{display:grid;gap:12px}.footer-links a{text-decoration:none;color:#b9c9d9;font-size:.92rem}.footer-links a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid rgba(255,255,255,.11);padding-top:23px;margin-top:56px;display:flex;justify-content:space-between;gap:30px;font-size:.74rem;color:#9badc1}.footer-bottom a{text-underline-offset:4px}
.page-hero{background:linear-gradient(105deg,#061c3b 30%,#0c4684 100%);color:white;overflow:hidden;position:relative}.page-hero:after{content:'';position:absolute;width:450px;height:450px;right:-190px;top:-160px;border:85px solid rgba(255,255,255,.045);border-radius:50%}.page-hero .container{padding:100px 0 100px;position:relative;z-index:1}.page-hero h1{font:800 clamp(3.15rem,6vw,5.7rem)/1.05 'Manrope';letter-spacing:-.072em;margin:18px 0 24px;max-width:930px}.page-hero p{font-size:1.16rem;max-width:710px;color:#d4e2f1;margin:0}.page-hero.photo-header .container{padding:100px 0 108px}.page-hero.photo-header{background:linear-gradient(90deg,rgba(4,23,49,.97) 0%,rgba(4,23,49,.84) 52%,rgba(4,23,49,.35)),url('assets/hero-field.webp') center/cover}
.tag-filter{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 35px}.filter-btn{border:1px solid #d0dbe7;background:#fff;padding:11px 18px;border-radius:50px;color:var(--ink);font-size:.86rem;font-weight:800;cursor:pointer}.filter-btn:hover{border-color:var(--royal)}.filter-btn.is-active{background:var(--navy);color:white;border-color:var(--navy)}.program-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.detail-card{background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}.detail-card>img{width:100%;height:230px;object-fit:cover}.detail-card-content{padding:28px;flex:1;display:flex;flex-direction:column}.detail-card h2{font:800 1.7rem/1.2 'Manrope';letter-spacing:-.04em;margin:16px 0 9px}.detail-card p{margin:0 0 17px;color:var(--muted);font-size:.94rem}.detail-meta{margin-top:auto;padding-top:17px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:7px}.detail-meta span{font-size:.74rem;font-weight:700;background:#f2f5f8;border-radius:6px;padding:5px 9px;color:#4b6075}.detail-card[hidden]{display:none}.note-panel{background:#f0f6fb;border-left:4px solid var(--royal);padding:25px 28px;border-radius:0 15px 15px 0;color:#314a65}.note-panel strong{color:#0b325b}.note-panel p{margin:7px 0 0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px}.step-no{display:inline-grid;place-items:center;width:48px;height:48px;background:var(--gold);color:var(--navy);border-radius:15px;font:900 1.1rem 'Manrope'}.step h3{font:800 1.42rem/1.22 'Manrope';letter-spacing:-.04em;margin:23px 0 10px}.step p{color:var(--muted);margin:0;font-size:.94rem}.credit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.credit-card{padding:25px;border-radius:19px;background:#f0f4f8}.credit-card h3{font:800 1.1rem/1.3 'Manrope';margin:0 0 10px}.credit-card p{font-size:.89rem;color:#52667b;margin:0}.credit-card .credit-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:white;margin-bottom:16px;font-size:1.25rem}.talk-box{background:var(--navy);color:white;border-radius:22px;padding:35px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.talk-box h3{font:800 1.6rem 'Manrope';letter-spacing:-.03em;margin:0 0 8px}.talk-box p{color:#cadaef;margin:0;max-width:690px}.talk-box .btn{flex-shrink:0}
.faq-layout{display:grid;grid-template-columns:290px 1fr;gap:70px}.faq-toc{position:sticky;top:110px;align-self:start;padding:23px;background:#f3f6fa;border-radius:17px}.faq-toc h2{font:800 .95rem 'Manrope';margin:0 0 12px}.faq-toc a{display:block;padding:10px 0;color:#32506d;text-decoration:none;font-weight:700;font-size:.88rem}.faq-toc a:hover{color:var(--royal)}.faq-group{margin-bottom:60px;scroll-margin-top:120px}.faq-group h2{font:800 1.85rem 'Manrope';letter-spacing:-.045em;margin:0 0 17px}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{list-style:none;cursor:pointer;font:800 1.03rem/1.45 'Manrope';padding:23px 30px 23px 0;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';position:absolute;right:0;color:var(--royal);font-size:1.6rem;font-weight:400;top:16px}.faq-item[open] summary:after{content:'−'}.faq-item p{color:var(--muted);margin:0 0 24px;max-width:770px}.faq-item p a{color:var(--royal)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.gallery-item{background:var(--navy);border:0;border-radius:17px;overflow:hidden;padding:0;position:relative;cursor:zoom-in;text-align:left;color:white}.gallery-item img{width:100%;height:265px;object-fit:cover;transition:transform .45s,filter .45s}.gallery-item:hover img{transform:scale(1.04);filter:brightness(.75)}.gallery-item button{appearance:none;border:0;padding:0;margin:0;background:transparent;width:100%;display:block;cursor:zoom-in;text-align:left;color:inherit}.gallery-item .photo-overlay{pointer-events:none;position:absolute;bottom:0;left:0;right:0;padding:42px 21px 20px;background:linear-gradient(transparent,rgba(0,0,0,.78));font-weight:800;font-size:.87rem;line-height:1.35}.gallery-item .photo-category{display:block;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#e6be65;margin-bottom:4px}.lightbox{border:none;padding:0;background:transparent;max-width:min(94vw,1200px);max-height:90vh;position:fixed}.lightbox::backdrop{background:rgba(0,9,24,.94)}.lightbox-frame{background:#07172a;border-radius:12px;overflow:hidden}.lightbox-image{max-width:90vw;max-height:76vh;object-fit:contain}.lightbox-bottom{padding:17px 20px;color:white;display:flex;justify-content:space-between;gap:30px;align-items:center}.lightbox-close{width:38px;height:38px;border:1px solid #768399;background:none;color:white;border-radius:50px;cursor:pointer;font-size:1.2rem}.lightbox-photo-caption{font-size:.86rem}.gallery-note{background:#f4f7fa;padding:18px 22px;border-radius:13px;color:#597189;font-size:.83rem;margin-top:35px}
.band-story{padding:85px 0;background:#f9fafc}.band-story-inner{max-width:850px;margin:auto;text-align:center}.band-story h2{font:800 clamp(2.2rem,4.1vw,4rem)/1.16 'Manrope';letter-spacing:-.06em;margin:15px 0}.band-story p{font-size:1.15rem;color:var(--muted)}.contact-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}.contact-list a{color:#fff;text-underline-offset:4px}.small{font-size:.84rem}.source-link{color:var(--royal);text-underline-offset:3px}
@media (max-width:1100px){.nav-links{gap:18px}.brand img{width:180px}.hero-inner{gap:22px}.hero h1{font-size:clamp(3.2rem,5.5vw,5rem)}.quote-block{gap:45px}.footer-grid{gap:30px}}
@media (max-width:850px){.container{width:min(100% - 38px,var(--max))}.mobile-toggle{display:flex}.site-header .nav-shell{min-height:75px}.nav-links{position:absolute;top:75px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:#071d3b;padding:12px 20px 25px;box-shadow:0 24px 40px rgba(0,0,0,.18)}.nav-links.is-open{display:flex}.nav-links>a:not(.btn){padding:16px 10px;border-bottom:1px solid rgba(255,255,255,.09)}.nav-links .btn{margin-top:18px}.hero-inner{grid-template-columns:1fr;gap:50px;padding-top:66px;padding-bottom:75px}.hero h1{max-width:720px}.hero .lead{max-width:650px}.hero-photos{max-width:720px;width:100%;margin-inline:auto}.feature-grid,.program-grid,.steps,.credit-grid{grid-template-columns:repeat(2,1fr)}.split,.quote-block{grid-template-columns:1fr;gap:35px}.split img,.quote-visual img{height:450px}.quote-copy{order:-1}.footer-grid{grid-template-columns:1.4fr 1fr;gap:35px}.footer-grid>div:last-child{grid-column:span 2}.faq-layout{grid-template-columns:1fr;gap:34px}.faq-toc{position:static;display:flex;flex-wrap:wrap;gap:10px;padding:16px}.faq-toc h2{width:100%;margin:0}.faq-toc a{padding:4px 7px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.section{padding:84px 0}}
@media (max-width:600px){.container{width:calc(100% - 32px)}.brand img{width:165px;height:54px}.hero-inner{padding-top:54px}.hero h1{font-size:clamp(3.0rem,12vw,4.4rem);letter-spacing:-.07em}.hero .lead{font-size:1rem}.hero-photos{grid-template-rows:190px 170px;height:374px;gap:9px}.hero-photos .photo-tall{grid-row:span 2}.photo-sticker{left:5px;bottom:-23px}.ticker-inner{justify-content:center;font-size:.67rem}.ticker-inner span:nth-child(n+3){display:none}.ticker-inner span+span:before{margin-right:10px}.section{padding:75px 0}.section-tight{padding:52px 0}.section-heading h2,.section-title{font-size:2.4rem}.section-heading p{font-size:1rem}.feature-grid,.program-grid,.program-detail-grid,.steps,.credit-grid,.gallery-grid{grid-template-columns:1fr}.feature-card img{height:240px}.program-card{min-height:230px}.split img,.quote-visual img{height:355px}.quote-copy h2,.split h2{font-size:2.45rem}.cta-inner{display:block}.cta-inner .btn{margin-top:25px}.footer-grid{grid-template-columns:1fr;gap:27px}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}.page-hero .container,.page-hero.photo-header .container{padding:74px 0 78px}.page-hero h1{font-size:3.3rem}.page-hero p{font-size:1rem}.talk-box{grid-template-columns:1fr;padding:28px}.talk-box .btn{justify-self:start}.gallery-item img{height:270px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V2 schedules, family resources, varsity letter */
.nav-links{gap:17px}.nav-links>a:not(.btn){font-size:.84rem}.nav-shell{gap:16px}.nav-links .btn{padding:12px 16px}
.schedule-note{background:var(--navy);color:#fff;border-radius:24px;overflow:hidden;display:grid;grid-template-columns:1.36fr 1fr;align-items:stretch;margin-bottom:22px}.schedule-note>div{padding:40px}.schedule-note h2{font:800 clamp(1.9rem,3.4vw,3.25rem)/1.12 Manrope,sans-serif;letter-spacing:-.05em;margin:14px 0 18px}.schedule-note p{color:#d7e1ee;margin-bottom:0;font-size:.95rem}.schedule-note img{height:100%;max-height:330px;width:100%;object-fit:cover}
.schedule-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.schedule-overview{border:1px solid var(--line);background:white;border-radius:18px;padding:27px;display:flex;flex-direction:column}.schedule-overview h3{font:800 1.35rem Manrope,sans-serif;letter-spacing:-.04em;margin:11px 0}.schedule-overview p{color:var(--muted);font-size:.91rem;margin:0 0 25px}.schedule-overview a{margin-top:auto}.schedule-list-section{background:#f7f9fc}.schedule-controls{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.schedule-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:15px 0 24px}.event-search-label{font-size:.8rem;font-weight:800;color:#38516b;max-width:470px;width:100%;display:grid;gap:6px}.event-search-label input{width:100%;border:1px solid #aebecf;background:#fff;border-radius:11px;padding:13px 14px;font-size:.95rem}.schedule-check{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:#42586e;font-size:.87rem;cursor:pointer;flex-shrink:0}.schedule-check input{height:18px;width:18px;accent-color:var(--royal)}.schedule-count{color:var(--muted);font-size:.88rem}.event-list{display:grid;gap:12px}.event-card{display:flex;gap:22px;align-items:center;border:1px solid #d9e3ed;background:white;border-radius:16px;padding:18px 25px}.event-card[hidden]{display:none}.event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;background:#e9f1fa;padding:8px 7px;min-width:76px;line-height:1.1;color:var(--navy)}.event-date strong{text-transform:uppercase;font-size:.72rem;letter-spacing:.1em;color:var(--royal)}.event-date span{font:800 1.8rem Manrope,sans-serif;padding:4px 0}.event-date small{font-size:.7rem;font-weight:700}.event-info{flex:1;min-width:0}.event-tags{display:flex;gap:7px;flex-wrap:wrap}.event-group,.event-flag{font-weight:800;font-size:.64rem;letter-spacing:.055em;text-transform:uppercase;border-radius:6px;padding:3px 8px;background:#e8edf4;color:#39526e}.event-group.marching{background:#fff0cd;color:#805500}.event-group.concert{background:#e6f0fb;color:#0b4d88}.event-group.jazz{background:#e8f5ee;color:#186248}.event-card h3{font:800 1.05rem/1.36 Manrope,sans-serif;letter-spacing:-.025em;margin:8px 0 4px}.event-details{font-size:.85rem;color:#576b80;margin:0;display:flex;flex-wrap:wrap;gap:8px}.event-details strong{color:#2a4158}.event-caveat{font-size:.79rem;color:#795b16;margin:5px 0 0}.event-empty{border:1px dashed #b4c0cd;text-align:center;padding:38px;background:white;border-radius:17px}.event-empty h3{margin-top:0}.sources-panel{margin-top:29px;font-size:.83rem;color:#4b6075;padding:22px;border-radius:13px;background:#eaf0f6}.sources-panel a{color:#005b9b;text-underline-offset:3px}
.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:21px}.resource-card{background:#fff;border:1px solid var(--line);border-radius:21px;padding:30px;display:flex;flex-direction:column;align-items:start}.resource-card.featured-resource{background:#fffaf0;border-color:#f2deb4}.resource-icon{width:44px;height:44px;display:grid;place-items:center;color:#064a87;background:#e8f2fc;border-radius:14px;font:900 1.3rem Manrope,sans-serif;margin-bottom:18px}.resource-card h2{font:800 1.75rem/1.2 Manrope,sans-serif;letter-spacing:-.04em;margin:18px 0 9px}.resource-card p{color:var(--muted);font-size:.95rem;margin:0 0 24px}.resource-card .btn{margin-top:auto}.resource-meta{padding-top:20px;color:#576b80;font-size:.8rem}.resource-meta a{color:var(--royal);margin-right:15px;text-underline-offset:3px}.letter-paths{display:grid;grid-template-columns:1fr 1fr;gap:22px}.path-card{border:1px solid #d4dfeb;background:#f7f9fc;padding:38px;border-radius:22px}.path-card.special{background:#fff6dd;border-color:#f2deb4}.path-card h2{font:800 clamp(1.65rem,3vw,2.3rem)/1.2 Manrope,sans-serif;letter-spacing:-.045em;margin:14px 0 20px}.path-card p{color:#4d6073;font-size:.93rem}.numbers{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:24px 0}.numbers>div:not(.plus){display:flex;flex-direction:column;gap:5px}.numbers strong{font:900 clamp(3rem,6vw,5rem)/1 Manrope,sans-serif;letter-spacing:-.07em;color:var(--royal)}.numbers span{font-size:.8rem;color:#44566b;font-weight:800}.numbers .plus{font-size:1.3rem;color:var(--royal);font-weight:800}.letter-callout{margin-top:22px;padding:23px 28px;background:var(--navy);color:white;border-radius:16px;font-size:.97rem}.points-layout{display:grid;grid-template-columns:1.4fr 1fr;align-items:start;gap:32px}.points-table-wrap{overflow:auto;border-radius:17px;border:1px solid var(--line)}.points-table{width:100%;border-collapse:collapse;text-align:left}.points-table thead{background:var(--navy);color:white}.points-table th,.points-table td{padding:13px 19px;font-size:.88rem;border-bottom:1px solid var(--line)}.points-table tbody tr:last-child th,.points-table tbody tr:last-child td{border-bottom:0}.points-table th{font-weight:700}.points-table td{color:#2b567c;font-weight:800}.points-table tbody tr:nth-child(even){background:#f6f8fa}.points-side{background:#f3f6fa;border-radius:19px;padding:18px 18px 25px}.points-side img{width:100%;height:250px;object-fit:cover;border-radius:10px}.points-side h3{font:800 1.3rem/1.3 Manrope,sans-serif;letter-spacing:-.035em;margin:21px 10px 8px}.points-side p{margin:8px 10px;color:#4e6276;font-size:.9rem}.letter-service{display:grid;grid-template-columns:1.6fr 1fr;gap:60px;align-items:center}.letter-service h2{font:800 clamp(2rem,3.5vw,3.3rem)/1.13 Manrope,sans-serif;letter-spacing:-.055em;margin:14px 0}.letter-service p{color:#53687d}.service-actions{display:grid;gap:11px}.service-actions .btn{white-space:normal;text-align:center}
.family-feature{background:#f6f9fc}.family-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.family-link-card{text-decoration:none;background:white;border:1px solid #d8e1eb;border-radius:18px;padding:24px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.family-link-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.family-link-icon{width:43px;height:43px;display:grid;place-items:center;background:#fff0cc;border-radius:12px;color:#705000;font:900 1.45rem Manrope,sans-serif}.family-link-card h3{font:800 1.14rem/1.25 Manrope,sans-serif;margin:19px 0 8px}.family-link-card p{color:var(--muted);font-size:.85rem;line-height:1.55;margin:0 0 19px}.family-link-card .text-link{margin-top:auto}.center-schedule-cta{text-align:center;background:#f6f9fc}.center-schedule-cta h2{font:800 clamp(1.9rem,3vw,3rem)/1.2 Manrope,sans-serif;letter-spacing:-.05em;margin:12px 0}.center-schedule-cta p{color:var(--muted);margin:0 auto 25px;max-width:600px}.resources-mini-banner{background:#f1f5f9;padding:25px;border-radius:16px;margin-bottom:30px}.resources-mini-banner h3{margin:0 0 7px;font:800 1.17rem Manrope,sans-serif}.resources-mini-banner p{margin:0;color:#52667b}.resources-mini-banner a{color:var(--royal);font-weight:800}
@media(max-width:1180px){.nav-links{gap:13px}.nav-links>a:not(.btn){font-size:.80rem}.brand img{width:177px}}
@media(max-width:980px){.site-header .nav-shell{min-height:75px}.mobile-toggle{display:flex}.nav-links{position:absolute;top:75px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:#071d3b;padding:12px 20px 25px;box-shadow:0 24px 40px rgba(0,0,0,.18)}.nav-links.is-open{display:flex}.nav-links>a:not(.btn){padding:16px 10px;border-bottom:1px solid rgba(255,255,255,.09);font-size:.95rem}.nav-links .btn{margin-top:18px}}
@media(max-width:840px){.schedule-quick-grid,.family-feature-grid{grid-template-columns:repeat(2,1fr)}.points-layout{grid-template-columns:1fr}}
@media(max-width:650px){.schedule-note,.schedule-quick-grid,.resource-grid,.letter-paths,.letter-service,.family-feature-grid{grid-template-columns:1fr}.schedule-note>div{padding:28px}.schedule-note img{height:230px;max-height:none}.schedule-toolbar{flex-direction:column;align-items:stretch}.event-card{align-items:start;padding:16px;gap:14px}.event-date{min-width:62px}.event-date span{font-size:1.5rem}.event-card h3{font-size:1rem}.event-details{gap:4px}.numbers strong{font-size:3.8rem}.path-card{padding:26px}.letter-service{gap:22px}}

/* v3: expanded band moments photo preview */
.moments-section {background:#f7f9fc}
.moments-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.moment-card{min-width:0;position:relative;display:block;overflow:hidden;border-radius:18px;min-height:290px;background:#102b54;text-decoration:none;color:#fff}
.moment-card img{width:100%;height:100%;min-height:290px;object-fit:cover;transition:transform .35s ease}
.moment-card:hover img{transform:scale(1.06)}
.moment-card span{position:absolute;bottom:0;left:0;right:0;padding:40px 22px 22px;background:linear-gradient(transparent,rgba(2,16,40,.9));font:800 1.15rem/1.2 Manrope,system-ui,sans-serif}
.moment-card:focus-visible{outline:3px solid #e6b942;outline-offset:5px}
@media(max-width:850px){.moments-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.moments-grid .moment-card:last-child{grid-column:span 2}}
@media(max-width:600px){.moments-grid{grid-template-columns:1fr}.moments-grid .moment-card:last-child{grid-column:auto}.moment-card,.moment-card img{min-height:235px}}

/* V4 inclusive design, accessible and accurate program media */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:where(a,button,input,select,summary,[tabindex]):focus-visible{outline:4px solid #00569d;outline-offset:4px}
.site-header :where(a,button):focus-visible,.dark-section :where(a,button):focus-visible,.page-hero :where(a,button):focus-visible,.lightbox :where(a,button):focus-visible,.cta-band :where(a,button):focus-visible{outline-color:#ffd975;box-shadow:0 0 0 2px #071b36}
:where(a,button){touch-action:manipulation}
:where(.btn,.filter-btn,.mobile-toggle,.lightbox-close){min-height:44px}
.gallery-item button:focus-visible{outline:4px solid #ffd975;outline-offset:-5px}
.gallery-item button:focus-visible img{filter:brightness(.7)}
.detail-card .program-photo-placeholder{min-height:230px;padding:32px 28px;display:flex;flex-direction:column;justify-content:center;gap:18px;background:radial-gradient(circle at 86% 19%,rgba(255,217,119,.28),transparent 32%),linear-gradient(135deg,#0b2d52,#07172e);color:#fff}
.program-photo-placeholder span{color:#ffe09a;font-weight:800;letter-spacing:.17em;font-size:.73rem}
.program-photo-placeholder strong{font-family:Manrope,'DM Sans',sans-serif;font-weight:900;font-size:clamp(2.1rem,4vw,3.2rem);line-height:1;letter-spacing:-.04em}
.content-narrow{max-width:830px}.content-narrow h2{font-family:Manrope,sans-serif;letter-spacing:-.03em;margin:30px 0 8px;font-size:1.65rem}.content-narrow p{color:#34465e;line-height:1.8}.content-narrow a:not(.btn){color:#00518d}
.gallery-note{color:#34465e}
.event-count,.schedule-count{color:#34465e}
.mobile-toggle[aria-expanded='true']{background:#17456e}
html{scroll-padding-top:95px}
@media (forced-colors:active){.btn,.filter-btn,.gallery-item,.detail-card{border:1px solid ButtonText}.gallery-item .photo-overlay{background:Canvas;color:CanvasText}.mobile-toggle{border:1px solid ButtonText}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-item:hover img,.family-link-card:hover{transform:none}}

/* Version 5: additional WCAG-friendly behavior and improved content stability */
:where(a,button,input,select,summary,[tabindex]):focus-visible{outline-width:4px;outline-style:solid;outline-offset:3px}
.site-footer h2{margin:7px 0 15px;font:800 .85rem 'Manrope',system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  :where(.btn,.program-card,.family-link-card,.gallery-item img,.moment-card img):hover{transform:none!important;translate:none!important}
}

/* Distinct focus indicators for dark footer and gold call-to-action regions */
.site-footer :where(a,button):focus-visible{outline:4px solid #ffd975;outline-offset:4px;box-shadow:0 0 0 2px #06152b}
.cta-band :where(a,button):focus-visible{outline:4px solid #06152b;outline-offset:4px;box-shadow:0 0 0 2px #fff7df}
