.events-page{display:flex;flex-direction:column;gap:28px}.events-header{text-align:center;margin-bottom:6px}.events-header h2{font-size:2rem;margin-bottom:10px}.events-intro{color:var(--color-text-light);margin:0 0 22px}.month-strip{margin-top:-8px;position:relative;display:flex;align-items:center;justify-content:center;min-width:0}.events-years{white-space:nowrap}.month-strip.has-before .month-strip-list{-webkit-mask-image:linear-gradient(to right,transparent,#000 48px);mask-image:linear-gradient(to right,transparent,#000 48px)}.month-strip.has-after .month-strip-list{-webkit-mask-image:linear-gradient(to left,transparent,#000 48px);mask-image:linear-gradient(to left,transparent,#000 48px)}.month-strip.has-before.has-after .month-strip-list{-webkit-mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent)}.month-strip-arrow{flex:none;width:36px;height:36px;border:1px solid #e0d9c8;border-radius:50%;background:var(--color-white);color:var(--color-primary);font-size:1.4rem;line-height:1;cursor:pointer;box-shadow:0 2px 4px #0000000d}.month-strip-arrow:disabled{visibility:hidden}.month-strip-arrow.is-before{margin-right:6px}.month-strip-arrow.is-after{margin-left:6px}.month-strip-list{display:flex;gap:8px;margin:0;padding:6px 4px 10px;list-style:none;min-width:0;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;position:relative}.month-strip-list li{display:flex;align-items:stretch;gap:8px;flex:none;scroll-snap-align:center}.month-strip-list li.starts-year:not(:first-child){margin-left:10px;padding-left:18px;border-left:1px solid #e0d9c8}.month-strip-year{align-self:center;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.8rem;font-weight:700;letter-spacing:1px;color:var(--color-text-light)}.month-strip-item{width:76px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:var(--radius-sm);background:var(--color-white);box-shadow:0 2px 4px #0000000d;text-decoration:none;color:var(--color-text);transition:all .2s ease}a.month-strip-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-1px);color:var(--color-primary)}.month-strip-name{font-size:1.05rem;font-weight:600}.month-strip-count{font-size:.75rem;color:var(--color-text-light);white-space:nowrap}.month-strip-item.is-active{background:var(--color-primary);color:var(--color-white);box-shadow:0 4px 8px #1a4d2e4d}.month-strip-item.is-active .month-strip-count{color:var(--color-secondary)}.month-strip-item.is-empty{background:transparent;box-shadow:none;color:#b0a99a}.month-strip-item.is-empty .month-strip-count{color:#b0a99a}.events-empty{text-align:center;color:var(--color-text-light)}.events-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:28px;align-items:start}.events-aside{position:sticky;top:20px}.events-main{display:flex;flex-direction:column;gap:28px;min-width:0;scroll-margin-top:16px;container-type:inline-size}.events-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.month-grid{background:var(--color-white);border:1px solid #e7e1d3;border-radius:var(--radius-md);padding:18px 16px 14px;box-shadow:var(--shadow-sm)}.month-grid-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.month-grid-title{margin:0;font-family:var(--font-heading);font-size:1.2rem;font-weight:700;color:var(--color-primary)}.month-grid-nav{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.4rem;line-height:1;color:var(--color-primary);text-decoration:none;transition:background .2s ease}.month-grid-nav:hover{background:#f1ece0}.month-grid-nav.is-disabled{color:#cfc8b8}.month-grid-table{width:100%;border-collapse:collapse;table-layout:fixed}.month-grid-table th{padding:4px 0 6px;font-size:.75rem;font-weight:600;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px}.month-grid-table abbr{text-decoration:none}.month-grid-table td{padding:2px;text-align:center}.month-grid-day{width:100%;aspect-ratio:1;max-width:44px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0;border:1px solid transparent;border-radius:50%;background:none;font-family:var(--font-body);font-size:.9rem;color:#a39d90;cursor:pointer;transition:background .15s ease,color .15s ease}.month-grid-day:hover{background:#f1ece0}.month-grid-day.has-events{color:var(--color-text);font-weight:600}.month-grid-day.is-past:not(.is-selected){opacity:.55}.month-grid-day.is-today{border-color:var(--color-accent)}.month-grid-day.is-selected{background:var(--color-primary);color:var(--color-white)}.month-grid-number{line-height:1}.month-grid-dots{display:flex;gap:2px;height:4px}.month-grid-dots span{width:4px;height:4px;border-radius:50%;background:var(--color-accent)}.month-grid-day.is-selected .month-grid-dots span{background:var(--color-secondary)}.month-grid-note{margin:12px 4px 0;font-size:.85rem;line-height:1.45;color:var(--color-text-light)}.month-group{background:var(--color-white);border:1px solid #e7e1d3;border-radius:var(--radius-md);padding:22px;box-shadow:var(--shadow-sm)}.month-group-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid #ece7da}.month-group-head h3{font-size:1.5rem;margin:0}.month-group-eyebrow{margin:0 0 2px;font-size:.8rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-light)}.month-group-count{margin:0 0 14px;color:var(--color-text-light);font-size:.95rem}.month-group-head .month-group-count{margin:0;white-space:nowrap}.events-show-month,.events-next-day{padding:8px 16px;border:1px solid var(--color-primary);border-radius:30px;background:var(--color-white);color:var(--color-primary);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease}.events-show-month:hover,.events-next-day:hover{background:var(--color-primary);color:var(--color-white)}.events-next-day{margin-bottom:18px}.month-events{display:grid;gap:24px}.events-unconfirmed{margin-top:28px}.month-group-count+.events-unconfirmed,.events-next-day+.events-unconfirmed{margin-top:0}.events-subheading{font-size:1.15rem;margin:0 0 4px}.events-note{margin:0 0 14px;color:var(--color-text-light);font-size:.9rem}.event-card{border:1px solid #ece7da;border-radius:var(--radius-sm);background:#fffdf8;display:flex;align-items:stretch;overflow:hidden}.event-card.is-past{opacity:.7}.event-image-wrap{flex:0 0 280px;min-height:200px;background:#f1ece0}.event-image{width:100%;height:100%;object-fit:cover;display:block}.event-content{padding:22px 24px;flex:1;display:flex;flex-direction:column;min-width:0}.event-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:8px}.event-date{color:var(--color-accent-text);font-weight:700;font-size:.85rem;letter-spacing:.5px;text-transform:uppercase}.event-tag{padding:2px 10px;border-radius:30px;background:var(--color-secondary);color:var(--color-primary);font-size:.8rem;font-weight:600}.event-tag--muted{background:#ece7da;color:var(--color-text-light)}.event-title{font-size:1.35rem;margin:0 0 6px;color:var(--color-primary);line-height:1.3}.event-location{margin:0 0 12px;color:var(--color-text-light);font-size:1rem;font-weight:500}.event-description{margin:0;color:var(--color-text);font-size:.95rem;line-height:1.55}.events-back-link{text-align:center;margin-top:4px}.events-back-link a{color:var(--color-primary);text-decoration:none;font-weight:600}.events-back-link a:hover{text-decoration:underline}@container (max-width: 620px){.event-card{flex-direction:column}.event-image-wrap{flex:none;height:200px;min-height:0}}@media(max-width:860px){.events-layout{grid-template-columns:minmax(0,1fr)}.events-aside{position:static;width:100%;max-width:420px;margin:0 auto}}@media(max-width:768px){.events-header h2{font-size:1.65rem}.month-strip-list{padding:6px 0 10px}.month-strip-item{width:68px}.month-strip-arrow{display:none}.events-aside{max-width:none}.month-group{padding:16px}.month-group-head{flex-wrap:wrap;align-items:center}.event-content{padding:18px}}
