/* Scoped editorial shell: values resolve through the curated theme vocabulary. */
.wp-site-blocks {
	font-family: var(--wp--preset--font-family--utility);
	min-inline-size: 0;
	overflow-wrap: anywhere;
}

.wp-site-blocks :where(a, button, input, select, textarea, summary):focus-visible {
	outline: var(--wp--custom--focus-width) solid var(--wp--preset--color--leaf);
	outline-offset: var(--wp--preset--spacing--10);
}

.wp-site-blocks > :where(header, main, footer),
.wp-site-blocks > :where(header, main, footer) + :where(header, main, footer) {
	margin-block: 0;
}

.kdr-shell-header,
.kdr-shell-footer {
	border-color: var(--wp--preset--color--hairline);
	border-style: solid;
	border-width: 0;
}

.kdr-shell-header {
	background: var(--wp--preset--color--white);
	border-block-end-width: var(--wp--custom--rule-width);
	position: relative;
	z-index: 20;
}

.kdr-shell-header__row {
	align-items: center;
	box-sizing: border-box;
	flex-wrap: nowrap;
	gap: var(--wp--preset--spacing--30);
	inline-size: min(var(--wp--custom--shell--wide-size), calc(100vw - (2 * var(--wp--preset--spacing--20))));
	max-width: 100%;
	min-block-size: var(--wp--custom--shell--header-min-size);
	padding-block: var(--wp--preset--spacing--10);
}

.kdr-shell-header__brand {
	align-items: center;
	flex: 0 1 auto;
	max-width: 100%;
	min-inline-size: 0;
}

/* Keep brand spacing independent of core Global Styles load order. */
.kdr-shell-header .kdr-shell-header__brand {
	gap: var(--wp--preset--spacing--20);
}

.kdr-shell-header__mark {
	flex: 0 0 auto;
	inline-size: var(--wp--custom--header-mark-size);
	line-height: 0;
	margin: 0;
}

.kdr-shell-header .kdr-shell-header__mark > a.custom-logo-link,
.kdr-shell-header .kdr-shell-header__mark img.custom-logo {
	display: block;
	inline-size: 100%;
}

.kdr-shell-header .kdr-shell-header__mark img.custom-logo {
	block-size: auto;
	object-fit: contain;
}

.kdr-shell-header__brand-copy {
	min-inline-size: 0;
}

.kdr-shell-header .kdr-shell-header__brand-copy {
	gap: 0;
}

.kdr-shell-header__brand-name,
.kdr-shell-header__brand-tagline {
	margin: 0;
}

.kdr-shell-header__brand-name {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--custom--shell--brand-name-size);
	font-weight: 600;
	line-height: 1;
}

.kdr-shell-header__brand-name a {
	color: var(--wp--preset--color--navy);
	text-decoration: none;
}

.kdr-shell-header__brand-tagline {
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--utility);
	font-size: var(--wp--custom--shell--brand-tagline-size);
	font-weight: 550;
	letter-spacing: var(--wp--custom--home--eyebrow-tracking);
	line-height: 1.25;
	margin-block-start: var(--wp--preset--spacing--10);
	text-transform: uppercase;
}

.kdr-shell-header .wp-block-navigation {
	flex: 0 0 auto;
	margin-inline-start: auto;
}

.kdr-shell-header .wp-block-navigation__container {
	gap: var(--wp--preset--spacing--30);
}

.kdr-shell-header .wp-block-navigation-item__content {
	border-block-end: calc(2 * var(--wp--custom--rule-width)) solid transparent;
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--custom--shell--navigation-size);
	font-weight: 500;
	line-height: 1;
	padding-block: var(--wp--preset--spacing--20);
	text-decoration: none;
}

.kdr-shell-header :where(.current-menu-item, .current-menu-ancestor) > .wp-block-navigation-item__content,
.kdr-shell-header .wp-block-navigation-item__content[aria-current="page"],
.kdr-shell-header .wp-block-navigation-item__content:hover,
.kdr-shell-header .wp-block-navigation-item__content:focus-visible {
	border-block-end-color: var(--wp--preset--color--action);
}

.kdr-shell-header .wp-block-navigation__responsive-container-open,
.kdr-shell-header .wp-block-navigation__responsive-container-close {
	align-items: center;
	color: var(--wp--preset--color--navy);
	justify-content: center;
	min-block-size: var(--wp--custom--touch-target-size);
	min-inline-size: var(--wp--custom--touch-target-size);
}

.kdr-shell-header .wp-block-navigation__responsive-container-open {
	display: none;
}

.kdr-shell-footer {
	background: var(--wp--preset--color--navy);
	border-block-start-width: var(--wp--custom--rule-width);
	color: var(--wp--preset--color--white);
	margin-block-start: 0;
	padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
}

.kdr-shell-footer__inner {
	inline-size: min(var(--wp--custom--shell--wide-size), calc(100vw - (2 * var(--wp--preset--spacing--20))));
	max-width: 100%;
}

.kdr-shell-footer__grid {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kdr-shell-footer__column {
	margin: 0;
	min-inline-size: 0;
}

.kdr-shell-footer :where(a, p, h2, h3, li) {
	color: inherit;
}

.kdr-shell-footer__brand-name {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--custom--shell--footer-brand-size);
	font-weight: 500;
	line-height: 1.05;
	margin-block: 0 var(--wp--preset--spacing--20);
}

.kdr-shell-footer__brand p:last-child {
	font-size: var(--wp--preset--font-size--utility);
	opacity: 0.78;
}

.kdr-shell-footer__column h2 {
	font-family: var(--wp--preset--font-family--utility);
	font-size: var(--wp--custom--shell--footer-heading-size);
	font-weight: 650;
	letter-spacing: var(--wp--custom--home--eyebrow-tracking);
	margin-block: 0 var(--wp--preset--spacing--20);
	text-transform: uppercase;
}

.kdr-shell-footer__column ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.kdr-shell-footer__column li + li {
	margin-block-start: var(--wp--preset--spacing--10);
}

.kdr-shell-footer__column a,
.kdr-shell-footer__legal {
	font-size: var(--wp--preset--font-size--utility);
}

.kdr-shell-footer a {
	text-decoration-thickness: var(--wp--custom--rule-width);
	text-underline-offset: var(--wp--preset--spacing--10);
}

.kdr-shell-footer__legal {
	border-block-start: var(--wp--custom--rule-width) solid color-mix(in srgb, var(--wp--preset--color--white) 30%, transparent);
	margin-block-start: var(--wp--preset--spacing--50);
	opacity: 0.78;
	padding-block-start: var(--wp--preset--spacing--30);
}

.kdr-shell-footer__legal p {
	margin: 0;
}

.kdr-shell-main,
.kdr-composition-main {
	min-inline-size: 0;
}

.kdr-composition-main :where(figure, .wp-block-post-content) {
	min-inline-size: 0;
}

.kdr-composition-main :where(img, video, svg) {
	block-size: auto;
	max-inline-size: 100%;
}

@media (max-width: 64rem) {
	.kdr-shell-header__row,
	.kdr-shell-footer__inner {
		inline-size: calc(100vw - (2 * var(--wp--preset--spacing--30)));
	}

	.kdr-shell-header__row {
		flex-wrap: nowrap;
		min-block-size: calc(var(--wp--custom--touch-target-size) + var(--wp--preset--spacing--30));
	}

	.kdr-shell-header__brand {
		flex: 1 1 auto;
	}

	.kdr-shell-header__brand-tagline {
		display: none;
	}

	.kdr-shell-header .wp-block-navigation {
		flex: 0 0 auto;
	}

	.kdr-js .kdr-shell-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}

	.kdr-js .kdr-shell-header .wp-block-navigation__responsive-container-open {
		display: flex;
	}

	.kdr-shell-header .wp-block-navigation__responsive-container.is-menu-open {
		animation: none;
		background-color: var(--wp--preset--color--white);
		box-sizing: border-box;
		color: var(--wp--preset--color--navy);
		display: flex;
		inset: 0;
		min-block-size: 100vh;
		opacity: 1;
		padding: var(--wp--preset--spacing--20);
		position: fixed;
		z-index: 100;
	}

	.kdr-shell-header .wp-block-navigation__responsive-container-content {
		align-items: stretch;
		padding-block-start: var(--wp--preset--spacing--50);
	}

	.kdr-shell-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: stretch;
		gap: 0;
		inline-size: 100%;
	}

	.kdr-shell-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		border-block-end: var(--wp--custom--rule-width) solid var(--wp--preset--color--hairline);
		inline-size: 100%;
	}

	.kdr-shell-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		border: 0;
		font-size: var(--wp--custom--shell--mobile-navigation-size);
		inline-size: 100%;
		padding-block: var(--wp--preset--spacing--20);
	}

	html:not(.kdr-js) .kdr-shell-header__row {
		flex-wrap: wrap;
	}

	html:not(.kdr-js) .kdr-shell-header .wp-block-navigation {
		flex-basis: 100%;
		inline-size: 100%;
		margin-inline-start: 0;
	}

	html:not(.kdr-js) .kdr-shell-header .wp-block-navigation__responsive-container {
		display: block;
		position: static;
	}

	html:not(.kdr-js) .kdr-shell-header .wp-block-navigation__responsive-container-open,
	html:not(.kdr-js) .kdr-shell-header .wp-block-navigation__responsive-container-close {
		display: none;
	}

	html:not(.kdr-js) .kdr-shell-header .wp-block-navigation__container {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
		justify-content: flex-start;
	}

	html:not(.kdr-js) .kdr-shell-header .wp-block-navigation-item__content {
		font-family: var(--wp--preset--font-family--utility);
		font-size: var(--wp--preset--font-size--utility);
		padding-block: var(--wp--preset--spacing--10);
	}

	.kdr-shell-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 48rem) {
	.kdr-shell-header__row,
	.kdr-shell-footer__inner {
		inline-size: calc(100vw - (2 * var(--wp--preset--spacing--20)));
	}

	.kdr-shell-header__brand-name {
		font-size: var(--wp--custom--shell--brand-mobile-size);
	}

	.kdr-shell-footer__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.kdr-shell-footer__legal {
		align-items: flex-start;
		flex-direction: column;
		gap: var(--wp--preset--spacing--20);
	}
}

@media (prefers-reduced-motion: reduce) {
	.wp-site-blocks *,
	.wp-site-blocks *::before,
	.wp-site-blocks *::after {
		animation-duration: 0s;
		scroll-behavior: auto;
		transition-duration: 0s;
	}
}
