.events-page { background: #fafafa; color: #28313c; }
.events-page .events-container { max-width: 1280px; }
.events-section-heading { font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; color: #222b36; margin-bottom: 1.75rem; }
.events-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1.5rem; }
.events-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; min-height: 330px; padding: 2rem; background: #fff; border: 1px solid #e2e5e9; border-radius: 22px; color: #28313c; text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.events-card:hover, .events-card:focus-visible { transform: translateY(-5px); border-color: #e77227; box-shadow: 0 16px 36px rgba(56, 42, 30, .12); color: #28313c; text-decoration: none; }
.events-icon { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 13px; background: #fff2e9; color: #d75c16; font-size: 1.25rem; }
.events-card h3 { font-size: 1.38rem; font-weight: 700; line-height: 1.35; color: #222b36; margin: 1.35rem 0 .5rem; }
.events-date, .events-cta, .events-badge, .events-info-label, .events-other-label { font-size: .77rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.events-date, .events-cta, .events-other-label { color: #c95512; }
.events-card p { color: #59636e; line-height: 1.7; margin: 1rem 0 1.5rem; }
.events-cta { margin-top: auto; }
.events-cta i { margin-left: .5rem; }
.events-empty { padding: 2rem; background: #fff; border: 1px solid #e2e5e9; border-radius: 18px; color: #59636e; }
.events-detail-hero .container { padding-top: 1rem; padding-bottom: 1.5rem; }
.events-badge { display: inline-block; background: #e46a22; border-radius: 30px; padding: .4rem .85rem; color: #fff; }
.events-detail-hero h1 { max-width: 55rem; font-size: clamp(2.5rem, 5.5vw, 4.5rem); line-height: 1.12; margin: 1rem 0; color: #fff; overflow-wrap: anywhere; }
.events-article { min-width: 0; }
.events-article .events-info { display: flex; align-items: center; gap: 1rem; padding: 1.15rem 1.4rem; margin-bottom: 2.25rem; border-radius: 12px;  }
.events-info-label { display: block; color: #9b4b1b; margin-bottom: .2rem; }
.events-info-date { margin: 0; font-size: clamp(1.05rem, 1.6vw, 1.25rem); font-weight: 700; line-height: 1.4; color: #28313c; }
.events-lead { max-width: 65ch; margin: 0 0 1.5rem; font-size: clamp(1.3rem, 2vw, 1.7rem); font-weight: 600; line-height: 1.5; color: #28313c; overflow-wrap: break-word; }
.events-details { max-width: 75ch; border-top: 1px solid #dde1e5; padding-top: 1.75rem; font-size: clamp(1rem, 1.3vw, 1.125rem); line-height: 1.8; color: #4a5561; overflow-wrap: break-word; }
.events-sidebar { position: sticky; top: 6.5rem; }
.events-others h2 { font-size: 1.3rem; font-weight: 750; color: #232b35; margin-bottom: 1.4rem; }
.events-other-link { display: flex; align-items: flex-start; gap: 1rem; border-bottom: 1px solid #e2e5e9; padding: 0; text-decoration: none; color: #26303b; }
.events-other-link:first-of-type { padding-top: 0; }
.events-other-link:hover, .events-other-link:focus-visible { color: #c95512; text-decoration: none; }
.events-other-link .events-icon { width: 42px; height: 42px; font-size: 1rem; }
.events-other-copy { font-size: 1rem; font-weight:600; min-width: 0; display: flex; flex-direction: column; gap: .2rem; }
.events-other-date { font-size: .9rem; color: #68727d; }
@media (max-width: 991.98px) { .events-sidebar { position: static; } }
@media (prefers-reduced-motion: reduce) { .events-card { transition: none; } .events-card:hover, .events-card:focus-visible { transform: none; } }