:root{--ink:#101a24;--navy:#142534;--cream:#f3eee4;--paper:#faf8f3;--gold:#e0ae5a;--rust:#9d3e28;--line:rgba(16,26,36,.18);--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.7rem 1rem;z-index:100}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{height:92px;padding:0 clamp(1.25rem,5vw,5rem);position:absolute;inset:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}.site-header.solid{position:relative;background:var(--navy)}.brand{display:flex;align-items:center;gap:.8rem;line-height:1}.brand-mark{width:42px;height:42px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.8rem;font-style:italic}.brand strong{font-family:var(--serif);font-size:1.45rem;font-weight:400;display:block}.brand small{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase}.site-header nav{display:flex;align-items:center;gap:2rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.site-header nav a:not(.nav-cta){border-bottom:1px solid transparent}.site-header nav a:hover{border-color:currentColor}.nav-cta{padding:.75rem 1.2rem;border:1px solid rgba(255,255,255,.6);border-radius:100px}.menu-button{display:none;background:none;border:0;padding:.5rem}.menu-button span:not(.sr-only){display:block;width:25px;height:1px;margin:5px;background:#fff}.back-link{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
.hero{min-height:94vh;position:relative;display:grid;align-items:end;color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('../images/orchestra-wide.avif') center 40%/cover no-repeat;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,16,25,.86),rgba(7,16,25,.38) 60%,rgba(7,16,25,.12)),linear-gradient(0deg,rgba(7,16,25,.5),transparent 55%)}.hero-content{position:relative;z-index:1;max-width:1050px;padding:11rem clamp(1.25rem,8vw,8rem) 7rem}.eyebrow{margin:0 0 1.2rem;color:var(--gold);font-size:.68rem;letter-spacing:.23em;text-transform:uppercase;font-weight:600}.eyebrow.dark{color:var(--rust)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:.93;letter-spacing:-.025em}h1{font-size:clamp(4.2rem,9.5vw,9rem);margin-bottom:2rem}h2{font-size:clamp(3.2rem,6vw,6.4rem);margin-bottom:1.5rem}em{font-weight:400;color:var(--gold)}.hero-copy{max-width:610px;font-size:clamp(1.05rem,2vw,1.25rem);color:rgba(255,255,255,.82)}.hero-actions,.join-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2.2rem;flex-wrap:wrap}.button{display:inline-flex;gap:2.5rem;align-items:center;justify-content:space-between;padding:1rem 1.4rem;border-radius:2px;text-transform:uppercase;font-size:.72rem;letter-spacing:.12em;font-weight:600}.button-gold{background:var(--gold);color:var(--ink)}.button-dark{background:var(--ink);color:#fff}.button-outline{border:1px solid var(--ink)}.text-link{padding:.65rem 0;border-bottom:1px solid currentColor;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}.hero-note{position:absolute;right:-2rem;bottom:-10rem;color:rgba(255,255,255,.06);font-size:29rem;line-height:1}
.section{padding:clamp(5rem,10vw,10rem) clamp(1.25rem,8vw,8rem)}.intro{display:grid;grid-template-columns:80px minmax(300px,1fr) minmax(300px,.8fr);gap:4vw}.section-number{font-family:var(--serif);color:var(--rust);font-size:1.3rem}.intro h2 em,.join h2 em{color:var(--rust)}.intro-copy{padding-top:3rem}.intro-copy p{color:#4c5459;max-width:610px}.intro-copy .lead{font-family:var(--serif);font-size:1.7rem;line-height:1.35;color:var(--ink)}.stat-row{border-top:1px solid var(--line);margin-top:3rem;padding-top:2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat-row strong{font-family:var(--serif);font-size:2.6rem;display:block;font-weight:400}.stat-row span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#687078}
.image-break{height:min(72vw,760px);min-height:480px;background:url('../images/orchestra-rehearsal.avif') center/cover no-repeat;position:relative;display:flex;align-items:flex-end;padding:clamp(1.25rem,5vw,5rem)}.image-break:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(9,17,24,.7))}.image-caption{width:100%;display:flex;justify-content:space-between;position:relative;z-index:1;color:#fff;font-family:var(--serif);font-size:clamp(2rem,4vw,4.5rem);font-style:italic}
.events{background:var(--navy);color:#fff}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:4rem}.section-heading h2{margin:0}.event-card{border-top:1px solid rgba(255,255,255,.22);padding:2.3rem 0;display:grid;grid-template-columns:140px 1fr 60px;align-items:center;gap:2rem}.event-card:last-child{border-bottom:1px solid rgba(255,255,255,.22)}.event-date{display:flex;align-items:center;gap:1rem}.event-date strong{font-family:var(--serif);font-weight:400;font-size:3rem;line-height:1}.event-date span{text-transform:uppercase;font-size:.65rem;letter-spacing:.12em;color:rgba(255,255,255,.6)}.event-info h3{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);font-weight:400;margin:.3rem 0}.event-info p,.event-info small{color:rgba(255,255,255,.62);margin:0}.event-tag{color:var(--gold);font-size:.65rem;letter-spacing:.16em;text-transform:uppercase}.circle-link{width:50px;height:50px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:grid;place-items:center;font-size:1.2rem;transition:.2s}.circle-link:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.events-hero{min-height:560px;background:var(--cream);display:flex;flex-direction:column;justify-content:flex-end}.events-hero h1{font-size:clamp(4rem,8vw,8rem);margin-bottom:1.5rem}.events-hero h1 em{color:var(--rust)}.events-hero>p:last-child{max-width:650px;color:#62696c;font-size:1.1rem}.events-page-list{padding-top:7rem;padding-bottom:7rem}.past-events{background:var(--paper)}.past-events h2{color:var(--ink)}.past-events h2 em{color:var(--rust)}.archive-card{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2.5rem 0;margin-bottom:3rem;display:grid;grid-template-columns:180px 1fr;gap:3rem}.archive-date strong{display:block;font:400 4rem/1 var(--serif);color:var(--rust)}.archive-date span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#73797b}.archive-card h3{font:400 clamp(2rem,4vw,3.5rem) var(--serif);margin:.35rem 0}.archive-card p,.archive-card small{color:#686f72}.past-events .event-tag{color:var(--rust)}
.archive-detail-link{display:inline-block;margin-top:1.4rem}.event-detail-hero{height:clamp(620px,82vh,860px);position:relative;display:flex;align-items:flex-end;overflow:hidden;color:#fff}.event-detail-photo{position:absolute;inset:0;background:url('../images/orchestra-wide.avif') center 38%/cover no-repeat;transform:scale(1.015)}.event-detail-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,16,25,.9),rgba(7,16,25,.28) 72%),linear-gradient(0deg,rgba(7,16,25,.74),transparent 55%)}.event-detail-heading{position:relative;z-index:1;padding:9rem clamp(1.25rem,8vw,8rem) 5rem;width:100%}.event-detail-heading .back-link{display:inline-block;border-bottom:1px solid currentColor;margin-bottom:5rem}.event-detail-heading h1{font-size:clamp(4rem,8vw,8.6rem);margin:0}.event-detail-body{display:grid;grid-template-columns:minmax(230px,.55fr) minmax(420px,1.25fr);gap:clamp(3rem,9vw,10rem);background:var(--cream)}.event-date-poster{min-height:470px;background:var(--rust);color:#fff;padding:2rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-transform:uppercase;letter-spacing:.14em}.event-date-poster strong{font:400 clamp(8rem,17vw,15rem)/.75 var(--serif)}.event-date-poster span,.event-date-poster small{font-size:.72rem}.poster-rule{width:1px;height:65px;background:rgba(255,255,255,.5);margin:1.5rem 0}.event-detail-copy h2 em{color:var(--rust)}.event-lead{font:400 1.6rem/1.4 var(--serif);max-width:640px}.event-facts{border-top:1px solid var(--line);margin-top:3rem}.event-facts div{display:grid;grid-template-columns:130px 1fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}.event-facts span{font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;color:#747b7d}.event-facts strong{font-weight:500}.event-detail-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.5rem}.event-closing{background:var(--navy);color:#fff;padding:5rem clamp(1.25rem,8vw,8rem);display:flex;justify-content:space-between;gap:2rem;font:400 clamp(2rem,4vw,4.5rem)/1 var(--serif)}.event-closing p{margin:0}.event-closing em{color:var(--gold)}
.event-calendar{margin:6rem 0 7rem;padding:clamp(1.5rem,4vw,3rem);background:#f4e7bf;color:var(--ink)}.calendar-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.calendar-heading h2{margin:0;color:var(--ink)}.calendar-heading>p{margin:0;color:#646765}.calendar-heading>p strong{color:var(--rust);font:400 1.45rem var(--serif);margin-right:.5rem}.calendar-controls{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:1rem}.calendar-controls h3{margin:0;text-align:center;font:400 clamp(2rem,4vw,3.2rem) var(--serif)}.calendar-controls button{width:44px;height:44px;border:1px solid rgba(10,28,41,.25);background:transparent;color:var(--ink);font-size:1.25rem;cursor:pointer}.calendar-controls button:disabled{opacity:.25;cursor:default}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid rgba(10,28,41,.2);border-left:1px solid rgba(10,28,41,.2)}.calendar-grid>span,.calendar-grid>a{min-height:74px;padding:.7rem;border-right:1px solid rgba(10,28,41,.2);border-bottom:1px solid rgba(10,28,41,.2);color:#596065}.calendar-grid .calendar-day-name{min-height:auto;color:var(--rust);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}.calendar-grid .calendar-empty{background:rgba(255,255,255,.2)}.calendar-rehearsal-day{background:rgba(255,255,255,.52);color:var(--ink)!important;font:400 1.35rem var(--serif)}.calendar-rehearsal-day small,.calendar-event-day small{display:block;font:500 .56rem var(--sans);letter-spacing:.08em;text-transform:uppercase;margin-top:.2rem}.calendar-rehearsal-day:hover{background:#fff}.calendar-event-day{background:var(--rust);color:#fff!important;font:400 1.5rem var(--serif)}.calendar-legend{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1.2rem;color:#646765;font-size:.72rem}.calendar-legend span{display:flex;align-items:center;gap:.5rem}.calendar-legend i{width:12px;height:12px;display:inline-block}.legend-rehearsal{background:#fff}.legend-event{background:var(--rust)}.event-detail-photo.classical-photo{background-image:url('../images/full-orchestra-stage.jpg')}.event-detail-photo.workshop-photo{background-image:url('../images/saturday-rehearsal-angle.jpg')}.event-detail-photo.jazz-photo{background-image:url('../images/winds-in-concert.jpg')}
.join{min-height:680px;background:var(--gold);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;overflow:hidden}.join-art{height:430px;position:relative;font-family:var(--serif);font-size:10rem;color:rgba(16,26,36,.75)}.join-art span{position:absolute}.join-art span:first-child{left:0;top:-1rem;font-size:17rem}.join-art span:nth-child(2){right:4rem;bottom:0}.join-art span:nth-child(3){left:42%;top:30%;font-size:7rem;color:var(--rust)}.join-content p:not(.eyebrow){max-width:570px}.join-content .eyebrow{color:var(--ink)}
footer{background:#0a131b;color:#fff;padding:4rem clamp(1.25rem,8vw,8rem);display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:3rem;align-items:start}footer p{color:rgba(255,255,255,.58);max-width:420px}.footer-links{display:flex;flex-direction:column;gap:.5rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.footer-links a:hover{color:var(--gold)}footer>small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:1.5rem;color:rgba(255,255,255,.45)}
.checkin-page{background:var(--cream)}.checkin-main{padding:clamp(5rem,8vw,8rem) clamp(1.25rem,8vw,8rem);display:grid;grid-template-columns:minmax(260px,.7fr) minmax(430px,1.3fr);gap:8vw}.checkin-intro{position:sticky;top:4rem;align-self:start}.checkin-intro h1{font-size:clamp(4rem,7vw,7rem)}.checkin-intro h1 em{color:var(--rust)}.checkin-intro>p:not(.eyebrow){max-width:450px;color:#5b6062}.rehearsal-meta{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.5rem;display:flex;flex-direction:column;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;gap:.4rem}.roster-card{background:var(--paper);padding:clamp(1.5rem,4vw,3.5rem);box-shadow:0 25px 60px rgba(16,26,36,.08)}.roster-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:2rem}.roster-head h2{font-size:3.5rem;margin:0}.attendance-count{text-align:right}.attendance-count strong{font-family:var(--serif);font-size:3rem;font-weight:400;display:block;line-height:1}.attendance-count span{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.person{display:grid;grid-template-columns:35px 45px 1fr auto;gap:1rem;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--line);cursor:pointer}.person input{position:absolute;opacity:0}.checkmark{width:30px;height:30px;border:1px solid #8c9294;border-radius:50%;display:grid;place-items:center;color:transparent}.person input:checked+.checkmark{background:var(--rust);border-color:var(--rust);color:#fff}.person-number{font-family:var(--serif);color:#93989a}.person strong{font-family:var(--serif);font-size:1.5rem;font-weight:400}.person small{color:#767c7e}.person:has(input:checked){color:var(--rust)}.checkin-confirmation{opacity:0;transform:translateY(5px);color:#496a50;background:#e7efe4;padding:.8rem 1rem;margin-top:1.5rem;font-size:.8rem;transition:.2s}.checkin-confirmation.show{opacity:1;transform:none}.checkin-footer{padding-top:2.5rem;padding-bottom:2.5rem;display:flex;justify-content:space-between;grid-template-columns:none}.checkin-footer small{grid-column:auto;border:0;padding:0}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.site-header{height:76px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;padding:1.5rem;background:var(--navy);flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.intro{grid-template-columns:1fr}.section-number{display:none}.intro-copy{padding-top:0}.event-card{grid-template-columns:100px 1fr 45px}.event-detail-body{grid-template-columns:1fr}.event-date-poster{min-height:330px}.event-closing{flex-direction:column}.join{grid-template-columns:1fr}.join-art{display:none}footer{grid-template-columns:1fr 1fr}.checkin-main{grid-template-columns:1fr}.checkin-intro{position:static}.checkin-footer{display:block}}
@media(max-width:560px){h1{font-size:3.7rem}.hero{min-height:820px}.hero-content{padding-bottom:5rem}.hero-actions{align-items:flex-start;flex-direction:column}.section-heading{display:block}.section-heading .text-link{display:inline-block;margin-top:1rem}.image-caption span:nth-child(2){display:none}.event-card{grid-template-columns:1fr 44px}.event-date,.event-info{grid-column:1}.circle-link{grid-column:2;grid-row:1/3}.archive-card{grid-template-columns:1fr;gap:1.5rem}.stat-row strong{font-size:2rem}.person{grid-template-columns:34px 1fr}.person-number{display:none}.person small{grid-column:2}.roster-head h2{font-size:2.5rem}footer{grid-template-columns:1fr}.checkin-footer{display:block}}
.event-calendar{background:var(--cream)}
@media(max-width:560px){.calendar-heading{display:block}.calendar-heading>p{margin-top:1rem}.calendar-grid>span,.calendar-grid>a{min-height:48px;padding:.4rem;font-size:.75rem}.calendar-grid .calendar-day-name{font-size:.5rem}.calendar-event-day small{font-size:.46rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Authentic AmeriCal photography */
.hero-image{background-image:url('../images/conductor-and-orchestra.jpg');background-position:center 42%}.image-break{background-image:url('../images/full-orchestra-stage.jpg')}.photo-story{background:var(--paper)}.photo-story-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:end;margin-bottom:3rem}.photo-story-heading .eyebrow{grid-column:1/-1;margin-bottom:0}.photo-story-heading h2{margin:0}.photo-story-heading h2 em{color:var(--rust)}.photo-story-heading>p:last-child{color:#697073;max-width:460px}.photo-mosaic{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:300px 300px;gap:1rem}.photo-mosaic figure{margin:0;overflow:hidden}.photo-mosaic img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s ease}.photo-mosaic figure:hover img{transform:scale(1.025)}.photo-mosaic .photo-large{grid-row:1/3}.photo-mosaic .photo-wide{display:none}

/* Educational rehearsal detail */
.rehearsal-hero{min-height:760px;background:var(--navy);color:#fff;display:grid;grid-template-columns:.9fr 1.1fr}.rehearsal-hero-copy{padding:clamp(5rem,8vw,9rem) clamp(1.25rem,6vw,7rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.rehearsal-hero-copy .back-link{margin-bottom:5rem;border-bottom:1px solid currentColor}.rehearsal-hero-copy h1{font-size:clamp(4rem,7vw,7.5rem);margin-bottom:2rem}.rehearsal-hero-copy>p:not(.eyebrow){max-width:530px;color:rgba(255,255,255,.72);font-size:1.1rem}.rehearsal-hero-image{min-height:650px;background:url('../images/saturday-rehearsal.jpg') center/cover no-repeat}.rehearsal-information{background:var(--cream);display:grid;grid-template-columns:.55fr 1.2fr;gap:clamp(3rem,9vw,10rem)}.rehearsal-schedule{border-top:1px solid var(--rust);padding-top:1.5rem;align-self:start}.rehearsal-schedule strong{display:inline-block;font:400 clamp(7rem,15vw,13rem)/.75 var(--serif);color:var(--rust)}.rehearsal-schedule>span{font:400 2.5rem var(--serif);color:var(--rust)}.rehearsal-copy h2 em{color:var(--rust)}.registration-note{margin:2rem 0;color:#62696c}.rehearsal-gallery{background:var(--navy);color:#fff}.rehearsal-gallery-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:280px 280px;gap:1rem}.rehearsal-gallery-grid img{width:100%;height:100%;display:block;object-fit:cover}.rehearsal-gallery-grid img:first-child{grid-row:1/3}.rehearsal-gallery-grid img:last-child{object-position:center 38%}

@media(max-width:850px){.photo-story-heading{grid-template-columns:1fr}.photo-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:420px 230px}.photo-mosaic .photo-large{grid-column:1/-1;grid-row:auto}.rehearsal-hero{grid-template-columns:1fr}.rehearsal-hero-image{min-height:520px;grid-row:1}.rehearsal-information{grid-template-columns:1fr}.rehearsal-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:360px 220px}.rehearsal-gallery-grid img:first-child{grid-column:1/-1;grid-row:auto}}
@media(max-width:560px){.photo-mosaic{display:block}.photo-mosaic figure{height:280px;margin-bottom:1rem}.photo-mosaic .photo-large{height:420px}.rehearsal-hero{min-height:0}.rehearsal-hero-image{min-height:430px}.rehearsal-hero-copy .back-link{margin-bottom:3rem}.rehearsal-gallery-grid{display:block}.rehearsal-gallery-grid img{height:280px;margin-bottom:1rem}.rehearsal-gallery-grid img:first-child{height:380px}}

/* Rehearsal layout sizing correction */
.rehearsal-detail-page{overflow:hidden}.rehearsal-hero{width:100%;max-width:1600px;margin:0 auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rehearsal-hero-copy{min-width:0}.rehearsal-hero-copy h1{font-size:clamp(3.8rem,6vw,6.8rem);max-width:760px}.rehearsal-hero-image{width:100%;max-width:800px;justify-self:end}.rehearsal-information,.rehearsal-gallery{width:100%}.rehearsal-gallery-grid{max-width:1380px;margin:0 auto;grid-template-columns:1fr 1fr;grid-template-rows:minmax(260px,430px)}.rehearsal-gallery-grid img,.rehearsal-gallery-grid img:first-child{grid-row:auto;width:100%;height:100%;max-height:430px;object-fit:cover}.rehearsal-gallery-grid img:last-child{object-position:center}
@media(max-width:850px){.rehearsal-hero{grid-template-columns:1fr}.rehearsal-hero-image{max-width:none;justify-self:stretch}.rehearsal-gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(240px,360px))}}
@media(max-width:560px){.rehearsal-gallery-grid{display:grid}.rehearsal-gallery-grid img,.rehearsal-gallery-grid img:first-child{height:100%;margin:0}}

/* Performance gallery */
.rehearsal-gallery .section-heading{max-width:1380px;margin-left:auto;margin-right:auto}.gallery-intro{max-width:430px;color:rgba(255,255,255,.65);align-self:end}.rehearsal-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,280px)}.rehearsal-gallery-grid figure{margin:0;overflow:hidden;min-width:0}.rehearsal-gallery-grid img,.rehearsal-gallery-grid img:first-child{width:100%;height:100%;max-height:none;object-fit:cover;transition:transform .6s ease}.rehearsal-gallery-grid figure:hover img{transform:scale(1.025)}.rehearsal-gallery-grid .gallery-feature{grid-column:span 2}.rehearsal-gallery-grid figure:nth-child(4){grid-column:span 2}.rehearsal-gallery-grid figure:nth-child(5) img{object-position:center 38%}
@media(max-width:850px){.rehearsal-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,260px)}.rehearsal-gallery-grid .gallery-feature,.rehearsal-gallery-grid figure:nth-child(4){grid-column:auto}}
@media(max-width:560px){.rehearsal-gallery .section-heading{display:block}.gallery-intro{margin-top:1.5rem}.rehearsal-gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(7,240px)}}

/* Full-bleed background at wide zoom levels */
.rehearsal-detail-page{width:100%;max-width:none;background:var(--navy)}.rehearsal-hero{position:relative}.rehearsal-hero:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:var(--navy);z-index:0}.rehearsal-hero>*{position:relative;z-index:1}

/* Check-in flow */
.portal-page{background:var(--cream)}.portal-header{position:relative}.portal-shell{min-height:calc(100vh - 92px);padding:clamp(3rem,7vw,7rem) clamp(1.25rem,7vw,7rem);display:grid;grid-template-columns:minmax(250px,.65fr) minmax(500px,1.35fr);gap:clamp(3rem,8vw,9rem);align-items:start}.portal-intro{position:sticky;top:3rem}.portal-intro h1{font-size:clamp(4rem,7vw,7.5rem)}.portal-intro h1 em,.admin-title h1 em{color:var(--rust)}.portal-intro>p:not(.eyebrow){max-width:440px;color:#5d6467}.progress-list{list-style:none;padding:0;margin:3rem 0 0;border-top:1px solid var(--line)}.progress-list li{padding:1rem 0;border-bottom:1px solid var(--line);display:flex;gap:1rem;align-items:center;color:#8a8f91;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.progress-list span{font-family:var(--serif);font-size:1.1rem}.progress-list li.active{color:var(--rust)}.progress-list li.complete{color:#55705a}.flow-card{background:var(--paper);min-height:620px;padding:clamp(1.5rem,5vw,4.5rem);box-shadow:0 25px 70px rgba(16,26,36,.09);scroll-margin-top:1rem}.flow-step{display:none}.flow-step.active{display:block;animation:flow-in .32s ease both}@keyframes flow-in{from{opacity:0;transform:translateY(10px)}}.flow-kicker{color:var(--rust);text-transform:uppercase;letter-spacing:.18em;font-size:.66rem;font-weight:600;margin-bottom:1rem}.flow-step h2{font-size:clamp(3rem,5vw,5.2rem);margin-bottom:.7rem}.flow-help{color:#72787a;margin-bottom:2.5rem}.step-back,.text-button{background:none;border:0;padding:.2rem 0;margin-bottom:2rem;color:#687074;font:600 .7rem var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-bottom:1px solid currentColor}.family-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.family-choice{min-height:250px;padding:1.4rem;text-align:left;background:var(--cream);border:1px solid transparent;display:flex;flex-direction:column;cursor:pointer;color:var(--ink);transition:.2s}.family-choice:hover,.family-choice:focus-visible{background:#fff;border-color:var(--rust);transform:translateY(-3px)}.family-icon{font-family:var(--serif);font-size:4.4rem;line-height:1;color:var(--rust);margin-bottom:auto}.family-choice strong{font:400 2rem var(--serif)}.family-choice small{color:#747a7c;line-height:1.35;min-height:2.7em}.family-choice em{font:600 .6rem var(--sans);color:var(--rust);text-transform:uppercase;letter-spacing:.1em;margin-top:1rem}.section-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.section-choice{padding:1.2rem 0;background:none;border:0;border-bottom:1px solid var(--line);text-align:left;display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;align-items:center;color:var(--ink);cursor:pointer}.section-choice:nth-child(odd){padding-right:1.2rem}.section-choice:nth-child(even){padding-left:1.2rem;border-left:1px solid var(--line)}.section-choice span{font:400 1.5rem var(--serif)}.section-choice small{color:#7a8082}.section-choice b{grid-column:2;grid-row:1/3;color:var(--rust);font-weight:400}.section-choice:hover span{color:var(--rust)}.search-field{border-bottom:1px solid var(--ink);display:flex;align-items:center;margin-bottom:1rem}.search-field input{border:0;background:none;padding:1rem 0;width:100%;font:inherit;outline:0}.search-field>span:last-child{font:2rem var(--serif)}.member-list{max-height:420px;overflow:auto}.member-choice{width:100%;padding:1rem .25rem;border:0;border-bottom:1px solid var(--line);background:none;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:1rem;text-align:left;color:var(--ink);cursor:pointer}.member-choice:hover{background:#fff}.member-avatar{width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:1.1rem var(--serif)}.member-choice strong,.member-choice small{display:block}.member-choice strong{font:400 1.35rem var(--serif)}.member-choice small{color:#7a8082}.member-choice b{color:var(--rust)}.no-results{padding:2rem 0;color:#72787a}.member-summary{display:flex;align-items:center;gap:1rem;background:var(--cream);padding:1.2rem;margin:1.5rem 0 2rem}.summary-check{width:38px;height:38px;border-radius:50%;background:#dfe9de;color:#416548;display:grid;place-items:center}.member-summary strong,.member-summary small{display:block}.member-summary strong{font:400 1.5rem var(--serif)}.member-summary small{color:#73797b}.member-summary button{margin-left:auto;background:none;border:0;border-bottom:1px solid currentColor;text-transform:uppercase;font-size:.65rem;letter-spacing:.1em;cursor:pointer}.form-field{display:block;margin-bottom:1.6rem}.form-field>span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.5rem;font-weight:600}.form-field input,.form-field select{width:100%;padding:1rem;border:1px solid #bbc0bf;background:#fff;font:inherit;color:var(--ink);border-radius:0}.form-field small{display:block;color:#7b8182;margin-top:.4rem}.submit-checkin{border:0;width:100%;cursor:pointer}.success-step{text-align:center;padding-top:2rem}.success-step h2{max-width:620px;margin-left:auto;margin-right:auto}.success-step>p:not(.flow-kicker){color:#6e7476;max-width:500px;margin:0 auto 2rem}.status-orbit{width:90px;height:90px;border:1px solid var(--rust);border-radius:50%;display:grid;place-items:center;margin:0 auto 2rem;box-shadow:0 0 0 12px rgba(157,62,40,.07)}.status-orbit span{font-size:2rem;color:var(--rust)}.receipt{text-align:left;border-top:1px solid var(--line);margin:2rem auto;max-width:520px}.receipt div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.receipt span{color:#73797b;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.receipt strong{font-weight:500}.pending-text{color:#a0681e}.checkin-footer{padding-top:2.5rem;padding-bottom:2.5rem;display:flex;justify-content:space-between;grid-template-columns:none}.checkin-footer small{grid-column:auto;border:0;padding:0}

/* Attendance admin */
.admin-page{background:var(--cream)}.admin-header-actions{display:flex;align-items:center;gap:1.5rem}.prototype-label{padding:.35rem .65rem;border:1px solid rgba(255,255,255,.35);border-radius:2rem;font-size:.6rem;text-transform:uppercase;letter-spacing:.12em}.admin-main{padding:clamp(3rem,6vw,6rem) clamp(1.25rem,6vw,6rem)}.admin-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:3rem}.admin-title h1{font-size:clamp(4rem,7vw,7rem);margin:0}.admin-date{text-align:right}.admin-date span{display:block;color:#777d7f;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.admin-date strong{font:400 1.5rem var(--serif)}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy);color:#fff;margin-bottom:1.5rem}.admin-metrics div{padding:1.5rem 2rem;border-right:1px solid rgba(255,255,255,.16)}.admin-metrics span{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.6)}.admin-metrics strong{display:block;font:400 3rem var(--serif);line-height:1.1}.admin-panel{background:var(--paper);box-shadow:0 20px 55px rgba(16,26,36,.08)}.admin-toolbar{padding:1.2rem 1.5rem;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:1rem}.status-tabs{display:flex;gap:.4rem}.status-tabs button{border:0;background:none;padding:.6rem .85rem;font:600 .67rem var(--sans);text-transform:uppercase;letter-spacing:.08em;color:#72787a;cursor:pointer}.status-tabs button.active{background:var(--ink);color:#fff}.admin-date-filter{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.admin-date-filter select{margin-left:.5rem;padding:.55rem;border:1px solid var(--line);background:#fff}.attendance-table-wrap{overflow:auto}.attendance-table{width:100%;border-collapse:collapse;min-width:900px}.attendance-table th,.attendance-table td{padding:1rem 1.3rem;border-bottom:1px solid var(--line);text-align:left}.attendance-table th{font-size:.63rem;text-transform:uppercase;letter-spacing:.1em;color:#747a7c;background:#f1eee7}.attendance-table td{font-size:.86rem}.attendance-table td strong,.attendance-table td small{display:block}.attendance-table td strong{font:400 1.2rem var(--serif)}.attendance-table td small{color:#858a8c}.attendance-table code{font:600 .8rem var(--sans);letter-spacing:.14em;background:var(--cream);padding:.35rem .55rem}.status-pill{display:inline-block;padding:.3rem .65rem;border-radius:2rem;text-transform:capitalize;font-size:.68rem;font-weight:600}.status-pill.pending{background:#f5e8ce;color:#8b5a15}.status-pill.approved{background:#dfebdf;color:#416548}.status-pill.rejected{background:#f1dcda;color:#943e34}.review-actions{display:flex;gap:.35rem}.review-actions button{padding:.45rem .7rem;border:1px solid var(--line);background:#fff;font:600 .63rem var(--sans);text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.review-actions .approve-button{background:#46694d;color:#fff;border-color:#46694d}.review-actions .reject-button{color:#9d3e28}.empty-state{text-align:center;padding:5rem 1rem}.empty-state[hidden]{display:none}.empty-state>span{font:4rem var(--serif);color:var(--gold)}.empty-state h2{font-size:2.5rem;margin:.5rem}.empty-state p{color:#7a8082}.prototype-note{max-width:760px;margin:1.5rem auto 0;text-align:center;color:#73797b;font-size:.78rem}
@media(max-width:900px){.portal-shell{grid-template-columns:1fr}.portal-intro{position:static}.progress-list{display:grid;grid-template-columns:repeat(4,1fr)}.progress-list li{display:block;text-align:center;border-right:1px solid var(--line);font-size:.58rem}.progress-list span{display:block}.admin-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.portal-header .brand small,.admin-header-actions .prototype-label{display:none}.portal-shell{padding-top:3rem}.family-grid{grid-template-columns:1fr}.family-choice{min-height:180px}.family-icon{font-size:3.2rem}.section-grid{grid-template-columns:1fr}.section-choice:nth-child(n){padding-left:0;padding-right:0;border-left:0}.progress-list li{font-size:0}.progress-list li span{font-size:1rem}.flow-card{min-height:560px}.admin-title{display:block}.admin-date{text-align:left;margin-top:1rem}.admin-toolbar{align-items:stretch;flex-direction:column}.status-tabs{overflow:auto}.admin-metrics div{padding:1rem}.admin-metrics strong{font-size:2.2rem}}

/* Orchestra application */
.join-form-page{background:var(--cream)}.application-shell{padding:clamp(4rem,8vw,8rem) clamp(1.25rem,8vw,8rem);display:grid;grid-template-columns:minmax(270px,.8fr) minmax(460px,1.2fr);gap:clamp(3rem,8vw,9rem);align-items:start}.application-intro{position:sticky;top:3rem}.application-intro .back-link{display:inline-block;margin-bottom:4rem;border-bottom:1px solid currentColor}.application-intro h1{font-size:clamp(4rem,7vw,7.5rem)}.application-intro h1 em,.application-success h2 em{color:var(--rust)}.application-intro>p:not(.eyebrow){color:#61686b;max-width:500px}.application-note{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.5rem;display:flex;flex-direction:column;color:#6b7274}.application-note strong{color:var(--ink);margin-bottom:.5rem}.application-card{background:var(--paper);padding:clamp(1.5rem,4vw,4rem);box-shadow:0 25px 70px rgba(16,26,36,.09)}.application-card h2{font-size:clamp(3rem,5vw,5rem)}.application-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}.application-full{grid-column:1/-1}.clip-field input{padding:1.5rem;background:var(--cream);border-style:dashed}.application-consent{display:flex;gap:.8rem;align-items:flex-start;margin:.4rem 0 2rem;color:#62696c;font-size:.85rem}.application-consent input{margin-top:.35rem}.submit-application{border:0;width:100%;cursor:pointer}.submit-application:disabled{opacity:.6;cursor:wait}.form-status{margin:1rem 0 0;font-size:.85rem}.form-status:empty{display:none}.form-status.error{color:#943e34}.form-status.working{color:#8b5a15}.application-success{text-align:center;padding:3rem 0}.application-success>span{width:76px;height:76px;border:1px solid var(--rust);border-radius:50%;display:grid;place-items:center;margin:0 auto 2rem;color:var(--rust);font-size:2rem}.application-success p{color:#687074;max-width:430px;margin:0 auto 2rem}
@media(max-width:850px){.application-shell{grid-template-columns:1fr}.application-intro{position:static}}@media(max-width:560px){.application-grid{grid-template-columns:1fr}.application-full{grid-column:auto}.application-intro .back-link{margin-bottom:2.5rem}}

/* Members */
.members-page{background:var(--paper)}.members-hero{min-height:610px;background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.members-hero h1{margin-bottom:1.5rem}.members-hero>p:last-child{max-width:650px;color:rgba(255,255,255,.68);font-size:1.1rem}.conductor-section{display:grid;grid-template-columns:1.15fr .85fr;min-height:720px;background:var(--gold)}.conductor-photo{background:url('../images/conductor-and-orchestra.jpg') center/cover no-repeat;min-height:560px}.conductor-copy{padding:clamp(4rem,8vw,9rem);display:flex;flex-direction:column;justify-content:center}.conductor-copy .eyebrow{color:var(--ink)}.conductor-copy h2 em{color:var(--rust)}.conductor-copy p:last-child{max-width:480px}.member-roster{background:var(--cream)}.member-roster h2 em{color:var(--rust)}.roster-intro{max-width:430px;color:#687074}.member-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}.member-card{background:var(--paper);min-width:0}.member-photo-placeholder{aspect-ratio:4/5;background:var(--navy);color:rgba(255,255,255,.24);display:flex;align-items:flex-end;padding:1.3rem;position:relative;overflow:hidden}.member-photo-placeholder:before{content:"";position:absolute;width:48%;aspect-ratio:1;border:1px solid rgba(255,255,255,.13);border-radius:50%;left:26%;top:20%}.member-photo-placeholder:after{content:"";position:absolute;width:82%;height:43%;border:1px solid rgba(255,255,255,.13);border-radius:50% 50% 0 0;left:9%;bottom:-12%}.member-photo-placeholder span{font:400 1.3rem var(--serif);position:relative;z-index:1}.member-card-copy{padding:1.4rem}.member-card h3{font:400 2rem var(--serif);margin:0 0 .25rem}.member-card p{color:var(--rust);margin:0}.member-card small{display:block;border-top:1px solid var(--line);margin-top:1rem;padding-top:.8rem;color:#777e80;text-transform:uppercase;letter-spacing:.09em;font-size:.62rem}.members-cta{background:var(--navy);color:#fff;text-align:center}.members-cta h2{max-width:850px;margin-left:auto;margin-right:auto}.members-cta .button{margin-top:1rem}
@media(max-width:950px){.member-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.conductor-section{grid-template-columns:1fr}.conductor-photo{min-height:620px}.conductor-copy{min-height:520px}}@media(max-width:560px){.members-hero{min-height:520px}.member-card-grid{grid-template-columns:1fr}.conductor-photo{min-height:440px}.conductor-copy{min-height:460px}}

/* Member section directory */
.member-directory{display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,2fr);gap:clamp(2rem,5vw,5rem);align-items:start}.member-sections{position:sticky;top:2rem;border-top:1px solid var(--ink)}.directory-label{padding:1.25rem 0 1.5rem;display:flex;justify-content:space-between;gap:1rem;text-transform:uppercase;letter-spacing:.1em;font-size:.64rem}.directory-label strong{color:var(--rust)}.member-sections nav{max-height:68vh;overflow:auto;border-bottom:1px solid var(--line);padding-right:.5rem}.member-family-heading{margin:1.5rem 0 .35rem;color:var(--rust);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.member-section-button{width:100%;border:0;border-top:1px solid var(--line);background:transparent;padding:.85rem .15rem;display:flex;align-items:center;justify-content:space-between;color:var(--ink);font:400 1.3rem var(--serif);cursor:pointer;text-align:left}.member-section-button small{font:500 .62rem var(--sans);color:#7b8183}.member-section-button:hover,.member-section-button.active{color:var(--rust);padding-left:.7rem}.member-section-button.active:before{content:"→";font:400 .8rem var(--sans);margin-right:.45rem}.member-section-button span{margin-right:auto}.member-results{max-height:76vh;overflow:auto;padding-right:.75rem;scrollbar-color:var(--rust) transparent}.member-results-head{position:sticky;top:0;z-index:3;background:var(--cream);display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--ink);padding:0 0 1.2rem;margin-bottom:1.25rem}.member-results-head .eyebrow{margin-bottom:.45rem}.member-results-head h3{font:400 clamp(2.5rem,4vw,4.2rem)/1 var(--serif);margin:0}.member-results-head>span{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:#767d7f}.member-directory .member-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.member-directory .member-photo-placeholder{aspect-ratio:16/10;align-items:flex-end;justify-content:space-between}.member-directory .member-photo-placeholder:before{width:25%;left:37.5%;top:16%}.member-directory .member-photo-placeholder:after{width:54%;height:48%;left:23%;bottom:-18%}.member-initials{width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;color:#fff;font:400 1rem var(--serif)}.member-photo-placeholder small{position:relative;z-index:1;font:400 1rem var(--serif)}.member-directory .member-card-copy{padding:1.15rem 1.25rem}.member-directory .member-card h3{font-size:1.75rem}.member-directory .member-card-copy small{display:flex;justify-content:space-between}.member-directory .member-card-copy small b{font-weight:400;color:var(--ink)}
@media(max-width:850px){.member-directory{grid-template-columns:1fr}.member-sections{position:static}.member-sections nav{display:flex;gap:.5rem;max-height:none;overflow:auto;border:0;padding:0 0 .75rem}.member-family-heading{display:none}.member-section-button{width:auto;flex:0 0 auto;border:1px solid var(--line);padding:.65rem .9rem;font:600 .7rem var(--sans);text-transform:uppercase;letter-spacing:.06em;gap:.7rem}.member-section-button:hover,.member-section-button.active{padding-left:.9rem;background:var(--ink);color:#fff}.member-section-button.active:before{display:none}.member-results{max-height:none;overflow:visible;padding:0}.member-results-head{position:static}}@media(max-width:560px){.member-directory .member-card-grid{grid-template-columns:1fr}.member-results-head{align-items:start}.member-results-head>span{margin-top:.45rem}}

/* Why join */
.join-story-hero{min-height:92vh;position:relative;color:#fff;display:flex;align-items:flex-end;background:url('../images/festival-gala-performance.jpg') center 40%/cover no-repeat}.join-story-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,16,25,.9),rgba(7,16,25,.38) 68%,rgba(7,16,25,.12)),linear-gradient(0deg,rgba(7,16,25,.68),transparent 60%)}.join-story-hero-copy{position:relative;z-index:1;padding:11rem clamp(1.25rem,8vw,8rem) 6rem;max-width:1100px}.join-story-hero h1{font-size:clamp(4.5rem,9vw,9rem);margin-bottom:1.5rem}.join-story-hero-copy>p:not(.eyebrow){max-width:610px;color:rgba(255,255,255,.78);font-size:1.15rem}.join-story-intro{display:grid;grid-template-columns:70px 1.15fr .65fr;gap:4vw;align-items:end;background:var(--cream)}.join-story-intro h2{margin:0}.join-story-intro h2 em,.join-benefit h2 em{color:var(--rust)}.join-story-intro>p:last-child{color:#626a6d;max-width:480px}.join-benefit{display:grid;grid-template-columns:1.1fr .9fr;min-height:720px;background:var(--paper)}.join-benefit.reverse{grid-template-columns:.9fr 1.1fr;background:var(--gold)}.join-benefit.reverse .join-benefit-photo{grid-column:2}.join-benefit.reverse .join-benefit-copy{grid-column:1;grid-row:1}.join-benefit-photo{min-height:620px;background-size:cover;background-position:center}.friends-photo{background-image:url('../images/music-excellence-award.jpg');background-position:center 36%}.stage-photo{background-image:url('../images/purple-stage-performance.jpg')}.rehearsal-photo{background-image:url('../images/saturday-rehearsal-angle.jpg')}.join-benefit-copy{padding:clamp(4rem,8vw,9rem);display:flex;flex-direction:column;justify-content:center}.join-benefit-copy>span{font:400 1.25rem var(--serif);color:var(--rust);border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:3rem}.join-benefit-copy h2{font-size:clamp(3.2rem,5vw,5.7rem)}.join-benefit-copy>p:last-child{max-width:520px;color:#596164}.join-energy{background:var(--rust);color:#fff;display:flex;align-items:center;justify-content:center;gap:clamp(3rem,9vw,10rem)}.join-energy div{border-right:1px solid rgba(255,255,255,.35);padding-right:clamp(3rem,9vw,10rem)}.join-energy strong{display:block;font:400 clamp(7rem,15vw,14rem)/.72 var(--serif)}.join-energy span{text-transform:uppercase;letter-spacing:.14em;font-size:.68rem}.join-energy p{font:400 clamp(2.5rem,5vw,5rem)/1 var(--serif);margin:0}.join-energy em{color:var(--gold)}.join-final-cta{background:var(--navy);color:#fff;text-align:center}.join-final-cta h2{font-size:clamp(4rem,8vw,8rem)}.join-final-cta>p:not(.eyebrow){max-width:560px;margin:0 auto 2rem;color:rgba(255,255,255,.68)}
@media(max-width:850px){.join-story-intro{grid-template-columns:1fr}.join-story-intro .section-number{display:none}.join-benefit,.join-benefit.reverse{grid-template-columns:1fr}.join-benefit.reverse .join-benefit-photo,.join-benefit.reverse .join-benefit-copy{grid-column:auto;grid-row:auto}.join-benefit-photo{min-height:540px}.join-energy{align-items:flex-start;flex-direction:column}.join-energy div{border-right:0;border-bottom:1px solid rgba(255,255,255,.35);padding:0 0 2rem;width:100%}}@media(max-width:560px){.join-story-hero{min-height:800px}.join-story-hero-copy{padding-bottom:4rem}.join-benefit-photo{min-height:420px}.join-benefit-copy{min-height:560px}.join-energy strong{font-size:8rem}}
