.events-hero{position:relative;padding:9rem 0 0;overflow:hidden;color:#fff}.events-hero__bg{position:absolute;inset:0;background:linear-gradient(135deg,#0d1b3e,#1a2744 45%,#3d1a0a)}.events-hero__bg:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 85% 30%,rgba(192,85,58,.25) 0,transparent 60%),radial-gradient(ellipse 40% 50% at 10% 70%,rgba(212,168,67,.15) 0,transparent 60%)}.events-hero__content{position:relative;z-index:2;padding-bottom:3rem}.events-hero__months{position:relative;z-index:2;border-top:1px solid hsla(0,0%,100%,.1);padding:1.25rem var(--gutter);background:rgba(0,0,0,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.events-hero__months-scroll{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.events-hero__months-scroll::-webkit-scrollbar{display:none}.month-btn{padding:.45rem 1rem;border-radius:100px;border:1.5px solid hsla(0,0%,100%,.2);background:transparent;color:hsla(0,0%,100%,.65);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:all var(--transition);flex-shrink:0}.month-btn:hover{border-color:hsla(0,0%,100%,.5);color:#fff}.month-btn--active{background:var(--color-terracotta);border-color:var(--color-terracotta);color:#fff}.filters__cats{display:flex;flex-wrap:wrap;gap:.5rem}.filter-btn{padding:.45rem 1.1rem;border-radius:100px;border:1.5px solid #d8cfc0;background:var(--color-white);font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--color-navy);cursor:pointer;transition:all var(--transition)}.filter-btn:hover{border-color:var(--color-terracotta);color:var(--color-terracotta)}.filter-btn--active{background:var(--color-terracotta);border-color:var(--color-terracotta);color:#fff}.events-month-group{margin-bottom:4rem}.events-month-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.events-month-title{white-space:nowrap;color:var(--color-navy)}.events-month-line{flex:1 1;height:1px;background:linear-gradient(90deg,#d8cfc0,transparent)}.events-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.75rem;gap:1.75rem}@media (max-width:900px){.events-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.events-grid{grid-template-columns:1fr}}.event-card{background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);transition:transform var(--transition),box-shadow var(--transition)}.event-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card)}.event-card__image-wrap{position:relative;overflow:hidden;height:220px}.event-card__image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}.event-card:hover .event-card__image{transform:scale(1.05)}.event-card__image--placeholder{width:100%;height:100%;background:linear-gradient(135deg,#1a2744,#2e3d6b);display:flex;align-items:center;justify-content:center}.event-card__placeholder-icon{font-size:3.5rem;opacity:.5}.event-card__image-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,18,40,.5) 0,transparent 60%)}.event-card__badges{position:absolute;top:1rem;left:1rem;display:flex;gap:.5rem;z-index:2}.event-card__month-tag{background:rgba(26,39,68,.75)}.event-card__free-tag,.event-card__month-tag{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;padding:.3rem .75rem;border-radius:100px}.event-card__free-tag{background:rgba(92,122,94,.85)}.event-card__body{padding:1.5rem;display:flex;flex-direction:column;gap:.6rem}.event-card__meta{display:flex;align-items:center;gap:.5rem}.event-card__icon{font-size:1rem}.event-card__title{color:var(--color-navy);line-height:1.25}.event-card__desc{color:var(--color-muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.event-card__details{display:flex;flex-direction:column;gap:.35rem;margin-top:.4rem;padding-top:.75rem;border-top:1px solid #ede5d8}.event-card__detail{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-navy)}.empty-state{text-align:center;padding:5rem 0}