:root {
	--esak-navy: #003366;
	--esak-amber: #F5A623;
	--esak-electric: #00A3E0;
	--esak-green: #16A34A;
	--esak-dark: #14213D;
	--esak-light: #F5F7FA;
	--esak-white: #FFFFFF;
	--esak-muted: #6B7280;
	--esak-border: rgba(0, 51, 102, 0.14);
	--esak-shadow: 0 18px 45px rgba(20, 33, 61, 0.12);
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--esak-white);
}

.wp-site-blocks {
	overflow-x: hidden;
}

.esak-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--esak-border);
}

.esak-top-strip {
	background: var(--esak-navy);
	color: var(--esak-white);
	font-size: 13px;
	padding: 7px 0;
}

.esak-top-strip a {
	color: var(--esak-white);
	text-decoration: none;
}

.esak-header-inner {
	min-height: 78px;
}

.esak-main-nav a,
.wp-block-navigation a {
	font-weight: 700;
	text-decoration: none;
}

.esak-member-button .wp-block-button__link,
.wp-block-button.is-style-esak-amber .wp-block-button__link {
	background: var(--esak-amber);
	color: var(--esak-dark);
	border-radius: 999px;
	box-shadow: 0 10px 25px rgba(245, 166, 35, 0.28);
}

.wp-block-button.is-style-esak-outline .wp-block-button__link {
	background: transparent;
	color: var(--esak-white);
	border: 2px solid rgba(255, 255, 255, 0.78);
	border-radius: 999px;
}

.esak-hero {
	position: relative;
	min-height: 650px;
}

.esak-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 12% 20%, rgba(245, 166, 35, 0.32), transparent 25%),
		linear-gradient(135deg, rgba(0, 51, 102, 0.94), rgba(20, 33, 61, 0.84));
	z-index: 0;
}

.esak-hero > * {
	position: relative;
	z-index: 1;
}

.esak-eyebrow {
	color: var(--esak-amber);
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.esak-card-grid .wp-block-column,
.esak-feature-card,
.esak-report-card,
.esak-member-panel {
	background: var(--esak-white);
	border: 1px solid var(--esak-border);
	border-radius: 24px;
	box-shadow: var(--esak-shadow);
	padding: clamp(22px, 4vw, 34px);
}

.esak-feature-icon {
	width: 50px;
	height: 50px;
	border-radius: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(245, 166, 35, 0.16);
	color: var(--esak-navy);
	font-weight: 900;
	font-size: 22px;
}

.esak-stat-bar {
	background: linear-gradient(135deg, var(--esak-navy), #061f3d);
	color: var(--esak-white);
}

.esak-stat-number {
	color: var(--esak-amber);
	font-size: clamp(34px, 5vw, 58px);
	font-weight: 850;
	line-height: 1;
}

.esak-page-hero {
	background: linear-gradient(135deg, var(--esak-navy), #10294d);
	color: var(--esak-white);
	padding: clamp(64px, 10vw, 110px) 0;
}

.esak-page-hero h1,
.esak-page-hero h2 {
	color: var(--esak-white);
}

.esak-portal-shell {
	background: var(--esak-light);
	padding: clamp(28px, 5vw, 64px) 0;
}

.esak-shortcode-panel {
	background: var(--esak-white);
	border-radius: 28px;
	box-shadow: var(--esak-shadow);
	padding: clamp(20px, 4vw, 34px);
}

.esak-footer {
	background: var(--esak-dark);
	color: rgba(255, 255, 255, 0.86);
}

.esak-footer h2,
.esak-footer h3,
.esak-footer h4,
.esak-footer a {
	color: var(--esak-white);
}

.esak-footer a:hover {
	color: var(--esak-amber);
}

@media (max-width: 782px) {
	.esak-hero {
		min-height: 560px;
	}

	.esak-header-inner {
		gap: 16px;
		padding: 14px 0;
	}

	.esak-card-grid .wp-block-column,
	.esak-feature-card,
	.esak-report-card,
	.esak-member-panel,
	.esak-shortcode-panel {
		border-radius: 18px;
	}
}
