.events-hero{padding:calc(80px + var(--space-6)) var(--space-4) var(--space-6);text-align:center;background:linear-gradient(to bottom,var(--surface),var(--black))}.events-hero h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;margin-bottom:var(--space-3)}.events-hero h1 .highlight{color:var(--lime)}.events-hero p{color:var(--text-muted);font-size:var(--text-lg);max-width:600px;margin:0 auto}.filter-section{padding:var(--space-5) var(--space-4);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:80px;z-index:50}.filter-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:center;gap:var(--space-2);flex-wrap:wrap}.filter-btn{padding:.6rem 1.25rem;border-radius:var(--radius-full);background:transparent;border:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-base);font-family:inherit}.filter-btn:hover{border-color:var(--lime);color:var(--lime)}.filter-btn.active{background:var(--lime);border-color:var(--lime);color:var(--black)}.sub-filter-container{display:flex;justify-content:center;gap:var(--space-2);flex-wrap:wrap;max-width:600px;margin:var(--space-3) auto 0}.sub-filter-container:empty{display:none}.sub-filter-btn{padding:var(--space-1) var(--space-3);background:transparent;border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-base);font-family:inherit}.sub-filter-btn:hover{border-color:var(--text-primary);color:var(--text-primary)}.sub-filter-btn.active{background:var(--lilac);border-color:var(--lilac);color:var(--black)}.events-section{padding:var(--space-6) var(--space-4);max-width:900px;margin:0 auto}.events-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}@media(max-width:640px){.events-grid{grid-template-columns:1fr}}.event-card-large{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base);display:flex;flex-direction:column}.event-card-large:hover{border-color:var(--lime);transform:translateY(-4px);box-shadow:0 20px 40px #e5f6081a}.event-card-large a{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%}.event-card-image{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden}.event-card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}.event-card-large:hover .event-card-image img{transform:scale(1.05)}.event-card-image .placeholder{width:100%;height:100%;background:radial-gradient(circle at 30% 20%,rgba(229,246,8,.08) 0%,transparent 50%),linear-gradient(135deg,#0d0d0d,#1a1a1a,#0d0d0d);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);position:relative;overflow:hidden}.event-card-image .placeholder:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--lime)}.event-card-image .placeholder:after{content:"";position:absolute;top:0;right:0;width:60px;height:60px;background:linear-gradient(135deg,transparent 50%,rgba(229,246,8,.05) 50%)}.event-card-image .placeholder-logo{font-size:3rem;font-weight:800;color:var(--lime);opacity:.5;letter-spacing:-.02em}.event-card-image .placeholder-text{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em;opacity:.5}.event-date-badge{position:absolute;top:var(--space-2);left:var(--space-2);background:#000000d9;backdrop-filter:blur(10px);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);text-align:center}.event-date-badge .day{display:block;font-size:var(--text-lg);font-weight:700;color:var(--lime);line-height:1}.event-date-badge .month{display:block;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.event-location-badge{position:absolute;top:var(--space-2);right:var(--space-2);background:var(--lime);color:var(--black);padding:.25rem .75rem;border-radius:var(--radius-full);font-size:10px;font-weight:600;text-transform:uppercase}.event-location-badge.mansfield{background:var(--lilac)}.event-location-badge.chesterfield,.event-location-badge.derby{background:var(--grey)}.event-card-content{padding:var(--space-3) var(--space-4);flex:1;display:flex;flex-direction:column}.event-card-meta{display:flex;gap:var(--space-3);margin-bottom:var(--space-2);font-size:var(--text-xs);color:var(--text-muted)}.event-card-meta span{display:flex;align-items:center;gap:4px}.event-card-meta svg{width:12px;height:12px}.event-card-venue{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#ffffff08;border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-2)}.event-card-venue svg{width:12px;height:12px}.event-card-title{font-size:var(--text-base);font-weight:600;line-height:1.3;margin-bottom:var(--space-2)}.event-card-description{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;margin-bottom:var(--space-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-2);border-top:1px solid var(--border);margin-top:auto}.event-card-speaker{display:flex;align-items:center;gap:var(--space-2)}.speaker-avatar{width:32px;height:32px;border-radius:50%;background:var(--gradient-brand);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--text-xs);color:var(--black)}.speaker-info h4{font-size:var(--text-xs);font-weight:600}.speaker-info p{font-size:10px;color:var(--text-muted)}.event-card-cta{display:flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--lime);border-radius:var(--radius-full);color:var(--lime);font-size:var(--text-xs);font-weight:500;transition:all var(--transition-base)}.event-card-large:hover .event-card-cta{background:var(--lime);color:var(--black)}.event-card-cta svg{width:12px;height:12px;transition:transform var(--transition-base)}.event-card-large:hover .event-card-cta svg{transform:translate(4px)}.loading-state,.empty-state{grid-column:1 / -1;text-align:center;padding:var(--space-8);color:var(--text-muted)}.spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--lime);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--space-4)}@keyframes spin{to{transform:rotate(360deg)}}.empty-state svg{width:64px;height:64px;margin-bottom:var(--space-4);opacity:.5}.empty-state h3{font-size:var(--text-xl);color:var(--text-primary);margin-bottom:var(--space-2)}.past-events-link{text-align:center;padding:var(--space-6) var(--space-4);border-top:1px solid var(--border)}.past-events-link a{color:var(--text-muted);text-decoration:none;font-size:var(--text-base);transition:color var(--transition-base)}.past-events-link a:hover{color:var(--lime)}
