.calendar-page{--calendar-bg: #0b0b0b;--calendar-ink: #f8f3e9;--calendar-muted: rgba(248, 243, 233, .72);--calendar-gold: #c5a059;--calendar-red: #a7352a;--calendar-sunday: #d6574d;--calendar-saturday: #4f86c6;background:var(--calendar-bg);color:var(--calendar-ink);margin-top:-22px;max-width:100vw;overflow-x:hidden;padding-bottom:72px;width:100vw}.calendar-hero{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:28px;max-width:1120px;width:100%;margin:0 auto;padding:84px 20px 44px}.hero-copy h1{font-family:var(--font-head);font-size:clamp(3.1rem,12vw,7.5rem);line-height:.9;letter-spacing:0;margin:8px 0 22px}.hero-copy p:not(.calendar-label){max-width:680px;color:var(--calendar-muted);font-size:1.05rem;line-height:1.9;overflow-wrap:anywhere}.calendar-label{color:var(--calendar-gold);font-family:var(--font-head);font-size:.82rem;font-weight:900;letter-spacing:.12em;line-height:1.2}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.hero-actions a,.official-note-link,.calendar-heading a,.calendar-fallback a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid rgba(197,160,89,.5);background:var(--calendar-gold);color:#050505;font-family:var(--font-head);font-size:.84rem;font-weight:900;letter-spacing:.08em;line-height:1}.hero-actions a+a,.calendar-heading a{background:transparent;color:var(--calendar-ink)}.official-note-link{margin-bottom:18px}.official-note{align-self:end;border:1px solid rgba(197,160,89,.28);border-left:4px solid var(--calendar-gold);border-radius:8px;background:#ffffff0e;padding:24px}.official-note span{display:block;color:var(--calendar-red);font-family:var(--font-head);font-weight:900;letter-spacing:.14em;margin-bottom:12px}.official-note strong{display:block;font-family:var(--font-serif);font-size:1.25rem;line-height:1.6;overflow-wrap:anywhere}.official-note p{color:var(--calendar-muted);font-size:.92rem;margin-top:12px;overflow-wrap:anywhere}.recurring-schedule{box-sizing:border-box;max-width:1120px;width:100%;margin:0 auto;padding:0 20px 32px}.recurring-schedule img{box-sizing:border-box;display:block;width:100%;max-width:100%;height:auto;border:1px solid rgba(197,160,89,.32);border-radius:8px;background:#ffffff0a;box-shadow:0 18px 58px #00000057}.calendar-overview{box-sizing:border-box;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;max-width:1120px;width:100%;margin:0 auto;padding:0 20px 28px}.calendar-overview div{min-height:118px;padding:22px;background:#ffffff0f;border:1px solid rgba(255,255,255,.07)}.calendar-overview span{display:block;font-family:var(--font-head);font-size:clamp(2rem,5vw,3.2rem);font-weight:900;line-height:1;color:var(--calendar-gold)}.calendar-overview .range-cell span{font-size:clamp(1.15rem,2.5vw,1.75rem);line-height:1.1}.calendar-overview p{margin-top:14px;color:var(--calendar-muted);font-family:var(--font-head);font-size:.82rem;font-weight:900;letter-spacing:.12em}.calendar-section{box-sizing:border-box;max-width:1120px;width:100%;margin:0 auto;padding:0 20px}.calendar-share{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:18px;align-items:center;margin:22px 0;padding:18px;border:1px solid rgba(197,160,89,.24);border-left:4px solid var(--calendar-gold);border-radius:8px;background:#ffffff0d}.calendar-share h3{margin-top:6px;font-family:var(--font-serif);font-size:clamp(1.2rem,3vw,1.72rem);line-height:1.25}.calendar-share-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.calendar-share-button{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;min-height:48px;min-width:0;padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#ffffff14;color:#fff;cursor:pointer;font-family:var(--font-head);font-size:.82rem;font-weight:900;letter-spacing:.06em;line-height:1;text-align:center;transition:transform .18s ease,border-color .18s ease,background .18s ease}.calendar-share-button:hover,.calendar-share-button:focus-visible{border-color:#c5a0598c;transform:translateY(-1px);outline:none}.calendar-share-button.native{background:var(--calendar-gold);color:#050505}.calendar-share-button.line{background:#06c755;color:#fff}.calendar-share-button.x{background:#111;color:#fff}.calendar-share-button.facebook{background:#1877f2;color:#fff}.calendar-share-button.copy{background:#ffffff0a}.calendar-share-button small{display:block;max-width:100%;overflow:hidden;color:#ffffffa8;font-family:var(--font-sans);font-size:.66rem;font-weight:800;letter-spacing:0;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.calendar-heading,.month-title{display:flex;align-items:end;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(197,160,89,.28);padding:26px 0 18px}.calendar-heading h2,.month-title h3{font-family:var(--font-serif);font-size:clamp(1.75rem,5vw,3rem);line-height:1.18}.mini-calendar-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 36px}.mini-calendar-card{min-width:0;border:1px solid rgba(197,160,89,.24);border-radius:8px;background:#ffffff0d;padding:18px}.mini-calendar-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}.mini-calendar-title h3{font-family:var(--font-serif);font-size:clamp(1.28rem,3vw,1.75rem);line-height:1.18;text-align:right}.mini-calendar-weekdays,.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.mini-calendar-weekdays{margin-bottom:8px}.mini-calendar-weekdays span{color:#f8f3e98f;font-family:var(--font-head);font-size:.74rem;font-weight:900;line-height:1;text-align:center}.mini-calendar-weekdays .is-sunday,.mini-calendar-day.is-sunday .mini-calendar-number{color:var(--calendar-sunday)}.mini-calendar-weekdays .is-saturday,.mini-calendar-day.is-saturday .mini-calendar-number{color:var(--calendar-saturday)}.mini-calendar-day{position:relative;display:flex;flex-direction:column;gap:5px;aspect-ratio:1 / 1;min-height:0;padding:8px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#ffffff0a;color:var(--calendar-ink)}.mini-calendar-day:hover,.mini-calendar-day:focus-visible{border-color:#c5a0598c;background:#ffffff13;outline:none}.mini-calendar-day.is-empty{aspect-ratio:1 / 1;min-height:0;border-color:transparent;background:transparent}.mini-calendar-day.has-events{border-color:#c5a0598f;background:#c5a05924}.mini-calendar-day.has-events:after{content:"";position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:999px;background:var(--calendar-gold);box-shadow:0 0 0 4px #c5a05921}.mini-calendar-day.is-today{box-shadow:inset 0 0 0 2px #ffffff80}.mini-calendar-number{display:block;color:#f8f3e9eb;font-family:var(--font-head);font-size:1.08rem;font-weight:900;line-height:1}.mini-calendar-events{display:grid;gap:3px;min-width:0;padding-right:6px}.mini-calendar-events small{display:-webkit-box;overflow:hidden;color:#f8f3e9d1;font-size:.62rem;font-weight:800;line-height:1.2;-webkit-box-orient:vertical;-webkit-line-clamp:1}.mini-calendar-events em{color:var(--calendar-gold);font-family:var(--font-head);font-size:.68rem;font-style:normal;font-weight:900;line-height:1}.month-list{display:grid;gap:42px}.month-title strong{flex:0 0 auto;color:var(--calendar-muted);font-family:var(--font-head);font-size:.82rem;letter-spacing:.12em}.event-list{display:grid;gap:12px;margin-top:18px}.event-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#ffffff0e;padding:18px;transition:border-color .18s ease,background .18s ease}.event-card:hover{border-color:#c5a05980;background:#ffffff13}.event-card.is-past{opacity:.58}.event-date{display:grid;place-items:center;min-height:96px;border-radius:8px;background:#f8f3e9;color:#0b0b0b}.event-date span{font-family:var(--font-head);font-size:2.55rem;font-weight:900;line-height:.9}.event-date small{font-weight:900;color:#0b0b0b}.event-date.is-sunday small{color:var(--calendar-sunday)}.event-date.is-saturday small{color:var(--calendar-saturday)}.event-body{min-width:0}.event-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.event-meta span,.event-meta em{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid rgba(197,160,89,.26);border-radius:999px;color:var(--calendar-muted);font-size:.78rem;font-style:normal;font-weight:800;line-height:1}.event-meta em{border-color:#a7352a7a;color:#e8b0aa}.event-body h3{font-family:var(--font-serif);font-size:clamp(1.18rem,3vw,1.65rem);line-height:1.35}.event-description,.event-location{color:var(--calendar-muted);font-size:.94rem;line-height:1.8;margin-top:10px;overflow-wrap:anywhere}.event-description a{color:var(--calendar-gold);text-decoration:underline;text-underline-offset:3px}.event-location{border-left:3px solid rgba(197,160,89,.38);padding-left:12px}.empty-month,.calendar-fallback{border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#ffffff0e;color:var(--calendar-muted);padding:24px}.calendar-fallback{margin-top:20px}.calendar-fallback strong{display:block;color:var(--calendar-ink);font-family:var(--font-serif);font-size:1.25rem;margin-bottom:8px}.calendar-fallback a{margin-top:16px}@media(max-width:860px){.calendar-hero{grid-template-columns:1fr;padding-top:58px}.official-note{align-self:stretch}.calendar-overview,.mini-calendar-list,.calendar-share{grid-template-columns:1fr}}@media(max-width:640px){.calendar-page{margin-top:-18px}.calendar-hero,.calendar-section,.recurring-schedule,.calendar-overview{padding-left:14px;padding-right:14px}.calendar-heading,.month-title{align-items:start;flex-direction:column}.calendar-heading a{width:100%}.calendar-share{padding:14px}.calendar-share-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-share-button{min-height:44px;font-size:.78rem}.event-card{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:14px}.event-date{min-height:74px}.event-date span{font-size:2rem}.event-meta span,.event-meta em{min-height:26px;font-size:.72rem}.mini-calendar-card{padding:14px}.mini-calendar-weekdays,.mini-calendar-grid{gap:4px}.mini-calendar-day{padding:6px}.mini-calendar-events small,.mini-calendar-events em{display:none}.mini-calendar-day.has-events:after{top:6px;right:6px;width:6px;height:6px}}
