.openingPage{--opening-ink:#102e4a;--opening-blue:#167eb2;color:var(--opening-ink);background:#fff}.openingPage *{box-sizing:border-box}.openingPage h1,.openingPage h2,.openingPage h3{line-height:1.12;letter-spacing:-.035em}.openingPage p{line-height:1.65}.openingHero{max-width:1400px;margin:auto;padding:64px 5vw 48px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.openingHero h1{font-size:clamp(46px,5vw,72px);margin:16px 0 24px}.openingHero>div>p:not(.eyebrow){max-width:530px;font-size:18px}.openingHero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.openingHero figure{margin:0}.openingHero img{width:100%;height:500px;object-fit:cover;object-position:center;border-radius:130px 20px 20px 20px}.openingHero figcaption{font-size:13px;padding-top:12px;color:#52687b}.openingHero .openingCaption{font-size:14px!important;font-weight:700;margin-top:28px}.openingWelcome{max-width:850px;margin:20px auto 70px;padding:36px 24px;text-align:center}.openingWelcome h2,.openingCalendarHead h2,.openingStart h2{font-size:clamp(30px,3vw,43px);margin:12px 0 18px}.openingWelcome>p{font-size:18px}.openingWelcome .openingNotice{font-size:14px;background:#edf7fb;border-radius:12px;padding:18px 24px;margin-top:28px}.openingCalendar{padding:60px max(24px,5vw);background:#f3f8fa}.openingCalendarHead,.openingSeasons,.openingSeason{max-width:1240px;margin-inline:auto}.openingSeasons{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;margin-bottom:64px}.openingSeasons a{padding:10px 20px;border:1px solid #b5d1df;border-radius:24px;background:#fff;color:var(--opening-ink);text-decoration:none;font-size:14px;font-weight:700}.openingSeasons a:hover{background:#dceff8}.openingSeason{scroll-margin-top:30px;margin-bottom:76px}.openingSeason>header{max-width:760px;margin-bottom:30px}.openingSeason>header h2{font-size:clamp(30px,3vw,40px);margin:10px 0 16px}.openingGrid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.openingEvent{background:#fff;border:1px solid #dce7ec;border-radius:18px;overflow:hidden;display:flex;flex-direction:column}.openingEvent>img{width:100%;height:255px;object-fit:cover}.openingEventBody{padding:28px;display:flex;flex-direction:column;flex:1;align-items:flex-start}.openingDate{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#386276;margin:0 0 14px}.openingEvent h3{font-size:30px;margin:0 0 12px}.openingEventBody>p:not(.openingDate){margin:0 0 16px}.openingEventBody .openingEventNote{font-size:13px;color:#5d6d79;padding-top:12px;border-top:1px solid #e4edf1;width:100%;margin-top:auto!important}.openingEvent button{margin-top:8px;text-align:center;white-space:normal}.openingStart{padding:64px max(24px,5vw);max-width:1400px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:50px}.openingStart .actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.openingDialog{color:var(--opening-ink);border:0;border-radius:18px;padding:44px;max-width:550px;width:calc(100% - 36px);box-shadow:0 24px 100px #0b2c4d50}.openingDialog::backdrop{background:#102e4ab8}.openingDialog h2{font-size:32px;padding-right:10px}.openingClose{position:absolute;right:14px;top:10px;font-size:30px;border:0;background:transparent;color:var(--opening-ink);cursor:pointer}.openingDialog .button{margin-top:15px}.openingPage button:focus-visible,.openingPage a:focus-visible{outline:3px solid #d9a124;outline-offset:4px}
@media(max-width:800px){.openingHero{grid-template-columns:1fr;padding:38px 24px;gap:30px}.openingHero img{height:360px;border-top-left-radius:85px}.openingWelcome{margin-bottom:30px;padding-top:10px}.openingGrid{grid-template-columns:1fr}.openingEvent>img{height:260px}.openingStart{grid-template-columns:1fr;gap:20px}.openingSeasons{margin-bottom:40px;gap:8px}.openingSeasons a{font-size:12px;padding:9px 14px}.openingSeason{margin-bottom:50px}.openingEventBody{padding:24px}.openingCalendar{padding-top:42px}.openingDialog{padding:34px 26px}}
@media(prefers-reduced-motion:reduce){.openingPage{scroll-behavior:auto}}
/* One swipeable event at a time in each season. */
.openingSeason .openingGrid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:18px;align-items:stretch}.openingSeason .openingGrid::-webkit-scrollbar{display:none}.openingSeason .openingGrid:focus-visible{outline:3px solid #d9a124;outline-offset:5px}.openingSeason .openingEvent{flex:0 0 100%;min-width:0;scroll-snap-align:start;display:grid;grid-template-columns:44% 56%}.openingSeason .openingEvent>img{height:100%;min-height:390px;max-height:600px;object-fit:cover}.openingSeason .openingEventBody{padding:36px}.openingSliderControls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px}.openingSliderButtons{display:flex;gap:10px}.openingSliderArrow{width:44px;height:44px;border:1px solid #b5d1df;border-radius:50%;background:#fff;color:#102e4a;font-size:23px;cursor:pointer}.openingSliderArrow:hover{background:#dceff8}.openingSliderDots{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.openingSliderDot{width:12px;height:12px;min-width:12px;padding:0;border-radius:50%;border:1px solid #167eb2;background:transparent;cursor:pointer}.openingSliderDot[aria-current="true"]{background:#167eb2}.openingSliderStatus{font-size:13px;color:#52687b;white-space:nowrap;min-width:40px;text-align:right}.openingSliderControls[hidden]{display:none}
@media(max-width:800px){.openingSeason .openingEvent{display:flex;flex-direction:column}.openingSeason .openingEvent>img{height:240px;min-height:0;max-height:none}.openingSeason .openingEventBody{padding:24px;flex:1}.openingSliderControls{gap:10px}.openingSliderDots{gap:8px}.openingSliderArrow{width:40px;height:40px}.openingSeason .openingGrid{gap:16px}}

/* Preserve the storefront banner and every face in the community photo. */
.openingHero img{height:auto;aspect-ratio:3/2;object-fit:contain}.openingSeason .openingEvent>img.openingCommunityPhoto{object-fit:contain;background:#e8f1f5}

.openingSeason .openingEvent>img.openingWinterPostcard{object-fit:contain;background:#dceef7}

.openingSeason .openingEvent>img.openingPancakesPhoto{object-fit:contain;background:#f5f5f3}

.openingSeason .openingEvent>img.openingValentinePostcard{object-fit:contain;background:#fbebe1}

.openingSeason .openingEvent>img.openingMatnessPhoto{object-fit:contain;background:#e8f1f5}

/* Fill the winter photo panels while keeping the logo, titles, and faces in view. */
@media(min-width:1101px){
.openingSeason#winter-events .openingEvent{height:440px}
.openingSeason#winter-events .openingEvent>img{height:440px;min-height:0;max-height:none}
.openingSeason#winter-events .openingEvent>img.openingCommunityPhoto,.openingSeason#winter-events .openingEvent>img.openingWinterPostcard{object-fit:cover;object-position:center}
}
@media(max-width:1100px){
.openingSeason#winter-events .openingEvent{display:flex;flex-direction:column;height:auto}
.openingSeason#winter-events .openingEvent>img{height:auto;min-height:0;max-height:none;aspect-ratio:4/3}
.openingSeason#winter-events .openingEvent>img.openingCommunityPhoto,.openingSeason#winter-events .openingEvent>img.openingWinterPostcard{object-fit:cover;object-position:center}
}
.openingSeason .openingEvent>img.openingParkPostcard,.openingSeason .openingEvent>img.openingTacosPostcard{object-fit:contain;background:#faf3e7}

.openingSeason .openingEvent>img.openingCyberPhoto{object-fit:cover;object-position:54% center}.openingSeason .openingEvent>img.openingMotherPostcard{object-fit:contain;background:#faf3e7}

.openingSeason .openingEvent>img.openingJuneteenthPostcard{object-fit:contain;background:#1b9bac}.openingSeason .openingEvent>img.openingSummerPhoto{object-fit:cover;object-position:50% 40%}

.openingCalendarHead .openingNotice{max-width:760px;margin:0;font-size:16px;color:#52687b}

/* Keep the full Black Business Friday offer visible at every screen size. */
.openingSeason .openingEvent>img.openingBlackFridayPoster{object-fit:contain;background:#000;object-position:center}

/* Allow the confirmed Black Business Friday offer and dates to fit in full. */
@media(min-width:1101px){.openingSeason#winter-events .openingEvent:has(.openingBlackFridayPoster){height:auto;min-height:440px}.openingSeason#winter-events .openingEvent>img.openingBlackFridayPoster{height:100%}}

/* Fit the Cyber Monday program introduction and semester offer without clipping. */
@media(min-width:1101px){.openingSeason#winter-events .openingEvent:has(.openingCyberPhoto){height:auto;min-height:440px}.openingSeason#winter-events .openingEvent>img.openingCyberPhoto{height:100%}}

.openingEventBody .openingOfferList{list-style:disc;padding:16px 0 0 20px;font-size:15px;line-height:1.6;color:var(--opening-ink)}.openingOfferList li{margin-bottom:8px}

/* Keep the full Pilates & Pancakes schedule readable within its slide. */
.openingEventSchedule{width:100%;border-top:1px solid #e4edf1;margin:6px 0 20px;padding-top:18px}.openingEventSchedule h4{font-size:17px;line-height:1.4;margin:0 0 14px}.openingEventSchedule ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.openingEventSchedule li{display:grid;grid-template-columns:128px minmax(0,1fr);gap:12px;font-size:14px;line-height:1.5}.openingEventSchedule small{display:block;font-size:12px;color:#52687b}
@media(min-width:1101px){.openingSeason#winter-events .openingEvent:has(.openingPancakesPhoto){height:auto;min-height:440px}.openingSeason#winter-events .openingEvent>img.openingPancakesPhoto{height:100%}}
@media(max-width:480px){.openingEventSchedule li{grid-template-columns:1fr;gap:3px}}

.openingSeason .openingTextEvent>.openingEventBody{grid-column:1/-1}

.openingBookingActions{display:flex;flex-wrap:wrap;gap:12px;width:100%}.openingBookingActions .button{text-align:center;white-space:normal}@media(max-width:480px){.openingBookingActions{flex-direction:column}.openingBookingActions .button{width:100%}}

.openingSeason#winter-events #black-girl-do-pilates{height:auto;min-height:440px}

.openingSeason#winter-events #black-girl-do-pilates>img.openingBlackGirlsPhoto{height:100%;object-fit:contain;background:#e8e0d6;object-position:center}@media(max-width:1100px){.openingSeason#winter-events #black-girl-do-pilates>img.openingBlackGirlsPhoto{height:auto;aspect-ratio:3/2}}
