:root{--navy:#063870;--deep:#022852;--blue:#3f84bc;--sky:#77bdf1;--ice:#edf6fc;--mist:#f7fafc;--ink:#12304e;--gold:#c7a86b;--line:#d6e4ef;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#fff;margin:0;font-family:Avenir Next,Avenir,Helvetica Neue,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--sky);outline-offset:4px}img{max-width:100%;height:auto}.shell{width:min(var(--max),calc(100% - 42px));margin-inline:auto}.site-header{border-bottom:1px solid var(--line);background:#fff}.header-inner{justify-content:space-between;align-items:center;gap:20px;min-height:100px;display:flex}.logo{object-fit:contain;object-position:left;width:151px;height:94px}.back-link{color:var(--navy);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--sky);padding-bottom:3px;font-size:.8rem;font-weight:650}.back-link span{margin-left:6px}.intro{border-bottom:1px solid var(--line);background:radial-gradient(circle at 85% 35%,#77bdf12e,#0000 34%),linear-gradient(#fff,#f6fbfe);position:relative;overflow:hidden}.intro-inner{align-items:center;min-height:310px;padding-block:45px;display:flex;position:relative}.intro-inner>div:first-child{z-index:1;max-width:720px}.intro-mark{opacity:.085;width:min(390px,42vw);position:absolute;top:-80px;right:4%}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--blue);align-items:center;gap:12px;margin:0 0 14px;font-size:.73rem;font-weight:650;display:flex}.eyebrow:before{content:"";background:currentColor;width:32px;height:1px}h1,h2,h3,p{margin-top:0}h1,h2{color:var(--navy);font-family:Optima,Palatino Linotype,Palatino,serif;font-weight:400;line-height:1.1}h1{letter-spacing:-.06em;margin:0 0 18px;font-family:Avenir Next,Avenir,Helvetica Neue,Arial,sans-serif;font-size:clamp(3rem,7vw,6.3rem);font-weight:300}h1 em{color:var(--sky);font-family:Optima,serif;font-weight:400}.lead{color:#4c6c86;max-width:630px;margin:0;font-size:clamp(1rem,2vw,1.27rem);line-height:1.65}.rehearsal-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding-block:44px 65px;display:grid}.rehearsal-card{border:1px solid var(--line);background:#fff;min-height:280px;padding:30px 34px;box-shadow:0 17px 45px #042f590f}.rehearsal-card:nth-child(2){border-top:3px solid var(--gold)}.card-top{justify-content:space-between;align-items:flex-start;display:flex}.card-index{color:#dcebf5;font-family:Optima,serif;font-size:2.4rem;line-height:1}.rehearsal-card h2{margin:5px 0;font-size:clamp(2rem,3.5vw,3rem)}.card-date{color:var(--blue);margin-bottom:20px;font-size:.92rem}.quiet{color:#607b91;max-width:400px;line-height:1.6}.work-items{margin:22px 0 0;padding:0;list-style:none}.work-items li{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:3px 12px;padding:10px 0;display:flex}.work-items strong{color:var(--navy);font-size:.98rem;font-weight:650}.work-items span{color:#607b91;font-size:.86rem}.singer-note{border-left:2px solid var(--gold);margin-top:19px;padding:2px 0 2px 17px}.singer-note span{color:var(--blue);letter-spacing:.15em;text-transform:uppercase;font-size:.7rem;font-weight:700}.singer-note p{white-space:pre-wrap;margin:5px 0 0}.concert-highlight{background:var(--deep);color:#fff;justify-content:space-between;align-items:center;gap:24px;margin-bottom:55px;padding:25px 32px;display:flex;position:relative;overflow:hidden}.concert-highlight .eyebrow{color:var(--gold);margin-bottom:7px}.concert-highlight h2{color:#fff;margin:0 0 7px;font-size:clamp(1.7rem,3vw,2.4rem)}.concert-highlight p{color:#d4e6f4;margin:0;font-size:.94rem}.concert-star{color:var(--gold);opacity:.75;font-family:Optima,serif;font-size:5rem;line-height:1}.calendar-section{padding-block:10px 100px}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:29px;display:flex}.section-heading h2{margin:0;font-size:clamp(2.7rem,5vw,4.6rem)}.section-heading>p{color:#668099;max-width:300px;margin:0 0 6px;font-size:.95rem}.event-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.event{border-bottom:1px solid var(--line);grid-template-columns:200px minmax(0,1fr);gap:35px;padding:22px 0;display:grid}.event-date strong{color:var(--navy);font-size:1.04rem;display:block}.event-date span{color:#607b91;font-size:.86rem}.event-copy{border-left:2px solid var(--sky);padding-left:20px}.event-concert .event-copy{border-left-color:var(--gold)}.event-general .event-copy{border-left-color:var(--navy)}.event-type{text-transform:uppercase;letter-spacing:.16em;color:var(--blue);font-size:.7rem;font-weight:750}.event-copy h3{color:var(--navy);margin:3px 0 4px;font-family:Optima,serif;font-size:1.55rem;font-weight:400}.event-copy p{color:#607b91;margin:0;font-size:.9rem}.event-copy .event-detail{color:var(--ink);margin-top:8px}.empty-calendar{border:1px solid var(--line);background:var(--mist);color:#607b91;padding:30px}.more-dates{margin-top:19px}.more-dates summary{cursor:pointer;border:1px solid var(--line);color:var(--navy);padding:14px 18px;font-weight:650;list-style-position:inside}.more-dates summary:focus-visible{outline:3px solid var(--sky);outline-offset:3px}.more-dates .event-list{margin-top:20px}footer{background:var(--deep);color:#dceaf5}.footer-inner{justify-content:space-between;align-items:center;gap:28px;min-height:165px;display:flex}.footer-inner img{filter:brightness(0)invert();opacity:.88;width:120px}.footer-inner>div{flex-wrap:wrap;gap:22px;font-size:.78rem;display:flex}.footer-inner a:hover{color:var(--sky)}.footer-inner small{color:#a9bed0;font-size:.72rem}@media (max-width:760px){.intro-inner{min-height:280px}.intro-mark{width:240px;top:-5px;right:-70px}.rehearsal-section{grid-template-columns:1fr;gap:15px;padding-block:24px 55px}.rehearsal-card{min-height:0;padding:24px}.section-heading{display:block}.section-heading>p{margin-top:12px}.event{grid-template-columns:118px minmax(0,1fr);gap:12px}.event-copy{padding-left:13px}.event-copy h3{font-size:1.3rem}.footer-inner{flex-direction:column;align-items:flex-start;gap:16px;padding-block:28px}}@media (max-width:440px){.header-inner{min-height:78px}.logo{width:110px;height:73px}.back-link{font-size:.65rem}.intro-inner{min-height:240px;padding-block:34px}.lead{font-size:1rem}.event{grid-template-columns:1fr;gap:7px}.event-date{gap:10px;display:flex}.event-copy{margin-left:2px}.rehearsal-card h2{font-size:2.1rem}.concert-highlight{padding:22px}.concert-star{display:none}}
