.event-page { width: 100%; max-width: none; margin: 0; padding: 58px 20px 80px; background: #f8f9fa; }
.event-article { width: min(100%, 920px); margin: 0 auto; overflow: hidden; background: #fff; box-shadow: 0 18px 50px rgb(18 51 79 / 10%); }
.event-hero { position: relative; min-height: clamp(390px, 54vw, 570px); overflow: hidden; background: #17334d; color: #fff; }
.event-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.event-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgb(0 0 0 / 4%) 42%, rgb(0 0 0 / 76%) 100%); }
.event-hero h1 { position: absolute; right: 42px; bottom: 35px; left: 42px; margin: 0; color: #fff; font-family: 'DM Sans', system-ui, sans-serif; font-size: clamp(2.2rem, 5vw, 4.5rem); font-weight: 700; line-height: 1.04; text-shadow: 0 2px 15px rgb(0 0 0 / 35%); }
.event-back, .event-share { position: absolute; z-index: 2; top: 25px; display: grid; width: 46px; height: 46px; place-items: center; border: 0; border-radius: 50%; background: rgb(0 0 0 / 42%); color: #fff; font-size: 1.05rem; text-decoration: none; cursor: pointer; }
.event-back { left: 25px; }
.event-share { right: 25px; }
.event-back:hover, .event-share:hover { background: #087ff5; }
.event-summary { padding: 28px 42px; background: #087ff5; color: #fff; }
.event-summary p { margin: 0; font-size: clamp(1.05rem, 1.5vw, 1.25rem); font-weight: 500; line-height: 1.55; }
.event-body { padding: 45px 42px 58px; color: #4a4a4a; font-size: 1.04rem; line-height: 1.75; }
.event-body h2, .event-body h3 { margin: 0 0 12px; color: #252525; font-family: 'DM Sans', system-ui, sans-serif; line-height: 1.3; }
.event-body h2 { margin-top: 35px; font-size: 1.65rem; }
.event-body h3 { margin-top: 27px; font-size: 1.3rem; }
.event-body h2:first-child, .event-body h3:first-child { margin-top: 0; }
.event-body p { margin: 0 0 20px; }
.event-gallery { padding: 0 42px 58px; }
.event-gallery h2 { margin: 0 0 24px; color: #252525; font-family: 'DM Sans', system-ui, sans-serif; font-size: 1.75rem; line-height: 1.3; }
.event-gallery__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.event-gallery__item { overflow: hidden; margin: 0; border-radius: 8px; background: #f1f7fd; }
.event-gallery__item a { display: block; overflow: hidden; aspect-ratio: 4 / 3; }
.event-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.event-gallery__item a:hover img { transform: scale(1.035); }
.event-gallery__item figcaption { padding: 11px 14px 13px; color: #46586a; font-size: .9rem; line-height: 1.45; }

@media (max-width: 620px) {
	.event-page { padding: 0; }
	.event-article { box-shadow: none; }
	.event-hero { min-height: 350px; }
	.event-hero h1 { right: 22px; bottom: 25px; left: 22px; font-size: clamp(2rem, 10vw, 3rem); }
	.event-back, .event-share { top: 18px; width: 42px; height: 42px; }
	.event-back { left: 18px; }
	.event-share { right: 18px; }
	.event-summary { padding: 23px 22px; }
	.event-body { padding: 32px 22px 46px; font-size: 1rem; }
	.event-gallery { padding: 0 22px 42px; }
	.event-gallery__grid { grid-template-columns: 1fr; gap: 16px; }
}
