/**
 * EyD Institutional Layout v2
 */

.eyd-container,
.eyd-section > .wp-block-group__inner-container {
	width: min(100% - 2rem, var(--eyd-container));
	margin-inline: auto;
}

.eyd-content {
	width: min(100% - 2rem, var(--eyd-content));
	margin-inline: auto;
}

.eyd-section {
	padding-block: var(--eyd-section-y);
}

.eyd-section-compact {
	padding-block: clamp(2rem, 4vw, 3.5rem);
}

.eyd-section-soft {
	background:
		linear-gradient(180deg, var(--eyd-soft) 0%, #ffffff 100%);
	border-block: 1px solid var(--eyd-border);
}

.eyd-stack {
	display: grid;
	gap: var(--eyd-gap);
}

.eyd-stack-small {
	display: grid;
	gap: .75rem;
}

.eyd-stack-large {
	display: grid;
	gap: clamp(2rem, 4vw, 3.25rem);
}

.eyd-center {
	text-align: center;
}

.eyd-narrow {
	max-width: var(--eyd-content);
}

.eyd-wide {
	max-width: var(--eyd-container);
}

.eyd-grid,
.eyd-auto-grid {
	display: grid;
	gap: var(--eyd-gap);
}

.eyd-auto-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
}

.eyd-grid-2,
.eyd-two-paths,
.eyd-book-layout {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: center;
}

.eyd-grid-3,
.eyd-episode-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--eyd-gap);
}

.eyd-grid-4,
.eyd-method-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--eyd-gap);
}

.eyd-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(3.75rem, 7vw, 6.5rem);
	background:
		radial-gradient(circle at 10% 20%, rgba(198, 40, 40, .09), transparent 26%),
		radial-gradient(circle at 90% 15%, rgba(11, 77, 162, .10), transparent 28%),
		linear-gradient(135deg, #ffffff 0%, var(--eyd-soft) 100%);
	border-bottom: 1px solid var(--eyd-border);
}

.eyd-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(11, 77, 162, .08), transparent 34%, transparent 66%, rgba(198, 40, 40, .07));
	pointer-events: none;
}

.eyd-hero-inner {
	position: relative;
	width: min(100% - 2rem, var(--eyd-container));
	margin-inline: auto;
	display: grid;
	grid-template-columns: minmax(0, 1.06fr) minmax(18rem, .94fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}

.eyd-hero-copy {
	display: grid;
	gap: 1.15rem;
}

.eyd-hero-title {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(2.5rem, 5.7vw, 5.2rem);
	color: var(--eyd-blue-950);
}

.eyd-hero-text {
	max-width: 44rem;
	margin: 0;
	color: var(--eyd-muted);
	font-size: clamp(1.05rem, 1.35vw, 1.22rem);
}

.eyd-hero-card {
	background: var(--eyd-white);
	color: var(--eyd-ink);
	border: 1px solid var(--eyd-border);
	border-top: 7px solid var(--eyd-blue-700);
	border-radius: var(--eyd-radius-xl);
	padding: clamp(1.35rem, 3vw, 2.4rem);
	box-shadow: var(--eyd-shadow-lg);
}

.eyd-page-header {
	padding-block: clamp(3rem, 6vw, 5rem);
	background:
		linear-gradient(135deg, var(--eyd-soft) 0%, #ffffff 100%);
	border-bottom: 1px solid var(--eyd-border);
}

.eyd-page-header-inner {
	width: min(100% - 2rem, var(--eyd-container));
	margin-inline: auto;
}

.eyd-page-title {
	max-width: 15ch;
	margin: 0;
	font-size: clamp(2.15rem, 4.8vw, 4.25rem);
}

.eyd-page-lead {
	max-width: 50rem;
	color: var(--eyd-muted);
	font-size: clamp(1.05rem, 1.4vw, 1.22rem);
}

.eyd-footer-layout {
	display: grid;
	grid-template-columns: 1.25fr repeat(3, minmax(0, .7fr));
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}
