html {
	scroll-behavior: smooth;
}

.kwt-skip-link {
	background: var(--kwt-color-foreground);
	border-radius: var(--kwt-radius-pill);
	color: var(--kwt-color-background);
	font-weight: 700;
	left: 1rem;
	padding: 0.75rem 1rem;
	position: fixed;
	text-decoration: none;
	top: 1rem;
	transform: translateY(-150%);
	transition: transform var(--kwt-transition-fast);
	z-index: var(--kwt-z-toast);
}

.kwt-skip-link:focus,
.kwt-skip-link:focus-visible {
	box-shadow: var(--kwt-shadow-focus);
	outline: 2px solid var(--kwt-color-primary);
	outline-offset: 3px;
	transform: translateY(0);
}

body {
	background:
		radial-gradient(circle at top left, color-mix(in srgb, var(--kwt-color-primary) 12%, transparent), transparent 32rem),
		var(--kwt-color-background);
	color: var(--kwt-color-foreground);
	font-family: var(--wp--preset--font-family--roboto);
	font-size: var(--wp--preset--font-size--normal);
	line-height: 1.78;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

::selection {
	background: var(--kwt-color-selection);
	color: var(--kwt-color-foreground);
}

a {
	color: var(--kwt-color-primary);
	text-decoration: none;
	transition: color var(--kwt-transition-fast), background-color var(--kwt-transition-fast), border-color var(--kwt-transition-fast);
}

a:hover,
a:focus-visible {
	color: var(--kwt-color-accent);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	border-radius: var(--kwt-radius-xs);
	box-shadow: var(--kwt-shadow-focus);
	outline: 2px solid var(--kwt-color-primary);
	outline-offset: 3px;
}

button,
input,
select,
textarea {
	font: inherit;
}

img,
svg,
video {
	height: auto;
	max-width: 100%;
}

hr {
	border: 0;
	border-top: 1px solid var(--kwt-color-border);
}

.wp-site-blocks {
	min-height: 100vh;
	overflow-x: clip;
}

.wp-site-blocks > * + * {
	margin-block-start: 0;
}

.wp-site-blocks > main,
main.wp-block-group {
	margin-block-start: 0;
	padding-bottom: var(--wp--preset--spacing--70);
	padding-top: var(--wp--preset--spacing--50);
}

.wp-site-blocks > header,
header.wp-block-template-part {
	background: color-mix(in srgb, var(--kwt-color-background) 92%, transparent);
	border-bottom: 1px solid var(--kwt-color-border);
	position: sticky;
	top: 0;
	z-index: var(--kwt-z-header);
}

.kwt-site-notice {
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--kwt-color-primary) 18%, transparent), transparent 70%),
		color-mix(in srgb, var(--kwt-color-card) 94%, var(--kwt-color-background));
	border-bottom: 1px solid var(--kwt-color-border);
	color: var(--kwt-color-foreground);
	position: relative;
	z-index: calc(var(--kwt-z-header) + 1);
}

.kwt-site-notice__inner {
	align-items: center;
	display: flex;
	gap: 0.75rem;
	justify-content: center;
	margin-inline: auto;
	max-width: var(--kwt-wide-width);
	width: min(calc(100% - clamp(1rem, 4vw, 3rem)), var(--kwt-wide-width));
}

.kwt-site-notice__inner {
	min-height: 2.75rem;
	padding-block: 0.45rem;
	text-align: center;
}

.kwt-site-notice__message {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	line-height: 1.35;
}

.kwt-site-notice__link {
	border: 1px solid color-mix(in srgb, var(--kwt-color-primary) 28%, transparent);
	border-radius: var(--kwt-radius-pill);
	color: var(--kwt-color-primary);
	flex-shrink: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	padding: 0.35rem 0.7rem;
	text-decoration: none;
}

.kwt-site-notice__link:hover,
.kwt-site-notice__link:focus-visible {
	background: var(--kwt-color-primary);
	color: #ffffff;
}

.wp-site-blocks > header > .wp-block-group,
header.wp-block-template-part > .wp-block-group,
.kwt-site-header__inner {
	align-items: center;
	flex-wrap: nowrap;
	gap: clamp(1rem, 3vw, 2rem);
	justify-content: space-between;
	margin-inline: auto;
	max-width: var(--kwt-wide-width);
	width: min(calc(100% - clamp(1rem, 4vw, 3rem)), var(--kwt-wide-width));
}

.kwt-site-brand {
	align-items: center;
	flex: 0 0 auto;
	gap: 0.65rem;
	max-width: min(28vw, 18rem);
	min-width: 10rem;
	white-space: nowrap;
}

.kwt-site-brand .wp-block-site-title {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.kwt-site-brand .wp-block-site-logo {
	flex: 0 0 auto;
}

.wp-site-blocks > header .wp-block-site-title a,
header.wp-block-template-part .wp-block-site-title a {
	color: var(--kwt-color-foreground);
	text-decoration: none;
}

.wp-site-blocks > header .wp-block-navigation a,
header.wp-block-template-part .wp-block-navigation a,
.wp-site-blocks > header .kwt-menu--primary a,
header.wp-block-template-part .kwt-menu--primary a {
	/* WordPress Navigation can emit inline color styles; this keeps header links readable in light/dark themes. */
	color: var(--kwt-color-foreground) !important;
	text-decoration: none;
}

.wp-site-blocks > header .wp-block-navigation a:hover,
.wp-site-blocks > header .wp-block-navigation a:focus-visible,
header.wp-block-template-part .wp-block-navigation a:hover,
header.wp-block-template-part .wp-block-navigation a:focus-visible,
.wp-site-blocks > header .kwt-menu--primary a:hover,
.wp-site-blocks > header .kwt-menu--primary a:focus-visible,
header.wp-block-template-part .kwt-menu--primary a:hover,
header.wp-block-template-part .kwt-menu--primary a:focus-visible {
	color: var(--kwt-color-primary);
}

.wp-block-navigation,
.kwt-menu {
	flex: 1 1 auto;
	gap: 0.25rem 0.85rem;
	min-width: 0;
	position: relative;
	z-index: var(--kwt-z-dropdown);
}

.wp-block-navigation__container,
.kwt-menu__list {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	gap: 0.25rem 0.85rem;
	justify-content: flex-end;
	list-style: none;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.wp-block-navigation .wp-block-navigation-item,
.kwt-menu .menu-item {
	flex-shrink: 0;
	position: relative;
}

.wp-block-navigation .wp-block-navigation-item.has-child,
.kwt-menu .menu-item-has-children {
	align-items: center;
}

.wp-block-navigation .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container,
.kwt-menu .menu-item-has-children > .sub-menu {
	background: var(--kwt-color-card);
	border: 1px solid var(--kwt-color-border);
	border-radius: var(--kwt-radius-lg);
	box-shadow: var(--kwt-shadow-card);
	display: block;
	height: auto;
	left: 0;
	margin-top: 0.55rem;
	min-width: 13rem;
	opacity: 0;
	overflow: visible;
	padding: 0.45rem;
	pointer-events: none;
	position: absolute;
	right: auto;
	top: 100%;
	transform: translateY(-0.25rem);
	transition: opacity var(--kwt-transition-fast), transform var(--kwt-transition-fast), visibility var(--kwt-transition-fast);
	visibility: hidden;
	width: max-content;
	z-index: var(--kwt-z-dropdown);
}

.kwt-menu .sub-menu {
	list-style: none;
	margin-left: 0;
}

.wp-block-navigation .wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container,
.wp-block-navigation .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container,
.wp-block-navigation .wp-block-navigation-item.has-child.is-kwt-submenu-open > .wp-block-navigation__submenu-container,
.kwt-menu .menu-item-has-children:hover > .sub-menu,
.kwt-menu .menu-item-has-children:focus-within > .sub-menu,
.kwt-menu .menu-item-has-children.is-kwt-submenu-open > .sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	visibility: visible;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container,
.kwt-menu .sub-menu .menu-item-has-children > .sub-menu {
	left: calc(100% - 0.05rem);
	margin-top: 0;
	top: 0;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.kwt-menu .sub-menu .sub-menu .sub-menu {
	top: 0;
}

.wp-block-navigation .wp-block-navigation__submenu-container::before,
.kwt-menu .sub-menu::before {
	content: "";
	height: 0.65rem;
	inset: -0.65rem 0 auto;
	position: absolute;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.kwt-menu a {
	border-radius: var(--kwt-radius-md);
	display: block;
	padding: 0.55rem 0.75rem;
	white-space: nowrap;
}

.kwt-menu--primary a {
	background: transparent;
	color: var(--kwt-color-foreground);
}

.kwt-menu--primary a:hover,
.kwt-menu--primary a:focus-visible {
	background: color-mix(in srgb, var(--kwt-color-primary) 10%, transparent);
	color: var(--kwt-color-primary);
}

.kwt-menu a {
	color: var(--kwt-color-foreground);
	text-decoration: none;
}

.kwt-menu a:hover,
.kwt-menu a:focus-visible {
	color: var(--kwt-color-primary);
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal;
}

.screen-reader-text:focus {
	background: var(--kwt-color-card);
	border-radius: var(--kwt-radius-sm);
	box-shadow: var(--kwt-shadow-focus);
	clip: auto;
	clip-path: none;
	color: var(--kwt-color-foreground);
	height: auto;
	left: 1rem;
	padding: 0.75rem 1rem;
	top: 1rem;
	width: auto;
	z-index: var(--kwt-z-toast);
}

.wp-block-navigation .wp-block-navigation__submenu-icon {
	height: 0.75rem;
	margin-left: 0.25rem;
	width: 0.75rem;
}

.kwt-header-actions {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	flex-wrap: nowrap;
	gap: 0.65rem;
	min-width: 0;
}

.kwt-header-actions > .wp-block-navigation,
.kwt-header-actions > .kwt-menu {
	margin-left: auto;
}

.kwt-header-actions > .kwt-header-search + .kwt-menu {
	margin-left: 0;
}

.kwt-header-search {
	flex: 0 1 28rem;
	margin-left: auto;
	max-width: 34rem;
	min-width: 16rem;
	position: relative;
	width: clamp(18rem, 30vw, 34rem);
	z-index: calc(var(--kwt-z-dropdown) + 1);
}

.kwt-header-search__input {
	background: color-mix(in srgb, var(--kwt-color-card) 86%, transparent);
	border: 1px solid var(--kwt-color-border);
	border-radius: var(--kwt-radius-pill);
	box-shadow: var(--kwt-shadow-subtle);
	color: var(--kwt-color-foreground);
	font: inherit;
	font-size: var(--wp--preset--font-size--small);
	min-height: 2.5rem;
	padding: 0.65rem 2.45rem 0.65rem 1rem;
	transition: background-color var(--kwt-transition-fast), border-color var(--kwt-transition-fast), box-shadow var(--kwt-transition-fast);
	width: 100%;
}

.kwt-header-search__input::placeholder {
	color: var(--kwt-color-muted);
	opacity: 0.82;
}

.kwt-header-search__input:focus-visible {
	background: var(--kwt-color-card);
	border-color: color-mix(in srgb, var(--kwt-color-primary) 45%, transparent);
	box-shadow: var(--kwt-shadow-focus);
	outline: 0;
}

.kwt-header-search__hint {
	color: var(--kwt-color-muted);
	height: 1rem;
	pointer-events: none;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1rem;
}

.kwt-header-search__hint::before,
.kwt-header-search__hint::after {
	content: "";
	position: absolute;
}

.kwt-header-search__hint::before {
	border: 2px solid currentColor;
	border-radius: 999px;
	height: 0.58rem;
	left: 0;
	top: 0;
	width: 0.58rem;
}

.kwt-header-search__hint::after {
	background: currentColor;
	border-radius: 999px;
	height: 2px;
	right: 0.05rem;
	top: 0.68rem;
	transform: rotate(45deg);
	width: 0.42rem;
}

.kwt-search-suggestions[hidden] {
	display: none;
}

.kwt-search-suggestions {
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--kwt-color-primary) 8%, transparent), transparent 14rem),
		color-mix(in srgb, var(--kwt-color-card) 94%, transparent);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	border: 1px solid var(--kwt-color-border);
	border-radius: var(--kwt-radius-2xl);
	box-shadow: var(--kwt-shadow-hover);
	left: 0;
	max-height: min(70vh, 28rem);
	overflow-y: auto;
	padding: 0.55rem;
	position: absolute;
	right: 0;
	top: calc(100% + 0.65rem);
	width: min(100vw - 2rem, 34rem);
	z-index: var(--kwt-z-modal);
}

.kwt-search-suggestions__list {
	display: grid;
	gap: 0.35rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.kwt-search-suggestions__link {
	background: color-mix(in srgb, var(--kwt-color-background) 48%, transparent);
	border: 1px solid color-mix(in srgb, var(--kwt-color-border) 70%, transparent);
	border-radius: var(--kwt-radius-xl);
	color: var(--kwt-color-foreground);
	display: grid;
	gap: 0.22rem;
	padding: 0.8rem 0.9rem;
	text-decoration: none;
	transition: background-color var(--kwt-transition-fast), border-color var(--kwt-transition-fast), color var(--kwt-transition-fast), transform var(--kwt-transition-fast);
}

.kwt-search-suggestions__link:hover,
.kwt-search-suggestions__link:focus-visible {
	background: color-mix(in srgb, var(--kwt-color-primary) 12%, var(--kwt-color-card));
	border-color: color-mix(in srgb, var(--kwt-color-primary) 32%, transparent);
	color: var(--kwt-color-primary);
	transform: translateY(-1px);
}

.kwt-search-suggestions__type {
	color: var(--kwt-color-muted);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
}

.kwt-search-suggestions__title {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	line-height: 1.25;
}

.kwt-search-suggestions__excerpt {
	color: var(--kwt-color-muted);
	font-size: 0.82rem;
	line-height: 1.45;
}

.kwt-search-suggestions__empty,
.kwt-search-suggestions__loading {
	color: var(--kwt-color-muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
	margin: 0;
	padding: 0.95rem 1rem;
}

.kwt-search-rescue {
	display: none;
	position: fixed;
	right: clamp(1rem, 4vw, 2rem);
	top: calc(0.9rem + var(--wp-admin--admin-bar--height, 0px));
	z-index: calc(var(--kwt-z-header) + 2);
}

.kwt-search-rescue .kwt-header-search {
	margin-left: 0;
	pointer-events: auto;
}

.kwt-search-rescue .kwt-search-toggle {
	pointer-events: auto;
}

:root.kwt-search-fallback-needed .kwt-search-rescue {
	display: block;
}

:root.kwt-search-fallback-needed .kwt-search-rescue .kwt-search-toggle--rescue {
	display: none;
}

.kwt-menu-toggle {
	align-items: center;
	background: color-mix(in srgb, var(--kwt-color-card) 84%, transparent);
	border: 1px solid var(--kwt-color-border);
	border-radius: var(--kwt-radius-pill);
	box-shadow: var(--kwt-shadow-subtle);
	color: var(--kwt-color-foreground);
	cursor: pointer;
	display: none;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	gap: 0.5rem;
	min-height: 2.5rem;
	padding: 0.55rem 0.85rem;
}

.kwt-menu-toggle__icon,
.kwt-menu-toggle__icon::before,
.kwt-menu-toggle__icon::after {
	background: currentColor;
	border-radius: var(--kwt-radius-pill);
	content: "";
	display: block;
	height: 2px;
	transition: transform var(--kwt-transition-fast), opacity var(--kwt-transition-fast);
	width: 1.1rem;
}

.kwt-menu-toggle__icon {
	position: relative;
}

.kwt-menu-toggle__icon::before,
.kwt-menu-toggle__icon::after {
	left: 0;
	position: absolute;
}

.kwt-menu-toggle__icon::before {
	top: -0.36rem;
}

.kwt-menu-toggle__icon::after {
	top: 0.36rem;
}

[data-kwt-menu="on"] .kwt-menu-toggle__icon {
	background: transparent;
}

[data-kwt-menu="on"] .kwt-menu-toggle__icon::before {
	top: 0;
	transform: rotate(45deg);
}

[data-kwt-menu="on"] .kwt-menu-toggle__icon::after {
	top: 0;
	transform: rotate(-45deg);
}

.kwt-menu--footer {
	flex: 0 1 auto;
}

.kwt-menu--footer .kwt-menu__list {
	flex-wrap: wrap;
	justify-content: flex-end;
}

.kwt-search-toggle,
.kwt-mode-toggle {
	align-items: center;
	background: color-mix(in srgb, var(--kwt-color-card) 84%, transparent);
	border: 1px solid var(--kwt-color-border);
	border-radius: var(--kwt-radius-pill);
	box-shadow: var(--kwt-shadow-subtle);
	color: var(--kwt-color-foreground);
	cursor: pointer;
	display: inline-flex;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	justify-content: center;
	line-height: 1;
	min-height: 2.25rem;
	padding: 0.55rem 0.85rem;
	transition: background-color var(--kwt-transition-fast), border-color var(--kwt-transition-fast), color var(--kwt-transition-fast), transform var(--kwt-transition-fast);
	white-space: nowrap;
}

.kwt-search-toggle {
	display: none;
	font-size: 1.25rem;
	height: 2.5rem;
	min-width: 2.5rem;
	padding: 0.45rem;
	width: 2.5rem;
}

.kwt-search-toggle svg,
.kwt-search-toggle__icon {
	display: block;
	height: 1.15rem;
	width: 1.15rem;
}

.kwt-search-toggle__icon {
	position: relative;
}

.kwt-search-toggle__icon::before {
	border: 2px solid currentColor;
	border-radius: 999px;
	content: "";
	height: 0.72rem;
	left: 0.05rem;
	position: absolute;
	top: 0.05rem;
	width: 0.72rem;
}

.kwt-search-toggle__icon::after {
	background: currentColor;
	border-radius: 999px;
	bottom: 0.13rem;
	content: "";
	height: 2px;
	position: absolute;
	right: 0.03rem;
	transform: rotate(45deg);
	transform-origin: center;
	width: 0.5rem;
}

.kwt-search-toggle:hover,
.kwt-search-toggle:focus-visible,
.kwt-mode-toggle:hover,
.kwt-mode-toggle:focus-visible {
	background: var(--kwt-color-card);
	border-color: color-mix(in srgb, var(--kwt-color-primary) 38%, transparent);
	color: var(--kwt-color-primary);
	transform: translateY(-1px);
}

[data-kwt-distraction="on"] .kwt-mode-toggle[data-kwt-distraction-toggle] {
	background: var(--kwt-color-foreground);
	border-color: var(--kwt-color-foreground);
	color: var(--kwt-color-background);
}

.wp-site-blocks > footer,
footer.wp-block-template-part {
	--kwt-footer-background: color-mix(in srgb, var(--kwt-color-card) 88%, var(--kwt-color-background));
	--kwt-footer-foreground: var(--kwt-color-foreground);
	--kwt-footer-muted: var(--kwt-color-muted);
	--kwt-footer-border: color-mix(in srgb, var(--kwt-color-border) 82%, transparent);
	--kwt-footer-link-bg: color-mix(in srgb, var(--kwt-color-foreground) 5%, transparent);
	--kwt-footer-link-border: color-mix(in srgb, var(--kwt-color-foreground) 10%, transparent);
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--kwt-color-primary) 10%, transparent), transparent 36rem),
		var(--kwt-footer-background);
	border-top: 1px solid var(--kwt-footer-border);
	color: var(--kwt-footer-muted);
	margin-block-start: var(--wp--preset--spacing--70);
}

.wp-site-blocks > footer a,
footer.wp-block-template-part a {
	color: var(--kwt-footer-foreground);
}

.wp-site-blocks > footer a:hover,
.wp-site-blocks > footer a:focus-visible,
footer.wp-block-template-part a:hover,
footer.wp-block-template-part a:focus-visible {
	color: var(--kwt-color-primary);
}

.kwt-site-footer {
	padding-block: clamp(2.75rem, 6vw, 4.5rem) clamp(1.5rem, 4vw, 2.5rem);
}

.kwt-site-footer__inner {
	display: grid;
	gap: clamp(1.5rem, 4vw, 2.5rem);
}

.kwt-site-footer__top {
	align-items: flex-start;
	display: grid;
	gap: clamp(1.5rem, 5vw, 4rem);
	grid-template-columns: minmax(18rem, 1.4fr) minmax(11rem, 0.75fr) minmax(9rem, 0.55fr);
}

.kwt-site-footer__brand {
	max-width: 36rem;
	min-width: 0;
}

.kwt-site-footer__nav,
.kwt-site-footer__social {
	min-width: 0;
}

.kwt-site-footer__title {
	color: var(--kwt-footer-foreground);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
}

.kwt-site-footer__tagline,
.kwt-site-footer__note,
.kwt-site-footer__bottom p {
	color: var(--kwt-footer-muted);
}

.kwt-site-footer__tagline {
	margin-top: 0.45rem;
}

.kwt-site-footer__note {
	line-height: 1.7;
	margin-top: 0.9rem;
	max-width: 54ch;
}

.kwt-site-footer__heading {
	color: var(--kwt-footer-foreground);
	font-weight: 700;
	letter-spacing: 0.04em;
	margin: 0 0 0.75rem;
	text-transform: uppercase;
}

.kwt-site-footer .kwt-menu--footer .kwt-menu__list {
	align-items: flex-start;
	flex-direction: column;
	gap: 0.45rem;
	justify-content: flex-start;
}

.kwt-site-footer .kwt-menu--footer a {
	background: var(--kwt-footer-link-bg);
	border: 1px solid var(--kwt-footer-link-border);
	border-radius: var(--kwt-radius-pill);
	color: var(--kwt-footer-foreground);
	display: inline-flex;
	padding: 0.42rem 0.7rem;
	text-decoration: none;
	transition: background-color var(--kwt-transition-fast), border-color var(--kwt-transition-fast), color var(--kwt-transition-fast), transform var(--kwt-transition-fast);
}

.kwt-site-footer .kwt-menu--footer a:hover,
.kwt-site-footer .kwt-menu--footer a:focus-visible {
	background: color-mix(in srgb, var(--kwt-color-primary) 13%, transparent);
	border-color: color-mix(in srgb, var(--kwt-color-primary) 28%, transparent);
	color: var(--kwt-color-primary);
	transform: translateY(-1px);
}

.kwt-site-footer__social-links {
	gap: 0.65rem;
	margin: 0;
}

.kwt-site-footer__social-links .wp-social-link {
	background: var(--kwt-footer-link-bg);
	border: 1px solid var(--kwt-footer-link-border);
	border-radius: var(--kwt-radius-pill);
	color: var(--kwt-footer-foreground);
	transition: background-color var(--kwt-transition-fast), border-color var(--kwt-transition-fast), transform var(--kwt-transition-fast);
}

.kwt-site-footer__social-links .wp-social-link:hover,
.kwt-site-footer__social-links .wp-social-link:focus-within {
	background: color-mix(in srgb, var(--kwt-color-primary) 13%, transparent);
	border-color: color-mix(in srgb, var(--kwt-color-primary) 28%, transparent);
	transform: translateY(-1px);
}

.kwt-site-footer__bottom {
	border-top: 1px solid var(--kwt-footer-border);
	gap: 1rem;
	padding-top: 1.25rem;
}

.kwt-site-footer__bottom p {
	margin: 0;
}

.kwt-site-footer__klenwriter a {
	color: var(--kwt-footer-foreground);
	font-weight: 700;
}

.kwt-search-overlay[hidden] {
	display: none;
}

.kwt-search-overlay {
	align-items: flex-start;
	background: color-mix(in srgb, var(--kwt-color-background) 78%, rgba(0, 0, 0, 0.36));
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	display: flex;
	inset: 0;
	justify-content: center;
	padding: max(5rem, calc(2rem + var(--wp-admin--admin-bar--height, 0px))) 1rem 2rem;
	position: fixed;
	z-index: var(--kwt-z-modal);
}

.kwt-search-overlay__dialog {
	background: var(--kwt-color-card);
	border: 1px solid var(--kwt-color-border);
	border-radius: var(--kwt-radius-2xl);
	box-shadow: var(--kwt-shadow-hover);
	max-width: 44rem;
	padding: clamp(1.25rem, 4vw, 2.25rem);
	position: relative;
	width: min(100%, 44rem);
}

.kwt-search-overlay__close {
	align-items: center;
	background: color-mix(in srgb, var(--kwt-color-background) 80%, transparent);
	border: 1px solid var(--kwt-color-border);
	border-radius: var(--kwt-radius-pill);
	color: var(--kwt-color-foreground);
	cursor: pointer;
	display: inline-flex;
	font-size: 1.5rem;
	height: 2.5rem;
	justify-content: center;
	position: absolute;
	right: 1rem;
	top: 1rem;
	width: 2.5rem;
}

.kwt-search-overlay__form {
	display: grid;
	gap: 0.9rem;
	padding-top: 1rem;
}

.kwt-search-overlay__form label {
	font-size: clamp(1.75rem, 4vw, 3rem);
	font-weight: 700;
	line-height: 1.08;
}

.kwt-search-overlay__form input[type="search"] {
	background: color-mix(in srgb, var(--kwt-color-background) 72%, transparent);
	border: 1px solid var(--kwt-color-border);
	border-radius: var(--kwt-radius-xl);
	color: var(--kwt-color-foreground);
	font-size: clamp(1rem, 2vw, 1.25rem);
	min-height: 3.75rem;
	padding: 0.9rem 1.1rem;
	width: 100%;
}

.kwt-search-overlay__form button[type="submit"] {
	justify-self: start;
}

.kwt-search-overlay__hint {
	color: var(--kwt-color-muted);
	font-size: var(--wp--preset--font-size--small);
	margin: 1rem 0 0;
}

.wp-block-post-content,
.entry-content {
	max-width: var(--kwt-content-width);
	margin-inline: auto;
}

.wp-block-post-content > .alignwide,
.entry-content > .alignwide {
	max-width: var(--wp--style--global--wide-size);
}

.wp-block-post-content > .alignfull,
.entry-content > .alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: none;
	width: 100vw;
}

body.page .wp-block-post-content,
body.page .entry-content {
	max-width: var(--kwt-page-width);
}

.wp-block-post-content > p,
.wp-block-post-content > ul,
.wp-block-post-content > ol {
	letter-spacing: 0;
}

.wp-block-post-content > p {
	margin-bottom: 1.25em;
}

.wp-block-post-content :is(h1, h2, h3)[id],
.entry-content :is(h1, h2, h3)[id] {
	scroll-margin-top: calc(5rem + var(--wp-admin--admin-bar--height, 0px));
}

.alignwide {
	max-width: var(--wp--style--global--wide-size);
}

.kwt-site-main {
	box-sizing: border-box;
	max-width: var(--kwt-wide-width);
	margin-inline: auto;
	width: min(calc(100% - clamp(1.25rem, 5vw, 4rem)), var(--kwt-wide-width));
}

.kwt-layout,
.kwt-content-sidebar {
	align-items: start;
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	grid-template-columns: minmax(0, 1fr) minmax(16rem, 20rem);
	max-width: var(--kwt-wide-width);
	margin-inline: auto;
	width: min(100%, var(--kwt-wide-width));
}

.kwt-content,
.kwt-content-sidebar__content {
	margin-inline: auto;
	min-width: 0;
	width: 100%;
}

.kwt-content--reading,
.kwt-content-sidebar__content > * {
	max-width: var(--kwt-content-width);
	margin-inline: auto;
}

.kwt-content--page {
	max-width: var(--kwt-page-width);
	margin-inline: auto;
}

.kwt-content--archive {
	max-width: var(--kwt-wide-width);
}

.kwt-content-sidebar__content > .alignwide,
.kwt-content-sidebar--archive .kwt-content-sidebar__content > * {
	max-width: 100%;
}

.kwt-sidebar {
	align-self: start;
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--kwt-color-primary) 7%, transparent), transparent 14rem),
		color-mix(in srgb, var(--kwt-color-card) 88%, transparent);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	border: 1px solid color-mix(in srgb, var(--kwt-color-border) 82%, transparent);
	border-radius: var(--kwt-radius-2xl);
	box-shadow: var(--kwt-shadow-card);
	display: grid;
	gap: 1rem;
	padding: clamp(1rem, 2vw, 1.25rem);
	position: sticky;
	top: calc(5rem + var(--wp-admin--admin-bar--height, 0px));
}

.kwt-sidebar h2,
.kwt-sidebar h3 {
	color: var(--kwt-color-foreground);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.04em;
	margin: 0 0 0.65rem;
	text-transform: uppercase;
}

.kwt-sidebar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.kwt-sidebar .wp-block-search {
	margin: 0;
}

.kwt-sidebar .wp-block-search__inside-wrapper {
	background: color-mix(in srgb, var(--kwt-color-background) 46%, transparent);
	border: 1px solid color-mix(in srgb, var(--kwt-color-border) 82%, transparent);
	border-radius: var(--kwt-radius-pill);
	box-shadow: inset 0 1px 0 color-mix(in srgb, #ffffff 18%, transparent);
	gap: 0.35rem;
	padding: 0.25rem;
}

.kwt-sidebar .wp-block-search__input {
	background: transparent;
	border: 0;
	border-radius: var(--kwt-radius-pill);
	min-height: 2.6rem;
	padding-inline: 0.85rem;
}

.kwt-sidebar .wp-block-search__button {
	border-radius: var(--kwt-radius-pill);
	margin: 0;
	min-height: 2.6rem;
	padding-inline: 0.9rem;
}

.kwt-context-sidebar {
	display: grid;
	gap: 0;
}

.kwt-context-sidebar__section {
	border-top: 1px solid color-mix(in srgb, var(--kwt-color-border) 76%, transparent);
	padding-block: 1rem;
}

.kwt-context-sidebar__section:first-child {
	border-top: 0;
	padding-top: 0.25rem;
}

.kwt-context-sidebar__section h2 {
	margin: 0 0 0.7rem;
}

.kwt-context-sidebar__list {
	display: grid;
	gap: 0.35rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.kwt-context-sidebar__list a {
	border-radius: var(--kwt-radius-lg);
	color: var(--kwt-color-foreground);
	display: block;
	font-weight: 650;
	line-height: 1.35;
	padding: 0.58rem 0.68rem 0.15rem;
	text-decoration: none;
}

.kwt-context-sidebar__list li {
	border-radius: var(--kwt-radius-xl);
	transition: background-color var(--kwt-transition-fast), transform var(--kwt-transition-fast);
}

.kwt-context-sidebar__list li:hover,
.kwt-context-sidebar__list li:focus-within {
	background: color-mix(in srgb, var(--kwt-color-background) 48%, transparent);
	transform: translateY(-1px);
}

.kwt-context-sidebar__list a:hover,
.kwt-context-sidebar__list a:focus-visible {
	color: var(--kwt-color-primary);
}

.kwt-context-sidebar__meta {
	color: var(--kwt-color-muted);
	display: block;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.35;
	margin-top: -0.05rem;
	padding: 0 0.68rem 0.55rem;
}

.kwt-toc {
	background: color-mix(in srgb, var(--kwt-color-card) 90%, transparent);
	border: 1px solid var(--kwt-color-border);
	border-radius: var(--kwt-radius-xl);
	box-shadow: var(--kwt-shadow-subtle);
	margin-bottom: clamp(1.25rem, 3vw, 2rem);
	padding: clamp(1rem, 2.4vw, 1.35rem);
}

.kwt-toc__details {
	display: block;
}

.kwt-sidebar .kwt-toc {
	background: transparent;
	border: 0;
	border-top: 1px solid color-mix(in srgb, var(--kwt-color-border) 76%, transparent);
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	padding: 1rem 0 0;
}

.kwt-sidebar .kwt-toc__list {
	gap: 0.25rem;
}

.kwt-sidebar .kwt-toc__link {
	border-radius: var(--kwt-radius-lg);
	padding: 0.42rem 0.55rem;
	text-decoration: none;
}

.kwt-sidebar .kwt-toc__link:hover,
.kwt-sidebar .kwt-toc__link:focus-visible {
	background: color-mix(in srgb, var(--kwt-color-background) 48%, transparent);
}

.kwt-toc__title {
	align-items: center;
	cursor: pointer;
	display: flex;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
	justify-content: space-between;
	line-height: 1.25;
	list-style: none;
	margin: 0;
}

.kwt-toc__title::-webkit-details-marker {
	display: none;
}

.kwt-toc__title::after {
	color: var(--kwt-color-muted);
	content: "+";
	font-size: 1.2em;
	line-height: 1;
	margin-left: 1rem;
}

.kwt-toc__details[open] > .kwt-toc__title {
	margin-bottom: 0.65rem;
}

.kwt-toc__details[open] > .kwt-toc__title::after {
	content: "−";
}

.kwt-toc__list {
	display: grid;
	gap: 0.45rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.kwt-toc__list .kwt-toc__list {
	gap: 0.35rem;
	margin-top: 0.4rem;
	padding-left: 1rem;
}

.kwt-toc__item {
	color: var(--kwt-color-muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.45;
}

.kwt-toc__item--h3 {
	font-size: 0.92em;
}

.kwt-toc__item--h1 {
	color: var(--kwt-color-foreground);
	font-weight: 700;
}

.kwt-toc__item--h2 {
	color: color-mix(in srgb, var(--kwt-color-foreground) 82%, var(--kwt-color-muted));
}

.kwt-toc__item--placeholder {
	list-style: none;
}

.kwt-toc__link {
	color: inherit;
	text-decoration: none;
}

.kwt-toc__link:hover,
.kwt-toc__link:focus-visible {
	color: var(--kwt-color-primary);
}

.kwt-card,
.kwt-post-card,
.wp-block-post-template > li {
	background: var(--kwt-color-card);
	border: 1px solid var(--kwt-color-border);
	border-radius: var(--kwt-radius-xl);
	box-shadow: var(--kwt-shadow-card);
	overflow: hidden;
	position: relative;
	transition: border-color var(--kwt-transition-normal), box-shadow var(--kwt-transition-normal), transform var(--kwt-transition-normal);
}

.kwt-card,
.kwt-post-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.kwt-card__title,
.kwt-post-card .wp-block-post-title,
.wp-block-post-template > li .wp-block-post-title {
	-webkit-box-orient: vertical;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.kwt-card__excerpt,
.kwt-post-card .wp-block-post-excerpt,
.wp-block-post-template > li .wp-block-post-excerpt,
.kwt-related-card__excerpt,
.kwt-front-card__excerpt,
.kwt-reference-mini-card .wp-block-post-excerpt {
	-webkit-box-orient: vertical;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.kwt-card:hover,
.kwt-post-card:hover,
.kwt-post-card:focus-within,
.wp-block-post-template > li:hover,
.wp-block-post-template > li:focus-within {
	border-color: color-mix(in srgb, var(--kwt-color-primary) 32%, transparent);
	box-shadow: var(--kwt-shadow-hover);
	transform: translateY(-3px);
}

.wp-block-post-template > li:has(.kwt-post-card) {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
	padding: 0;
	transform: none;
}

.wp-block-post-template > li:has(.kwt-post-card):hover,
.wp-block-post-template > li:has(.kwt-post-card):focus-within {
	box-shadow: none;
	transform: none;
}

.wp-block-post-template > li a {
	position: relative;
	z-index: var(--kwt-z-base);
}

.kwt-post-hero {
	background:
		radial-gradient(circle at 18% 12%, rgba(39, 95, 214, 0.36), transparent 32rem),
		radial-gradient(circle at 82% 18%, rgba(15, 159, 143, 0.28), transparent 28rem),
		linear-gradient(135deg, #101827 0%, #1d2a44 52%, #0f766e 100%);
	border-radius: 0;
	color: #ffffff;
	isolation: isolate;
	margin-block-start: 0;
	min-height: clamp(26.25rem, 52vh, 35rem);
	overflow: hidden;
	position: relative;
}

.kwt-post-hero::after {
	background: var(--kwt-hero-overlay);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.kwt-post-hero .wp-block-cover__background {
	z-index: 1;
}

.kwt-post-hero .wp-block-cover__image-background,
.kwt-post-hero video.wp-block-cover__video-background {
	filter: saturate(1.02) contrast(1.02);
	transform: scale(1.01);
}

.kwt-post-hero .wp-block-cover__inner-container {
	color: inherit;
	position: relative;
	width: 100%;
	z-index: 2;
}

.kwt-post-hero__inner {
	margin-inline: auto;
	max-width: var(--kwt-hero-content-width);
	padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 3rem);
	text-align: center;
	text-shadow: 0 2px 26px rgba(0, 0, 0, 0.32);
}

.kwt-post-hero__content {
	margin-inline: auto;
	max-width: var(--kwt-hero-content-width);
}

.kwt-post-hero__inner > * {
	margin-block-start: 0;
}

.kwt-post-hero__inner > * + * {
	margin-block-start: clamp(0.85rem, 2vw, 1.25rem);
}

.kwt-post-hero__inner .wp-block-post-title,
.kwt-post-hero__inner .wp-block-heading {
	color: #ffffff;
	font-size: clamp(2.25rem, 7vw, 4.85rem);
	line-height: 1.04;
	margin-inline: auto;
	max-width: 12em;
	text-wrap: balance;
}

.kwt-post-hero--page {
	background:
		radial-gradient(circle at 18% 16%, rgba(39, 95, 214, 0.18), transparent 28rem),
		linear-gradient(135deg, color-mix(in srgb, var(--kwt-color-card) 78%, var(--kwt-color-primary)) 0%, var(--kwt-color-background) 100%);
	color: var(--kwt-color-foreground);
	min-height: clamp(20rem, 42vh, 26rem);
}

.kwt-post-hero--page::after {
	background: linear-gradient(180deg, rgba(8, 13, 26, 0.08) 0%, rgba(8, 13, 26, 0.44) 100%);
}

.kwt-post-hero--page .kwt-post-hero__inner .wp-block-post-title {
	font-size: clamp(2rem, 5vw, 3.5rem);
}

.kwt-post-hero--pattern {
	border-radius: var(--kwt-radius-2xl);
	box-shadow: var(--kwt-shadow-card);
}

.kwt-post-hero--pattern::after {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.68), rgba(255, 255, 255, 0.16));
}

.kwt-post-hero--pattern .wp-block-cover__inner-container,
.kwt-post-hero--pattern .kwt-post-hero__inner,
.kwt-post-hero--pattern .kwt-post-hero__inner .wp-block-heading {
	color: var(--kwt-color-foreground);
	text-shadow: none;
}

.kwt-post-hero__meta,
.kwt-post-hero__breadcrumbs {
	align-items: center;
	color: rgba(255, 255, 255, 0.88);
	display: flex;
	font-size: var(--kwt-breadcrumb-size);
	font-weight: 500;
	gap: 0.55rem;
	letter-spacing: 0.02em;
	line-height: 1.4;
	justify-content: center;
	margin-inline: auto;
	text-transform: uppercase;
}

.kwt-post-hero__meta {
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0;
	text-transform: none;
}

.kwt-breadcrumbs-wrap {
	margin-bottom: var(--wp--preset--spacing--50);
}

.kwt-breadcrumbs {
	color: var(--kwt-color-muted);
	font-size: var(--kwt-breadcrumb-size);
	font-weight: 500;
	line-height: 1.45;
}

.kwt-breadcrumbs__list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.kwt-breadcrumbs__item {
	align-items: center;
	display: inline-flex;
	gap: 0.35rem;
	min-width: 0;
}

.kwt-breadcrumbs__item:not(:last-child)::after {
	color: color-mix(in srgb, currentColor 58%, transparent);
	content: "/";
}

.kwt-breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.kwt-breadcrumbs a:hover,
.kwt-breadcrumbs a:focus-visible {
	color: var(--kwt-color-primary);
}

.kwt-breadcrumbs [aria-current="page"],
.kwt-breadcrumbs .last {
	color: var(--kwt-color-foreground);
}

.kwt-breadcrumbs--rank-math .rank-math-breadcrumb,
.kwt-breadcrumbs--rank-math p {
	margin: 0;
}

.kwt-post-hero__breadcrumbs .kwt-breadcrumbs {
	color: rgba(255, 255, 255, 0.88);
}

.kwt-post-hero__breadcrumbs .kwt-breadcrumbs a {
	color: inherit;
}

.kwt-post-hero__breadcrumbs .kwt-breadcrumbs a:hover,
.kwt-post-hero__breadcrumbs .kwt-breadcrumbs a:focus-visible {
	color: #ffffff;
}

.kwt-post-hero__breadcrumbs .kwt-breadcrumbs [aria-current="page"],
.kwt-post-hero__breadcrumbs .kwt-breadcrumbs .last,
.kwt-post-hero__breadcrumbs .kwt-breadcrumbs .separator {
	color: rgba(255, 255, 255, 0.82);
}

.kwt-post-hero__meta a,
.kwt-post-hero__breadcrumbs a,
.kwt-post-hero__meta .wp-block-post-author-name a {
	color: inherit;
	text-decoration: none;
}

.kwt-post-hero__meta a:hover,
.kwt-post-hero__meta a:focus-visible,
.kwt-post-hero__breadcrumbs a:hover,
.kwt-post-hero__breadcrumbs a:focus-visible {
	color: #ffffff;
}

.kwt-post-hero__breadcrumbs p,
.kwt-post-hero__meta p {
	margin: 0;
}

.kwt-post-hero--page .kwt-post-hero__breadcrumbs,
.kwt-post-hero--pattern .kwt-post-hero__breadcrumbs,
.kwt-post-hero--pattern .kwt-post-hero__inner p {
	color: color-mix(in srgb, var(--kwt-color-foreground) 78%, transparent);
}

.kwt-post-footer {
	border-top: 1px solid var(--kwt-color-border);
	color: var(--kwt-color-muted);
	margin-top: var(--wp--preset--spacing--70);
	padding-top: var(--wp--preset--spacing--50);
}

.kwt-post-footer a {
	font-weight: 500;
}

.kwt-author-box-wrap,
.kwt-related-posts-wrap {
	margin-top: var(--wp--preset--spacing--70);
}

.kwt-author-box {
	align-items: center;
	background:
		radial-gradient(circle at 8% 10%, color-mix(in srgb, var(--kwt-color-primary) 12%, transparent), transparent 18rem),
		var(--kwt-color-card);
	border: 1px solid var(--kwt-color-border);
	border-radius: var(--kwt-radius-2xl);
	box-shadow: var(--kwt-shadow-card);
	display: grid;
	gap: clamp(1rem, 3vw, 1.5rem);
	grid-template-columns: auto minmax(0, 1fr);
	padding: clamp(1.25rem, 4vw, 2rem);
}

.kwt-author-box__avatar {
	align-self: start;
	border-radius: var(--kwt-radius-xl);
	overflow: hidden;
}

.kwt-author-box__avatar img {
	border-radius: var(--kwt-radius-xl);
	display: block;
	height: 6rem;
	width: 6rem;
}

.kwt-author-box__content > * {
	margin-block-start: 0;
}

.kwt-author-box__content > * + * {
	margin-block-start: 0.65rem;
}

.kwt-author-box__label {
	color: var(--kwt-color-primary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
}

.kwt-author-box__name {
	color: var(--kwt-color-foreground);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.2;
}

.kwt-author-box__bio {
	color: var(--kwt-color-muted);
	max-width: 58ch;
}

.kwt-author-box__link {
	display: inline-flex;
	font-weight: 500;
	width: fit-content;
}

.kwt-related-posts {
	margin-top: var(--wp--preset--spacing--70);
}

.kwt-related-posts__header {
	margin-bottom: var(--wp--preset--spacing--50);
}

.kwt-related-posts__header > * {
	margin-block-start: 0;
}

.kwt-related-posts__header > * + * {
	margin-block-start: 0.35rem;
}

.kwt-related-posts__eyebrow {
	color: var(--kwt-color-primary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
}

.kwt-related-posts__title {
	color: var(--kwt-color-foreground);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.2;
}

.kwt-related-posts__grid {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	grid-template-columns: 1fr;
}

.kwt-related-card {
	background: var(--kwt-color-card);
	border: 1px solid var(--kwt-color-border);
	border-radius: var(--kwt-radius-xl);
	box-shadow: var(--kwt-shadow-card);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: border-color var(--kwt-transition-normal), box-shadow var(--kwt-transition-normal), transform var(--kwt-transition-normal);
}

.kwt-related-card:hover,
.kwt-related-card:focus-within {
	border-color: color-mix(in srgb, var(--kwt-color-primary) 32%, transparent);
	box-shadow: var(--kwt-shadow-hover);
	transform: translateY(-3px);
}

.kwt-related-card__image {
	display: block;
	overflow: hidden;
	text-decoration: none;
}

.kwt-related-card__image img {
	aspect-ratio: 16 / 10;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.kwt-related-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.7rem;
	padding: 1.15rem;
}

.kwt-related-card__content > * {
	margin: 0;
}

.kwt-related-card__date {
	color: var(--kwt-color-muted);
	font-size: var(--wp--preset--font-size--small);
}

.kwt-related-card__title {
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.25;
}

.kwt-related-card__title a {
	color: var(--kwt-color-foreground);
	text-decoration-color: transparent;
}

.kwt-related-card__title a:hover,
.kwt-related-card__title a:focus-visible {
	color: var(--kwt-color-primary);
	text-decoration-color: currentColor;
}

.kwt-related-card__excerpt {
	color: var(--kwt-color-muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
	margin-top: auto;
}

.kwt-search-page {
	padding-top: var(--wp--preset--spacing--60);
}

.kwt-search-hero,
.kwt-empty-state {
	background:
		radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--kwt-color-primary) 16%, transparent), transparent 22rem),
		var(--kwt-color-card);
	border: 1px solid var(--kwt-color-border);
	border-radius: var(--kwt-radius-2xl);
	box-shadow: var(--kwt-shadow-card);
	margin-bottom: var(--wp--preset--spacing--60);
	padding: clamp(1.35rem, 5vw, 3rem);
}

.kwt-search-hero > *,
.kwt-empty-state > * {
	margin-block-start: 0;
}

.kwt-search-hero > * + *,
.kwt-empty-state > * + * {
	margin-block-start: 1rem;
}

.kwt-search-hero .wp-block-heading,
.kwt-empty-state .wp-block-heading {
	color: var(--kwt-color-foreground);
	line-height: 1.12;
	max-width: 12em;
}

.kwt-search-hero p,
.kwt-empty-state p {
	color: var(--kwt-color-muted);
	max-width: 42rem;
}

.kwt-search-page__form,
.kwt-empty-state .wp-block-search {
	margin-top: var(--wp--preset--spacing--50);
	max-width: 42rem;
}

.kwt-empty-state {
	margin-left: auto;
	margin-right: auto;
	max-width: 44rem;
	text-align: center;
}

.kwt-empty-state .wp-block-heading,
.kwt-empty-state p,
.kwt-empty-state .wp-block-search {
	margin-left: auto;
	margin-right: auto;
}

.kwt-empty-state .wp-block-buttons {
	justify-content: center;
}

.kwt-404 {
	min-height: min(46rem, 72vh);
	padding-top: clamp(2rem, 7vw, 6rem);
}

.kwt-404 .kwt-empty-state {
	margin-bottom: 0;
}

.kwt-404__eyebrow {
	color: var(--kwt-color-primary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

:root[data-kwt-theme="dark"] body {
	background:
		radial-gradient(circle at top left, color-mix(in srgb, var(--kwt-color-primary) 13%, transparent), transparent 32rem),
		var(--kwt-color-background);
}

:root[data-kwt-theme="dark"] .kwt-post-hero--pattern::after {
	background: linear-gradient(135deg, rgba(21, 27, 46, 0.92), rgba(21, 27, 46, 0.6));
}

:root[data-kwt-theme="dark"] .kwt-post-hero--pattern .wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--kwt-color-foreground);
}

:root {
	--kwt-reading-font-size: 18px;
	--kwt-reading-line-height: 1.86;
	--kwt-reading-width: 820px;
	--kwt-reading-bg: var(--kwt-color-background);
	--kwt-reading-color: var(--kwt-color-foreground);
}

:root[data-kwt-reading-bg="light"] {
	--kwt-reading-bg: #f7f8fb;
}

:root[data-kwt-reading-bg="warm"] {
	--kwt-reading-bg: #fbf3e7;
}

:root[data-kwt-reading-bg="dark"] {
	--kwt-reading-bg: #111827;
}

:root[data-kwt-reading-bg="paper"] {
	--kwt-reading-bg: #f6f0df;
}

:root[data-kwt-reading-text="normal"] {
	--kwt-reading-color: #182033;
}

:root[data-kwt-reading-text="soft"] {
	--kwt-reading-color: #465268;
}

:root[data-kwt-reading-text="contrast"] {
	--kwt-reading-color: #05070d;
}

:root[data-kwt-reading-bg="dark"][data-kwt-reading-text="normal"],
:root[data-kwt-reading-bg="dark"][data-kwt-reading-text="contrast"] {
	--kwt-reading-color: #f8fafc;
}

:root[data-kwt-reading-bg="dark"][data-kwt-reading-text="soft"] {
	--kwt-reading-color: #cbd5e1;
}

:root[data-kwt-distraction="on"] body:not(.block-editor-page) .wp-site-blocks > header,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .wp-site-blocks > footer,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) header.wp-block-template-part,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) footer.wp-block-template-part,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) aside,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-sidebar,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .wp-block-navigation,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-site-search,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .wp-block-widget-area,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .widget,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-post-hero__breadcrumbs,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-breadcrumbs-wrap,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-breadcrumbs,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-author-box-wrap,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-related-posts-wrap,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-related-posts,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-author-box,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .author-box,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .related-posts,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .wp-block-post-navigation-link {
	display: none;
}

:root[data-kwt-distraction="on"] body:not(.block-editor-page) .wp-site-blocks {
	background: var(--kwt-reading-bg);
	color: var(--kwt-reading-color);
}

:root[data-kwt-distraction="on"] body:not(.block-editor-page) main.wp-block-group {
	padding-top: clamp(2rem, 6vw, 5rem);
}

:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-content,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .wp-block-post-content,
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .entry-content {
	color: var(--kwt-reading-color);
	font-size: var(--kwt-reading-font-size);
	line-height: var(--kwt-reading-line-height);
	max-width: var(--kwt-reading-width);
}

:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-content {
	margin-left: auto;
	margin-right: auto;
	width: min(100%, var(--kwt-reading-width));
}

:root[data-kwt-distraction="on"] body:not(.block-editor-page) .wp-block-post-content :where(p, li),
:root[data-kwt-distraction="on"] body:not(.block-editor-page) .entry-content :where(p, li) {
	color: var(--kwt-reading-color);
	font-size: inherit;
	line-height: var(--kwt-reading-line-height);
}

:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-post-hero {
	min-height: clamp(18rem, 46vh, 28rem);
}

:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-post-hero__inner {
	max-width: var(--kwt-reading-width);
	padding-bottom: clamp(1.5rem, 5vw, 3rem);
	padding-top: clamp(2.5rem, 7vw, 5rem);
}

.kwt-distraction-exit {
	background: var(--kwt-color-foreground);
	border: 1px solid var(--kwt-color-foreground);
	border-radius: var(--kwt-radius-pill);
	box-shadow: var(--kwt-shadow-card);
	color: var(--kwt-color-background);
	cursor: pointer;
	display: none;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	min-height: 2.5rem;
	padding: 0.65rem 1rem;
	position: fixed;
	right: 1rem;
	top: calc(1rem + var(--wp-admin--admin-bar--height, 0px));
	z-index: var(--kwt-z-toast);
}

:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-distraction-exit {
	display: inline-flex;
}

.kwt-back-to-top {
	align-items: center;
	background: color-mix(in srgb, var(--kwt-color-foreground) 92%, transparent);
	border: 1px solid color-mix(in srgb, var(--kwt-color-foreground) 88%, transparent);
	border-radius: var(--kwt-radius-pill);
	bottom: 1.25rem;
	box-shadow: var(--kwt-shadow-card);
	color: var(--kwt-color-background);
	cursor: pointer;
	display: inline-flex;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	justify-content: center;
	min-height: 2.5rem;
	padding: 0.65rem 1rem;
	position: fixed;
	right: 1.25rem;
	z-index: var(--kwt-z-toast);
}

.kwt-back-to-top[hidden] {
	display: none;
}

.kwt-back-to-top:hover,
.kwt-back-to-top:focus-visible {
	background: var(--kwt-color-primary);
	border-color: var(--kwt-color-primary);
	color: #ffffff;
}

:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-back-to-top {
	opacity: 0.72;
	right: 5.4rem;
}

.kwt-reading-settings-toggle {
	align-items: center;
	background: color-mix(in srgb, var(--kwt-color-foreground) 92%, transparent);
	border: 1px solid color-mix(in srgb, var(--kwt-color-foreground) 88%, transparent);
	border-radius: var(--kwt-radius-pill);
	bottom: 1.25rem;
	box-shadow: var(--kwt-shadow-card);
	color: var(--kwt-color-background);
	cursor: pointer;
	display: none;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	justify-content: center;
	min-height: 2.5rem;
	min-width: 3.25rem;
	padding: 0.65rem 0.9rem;
	position: fixed;
	right: 1.25rem;
	z-index: calc(var(--kwt-z-toast) + 1);
}

:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-reading-settings-toggle {
	display: inline-flex;
}

.kwt-reading-settings-toggle:hover,
.kwt-reading-settings-toggle:focus-visible {
	background: var(--kwt-color-primary);
	border-color: var(--kwt-color-primary);
	color: #ffffff;
}

.kwt-reading-settings-panel {
	background: color-mix(in srgb, var(--kwt-color-card) 92%, transparent);
	border: 1px solid var(--kwt-color-border);
	border-radius: var(--kwt-radius-2xl);
	bottom: 4.35rem;
	box-shadow: var(--kwt-shadow-hover);
	color: var(--kwt-color-foreground);
	display: grid;
	gap: 0.85rem;
	max-width: min(24rem, calc(100vw - 2rem));
	padding: 1rem;
	position: fixed;
	right: 1.25rem;
	transform: translateY(0.5rem);
	width: 24rem;
	z-index: calc(var(--kwt-z-toast) + 2);
}

.kwt-reading-settings-panel[hidden] {
	display: none;
}

.kwt-reading-settings-panel.is-open {
	animation: kwt-reading-settings-in 180ms ease-out both;
}

.kwt-reading-settings__group {
	display: grid;
	gap: 0.45rem;
}

.kwt-reading-settings__label {
	color: var(--kwt-color-muted);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	line-height: 1.3;
}

.kwt-reading-settings__controls {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.kwt-reading-settings__button,
.kwt-reading-settings__reset,
.kwt-reading-settings__value {
	align-items: center;
	background: color-mix(in srgb, var(--kwt-color-background) 52%, var(--kwt-color-card));
	border: 1px solid var(--kwt-color-border);
	border-radius: var(--kwt-radius-pill);
	color: var(--kwt-color-foreground);
	display: inline-flex;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	min-height: 2.35rem;
	padding: 0.55rem 0.8rem;
	text-align: center;
}

.kwt-reading-settings__button,
.kwt-reading-settings__reset {
	cursor: pointer;
	transition: background-color var(--kwt-transition-fast), border-color var(--kwt-transition-fast), color var(--kwt-transition-fast), transform var(--kwt-transition-fast);
}

.kwt-reading-settings__value {
	color: var(--kwt-color-muted);
	min-width: 4.6rem;
}

.kwt-reading-settings__button[aria-pressed="true"] {
	background: var(--kwt-color-foreground);
	border-color: var(--kwt-color-foreground);
	color: var(--kwt-color-background);
	box-shadow: var(--kwt-shadow-subtle);
}

.kwt-reading-settings__button:hover,
.kwt-reading-settings__button:focus-visible,
.kwt-reading-settings__reset:hover,
.kwt-reading-settings__reset:focus-visible {
	background: var(--kwt-color-primary);
	border-color: var(--kwt-color-primary);
	color: #ffffff;
	transform: translateY(-1px);
}

.kwt-reading-settings__reset {
	justify-self: start;
	margin-top: 0.2rem;
}

@keyframes kwt-reading-settings-in {
	from {
		opacity: 0;
		transform: translateY(0.7rem) scale(0.98);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.wp-site-blocks > header,
	header.wp-block-template-part {
		-webkit-backdrop-filter: saturate(160%) blur(var(--kwt-backdrop-blur));
		backdrop-filter: saturate(160%) blur(var(--kwt-backdrop-blur));
		background: var(--kwt-backdrop-background);
		border-bottom-color: var(--kwt-backdrop-border);
	}

	.kwt-reading-settings-panel {
		-webkit-backdrop-filter: saturate(160%) blur(var(--kwt-backdrop-blur));
		backdrop-filter: saturate(160%) blur(var(--kwt-backdrop-blur));
		background: var(--kwt-backdrop-background);
	}

	.kwt-post-hero__breadcrumbs,
	.kwt-post-hero__meta {
		-webkit-backdrop-filter: blur(8px);
		backdrop-filter: blur(8px);
		background: rgba(255, 255, 255, 0.12);
		border: 1px solid rgba(255, 255, 255, 0.18);
		border-radius: var(--kwt-radius-pill);
		padding: 0.45rem 0.7rem;
		width: fit-content;
	}

	.kwt-post-hero--pattern .kwt-post-hero__breadcrumbs {
		background: rgba(255, 255, 255, 0.58);
		border-color: rgba(255, 255, 255, 0.42);
	}
}

@media (max-width: 920px) {
	body.kwt-menu-is-open {
		overflow: hidden;
	}

	body .wp-block-navigation__responsive-container.is-menu-open {
		background:
			radial-gradient(circle at top left, color-mix(in srgb, var(--kwt-color-primary) 14%, transparent), transparent 18rem),
			linear-gradient(180deg, color-mix(in srgb, var(--kwt-color-card) 92%, transparent), var(--kwt-color-background)),
			var(--kwt-color-card);
		box-sizing: border-box;
		color: var(--kwt-color-foreground);
		height: 100dvh;
		inset: 0;
		left: 0;
		max-width: none;
		min-height: 100vh;
		overflow: visible !important; /* WordPress can add inline overflow that clips mobile submenus. */
		padding: calc(5.25rem + var(--wp-admin--admin-bar--height, 0px)) clamp(1rem, 5vw, 2rem) max(2rem, env(safe-area-inset-bottom));
		position: fixed;
		right: 0;
		top: 0;
		transform: none;
		width: auto;
		z-index: var(--kwt-z-modal);
	}

	body .wp-block-navigation__responsive-dialog,
	body .wp-block-navigation__responsive-container-content {
		margin: 0 auto;
		max-width: 34rem;
		min-width: 0;
		overflow-y: auto;
		padding-inline: 0;
		width: 100%;
	}

	body .wp-block-navigation__responsive-dialog::before {
		color: var(--kwt-color-muted);
		content: "Меню";
		display: block;
		font-size: var(--wp--preset--font-size--small);
		font-weight: 800;
		letter-spacing: 0.08em;
		margin: 0 0 0.85rem;
		text-transform: uppercase;
	}

	body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		align-items: stretch;
		display: flex;
		flex-direction: column;
		gap: 0.55rem;
		padding: 0;
	}

	body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: stretch;
		background: color-mix(in srgb, var(--kwt-color-card) 72%, transparent);
		border: 1px solid color-mix(in srgb, var(--kwt-color-border) 84%, transparent);
		border-radius: var(--kwt-radius-2xl);
		box-shadow: var(--kwt-shadow-card);
		display: grid;
		gap: 0.5rem;
		justify-content: stretch;
		padding: 0.55rem;
		width: 100%;
	}

	body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		width: 100%;
	}

	body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
	body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
		align-items: center;
		background: color-mix(in srgb, var(--kwt-color-background) 58%, transparent);
		border: 1px solid color-mix(in srgb, var(--kwt-color-border) 70%, transparent);
		border-radius: var(--kwt-radius-xl);
		color: var(--kwt-color-foreground);
		display: flex;
		font-size: var(--wp--preset--font-size--medium);
		font-weight: 700;
		justify-content: space-between;
		line-height: 1.25;
		min-height: 3.15rem;
		padding: 0.82rem 1rem;
		text-decoration: none;
		transition: background-color var(--kwt-transition-fast), border-color var(--kwt-transition-fast), color var(--kwt-transition-fast), transform var(--kwt-transition-fast);
		width: 100%;
	}

	body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
	body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible,
	body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle:hover,
	body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle:focus-visible {
		background: color-mix(in srgb, var(--kwt-color-primary) 12%, var(--kwt-color-card));
		border-color: color-mix(in srgb, var(--kwt-color-primary) 32%, transparent);
		color: var(--kwt-color-primary);
		transform: translateY(-1px);
	}

	body .wp-block-navigation__responsive-container-open,
	body .wp-block-navigation__responsive-container-close {
		color: var(--kwt-color-foreground);
	}

	body .wp-block-navigation__responsive-container-close {
		right: clamp(1rem, 5vw, 2rem);
		top: calc(1rem + var(--wp-admin--admin-bar--height, 0px));
	}

	body .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		background: transparent;
		border: 0;
		border-left: 1px solid color-mix(in srgb, var(--kwt-color-border) 90%, transparent);
		box-shadow: none;
		display: grid;
		gap: 0.45rem;
		margin: 0;
		min-width: 0;
		padding: 0.5rem 0 0 0.8rem;
		position: static;
		width: 100%;
	}

	.kwt-header-actions {
		flex: 0 0 auto;
		gap: 0.45rem;
		justify-content: flex-end;
		margin-left: auto;
		width: auto;
	}

	.kwt-header-search {
		display: none;
	}

	:root.kwt-search-fallback-needed .kwt-search-rescue {
		display: block;
		right: 1rem;
		top: calc(0.95rem + var(--wp-admin--admin-bar--height, 0px));
	}

	:root.kwt-search-fallback-needed .kwt-search-rescue .kwt-header-search--rescue {
		display: none;
	}

	:root.kwt-search-fallback-needed .kwt-search-rescue .kwt-search-toggle--rescue {
		display: inline-flex;
	}

	.wp-site-blocks > header > .wp-block-group,
	header.wp-block-template-part > .wp-block-group,
	.kwt-site-header__inner {
		flex-wrap: nowrap;
		gap: 0.75rem;
	}

	.kwt-site-brand {
		flex: 1 1 auto;
		max-width: 100%;
		min-width: 0;
	}

	.kwt-site-brand .wp-block-site-title {
		max-width: min(52vw, 18rem);
	}

	.kwt-menu-toggle {
		display: inline-flex;
		order: 5;
		position: relative;
		z-index: calc(var(--kwt-z-modal) + 1);
	}

	.kwt-menu-toggle__text {
		display: none;
	}

	.kwt-header-actions > .kwt-menu--primary {
		background:
			radial-gradient(circle at top left, color-mix(in srgb, var(--kwt-color-primary) 14%, transparent), transparent 18rem),
			linear-gradient(180deg, color-mix(in srgb, var(--kwt-color-card) 92%, transparent), var(--kwt-color-background)),
			var(--kwt-color-card);
		-webkit-backdrop-filter: blur(18px);
		backdrop-filter: blur(18px);
		border: 0;
		border-radius: 0;
		box-sizing: border-box;
		box-shadow: var(--kwt-shadow-hover);
		display: block;
		inset: 0;
		left: 0;
		margin: 0;
		opacity: 0;
		overflow-x: hidden;
		overflow-y: auto;
		padding: calc(5.25rem + var(--wp-admin--admin-bar--height, 0px)) clamp(1rem, 5vw, 2rem) max(2rem, env(safe-area-inset-bottom));
		pointer-events: none;
		position: fixed;
		right: 0;
		top: 0;
		transform: translateY(-0.5rem);
		transition: opacity var(--kwt-transition-fast), transform var(--kwt-transition-fast), visibility var(--kwt-transition-fast);
		visibility: hidden;
		width: auto;
		z-index: var(--kwt-z-modal);
	}

	.kwt-header-actions > .kwt-menu--primary::before {
		color: var(--kwt-color-muted);
		content: "Меню";
		display: block;
		font-size: var(--wp--preset--font-size--small);
		font-weight: 800;
		letter-spacing: 0.08em;
		margin: 0 auto 0.85rem;
		max-width: 34rem;
		text-transform: uppercase;
		width: 100%;
	}

	[data-kwt-menu="on"] .kwt-header-actions > .kwt-menu--primary {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
	}

	.kwt-menu--primary .kwt-menu__list {
		align-items: stretch;
		background: color-mix(in srgb, var(--kwt-color-card) 72%, transparent);
		border: 1px solid color-mix(in srgb, var(--kwt-color-border) 84%, transparent);
		border-radius: var(--kwt-radius-2xl);
		box-shadow: var(--kwt-shadow-card);
		display: grid;
		gap: 0.5rem;
		justify-content: stretch;
		margin-inline: auto;
		max-width: 34rem;
		min-width: 0;
		padding: 0.55rem;
		width: 100%;
	}

	.kwt-menu--primary .menu-item {
		flex-shrink: 1;
		width: 100%;
	}

	.kwt-menu--primary a {
		align-items: center;
		background: color-mix(in srgb, var(--kwt-color-background) 58%, transparent);
		border: 1px solid color-mix(in srgb, var(--kwt-color-border) 70%, transparent);
		border-radius: var(--kwt-radius-xl);
		color: var(--kwt-color-foreground);
		display: flex;
		font-size: var(--wp--preset--font-size--medium);
		font-weight: 700;
		justify-content: space-between;
		line-height: 1.25;
		min-height: 3.15rem;
		padding: 0.82rem 1rem;
		transition: background-color var(--kwt-transition-fast), border-color var(--kwt-transition-fast), color var(--kwt-transition-fast), transform var(--kwt-transition-fast);
		white-space: normal;
		width: 100%;
	}

	.kwt-menu--primary a:hover,
	.kwt-menu--primary a:focus-visible {
		background: color-mix(in srgb, var(--kwt-color-primary) 12%, var(--kwt-color-card));
		border-color: color-mix(in srgb, var(--kwt-color-primary) 32%, transparent);
		color: var(--kwt-color-primary);
		transform: translateY(-1px);
	}

	.kwt-menu--primary .current-menu-item > a,
	.kwt-menu--primary .current-menu-ancestor > a,
	body .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > a,
	body .wp-block-navigation__responsive-container.is-menu-open .current-menu-ancestor > a {
		background: color-mix(in srgb, var(--kwt-color-primary) 15%, var(--kwt-color-card));
		border-color: color-mix(in srgb, var(--kwt-color-primary) 34%, transparent);
		color: var(--kwt-color-primary);
	}

	.kwt-menu .sub-menu {
		background: transparent;
		border: 0;
		border-left: 1px solid color-mix(in srgb, var(--kwt-color-border) 90%, transparent);
		box-shadow: none;
		display: none;
		gap: 0.45rem;
		min-width: 0;
		opacity: 1;
		padding: 0.5rem 0 0 0.7rem;
		pointer-events: auto;
		position: static;
		transform: none;
		visibility: visible;
		width: 100%;
	}

	.kwt-menu .menu-item-has-children.is-kwt-submenu-open > .sub-menu {
		display: grid;
	}

	.kwt-menu .menu-item-has-children > a::after {
		content: "";
		border-bottom: 2px solid currentColor;
		border-right: 2px solid currentColor;
		display: inline-block;
		flex: 0 0 auto;
		height: 0.46rem;
		font-size: 0.95em;
		margin-left: 0.75rem;
		opacity: 0.72;
		transform: rotate(45deg) translateY(-0.08rem);
		transition: transform var(--kwt-transition-fast);
		width: 0.46rem;
	}

	.kwt-menu .menu-item-has-children.is-kwt-submenu-open > a::after {
		transform: rotate(225deg) translate(-0.08rem, -0.08rem);
	}

	.kwt-menu .sub-menu .sub-menu {
		padding-left: 0.75rem;
	}

	.kwt-menu .sub-menu a {
		background: color-mix(in srgb, var(--kwt-color-background) 36%, transparent);
		font-size: var(--wp--preset--font-size--small);
		font-weight: 650;
		min-height: 2.75rem;
		padding-block: 0.68rem;
		white-space: normal;
	}

	.kwt-search-toggle,
	.kwt-mode-toggle,
	.kwt-menu-toggle {
		flex: 0 0 auto;
	}

	.kwt-search-toggle {
		display: inline-flex;
	}

	.kwt-mode-toggle[data-kwt-distraction-toggle] {
		display: none;
	}
}

@media (max-width: 780px) {
	.wp-site-blocks > main,
	main.wp-block-group {
		padding-top: var(--wp--preset--spacing--40);
	}

	.wp-block-post-content,
	.entry-content {
		max-width: 100%;
	}

	.kwt-post-hero {
		min-height: clamp(24rem, 72vh, 31rem);
	}

	.kwt-post-hero--page {
		min-height: clamp(19rem, 58vh, 25rem);
	}

	.kwt-post-hero__inner {
		padding-bottom: clamp(1.5rem, 8vw, 2.5rem);
		padding-top: clamp(3rem, 10vw, 4.5rem);
	}

	.kwt-post-hero__inner .wp-block-post-title,
	.kwt-post-hero__inner .wp-block-heading {
		font-size: clamp(2rem, 12vw, 3.25rem);
	}

	.kwt-post-hero__meta,
	.kwt-post-hero__breadcrumbs {
		text-transform: none;
	}

	.kwt-site-notice__inner {
		align-items: center;
		flex-direction: column;
		gap: 0.45rem;
		padding-block: 0.65rem;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container,
	.wp-block-navigation__responsive-container.is-menu-open .kwt-menu .sub-menu {
		background: transparent;
		border: 0;
		box-shadow: none;
		display: block;
		min-width: 0;
		opacity: 1;
		padding-left: 1rem;
		pointer-events: auto;
		position: static;
		transform: none;
		visibility: visible;
		width: auto;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
	.wp-block-navigation__responsive-container.is-menu-open .kwt-menu .sub-menu a {
		white-space: normal;
	}

	.kwt-content-sidebar {
		grid-template-columns: 1fr;
	}

	.kwt-site-footer__top,
	.kwt-site-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.kwt-site-footer__top {
		grid-template-columns: 1fr;
	}

	.kwt-site-footer__brand,
	.kwt-site-footer__nav,
	.kwt-site-footer__social {
		flex-basis: auto;
		width: 100%;
	}

	.kwt-sidebar {
		position: static;
	}

	.kwt-back-to-top {
		bottom: 0.85rem;
		right: 0.85rem;
	}

	:root[data-kwt-distraction="on"] body:not(.block-editor-page) .kwt-back-to-top {
		bottom: 4.15rem;
		right: 0.85rem;
	}

	.kwt-reading-settings-toggle {
		bottom: 0.85rem;
		right: 0.85rem;
	}

	.kwt-reading-settings-panel {
		border-radius: var(--kwt-radius-2xl) var(--kwt-radius-2xl) 0 0;
		bottom: 0;
		left: 0.65rem;
		max-width: none;
		right: 0.65rem;
		width: auto;
	}

	.kwt-reading-settings__button,
	.kwt-reading-settings__reset,
	.kwt-reading-settings__value {
		min-height: 2.75rem;
	}

	.kwt-author-box {
		grid-template-columns: 1fr;
	}

	.kwt-author-box__avatar img {
		height: 5rem;
		width: 5rem;
	}
}

@media (min-width: 860px) {
	.kwt-related-posts__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.kwt-search-hero,
	.kwt-empty-state {
		border-radius: var(--kwt-radius-xl);
		padding: 1.25rem;
	}

	.kwt-search-page__form .wp-block-search__inside-wrapper,
	.kwt-empty-state .wp-block-search__inside-wrapper {
		flex-wrap: wrap;
	}

	.kwt-search-page__form .wp-block-search__button,
	.kwt-empty-state .wp-block-search__button {
		width: 100%;
	}
}

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

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
