:root{--navy:#082347;--gold:#ad731e;--cream:#f8f6f1;--ink:#22354c;--line:#dddcd6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;background:#fffffff5;padding:12px 4.5%;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:12px;color:var(--navy);font-family:Georgia,serif;letter-spacing:2px;line-height:1.3;font-size:18px}.brand img{width:60px;height:60px;object-fit:contain}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:3px;margin-top:6px}nav{display:flex;align-items:center;gap:23px;font-size:13px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--navy);line-height:1.12}h1{font-size:clamp(52px,5.5vw,86px);letter-spacing:-3px;margin-bottom:28px}h2{font-size:clamp(37px,3.8vw,57px);letter-spacing:-1.6px;margin-bottom:30px}h3{font-size:30px;margin-bottom:20px}em{font-weight:400;color:var(--gold)}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:700;color:var(--gold);margin-bottom:22px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:7%;padding:78px 7% 70px;align-items:center}.intro{font-size:18px;max-width:560px;color:#526070}.actions{display:flex;align-items:center;gap:30px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--navy);color:white;padding:15px 25px;font-size:14px;border:1px solid var(--navy);border-radius:3px}.button:hover{background:#174374;text-decoration:none}.compact{padding:11px 16px;font-size:12px}.text-link{font-size:14px;font-weight:700}.hero-note{font-size:12px;margin:28px 0 0;color:#69727c}.logo-panel{background:white;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #e8e2d6;box-shadow:18px 18px 0 #ede8dd}.logo-panel img{width:min(92%,400px)}.logo-panel p{font-size:9px;letter-spacing:3px;color:var(--gold);margin:0 0 30px}.facts{margin:0 7%;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.facts small,.concert small{display:block;font-size:9px;letter-spacing:2px;color:#647180;margin-bottom:7px}.facts strong{font-size:15px;font-weight:400;color:var(--navy)}.section{padding:90px 7%}.story{display:grid;grid-template-columns:1fr 1fr;gap:8%}.story p:not(.eyebrow){color:#56616d}.section-top{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:40px}.section-top h2{margin-bottom:0}.section-top>p{max-width:380px;margin-bottom:0;color:#586575}.programs{background:#efece4}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.program{background:white;padding:40px;position:relative}.program h3{font-size:38px}.program>p:not(.eyebrow){max-width:460px}.number{position:absolute;right:30px;top:28px;font:48px Georgia,serif;color:#e6e1d5}dl{margin:30px 0}dl div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}dt{color:#667180}dd{margin:0}.dark{background:var(--navy);color:#dce3ee}.dark h3,.dark .text-link{color:white}.dark .number{color:#304969}.dark dt{color:#afbdd0}.dark dl div{border-color:#38506e}.dark .eyebrow{color:#e5b764}.coaching{display:grid;grid-template-columns:1fr 2fr auto;gap:30px;align-items:center;border-bottom:1px solid #d2cec2;margin-top:35px;padding-bottom:25px}.coaching h3{font-size:25px;margin:0}.coaching p{font-size:14px;margin:0}.coaching a{font-size:12px;font-weight:700}.note{font-size:12px;color:#637080;margin-top:20px;margin-bottom:0}.faculty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:45px}.faculty-grid article{border-top:2px solid var(--gold);padding-top:24px}.role{font-size:10px;letter-spacing:2px;color:var(--gold)}.faculty-grid p{font-size:14px}.faculty-grid h3{font-size:29px}details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--navy)}details p{margin:15px 0 0;font-size:14px;color:#596575}.calendar{background:#fff}.calendar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.calendar-grid article{border-top:1px solid var(--line);padding-top:28px}.calendar-grid h3{font-size:28px}.calendar-grid p{font-size:14px}.concert{margin-top:24px;padding:20px;background:var(--cream)}.concert strong{font:24px Georgia,serif;color:var(--navy)}.join{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#e9eef2}.join>div>p:not(.eyebrow):not(.note){max-width:460px}.tuition{display:flex;gap:25px;align-items:center;margin:30px 0}.tuition strong{font:37px Georgia,serif;color:var(--navy)}.tuition small{font:14px Arial,sans-serif}.tuition p{font-size:12px;margin:0}.steps{padding-top:20px}.steps article{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid #cbd4dd}.steps article>span{font:32px Georgia,serif;color:var(--gold)}.steps h3{font-size:26px;margin-bottom:12px}.steps p{font-size:14px;margin:0}.faq{max-width:1000px;margin:auto}.faq details{padding:22px 0}.faq summary{font-size:17px}.contact{text-align:center;background:var(--navy);color:#d9e2ed}.contact h2{color:white}.contact em,.contact .eyebrow{color:#e0b267}.contact p{font-size:15px}.email{font-size:clamp(15px,2.2vw,26px);border-bottom:1px solid #9baabe;padding-bottom:8px}footer{padding:35px 7%;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:11px}footer strong{font-family:Georgia,serif;font-size:17px}footer p{margin:6px 0}.menu{display:none}@media(min-width:1500px){main{max-width:1650px;margin:auto}}@media(max-width:1100px){nav{gap:12px;font-size:11px}.brand{font-size:15px}.brand img{width:48px;height:48px}.hero{gap:5%}.logo-panel{min-height:340px}.coaching{grid-template-columns:1fr 2fr}.coaching a{grid-column:2}.facts strong{font-size:13px}}@media(max-width:800px){html{scroll-padding-top:85px}header{padding:10px 5%;flex-wrap:wrap}.menu{display:block;background:none;border:1px solid var(--line);padding:9px 15px;color:var(--navy)}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:13px;font-size:14px}.hero{grid-template-columns:1fr;padding:50px 6%;gap:40px}h1{letter-spacing:-2px}.logo-panel{min-height:0;max-width:420px;width:100%;justify-self:center}.logo-panel img{width:85%;max-width:320px}.facts{margin:0 6%;grid-template-columns:1fr 1fr;gap:22px}.section{padding:60px 6%}.story,.join{grid-template-columns:1fr;gap:20px}.section-top{display:block}.section-top>p{margin-top:25px}.program-grid,.faculty-grid,.calendar-grid{grid-template-columns:1fr}.program{padding:30px}.coaching{display:block}.coaching p{margin:15px 0}.faculty-grid{gap:30px}.calendar-grid{gap:30px}.tuition{flex-wrap:wrap}.contact h2{font-size:39px}footer{flex-direction:column;text-align:center;gap:15px}.actions{gap:20px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Highlight the rehearsal venue with the ensemble brand palette. */
.calendar-grid .location{background:var(--navy);border-top:4px solid var(--gold);padding:28px 30px 30px;border-radius:3px}.calendar-grid .location .eyebrow{color:#e5b764;font-size:10px;margin-bottom:18px}.calendar-grid .location h3{color:white;font-size:32px;line-height:1.2;margin-bottom:20px}.calendar-grid .location .venue-address{color:#dce3ee;font-size:15px}.calendar-grid .location .text-link{display:inline-block;color:#f0c780;border-bottom:1px solid #b38a45;padding-bottom:4px;margin-top:8px}@media(max-width:800px){.calendar-grid .location h3{font-size:30px}}

/* Slightly stronger header wordmark. */
.brand>span{font-weight:600}.brand small{font-weight:600}

/* Header uses only the emblem; hide the small lettering within the original image. */
.brand .brand-symbol{display:block;position:relative;width:60px;height:60px;overflow:hidden;flex-shrink:0}.brand .brand-symbol img{position:absolute;width:88px;height:88px;max-width:none;left:-14px;top:0;object-fit:contain}@media(max-width:1100px){.brand .brand-symbol{width:48px;height:48px}.brand .brand-symbol img{width:70.4px;height:70.4px;left:-11.2px;top:0}}

/* Official supplied wordmark preserves its exact lettering and navy/gold colors. */
.brand img.brand-wordmark{width:230px;height:auto;display:block;object-fit:contain;flex-shrink:0}@media(max-width:1100px){.brand img.brand-wordmark{width:195px;height:auto}}@media(max-width:380px){.brand{gap:8px}.brand img.brand-wordmark{width:165px;height:auto}}

.form-grid,.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}#application-form{max-width:900px;margin-top:30px}label{display:block;font-weight:600}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #9aa7b5;border-radius:6px;font:inherit;color:var(--navy);background:white;margin-top:6px}input:focus,select:focus,textarea:focus{outline:3px solid var(--gold)}.consent{display:flex;gap:12px;margin:24px 0;font-weight:400}.consent input{width:20px;flex-shrink:0}.trap{display:none}.payment-grid{margin-top:36px}.payment-grid article,#receipt{padding:24px;background:white;border:1px solid var(--line);border-radius:8px}[hidden]{display:none!important}button.button{border:0;cursor:pointer;font:inherit}button:disabled{opacity:.6}#form-status{font-weight:bold}@media(max-width:650px){.form-grid,.payment-grid{grid-template-columns:1fr}}
.bank-payment{margin-top:28px;padding:28px;background:white;border:1px solid var(--line);border-radius:8px}.payment-qr{display:block;width:min(100%,420px);height:auto;margin:12px auto}.bank-payment ol{padding-left:24px}

.qr-crop{position:relative;display:block;width:min(70%,210px);aspect-ratio:1;overflow:hidden;margin:20px auto;background:#fff}.qr-crop .payment-qr{position:absolute;width:272.222%;max-width:none;height:auto;left:-86.111%;top:-86.111%;margin:0}

.faculty-grid{align-items:start}.full-biography p{font-size:15px;line-height:1.8}.full-biography summary{font-weight:600;cursor:pointer}
