:root {
	--ekk-shadow: 0 18px 60px rgba(20, 33, 61, 0.12);
}

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

.ekk-site-header {
	position: sticky;
	top: 0;
	z-index: 20;
	background: rgba(250, 250, 247, 0.92);
	backdrop-filter: blur(16px);
	border-bottom: 1px solid rgba(20, 33, 61, 0.08);
}

.admin-bar .ekk-site-header {
	top: 32px;
}

.ekk-site-header > .wp-block-group {
	padding-inline: 20px;
}

.ekk-site-header .custom-logo {
	width: auto;
	max-width: min(190px, 48vw);
	max-height: 66px;
	object-fit: contain;
}

.ekk-header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(16px, 3vw, 34px);
	font-size: 0.95rem;
	font-weight: 650;
}

.ekk-header-actions a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.ekk-header-actions__giving {
	white-space: nowrap;
}

.ekk-header-actions .ekk-account-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	white-space: nowrap;
}

.ekk-header-actions .ekk-account-link__avatar {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	object-fit: cover;
}

.wp-block-navigation a {
	text-decoration: none;
}

.wp-block-button__link {
	transition: transform 160ms ease, opacity 160ms ease;
}

.wp-block-button__link:hover {
	transform: translateY(-1px);
	opacity: 0.92;
}

.ekk-home-news {
	background: #f7f6f2;
}

.ekk-home-news__eyebrow {
	margin-bottom: 0.75rem;
	color: #315cf5;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.ekk-home-news__title {
	margin-top: 0;
	font-size: clamp(2.1rem, 5vw, 4.2rem);
	letter-spacing: -0.045em;
	line-height: 1.04;
}

.ekk-home-news .ekk-news-grid {
	margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.wp-block-button__link {
		transition: none;
	}
}

@media (max-width: 540px) {
	.admin-bar .ekk-site-header {
		top: 46px;
	}

	.ekk-site-header {
		padding-block: 10px!important;
	}

	.ekk-site-header > .wp-block-group {
		padding-inline: 12px;
	}

	.ekk-site-header .custom-logo {
		max-width: 112px;
		max-height: 48px;
	}

	.ekk-header-actions {
		gap: 12px;
		font-size: 0.83rem;
	}

	.ekk-header-actions .ekk-account-link__avatar {
		display: none;
	}

	.ekk-header-actions .ekk-account-link span {
		display: block;
		max-width: 104px;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.ekk-home-news {
		padding-block: 52px!important;
	}
}
