.public-site {
    --public-page-top-space: clamp(18px, 2vw, 28px);
}

.public-site main > .public-section:first-child,
.local-tab-content {
    padding-top: var(--public-page-top-space);
}

.public-legal {
    padding-top: var(--public-page-top-space);
}

.public-site main > .public-associations:first-child {
    padding-top: 12px;
    padding-bottom: 20px;
}
.public-site main > .public-associations:first-child .participate-links a {
    padding-block: 10px;
}

.public-associations--institutions .participate-links a {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}
.public-associations--institutions .participate-links strong {
    hyphens: none;
}
@media (min-width: 1181px) {
    .public-associations--institutions {
        grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr);
        column-gap: clamp(24px, 3vw, 48px);
    }
}

.public-content-page, .public-content-detail { display: block; min-width: 0; overflow-wrap: anywhere; }
.public-content-page > header, .public-content-detail > header { margin-bottom: 24px; }
.public-content-text { white-space: pre-wrap; line-height: 1.65; max-width: 80ch; }
.public-event-location { font-style: normal; margin-block: 20px; }
.public-event-date { font-weight: 600; }
.public-breadcrumb, .public-pagination { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 18px; }
.public-keywords { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin-block: 16px; }
.public-keywords li { border: 1px solid #ddd; border-radius: 18px; padding: 3px 12px; max-width: 100%; font-size: .9em; }

@media (max-width: 900px) {
    .public-site {
        --public-page-top-space: 18px;
    }
}
