/* KEMAY page layer: route shells and server-rendered sections. */
.kemay-page-hero { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; padding: clamp(2rem, 6vw, 5rem) 0 3rem; }
.kemay-page-hero__heading { max-width: 16ch; margin: .25rem 0 1rem; font-size: clamp(2.2rem, 6vw, 4.4rem); letter-spacing: -.03em; }
.kemay-page-hero__media img { width: 100%; border-radius: var(--kemay-radius); }
.kemay-route-section { padding: 1rem 0; }
.kemay-route-section + .kemay-route-section { margin-top: 1.5rem; }
.kemay-route-section--sitemap { padding: 1.5rem; background: var(--kemay-light); border-radius: var(--kemay-radius); }
.kemay-route-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .6rem 1.5rem; padding-left: 1.25rem; }
.kemay-route-links a { font-weight: 650; }
.site-main--contact .kemay-page-hero { padding-bottom: 1rem; }
.site-main--sitemap .kemay-page-hero { padding-bottom: 1.5rem; }
.page-content > .entry-content { margin-top: 2rem; }
.page-content .wp-block-group, .page-content .wp-block-columns { margin-top: 2rem; margin-bottom: 2rem; }

@media (max-width: 640px) {
	.kemay-page-hero__heading { max-width: none; }
	.kemay-route-section--sitemap { padding: 1rem; }
}
