:root{
  --green:#3f6f00;--green-dark:#2f5200;--ink:#282a30;--muted:#667085;--page:#f4f6f2;--white:#fff;--shadow:0 18px 42px rgba(31,39,52,.14);--radius:30px;--blue:#219cc0;--purple:#5138e4;--gold:#d89d00;--teal:#397d74;--rose:#b75369;--slate:#384058;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--page);color:var(--ink)}
.events-page{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:28px 0 70px}
.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.brand-row{display:flex;align-items:center;gap:16px}.site-logo{width:63px;height:63px;object-fit:contain;border-radius:14px;background:#fff;padding:4px;box-shadow:0 9px 20px rgba(31,39,52,.12)}
.eyebrow{margin:0 0 7px;color:var(--green);font-size:18px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}h1{margin:0;font-size:clamp(34px,5vw,58px);line-height:1;font-weight:950;letter-spacing:-.04em}.intro{max-width:670px;margin:10px 0 0;color:var(--muted);font-size:16px;line-height:1.5}.header-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:260px;padding-top:2px}.top-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.home-button,.refresh-button,.event-count{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:999px;padding:0 16px;font-weight:900;white-space:nowrap;text-decoration:none}.home-button{background:var(--green);color:#fff;box-shadow:0 8px 20px rgba(31,39,52,.12)}.home-button:hover{background:var(--green-dark);color:#fff}.refresh-button{background:#fff;color:var(--green-dark);box-shadow:0 8px 20px rgba(31,39,52,.07)}.refresh-button:hover{background:rgba(63,111,0,.10);color:var(--green-dark)}.event-count{background:#fff;color:var(--ink);box-shadow:0 8px 20px rgba(31,39,52,.07)}
.search-row{margin:18px 0 26px}.search-row input{width:100%;height:54px;border:0;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(31,39,52,.08);padding:0 18px;font:inherit;color:var(--ink);outline:none}.search-row input:focus{box-shadow:0 0 0 4px rgba(63,111,0,.14),0 10px 24px rgba(31,39,52,.08)}
.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 36px}.month-heading{grid-column:1/-1;display:flex;align-items:center;gap:14px;margin:28px 0 2px;color:var(--green);font-size:30px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.month-heading::after{content:"";flex:1;height:3px;border-radius:999px;background:rgba(63,111,0,.16)}.month-heading:first-child{margin-top:4px}
.event-card{position:relative;overflow:hidden;min-height:455px;border:0;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);text-align:left;padding:0;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.event-card:hover{transform:translateY(-5px);box-shadow:0 26px 60px rgba(31,39,52,.18)}.event-image-wrap{height:255px;background:#111;overflow:hidden}.event-image-wrap img{width:100%;height:100%;object-fit:cover;display:block}.date-badge{position:absolute;top:0;left:0;z-index:3;width:88px;height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(250,250,250,.94);border-bottom-right-radius:24px;color:#2a2b30;box-shadow:0 8px 20px rgba(0,0,0,.08)}.date-badge span{font-size:14px;line-height:1;letter-spacing:.06em;text-transform:uppercase}.date-badge strong{display:block;margin-top:4px;font-size:44px;line-height:.88;font-weight:950;letter-spacing:-.04em}.event-details{min-height:200px;color:#fff;padding:32px 36px 30px;display:flex;flex-direction:column;justify-content:flex-start}.card-tone-0 .event-details{background:var(--blue)}.card-tone-1 .event-details{background:var(--purple)}.card-tone-2 .event-details{background:var(--gold);color:#1d1b16}.card-tone-3 .event-details{background:var(--teal)}.card-tone-4 .event-details{background:var(--rose)}.card-tone-5 .event-details{background:var(--slate)}.event-title{margin:0 0 20px;font-size:23px;line-height:1.12;font-weight:950;letter-spacing:-.02em}.event-location{margin:14px 0 0;color:rgba(255,255,255,.82);font-size:15px;line-height:1.35}.card-tone-2 .event-location{color:rgba(29,27,22,.72)}.time-pill{display:inline-flex;align-items:center;align-self:flex-start;gap:9px;min-height:36px;padding:0 14px 0 10px;border-radius:999px;background:rgba(255,255,255,.13);color:#fff;font-size:15px;font-weight:700}.card-tone-2 .time-pill{background:rgba(0,0,0,.08);color:#111}.time-dot{width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;background:#fff;color:inherit;font-size:11px}.card-tone-2 .time-dot{background:#111;color:#fff}.event-empty,.event-error{grid-column:1/-1;padding:34px;border-radius:24px;background:#fff;box-shadow:0 12px 28px rgba(31,39,52,.08);text-align:center;color:var(--muted);font-weight:900}.event-error{background:#fff1f2;color:#991b1b}
.event-modal[hidden]{display:none}.event-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.68)}.modal-card{position:relative;z-index:1;width:min(760px,100%);max-height:94vh;overflow:auto;border-radius:18px;background:#252b3a;color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.45)}.modal-close{position:absolute;right:12px;top:12px;z-index:2;width:34px;height:34px;border:0;border-radius:999px;background:rgba(255,255,255,.2);color:#fff;font-size:24px;line-height:1;cursor:pointer}.modal-image{width:100%;max-height:470px;object-fit:contain;background:#111;display:block}.modal-content{padding:28px 32px 34px}.modal-content h2{margin:0 0 14px;font-size:30px;line-height:1.1}.modal-description{margin:0 0 24px;line-height:1.65;color:rgba(255,255,255,.88);font-weight:700}.modal-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0 0 24px}.modal-info-grid h3{margin:0 0 8px;font-size:12px;letter-spacing:.12em;color:rgba(255,255,255,.64)}.modal-info-grid p{margin:0;font-weight:800;line-height:1.45}.modal-map{width:100%;height:260px;border:0;border-radius:14px;background:#fff;margin-bottom:22px}.modal-attachments{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.modal-attachments a,.outline-action,.primary-action{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:999px;text-decoration:none!important;font-weight:900;padding:0 16px;cursor:pointer}.primary-action{border:0;background:var(--green);color:#fff!important}.primary-action:hover{background:var(--green-dark)}.outline-action,.modal-attachments a{border:1px solid rgba(255,255,255,.34);background:transparent;color:#fff!important}.modal-actions{display:flex;gap:10px;flex-wrap:wrap}.is-hidden{display:none!important}
@media(max-width:860px){.page-header{flex-direction:column;align-items:flex-start}.header-side{align-items:flex-start;min-width:0}.top-buttons{justify-content:flex-start}.cards-grid{grid-template-columns:1fr}.event-card{min-height:420px}.event-image-wrap{height:240px}.month-heading{font-size:26px}}
@media(max-width:560px){.events-page{width:min(100% - 20px,1180px);padding-top:18px}.site-logo{width:54px;height:54px}.eyebrow{font-size:15px}.event-details{padding:30px 28px}.date-badge{width:80px;height:80px}.date-badge strong{font-size:40px}.modal-info-grid{grid-template-columns:1fr}.modal-content{padding:24px}.month-heading{font-size:22px;gap:10px}.month-heading::after{height:2px}}


/* V3.7 card actions */
.event-details{display:flex;flex-direction:column}
.card-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.card-register-action,.card-more-action,.register-action{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:999px;font:inherit;font-weight:900;text-decoration:none!important;cursor:pointer;transition:transform .18s ease,background .18s ease}
.card-register-action,.register-action{border:0;background:#f0b429;color:#1b1b1b!important;box-shadow:0 7px 16px rgba(63,45,0,.18)}
.card-register-action:hover,.register-action:hover{background:#ffd166;transform:translateY(-1px)}
.card-more-action{border:2px solid rgba(255,255,255,.72);background:transparent;color:#fff}
.card-more-action:hover{background:rgba(255,255,255,.14);transform:translateY(-1px)}
.card-tone-2 .card-more-action{border-color:rgba(29,27,22,.55);color:#1d1b16}
.card-tone-2 .card-more-action:hover{background:rgba(0,0,0,.08)}
.event-card:focus-visible{outline:4px solid rgba(63,111,0,.35);outline-offset:4px}
@media(max-width:560px){.card-actions{gap:9px}.card-register-action,.card-more-action{flex:1;min-width:130px;padding:0 12px}}
