.public-events-module{padding:var(--spacing-lg) 0;width:100%}.public-events-module__header{margin:0 auto var(--spacing-xl);max-width:960px;text-align:center}.public-events-module__title,.public-events-section__title{color:#1e4b87;font-weight:800;letter-spacing:.01em;margin:0}.public-events-module__title{font-size:clamp(2rem,4vw,3.25rem);text-transform:uppercase}.public-events-module__intro,.public-events-section__intro{color:var(--color-text-light);font-size:var(--font-size-base);line-height:1.65;margin:0 auto;max-width:760px}.public-events-sections{display:flex;flex-direction:column;gap:clamp(2rem,4vw,3.5rem)}.public-events-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.public-events-section__title{font-size:clamp(1.9rem,3.2vw,3rem);text-align:center;text-transform:uppercase}.public-events-section__intro{text-align:center}.public-events-cards{display:flex;flex-direction:column;gap:.85rem}.public-events-card{align-items:center;background:#fff;border:1px solid #b0b8c9;border-radius:14px;box-shadow:0 1px 1px rgba(10,20,40,.02);display:grid;gap:1.5rem;grid-template-columns:86px minmax(0,1fr) max-content;padding:1rem 1.15rem}.public-events-card__date{align-items:flex-start;color:#111827;display:flex;flex-direction:column;gap:.1rem;justify-content:center;min-width:0}.public-events-card__month{color:#111827;font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.public-events-card__day{color:#111827;font-size:1.5rem;font-weight:800;line-height:1}.public-events-card__year{color:#5b6476;font-size:.74rem;font-weight:500}.public-events-card__content{display:flex;flex-direction:column;gap:0;min-width:0}.public-events-card__heading-row{align-items:center;display:flex;gap:.4rem;justify-content:space-between;min-width:0}.public-events-card__title{color:#1f4a86;font-size:clamp(1rem,1.55vw,1.35rem);font-weight:800;line-height:1.15;margin:0;min-width:0}.public-events-card__title-block{align-items:flex-start;display:flex;flex-direction:column;min-width:0}.public-events-card__logo{display:block;margin-top:.5rem;max-height:64px;max-width:280px;object-fit:contain;object-position:left center;width:auto}.public-events-card__meta{color:#1f2937;display:inline-flex;flex-wrap:wrap;font-size:.95rem;font-weight:700;gap:.35rem .7rem;justify-content:flex-end;text-align:right}.public-events-card__location,.public-events-card__venue{align-items:center;display:inline-flex}.public-events-card__location:before{color:#6b7280;content:"|";margin-right:.7rem}.public-events-card__action{align-items:flex-end;display:flex;flex-direction:column;justify-content:flex-end;justify-self:end}.public-events-card__action-note{color:#5b6476;font-size:.72rem;font-weight:600;line-height:1.2;margin-top:.35rem;text-align:right}.public-events-card__button{align-items:center;background:#1f4a86;border-radius:3px;color:#fff;display:inline-flex;font-size:.8rem;font-weight:800;justify-content:center;letter-spacing:.01em;min-height:42px;padding:.55rem .95rem;text-decoration:none;transition:transform var(--transition-fast) ease,background-color var(--transition-fast) ease,box-shadow var(--transition-fast) ease;white-space:nowrap}.public-events-card__button:focus,.public-events-card__button:hover{background:#143763;color:#fff;text-decoration:none;transform:translateY(-1px)}.public-events-card__button:focus-visible{outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:var(--focus-outline-offset)}.public-events-section__empty{color:var(--color-text-light);font-size:var(--font-size-base);margin:0;text-align:center}@media (max-width:820px){.public-events-card{align-items:start;gap:.75rem;grid-template-columns:1fr}.public-events-card__date{align-items:baseline;flex-direction:row;flex-wrap:wrap;gap:.4rem}.public-events-card__action{align-items:flex-start;justify-content:flex-start;justify-self:auto}.public-events-card__action-note{text-align:left}.public-events-card__heading-row{align-items:flex-start;flex-direction:column;gap:.35rem}.public-events-card__meta{justify-content:flex-start;text-align:left}.public-events-card__location:before{margin-right:.4rem}.public-events-card__button{width:100%}}