/* Klimatio - component styles (critical path kept small) */

@font-face {
	font-family: Inter;
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-var.woff2") format("woff2");
}

:root {
	--klim-header-height: 4.125rem;
	--klim-radius: 0.75rem;
	--klim-radius-lg: 1.25rem;
	--klim-radius-xl: 1.75rem;
	--klim-shadow: 0 12px 40px rgba(51, 71, 70, 0.1);
	--klim-shadow-sm: 0 4px 16px rgba(51, 71, 70, 0.08);
	--klim-shadow-lg: 0 24px 60px rgba(51, 71, 70, 0.16);
	--klim-section-pad: 111px;
	--klim-section-pad-bottom: 111px;
	--klim-section-pad-mobile: 111px;
	--klim-section-pad-bottom-mobile: 111px;
	--klim-reveal-duration: 0.7s;
	--klim-intro-gap: 2.75rem;
	/* Type scale — homepage sections */
	--klim-text-eyebrow: 0.8rem;
	--klim-text-lead: 1.125rem;
	--klim-text-item-title: 1.1rem;
	--klim-text-item-body: 0.95rem;
	--klim-text-ui: 0.75rem;
	/* Dual-radial + surface — homepage, /tack/, landing & page heroes */
	--klim-hero-atmosphere:
		radial-gradient(ellipse 65% 50% at 15% 20%, color-mix(in srgb, var(--wp--preset--color--primary) 14%, transparent), transparent 70%),
		radial-gradient(ellipse 50% 40% at 90% 75%, color-mix(in srgb, var(--wp--preset--color--accent) 10%, transparent), transparent 65%),
		var(--wp--preset--color--surface);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

a,
a:hover,
a:focus,
a:focus-visible {
	text-decoration: none;
}

html {
	scroll-behavior: smooth;
}

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

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

#main-content,
.klim-section[id] {
	scroll-margin-top: calc(var(--klim-header-height) + 0.75rem);
}

/* Scroll-reveal - progressive enhancement only. Content is fully visible
   without JS; .js-anim (set by main.js) is what opts elements into the
   pre-hidden + reveal-on-scroll treatment. */
.js-anim .klim-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity var(--klim-reveal-duration) ease, transform var(--klim-reveal-duration) ease;
	transition-delay: var(--klim-reveal-delay, 0s);
}

.js-anim .klim-reveal.is-visible {
	opacity: 1;
	transform: none;
}

.klim-reveal-group > *:nth-child(1) {
	--klim-reveal-delay: 0.05s;
}

.klim-reveal-group > *:nth-child(2) {
	--klim-reveal-delay: 0.15s;
}

.klim-reveal-group > *:nth-child(3) {
	--klim-reveal-delay: 0.25s;
}

.klim-reveal-group > *:nth-child(4) {
	--klim-reveal-delay: 0.35s;
}

/* Patterns are direct children of main - kill WP layout-flow margins between sections. */
main#main-content.wp-block-group,
main#main-content.is-layout-flow {
	gap: 0;
}

main#main-content.is-layout-flow > .klim-section {
	margin-block: 0;
}

.skip-link {
	position: absolute;
	top: -100%;
	left: 1rem;
	z-index: 100000;
	padding: 0.75rem 1rem;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
	border-radius: var(--klim-radius);
	text-decoration: none;
	font-weight: 600;
}

.skip-link:focus {
	top: 1rem;
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

.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 !important;
}

.screen-reader-text:focus {
	background: var(--wp--preset--color--white);
	clip: auto !important;
	clip-path: none;
	color: var(--wp--preset--color--contrast);
	display: block;
	font-size: 1rem;
	height: auto;
	left: 0.5rem;
	line-height: normal;
	padding: 0.75rem 1rem;
	text-decoration: none;
	top: 0.5rem;
	width: auto;
	z-index: 100000;
}

/* Sticky must be on the template-part <header>. Sticky on the inner
   .site-header alone fails - parent is the same height, so it never sticks. */
header.wp-block-template-part:has(.site-header),
.wp-block-template-part.site-header,
header.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--wp--preset--color--white);
}

.site-header {
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
	min-height: var(--klim-header-height);
	box-shadow: 0 0 0 rgba(51, 71, 70, 0);
	transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.site-header.is-scrolled {
	border-bottom-color: transparent;
	box-shadow: var(--klim-shadow-sm);
}

.site-header__inner,
.site-header__inner.is-layout-flex,
.wp-block-group.site-header__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.75rem;
	min-height: var(--klim-header-height);
	max-width: 1200px;
	margin-inline: auto;
	padding: 0 clamp(1rem, 4vw, 2rem);
	box-sizing: border-box;
}

.site-header__logo {
	display: inline-flex;
	align-items: center;
	align-self: center;
	line-height: 0;
}

.site-header__logo img {
	display: block;
	height: auto;
	/* Asset includes transparent padding so edges don’t look clipped when scaled. */
	max-height: 1.88rem; /* desktop: ~20% smaller than 2.35rem */
	width: auto;
	/* Leaf sits above wordmark - nudge so logo text optically matches nav/CTA midline. */
	transform: translateY(-2px);
}

.site-header__cta-wrap {
	display: flex;
	align-items: center;
	line-height: 0;
}

/* Beat WP `.is-layout-flex > * { margin: 0 }` so menu + CTA sit on the right. */
.site-header__inner.is-layout-flex > .site-header__end,
.wp-block-group.site-header__inner > .site-header__end,
.site-header__end {
	display: flex;
	align-items: center;
	align-self: center;
	gap: 1.5rem;
	margin-left: auto;
	margin-block: 0;
	line-height: 1;
}

/* wpautop may wrap the CTA in a <p> - neutralize it so it doesn’t inflate header height. */
.site-header__end > p {
	display: contents;
	margin: 0;
}

.site-header__cta.klim-btn {
	display: inline-flex;
	align-items: center;
	align-self: center;
	flex-shrink: 0;
	padding: 0.7rem 1.1rem;
	font-size: 0.87rem;
	line-height: 1.2;
}

.site-header__toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 20%, transparent);
	border-radius: var(--klim-radius);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
}

.site-header__toggle:focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.site-header__nav {
	display: flex;
	align-items: center;
	align-self: center;
	gap: 0.75rem;
	line-height: 1;
}

@media (min-width: 782px) {
	.site-header__toggle {
		display: none;
	}
}

.site-header__menu {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
	line-height: 1;
}

.site-header__menu li {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	line-height: 1;
}

.site-header__menu a {
	display: inline-flex;
	align-items: center;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	font-weight: 500;
	font-size: 0.9rem;
	line-height: 1;
	padding: 0;
	margin: 0;
}

.site-header__menu a:hover,
.site-header__menu a:focus-visible,
.site-header__menu .current-menu-item > a {
	color: var(--wp--preset--color--primary-dark);
}

.site-header__menu a:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 3px;
	border-radius: 2px;
}

@media (max-width: 781px) {
	.site-header__inner,
	.site-header__inner.is-layout-flex,
	.wp-block-group.site-header__inner {
		gap: 0.65rem;
		padding-inline: 0.85rem;
	}

	.site-header__toggle {
		display: inline-flex;
		flex-shrink: 0;
		order: 3;
		width: 2.5rem;
		height: 2.5rem;
	}

	.site-header__logo {
		flex: 0 1 auto;
		min-width: 0;
		max-width: 6.75rem;
	}

	.site-header__logo img {
		max-height: 1.45rem;
		max-width: 100%;
		width: auto;
		height: auto;
	}

	/* Let nav + CTA participate in the header flex row on small screens. */
	.site-header__inner.is-layout-flex > .site-header__end,
	.wp-block-group.site-header__inner > .site-header__end {
		display: contents;
	}

	.site-header__inner.is-layout-flex > .site-header__logo,
	.wp-block-group.site-header__inner > .site-header__logo {
		margin-right: auto;
	}

	.site-header__cta.klim-btn {
		order: 2;
		padding: 0.5rem 0.7rem;
		font-size: 0.75rem;
		gap: 0;
		max-width: calc(100vw - 12rem);
	}

	/* Drop CTA arrow on narrow headers so it never crowds the menu button. */
	.site-header__cta.klim-btn::after {
		display: none;
	}

	.site-header__nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		max-height: calc(100dvh - var(--klim-header-height));
		overflow-y: auto;
		padding: 0.5rem clamp(1rem, 4vw, 2rem) 1.25rem;
		background: var(--wp--preset--color--white);
		border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
		box-shadow: var(--klim-shadow);
		-webkit-overflow-scrolling: touch;
	}

	.site-header__nav.is-open {
		display: flex;
	}

	.site-header__menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
	}

	.site-header__menu a {
		display: flex;
		align-items: center;
		min-height: 2.75rem;
		padding: 0.5rem 0;
		font-size: 1.05rem;
		border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 8%, transparent);
	}

	.site-header__menu li:last-child a {
		border-bottom: 0;
	}
}

/* Sections */
.klim-section {
	padding-block-start: var(--klim-section-pad);
	padding-block-end: var(--klim-section-pad-bottom);
	padding-inline: clamp(1rem, 4vw, 2rem);
}

.klim-section--surface {
	background: var(--wp--preset--color--surface);
}

.klim-section--base {
	background: var(--wp--preset--color--base);
}

.klim-section--cta {
	padding-block-start: var(--klim-section-pad);
	padding-block-end: var(--klim-section-pad-bottom);
	background: var(--wp--preset--color--surface);
}

.klim-section--signup {
	background: var(--wp--preset--color--surface);
}

.klim-section--faq {
	background: var(--wp--preset--color--surface);
}

.klim-container {
	max-width: 1200px;
	margin-inline: auto;
}

/* Typography helpers */
.klim-eyebrow {
	margin: 0 0 0.5rem;
	font-size: var(--klim-text-eyebrow);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}

.klim-badge {
	display: inline-flex;
	align-items: center;
	margin: 0 0 1rem;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--primary-dark);
	background: color-mix(in srgb, var(--wp--preset--color--primary) 14%, white);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 28%, transparent);
}

.klim-hero__content .klim-badge {
	margin-block-end: 1rem;
}

.klim-badge--light {
	color: var(--wp--preset--color--white);
	background: color-mix(in srgb, var(--wp--preset--color--white) 16%, transparent);
	border-color: color-mix(in srgb, var(--wp--preset--color--white) 35%, transparent);
}

.klim-section-intro {
	max-width: 42rem;
	margin: 0 auto var(--klim-intro-gap);
	text-align: center;
}

.klim-section-intro .section-title {
	margin-bottom: 0.4rem;
}

.klim-section-intro .klim-section-lead {
	margin-top: 0.25rem;
}

.klim-section-intro--compact {
	margin-bottom: var(--klim-intro-gap);
}

.klim-section-lead {
	margin: 0.75rem 0 0;
	font-size: var(--klim-text-lead);
	line-height: 1.65;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 82%, transparent);
}

.section-title--left,
h2.section-title.section-title--left {
	text-align: left;
	margin-inline: 0;
}

.klim-signup__intro .klim-eyebrow,
.klim-signup__intro .section-title,
.klim-split__content .klim-eyebrow,
.klim-split__content .section-title {
	text-align: left;
}

/* Decorative blob shapes - reusable soft background accents. Purely
   decorative, always aria-hidden, never carry meaning. */
.klim-blob {
	position: absolute;
	z-index: 0;
	border-radius: 63% 37% 54% 46% / 55% 45% 55% 45%;
	filter: blur(2px);
	pointer-events: none;
}

.klim-blob--primary {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 22%, transparent);
}

.klim-blob--accent {
	background: color-mix(in srgb, var(--wp--preset--color--accent) 16%, transparent);
}

.klim-blob--surface {
	background: var(--wp--preset--color--surface);
	filter: none;
}

/* Floating badge-chip - small elevated label used over photos/cards */
.klim-chip-float {
	position: absolute;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.55rem 0.9rem;
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	box-shadow: var(--klim-shadow);
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	z-index: 2;
	white-space: nowrap;
}

.klim-chip-float__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--wp--preset--color--primary) 16%, white);
	color: var(--wp--preset--color--primary-dark);
	font-size: 0.85rem;
	flex-shrink: 0;
}

@media (prefers-reduced-motion: no-preference) {
	.klim-chip-float {
		animation: klim-float 5s ease-in-out infinite;
	}

	.klim-chip-float--delay {
		animation-delay: 1.2s;
	}

	@keyframes klim-float {
		0%, 100% {
			transform: translateY(0);
		}
		50% {
			transform: translateY(-8px);
		}
	}
}

/* Shared hero atmosphere — homepage, thank-you, landing & page heroes */
.klim-hero-section,
.klim-thank,
.klim-landing-hero,
.klim-page-hero {
	background: var(--klim-hero-atmosphere);
}

/* Hero — homepage */
.klim-hero-section {
	position: relative;
	overflow: clip;
	padding-block-start: var(--klim-section-pad);
	/* Trust strip ends the hero; next section supplies its own top pad. */
	padding-block-end: 0;
}

/* Tight transition into following sections. */
.klim-hero-section + .klim-section {
	margin-block-start: 0;
}

/*
 * Landing / page heroes: avoid stacking two full 111px section pads
 * before the first article block. Homepage (.klim-hero-section) stays separate.
 * Higher specificity beats .klim-section defaults (incl. mobile).
 */
.klim-section.klim-landing-hero,
.klim-section.klim-page-hero:not(.klim-page-hero--convert) {
	padding-block-end: clamp(4rem, 7vw, 5.25rem);
}

.klim-landing-hero + .klim-section,
.klim-page-hero:not(.klim-page-hero--convert) + .klim-section {
	padding-block-start: clamp(4rem, 7vw, 5.25rem);
}

/*
 * Featured image strip between article hero and white body.
 * Overlap math: ~30% of predictable 16/9 height sits over the toned hero.
 * --klim-single-featured-h ≈ min(48rem, viewport − inline pads) × 9/16
 * margin-top = −0.3 × height  (desktop); slightly less on small screens.
 */
.klim-page-hero--article,
.klim-single-featured {
	--klim-single-featured-aspect-w: 16;
	--klim-single-featured-aspect-h: 9;
	--klim-single-overlap: 0.3;
	--klim-single-featured-h: calc(
		min(48rem, 100vw - 2 * clamp(1rem, 4vw, 2rem))
		* var(--klim-single-featured-aspect-h)
		/ var(--klim-single-featured-aspect-w)
	);
}

.klim-single-featured {
	position: relative;
	z-index: 1;
	margin-block-start: calc(-1 * var(--klim-single-overlap) * var(--klim-single-featured-h));
	padding-inline: clamp(1rem, 4vw, 2rem);
	padding-block: 0;
	background: transparent;
}

.klim-page-hero:not(.klim-page-hero--convert) + .klim-single-featured {
	padding-block-start: 0;
}

/* Match meta→image gap (hero pad after overlap = 2.5rem) below featured → body */
.klim-single-featured + .klim-section {
	padding-block-start: 2.5rem;
}

.klim-single-featured .klim-container {
	max-width: 48rem;
}

.klim-single-featured__figure {
	margin: 0;
	aspect-ratio: var(--klim-single-featured-aspect-w) / var(--klim-single-featured-aspect-h);
	border-radius: var(--klim-radius-lg);
	overflow: hidden;
	background: var(--wp--preset--color--white);
	box-shadow: var(--klim-shadow-sm);
}

.klim-single-featured__figure img,
.klim-single-featured__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.klim-hero-bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
	/* Atmosphere painted on .klim-hero-section (shared with .klim-thank). */
	background: transparent;
	pointer-events: none;
}

.klim-hero-bg__blob-1 {
	top: -12%;
	right: -8%;
	width: min(32rem, 60vw);
	height: min(32rem, 60vw);
	background: color-mix(in srgb, var(--wp--preset--color--accent) 18%, transparent);
}

.klim-hero-bg__blob-2 {
	bottom: -18%;
	left: -10%;
	width: min(24rem, 50vw);
	height: min(24rem, 50vw);
}

.klim-hero {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
}

.klim-hero--home {
	position: relative;
	z-index: 1;
}

.klim-hero__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	width: 100%;
}

.klim-hero__content > * {
	margin-inline: 0;
}

.klim-hero__title {
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 800;
	line-height: 1.15;
	margin: 0 0 1rem;
	max-width: 22ch;
	letter-spacing: -0.02em;
}

h1 {
	font-weight: 800;
}

.klim-hero__lead {
	font-size: var(--klim-text-lead);
	font-weight: 500;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 88%, transparent);
	margin: 0 0 1.75rem;
	max-width: 44ch;
	line-height: 1.65;
}

.klim-hero__visual {
	position: relative;
	margin: 0;
}

.klim-hero__chip {
	max-width: calc(100% - 1.5rem);
}

.klim-hero__chip--top {
	top: -1rem;
	right: 1.5rem;
}

.klim-hero__chip--bottom {
	bottom: 3.25rem;
	left: -1rem;
}

@media (max-width: 480px) {
	.klim-hero__chip {
		font-size: 0.75rem;
		padding: 0.45rem 0.7rem;
	}

	.klim-hero__chip--top {
		top: -0.6rem;
		right: 0.75rem;
	}

	.klim-hero__chip--bottom {
		bottom: 2.75rem;
		left: -0.6rem;
	}
}

.klim-hero__image-frame {
	position: relative;
	border-radius: var(--klim-radius-lg);
	overflow: hidden;
	box-shadow: var(--klim-shadow);
	background: var(--wp--preset--color--white);
}

.klim-hero__image-frame::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--wp--preset--color--contrast) 8%, transparent);
	pointer-events: none;
}

.klim-hero__image-frame img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* Trust strip - integrated in hero */
.klim-hero__trust {
	position: relative;
	z-index: 1;
	margin-top: clamp(2rem, 4.5vw, 3rem);
	padding-block: 2.5rem;
	border-top: 1px solid #fff;
}

.klim-trust__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.5rem 0.75rem;
	width: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
}

.klim-trust__item {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0.55rem;
	text-align: left;
	min-width: 0;
}

.klim-trust__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	flex-shrink: 0;
	border-radius: 0.55rem;
	color: var(--wp--preset--color--primary-dark);
	background: color-mix(in srgb, var(--wp--preset--color--primary) 10%, white);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 18%, transparent);
	transition: transform 0.2s ease;
}

.klim-trust__icon--accent {
	color: var(--wp--preset--color--accent);
	background: color-mix(in srgb, var(--wp--preset--color--accent) 10%, white);
	border-color: color-mix(in srgb, var(--wp--preset--color--accent) 22%, transparent);
}

.klim-trust__icon svg {
	display: block;
	width: 1.15rem;
	height: 1.15rem;
}

.klim-trust__item:hover .klim-trust__icon {
	transform: translateY(-1px);
}

.klim-trust__text {
	display: flex;
	flex-direction: column;
	gap: 0.05rem;
	min-width: 0;
}

.klim-trust__text strong {
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.2;
	color: var(--wp--preset--color--contrast);
}

.klim-trust__text span {
	font-size: var(--klim-text-ui);
	line-height: 1.25;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 58%, transparent);
}

@media (max-width: 900px) {
	.klim-trust__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.65rem 0.75rem;
	}

	.klim-trust__item {
		justify-content: flex-start;
	}
}

@media (max-width: 520px) {
	.klim-hero__trust {
		margin-top: 1.5rem;
		padding-top: 1.75rem;
	}

	.klim-trust__grid {
		grid-template-columns: 1fr;
		gap: 0.55rem;
	}
}

.klim-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
}

.klim-actions--hero {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

.klim-btn--ghost {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 8%, white);
	color: var(--wp--preset--color--primary-dark);
	border-color: transparent;
	gap: 0.35rem;
}

.klim-btn--ghost:hover,
.klim-btn--ghost:focus-visible {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 14%, white);
	color: var(--wp--preset--color--primary-dark);
	border-color: transparent;
}

.klim-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1.5rem;
	border-radius: 10px;
	font-weight: 600;
	text-decoration: none;
	border: 2px solid transparent;
	cursor: pointer;
	font-size: 1rem;
	line-height: 1.2;
}

.klim-btn--primary {
	background: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--white);
}

.klim-btn--primary:hover,
.klim-btn--primary:focus-visible {
	background: color-mix(in srgb, var(--wp--preset--color--primary-dark) 88%, black);
	color: var(--wp--preset--color--white);
}

.klim-btn--secondary {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--primary-dark);
	border-color: var(--wp--preset--color--primary);
}

.klim-btn--accent {
	gap: 0.45rem;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--accent);
}

.klim-btn--accent::after {
	content: "";
	flex-shrink: 0;
	width: 0.95em;
	height: 0.95em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round' d='M3 8h9.5M9 4.5 12.5 8 9 11.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round' d='M3 8h9.5M9 4.5 12.5 8 9 11.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.klim-btn--accent:hover,
.klim-btn--accent:focus-visible {
	background: color-mix(in srgb, var(--wp--preset--color--accent) 88%, black);
	border-color: color-mix(in srgb, var(--wp--preset--color--accent) 88%, black);
	color: var(--wp--preset--color--white);
}

.klim-btn--lg {
	padding: 1rem 1.75rem;
	font-size: 1.05rem;
}

.klim-btn--block {
	width: 100%;
}

.klim-btn:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

.klim-grid-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

/* Feature cards */
.klim-feature-grid {
	align-items: stretch;
}

.klim-feature-card {
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--white);
	border-radius: var(--klim-radius-lg);
	overflow: hidden;
	box-shadow: var(--klim-shadow-sm);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 8%, transparent);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.klim-feature-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--klim-shadow);
}

.klim-feature-card__media-wrap {
	position: relative;
}

.klim-feature-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.klim-feature-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.klim-feature-card:hover .klim-feature-card__media img {
	transform: scale(1.04);
}

.klim-feature-card__icon {
	position: absolute;
	bottom: -1.15rem;
	left: 1.1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	box-shadow: var(--klim-shadow);
	font-size: 1.25rem;
	line-height: 1;
	z-index: 2;
	transition: transform 0.25s ease;
}

.klim-feature-card:hover .klim-feature-card__icon {
	transform: scale(1.1);
}

.klim-feature-card__body {
	display: grid;
	gap: 0.65rem;
	padding: 1.85rem 1.35rem 1.5rem;
	flex: 1;
}

.klim-feature-card__tag {
	display: inline-block;
	width: fit-content;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-dark);
	background: color-mix(in srgb, var(--wp--preset--color--primary) 12%, white);
}

.klim-feature-card h3 {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.3;
}

.klim-feature-card h3 a {
	color: inherit;
	text-decoration: none;
}

.klim-feature-card h3 a:hover,
.klim-feature-card h3 a:focus-visible {
	color: var(--wp--preset--color--primary-dark);
}

.klim-feature-card p {
	margin: 0;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 80%, transparent);
	line-height: 1.6;
}

.klim-link-arrow {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	margin-top: auto;
	padding-block: 0.35rem;
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--wp--preset--color--primary-dark);
	text-decoration: none;
	white-space: nowrap;
}

.klim-link-arrow::after {
	content: "\00a0→";
}

.klim-link-arrow:hover,
.klim-link-arrow:focus-visible {
	color: var(--wp--preset--color--accent);
}

/* Split layout */
.klim-usp-section {
	position: relative;
	isolation: isolate;
	overflow: clip;
	background: color-mix(in srgb, var(--wp--preset--color--primary) 14%, white);
}

.klim-usp-section > .klim-container {
	width: 100%;
}

.klim-usp-section .klim-split {
	align-items: stretch;
}

.klim-usp-section .klim-split__media {
	position: relative;
	align-self: stretch;
	min-height: 28rem;
}

.klim-usp-section .klim-split__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
}

.klim-usp-section .section-title {
	margin-bottom: 0.35rem;
}

.klim-usp-section__blob {
	top: 50%;
	left: -6%;
	width: min(26rem, 55vw);
	height: min(26rem, 55vw);
	transform: translateY(-50%);
}

.klim-split {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 0.95fr 1.05fr;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
}

.klim-split--content-first {
	grid-template-columns: 1.05fr 0.95fr;
}

.klim-split__media {
	margin: 0;
	border-radius: var(--klim-radius-lg);
	overflow: hidden;
	box-shadow: var(--klim-shadow);
}

.klim-split__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.klim-usp-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	list-style: none;
	margin: var(--klim-intro-gap) 0 0;
	padding: 0;
}

.klim-usp-card {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
	padding: 1.1rem 1.15rem;
	border-radius: var(--klim-radius);
	background: var(--wp--preset--color--white);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 12%, transparent);
	box-shadow: var(--klim-shadow-sm);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.klim-usp-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--klim-shadow);
}

.klim-usp-card__icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	margin-top: 0.15rem;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 800;
	line-height: 1;
	color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--primary-dark);
}

.klim-usp-card__icon::before {
	content: "✓";
}

.klim-usp-card strong {
	display: block;
	margin-bottom: 0.25rem;
	font-size: var(--klim-text-item-title);
}

.klim-usp-card p {
	margin: 0;
	font-size: var(--klim-text-item-body);
	line-height: 1.55;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 78%, transparent);
}

/* Steps ("Så funkar det") */
.klim-steps {
	--klim-step-num: 3.25rem;
	--klim-step-gap: clamp(1.5rem, 4vw, 2.5rem);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--klim-step-gap);
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: klim-step;
}

.klim-step {
	position: relative;
}

.klim-step__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--klim-step-num);
	height: var(--klim-step-num);
	margin-bottom: 1.1rem;
	border-radius: 999px;
	font-size: 1.35rem;
	font-weight: 800;
	color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--primary);
	box-shadow: var(--klim-shadow-sm);
}

.klim-step__title {
	margin: 0 0 0.5rem;
	font-size: var(--klim-text-item-title);
	line-height: 1.3;
}

.klim-step__text {
	margin: 0;
	font-size: var(--klim-text-item-body);
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 80%, transparent);
	line-height: 1.6;
	max-width: 30ch;
}

@media (max-width: 900px) {
	.klim-steps {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.klim-step__text {
		max-width: none;
	}
}

/* Audience / problem */
.klim-audience-section {
	position: relative;
	isolation: isolate;
	overflow: clip;
}

.klim-audience-section > .klim-container {
	width: 100%;
}

.klim-audience-section .klim-section-lead--left {
	max-width: none;
}

.klim-audience-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.15rem;
	list-style: none;
	margin: var(--klim-intro-gap) 0 0;
	padding: 0;
}

.klim-audience-item {
	display: flex;
	align-items: flex-start;
	gap: 0.9rem;
}

.klim-audience-item__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	flex-shrink: 0;
	border-radius: 0.65rem;
	color: var(--wp--preset--color--primary-dark);
	background: color-mix(in srgb, var(--wp--preset--color--primary) 12%, white);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 18%, transparent);
}

.klim-audience-item strong {
	display: block;
	margin-bottom: 0.3rem;
	font-size: var(--klim-text-item-title);
	line-height: 1.3;
}

.klim-audience-item p {
	margin: 0;
	font-size: var(--klim-text-item-body);
	line-height: 1.55;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 72%, transparent);
}

/* Product outcomes */
.klim-section-intro--left,
.klim-section-intro--left .klim-eyebrow,
.klim-section-intro--left .section-title,
.klim-section-intro--left .klim-section-lead {
	text-align: left;
}

.klim-section-lead--left {
	margin-inline: 0;
}

.klim-outcomes-section {
	position: relative;
	overflow: clip;
}

.klim-outcomes-section > .klim-container {
	width: 100%;
}

.klim-outcomes-section .klim-split {
	align-items: stretch;
}

.klim-outcomes-section .klim-split__media {
	position: relative;
	align-self: stretch;
	min-height: 28rem;
}

.klim-outcomes-section .klim-split__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
	object-position: center 20%;
}

.klim-outcomes-section .klim-section-lead--left {
	max-width: none;
}

.klim-outcomes-section .klim-link-arrow {
	display: inline;
	margin-top: 0;
	font-size: inherit;
	white-space: nowrap;
}

.klim-outcomes-list {
	list-style: none;
	margin: var(--klim-intro-gap) 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.klim-outcomes-item {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
}

.klim-outcomes-item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.klim-outcomes-item__num {
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--primary-dark);
	line-height: 1.4;
	padding-top: 0.15rem;
}

.klim-outcomes-item strong {
	display: block;
	margin-bottom: 0.3rem;
	font-size: var(--klim-text-item-title);
	line-height: 1.3;
}

.klim-outcomes-item p {
	margin: 0;
	font-size: var(--klim-text-item-body);
	line-height: 1.55;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 72%, transparent);
}

/* GEO intro (pillars) */
.klim-geo-intro {
	padding-block: clamp(1.5rem, 3vw, 2.25rem);
}

.klim-geo-intro__inner {
	max-width: 48rem;
}

.klim-geo-intro__def {
	margin: 0 0 1rem;
	font-size: 1.05rem;
	line-height: 1.6;
}

.klim-geo-intro__tldr {
	margin: 0;
	padding-left: 1.2rem;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 78%, transparent);
}

.klim-geo-intro__tldr li + li {
	margin-top: 0.35rem;
}

/* Knowledge clusters */
.klim-knowledge-clusters {
	padding-block-end: clamp(1.5rem, 3vw, 2.25rem);
}

.klim-section--kb-feed {
	padding-block-start: clamp(1.25rem, 2.5vw, 1.75rem);
}

.klim-knowledge-clusters .klim-section-intro {
	margin-bottom: var(--klim-intro-gap);
}

.klim-knowledge-clusters .klim-section-lead {
	margin: 0.65rem auto 0;
	max-width: 36rem;
	text-align: center;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 72%, transparent);
	line-height: 1.55;
}

.klim-clusters {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.klim-cluster {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	min-width: 0;
	padding: 1.25rem 1.2rem 1.35rem;
	border-radius: var(--klim-radius);
	background: var(--wp--preset--color--white);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
	border-top: 3px solid var(--wp--preset--color--primary);
	box-shadow: 0 1px 0 color-mix(in srgb, var(--wp--preset--color--contrast) 4%, transparent);
}

.klim-cluster__title {
	margin: 0;
	font-size: 1.05rem;
	letter-spacing: -0.01em;
	line-height: 1.25;
}

.klim-cluster__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.klim-cluster__links li + li {
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 8%, transparent);
}

.klim-cluster__links a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.65rem 0;
	font-weight: 600;
	font-size: 0.92rem;
	line-height: 1.35;
	text-decoration: none;
	color: var(--wp--preset--color--primary-dark);
	transition: color 0.15s ease, transform 0.15s ease;
}

.klim-cluster__links a::after {
	content: "→";
	flex-shrink: 0;
	font-weight: 500;
	opacity: 0.45;
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.klim-cluster__links a:hover,
.klim-cluster__links a:focus-visible {
	color: var(--wp--preset--color--contrast);
}

.klim-cluster__links a:hover::after,
.klim-cluster__links a:focus-visible::after {
	opacity: 1;
	transform: translateX(2px);
}

.klim-cluster__links a:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
	border-radius: 2px;
}

.klim-hub-pointer,
.klim-vsme-bridge,
.klim-answer-box {
	display: block;
	width: 100%;
	max-width: 48rem;
	box-sizing: border-box;
	margin: 0 auto 1.5rem;
	padding: 1rem 1.15rem;
}

.klim-article > .klim-hub-pointer,
.klim-article > .klim-vsme-bridge,
.klim-article > .klim-answer-box {
	max-width: none;
}

/* Hub / översikt → pelare (mjuk mint) */
.klim-hub-pointer {
	border-left: 3px solid var(--wp--preset--color--primary);
	background: color-mix(in srgb, var(--wp--preset--color--primary) 10%, white);
}

/* VSME-brygga (varmare yta) */
.klim-vsme-bridge {
	margin-top: 2rem;
	border-left: 3px solid var(--wp--preset--color--primary-dark);
	background: color-mix(in srgb, var(--wp--preset--color--primary-dark) 8%, #f7f4ef);
}

/* GEO kort svar (neutral yta + tydligare kant) */
.klim-answer-box {
	border-left: 3px solid var(--wp--preset--color--contrast);
	background: color-mix(in srgb, var(--wp--preset--color--contrast) 5%, #f3f6f6);
}

.klim-hub-pointer p,
.klim-vsme-bridge p {
	margin: 0;
}

.klim-table-wrap {
	overflow-x: auto;
	margin: 1.25rem 0 1.5rem;
}

.klim-article table.klim-compare {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.klim-article table.klim-compare th,
.klim-article table.klim-compare td {
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 14%, transparent);
	padding: 0.65rem 0.75rem;
	text-align: left;
	vertical-align: top;
}

.klim-article table.klim-compare thead th {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 8%, white);
	font-weight: 650;
}

.klim-answer-box p {
	margin: 0 0 0.65rem;
	line-height: 1.55;
}

.klim-answer-box p:last-child {
	margin-bottom: 0;
}

.klim-answer-box__label {
	display: inline;
	font-weight: 700;
	margin-right: 0.25rem;
}

@media (max-width: 900px) {
	.klim-clusters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.klim-clusters {
		grid-template-columns: 1fr;
	}
}

/* Knowledge hub */
.klim-knowledge-section {
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 8%, transparent);
}

.klim-knowledge-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.klim-knowledge-card {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto;
	column-gap: 0.85rem;
	row-gap: 0.35rem;
	align-items: start;
	min-height: 100%;
	padding: 1.25rem 1.35rem;
	border-radius: var(--klim-radius);
	background: var(--wp--preset--color--white);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 8%, transparent);
	box-shadow: var(--klim-shadow-sm);
	text-decoration: none;
	color: inherit;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.klim-knowledge-card:hover,
.klim-knowledge-card:focus-visible {
	transform: translateY(-3px);
	box-shadow: var(--klim-shadow);
	border-color: color-mix(in srgb, var(--wp--preset--color--primary) 28%, transparent);
}

.klim-knowledge-card__title {
	grid-column: 1;
	grid-row: 1;
	font-size: var(--klim-text-item-title);
	font-weight: 700;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast);
}

.klim-knowledge-card__text {
	grid-column: 1;
	grid-row: 2;
	font-size: var(--klim-text-item-body);
	line-height: 1.55;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 72%, transparent);
}

.klim-knowledge-card__go {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1;
	color: var(--wp--preset--color--primary-dark);
	transition: transform 0.2s ease, color 0.2s ease;
}

.klim-knowledge-card:hover .klim-knowledge-card__go,
.klim-knowledge-card:focus-visible .klim-knowledge-card__go {
	transform: translateX(3px);
	color: var(--wp--preset--color--accent);
}

.klim-knowledge__more {
	margin: 1.5rem 0 0;
	text-align: center;
}

.klim-knowledge__more .klim-link-arrow {
	margin-top: 0;
}

@media (max-width: 900px) {
	.klim-audience-list {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.klim-outcomes-section .klim-split__media {
		min-height: 0;
	}

	.klim-outcomes-section .klim-split__media img {
		position: static;
		aspect-ratio: 4 / 3;
		height: auto;
	}
}

/* CTA banner */
.klim-cta-banner {
	position: relative;
	border-radius: var(--klim-radius-lg);
	overflow: hidden;
}

.klim-cta-banner--solid {
	background: linear-gradient(135deg, var(--wp--preset--color--primary) 0%, var(--wp--preset--color--primary-dark) 100%);
}

.klim-cta-banner__shape {
	position: absolute;
	top: 0;
	right: 0;
	width: min(22rem, 55%);
	height: auto;
	z-index: 0;
	pointer-events: none;
}

.klim-cta-banner__inner {
	position: relative;
	z-index: 1;
	padding: clamp(2rem, 5vw, 3.5rem);
}

.klim-cta-banner__inner--split {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
}

.klim-cta-banner__content {
	color: var(--wp--preset--color--white);
}

.klim-cta-banner__content .klim-badge {
	margin-block-end: 2rem;
}

.klim-cta-banner__content h2,
.klim-cta-banner__content .klim-cta-banner__title {
	margin: 0 0 0.85rem;
	font-size: clamp(1.75rem, 3.5vw, 2.35rem);
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--white);
}

.klim-cta-banner__content > p {
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.65;
	color: color-mix(in srgb, var(--wp--preset--color--white) 90%, transparent);
}

/* Offer card - Early Access perks, no invented pricing tiers */
.klim-cta-offer-card {
	position: relative;
	padding: clamp(1.5rem, 3vw, 2rem);
	border-radius: var(--klim-radius-lg);
	background: var(--wp--preset--color--white);
	box-shadow: var(--klim-shadow-lg);
}

.klim-cta-offer-card__badge {
	display: inline-flex;
	margin: 0 0 0.85rem;
	padding: 0.3rem 0.75rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--accent);
}

.klim-cta-offer-card__price {
	margin: 0 0 0.85rem;
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--contrast);
}

.klim-cta-offer-card__price span {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 70%, transparent);
}

.klim-cta-offer-card__stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.35rem 0.5rem;
	list-style: none;
	margin: 0 0 1.15rem;
	padding: 0.7rem 0.15rem;
	border-block: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
	text-align: left;
}

.klim-cta-offer-card__stats li {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}

.klim-cta-offer-card__stats strong {
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: var(--wp--preset--color--primary-dark);
}

.klim-cta-offer-card__stats span {
	font-size: 0.68rem;
	font-weight: 600;
	line-height: 1.25;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 62%, transparent);
}

@media (max-width: 420px) {
	.klim-cta-offer-card__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.65rem 0.5rem;
	}
}

.klim-cta-offer-card__perks {
	display: grid;
	gap: 0.6rem;
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
}

.klim-cta-offer-card__perks li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	line-height: 1.4;
}

.klim-cta-offer-card__perks li::before {
	content: "✓";
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.1rem;
	height: 1.1rem;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 800;
	line-height: 1;
	color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--primary);
}

@media (max-width: 900px) {
	.klim-cta-banner__inner--split {
		grid-template-columns: 1fr;
	}

	.klim-cta-banner__shape {
		width: 70%;
		opacity: 0.7;
	}
}

/* Proof / stats band */
.klim-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}

.klim-stat {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding: 0.5rem;
}

.klim-stat__value {
	font-size: clamp(1.6rem, 3vw, 2.25rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--primary-dark);
}

.klim-stat__value--sm {
	font-size: clamp(1.1rem, 2vw, 1.4rem);
}

.klim-stat__label {
	font-size: 0.9rem;
	font-weight: 600;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 75%, transparent);
}

@media (max-width: 900px) {
	.klim-stats {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.klim-stats {
		gap: 1.75rem 1rem;
	}
}

/* Signup */
.klim-signup {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}

.klim-signup__title {
	margin: 0 0 0.85rem;
	font-size: clamp(2rem, 4vw, 2.75rem);
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.klim-signup__lead {
	margin: 0.75rem 0 0;
	font-size: var(--klim-text-lead);
	line-height: 1.65;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 82%, transparent);
}

.klim-signup__facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.5rem;
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0.85rem 0;
	border-block: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
	text-align: left;
}

.klim-signup__facts li {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
}

.klim-signup__facts strong {
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--primary-dark);
}

.klim-signup__facts span {
	font-size: 0.72rem;
	font-weight: 600;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 62%, transparent);
}

.klim-signup__benefits {
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.7rem;
}

.klim-signup__benefits li {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--wp--preset--color--contrast);
}

.klim-signup__benefits li::before {
	content: "✓";
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.15rem;
	height: 1.15rem;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 800;
	line-height: 1;
	color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--primary);
}

.klim-signup__card {
	padding: clamp(1.5rem, 3vw, 2rem);
	border-radius: var(--klim-radius-lg);
	background: var(--wp--preset--color--white);
	box-shadow: var(--klim-shadow);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 8%, transparent);
}

.klim-signup__card-title {
	margin: 0 0 1.25rem;
	font-size: 1.35rem;
}

.klim-signup__note {
	margin: 1rem 0 0;
	font-size: 0.85rem;
	line-height: 1.5;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 65%, transparent);
}

.klim-faq-shell {
	max-width: 48rem;
}

.klim-faq-shell .klim-section-intro {
	text-align: center;
}

.klim-faq-shell .klim-section-intro .klim-eyebrow,
.klim-faq-shell .klim-section-intro .section-title {
	text-align: center;
}

.klim-card {
	background: var(--wp--preset--color--white);
	border-radius: var(--klim-radius);
	padding: 1.5rem;
	box-shadow: var(--klim-shadow);
	height: 100%;
}

.klim-card h3 {
	margin: 0 0 0.75rem;
	font-size: 1.25rem;
}

.klim-card p {
	margin: 0;
}

.klim-usp-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.25rem;
}

.klim-usp-list li {
	display: grid;
	gap: 0.35rem;
}

.klim-usp-list strong {
	font-size: 1.1rem;
}

.klim-cta-box {
	background: var(--wp--preset--color--white);
	border-radius: var(--klim-radius-lg);
	padding: clamp(1.5rem, 4vw, 2.5rem);
	box-shadow: var(--klim-shadow);
	text-align: center;
}

.klim-cta-box ul {
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem 1.5rem;
}

.klim-form {
	display: grid;
	gap: 1.15rem;
	margin-inline: auto;
}

.klim-signup__card .klim-form {
	max-width: none;
}

.klim-page-hero .klim-container {
	max-width: 48rem;
	text-align: center;
}

.klim-page-hero .klim-hero__title {
	margin: 0.35rem auto 0.75rem;
	text-align: center;
}

.klim-page-hero .klim-hero__lead,
.klim-page-hero .klim-archive-description {
	margin: 0 auto;
	max-width: 40rem;
	text-align: center;
}

.klim-page-hero .klim-page-hero__actions {
	justify-content: center;
	margin-top: 1.25rem;
}

/* Conversion page (/anmalan/) - single funnel composition */
.klim-page-hero--convert {
	padding-block: clamp(2rem, 4vw, 3rem) 0.5rem;
}

.klim-anmalan {
	position: relative;
	isolation: isolate;
	overflow: clip;
	background:
		radial-gradient(ellipse 70% 55% at 8% 12%, color-mix(in srgb, var(--wp--preset--color--primary) 16%, transparent), transparent 70%),
		radial-gradient(ellipse 55% 45% at 92% 78%, color-mix(in srgb, var(--wp--preset--color--accent) 12%, transparent), transparent 65%),
		var(--wp--preset--color--surface);
}

.klim-signup--convert {
	align-items: start;
}

.klim-signup--convert .klim-signup__intro .klim-badge {
	margin-block-end: 1.25rem;
}

.klim-signup--convert .klim-signup__lead {
	margin-top: 0;
	max-width: 28rem;
}

.klim-signup--convert .klim-signup__card {
	box-shadow: var(--klim-shadow-lg);
}

/* Thank-you confirmation (/tack/) — full-bleed surface; content stays centered via __inner */
.klim-thank {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-height: calc(100dvh - var(--klim-header-height));
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-block: clamp(4.5rem, 12vh, 7rem);
}

.klim-thank__inner {
	max-width: 36rem;
	margin-inline: auto;
	text-align: center;
}

.klim-thank__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	margin-bottom: 1.25rem;
	border-radius: 50%;
	color: var(--wp--preset--color--primary-dark);
	background: color-mix(in srgb, var(--wp--preset--color--primary) 16%, white);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 22%, transparent);
}

.klim-thank .klim-eyebrow {
	margin-bottom: 0.65rem;
}

.klim-thank__title {
	margin: 0 0 0.85rem;
	font-size: clamp(2.25rem, 5vw, 3.25rem);
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.klim-thank__lead {
	margin: 0 auto;
	max-width: 34ch;
	font-size: 1.15rem;
	line-height: 1.65;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 78%, transparent);
}

.klim-thank__actions {
	justify-content: center;
	margin-top: 2rem;
}

.klim-thank__note {
	margin: 1.75rem 0 0;
	font-size: 0.95rem;
	line-height: 1.55;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 68%, transparent);
}

.klim-contact__intro.klim-article {
	margin-inline: 0;
	max-width: 42rem;
}

/* Intro → contact band: one section-sized breath (avoid stacking two full pads). */
.klim-section--base:has(+ #kontakt) {
	padding-block-end: clamp(2.5rem, 5vw, 3.5rem);
}

.klim-contact__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(2rem, 5vw, 3rem);
	align-items: start;
}

.klim-contact__details {
	padding-block-start: 0.35rem;
}

.klim-contact__details-title {
	margin: 0 0 1.35rem;
	font-size: clamp(1.25rem, 2vw, 1.4rem);
	letter-spacing: -0.01em;
	line-height: 1.25;
}

.klim-contact__details p {
	margin: 0 0 1.25rem;
	line-height: 1.65;
}

.klim-contact__details p:last-child {
	margin-bottom: 0;
}

.klim-contact__note {
	margin-top: 0.35rem;
	font-size: 0.95rem;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 75%, transparent);
}

.klim-contact__form.klim-signup__card {
	margin: 0;
}

.klim-support-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	margin: 1.5rem 0 2.5rem;
}

/* Support: use full site container width (same as top nav), not article measure. */
.klim-container.klim-article:has(.klim-support-cards) {
	max-width: 1200px;
}

.klim-form label {
	display: grid;
	gap: 0.4rem;
	font-size: 0.92rem;
	font-weight: 600;
}

.klim-form input,
.klim-form select {
	width: 100%;
	min-height: 3rem;
	padding: 0.8rem 1rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 25%, transparent);
	border-radius: var(--klim-radius);
	font: inherit;
	font-size: 1rem;
	background: var(--wp--preset--color--white);
}

.klim-form select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	background-size: 1rem;
	padding-right: 2.75rem;
}

.klim-form textarea {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 25%, transparent);
	border-radius: var(--klim-radius);
	font: inherit;
	background: var(--wp--preset--color--white);
	resize: vertical;
	min-height: 8rem;
}

.klim-form input:focus-visible,
.klim-form select:focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--primary);
}

.klim-faq details {
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
	padding-block: 0.25rem;
	background: var(--wp--preset--color--white);
	border-radius: var(--klim-radius);
	margin-bottom: 0.65rem;
	padding-inline: 1.25rem;
	box-shadow: var(--klim-shadow-sm);
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.klim-faq details[open] {
	border-color: color-mix(in srgb, var(--wp--preset--color--primary) 35%, transparent);
	box-shadow: var(--klim-shadow);
}

.klim-faq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	cursor: pointer;
	font-weight: 600;
	list-style: none;
	padding-block: 1rem;
}

.klim-faq summary::-webkit-details-marker {
	display: none;
}

.klim-faq summary:hover,
.klim-faq summary:focus-visible {
	color: var(--wp--preset--color--primary-dark);
}

.klim-faq summary::after {
	content: "+";
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--wp--preset--color--primary) 12%, white);
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--wp--preset--color--primary-dark);
	transition: transform 0.25s ease;
}

.klim-faq details[open] summary::after {
	transform: rotate(45deg);
}

.klim-faq details p {
	margin: 0 0 1.1rem;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 82%, transparent);
	line-height: 1.65;
}

.site-footer {
	--site-footer-pad-top: clamp(3.75rem, 7vw, 5.5rem);
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--white);
	padding: var(--site-footer-pad-top) clamp(1rem, 4vw, 2rem) 1.75rem;
	font-size: 0.875rem;
	line-height: 1.55;
}

.site-footer p {
	margin: 0 0 0.65rem;
}

.site-footer p:last-child {
	margin-bottom: 0;
}

.site-footer strong {
	font-size: 0.95rem;
}

.site-footer a {
	color: var(--wp--preset--color--white);
	text-decoration: none;
}

.site-footer a:hover,
.site-footer a:focus-visible {
	opacity: 0.85;
}

.site-footer .wp-block-navigation-item__content,
.site-footer .wp-block-list a,
.site-footer__grid a:not(.site-footer__logo) {
	display: inline-flex;
	align-items: center;
	min-height: 1.5rem;
	padding-block: 0.15rem;
}

/* Desktop: tighter column paragraph stack (mobile has its own override). */
@media (min-width: 901px) {
	.site-footer__grid > div p {
		margin-bottom: 0.4rem;
	}

	.site-footer__grid > div p:last-child {
		margin-bottom: 0;
	}
}

.site-footer__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
}

.site-footer__logo {
	display: inline-flex;
	line-height: 0;
	text-decoration: none;
}

.site-footer__logo img {
	display: block;
	height: auto;
	width: auto;
	max-height: 2rem;
}

.site-footer__address,
.site-footer__orgnr {
	margin: 0;
	opacity: 0.9;
}

.site-footer__social {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 0.15rem;
}

.site-footer__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	min-height: 0;
	padding: 0;
	border-radius: 0.45rem;
	color: var(--wp--preset--color--white);
	background: color-mix(in srgb, var(--wp--preset--color--white) 12%, transparent);
	opacity: 1;
	transition: opacity 0.15s ease, background-color 0.15s ease;
}

.site-footer__grid a.site-footer__social-link {
	min-height: 0;
	padding-block: 0;
}

.site-footer__social-link:hover,
.site-footer__social-link:focus-visible {
	background: color-mix(in srgb, var(--wp--preset--color--white) 20%, transparent);
}

.site-footer__social-link--soon {
	opacity: 0.55;
	cursor: default;
}

.site-footer__social-link svg {
	display: block;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr));
	gap: 1.75rem;
	max-width: 1200px;
	margin-inline: auto;
}

.site-footer__bottom {
	max-width: 1200px;
	margin: var(--site-footer-pad-top) auto 0;
	padding-top: 1.25rem;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--white) 20%, transparent);
	font-size: 0.8rem;
	opacity: 0.9;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0.85rem;
}

.site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
}

.site-footer__legal a {
	color: inherit;
	text-decoration: none;
}

.site-footer__legal a:hover,
.site-footer__legal a:focus-visible {
	opacity: 1;
	color: var(--wp--preset--color--white);
}

.section-title {
	font-size: var(--wp--preset--font-size--large);
	margin: 0 0 1.5rem;
	text-align: center;
	letter-spacing: -0.02em;
}

@media (max-width: 900px) {
	.klim-section {
		padding-block-start: var(--klim-section-pad-mobile);
		padding-block-end: var(--klim-section-pad-bottom-mobile);
	}

	/* After .klim-section mobile pads — keep clusters → kb-feed junction tight. */
	.klim-section.klim-knowledge-clusters {
		padding-block-end: 0.75rem;
	}

	.klim-section.klim-section--kb-feed {
		padding-block-start: 0.5rem;
	}

	/* Reaffirm after mobile .klim-section pads (same as desktop junction). */
	.klim-section.klim-landing-hero,
	.klim-section.klim-page-hero:not(.klim-page-hero--convert) {
		padding-block-end: clamp(4rem, 7vw, 5.25rem);
	}

	.klim-landing-hero + .klim-section,
	.klim-page-hero:not(.klim-page-hero--convert) + .klim-section {
		padding-block-start: clamp(4rem, 7vw, 5.25rem);
	}

	/* Article hero: keep title readable — slightly less overlap on small screens */
	.klim-page-hero--article,
	.klim-single-featured {
		--klim-single-overlap: 0.24;
	}

	.klim-section.klim-page-hero.klim-page-hero--article {
		/* Half of previous mobile top pad — tighter under sticky header */
		padding-block-start: clamp(2.75rem, 6vw, 3.5rem);
		padding-block-end: clamp(4rem, 9vw, 5.5rem);
	}

	.klim-section.klim-page-hero.klim-page-hero--article:has(+ .klim-single-featured) {
		padding-block-end: calc(var(--klim-single-overlap) * var(--klim-single-featured-h) + 2rem);
	}

	/* Match meta→image gap (hero pad after overlap = 2rem) below featured → body */
	.klim-single-featured + .klim-section {
		padding-block-start: 2rem;
	}

	/* Archive/page heroes: left-align with grid content on mobile */
	.klim-page-hero .klim-container {
		max-width: 1200px;
		text-align: left;
	}

	.klim-page-hero .klim-hero__title {
		margin-inline: 0;
		text-align: left;
	}

	.klim-page-hero .klim-hero__lead,
	.klim-page-hero .klim-archive-description {
		margin-inline: 0;
		text-align: left;
	}

	.klim-page-hero .klim-page-hero__actions {
		justify-content: flex-start;
	}

	/* Halve space under sticky header for all heroes (home, pages, posts). */
	.klim-hero-section,
	.klim-section.klim-landing-hero,
	.klim-section.klim-page-hero:not(.klim-page-hero--article),
	.klim-section.klim-page-hero--convert,
	.klim-thank {
		padding-block-start: calc(var(--klim-section-pad-mobile) / 2);
	}

	.klim-hero-section {
		padding-block-end: 0;
	}

	.klim-hero__title {
		max-width: none;
		font-size: clamp(1.85rem, 8vw, 2.5rem);
	}

	.klim-hero__lead {
		max-width: none;
		font-size: var(--klim-text-lead);
	}

	.klim-hero,
	.klim-split,
	.klim-signup,
	.klim-contact__layout,
	.klim-support-cards,
	.klim-grid-3,
	.site-footer__grid {
		grid-template-columns: 1fr;
	}

	.klim-thank {
		min-height: auto;
		padding-block: clamp(4rem, 12vw, 6rem);
	}

	.klim-thank__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.klim-thank__actions .klim-btn {
		width: 100%;
		justify-content: center;
	}

	.klim-hero__visual {
		order: -1;
	}

	.klim-split--content-first .klim-split__media {
		order: -1;
	}

	.klim-usp-section .klim-split__media {
		min-height: 0;
	}

	.klim-usp-section .klim-split__media img {
		position: static;
		aspect-ratio: 4 / 3;
		height: auto;
	}

	.klim-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.klim-actions .klim-btn {
		width: 100%;
		justify-content: center;
	}

	.klim-section-intro {
		margin-bottom: var(--klim-intro-gap);
	}

	.klim-section-intro .klim-eyebrow,
	.klim-section-intro .section-title,
	.klim-section-intro .klim-section-lead {
		text-align: left;
	}

	.klim-usp-grid,
	.klim-knowledge-grid {
		grid-template-columns: 1fr;
	}

	.klim-section--cta {
		padding-block: var(--klim-section-pad-mobile);
	}

	.klim-cta-banner {
		border-radius: var(--klim-radius-lg);
	}

	.klim-cta-banner__inner {
		padding: clamp(1.75rem, 5vw, 2.5rem) clamp(1rem, 4vw, 2rem);
	}

	.klim-cta-banner__content h2 {
		font-size: clamp(1.5rem, 6.5vw, 2rem);
	}

	.klim-cta-banner__content > p {
		font-size: 1rem;
	}

	.klim-cta-offer-card .klim-btn {
		width: 100%;
	}

	.klim-signup__intro {
		order: 1;
	}

	.klim-signup__card {
		order: 2;
	}

	.klim-landing-hero .klim-hero__image {
		order: -1;
	}

	.klim-landing-hero .klim-hero__image img,
	.klim-landing-hero .klim-hero__image--cover img {
		max-height: 14rem;
		aspect-ratio: 16 / 9;
	}

	.klim-article {
		font-size: 1rem;
	}

	.klim-article h1 {
		font-size: clamp(1.65rem, 7vw, 2.25rem);
	}

	.klim-pagination a,
	.klim-pagination span {
		min-width: 2.5rem;
		min-height: 2.5rem;
		align-items: center;
	}

	.site-footer {
		--site-footer-pad-top: 3.25rem;
		padding-block: var(--site-footer-pad-top) 1.5rem;
	}

	.site-footer__grid {
		gap: 1.5rem;
	}

	/* Tighter stacked column links — desktop keeps 44px tap targets. */
	.site-footer__grid a:not(.site-footer__logo) {
		min-height: 1.5rem;
		padding-block: 0.15rem;
	}

	.site-footer__grid > div p {
		margin-bottom: 0.35rem;
	}

	.site-footer__grid > div p:last-child {
		margin-bottom: 0;
	}
}

@media (min-width: 600px) and (max-width: 900px) {
	.site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.klim-badge {
		font-size: 0.72rem;
	}

	.klim-feature-card__body {
		padding: 1.1rem;
	}

	.klim-faq summary {
		padding-right: 1.5rem;
		line-height: 1.45;
	}

	.klim-form input,
	.klim-form select {
		font-size: 16px;
	}
}

@media (hover: none) {
	.klim-feature-card:hover {
		transform: none;
		box-shadow: var(--klim-shadow-sm);
	}

	.klim-feature-card:hover .klim-feature-card__media img {
		transform: none;
	}

	.klim-feature-card:hover .klim-feature-card__icon {
		transform: none;
	}

	.klim-usp-card:hover {
		transform: none;
		box-shadow: var(--klim-shadow-sm);
	}

	.klim-knowledge-card:hover,
	.klim-knowledge-card:focus-visible {
		transform: none;
		box-shadow: var(--klim-shadow-sm);
	}

	.klim-knowledge-card:hover .klim-knowledge-card__go,
	.klim-knowledge-card:focus-visible .klim-knowledge-card__go {
		transform: none;
	}
}

body.klim-nav-open {
	overflow: hidden;
}

@supports (padding: max(0px)) {
	.site-header__inner {
		padding-left: max(1rem, env(safe-area-inset-left));
		padding-right: max(1rem, env(safe-area-inset-right));
	}

	.site-footer {
		padding-bottom: max(1.5rem, env(safe-area-inset-bottom));
	}
}

/* Article prose */
.klim-article {
	max-width: 48rem;
	margin-inline: auto;
	font-size: 1.0625rem;
	line-height: 1.75;
}

.klim-article h1 {
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 800;
	margin: 0 0 1rem;
}

.klim-article h2 {
	font-size: clamp(1.5rem, 3vw, 2rem);
	margin: 2.5rem 0 1rem;
	scroll-margin-top: calc(var(--klim-header-height) + 1rem);
}

.klim-article h3 {
	font-size: 1.25rem;
	margin: 1.75rem 0 0.75rem;
}

.klim-article p,
.klim-article ul,
.klim-article ol,
.klim-article blockquote {
	margin: 0 0 1rem;
}

.klim-article ul,
.klim-article ol {
	padding-left: 1.25rem;
}

.klim-article blockquote {
	border-left: 4px solid var(--wp--preset--color--primary);
	padding-left: 1rem;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 85%, transparent);
}

.klim-article a {
	text-decoration: none;
	font-weight: 600;
}

.klim-article a:hover,
.klim-article a:focus-visible {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.klim-article .toc {
	background: var(--wp--preset--color--surface);
	border-radius: var(--klim-radius);
	padding: 1.25rem 1.5rem;
	margin: 0 0 2rem;
}

.klim-article .toc ol {
	margin: 0.5rem 0 0;
}

/* Legacy modifier kept on markup; atmosphere comes from .klim-landing-hero. */
.klim-landing-hero--gradient {
	background: var(--klim-hero-atmosphere);
}

/* Desktop-only: must not override .klim-hero { 1fr } at max-width 900px. */
@media (min-width: 901px) {
	.klim-landing-hero .klim-hero--page {
		align-items: center;
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
	}
}

.klim-landing-hero .klim-hero__image {
	margin: 0;
	border-radius: var(--klim-radius-lg);
	overflow: hidden;
	box-shadow: var(--klim-shadow);
	background: var(--wp--preset--color--white);
	align-self: center;
	max-width: 28rem;
	width: 100%;
	justify-self: end;
}

/* After base landing-hero image rules so mobile overrides win the cascade. */
@media (max-width: 900px) {
	.klim-landing-hero .klim-hero__image {
		max-width: none;
		justify-self: start;
		align-self: start;
		margin-inline: 0;
	}
}

.klim-landing-hero .klim-hero__image img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center 28%;
}

.klim-hero__image--cover img {
	object-fit: cover;
	max-height: 18rem;
}

.klim-form__hp {
	position: absolute;
	left: -9999px;
	height: 0;
	width: 0;
	overflow: hidden;
}

/* Kunskapsbank + blog */
.klim-kb-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem 1.25rem;
	margin: 0 0 1.5rem;
	padding-block: 0.25rem;
}

.klim-category-nav {
	flex: 1 1 18rem;
	min-width: 0;
}

.klim-category-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.klim-kb-search {
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 0.35rem;
	flex: 0 1 17rem;
	min-width: min(100%, 14rem);
	padding: 0 0 0 0.85rem;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 18%, transparent);
	background: var(--wp--preset--color--white);
	box-shadow: 0 1px 0 color-mix(in srgb, var(--wp--preset--color--contrast) 4%, transparent);
	overflow: hidden;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.klim-kb-search:focus-within {
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--primary) 22%, transparent);
}

.klim-kb-search__icon {
	display: inline-flex;
	align-items: center;
	align-self: center;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 45%, transparent);
	flex-shrink: 0;
}

.klim-kb-search__input {
	flex: 1 1 auto;
	min-width: 0;
	border: 0;
	background: transparent;
	padding: 0.55rem 0.35rem;
	font: inherit;
	font-size: 0.9rem;
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
	outline: none;
}

.klim-kb-search__input::placeholder {
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 45%, transparent);
	font-weight: 500;
}

.klim-kb-search__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.klim-kb-search__submit {
	align-self: stretch;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	height: auto;
	margin: 0;
	padding: 0 1.1rem;
	border: 0;
	border-radius: 0;
	background: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--white);
	font: inherit;
	font-size: 0.85rem;
	font-weight: 700;
	cursor: pointer;
	line-height: 1.2;
	transition: background 0.15s ease;
}

.klim-kb-search__submit:hover,
.klim-kb-search__submit:focus-visible {
	background: var(--wp--preset--color--contrast);
}

.klim-kb-search__submit:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: -2px;
}

.klim-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 18%, transparent);
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
	font-size: 0.9rem;
	background: var(--wp--preset--color--white);
}

.klim-chip:hover,
.klim-chip:focus-visible,
.klim-chip.is-active {
	background: var(--wp--preset--color--primary-dark);
	border-color: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--white);
}

.klim-chip__count {
	display: none;
}

/* Mobile-first so later cascade cannot force 3-col on narrow viewports. */
.klim-post-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

@media (min-width: 600px) {
	.klim-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem;
	}
}

@media (min-width: 901px) {
	.klim-post-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Toolbar: stack + full-width search on narrow viewports; keep chips tappable. */
@media (max-width: 900px) {
	.klim-kb-toolbar {
		flex-direction: column;
		align-items: stretch;
		gap: 0.85rem;
	}

	.klim-category-nav {
		flex: 1 1 auto;
	}

	.klim-kb-search {
		flex: 1 1 auto;
		width: 100%;
		max-width: none;
		min-width: 0;
	}

	.klim-kb-search__input {
		font-size: 16px;
		padding: 0.7rem 0.35rem;
	}

	.klim-kb-search__submit {
		padding: 0 1.15rem;
		min-height: 2.75rem;
	}

	.klim-chip {
		min-height: 2.5rem;
		padding: 0.55rem 0.95rem;
	}
}

.klim-card-post {
	background: var(--wp--preset--color--white);
	border-radius: var(--klim-radius);
	box-shadow: var(--klim-shadow);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

/* Author display:flex/grid beats UA [hidden]{display:none} — keep live filter working */
.klim-card-post[hidden],
.klim-kb-empty[hidden],
.klim-kb-more[hidden],
.klim-pagination[hidden],
.klim-glossary__item[hidden],
.klim-glossary__empty[hidden] {
	display: none !important;
}

.klim-kb-more {
	display: flex;
	justify-content: center;
	margin: 2rem 0 0;
}

.klim-card-post__media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.klim-card-post__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.klim-card-post__body {
	padding: 1.25rem;
	display: grid;
	gap: 0.5rem;
	flex: 1;
}

.klim-card-post__title {
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.35;
}

.klim-card-post__title a {
	text-decoration: none;
	color: inherit;
}

.klim-card-post__title a:hover,
.klim-card-post__title a:focus-visible {
	color: var(--wp--preset--color--primary-dark);
}

.klim-card-post__meta {
	margin: 0;
	font-size: 0.82rem;
	font-weight: 500;
	line-height: 1.4;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 58%, transparent);
}

.klim-card-post__meta a {
	color: inherit;
	text-decoration: none;
}

.klim-card-post__meta a:hover,
.klim-card-post__meta a:focus-visible {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.klim-card-post__sep {
	margin-inline: 0.15rem;
}

.klim-card-post__excerpt {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.55;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 78%, transparent);
}

.klim-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
	justify-content: center;
}

.klim-pagination a,
.klim-pagination span {
	display: inline-flex;
	min-width: 2.25rem;
	justify-content: center;
	padding: 0.4rem 0.65rem;
	border-radius: var(--klim-radius);
	text-decoration: none;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 15%, transparent);
}

.klim-pagination .current {
	background: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--primary-dark);
}

.klim-post-meta {
	margin: 0.5rem 0 0;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 58%, transparent);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.4;
}

.klim-post-meta a {
	color: inherit;
	text-decoration: none;
}

.klim-post-meta a:hover,
.klim-post-meta a:focus-visible {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

/* Article single hero — taller band; lower pad is the featured-image overlap zone */
.klim-section.klim-page-hero.klim-page-hero--article {
	position: relative;
	z-index: 0;
	padding-block-start: clamp(7.25rem, 10vw, 8.75rem);
	padding-block-end: clamp(5rem, 9vw, 6.5rem);
}

/* When a featured image follows, bottom pad ≈ overlap + gap so title/meta stay clear */
.klim-section.klim-page-hero.klim-page-hero--article:has(+ .klim-single-featured) {
	padding-block-end: calc(var(--klim-single-overlap) * var(--klim-single-featured-h) + 2.5rem);
}

.klim-page-hero--article .klim-container {
	position: relative;
	z-index: 1;
	max-width: 48rem;
	text-align: left;
	margin-inline: auto;
}

.klim-page-hero--article .klim-hero__title {
	max-width: none;
	margin: 0;
	text-align: left;
}

.klim-page-hero--article .klim-post-meta {
	margin-block-start: 0.85rem;
}

.klim-article-header {
	max-width: 48rem;
}

.klim-archive-title {
	margin: 0 0 1rem;
}

.klim-archive-description > *:first-child {
	margin-block-start: 0;
}

.klim-archive-description > *:last-child {
	margin-block-end: 0;
}

/* Flush with .klim-article: share section pad + container, no extra inline padding. */
.klim-section.klim-related-section {
	padding-block-start: 0;
}

.klim-related {
	max-width: 48rem;
	margin-inline: auto;
	padding: 0;
}

.klim-related__title {
	font-size: 1.35rem;
	margin: 0 0 1rem;
}

.klim-related__list {
	margin: 0;
	padding-left: 1.25rem;
	display: grid;
	gap: 0.5rem;
}

.klim-empty {
	text-align: center;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 70%, transparent);
}

.klim-kb-empty {
	margin: 1.5rem 0 0;
}

/* Glossary / ordlista */
.klim-glossary__intro.klim-geo-intro {
	padding-block: 0;
	margin-bottom: var(--klim-intro-gap, 2.5rem);
}

.klim-glossary__heading {
	margin: 0 0 1.25rem;
	font-size: clamp(1.35rem, 2.2vw, 1.65rem);
	letter-spacing: -0.02em;
}

.klim-glossary__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	margin-bottom: 1.5rem;
}

.klim-glossary__search {
	flex: 1 1 18rem;
	max-width: 28rem;
}

.klim-glossary__count {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 600;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 62%, transparent);
}

.klim-glossary__empty {
	margin: 0 0 1.5rem;
	font-weight: 600;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 70%, transparent);
}

.klim-glossary__list {
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
}

.klim-glossary__item {
	display: grid;
	grid-template-columns: minmax(8rem, 0.35fr) minmax(0, 1fr);
	gap: 1rem 1.75rem;
	padding: 1.35rem 0;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
	scroll-margin-top: 6rem;
}

.klim-glossary__more a {
	font-weight: 600;
	white-space: nowrap;
}

.klim-glossary__related {
	margin-top: clamp(2.5rem, 5vw, 3.5rem);
	padding-top: clamp(1.5rem, 3vw, 2rem);
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
	max-width: 48rem;
}

.klim-glossary__related-title {
	margin: 0 0 0.85rem;
	font-size: 1.25rem;
	letter-spacing: -0.01em;
}

.klim-glossary__related-list {
	margin: 0;
	padding-left: 1.1rem;
	display: grid;
	gap: 0.45rem;
}

.klim-glossary__term {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast);
}

.klim-glossary__term a {
	color: inherit;
}

.klim-glossary__term a:hover,
.klim-glossary__term a:focus-visible {
	color: var(--wp--preset--color--primary-dark);
}

.klim-glossary__def {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.65;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 78%, transparent);
}

@media (max-width: 700px) {
	.klim-glossary__toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.klim-glossary__search {
		max-width: none;
		flex: 1 1 auto;
	}

	.klim-glossary__item {
		grid-template-columns: 1fr;
		gap: 0.45rem;
		padding: 1.15rem 0;
	}
}

/* Tools hub + calculators */
.klim-tools-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
	align-items: stretch;
}

.klim-tools-grid .klim-feature-card__body {
	grid-template-rows: auto auto 1fr auto;
}

.klim-tools-grid .klim-link-arrow {
	margin-top: auto;
}

.klim-feature-card__tag--soon,
.klim-tool-card__cta-soon {
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 62%, transparent);
	background: color-mix(in srgb, var(--wp--preset--color--contrast) 8%, transparent);
}

.klim-tool-card__cta-soon {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	font-size: 0.95rem;
	font-weight: 650;
	background: transparent;
}

.klim-tool-card--soon {
	opacity: 0.88;
}

.klim-tool-card--soon:hover {
	transform: none;
	box-shadow: var(--klim-shadow-sm);
}

.klim-tool-card--soon .klim-feature-card__media img {
	filter: grayscale(0.35) saturate(0.85);
}

.klim-tool-card--soon:hover .klim-feature-card__media img {
	transform: none;
}

.klim-tools-hub__note {
	margin: 2rem 0 0;
	max-width: 46rem;
	font-size: 0.92rem;
	line-height: 1.55;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 72%, transparent);
}

.klim-page-hero .klim-eyebrow a {
	color: inherit;
}

.klim-page-hero .klim-eyebrow a:hover,
.klim-page-hero .klim-eyebrow a:focus-visible {
	color: var(--wp--preset--color--primary-dark, #1f4d45);
}

.klim-tool__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: clamp(1.75rem, 4vw, 3rem);
	align-items: start;
}

.klim-tool__intro .klim-eyebrow,
.klim-tool__intro .section-title,
.klim-tool__intro .klim-section-lead {
	text-align: left;
	margin-inline: 0;
}

.klim-tool__steps {
	margin: 1.25rem 0 0;
	padding-left: 1.2rem;
	display: grid;
	gap: 0.45rem;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 80%, transparent);
}

.klim-tool__form {
	max-width: none;
	padding: clamp(1.35rem, 3vw, 1.85rem);
	border-radius: var(--klim-radius-lg);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 14%, transparent);
	background:
		radial-gradient(ellipse 70% 55% at 12% 0%, color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent), transparent 70%),
		var(--wp--preset--color--base);
	box-shadow: var(--klim-shadow-sm);
}

.klim-tool__fields {
	display: grid;
	gap: 1rem;
}

.klim-tool__fields--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.klim-tool__fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.klim-tool__fieldset + .klim-tool__fieldset {
	margin-top: 0.35rem;
	padding-top: 1rem;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
}

.klim-tool__fieldset legend {
	padding: 0;
	margin: 0 0 0.75rem;
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
}

.klim-tool__related {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	margin: 1.25rem 0 0;
}

.klim-tool__scope-bars {
	list-style: none;
	margin: 1.15rem 0 0;
	padding: 0;
	display: grid;
	gap: 0.85rem;
}

.klim-tool__scope-bar-head {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.35rem;
	font-size: 0.95rem;
}

.klim-tool__scope-bar {
	height: 0.55rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
	overflow: hidden;
}

.klim-tool__scope-bar > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(
		90deg,
		var(--wp--preset--color--primary),
		color-mix(in srgb, var(--wp--preset--color--primary) 55%, var(--wp--preset--color--accent, #2d6a5a))
	);
	transition: width 0.25s ease;
}

.klim-tool__quiz {
	display: grid;
	gap: 0.85rem;
}

.klim-tool__quiz-item {
	display: grid;
	gap: 0.45rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
}

.klim-tool__quiz-item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.klim-tool__quiz-q {
	font-size: 0.95rem;
	line-height: 1.45;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.klim-tool__gaps-title {
	margin: 1rem 0 0.45rem;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 65%, transparent);
}

.klim-tool__gaps {
	margin: 0;
	padding-left: 1.15rem;
	display: grid;
	gap: 0.35rem;
	font-size: 0.95rem;
	line-height: 1.45;
}

.klim-tool__compare-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 1.25rem;
}

.klim-tool__compare-col {
	display: grid;
	gap: 0.85rem;
	padding: 1rem;
	border-radius: var(--klim-radius);
	background: color-mix(in srgb, var(--wp--preset--color--surface) 80%, white);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent);
}

.klim-tool__compare-label {
	margin: 0;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 65%, transparent);
}

@media (max-width: 640px) {
	.klim-tool__fields--2,
	.klim-tool__compare-grid {
		grid-template-columns: 1fr;
	}
}

.klim-tool__optional {
	font-weight: 500;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 55%, transparent);
}

.klim-tool__result {
	margin-top: 0.25rem;
	padding: 1.15rem 1.2rem;
	border-radius: var(--klim-radius);
	background: color-mix(in srgb, var(--wp--preset--color--surface) 85%, white);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent);
}

.klim-tool__result-empty {
	margin: 0;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 70%, transparent);
}

.klim-tool__result-total {
	margin: 0;
	display: grid;
	gap: 0.25rem;
}

.klim-tool__result-label {
	font-size: var(--klim-text-ui);
	font-weight: 650;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 60%, transparent);
}

.klim-tool__result-value {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	line-height: 1.15;
	color: var(--wp--preset--color--primary-dark, #1f4d45);
}

.klim-tool__result-kg {
	font-size: 0.95rem;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 70%, transparent);
}

.klim-tool__breakdown {
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
	display: grid;
	gap: 0.45rem;
}

.klim-tool__breakdown li {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 0.45rem;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
	font-size: 0.95rem;
}

.klim-tool__insight {
	margin: 1rem 0 0;
	font-size: 0.95rem;
	line-height: 1.5;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 78%, transparent);
}

.klim-tool__factors {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.45;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 62%, transparent);
}

.klim-tool__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.5rem;
}

@media (max-width: 980px) {
	.klim-tools-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.klim-tool__layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.klim-tools-grid {
		grid-template-columns: 1fr;
	}
}

/* 404 */
.klim-404 {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-height: calc(100dvh - var(--klim-header-height));
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-block: clamp(4.5rem, 12vh, 7rem);
	background: var(--klim-hero-atmosphere);
}

.klim-404__inner {
	max-width: 40rem;
	margin-inline: auto;
	text-align: center;
}

.klim-404__code {
	margin: 0 0 0.35rem;
	font-size: clamp(3.5rem, 12vw, 5.5rem);
	font-weight: 800;
	letter-spacing: -0.06em;
	line-height: 1;
	color: color-mix(in srgb, var(--wp--preset--color--primary) 55%, var(--wp--preset--color--contrast));
}

.klim-404 .klim-eyebrow {
	margin-bottom: 0.65rem;
}

.klim-404__title {
	margin: 0 0 0.85rem;
	font-size: clamp(1.85rem, 4.5vw, 2.75rem);
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.klim-404__lead {
	margin: 0 auto;
	max-width: 38ch;
	font-size: 1.1rem;
	line-height: 1.65;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 78%, transparent);
}

.klim-404__actions {
	justify-content: center;
	margin-top: 2rem;
}

.klim-404__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem 1.25rem;
	margin-top: 2.25rem;
	padding-top: 1.5rem;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
}

.klim-404__links a {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary-dark);
	text-decoration: none;
}

.klim-404__links a:hover,
.klim-404__links a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

@media (max-width: 900px) {
	.klim-404 {
		min-height: auto;
		padding-block: clamp(3.5rem, 10vw, 5rem);
	}

	.klim-404__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.klim-404__actions .klim-btn {
		width: 100%;
		justify-content: center;
	}
}
