*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#18233d;background:#fff;font-family:"DM Sans",sans-serif;line-height:1.6}.container{width:min(1160px,calc(100% - 40px));margin:auto}.narrow{width:min(900px,calc(100% - 40px))}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid #e5e9e6}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;border-radius:10px;background:#17201d;color:#fff;display:grid;place-items:center;font:800 13px Manrope}.brand-name{font:800 15px Manrope;letter-spacing:-.02em}.brand-sub{font-size:11px;color:#6c7772}.header-cta{color:#17201d;text-decoration:none;font-weight:700;font-size:13px}.header-cta span{margin-left:6px}.hero{padding:92px 0 104px;background:linear-gradient(135deg,#f4f7f3 0%,#fff 62%)}.hero-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:70px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:800;color:#245a9b;margin:0 0 13px}.hero h1{font:800 clamp(44px,6vw,76px)/1.02 Manrope;letter-spacing:-.055em;margin:0;max-width:780px}.hero h1 em{font-style:normal;color:#b3202a}.hero-copy{font-size:18px;max-width:680px;color:#58635f;margin:26px 0}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:9px;padding:14px 20px;font-weight:800;text-decoration:none;cursor:pointer}.button-dark{background:#173f7a;color:#fff}.text-link{color:#173f7a;font-weight:800;text-decoration:none}.hero-card{border:1px solid #dfe5e0;background:#fff;border-radius:18px;padding:28px;box-shadow:0 22px 60px rgba(24,32,29,.08)}.hero-card-label{font-size:10px;letter-spacing:.18em;font-weight:800;color:#245a9b}.hero-card-number{font:800 74px/.95 Manrope;letter-spacing:-.06em;margin:12px 0 3px}.hero-card-title{font-weight:800}.hero-card p{color:#66716c;font-size:13px;margin-bottom:0}.section{padding:92px 0}.section-soft{background:#f4f6fa}.section-dark{background:#173f7a;color:#fff}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:38px}.section-heading h2{font:800 clamp(30px,4vw,48px)/1.08 Manrope;letter-spacing:-.04em;margin:0}.section-heading.light .eyebrow{color:#9eb8dc}.section-intro{max-width:430px;color:#68736e;margin:0}.light .section-intro{color:#c7d4e5}.notice{border-left:3px solid #b3202a;background:#eef3fb;padding:16px 20px;margin-bottom:24px;color:#4f5c56}.date-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.date-card{background:#fff;border:1px solid #e1e6e2;border-radius:15px;display:flex;overflow:hidden}.date-top{width:82px;flex:none;background:#e9eff8;text-align:center;padding-top:20px}.date-month{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.14em;font-weight:800;color:#64766b}.date-day{font:800 34px Manrope;letter-spacing:-.04em}.date-content{padding:20px;min-width:0}.tag{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#64776c;background:#eef3fb;border-radius:99px;padding:4px 7px}.date-card h3{font:800 18px Manrope;margin:10px 0 2px}.date-card p{font-size:12px;margin:0 0 5px}.muted{color:#707b76}.calendar-actions{display:flex;gap:10px;margin-top:15px}.calendar-actions a,.calendar-actions button{font:700 11px "DM Sans";color:#33443b;background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}.two-col{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}.two-col h2{font:800 44px/1.1 Manrope;letter-spacing:-.04em;margin:0}.two-col p{font-size:17px;color:#4f5a55}.prose li{margin:0 0 11px}.callout{margin-top:25px;background:#eef3fb;border:1px solid #dfe6e1;padding:18px;border-radius:12px}.expectation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#294c76}.expectation-grid article{background:#173f7a;padding:28px}.expectation-grid span{font-size:11px;color:#9eb8dc;letter-spacing:.12em}.expectation-grid h3{font:800 21px Manrope;margin:15px 0 7px}.expectation-grid p{font-size:13px;color:#c7d4e5;margin:0}.attire-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.info-card{background:#fff;border:1px solid #dfe5e1;border-radius:14px;padding:25px}.info-card h3{font:800 21px Manrope;margin:0 0 13px}.info-card ul{padding-left:18px;margin:0;color:#59645f}.fine-print{font-size:12px;color:#68736e;margin-top:20px}.uniform-summary{border-top:1px solid #dfe4e0}.uniform-summary div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #dfe4e0}.uniform-summary span{color:#69756f}.details-list{max-width:820px}.details-list details{border-top:1px solid #46514c;padding:19px 0}.details-list details:last-child{border-bottom:1px solid #46514c}.details-list summary{cursor:pointer;font:700 17px Manrope}.details-list p{color:#c7d4e5;font-size:14px;max-width:700px}.acknowledgment{background:#e9eff8}.center{display:block;text-align:center}.center .section-intro{max-width:680px;margin:14px auto 0}.form-card{background:#fff;border:1px solid #dfe5e1;border-radius:18px;box-shadow:0 18px 50px rgba(24,32,29,.07);overflow:hidden}.form-section{padding:32px;border-bottom:1px solid #e5e9e6}.form-section-title{display:flex;gap:15px;margin-bottom:24px}.form-section-title>span{font:800 12px Manrope;color:#6c7c73;padding-top:4px}.form-section-title h3{font:800 20px Manrope;margin:0}.form-section-title p{font-size:12px;color:#7a847f;margin:2px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label,.signature-grid label{display:block;font-size:12px;font-weight:700;color:#4c5952}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.signature-grid input,.initial-fields input{display:block;width:100%;margin-top:7px;border:1px solid #d5ddd7;border-radius:8px;padding:12px 13px;font:inherit;font-size:14px;background:#fff;outline:none}.form-grid input:focus,.form-grid select:focus,.signature-grid input:focus,.initial-fields input:focus{border-color:#82998b;box-shadow:0 0 0 3px #e8eee9}.checks{display:flex;gap:20px;margin-top:9px}.checks label{font-weight:600}.checks input,.agreement input{accent-color:#b3202a}.initial-grid{display:grid;gap:10px}.initial-card{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;border:1px solid #e0e6e1;border-radius:12px;padding:16px}.initial-card h4{font:800 15px Manrope;margin:7px 0 1px}.initial-card p{font-size:12px;color:#6d7772;margin:0}.initial-fields{display:grid;grid-template-columns:100px 100px;gap:10px}.initial-fields label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#65726b}.initial-fields input{text-transform:uppercase;text-align:center}.signature-grid{display:grid;grid-template-columns:1fr 170px;gap:16px}.agreement{display:flex;gap:10px;align-items:flex-start;margin-top:18px;font-size:12px;color:#58645e}.agreement input{margin-top:3px}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 32px;background:#f4f6fa}.form-footer div{display:grid;gap:3px}.form-footer strong{font-size:13px}.form-footer span{font-size:11px;color:#758079}.form-status{padding:0 32px 24px;font-size:13px}.form-status.success{color:#245a9b}.form-status.error{color:#b3202a}.footer{background:#102b52;color:#fff;padding:35px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px;font-size:12px}.footer-inner div{display:grid;gap:3px}.footer-inner span{color:#9ba8a1}@media(max-width:900px){.hero-grid,.two-col{grid-template-columns:1fr;gap:35px}.date-grid,.expectation-grid,.attire-grid{grid-template-columns:1fr 1fr}.section-heading{display:block}.section-intro{margin-top:15px}.two-col{gap:25px}}@media(max-width:640px){.container,.narrow{width:min(100% - 26px,1160px)}.header-cta{display:none}.hero{padding:60px 0 70px}.hero h1{font-size:44px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}.section{padding:65px 0}.date-grid,.expectation-grid,.attire-grid,.form-grid,.signature-grid{grid-template-columns:1fr}.date-card{min-height:145px}.initial-card{grid-template-columns:1fr}.initial-fields{grid-template-columns:1fr 1fr}.form-section,.form-footer{padding:24px}.form-footer{align-items:flex-start;flex-direction:column}.footer-inner{flex-direction:column}}
/* Revised calendar and acknowledgment controls */
.calendar-actions{flex-wrap:wrap;gap:7px;margin-top:16px}.calendar-actions a,.calendar-actions button{display:inline-flex;align-items:center;min-height:30px;padding:6px 9px;border:1px solid #cbd7e5;border-radius:7px;background:#f6f9fc;color:#173f7a;text-decoration:none;line-height:1.2}.calendar-actions a:hover,.calendar-actions button:hover{background:#e9eff8}.event-note{margin-top:10px!important;padding:9px 10px;border-left:3px solid #245a9b;background:#f4f7fb;color:#40516a}.optional{font-weight:500;color:#77827c}.checkbox-fieldset{min-width:0;margin:0;padding:0;border:0}.checkbox-fieldset legend{font-size:12px;font-weight:700;color:#4c5952}.field-message{display:none;margin:8px 0 0!important;color:#b3202a!important;font-size:12px!important}.checkbox-fieldset.invalid .field-message{display:block}.checkbox-fieldset.invalid{padding:10px;border:1px solid #b3202a;border-radius:8px}.initial-card.band-only{border-color:#9db2cd;background:#f7f9fc}.initial-card.band-only.inactive{background:#f5f6f6;border-color:#dfe5e1}.initial-card.band-only.inactive .initial-fields{opacity:.48}.initial-fields input:disabled{cursor:not-allowed;background:#eef1ef}.initial-guidance{max-width:520px;margin-top:5px!important;color:#40516a!important}.select-events-note{margin-top:14px;padding:15px 17px;border-radius:10px;background:#eef3fb;color:#40516a;font-size:13px}.payment-note{margin:0;padding:14px 16px;border-left:3px solid #b3202a;background:#fff6f6;color:#762029;font-size:13px}.payment-note[hidden]{display:none}.button:disabled{cursor:wait;opacity:.65}@media(max-width:640px){.checks{flex-wrap:wrap}.calendar-actions a,.calendar-actions button{font-size:10px}.initial-card.band-only .initial-fields{grid-template-columns:1fr 1fr}}
.calendar-download{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 0 26px;padding:18px 20px;border:1px solid #e0c3c6;border-radius:13px;background:#fff}.calendar-download-button{min-height:48px;padding:13px 20px;border:0;border-radius:9px;background:#b3202a;color:#fff;box-shadow:0 8px 20px rgba(179,32,42,.2);cursor:pointer;font:800 14px "DM Sans",sans-serif}.calendar-download-button:hover{background:#951b23}.calendar-download-button:focus-visible{outline:3px solid #f0aeb3;outline-offset:3px}.calendar-download p{max-width:310px;margin:0;color:#68736e;font-size:12px}@media(max-width:640px){.calendar-download{align-items:stretch;flex-direction:column;text-align:center}.calendar-download-button{width:100%}}
.scroll-cue{display:inline-flex;align-items:center;gap:12px;margin-top:25px;color:#173f7a;font-size:13px;font-weight:800;text-decoration:none}.scroll-arrow{display:grid;width:46px;height:46px;border:2px solid #b3202a;border-radius:50%;place-items:center;color:#b3202a;font-size:25px;line-height:1;transition:transform .2s ease}.scroll-cue:hover .scroll-arrow{transform:translateY(4px)}.scroll-cue:focus-visible{outline:3px solid #d3deed;outline-offset:4px}.family-information{padding-top:74px;background:#fff}.family-heading{margin-bottom:28px}.info-form-card{box-shadow:0 14px 40px rgba(24,32,29,.06)}.info-form-card .form-section:last-child{border-bottom:0}.uniform-measurement-note{margin:-4px 0 20px;padding:13px 15px;border-left:3px solid #245a9b;background:#eef3fb;color:#40516a;font-size:13px}.uniform-pricing{margin:0 0 25px;border:1px solid #dfe4e0;border-radius:10px;overflow:hidden}.uniform-pricing div{padding:11px 14px}.uniform-pricing div:last-child{border-bottom:0}.date-card[hidden],.initial-card[hidden]{display:none}@media(max-width:640px){.scroll-cue{align-items:flex-start;flex-direction:column}.family-information{padding-top:58px}.uniform-pricing div{align-items:flex-start;gap:20px}.uniform-pricing span{text-align:right}}
.date-grid+.calendar-download{margin:26px 0 0}
.band-conditional-hidden,.senior-conditional-hidden{display:none!important}
.initial-fields{width:100%;grid-template-columns:repeat(2,minmax(120px,1fr));gap:14px}.initial-fields label{min-width:0;white-space:nowrap}@media(max-width:640px){.initial-fields,.initial-card.band-only .initial-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
.initial-card.senior-only{border-color:#9db2cd;background:#f7f9fc}.initial-card.senior-only.inactive{background:#f5f6f6;border-color:#dfe5e1}.agreement{gap:14px;font-size:16px;line-height:1.45}.agreement input{flex:0 0 24px;width:24px;height:24px;margin-top:0}
.handbook-selector{padding:64px 0;background:#fff;border-bottom:1px solid #e5e9e6}.handbook-selector-heading{text-align:center}.handbook-selector-heading h2{margin:0;font:800 clamp(30px,4vw,46px)/1.08 Manrope;letter-spacing:-.04em}.handbook-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}.handbook-option{display:flex;min-height:128px;padding:24px;border:1px solid #cbd7e5;border-radius:16px;align-items:flex-start;flex-direction:column;justify-content:flex-end;background:#f7f9fc;color:#173f7a;cursor:pointer;text-align:left;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}.handbook-option span{font:800 22px Manrope}.handbook-option strong{font:700 13px "DM Sans";letter-spacing:.08em;text-transform:uppercase}.handbook-option:hover{transform:translateY(-2px);border-color:#8fa8c7}.handbook-option[aria-pressed="true"]{border-color:#173f7a;background:#173f7a;color:#fff;box-shadow:0 12px 30px rgba(23,63,122,.2)}.handbook-option:focus-visible{outline:3px solid #f0aeb3;outline-offset:3px}.handbook-panel{scroll-margin-top:76px}.handbook-panel[hidden]{display:none!important}@media(max-width:700px){.handbook-selector{padding:48px 0}.handbook-options{grid-template-columns:1fr}.handbook-option{min-height:96px}}
.middle-welcome{border-top:1px solid #e4e9e5}.letter-card{padding:28px;border:1px solid #dfe5e1;border-radius:16px;background:#fff;box-shadow:0 14px 40px rgba(24,32,29,.06)}.letter-card p{margin:0 0 16px;color:#4f5a55;font-size:16px}.letter-card p:last-child{margin-bottom:0}.letter-signature{padding-top:17px;border-top:1px solid #e2e7e3;line-height:1.8}.middle-attire-grid .info-card{min-height:100%}.middle-polo-note{margin:0 0 25px;padding:18px 20px;border-left:3px solid #245a9b;border-radius:0 10px 10px 0;background:#eef3fb;color:#40516a;font-size:15px;line-height:1.65}.middle-points-note{padding:18px 32px;border-bottom:1px solid #dfe5e1;background:#fff8e8;color:#665022;font-size:13px}.middle-points-note strong{color:#4a3815}@media(max-width:640px){.letter-card{padding:22px}.middle-polo-note{padding:16px}.middle-points-note{padding:18px 24px}}
.thank-you-page{min-height:100vh;display:grid;place-items:center;padding:36px 20px;background:linear-gradient(135deg,#eef3fb 0%,#fff 58%,#f8eeee 100%)}.thank-you-card{width:min(720px,100%);padding:clamp(34px,7vw,64px);border:1px solid #dce4ec;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(23,63,122,.12);text-align:center}.thank-you-mark{display:grid;width:68px;height:68px;margin:0 auto 24px;border-radius:50%;place-items:center;background:#173f7a;color:#fff;font:800 31px Manrope}.thank-you-card h1{margin:0;font:800 clamp(36px,7vw,58px)/1.04 Manrope;letter-spacing:-.045em;color:#18233d}.thank-you-lead{max-width:560px;margin:22px auto 0;color:#4f5c56;font-size:18px}.thank-you-message{max-width:570px;margin:26px auto 0;padding-top:25px;border-top:1px solid #e3e8ed;color:#173f7a;font-size:19px;font-weight:700}.thank-you-signature{margin:28px 0 0;color:#5c6762;font-size:14px;line-height:1.8}.thank-you-signature strong{display:block;color:#18233d;font-size:16px}

/* Music photography */
.hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#121820}.hero::after{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(90deg,rgba(14,21,29,.88) 0%,rgba(14,21,29,.74) 47%,rgba(14,21,29,.28) 100%)}.hero-media{position:absolute;z-index:-2;inset:-12%;background:url("images/hero-cello.jpg") center/cover no-repeat;transform:translate3d(0,var(--hero-shift,0),0) scale(var(--hero-scale,1.06));transform-origin:center;will-change:transform}.hero .eyebrow{color:#c9d8e8}.hero h1 em{color:#ffb0b7}.hero-copy{color:#edf1f5}.hero-card{border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.94);color:#18233d;box-shadow:0 22px 60px rgba(0,0,0,.24)}
.program-photo-strip{position:relative;left:50%;display:grid;width:100vw;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 42px;transform:translateX(-50%);background:#173f7a}.program-photo-strip img{display:block;width:100%;height:clamp(130px,18vw,260px);object-fit:cover}.program-photo-strip img:nth-child(2){object-position:center 42%}
@media(max-width:700px){.hero-media{background-position:38% center}.program-photo-strip{margin-bottom:30px}.program-photo-strip img{height:120px}}
@media(prefers-reduced-motion:reduce){.hero-media{transform:scale(1.06);will-change:auto}}
