.cal-opening{background:var(--pale);padding:28px 0 55px}.cal-opening-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:60px;align-items:center}.cal-opening h1{font-size:clamp(2.4rem,4.4vw,4rem);letter-spacing:-.05em}.cal-opening-grid>div>p:last-child{color:var(--muted);max-width:530px;margin-top:24px;font-size:1.1rem}.cal-year{background:var(--wine);color:#fff;border-radius:16px;padding:35px 40px;position:relative;overflow:hidden}.cal-year::after{content:'';position:absolute;width:230px;height:230px;border:1px solid #ffffff24;border-radius:50%;right:-95px;top:-70px;pointer-events:none}.cal-year>span{font-size:.75rem;letter-spacing:.14em;font-weight:700}.cal-year strong{display:block;font-family:Manrope,sans-serif;font-size:clamp(4rem,8vw,7rem);line-height:1.3;letter-spacing:-.06em}.cal-year a{display:inline-block;margin-top:12px;font-size:.9375rem;text-decoration:underline;text-underline-offset:5px}.cal-text-link{font-weight:700;color:var(--wine);font-size:.9375rem}.cal-months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.cal-months a{text-align:center;border:1px solid var(--line);border-radius:7px;padding:13px 8px;font-size:.9375rem;font-weight:600;color:var(--wine);transition:background .15s}.cal-months a:hover{background:var(--pale)}.cal-months a[aria-current]{background:var(--wine);color:white;border-color:var(--wine)}.cal-caption{font-size:.875rem;color:var(--muted);margin:20px 0 28px}.cal-month{display:grid;grid-template-columns:300px minmax(0,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:25px;scroll-margin-top:180px}.cal-month[hidden]{display:none}.cal-month-cover{background:var(--pale);padding:32px}.cal-month-number{font-size:.8125rem;color:var(--red);font-weight:800;letter-spacing:.12em}.cal-month-cover h3{font-size:2rem;color:var(--wine);margin:20px 0 8px}.cal-month-cover>p{font-size:.875rem;color:var(--muted)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px 0;margin-top:32px;text-align:center;font-size:.8125rem;color:var(--muted)}.cal-grid span{padding:4px 0}.cal-grid .cal-weekday{font-weight:800;color:var(--wine);padding-bottom:10px}.cal-events{padding:12px 30px}.cal-events ol{list-style:none;padding:0;margin:0}.cal-events li{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:start;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.cal-events li:last-child{border:0}.cal-date{font-size:1.1rem;font-weight:800;color:var(--wine);line-height:1.4}.cal-date small{display:block;font-size:.625rem;letter-spacing:.12em;margin-top:5px;color:var(--muted)}.cal-events p{font-size:.9375rem;line-height:1.75;color:var(--ink)}.cal-schedules{background:var(--pale);padding:75px 0}.cal-intro{color:var(--muted);margin-top:18px}.cal-terms{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:35px 0}.cal-terms article{background:white;border:1px solid var(--line);padding:25px;border-radius:9px}.cal-terms article>span{color:var(--red);font-size:.8125rem;font-weight:800}.cal-terms h3{margin:18px 0 10px;font-size:1.125rem}.cal-terms p{font-size:.9375rem;color:var(--muted)}.cal-detail{background:white;border:1px solid var(--line);border-radius:9px;margin-top:14px}.cal-detail>summary{padding:24px 26px;font-weight:700;color:var(--wine);cursor:pointer;font-size:1.125rem}.cal-detail-body{padding:0 26px 26px;min-width:0}.cal-detail-body h3{font-size:1.05rem;margin:25px 0 15px}.cal-detail-body p{color:var(--muted);font-size:.875rem;margin:18px 0;line-height:1.7}.cal-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:6px}.cal-table{border-collapse:collapse;text-align:left;width:100%;min-width:600px;font-size:.875rem}.cal-table th,.cal-table td{padding:15px 18px;border-bottom:1px solid var(--line)}.cal-table thead{background:var(--wine);color:white}.cal-table tbody th{font-weight:600;color:var(--wine)}.cal-table tbody tr:nth-child(even){background:var(--pale)}.cal-table tbody tr:last-child>*{border-bottom:0}.cal-source-note{margin-top:28px;font-size:.875rem;color:var(--muted);line-height:1.8}.cal-source-note summary{cursor:pointer;font-weight:700;color:var(--wine)}.cal-source-note p{margin:12px 0}.cal-source-note a{color:var(--wine);text-decoration:underline;text-underline-offset:3px}.cal-schedules,.cal-months{scroll-margin-top:170px}.cal-months a:focus-visible,.cal-detail summary:focus-visible,.cal-table-scroll:focus-visible,.cal-source-note summary:focus-visible{outline:3px solid var(--red);outline-offset:3px}@media(max-width:1000px){.cal-opening-grid{gap:30px}.cal-month{grid-template-columns:240px minmax(0,1fr)}.cal-month-cover{padding:25px}.cal-events{padding:8px 22px}.cal-events li{grid-template-columns:90px minmax(0,1fr);gap:12px}.cal-terms{gap:12px}.cal-terms article{padding:20px}}@media(max-width:760px){.cal-opening-grid{grid-template-columns:1fr}.cal-year{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:22px 25px}.cal-year strong{font-size:3.5rem;order:-1}.cal-year a{margin:0;flex-basis:100%}.cal-months{grid-template-columns:repeat(3,minmax(0,1fr))}.cal-month{grid-template-columns:1fr;scroll-margin-top:95px}.cal-month-cover{padding:22px 25px}.cal-month-cover h3{display:inline-block;margin:10px 16px 0 0;font-size:1.65rem}.cal-month-number{display:block}.cal-month-cover>p{display:inline-block}.cal-grid{display:none}.cal-events li{grid-template-columns:85px minmax(0,1fr)}.cal-terms{grid-template-columns:repeat(2,minmax(0,1fr))}.cal-detail>summary{padding:20px;font-size:1rem}.cal-detail-body{padding:0 18px 20px}.cal-opening{padding-bottom:35px}.cal-schedules{padding:50px 0}.cal-schedules,.cal-months{scroll-margin-top:95px}.cal-opening-grid>div>p:last-child{font-size:1rem}.cal-table{min-width:570px}.cal-events p{font-size:.9375rem}}@media(prefers-reduced-motion:reduce){.cal-months a{transition:none}}
