.events-public-page{padding:clamp(46px,7vw,96px) var(--page-gutter) clamp(64px,9vw,120px);background:#f6f7f5;color:#202624}
.events-public-shell{display:grid;grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);align-items:start;gap:clamp(28px,4vw,68px);width:min(1680px,100%);margin:0 auto}
.events-public-heading{display:flex;grid-column:1;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;max-width:none;margin:0;padding:0;border:0;text-align:left}
.events-public-heading .eyebrow,.events-public-section-heading .eyebrow{margin:0 0 17px;color:#65736c;font-size:12px;font-weight:700;letter-spacing:.18em}
.events-public-heading h1{margin:0;color:#202624;font-size:clamp(48px,8vw,88px);font-weight:450;line-height:.98;letter-spacing:-.065em}
.events-public-heading>p:last-child{max-width:740px;margin:20px 0 0;color:#66726b;font-size:clamp(16px,2vw,21px);line-height:1.6}
.events-public-catalog{grid-column:2;min-width:0;padding:clamp(22px,4vw,42px);border:1px solid #d9dfdb;border-radius:20px;background:#fff;box-shadow:0 18px 50px #16221a0a}
.events-public-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:23px}
.events-public-section-heading .eyebrow{margin-bottom:8px;font-size:10px}
.events-public-section-heading h2{margin:0;font-size:clamp(25px,3.4vw,38px);font-weight:500;line-height:1.1;letter-spacing:-.045em}
.events-public-tools{display:flex;align-items:center;gap:18px}
.events-public-count{color:#6d7771;font-size:14px;white-space:nowrap}
.events-public-view-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid #d5ddd7;border-radius:999px;background:#f4f6f4}
.events-public-view-switch button{min-height:38px;padding:7px 15px;border:0;border-radius:999px;background:transparent;color:#445149;font:inherit;font-size:13px;font-weight:650;cursor:pointer}
.events-public-view-switch button[aria-pressed="true"]{background:#dcebe1;color:#245b3b;box-shadow:0 1px 3px #16221a18}
.events-public-view-switch button:focus-visible{outline:3px solid #83a995;outline-offset:2px}
.events-public-table-wrap{overflow:hidden;border:1px solid #d9dfdb;border-radius:14px}
.events-public-table{width:100%;border-collapse:collapse;text-align:left}
.events-public-table th{padding:15px 19px;background:#f3f5f3;color:#55635b;font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.events-public-table td{padding:21px 19px;border-top:1px solid #e2e7e3;color:#3e4942;font-size:15px;line-height:1.5;vertical-align:middle}
.events-public-table tbody tr:first-child td{border-top:1px solid #d9dfdb}
.events-public-table td:nth-child(2),.events-public-table td:nth-child(3){white-space:nowrap}
.events-public-access-heading,.events-public-access-cell{text-align:right;white-space:nowrap}
.events-public-access{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:42px;padding:9px 16px;border:1px solid #87a892;border-radius:999px;background:#f4f8f5;color:#24583a;font-size:13px;font-weight:700;line-height:1.2;text-decoration:none;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.events-public-access:hover{transform:translateY(-1px);border-color:#4d7e5e;background:#e4f0e7}
.events-public-access:focus-visible{outline:3px solid #83a995;outline-offset:3px}
.events-public-access span{font-size:16px;line-height:1}
.events-public-name{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:#202624;font-size:18px;font-weight:700}
.events-public-kind{display:inline-flex;align-items:center;min-height:23px;padding:3px 9px;border:1px solid #d7e2da;border-radius:999px;color:#446651;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.events-public-description{max-width:650px;margin:7px 0 0;color:#707a74;font-size:13px;line-height:1.55}
.events-public-end-date{display:block;margin-top:2px;color:#707a74;font-size:13px}
.events-public-card-grid{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.events-public-catalog[data-view="cards"] .events-public-table-wrap{display:none}
.events-public-catalog[data-view="cards"] .events-public-card-grid{display:grid}
.events-public-card{display:flex;min-width:0;flex-direction:column;padding:23px;border:1px solid #d9dfdb;border-radius:16px;background:#fff}
.events-public-card-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;color:#68756d;font-size:12px;font-weight:650}
.events-public-card h3{margin:19px 0 9px;color:#202624;font-size:clamp(20px,2.3vw,27px);font-weight:600;line-height:1.2;letter-spacing:-.035em}
.events-public-card>p{margin:0;color:#6c7770;font-size:14px;line-height:1.65}
.events-public-card-location{display:flex;align-items:center;gap:8px;margin-top:19px;padding-top:14px;border-top:1px solid #e5e9e6;color:#46554b;font-size:13px;font-weight:600}
.events-public-card-location span{color:#668e74;font-size:17px}
.events-public-card .events-public-access{align-self:flex-start;margin-top:18px}
.events-public-empty{padding:clamp(30px,6vw,60px) 20px;border:1px solid #d9dfdb;border-radius:14px;background:#f8faf8;text-align:center}
.events-public-empty>span{color:#8ca798;font-size:28px}
.events-public-empty h3{margin:12px 0 7px;font-size:22px;font-weight:600;letter-spacing:-.035em}
.events-public-empty p{margin:0;color:#6c7770;font-size:14px;line-height:1.6}
@media(max-width:1100px){.events-public-shell{grid-template-columns:minmax(0,1fr);gap:0}.events-public-heading{margin-bottom:34px}.events-public-catalog{grid-column:1}}
@media(max-width:760px){.events-public-page{padding-top:38px;padding-bottom:64px}.events-public-section-heading{align-items:flex-start;flex-direction:column;gap:15px}.events-public-tools{width:100%;justify-content:space-between}.events-public-catalog{padding:20px 16px;border-radius:16px}.events-public-table th,.events-public-table td{padding:14px 12px}.events-public-table th{font-size:10px}.events-public-table td{font-size:13px}.events-public-table th:nth-child(3),.events-public-table td:nth-child(3){display:none}.events-public-access{min-height:38px;padding:8px 11px;font-size:12px}.events-public-name{font-size:15px}.events-public-description{font-size:12px}.events-public-card-grid{grid-template-columns:1fr}.events-public-card{padding:19px}.events-public-card h3{font-size:21px}}
@media(max-width:420px){.events-public-tools{align-items:flex-start;flex-direction:column;gap:12px}.events-public-view-switch{width:100%}.events-public-view-switch button{flex:1}.events-public-table td,.events-public-table th{padding-left:9px;padding-right:9px}}
