.calendar-main{overflow:hidden}.season-intro{display:grid;grid-template-columns:1fr 1.08fr;gap:55px;padding:30px 0 65px;align-items:center}.season-copy h1{font-size:clamp(45px,5.8vw,85px);line-height:1.02;letter-spacing:-4px;margin:24px 0}.season-copy h1 em{color:#d7282f}.season-copy p{margin:25px 0 30px;color:#626262}.calendar-button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;background:#d7282f;color:#fff;border-radius:9px;padding:16px 23px;font-weight:750;font-size:14px;transition:transform .25s,box-shadow .25s}.calendar-button:hover{transform:translateY(-3px);box-shadow:0 8px 22px #d7282f25}.season-photo{position:relative;margin:0;border-radius:18px;overflow:hidden;background:#212121;aspect-ratio:1.1}.season-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.season-photo:hover>img{transform:scale(1.045)}.season-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000d);padding:70px 25px 25px;color:#fff;font-size:12px}.season-photo figcaption>span{display:block;font-size:9px;letter-spacing:2px;margin-bottom:9px}.season-stamp{position:absolute;right:20px;top:20px;padding:14px 19px;background:#d7282f;color:white;font-size:43px;line-height:.91;font-weight:800;letter-spacing:-2px;border-radius:8px}.season-stamp span{display:block;font-size:14px;letter-spacing:2px;line-height:2;margin-top:4px}.season-notice{background:#171719;color:white;border-radius:18px;padding:30px 42px 23px;position:relative;overflow:hidden;scroll-margin-top:130px}.notice-top{display:flex;justify-content:space-between;gap:20px;font-size:10px;font-weight:700;letter-spacing:1.5px;padding-bottom:24px;border-bottom:1px solid #ffffff24}.notice-top>span:first-child{display:flex;align-items:center;gap:10px}.notice-top i{height:7px;width:7px;display:block;border-radius:50%;background:#ef4148;box-shadow:0 0 0 5px #d7282f25;animation:noticePulse 2.8s ease-in-out infinite}.notice-body{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:55px;padding:45px 0}.notice-word{font-size:clamp(65px,8vw,118px);font-weight:800;line-height:.97;letter-spacing:-5px}.notice-word em{color:#ef4148;font-style:normal}.corporate .notice-copy h2{font-size:clamp(26px,3vw,40px);line-height:1.18;letter-spacing:-1px;margin:0;max-width:440px}.corporate .notice-copy p{color:#b9b9be;font-size:15px;max-width:400px;margin:20px 0 27px}.notice-copy a{display:inline-flex;gap:25px;align-items:center;font-size:13px;font-weight:700;padding-bottom:12px;border-bottom:1px solid #ffffff60}.notice-copy a span{transition:transform .2s}.notice-copy a:hover span{transform:translate(3px,-3px)}.notice-bottom{border-top:1px solid #ffffff24;display:flex;justify-content:space-between;padding-top:20px;font-size:10px;letter-spacing:2px;color:#aaa}.calendar-programs{padding:80px 0 40px}.calendar-section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.calendar-section-heading p{font-size:14px;text-align:right}.calendar-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:15px}.calendar-tabs button{position:relative;isolation:isolate;overflow:hidden;background:#f5f5f6;border:1px solid #e8e8eb;border-radius:12px;padding:23px 10px 19px;display:flex;align-items:center;flex-direction:column;gap:14px;transition:border-color .3s,color .3s}.calendar-tabs button:before{content:'';position:absolute;inset:0;background:var(--program-color);z-index:-1;clip-path:circle(0% at var(--bloom-x,50%) var(--bloom-y,50%));transition:clip-path .55s cubic-bezier(.2,.7,.2,1)}.calendar-tabs button:is(:hover,[aria-selected=true]):before{clip-path:circle(150% at var(--bloom-x,50%) var(--bloom-y,50%))}.calendar-tabs button:is(:hover,[aria-selected=true]){color:#fff;border-color:var(--program-color)}.calendar-tabs img{width:115px;height:34px;object-fit:contain;transition:filter .3s}.calendar-tabs button:is(:hover,[aria-selected=true]) img{filter:brightness(0) invert(1)}.calendar-tabs span{font-size:10px;line-height:1.4;min-height:28px;display:flex;align-items:center;text-align:center}.calendar-program-panel{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:390px;background:var(--program-tint);border-radius:18px;padding:40px 50px;gap:35px}.calendar-program-level{font-size:11px;font-weight:700;letter-spacing:1.4px;color:var(--program-color)}.calendar-program-copy h3{font-size:clamp(28px,3.3vw,45px);letter-spacing:-1.5px;line-height:1.1;margin:18px 0}.corporate .calendar-program-copy p{max-width:440px;font-size:15px;color:#555;margin-bottom:20px}.program-pending{display:flex;align-items:center;gap:9px;font-size:12px;color:#666;margin-bottom:25px}.program-pending:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--program-color)}.calendar-program-panel .calendar-button{background:var(--program-color)}.calendar-program-image{height:310px;display:flex;align-items:center;justify-content:center}.calendar-program-image img{width:100%;height:100%;object-fit:contain;animation:calendarFloat 6s ease-in-out infinite}.panel-enter .calendar-program-copy{animation:calendarEnter .4s ease both}.calendar-bottom{padding:45px 0 70px;border-top:1px solid #eee;margin-top:30px;text-align:center}.calendar-bottom>span{font-size:10px;letter-spacing:2px;color:#d7282f;font-weight:700}.calendar-bottom>div{display:flex;gap:24px;align-items:center;justify-content:center;margin-top:28px}.calendar-secondary{font-size:14px;font-weight:700;padding:14px 0;border-bottom:1px solid #ccc}.motion-paused .calendar-main *{animation-play-state:paused!important}@keyframes noticePulse{50%{box-shadow:0 0 0 9px #d7282f08}}@keyframes calendarFloat{50%{transform:translateY(-10px)}}@keyframes calendarEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.season-intro{gap:28px}.season-copy h1{font-size:53px;letter-spacing:-2.5px}.calendar-tabs{grid-template-columns:repeat(3,1fr)}.notice-body{gap:30px}.calendar-program-panel{padding:30px}.season-stamp{font-size:32px}.season-photo{aspect-ratio:.85}}
@media(max-width:640px){.season-intro{grid-template-columns:1fr;padding:15px 0 30px;gap:30px}.season-copy h1{font-size:52px;margin:20px 0}.season-copy p{font-size:15px}.season-photo{aspect-ratio:1.35}.season-notice{padding:24px}.notice-top{font-size:8px;letter-spacing:.7px}.notice-body{grid-template-columns:1fr;gap:30px;padding:30px 0}.notice-word{font-size:70px;letter-spacing:-3px}.corporate .notice-copy h2{font-size:29px}.notice-bottom{font-size:8px;letter-spacing:.7px;gap:8px}.calendar-programs{padding-top:45px}.calendar-section-heading{display:block}.calendar-section-heading p{text-align:left;margin-top:20px}.calendar-tabs{gap:8px}.calendar-tabs button{padding:18px 6px 12px}.calendar-tabs img{width:90px;height:28px}.calendar-tabs span{font-size:9px}.calendar-program-panel{grid-template-columns:1fr;padding:27px;gap:20px}.calendar-program-image{height:240px}.calendar-program-copy h3{font-size:33px}.calendar-bottom>div{flex-direction:column;gap:12px}.calendar-bottom{padding-bottom:40px}.calendar-button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.calendar-main *,.calendar-main *:before{animation:none!important;transition:none!important}}
