/* =====================================================================
   Klitvad – design system fra Figma "Klitvad 18-06-26"
   ===================================================================== */

:root {
	--klv-white: #ffffff;
	--klv-ink: #1e1e1e;
	--klv-teal: #003f47;
	--klv-maroon: #2f0000;
	--klv-mint: #8ec2b8;
	--klv-night: #0f1015;
	--klv-radius-hero: clamp(24px, 2.6vw, 50px);
	--klv-radius-card: 16px;
	--klv-gutter: clamp(20px, 8.6vw, 166px);
	--klv-content: 1326px;
	--klv-wide: 1656px;
	/* "Afstand 1": standard lodret afstand mellem tekst/indhold og næste element.
	   Sektioner får halvdelen i top+bund, så to nabo-sektioner tilsammen giver præcis afstand-1. */
	--klv-afstand-1: clamp(80px, 7.2vw, 140px);
	/* "Afstand 2": indre lodret afstand mellem elementer i en kolonne (billede/CV/overskrifter) */
	--klv-afstand-2: clamp(48px, 5vw, 96px);

	/* Typografisk skala – ét sted at justere, gælder alle sider */
	--klv-fs-display: clamp(3rem, 6.8vw, 8.125rem);   /* 130px – forside-overskrifter */
	--klv-fs-story: clamp(2.6rem, 6.2vw, 7.5rem);      /* 120px – story-overskrift */
	--klv-fs-h1: clamp(2.6rem, 4.7vw, 5.625rem);       /* 90px  – sidetitler */
	--klv-fs-h2: clamp(1.75rem, 2.9vw, 3.45rem);       /* 55px  – taglines/sektioner */
	--klv-fs-card: clamp(1.6rem, 2.2vw, 2.625rem);     /* 42px  – kort-titler */
	--klv-fs-lede: clamp(1.375rem, 2vw, 2.375rem);     /* 38px  – manchet */
	--klv-fs-body-lg: clamp(1.125rem, 1.25vw, 1.5rem); /* 24px  – stor brødtekst (strammet fra 28) */
	--klv-fs-body: clamp(1.0625rem, 1.05vw, 1.25rem);  /* 20px  – brødtekst */
	--klv-fs-btn: 1rem;                                /* 16px  – knapper (underspillet, medium vægt) */
	--klv-fs-small: 0.875rem;                          /* 14px  – småtekst */
}

html { scroll-behavior: smooth; }

body {
	margin: 0;
	line-height: 1.5;
	background: var(--klv-white);
	color: var(--klv-ink);
	font-family: "Inter Tight", "Inter", -apple-system, sans-serif;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}

[hidden] { display: none !important; }

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

/* ---------------------------------------------------------------------
   Typografi-hjælpere
--------------------------------------------------------------------- */
.klv-h-giant {
	font-size: var(--klv-fs-display);
	font-weight: 600;
	line-height: 0.95;
	letter-spacing: 0.06em;
	margin: 0;
}

.klv-lede {
	font-size: var(--klv-fs-lede);
	font-weight: 250;
	line-height: 1.45;
	margin: 0;
}

/* ---------------------------------------------------------------------
   Knapper
--------------------------------------------------------------------- */
.klv-btn,
.klv-btn:visited {
	display: inline-block;
	padding: 12px 22px;
	border-radius: 8px;
	font-size: var(--klv-fs-btn);
	font-weight: 500;
	line-height: 1.45;
	text-decoration: none;
	transition: transform 0.15s ease, opacity 0.15s ease;
}
.klv-btn:hover { transform: translateY(-1px); opacity: 0.92; }
.klv-btn--teal { background: var(--klv-teal); color: var(--klv-white) !important; }
.klv-btn--white { background: rgba(255, 255, 255, 0.9); color: var(--klv-night) !important; }

/* ---------------------------------------------------------------------
   Header
--------------------------------------------------------------------- */
.klv-header { position: relative; z-index: 100; }
.klv-header__inner {
	max-width: var(--klv-wide);
	margin: 0 auto;
	padding: 20px 34px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.klv-header__logo { display: inline-flex; }
.klv-header__logo img { width: 178px; height: 34px; }
.klv-logo--white { display: none; }

.klv-nav {
	list-style: none;
	display: flex;
	gap: 50px;
	margin: 0;
	padding: 0;
}
.klv-nav__item { position: relative; }
.klv-nav__item > a {
	font-size: 1.25rem;
	font-weight: 500;
	text-decoration: none;
	color: var(--klv-ink);
}
.klv-nav__item > a:hover { opacity: 0.7; }
.klv-nav__sub {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(6px);
	min-width: 280px;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-radius: 16px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
	list-style: none;
	margin: 0;
	padding: 14px 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.18s ease, transform 0.18s ease;
}
.klv-nav__item.has-sub:hover .klv-nav__sub,
.klv-nav__item.has-sub:focus-within .klv-nav__sub {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}
.klv-nav__sub a {
	display: block;
	padding: 9px 24px;
	font-size: 1.05rem;
	color: var(--klv-ink);
	text-decoration: none;
	white-space: nowrap;
}
.klv-nav__sub a:hover { background: rgba(0, 63, 71, 0.07); }

.klv-header__lang {
	font-size: 0.6875rem;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	gap: 10px;
}
.klv-header__lang a { color: inherit; opacity: 0.5; text-decoration: none; }
.klv-lang-divider { width: 1px; height: 12px; background: currentColor; opacity: 0.4; }

.klv-header__burger {
	display: none;
	background: none;
	border: 0;
	padding: 8px;
	cursor: pointer;
}
.klv-header__burger span {
	display: block;
	width: 26px;
	height: 2px;
	margin: 6px 0;
	background: currentColor;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

/* Forside: header ligger ovenpå hero med glas-pille */
body.home .klv-header,
body.klv-heropage .klv-header {
	position: absolute;
	top: 38px;
	left: 0;
	right: 0;
	color: var(--klv-white);
}
body.home .klv-logo--dark, body.klv-heropage .klv-logo--dark { display: none; }
body.home .klv-logo--white, body.klv-heropage .klv-logo--white { display: inline; }
body.home .klv-header__logo { opacity: 0; pointer-events: none; }
body.home .klv-header__nav,
body.klv-heropage .klv-header__nav {
	background: rgba(255, 255, 255, 0.3);
	backdrop-filter: blur(7.5px);
	-webkit-backdrop-filter: blur(7.5px);
	border-radius: 100px;
	padding: 20px 53px;
}
body.home .klv-nav__item > a, body.klv-heropage .klv-nav__item > a { color: var(--klv-white); }
body.home .klv-header__lang, body.klv-heropage .klv-header__lang { color: var(--klv-white); }

/* ---------------------------------------------------------------------
   Forside-hero (slider)
--------------------------------------------------------------------- */
.klv-hero {
	position: relative;
	height: min(62.5vw, 100vh);
	min-height: 480px;
	border-bottom-left-radius: var(--klv-radius-hero);
	border-bottom-right-radius: var(--klv-radius-hero);
	overflow: hidden;
	background: #947389;
}
.klv-hero .klv-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 1s ease;
}
.klv-hero .klv-slide.is-active { opacity: 1; }
.klv-hero .klv-slide img,
.klv-hero .klv-slide video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.klv-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 33%);
	pointer-events: none;
}
.klv-hero__logo {
	filter: drop-shadow(0 4px 28px rgba(0, 0, 0, 0.38));
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -58%);
	width: min(32vw, 624px);
	z-index: 2;
}
.klv-hero__dots {
	position: absolute;
	bottom: 50px;
	left: 0;
	right: 0;
	display: flex;
	gap: 16px;
	justify-content: center;
	z-index: 3;
}
.klv-hero__dots button {
	width: 10px;
	height: 10px;
	border-radius: 999px;
	border: 0;
	padding: 0;
	background: rgba(255, 255, 255, 0.5);
	cursor: pointer;
	transition: width 0.3s ease, background 0.3s ease;
}
.klv-hero__dots button.is-active { width: 50px; background: var(--klv-white); }

/* ---------------------------------------------------------------------
   Sektioner – fælles rytme
--------------------------------------------------------------------- */
.klv-section {
	padding: calc(var(--klv-afstand-1) / 2) var(--klv-gutter);
	position: relative;
}
.klv-section--tight { padding-block: calc(var(--klv-afstand-1) / 2); }

/* Bløde gradient-blobs bag indhold */
.klv-blob {
	position: relative;
	isolation: isolate;
}
.klv-blob::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: min(70vw, 1100px);
	aspect-ratio: 1;
	border-radius: 50%;
	filter: blur(100px);
	opacity: 0.5;
	pointer-events: none;
}
.klv-blob--teal::before {
	background: radial-gradient(circle, rgba(4, 126, 103, 0.55), rgba(24, 75, 255, 0) 70%);
	right: -18vw;
	top: -10%;
}
.klv-blob--gold::before {
	background: radial-gradient(circle, rgba(177, 139, 13, 0.5), rgba(61, 48, 4, 0) 70%);
	left: -22vw;
	bottom: -15%;
}

/* ---------------------------------------------------------------------
   Service-kort (forside)
--------------------------------------------------------------------- */
.klv-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: 32px;
	max-width: var(--klv-wide);
	margin: 0 auto;
}
.klv-card {
	position: relative;
	border-radius: var(--klv-radius-card);
	overflow: hidden;
	min-height: clamp(520px, 40vw, 790px);
	display: flex;
	flex-direction: column;
	color: var(--klv-white);
	padding: 47px 48px;
}
.klv-card--teal { background: linear-gradient(165deg, rgba(255, 255, 255, 0.92) 0%, rgba(222, 240, 236, 0.65) 60%, rgba(198, 228, 221, 0.75) 100%); }
.klv-card--maroon { background: linear-gradient(165deg, rgba(255, 255, 255, 0.92) 0%, rgba(248, 233, 227, 0.65) 60%, rgba(242, 210, 199, 0.75) 100%); }
.klv-card__title {
	font-size: var(--klv-fs-card);
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.25;
	margin: 0 0 15px;
	max-width: 92%;
	position: relative;
	z-index: 2;
}
.klv-card__text {
	font-weight: 300;
	font-size: var(--klv-fs-body);
	line-height: 1.5;
	max-width: 58%;
	margin: 0 0 24px;
	position: relative;
	z-index: 2;
}
.klv-card__img {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 62%;
	max-height: 78%;
	object-fit: contain;
	object-position: bottom right;
	pointer-events: none;
}
.klv-card .klv-btn { align-self: flex-start; position: relative; z-index: 2; }

/* ---------------------------------------------------------------------
   Værdi-sektion ("Intentioner skaber værdi …")
--------------------------------------------------------------------- */
.klv-value {
	text-align: center;
	max-width: 840px;
	margin: 0 auto;
}
.klv-value__title {
	font-size: var(--klv-fs-h2);
	font-weight: 400;
	line-height: 1.4;
	margin: 0 0 24px;
}
.klv-value__title strong { font-weight: 700; }
.klv-value__text {
	font-weight: 300;
	font-size: var(--klv-fs-body);
	line-height: 1.5;
	max-width: 791px;
	margin: 0 auto 24px;
}

/* ---------------------------------------------------------------------
   Foto-banner ("Charlotte & Martin")
--------------------------------------------------------------------- */
.klv-banner {
	position: relative;
	margin: 0 auto;
	max-width: 1792px;
	border-radius: clamp(24px, 2.7vw, 52px);
	overflow: hidden;
}
.klv-banner img { width: 100%; height: clamp(380px, 58vw, 1120px); object-fit: cover; display: block; }
.klv-banner::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 45%);
}
.klv-banner__caption {
	position: absolute;
	left: clamp(24px, 3.5vw, 64px);
	bottom: clamp(20px, 3vw, 52px);
	z-index: 2;
	color: var(--klv-white);
	font-size: clamp(2rem, 4.2vw, 5rem);
	font-weight: 600;
	margin: 0;
}

/* ---------------------------------------------------------------------
   Story-sektion (familien i centrum)
--------------------------------------------------------------------- */
.klv-story__title {
	font-size: var(--klv-fs-story);
	font-weight: 400;
	line-height: 1;
	margin: 0 0 40px;
}
.klv-story__title strong { font-weight: 600; color: var(--klv-maroon); }
.klv-split {
	display: grid;
	grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
	gap: clamp(32px, 4vw, 80px);
	align-items: center;
	max-width: var(--klv-wide);
	margin: 0 auto;
}
.klv-split--reverse { grid-template-columns: minmax(0, 56fr) minmax(0, 44fr); }
.klv-split__text {
	font-weight: 300;
	font-size: var(--klv-fs-body-lg);
	line-height: 1.5;
	display: grid;
	gap: 1.2em;
}
.klv-split__text p { margin: 0; }
.klv-split__img { border-radius: var(--klv-radius-hero); overflow: hidden; }
.klv-split__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.klv-split__img--flush-right {
	border-radius: var(--klv-radius-hero) 0 0 var(--klv-radius-hero);
	margin-right: calc(-1 * var(--klv-gutter));
}

/* ---------------------------------------------------------------------
   Undersider: hero med afrundet billede + stor titel
--------------------------------------------------------------------- */
.klv-page-hero {
	position: relative;
	margin: 0 auto;
	max-width: 1910px;
	border-radius: var(--klv-radius-hero);
	overflow: hidden;
}
.klv-page-hero img {
	width: 100%;
	height: clamp(420px, 58vw, 1120px);
	object-fit: cover;
	display: block;
}
.klv-page-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0) 45%);
}
.klv-page-hero__title {
	position: absolute;
	left: clamp(24px, 3.5vw, 64px);
	bottom: clamp(20px, 3vw, 48px);
	z-index: 2;
	color: var(--klv-white);
	font-size: var(--klv-fs-h1);
	font-weight: 600;
	line-height: 1.05;
	margin: 0;
	max-width: 14em;
}

/* Store overskrifter uden hero-billede (Salgstræning, Om-sider) */
.klv-page-title {
	font-size: var(--klv-fs-h1);
	font-weight: 600;
	line-height: 1.02;
	margin: 0;
}

.klv-tagline {
	font-size: var(--klv-fs-lede);
	font-weight: 500;
	line-height: 1.6;
	margin: 0;
	max-width: 1310px;
}

/* ---------------------------------------------------------------------
   Tekstblokke
--------------------------------------------------------------------- */
.klv-prose {
	font-weight: 300;
	font-size: var(--klv-fs-body);
	line-height: 1.5;
	display: grid;
	gap: 1.2em;
	max-width: 62ch;
}
.klv-prose p { margin: 0; }
.klv-prose strong { font-weight: 600; }

/* ---------------------------------------------------------------------
   Mørke billed-kort (Senior MP + Salgstræning)
--------------------------------------------------------------------- */
.klv-darkcards {
	display: flex;
	gap: 24px;
	max-width: var(--klv-wide);
	margin: 0 auto;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 12px;
	scrollbar-width: thin;
}
.klv-darkcards > * {
	flex: 0 0 clamp(240px, calc(25% - 18px), 420px);
	scroll-snap-align: start;
}
.klv-darkcards--plain > * { background: #000; }
.klv-darkcard {
	position: relative;
	border-radius: var(--klv-radius-card);
	overflow: hidden;
	aspect-ratio: 0.83;
	display: flex;
	align-items: flex-end;
	padding: 28px;
	color: var(--klv-white);
	background: var(--klv-night);
}
.klv-darkcard img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.82;
}
.klv-darkcard::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.05) 55%);
}
.klv-darkcard__title {
	position: relative;
	z-index: 2;
	font-size: clamp(1.1rem, 1.25vw, 1.5rem);
	font-weight: 600;
	line-height: 1.25;
	margin: 0;
}

/* ---------------------------------------------------------------------
   CTA-banner (billede + tekst overlay)
--------------------------------------------------------------------- */
.klv-cta-banner {
	position: relative;
	border-radius: var(--klv-radius-hero);
	overflow: hidden;
	max-width: 1792px;
	margin: 0 auto;
}
.klv-cta-banner img {
	width: 100%;
	height: clamp(420px, 53vw, 1020px);
	object-fit: cover;
	display: block;
}
.klv-cta-banner::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0) 60%);
}
.klv-cta-banner__content {
	position: absolute;
	left: clamp(24px, 3.5vw, 64px);
	right: clamp(24px, 3.5vw, 64px);
	bottom: clamp(24px, 3.2vw, 56px);
	z-index: 2;
	color: var(--klv-white);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(24px, 4vw, 120px);
	align-items: end;
}
.klv-cta-banner__title {
	font-size: var(--klv-fs-card);
	font-weight: 600;
	line-height: 1.25;
	margin: 0;
}
.klv-cta-banner__text {
	font-weight: 300;
	font-size: var(--klv-fs-body);
	line-height: 1.5;
	margin: 0;
}

/* ---------------------------------------------------------------------
   Accordion (Individuel coaching)
--------------------------------------------------------------------- */
.klv-accordion {
	display: grid;
	gap: 18px;
}
.klv-accordion details {
	background: linear-gradient(120deg, rgba(255, 255, 255, 0.9), rgba(244, 240, 250, 0.85));
	border-radius: 14px;
	box-shadow: 0 6px 26px rgba(15, 16, 21, 0.07);
	padding: 0;
	overflow: hidden;
}
.klv-accordion summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding: 26px 32px;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--klv-teal);
}
.klv-accordion summary::-webkit-details-marker { display: none; }
.klv-accordion summary::after {
	content: "";
	width: 22px;
	height: 22px;
	flex: 0 0 auto;
	background: url("../img/icon-arrow.svg") no-repeat center / contain;
	transition: transform 0.2s ease;
}
.klv-accordion details[open] summary::after { transform: rotate(90deg); }
.klv-accordion__body {
	padding: 0 32px 28px;
	font-weight: 300;
	line-height: 1.5;
	font-size: var(--klv-fs-body);
	max-width: 60ch;
}
.klv-accordion__body p { margin: 0 0 1em; }
.klv-accordion__body p:last-child { margin-bottom: 0; }

/* Accordion-split: overskrift til venstre, accordion til højre */
.klv-split--accordion { align-items: start; }
.klv-split--accordion > div:first-child { position: sticky; top: 40px; }

/* ---------------------------------------------------------------------
   Citat
--------------------------------------------------------------------- */
.klv-quote {
	font-size: var(--klv-fs-body-lg);
	font-weight: 500;
	font-style: italic;
	line-height: 1.5;
	color: var(--klv-teal);
	margin: 0;
	max-width: 30ch;
}

/* ---------------------------------------------------------------------
   Om-sider: portræt-hero + CV
--------------------------------------------------------------------- */
.klv-person-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(32px, 4vw, 80px);
	align-items: center;
	max-width: var(--klv-wide);
	margin: 0 auto;
}
.klv-person-hero__title {
	font-size: var(--klv-fs-h1);
	font-weight: 600;
	line-height: 1.02;
	margin: 0;
}
.klv-person-hero__img img { width: 100%; height: auto; display: block; }

.klv-cv { max-width: 794px; }
.klv-cv h3 {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--klv-teal);
	border-bottom: 1px solid var(--klv-ink);
	padding-bottom: 10px;
	margin: 44px 0 0;
}
.klv-cv table { width: 100%; border-collapse: collapse; }
.klv-cv tr { border-bottom: 1px solid rgba(30, 30, 30, 0.35); }
.klv-cv tr:last-child { border-bottom: 0; }
.klv-cv th {
	text-align: left;
	vertical-align: top;
	font-weight: 700;
	color: var(--klv-teal);
	font-size: 0.95rem;
	padding: 14px 24px 14px 0;
	white-space: nowrap;
}
.klv-cv td { padding: 14px 0; font-weight: 300; font-size: 0.95rem; }
.klv-cv td > span { display: block; padding: 3px 0; }
.klv-cv td b, .klv-cv td strong { font-weight: 600; }

.klv-person-contact { font-size: var(--klv-fs-body); margin-top: 40px; }
.klv-person-contact a { color: var(--klv-teal); font-weight: 500; }
.klv-linkedin {
	display: inline-block;
	width: 34px;
	height: 34px;
	margin-top: 18px;
	background: url("../img/icon-linkedin.svg") no-repeat center / contain;
}

/* ---------------------------------------------------------------------
   Kontakt-sektion
--------------------------------------------------------------------- */
.klv-contact {
	position: relative;
	background: linear-gradient(165deg, #e9e6ee 0%, #d8e9e7 45%, #cfe4e0 100%);
	padding: clamp(56px, 6vw, 100px) var(--klv-gutter) clamp(72px, 8vw, 150px);
	overflow: hidden;
}

/* Animeret farvespil – langsomme, drivende blobs (kun transform = GPU-venligt) */
.klv-contact::before,
.klv-contact::after {
	content: "";
	position: absolute;
	inset: -30%;
	z-index: 0;
	pointer-events: none;
	will-change: transform;
}
.klv-contact::before {
	background:
		radial-gradient(42% 38% at 18% 72%, rgba(15, 143, 160, 0.85), transparent 68%),
		radial-gradient(34% 30% at 82% 60%, rgba(198, 162, 59, 0.75), transparent 70%);
	animation: klv-drift-a 38s ease-in-out infinite alternate;
}
.klv-contact::after {
	background:
		radial-gradient(30% 26% at 68% 22%, rgba(229, 131, 107, 0.5), transparent 70%),
		radial-gradient(36% 32% at 42% 88%, rgba(120, 190, 190, 0.65), transparent 70%),
		radial-gradient(26% 24% at 50% 40%, rgba(206, 232, 229, 0.8), transparent 72%);
	animation: klv-drift-b 47s ease-in-out infinite alternate;
}
@keyframes klv-drift-a {
	0%   { transform: translate(0%, 0%) rotate(0deg) scale(1); }
	50%  { transform: translate(6%, -4%) rotate(6deg) scale(1.08); }
	100% { transform: translate(-5%, 4%) rotate(-5deg) scale(1.02); }
}
@keyframes klv-drift-b {
	0%   { transform: translate(0%, 0%) rotate(0deg) scale(1.05); }
	50%  { transform: translate(-6%, 5%) rotate(-7deg) scale(1); }
	100% { transform: translate(5%, -5%) rotate(5deg) scale(1.1); }
}
@media (prefers-reduced-motion: reduce) {
	.klv-contact::before, .klv-contact::after { animation: none; }
}
.klv-contact__inner { position: relative; z-index: 2; }
.klv-contact__title {
	font-size: var(--klv-fs-h2);
	font-weight: 600;
	line-height: 1.4;
	color: var(--klv-ink);
	margin: 0 auto 48px;
	text-align: center;
	max-width: 18em;
}
.klv-contact__card {
	background: rgba(255, 255, 255, 0.5);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	border-radius: 32px;
	max-width: 880px;
	margin: 0 auto;
	padding: clamp(28px, 3.2vw, 48px) clamp(22px, 3.6vw, 60px) clamp(40px, 4vw, 60px);
}
.klv-contact__card-title {
	font-size: clamp(1.25rem, 1.5vw, 1.75rem);
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
	margin: 0 0 40px;
}

/* Contact Form 7 -------------------------------------------------- */
.klv-contact .wpcf7 form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 44px;
	row-gap: 48px;
}
.klv-contact .klv-field { position: relative; display: block; }
.klv-contact .klv-field--full,
.klv-contact .klv-consent,
.klv-contact .klv-submit,
.klv-contact .wpcf7-response-output { grid-column: 1 / -1; }
.klv-contact .klv-field span.wpcf7-form-control-wrap { display: block; }
.klv-contact .klv-field .klv-label {
	display: block;
	font-weight: 300;
	font-size: 1.2rem;
	margin-bottom: 2px;
}
.klv-contact .klv-field .klv-req { color: #9747ff; }
.klv-contact input[type="text"],
.klv-contact input[type="email"],
.klv-contact input[type="tel"] {
	width: 100%;
	border: 0;
	border-bottom: 1px solid var(--klv-ink);
	background: transparent;
	font: 300 1.1rem/1.4 "Inter Tight", sans-serif;
	padding: 8px 0;
	border-radius: 0;
	outline: none;
	box-sizing: border-box;
}
.klv-contact input:focus { border-bottom-color: var(--klv-teal); border-bottom-width: 2px; }
.klv-contact textarea {
	width: 100%;
	height: 160px;
	border: 0;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.8);
	font: 300 1.05rem/1.5 "Inter Tight", sans-serif;
	padding: 16px;
	outline: none;
	box-sizing: border-box;
	resize: vertical;
}
.klv-contact .klv-consent {
	font-size: 1rem;
	font-weight: 400;
}
.klv-contact .klv-consent .wpcf7-list-item { margin: 0; }
.klv-contact .klv-consent input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	width: 20px;
	height: 20px;
	margin-right: 10px;
	border-radius: 5px;
	background: var(--klv-white);
	box-shadow: 0 1px 4px rgba(15, 16, 21, 0.15);
	vertical-align: -4px;
	cursor: pointer;
	position: relative;
}
.klv-contact .klv-consent input[type="checkbox"]:checked::after {
	content: "✓";
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	font-size: 14px;
	color: var(--klv-teal);
}
.klv-contact .klv-submit { text-align: center; }
.klv-contact .klv-submit input[type="submit"] {
	cursor: pointer;
	border: 0;
	border-radius: 50px;
	padding: 12px 34px;
	font: 600 1.4rem/1.3 "Inter Tight", sans-serif;
	color: var(--klv-maroon);
	background: var(--klv-white);
	box-shadow: 0 4px 18px rgba(15, 16, 21, 0.10);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.klv-contact .klv-submit input[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgba(47, 0, 0, 0.22);
}
.klv-contact .wpcf7-not-valid-tip { font-size: 0.85rem; color: #b3261e; margin-top: 4px; }
.klv-contact .wpcf7-response-output {
	border: 0 !important;
	background: rgba(255, 255, 255, 0.75);
	border-radius: 10px;
	padding: 14px 18px !important;
	margin: 0 !important;
	font-weight: 500;
}
.klv-contact .wpcf7-spinner { display: block; margin: 8px auto 0; }

/* ---------------------------------------------------------------------
   Footer
--------------------------------------------------------------------- */
.klv-footer {
	padding: 82px var(--klv-gutter) 29px;
}
.klv-footer__grid { gap: 40px; }
/* Footeren følger sitets brødtekst: 20/300 med samme linjeafstand */
.klv-footer__text { font-size: var(--klv-fs-body); font-weight: 300; line-height: 1.5; margin: 0 0 1.2em; }
.klv-footer__text strong { font-weight: 600; }
.klv-footer__label { font-size: var(--klv-fs-body); font-weight: 600; margin: clamp(28px, 3vw, 48px) 0 12px; }
.klv-footer__social { display: flex; flex-wrap: wrap; gap: 32px; margin: 0; font-size: var(--klv-fs-body); font-weight: 300; }
.klv-footer__social a, .klv-footer a { color: inherit; text-decoration: none; }
.klv-footer a:hover { text-decoration: underline; }
.klv-footer__contact-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
	align-items: start;
}
/* Charlotte og Martin står i samme kolonne, Charlotte øverst */
.klv-footer__folk > .klv-footer__text:last-child { margin-bottom: 0; }
@media (max-width: 700px) {
	.klv-footer__contact-grid { grid-template-columns: 1fr; }
}
.klv-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 36px;
	font-size: var(--klv-fs-small);
	font-weight: 300;
	margin: clamp(48px, 5vw, 80px) 0 0;
}
.klv-footer__legal span { margin-left: auto; }

/* ---------------------------------------------------------------------
   404
--------------------------------------------------------------------- */
.klv-404 { padding: 20vh var(--klv-gutter); text-align: center; }

/* ---------------------------------------------------------------------
   Responsivt
--------------------------------------------------------------------- */
@media (max-width: 1100px) {
	.klv-nav { gap: 32px; }
	.klv-cta-banner__content { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
	.klv-header__burger { display: block; }
	.klv-header__nav {
		display: none;
		position: absolute;
		top: calc(100% + 8px);
		left: 16px;
		right: 16px;
		background: rgba(255, 255, 255, 0.97);
		border-radius: 20px;
		box-shadow: 0 18px 60px rgba(0, 0, 0, 0.16);
		padding: 24px;
	}
	body.home .klv-header__nav { padding: 24px; border-radius: 20px; background: rgba(255, 255, 255, 0.97); }
	.klv-header.is-open .klv-header__nav { display: block; }
	.klv-nav { flex-direction: column; gap: 8px; }
	body.home .klv-nav__item > a, body.klv-heropage .klv-nav__item > a { color: var(--klv-ink); }
	/* Mobilmenu: undermenuer er foldet sammen og åbnes ved tryk */
	.klv-header__nav {
		max-height: calc(100vh - 110px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	.klv-nav__item > a {
		display: block;
		padding: 10px 0;
	}
	.klv-nav__item.has-sub > a::after {
		content: "";
		float: right;
		width: 10px;
		height: 10px;
		margin-top: 6px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg);
		transition: transform 0.25s ease;
	}
	.klv-nav__item.has-sub.is-open > a::after { transform: rotate(-135deg); margin-top: 10px; }
	.klv-nav__sub {
		position: static;
		transform: none;
		opacity: 1;
		visibility: visible;
		box-shadow: none;
		background: none;
		padding: 0 0 8px 16px;
		display: none;
	}
	.klv-nav__item.has-sub.is-open > .klv-nav__sub { display: block; }
	.klv-panel__num { display: none; }
	body.home .klv-header__logo { opacity: 1; pointer-events: auto; }
	.klv-split, .klv-split--reverse, .klv-person-hero { grid-template-columns: 1fr; }
	.klv-split__img--flush-right { margin-right: 0; border-radius: var(--klv-radius-hero); }
	.klv-contact .wpcf7 form { grid-template-columns: 1fr; row-gap: 28px; }
	.klv-footer__legal span { margin-left: 0; }
	.klv-card { padding: 32px 28px; min-height: 560px; }
	.klv-card__title, .klv-card__text { max-width: 100%; }
	.klv-card__img, .klv-card__img.elementor-widget-image { height: 62%; max-width: 88%; right: 0; }
}

/* Finpudsning */
.klv-h-giant, .klv-story__title { margin-bottom: clamp(28px, 3vw, 56px); }
.klv-tagline + *, .klv-page-title { margin-top: 0; }
.klv-card__img {
	width: auto;
	height: 78%;
	max-width: 66%;
	object-fit: contain;
	object-position: bottom right;
}

/* ---------------------------------------------------------------------
   Dekorative baggrunds-blobs (fra Figma-designets baggrundslag)
--------------------------------------------------------------------- */
.wp-site-blocks { position: relative; }
.klv-decor {
	position: absolute;
	inset: 0;
	overflow: clip;
	pointer-events: none;
	z-index: -1;
}
.klv-decor img { position: absolute; max-width: none; height: auto; }
.klv-decor__pink { width: 150vw; left: 8vw; top: -30vw; opacity: 0.85; }
.klv-decor__blue { width: 55vw; right: -6vw; top: 300px; }
.klv-decor__gold { width: 95vw; left: -28vw; top: 20%; }
.klv-decor__teal { width: 125vw; left: 30vw; top: 34%; opacity: 0.9; }
.klv-decor__wash { width: 180vw; left: -58vw; bottom: 13%; }
body.home .klv-decor__pink { display: none; }
body.home .klv-decor__blue { top: 1400px; }
body.home .klv-decor__gold { top: 16%; }


/* Design-kalibrering (runde 2) */
.klv-section:has(> .klv-page-hero),
.klv-section:has(> .klv-banner),
.klv-section:has(> .klv-cta-banner) { padding-inline: clamp(18px, 3.35vw, 64px); }
.klv-page-hero { max-width: 1792px; margin: 0 auto; }
.klv-banner { max-width: 1792px; }
.klv-page-hero__title { max-width: 11em; }
.klv-tagline { font-size: var(--klv-fs-h2); line-height: 1.45; font-weight: 500; }
.klv-decor__teal { opacity: 0.4; left: 24vw; }
.klv-story__title { max-width: 1150px; }
@media (max-width: 860px) {
	.klv-cv { margin-left: 0; }
}

/* ---------------------------------------------------------------------
   Elementor-kompatibilitet (sider bygget i Elementor bruger temaets look)
--------------------------------------------------------------------- */
.elementor .klv-h-giant .elementor-heading-title { font: inherit; letter-spacing: inherit; }
.elementor .klv-value__title .elementor-heading-title,
.elementor .klv-story__title .elementor-heading-title,
.elementor .klv-card__title .elementor-heading-title,
.elementor .klv-tagline .elementor-heading-title,
.elementor .klv-page-title .elementor-heading-title { font: inherit; letter-spacing: inherit; color: inherit; }
.elementor .klv-story__title strong { color: var(--klv-maroon); }
.elementor .klv-value__title strong { font-weight: 700; }

.klv-btnw .elementor-button {
	padding: 12px 22px;
	border-radius: 8px;
	font-size: var(--klv-fs-btn);
	line-height: 1.45;
	font-weight: 500;
	transition: transform 0.15s ease, opacity 0.15s ease;
}
.klv-btnw .elementor-button:hover { transform: translateY(-1px); opacity: 0.92; }
.klv-btnw--teal .elementor-button { background: var(--klv-teal); color: var(--klv-white); }
.klv-btnw--white .elementor-button { background: rgba(255, 255, 255, 0.9); color: var(--klv-night); }
.klv-btnw--center { text-align: center; }

/* Kort som Elementor-containere */
.e-con.klv-card { display: flex; flex-direction: column; align-items: flex-start; }
.e-con.klv-card .klv-card__text p { margin: 0; }
.klv-card__img.elementor-widget-image {
	position: absolute;
	right: 3%;
	bottom: 0;
	height: 88%;
	max-width: 72%;
	width: auto;
	z-index: 1;
}
.klv-card__img.elementor-widget-image img { height: 100%; width: auto; object-fit: contain; object-position: bottom right; }

.klv-cards-flex { max-width: var(--klv-wide); margin: 0 auto; }
.klv-splitflex { max-width: var(--klv-wide); margin: 0 auto; align-items: center; }
.klv-splitimg img { border-radius: var(--klv-radius-hero); width: 100%; }
.elementor .klv-split__text p { margin: 0 0 1.2em; }
.elementor .klv-split__text p:last-child { margin-bottom: 0; }
.elementor .klv-lede p, .elementor .klv-value__text p, .elementor .klv-card__text p { margin: 0; }

@media (max-width: 860px) {
	.klv-cards-flex, .klv-splitflex { flex-direction: column; }
	.klv-cards-flex > .e-con, .klv-splitflex > .e-con { width: 100% !important; }
}

/* Familie-billedet: flugter med højre kant som i designet */
@media (min-width: 861px) {
	.klv-splitflex .klv-splitimg { margin-right: calc(-1 * var(--klv-gutter) + 18px); }
	.klv-splitflex .klv-splitimg img { border-radius: var(--klv-radius-hero); }
}

/* Menu centreret i headeren (som kompas.dk) */
@media (min-width: 861px) {
	.klv-header__inner { position: relative; }
	.klv-header__nav {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
	}
}

/* ---------------------------------------------------------------------
   Ultrawide: indholds-sektioner låses (heroes/banners/slideshow forbliver fulde)
--------------------------------------------------------------------- */
body .klv-section {
	max-width: calc(var(--klv-wide) + 2 * var(--klv-gutter)) !important;
	margin-inline: auto;
}
body .klv-section:has(.klv-page-hero),
body .klv-section:has(.klv-banner),
body .klv-section:has(.klv-cta-banner),
body .klv-section:has(.klv-hero) {
	max-width: none !important;
}
.klv-contact { max-width: none; }

/* Native Elementor page-hero (billede + titel som widgets) */
.e-con.klv-page-hero { padding: 0; position: relative; border-radius: var(--klv-radius-hero); overflow: hidden; }
.e-con.klv-page-hero .elementor-widget-image img { width: 100%; height: clamp(420px, 58vw, 1160px); object-fit: cover; display: block; }
.e-con.klv-page-hero .klv-page-hero__title { position: absolute; left: clamp(24px, 3.5vw, 64px); bottom: clamp(20px, 3vw, 48px); z-index: 2; color: var(--klv-white); margin: 0; }

/* Billed-hjælpeklasser til Elementor image-widgets */
.klv-imgr img { border-radius: var(--klv-radius-hero); width: 100%; }
.klv-imgwide img { width: 100%; max-height: 640px; object-fit: cover; border-radius: var(--klv-radius-hero); }

.klv-mt-lg { margin-top: 96px; }
.elementor .klv-value__title { text-align: left; }
.elementor .klv-value .klv-value__title { text-align: center; }
.elementor .klv-prose p { margin: 0 0 1.2em; }
.elementor .klv-prose p:last-child { margin-bottom: 0; }

/* Kort: tekstkolonner vinder over Elementors bredde-regler */
.e-con.klv-card .klv-card__text.elementor-widget { max-width: 58%; }
.e-con.klv-card .klv-card__title.elementor-widget { max-width: 92%; }
@media (max-width: 860px) {
	.e-con.klv-card .klv-card__text.elementor-widget,
	.e-con.klv-card .klv-card__title.elementor-widget { max-width: 100%; }
}

/* ---------------------------------------------------------------------
   Forside-menu: egen identitet (ingen kompas-glaspille)
--------------------------------------------------------------------- */
@media (min-width: 861px) {
	body.home .klv-header__nav {
		background: none;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		border-radius: 0;
		padding: 0;
		left: auto;
		right: 34px;
		transform: translateY(-50%);
	}
	body.home .klv-nav { gap: 42px; }
	body.home .klv-nav__item > a {
		font-size: 0.9375rem;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 0.09em;
		position: relative;
		padding-bottom: 6px;
	}
	body.home .klv-nav__item > a::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: 1.5px;
		background: currentColor;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 0.25s ease;
	}
	body.home .klv-nav__item > a:hover { opacity: 1; }
	body.home .klv-nav__item > a:hover::after { transform: scaleX(1); }
}

/* Blødt scrim i toppen af hero – sikrer kontrast for hvid menu/logo */
.klv-hero::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 22%;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.32), rgba(0, 0, 0, 0));
	z-index: 2;
	pointer-events: none;
}

/* ---------------------------------------------------------------------
   Mega-panel dropdowns – glas, gradient-wash, numre, thumbs og stagger
--------------------------------------------------------------------- */
.klv-nav__sub.klv-panel {
	min-width: 420px;
	padding: 14px;
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.88);
	backdrop-filter: blur(22px) saturate(1.15);
	-webkit-backdrop-filter: blur(22px) saturate(1.15);
	box-shadow: 0 24px 70px rgba(10, 40, 44, 0.18);
	overflow: hidden;
	isolation: isolate;
}
.klv-nav__sub.klv-panel::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(60% 55% at 110% 110%, rgba(198, 162, 59, 0.16), transparent 70%),
		radial-gradient(70% 60% at -10% 115%, rgba(15, 143, 160, 0.16), transparent 70%);
}
.klv-panel li + li { margin-top: 2px; }
.klv-panel a {
	display: flex !important;
	align-items: center;
	gap: 16px;
	padding: 14px 16px !important;
	border-radius: 15px;
	white-space: normal !important;
	transition: background 0.18s ease;
}
.klv-panel a:hover { background: rgba(0, 63, 71, 0.07) !important; }
.klv-panel__num {
	flex: 0 0 auto;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	color: var(--klv-teal);
	padding-top: 3px;
	align-self: flex-start;
}
.klv-panel__body { display: block; min-width: 0; }
.klv-panel__body strong { display: block; font-size: 1.05rem; font-weight: 600; color: var(--klv-ink); line-height: 1.25; }
.klv-panel__body em { display: block; font-style: normal; font-size: 0.84rem; font-weight: 400; color: rgba(30, 30, 30, 0.55); margin-top: 3px; }
.klv-panel__thumb {
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	overflow: hidden;
	display: grid;
	place-items: end center;
}
.klv-panel__thumb--teal { background: linear-gradient(180deg, #0e6b73, #aee8e6); }
.klv-panel__thumb--maroon { background: linear-gradient(180deg, #6b2d2d, #d4b8a7); }
.klv-panel__thumb img { width: 84%; height: auto; display: block; }
.klv-panel__arrow {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	margin-left: auto;
	background: url("../img/icon-arrow.svg") no-repeat center / contain;
	opacity: 0;
	transform: translate(-6px, 6px);
	transition: opacity 0.2s ease, transform 0.2s ease;
}
.klv-panel a:hover .klv-panel__arrow { opacity: 1; transform: translate(0, 0); }

/* Stagger-animation ved åbning */
.klv-panel li { opacity: 0; transform: translateY(7px); transition: opacity 0.22s ease, transform 0.22s ease; }
.klv-nav__item.has-sub:hover .klv-panel li,
.klv-nav__item.has-sub:focus-within .klv-panel li { opacity: 1; transform: translateY(0); }
.klv-nav__item.has-sub:hover .klv-panel li:nth-child(2) { transition-delay: 0.05s; }
.klv-nav__item.has-sub:hover .klv-panel li:nth-child(3) { transition-delay: 0.1s; }

@media (max-width: 860px) {
	.klv-nav__sub.klv-panel { min-width: 0; box-shadow: none; background: none; backdrop-filter: none; padding: 4px 0 4px 8px; }
	.klv-nav__sub.klv-panel::before { display: none; }
	.klv-panel li { opacity: 1; transform: none; }
	.klv-panel__arrow { display: none; }
}

/* ---------------------------------------------------------------------
   Menu v3: større versal-stil, centreret, ens på alle sider
--------------------------------------------------------------------- */
@media (min-width: 861px) {
	.klv-nav { gap: clamp(36px, 3.2vw, 56px); }
	.klv-nav__item > a {
		font-size: 1.1875rem;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 0.1em;
		position: relative;
		padding-bottom: 7px;
	}
	.klv-nav__item > a::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: 2px;
		background: currentColor;
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 0.25s ease;
	}
	.klv-nav__item > a:hover { opacity: 1; }
	.klv-nav__item > a:hover::after { transform: scaleX(1); }

	/* Centreret overalt – også på forsiden */
	body.home .klv-header__nav {
		left: 50%;
		right: auto;
		transform: translate(-50%, -50%);
	}
	body.home .klv-nav__item > a { font-size: 1.1875rem; }
}

/* Mega-panel: hover-effekter på underpunkter */
.klv-panel a { transition: background 0.18s ease, transform 0.18s ease; }
.klv-panel a:hover { transform: translateX(5px); }
.klv-panel__body strong { transition: color 0.18s ease; }
.klv-panel a:hover .klv-panel__body strong { color: var(--klv-teal); }
.klv-panel__num {
	padding: 3px 8px 2px;
	border: 1px solid rgba(0, 63, 71, 0.25);
	border-radius: 999px;
	align-self: center;
	transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.klv-panel a:hover .klv-panel__num {
	background: var(--klv-teal);
	color: var(--klv-white);
	border-color: var(--klv-teal);
}
.klv-panel__thumb img { transition: transform 0.25s ease; transform-origin: bottom center; }
.klv-panel a:hover .klv-panel__thumb img { transform: scale(1.1); }

/* Decor-blobs: klargør til animation */
.klv-decor img { will-change: transform; }

/* ---------------------------------------------------------------------
   Mega-menu v2: fuldbredde-panel der presser ned fra toppen
--------------------------------------------------------------------- */
@media (min-width: 861px) {
	.klv-nav__sub.klv-panel {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		min-width: 0;
		display: flex;
		justify-content: center;
		align-items: stretch;
		gap: clamp(24px, 3vw, 56px);
		padding: 158px clamp(24px, 6vw, 120px) 64px;
		border-radius: 0 0 36px 36px;
		background: rgba(255, 255, 255, 0.93);
		backdrop-filter: blur(26px) saturate(1.15);
		-webkit-backdrop-filter: blur(26px) saturate(1.15);
		box-shadow: 0 40px 120px rgba(10, 40, 44, 0.28);
		opacity: 1;
		visibility: visible;
		transform: translateY(-103%);
		transition: transform 0.55s cubic-bezier(0.77, 0, 0.18, 1);
		z-index: -1;
	}
	.klv-nav__sub.klv-panel::before {
		border-radius: 0 0 36px 36px;
		background:
			radial-gradient(45% 70% at 8% 110%, rgba(15, 143, 160, 0.14), transparent 70%),
			radial-gradient(40% 65% at 92% 115%, rgba(198, 162, 59, 0.14), transparent 70%),
			radial-gradient(30% 50% at 70% -10%, rgba(151, 71, 255, 0.07), transparent 70%);
	}
	.klv-nav__item.has-sub:hover .klv-nav__sub.klv-panel,
	.klv-nav__item.has-sub:focus-within .klv-nav__sub.klv-panel {
		transform: translateY(0);
	}
	.klv-panel li + li { margin-top: 0; }
	.klv-panel li { flex: 0 1 340px; display: flex; }
	.klv-panel a {
		flex: 1;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		text-align: center;
		gap: 14px;
		padding: 30px 28px !important;
		border-radius: 22px;
	}
	.klv-panel a:hover { transform: translateY(-5px); }
	.klv-panel__num { align-self: center; }
	.klv-panel__body strong { font-size: clamp(1.25rem, 1.5vw, 1.75rem); font-weight: 700; letter-spacing: -0.01em; }
	.klv-panel__body em { font-size: 0.95rem; margin-top: 6px; }
	.klv-panel__thumb { flex: 0 0 auto; width: 86px; height: 86px; }
	.klv-panel__arrow { margin: 4px auto 0; transform: translate(0, 6px); }
	.klv-panel a:hover .klv-panel__arrow { transform: translate(0, 0); }
	/* stagger tilpasset lodret bevægelse */
	.klv-panel li { transform: translateY(14px); }
	.klv-nav__item.has-sub:hover .klv-panel li { transform: translateY(0); }
}

/* Mega-menu fix: centrér nav uden transform (transform bryder position:fixed) */
@media (min-width: 861px) {
	.klv-header__nav,
	body.home .klv-header__nav,
	body.klv-heropage .klv-header__nav {
		position: absolute;
		inset: 0;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		width: auto;
		transform: none;
		display: flex;
		justify-content: center;
		align-items: center;
		pointer-events: none;
		background: none;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		border-radius: 0;
		padding: 0;
	}
	.klv-nav { pointer-events: auto; }
}

/* Menu-links skifter til mørk, mens mega-panelet er åbent */
@media (min-width: 861px) {
	.klv-nav__item > a { transition: color 0.25s ease, opacity 0.15s ease; }
	body.home .klv-nav:has(li.has-sub:hover) .klv-nav__item > a,
	body.home .klv-nav:has(li.has-sub:focus-within) .klv-nav__item > a {
		color: var(--klv-ink);
	}
}

/* ---------------------------------------------------------------------
   Mega-menu v3: skubber indholdet ned + animeret CSS-baggrund
--------------------------------------------------------------------- */
@media (min-width: 861px) {
	/* Indholdet under headeren glider ned, når panelet åbner */
	.wp-site-blocks > *:not(header) {
		transition: transform 0.55s cubic-bezier(0.77, 0, 0.18, 1);
	}
	body.klv-mega-open .wp-site-blocks > *:not(header) {
		transform: translateY(var(--klv-push, 0px));
	}

	/* Panel: ingen skygge-spøgelse i lukket tilstand */
	.klv-nav__sub.klv-panel {
		box-shadow: none;
		visibility: hidden;
		transition: transform 0.55s cubic-bezier(0.77, 0, 0.18, 1), visibility 0s 0.55s;
	}
	.klv-nav__item.has-sub:hover .klv-nav__sub.klv-panel,
	.klv-nav__item.has-sub:focus-within .klv-nav__sub.klv-panel {
		visibility: visible;
		box-shadow: 0 30px 80px rgba(10, 40, 44, 0.16);
		transition: transform 0.55s cubic-bezier(0.77, 0, 0.18, 1), visibility 0s 0s;
	}

	/* Animeret farvespil i panelet – rent CSS, samme sprog som formularen */
	.klv-nav__sub.klv-panel::before {
		inset: -45%;
		border-radius: 0;
		background:
			radial-gradient(32% 30% at 22% 78%, rgba(15, 143, 160, 0.20), transparent 70%),
			radial-gradient(28% 26% at 78% 82%, rgba(198, 162, 59, 0.20), transparent 70%),
			radial-gradient(22% 22% at 62% 30%, rgba(229, 131, 107, 0.12), transparent 72%),
			radial-gradient(26% 24% at 40% 45%, rgba(151, 71, 255, 0.07), transparent 72%);
		animation: klv-drift-a 34s ease-in-out infinite alternate;
		will-change: transform;
	}
}

/* ---------------------------------------------------------------------
   Service-kort: outline-numre + hover-liv
--------------------------------------------------------------------- */
.e-con.klv-card {
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.e-con.klv-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 26px 64px rgba(10, 40, 44, 0.18);
}
.e-con.klv-card::before {
	content: "01";
	position: absolute;
	top: 18px;
	right: 24px;
	left: auto;
	bottom: auto;
	width: auto;
	height: auto;
	z-index: 0;
	font-size: clamp(110px, 9.5vw, 180px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.02em;
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.30);
	pointer-events: none;
	transition: transform 0.45s ease, -webkit-text-stroke-color 0.3s ease;
}
.e-con.klv-card--maroon::before { content: "02"; }
.e-con.klv-card:hover::before {
	transform: translate(-6px, 6px);
	-webkit-text-stroke-color: rgba(255, 255, 255, 0.55);
}
.e-con.klv-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: radial-gradient(65% 55% at 18% 105%, rgba(255, 255, 255, 0.30), transparent 70%);
	opacity: 0;
	transition: opacity 0.35s ease;
	pointer-events: none;
}
.e-con.klv-card:hover::after { opacity: 1; }
.klv-card__img.elementor-widget-image img {
	transition: transform 0.45s ease;
	transform-origin: bottom right;
}
.e-con.klv-card:hover .klv-card__img.elementor-widget-image img { transform: scale(1.045); }

/* Mega-panel: rent hvidt – ingen farvespil i menuen */
@media (min-width: 861px) {
	.klv-nav__sub.klv-panel::before { background: none; animation: none; }
}

/* Ingen numre i menu-panelet */
.klv-panel__num { display: none; }

/* Kort: ingen numre – de rangordner personerne utilsigtet */
.e-con.klv-card::before { content: none; }

/* Kort: navne som store outline-ord bag personerne */
.e-con.klv-card::before {
	content: "CHARLOTTE";
	position: absolute;
	top: 20px;
	right: 22px;
	left: auto;
	bottom: auto;
	width: auto;
	height: auto;
	z-index: 0;
	font-size: clamp(44px, 4.3vw, 78px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.30);
	pointer-events: none;
	transition: transform 0.45s ease, -webkit-text-stroke-color 0.3s ease;
}
.e-con.klv-card--maroon::before { content: "MARTIN"; }
.e-con.klv-card:hover::before {
	transform: translateX(-8px);
	-webkit-text-stroke-color: rgba(255, 255, 255, 0.55);
}

/* Navne: nederste venstre hjørne, tonet i kortets egen farve mod den lyse bund */
.e-con.klv-card::before {
	top: auto;
	right: auto;
	left: 26px;
	bottom: 20px;
	-webkit-text-stroke-color: rgba(0, 63, 71, 0.28);
}
.e-con.klv-card--maroon::before { -webkit-text-stroke-color: rgba(47, 0, 0, 0.25); }
.e-con.klv-card:hover::before {
	transform: translateX(8px);
	-webkit-text-stroke-color: rgba(0, 63, 71, 0.5);
}
.e-con.klv-card--maroon:hover::before { -webkit-text-stroke-color: rgba(47, 0, 0, 0.45); }

/* Navne: massive, bløder ud over kortets kanter (maskes af overflow) */
.e-con.klv-card::before {
	left: -14px;
	bottom: -28px;
	font-size: clamp(120px, 12.5vw, 230px);
	letter-spacing: -0.02em;
	-webkit-text-stroke-width: 2px;
	white-space: nowrap;
}

/* Elementor-kompat til de sidste sider */
.elementor .klv-person-hero__title .elementor-heading-title { font: inherit; letter-spacing: inherit; }
.klv-person-img img {
	aspect-ratio: 2 / 3;
	object-fit: cover;
	object-position: top center;
	width: min(100%, 545px);
	display: block;
	margin-left: auto;
	margin-right: clamp(0px, 2.3vw, 45px);
	border-radius: 24px;
}
.klv-person-img--low img { object-position: center 24%; }
@media (max-width: 860px) {
	.klv-person-img img { margin-left: 0; margin-right: 0; }
}
.klv-center { text-align: center; }
.elementor .klv-quote { margin: 0 0 24px; }

/* Ekstra dæmpede farve-blobs (mere farvespil, stadig roligt) */
.klv-decor__lilla { width: 68vw; right: -18vw; left: auto; top: 16%; opacity: 0.75; }
.klv-decor__koral { width: 56vw; left: -14vw; top: 47%; opacity: 0.8; }
.klv-decor__mint { width: 74vw; right: -20vw; left: auto; top: 66%; opacity: 0.85; }

/* ---------------------------------------------------------------------
   Scroll-reveal: fade + glid ind (kun med JS og uden reduced-motion)
--------------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
	html.klv-js .klv-reveal {
		opacity: 0;
		transform: translateY(26px);
		transition: opacity 0.7s cubic-bezier(0.22, 0.6, 0.24, 1), transform 0.7s cubic-bezier(0.22, 0.6, 0.24, 1);
	}
	html.klv-js .klv-reveal.klv-inview {
		opacity: 1;
		transform: translateY(0);
	}
	/* Kortene kommer fra hver sin side */
	html.klv-js .e-con.klv-card--teal.klv-reveal { transform: translateX(-34px); }
	html.klv-js .e-con.klv-card--maroon.klv-reveal { transform: translateX(34px); }
	html.klv-js .e-con.klv-card.klv-reveal.klv-inview { transform: translateX(0); }
	/* Store billeder lander med et blidt zoom-ud */
	html.klv-js .klv-banner.klv-reveal, html.klv-js .klv-cta-banner.klv-reveal { transform: translateY(26px) scale(1.02); }
	html.klv-js .klv-banner.klv-reveal.klv-inview, html.klv-js .klv-cta-banner.klv-reveal.klv-inview { transform: translateY(0) scale(1); }
}

/* Mega-panel: skarpe hjørner */
@media (min-width: 861px) {
	.klv-nav__sub.klv-panel, .klv-nav__sub.klv-panel::before { border-radius: 0; }
}

/* Mere luft mellem top-menu og underpunkter i panelet */
@media (min-width: 861px) {
	.klv-nav__sub.klv-panel { padding-top: 216px; }
}

/* ---------------------------------------------------------------------
   Sticky header (glider ind ved scroll op)
--------------------------------------------------------------------- */
.klv-header--fixed {
	position: fixed !important;
	top: 0 !important;
	left: 0;
	right: 0;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(18px) saturate(1.1);
	-webkit-backdrop-filter: blur(18px) saturate(1.1);
	box-shadow: 0 6px 30px rgba(10, 40, 44, 0.08);
	transition: transform 0.32s ease;
	z-index: 200;
}
.klv-header--hidden { transform: translateY(-100%); }
body.home .klv-header--fixed .klv-header__logo { opacity: 1; pointer-events: auto; }
body.home .klv-header--fixed .klv-logo--white, body.klv-heropage .klv-header--fixed .klv-logo--white { display: none; }
body.home .klv-header--fixed .klv-logo--dark, body.klv-heropage .klv-header--fixed .klv-logo--dark { display: inline; }
body.home .klv-header--fixed .klv-nav__item > a, body.klv-heropage .klv-header--fixed .klv-nav__item > a { color: var(--klv-ink); }
body.home .klv-header--fixed .klv-header__lang, body.klv-heropage .klv-header--fixed .klv-header__lang { color: var(--klv-ink); }

/* Parallax-billeder: skjul overskydende kant */
.klv-banner img, .klv-cta-banner img, .klv-page-hero .elementor-widget-image img { will-change: transform; }

/* ---------------------------------------------------------------------
   Motion v2: native CSS scroll-animationer (uafhængig af JS/throttling)
--------------------------------------------------------------------- */
.klv-decor > div { position: absolute; pointer-events: none; }
.klv-decor > div > img { position: static; width: 100%; height: auto; max-width: none; display: block; }

@media (prefers-reduced-motion: no-preference) {
	/* Konstant blid drift på hver blob */
	.klv-decor > div > img {
		animation: klv-blob-drift 33s ease-in-out infinite alternate;
		will-change: transform;
	}
	.klv-decor > div:nth-child(1) > img { animation-duration: 29s; animation-delay: -4s; }
	.klv-decor > div:nth-child(2) > img { animation-duration: 26s; animation-delay: -11s; }
	.klv-decor > div:nth-child(3) > img { animation-duration: 34s; animation-delay: -7s; }
	.klv-decor > div:nth-child(4) > img { animation-duration: 31s; animation-delay: -16s; }
	.klv-decor > div:nth-child(5) > img { animation-duration: 27s; animation-delay: -2s; }
	.klv-decor > div:nth-child(6) > img { animation-duration: 38s; animation-delay: -13s; }
	.klv-decor > div:nth-child(7) > img { animation-duration: 30s; animation-delay: -9s; }
	.klv-decor > div:nth-child(8) > img { animation-duration: 42s; animation-delay: -20s; }
	@keyframes klv-blob-drift {
		from { transform: translate(-20px, -16px) rotate(-3deg) scale(0.98); }
		to   { transform: translate(18px, 20px) rotate(4deg) scale(1.05); }
	}

	/* Scroll-parallax pr. blob (forskellige hastigheder = dybde) */
	.klv-decor > div {
		animation: klv-scroll-par linear both;
		animation-timeline: scroll(root);
		will-change: transform;
	}
	.klv-decor__pink  { --par: -14vh; }
	.klv-decor__blue  { --par: -30vh; }
	.klv-decor__gold  { --par: 20vh; }
	.klv-decor__teal  { --par: -24vh; }
	.klv-decor__lilla { --par: -34vh; }
	.klv-decor__koral { --par: 26vh; }
	.klv-decor__mint  { --par: -20vh; }
	.klv-decor__wash  { --par: 14vh; }
	@keyframes klv-scroll-par {
		from { translate: 0 0; }
		to   { translate: 0 var(--par, -20vh); }
	}

	/* Hero: video/billede glider langsommere end scroll */
	.klv-hero video, .klv-hero .klv-slide img {
		animation: klv-hero-par linear both;
		animation-timeline: scroll(root);
		animation-range: 0vh 120vh;
		will-change: transform;
	}
	@keyframes klv-hero-par {
		from { transform: translateY(0) scale(1.06); }
		to   { transform: translateY(34vh) scale(1.06); }
	}

	/* Foto-bannere: indre parallax når de passerer viewporten */
	.klv-banner img, .klv-cta-banner img, .klv-page-hero .elementor-widget-image img {
		animation: klv-view-par linear both;
		animation-timeline: view();
		animation-range: cover 0% cover 100%;
		will-change: transform;
	}
	@keyframes klv-view-par {
		from { transform: scale(1.18) translateY(-52px); }
		to   { transform: scale(1.18) translateY(52px); }
	}
}

/* ---------------------------------------------------------------------
   Design-kalibrering (runde 3 – undersider strammet op mod Figma)
--------------------------------------------------------------------- */

/* Strammere lodret rytme på undersider (forsiden er urørt) */
body:not(.home) main .klv-section,
body:not(.home) main .klv-section--tight { padding-block: calc(var(--klv-afstand-1) / 2); }

/* Om-sider: portræt-hero som i Figma (545×818, højrestillet, stående format) */
.klv-person-hero__img { display: flex; justify-content: flex-end; }
.klv-person-hero__img img {
	width: min(100%, 545px);
	aspect-ratio: 2 / 3;
	height: auto;
	object-fit: cover;
	object-position: top center;
	border-radius: 24px;
	margin-right: clamp(0px, 2.3vw, 45px);
}

/* Bio-split: tekstkolonnen flugter med CV-kolonnen (52/48 som i Figma) */
.klv-split--bio {
	grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
	align-items: start;
}

/* Billedformater fra Figma – beskærer kilden til designets crop */
.klv-split__img[class*="klv-split__img--"] { border-radius: 0; overflow: visible; }
.klv-split__img[class*="klv-split__img--"] img { border-radius: var(--klv-radius-hero); }
.klv-split__img--1x1 img { aspect-ratio: 1 / 1; height: auto; max-width: 878px; }
.klv-split__img--2x3 img { aspect-ratio: 2 / 3; height: auto; max-width: 691px; }
.klv-split__img--3x4 img { aspect-ratio: 3 / 4; height: auto; max-width: 698px; }
.klv-split__img--8x9 img { aspect-ratio: 8 / 9; height: auto; max-width: 767px; }
.klv-split__img--7x10 img { aspect-ratio: 7 / 10; height: auto; max-width: 671px; }

/* CV-blokken flugter med bio-teksten (x=1005 i 1656-containeren) */
.klv-cv { margin-left: clamp(0px, 52.7%, 873px); }
.klv-cv h3 {
	font-size: clamp(1.3rem, 1.55vw, 1.85rem);
	margin: var(--klv-afstand-2) 0 0;
	padding-bottom: 14px;
}
.klv-cv h3:first-child { margin-top: 0; }
.klv-cv th {
	font-size: clamp(0.95rem, 1.05vw, 1.25rem);
	padding: clamp(16px, 1.2vw, 24px) 24px clamp(16px, 1.2vw, 24px) 0;
	width: 34%;
}
.klv-cv td { font-size: clamp(0.95rem, 1.05vw, 1.25rem); padding: clamp(16px, 1.2vw, 24px) 0; }
.klv-cv td > span { padding: 4px 0; }
.klv-person-contact { font-size: clamp(1.05rem, 1.15vw, 1.375rem); margin-top: clamp(40px, 3.5vw, 68px); }

/* Salgstræning: collage – stort billede tv., citat + bredt billede th. */
.klv-collage {
	display: grid;
	grid-template-columns: minmax(0, 47fr) minmax(0, 53fr);
	gap: clamp(32px, 4vw, 140px);
	align-items: start;
	max-width: var(--klv-wide);
	margin: 0 auto;
}
.klv-collage__big img,
.klv-collage__wide img {
	width: 100%;
	object-fit: cover;
	display: block;
	border-radius: var(--klv-radius-hero);
}
.klv-collage__big img { aspect-ratio: 8 / 9; }
.klv-collage__side { display: grid; gap: clamp(40px, 8vw, 150px); padding-top: clamp(20px, 5vw, 174px); }
.klv-collage__side .klv-quote { margin-left: clamp(0px, 6vw, 114px); }
.klv-collage__wide img { aspect-ratio: 864 / 499; }
.klv-collage-text {
	max-width: 1005px;
	margin: clamp(40px, 5.8vw, 112px) 0 0 clamp(0px, 18.7%, 310px);
}

/* Indrykket tekstspor (x≈441 i designet) og bred brødtekst */
.klv-indent { margin-left: clamp(0px, 18.7%, 310px); }
.klv-prose--wide { max-width: 1000px; }
.klv-prose--med { max-width: 960px; }
.klv-lede.klv-prose--med { font-size: var(--klv-fs-lede); }

/* Fritliggende billeder: flugter med højre kant (coaching) / højrestillet (senior) */
.klv-imgflush {
	width: min(1516px, 96%);
	margin-left: auto;
	margin-right: calc(-1 * var(--klv-gutter));
	border-radius: var(--klv-radius-hero) 0 0 var(--klv-radius-hero);
	overflow: hidden;
}
.klv-imgflush img { width: 100%; aspect-ratio: 1516 / 727; object-fit: cover; display: block; }
.klv-imgoffset {
	width: min(1050px, 64%);
	margin-left: auto;
	border-radius: var(--klv-radius-hero);
	overflow: hidden;
}
.klv-imgoffset img { width: 100%; aspect-ratio: 1050 / 643; object-fit: cover; display: block; }

/* Accordion: større og bredere som i Figma (kolonner 40/60, rummelige felter) */
.klv-split--accordion { grid-template-columns: minmax(0, 40fr) minmax(0, 60fr); }
.klv-accordion details { border-radius: 20px; }
.klv-accordion summary {
	font-size: clamp(1.05rem, 1.2vw, 1.44rem);
	padding: clamp(24px, 2.4vw, 46px) clamp(28px, 3.1vw, 60px);
}
.klv-accordion__body { padding: 0 clamp(28px, 3.1vw, 60px) clamp(24px, 2.4vw, 46px); }

/* Mørke kort: bredere række end indholdssporet (1787px i Figma) + touch-scroll */
.klv-darkcards {
	max-width: none;
	margin-inline: clamp(calc(-1 * var(--klv-gutter) + 18px), calc((100% - 1787px) / 2), 0px);
	-webkit-overflow-scrolling: touch;
}
.klv-darkcards > * { flex: 0 0 clamp(260px, calc(25% - 18px), 429px); }
@media (pointer: coarse) {
	.klv-darkcards { scrollbar-width: none; }
	.klv-darkcards::-webkit-scrollbar { display: none; }
}

@media (max-width: 860px) {
	.klv-cv { margin-left: 0; }
	.klv-collage { grid-template-columns: 1fr; }
	.klv-collage__side { padding-top: 0; }
	.klv-collage-text, .klv-indent { margin-left: 0; }
	.klv-collage-text { margin-top: 32px; }
	.klv-imgflush, .klv-imgoffset { width: 100%; margin-right: 0; border-radius: var(--klv-radius-hero); }
	.klv-person-hero__img img { margin-right: 0; }
	.klv-person-hero__img { justify-content: flex-start; }
}

/* ---------------------------------------------------------------------
   Design-kalibrering (runde 3b – Elementor-udgaven af undersiderne)
--------------------------------------------------------------------- */

/* Aspekt-crops fra Figma på Elementor-billedwidgets */
.klv-ar-1x1 img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }
.klv-ar-2x3 img { aspect-ratio: 2 / 3; object-fit: cover; width: 100%; }
.klv-ar-3x4 img { aspect-ratio: 3 / 4; object-fit: cover; width: 100%; }
.klv-ar-8x9 img { aspect-ratio: 8 / 9; object-fit: cover; width: 100%; }
.klv-ar-7x10 img { aspect-ratio: 7 / 10; object-fit: cover; width: 100%; }
.klv-ar-collagewide img { aspect-ratio: 864 / 499; object-fit: cover; width: 100%; border-radius: var(--klv-radius-hero); }

/* Coaching: "Chapter"-billedet flugter med sidens højre kant (1516×727) */
.klv-imgflushw { margin-left: auto; margin-right: 0; width: min(1516px, 96%); }
.klv-imgflushw img {
	width: 100%;
	aspect-ratio: 1516 / 727;
	object-fit: cover;
	display: block;
	border-radius: var(--klv-radius-hero);
}

/* Senior: elpære-billedet højrestillet (1050×643) */
.klv-imgoffsetw { margin-left: auto; width: min(1050px, 64%); }
.klv-imgoffsetw img {
	width: 100%;
	aspect-ratio: 1050 / 643;
	object-fit: cover;
	display: block;
	border-radius: var(--klv-radius-hero);
}

/* Salg: collage – citat-kolonnen forskudt nedad, luft mellem citat og billede */
.klv-collageflex { align-items: start; }
.klv-collageflex > .e-con:last-child { padding-top: clamp(20px, 5vw, 174px); row-gap: clamp(40px, 6vw, 110px); }
.klv-collageflex .klv-quote { margin-left: clamp(0px, 6vw, 114px); }
.elementor .klv-collage-text { margin: clamp(40px, 5.8vw, 112px) 0 0 clamp(0px, 18.7%, 310px); max-width: 1005px; }

@media (max-width: 860px) {
	.klv-imgflushw, .klv-imgoffsetw { width: 100%; margin-right: 0; }
	.klv-imgflushw img { border-radius: var(--klv-radius-hero); }
	.klv-collageflex > .e-con:last-child { padding-top: 0; }
	.elementor .klv-collage-text { margin-left: 0; }
}

/* ---------------------------------------------------------------------
   Design-kalibrering (runde 4 – profil-layout på Om Martin/Om Charlotte)
--------------------------------------------------------------------- */
.klv-profileflex { align-items: stretch; }
.klv-profileflex > .e-con:first-child > [class*="elementor-widget"] { flex-grow: 1; }

.klv-profilecard {
	position: sticky;
	top: 120px;
	background: linear-gradient(155deg, rgba(255, 255, 255, 0.88), rgba(235, 246, 244, 0.6));
	backdrop-filter: blur(18px) saturate(1.15);
	-webkit-backdrop-filter: blur(18px) saturate(1.15);
	border: 1px solid rgba(255, 255, 255, 0.75);
	border-radius: 28px;
	padding: clamp(20px, 1.8vw, 34px);
	box-shadow: 0 24px 60px rgba(10, 40, 44, 0.12);
	display: block;
}
.klv-profilecard__img img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: top center;
	border-radius: 18px;
	display: block;
}
.klv-profilecard__name {
	font-size: clamp(1.4rem, 1.7vw, 2rem);
	font-weight: 700;
	line-height: 1.15;
	margin: 22px 0 4px;
}
.klv-profilecard__role {
	color: var(--klv-teal);
	font-weight: 500;
	font-size: clamp(0.95rem, 1vw, 1.15rem);
	margin: 0 0 20px;
}
.klv-profilecard__contact {
	font-size: var(--klv-fs-body);
	line-height: 1.5;
	list-style: none;
	padding: 0 0 20px;
	margin: 0 0 20px;
	display: grid;
	gap: 8px;
	font-weight: 300;
	border-bottom: 1px solid rgba(30, 30, 30, 0.15);
}
.klv-profilecard__contact a { color: var(--klv-ink); text-decoration: none; }
.klv-profilecard__contact a:hover { color: var(--klv-teal); }
.klv-profilecard__cta { display: block; text-align: center; margin-bottom: 16px; }
.klv-profilecard .klv-linkedin { margin-top: 0; }

/* CV'et fylder hele højre spor i profil-layoutet */
.klv-profileflex .klv-cv { margin-left: 0; max-width: none; }

/* Bredformat-foto i højre spor */
.klv-ar-16x9 img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; object-position: center 24%; }

@media (max-width: 860px) {
	.klv-profilecard { position: static; }
}

/* ---------------------------------------------------------------------
   Runde 4b – grafisk titelblok på Om-siderne (kicker + gradient + manchet)
--------------------------------------------------------------------- */
.klv-kicker {
	text-transform: uppercase;
	letter-spacing: 0.24em;
	font-size: clamp(0.8rem, 0.85vw, 0.95rem);
	font-weight: 600;
	color: var(--klv-teal);
	margin: 0 0 16px;
}
.klv-person-hero__title strong { font-weight: 700; }
.klv-person-sub {
	font-size: var(--klv-fs-lede);
	font-weight: 300;
	line-height: 1.45;
	text-wrap: balance;
	max-width: 30em;
	margin: 20px 0 0;
	color: rgba(30, 30, 30, 0.85);
}

/* ---------------------------------------------------------------------
   Runde 4c – mindre boxy: forskydninger, overlap og legesyge detaljer
--------------------------------------------------------------------- */
/* Kicker med streg foran */
.klv-kicker::before {
	content: "";
	display: inline-block;
	width: 36px;
	height: 2px;
	background: currentColor;
	margin-right: 14px;
	vertical-align: middle;
}

/* Ghost-navnetræk bag titlen, off-center til højre */
.klv-person-head { position: relative; }
.klv-person-head::before {
	position: absolute;
	right: -7vw;
	top: -0.3em;
	font-size: clamp(100px, 12.5vw, 220px);
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(0, 63, 71, 0.10);
	z-index: -1;
	pointer-events: none;
	white-space: nowrap;
}
body.page-id-12 .klv-person-head::before { content: "MARTIN"; }
body.page-id-11 .klv-person-head::before { content: "CHARLOTTE"; }

/* Manchetten står forskudt til højre */
.klv-person-head .klv-person-sub { margin-left: 0; }

/* Portrættet popper skævt op af glaskortet */
.klv-profilecard { top: 150px; }
.klv-profilecard__img {
	width: 90%;
	margin: calc(-1 * clamp(36px, 3.4vw, 64px)) auto 0;
	transform: rotate(-2deg);
	transition: transform 0.35s ease;
}
.klv-profilecard__img img { box-shadow: 0 18px 44px rgba(10, 40, 44, 0.22); border-radius: 20px; }
.klv-profilecard:hover .klv-profilecard__img { transform: rotate(0deg); }

/* Bio: første afsnit som manchet, resten forskudt */
.klv-profileflex .klv-prose p:first-child { font-size: var(--klv-fs-body-lg); font-weight: 400; max-width: 30em; }

/* Bredformat-fotoet bryder ud af kolonnen mod højre */
.klv-profileflex [class*="elementor-widget"].klv-ar-16x9 {
	width: calc(100% + clamp(24px, 6vw, 120px));
	max-width: none;
	margin-right: calc(-1 * clamp(24px, 6vw, 120px));
}
.klv-profileflex .klv-ar-16x9 img { border-radius: var(--klv-radius-hero); }

@media (max-width: 860px) {
	.klv-person-head::before { display: none; }
	.klv-person-head .klv-person-sub { margin-left: 0; }
	.klv-profileflex [class*="elementor-widget"].klv-ar-16x9 { width: 100%; margin-right: 0; }
	.klv-profilecard__img { margin-top: -24px; }
}

/* ---------------------------------------------------------------------
   Runde 5 – titelblok + off-center greb på service-siderne
--------------------------------------------------------------------- */
.klv-page-title strong {
	background: linear-gradient(115deg, var(--klv-teal) 20%, #2b9d8f 65%, var(--klv-mint));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: var(--klv-teal);
}
body.page-id-8 .klv-person-head::before { content: "PROJEKTLEDER"; font-size: clamp(70px, 9vw, 160px); }
body.page-id-9 .klv-person-head::before { content: "COACHING"; }
body.page-id-46 .klv-person-head::before { content: "SALG"; }

/* Hero uden overlay-titel: ingen mørk gradient, lidt lavere, asymmetriske hjørner */
.klv-page-hero:not(:has(.klv-page-hero__title))::after { display: none; }
.klv-page-hero:not(:has(.klv-page-hero__title)) img { height: clamp(380px, 46vw, 880px); }
body:not(.home) main .klv-page-hero,
body:not(.home) main .klv-banner {
	border-radius: var(--klv-radius-hero);
}

/* Staggered brødtekst: første afsnit som manchet, resten forskudt */
.klv-stagger p:first-child { font-size: var(--klv-fs-body-lg); font-weight: 400; max-width: 30em; }

@media (max-width: 860px) {
}

/* ---------------------------------------------------------------------
   Runde 5b – accordion-animation (fold-ud med løft, glid og fjedrende pil)
--------------------------------------------------------------------- */
.klv-accordion details {
	transition: box-shadow 0.45s ease, transform 0.45s cubic-bezier(0.32, 0.72, 0.24, 1.02), background 0.45s ease;
}
.klv-accordion details.is-open {
	box-shadow: 0 22px 54px rgba(10, 40, 44, 0.16);
	transform: translateX(-10px);
	background: linear-gradient(120deg, #ffffff, rgba(236, 247, 245, 0.95));
}
.klv-accordion summary::after { transition: transform 0.5s cubic-bezier(0.34, 1.4, 0.44, 1); }
html.klv-js .klv-accordion details[open]:not(.is-open) summary::after { transform: none; }
.klv-accordion details.is-open summary::after { transform: rotate(90deg) scale(1.15); }

/* Indholdet glider op og fader ind, let forsinket ift. udfoldningen */
html.klv-js .klv-accordion__body {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.38s ease, transform 0.45s cubic-bezier(0.32, 0.72, 0.24, 1.02);
}
html.klv-js .klv-accordion details.is-open .klv-accordion__body {
	opacity: 1;
	transform: none;
	transition-delay: 0.12s;
}

@media (prefers-reduced-motion: reduce) {
	.klv-accordion details,
	.klv-accordion summary::after,
	html.klv-js .klv-accordion__body { transition: none; }
	html.klv-js .klv-accordion__body { opacity: 1; transform: none; }
}

/* ---------------------------------------------------------------------
   Runde 5c – "Eksempler på forløb" + tekstsporet på Salgstræning
--------------------------------------------------------------------- */
/* Forløbskort: brand-gradienter, ghost-nummer, staggered højder */
.klv-flowcard {
	position: relative;
	border-radius: var(--klv-radius-card);
	aspect-ratio: 0.83;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 28px;
	color: var(--klv-white);
	overflow: hidden;
	transition: transform 0.4s cubic-bezier(0.32, 0.72, 0.24, 1.02), box-shadow 0.4s ease;
}
.klv-flowcard::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(120% 90% at 85% 10%, rgba(255, 255, 255, 0.16), transparent 55%);
	pointer-events: none;
}
.klv-flowcard:nth-child(even) { margin-top: clamp(0px, 2.5vw, 48px); }
.klv-flowcard:hover { transform: translateY(-10px) rotate(-1deg); box-shadow: 0 26px 60px rgba(10, 40, 44, 0.28); }
.klv-flowcard__num {
	position: absolute;
	top: 18px;
	right: 22px;
	font-size: clamp(64px, 5.8vw, 108px);
	font-weight: 700;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.35);
}
.klv-flowcard h3 {
	margin: 0;
	font-size: clamp(1.15rem, 1.35vw, 1.6rem);
	font-weight: 600;
	line-height: 1.3;
	position: relative;
	z-index: 2;
}
.klv-flowcard--teal { background: linear-gradient(160deg, #003f47, #0e6b73 55%, #2b9d8f); }
.klv-flowcard--gold { background: linear-gradient(160deg, #3d3004, #8a6d10 60%, #b18b0d); }
.klv-flowcard--maroon { background: linear-gradient(160deg, #2f0000, #6e2b35 60%, #a3535f); }
.klv-flowcard--night { background: linear-gradient(160deg, #0f1015, #26333f 60%, #3a525f); }

/* Tekstsporet: pull-quotes, statements og checkliste */
.klv-prose--wide p:has(> em:only-child) {
	font-size: clamp(1.2rem, 1.5vw, 1.75rem);
	font-style: italic;
	font-weight: 500;
	color: var(--klv-teal);
	border-left: 3px solid var(--klv-mint);
	padding-left: clamp(18px, 2vw, 34px);
	max-width: 34em;
}
.klv-prose--wide p:has(> em:only-child) em { font-style: inherit; }
.klv-prose--wide p:has(> strong:only-child) {
	color: var(--klv-teal);
	font-size: 1.1em;
}
.klv-prose--wide h3 {
	font-size: clamp(1.3rem, 1.6vw, 1.9rem);
	font-weight: 700;
	margin: 0.8em 0 0;
}
.klv-prose--wide ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.klv-prose--wide ul li { position: relative; padding-left: 36px; }
.klv-prose--wide ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.1em;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--klv-teal) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="3.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg>') center / 12px no-repeat;
}

/* Runde 5d – mouse-over på kasserne */
.klv-accordion details:not(.is-open):hover {
	transform: translateX(-6px);
	box-shadow: 0 14px 36px rgba(10, 40, 44, 0.13);
}
.klv-accordion summary::after { transition: transform 0.5s cubic-bezier(0.34, 1.4, 0.44, 1), translate 0.3s ease; }
.klv-accordion details:not(.is-open) summary:hover::after { translate: 4px -4px; }

.klv-darkcard { transition: transform 0.4s cubic-bezier(0.32, 0.72, 0.24, 1.02), box-shadow 0.4s ease; }
.klv-darkcard img { transition: transform 0.6s cubic-bezier(0.32, 0.72, 0.24, 1.02), opacity 0.4s ease; }
.klv-darkcard:hover { transform: translateY(-8px); box-shadow: 0 24px 54px rgba(10, 40, 44, 0.28); }
.klv-darkcard:hover img { transform: scale(1.06); opacity: 0.95; }

/* ---------------------------------------------------------------------
   Runde 6 – Space Grotesk som display-font + typografiske service-toppe
--------------------------------------------------------------------- */
:root { --klv-font-display: "Titillium Web", "Inter Tight", sans-serif; }

/* Display-fonten på alle overskrifts- og accentelementer (brødtekst forbliver Inter Tight) */
.klv-h-giant, .klv-story__title, .klv-page-title, .klv-person-hero__title,
.klv-value__title, .klv-tagline, .klv-page-hero__title, .klv-card__title,
.klv-darkcard__title, .klv-flowcard h3, .klv-flowcard__num,
.klv-cta-banner__title, .klv-contact__title, .klv-contact__card-title,
.klv-profilecard__name, .klv-person-head::before, .klv-kicker,
.klv-banner__caption, .klv-accordion summary, .klv-person-sub {
	font-family: var(--klv-font-display);
}

/* Service-top: typografien er selve hero'en */
.klv-service-head { position: relative; }
.klv-service-head__title {
	text-wrap: balance;
	font-family: var(--klv-font-display);
	font-size: calc(var(--klv-fs-story) - 20px);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: normal;
	margin: 0;
}
.klv-service-head__title strong { font-weight: inherit; }
/* Ord med hero-fotoet inde i bogstaverne, forskudt til højre */
.klv-service-head__img {
	font-family: var(--klv-font-display);
	font-size: clamp(2.4rem, 6vw, 7.2rem);
	font-weight: 700;
	line-height: 1.05;
	margin: 0.18em 0 0 clamp(0px, 9vw, 170px);
	background-size: cover;
	background-position: center 32%;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: var(--klv-teal);
}
/* Marquee: langsomt glidende outline-bånd i fuld bredde */
.klv-marquee {
	overflow: clip;
	white-space: nowrap;
	margin: clamp(18px, 2.2vw, 40px) calc(-1 * var(--klv-gutter)) 0;
}
.klv-marquee span {
	display: inline-block;
	font-family: var(--klv-font-display);
	font-weight: 600;
	font-size: clamp(1.5rem, 3.2vw, 3.4rem);
	line-height: 1.15;
	letter-spacing: 0.05em;
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(0, 63, 71, 0.22);
	animation: klv-marquee 30s linear infinite;
}
@keyframes klv-marquee { to { transform: translateX(-50%); } }
.klv-service-head .klv-person-sub { margin-left: 0; margin-top: 28px; }

@media (prefers-reduced-motion: reduce) {
	.klv-marquee span { animation: none; }
}
@media (max-width: 860px) {
	.klv-service-head__img { margin-left: 0; }
	.klv-service-head .klv-person-sub { margin-left: 0; }
}


/* Forside: hero flugter helt med sidens top (ingen hvid bar) */
body.home main.wp-block-group { margin-block-start: 0; }
body.home .klv-hero-holder { padding-top: 0 !important; }


/* Kontakt-båndet holder også afstand-1 til det foregående indhold */
.klv-contact { margin-top: calc(var(--klv-afstand-1) / 2); }

/* Forside: fjern WP's 24px blok-margin over hero (hvid bar) */
body.home .wp-site-blocks > header.wp-block-template-part,
body.home .wp-site-blocks > main { margin-block-start: 0; }


/* Person-kortene er lyse: mørk tekst, teal CTA og dæmpede ghost-bogstaver */
.e-con.klv-card--teal, .e-con.klv-card--maroon { color: var(--klv-ink); }
.e-con.klv-card--teal::before, .e-con.klv-card--maroon::before {
	-webkit-text-stroke: 1.5px rgba(0, 63, 71, 0.16);
}
.e-con.klv-card--teal:hover::before, .e-con.klv-card--maroon:hover::before {
	-webkit-text-stroke-color: rgba(0, 63, 71, 0.30);
}
.e-con.klv-card--teal .klv-btnw--white .elementor-button,
.e-con.klv-card--maroon .klv-btnw--white .elementor-button {
	background: var(--klv-teal);
	color: var(--klv-white);
}

/* Menu og sprogvælger i samme font som overskrifterne */
.klv-nav__item > a,
.klv-nav__sub a,
.klv-header__lang {
	font-family: var(--klv-font-display);
}


/* Person-kortene som glas-flader (samme formsprog som profil- og kontaktkort) */
.e-con.klv-card--teal, .e-con.klv-card--maroon {
	backdrop-filter: blur(16px) saturate(1.1);
	-webkit-backdrop-filter: blur(16px) saturate(1.1);
	border: 1px solid rgba(255, 255, 255, 0.75);
	box-shadow: 0 24px 60px rgba(10, 40, 44, 0.10);
}


/* Forside: samme visuelle afstand over og under tekstblokken.
   Reference: sidste tekstlinje -> person-kort = afstand-1 + tekstluft (~158px ved 1920).
   Hero-holderen har ingen bundpadding, saa foerste sektion efter hero faar hele afstanden. */
body.home main .klv-hero-holder + .klv-section { padding-top: calc(var(--klv-afstand-1) + 10px); }

/* Forsidens tre store overskrifter: samme stoerrelse, linjehoejde og spatiering */
body.home .klv-value { max-width: 1240px; }
body.home .klv-h-giant,
body.home .klv-story__title,
body.home .klv-value__title {
	font-size: calc(var(--klv-fs-story) - 20px);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: normal;
}
body.home .klv-h-giant strong,
body.home .klv-story__title strong {
	font-weight: inherit;
}


/* Banner-billedet lever: langsom Ken Burns-drift (zoom + sidelaens glid) */
.klv-splitimg { border-radius: var(--klv-radius-hero); overflow: hidden; }
.klv-banner img {
	animation: klv-banner-drift 26s ease-in-out infinite alternate;
	will-change: transform;
}
@keyframes klv-banner-drift {
	from { transform: scale(1.14) translateX(2.4%); }
	to { transform: scale(1.14) translateX(-2.4%); }
}
@media (prefers-reduced-motion: reduce) {
	.klv-banner img { animation: none; }
}


/* Om-siderne: ens indre afstand bio -> billede -> CV (afstand-2) */
.klv-profileflex [class*="elementor-widget"].klv-ar-16x9 { margin-block: calc(var(--klv-afstand-2) - 20px); }


/* Nordlys-lag på person-kortene: samme drivende gradienter som kontakt-baandet */
.e-con.klv-card--teal::after, .e-con.klv-card--maroon::after {
	content: "";
	position: absolute;
	inset: -28%;
	z-index: 0;
	pointer-events: none;
	will-change: transform;
}
.e-con.klv-card--teal::after {
	background:
		radial-gradient(44% 38% at 20% 74%, rgba(15, 143, 160, 0.32), transparent 68%),
		radial-gradient(36% 30% at 80% 22%, rgba(142, 194, 184, 0.42), transparent 70%),
		radial-gradient(26% 24% at 55% 45%, rgba(206, 232, 229, 0.55), transparent 72%);
	animation: klv-drift-a 38s ease-in-out infinite alternate;
}
.e-con.klv-card--maroon::after {
	background:
		radial-gradient(44% 38% at 24% 72%, rgba(229, 131, 107, 0.34), transparent 68%),
		radial-gradient(38% 32% at 78% 24%, rgba(223, 169, 160, 0.45), transparent 70%),
		radial-gradient(28% 24% at 52% 46%, rgba(198, 162, 59, 0.14), transparent 72%);
	animation: klv-drift-b 47s ease-in-out infinite alternate;
}
/* Indhold og ghost-bogstaver ligger over nordlys-laget */
.e-con.klv-card--teal::before, .e-con.klv-card--maroon::before { z-index: 1; }
.e-con.klv-card .elementor-widget-button { position: relative; z-index: 2; }
@media (prefers-reduced-motion: reduce) {
	.e-con.klv-card--teal::after, .e-con.klv-card--maroon::after { animation: none; }
}


/* Forside: "Intentioner skaber vaerdi ..." uden fed accent */
body.home .klv-value__title strong { font-weight: inherit; }


/* ---------------------------------------------------------------------
   CTA-knapper v2: pill med teal-gradient, loeft og sheen-glid
--------------------------------------------------------------------- */
.klv-btn,
.klv-btnw .elementor-button {
	position: relative;
	overflow: hidden;
	border-radius: 999px;
	padding: 14px 30px;
	font-size: var(--klv-fs-btn);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.4;
	transition: transform 0.22s cubic-bezier(0.32, 0.72, 0.24, 1.02), box-shadow 0.22s ease, background-position 0.5s ease, border-color 0.25s ease;
}
.klv-btn--teal,
.klv-btn--white,
.klv-btnw--teal .elementor-button,
.klv-btnw--white .elementor-button,
.e-con.klv-card--teal .klv-btnw--white .elementor-button,
.e-con.klv-card--maroon .klv-btnw--white .elementor-button {
	background: #ffffff;
	color: var(--klv-teal) !important;
	border: 0;
	box-shadow: 0 8px 22px rgba(10, 40, 44, 0.10);
}
.klv-btn:hover,
.klv-btnw .elementor-button:hover {
	transform: translateY(-2px);
	opacity: 1;
	box-shadow: 0 14px 32px rgba(10, 40, 44, 0.16);
}
/* Sheen: en blid lysstribe glider over ved hover */
.klv-btn::after,
.klv-btnw .elementor-button::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(110deg, transparent 32%, rgba(255, 255, 255, 0.55) 50%, transparent 68%);
	transform: translateX(-160%);
	pointer-events: none;
}
.klv-btn:hover::after,
.klv-btnw .elementor-button:hover::after {
	transform: translateX(160%);
	transition: transform 0.65s ease;
}
@media (prefers-reduced-motion: reduce) {
	.klv-btn, .klv-btnw .elementor-button { transition: none; }
	.klv-btn::after, .klv-btnw .elementor-button::after { display: none; }
}


/* Forside: manchetteksten under "Intentioner skaber vaerdi" holdes paa 75% bredde */
body.home .klv-value__text { max-width: 75% !important; margin-inline: auto; font-weight: 250; }


/* Forside: familie-billedet skaeres i portraet og rager over/under teksten */
body.home .klv-splitflex .klv-splitimg img {
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: 46% 30%;
	height: auto;
	width: 100%;
}


/* Forside: baggrunds-blobsene bevaeger sig mere og staar tydeligere */
@media (prefers-reduced-motion: no-preference) {
	body .klv-decor > div > img { animation-name: klv-blob-drift-strong; }
	body .klv-decor > div:nth-child(1) > img { animation-duration: 19s; }
	body .klv-decor > div:nth-child(2) > img { animation-duration: 17s; }
	body .klv-decor > div:nth-child(3) > img { animation-duration: 22s; }
	body .klv-decor > div:nth-child(4) > img { animation-duration: 20s; }
	body .klv-decor > div:nth-child(5) > img { animation-duration: 18s; }
	body .klv-decor > div:nth-child(6) > img { animation-duration: 25s; }
	body .klv-decor > div:nth-child(7) > img { animation-duration: 20s; }
	body .klv-decor > div:nth-child(8) > img { animation-duration: 28s; }
	@keyframes klv-blob-drift-strong {
		from { transform: translate(-58px, -44px) rotate(-6deg) scale(0.94); }
		to   { transform: translate(52px, 58px) rotate(7deg) scale(1.13); }
	}
}
body .klv-decor > div > img { filter: saturate(1.22); }
body .klv-decor__pink { opacity: 1; }
body .klv-decor__teal { opacity: 0.62; }
body .klv-decor__lilla { opacity: 0.95; }
body .klv-decor__koral { opacity: 1; }
body .klv-decor__mint { opacity: 1; }


/* Undersider: heroes og banners holder indholdets kant (gutter til gutter) */
body:not(.home) .klv-section:has(> .klv-page-hero),
body:not(.home) .klv-section:has(> .klv-banner),
body:not(.home) .klv-section:has(> .klv-cta-banner) { padding-inline: var(--klv-gutter); }
body:not(.home) .klv-page-hero,
body:not(.home) .klv-banner,
body:not(.home) .klv-cta-banner { max-width: none; }

/* Standard-overskrift (som forsidens): brug klassen klv-h-std */
.klv-h-std {
	font-family: var(--klv-font-display);
	font-size: calc(var(--klv-fs-story) - 20px);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: normal;
}
.elementor .klv-h-std .elementor-heading-title { font: inherit; letter-spacing: inherit; color: inherit; }

/* Luft ned til CTA-knapper i split-kolonner */
.klv-splitflex .elementor-widget-button { margin-top: clamp(12px, 1.6vw, 30px); }


/* Kort-marquee: ingen snap/scrollbar, staggered hoejder og tilt paa alle kortraekker */
.klv-marquee-row { scroll-snap-type: none; scrollbar-width: none; overflow-x: hidden; }
.klv-marquee-row::-webkit-scrollbar { display: none; }
.klv-darkcards > *:nth-child(even) { margin-top: clamp(0px, 2.5vw, 48px); }
.klv-darkcard:hover { transform: translateY(-10px) rotate(-1deg); }


/* Kort-marquee: helt ud til browserens kanter */
.klv-marquee-row {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: 0;
	padding-inline: 24px;
}

/* Stort grafisk citat (senior): overskrifts-stoerrelse, kursiv, citationstegn, centreret */
.klv-bigquote {
	font-family: var(--klv-font-display);
	font-size: calc((var(--klv-fs-story) - 20px) / 2);
	font-style: italic;
	font-weight: 400;
	line-height: 1.15;
	color: var(--klv-teal);
	text-align: center;
	max-width: 1480px;
	margin-inline: auto;
	text-wrap: balance;
}
.klv-bigquote p { margin: 0; }
.klv-bigquote p::before { content: "\201C"; }
.klv-bigquote p::after { content: "\201D"; }


/* CTA under det store citat: centreret og med luft op til citatet */
.klv-bigquote + .elementor-widget-button {
	text-align: center;
	margin-top: clamp(24px, 3vw, 56px);
	margin-left: 0;
}


/* ---------------------------------------------------------------------
   Salg: "Vanens magt"-flowet - label, glas-citat, statements og pile
--------------------------------------------------------------------- */
.klv-prose--wide h3 {
	text-transform: uppercase;
	letter-spacing: 0.22em;
	font-size: clamp(0.85rem, 0.95vw, 1.05rem);
	font-weight: 600;
	color: var(--klv-teal);
	margin: 1.6em 0 0;
}
.klv-prose--wide p:has(> em:only-child) {
	margin-inline: auto;
	text-align: center;
	background: linear-gradient(150deg, rgba(255, 255, 255, 0.85), rgba(235, 246, 244, 0.6));
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-left: 0;
	border-radius: 20px;
	padding: clamp(20px, 2.2vw, 34px) clamp(22px, 2.6vw, 40px);
	box-shadow: 0 14px 40px rgba(10, 40, 44, 0.08);
	font-size: clamp(1.15rem, 1.4vw, 1.7rem);
	max-width: 34em;
}
.klv-prose--wide p:has(> em:only-child)::before {
	content: "\201C";
	font-family: var(--klv-font-display);
	font-size: 2.4em;
	line-height: 0;
	vertical-align: -0.32em;
	margin-right: 8px;
	color: var(--klv-mint);
}
.klv-prose--wide p:has(> strong:only-child) {
	font-family: var(--klv-font-display);
	font-size: clamp(1.2rem, 1.5vw, 1.8rem);
	font-weight: 400;
	letter-spacing: normal;
}
.klv-prose--wide p:has(> strong:only-child) strong { font-weight: inherit; }
/* Bullets: let pil i stedet for tunge checkmarks, glider ved hover */
.klv-prose--wide ul li { padding-left: 34px; }
.klv-prose--wide ul li::before {
	content: "\2192";
	background: none;
	width: auto;
	height: auto;
	border-radius: 0;
	top: 0;
	color: var(--klv-teal);
	font-family: var(--klv-font-display);
	font-weight: 600;
	transition: transform 0.25s ease;
}
.klv-prose--wide ul li:hover::before { transform: translateX(5px); }

/* Ens, stram rytme i tekst/billede-splits */
.klv-splitflex .klv-tagline { margin: 0 0 clamp(20px, 2.2vw, 40px); }

/* Slideren: luft op til overskriften og ned til knappen - og centreret overskrift */
.elementor-widget-html:has(.klv-darkcards) { margin-top: clamp(28px, 3.5vw, 64px); }
.elementor-widget-html:has(.klv-darkcards) + .elementor-widget-button { margin-top: clamp(32px, 4vw, 72px); }
.klv-center, .klv-center .elementor-heading-title { text-align: center !important; }


/* Centreret tekstblok */
.klv-textcenter { text-align: center; margin-inline: auto !important; }


/* ---------------------------------------------------------------------
   Side-hero: forsidens form med titel + manchet inde i billedet
--------------------------------------------------------------------- */
.klv-hero--page { height: min(52vw, 88vh); min-height: 440px; }
.klv-hero__text {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: grid;
	place-content: center;
	text-align: center;
	color: var(--klv-white);
	padding: 0 24px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.40), rgba(0, 0, 0, 0.10) 55%, rgba(0, 0, 0, 0.18));
}
.klv-hero__title {
	font-family: var(--klv-font-display);
	font-size: calc(var(--klv-fs-story) - 20px);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: normal;
	margin: 0;
	text-wrap: balance;
	text-shadow: 0 2px 26px rgba(0, 0, 0, 0.35);
}
.klv-hero__sub {
	font-size: var(--klv-fs-lede);
	font-weight: 300;
	line-height: 1.45;
	max-width: 30em;
	margin: 18px auto 0;
	text-wrap: balance;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}
/* Hero-holderen ligger flugtende med toppen paa alle sider */
.wp-site-blocks > header.wp-block-template-part { margin-block-start: 0; }
body:not(.home) main.wp-block-group { margin-block-start: 0; }
body:not(.home) .klv-hero-holder { padding: 0 10px !important; }

/* Forside: lede-teksten under "Udvikling Vækst Eksekvering" en tand lettere */
body.home .klv-lede { font-weight: 250; line-height: 1.45; }

/* Forside: story-teksten holder kant med lede og overskrift */
body.home .klv-splitflex,
body.home .klv-splitflex > .e-con { padding-inline: 0; }

/* Forside: story-teksten i almindelig brødtekststørrelse */
body.home .klv-split__text { font-size: var(--klv-fs-body); }

/* Forside: manchet og brødtekst i story-sektionen hænger sammen */



/* ---------------------------------------------------------------------
   Tidslinje (forside-story) - kan fjernes for revert sammen med
   seed/backups/forside-elementor.pre-tidslinje.json
--------------------------------------------------------------------- */
.klv-timeline { display: grid; gap: clamp(40px, 4.5vw, 72px); max-width: 1160px; position: relative; }
.klv-timeline::before {
	content: "";
	position: absolute;
	left: calc(clamp(90px, 8.5vw, 150px) + clamp(24px, 3vw, 56px));
	top: 8px;
	bottom: 8px;
	width: 2px;
	background: rgba(0, 63, 71, 0.16);
}
.klv-timeline__item {
	display: grid;
	grid-template-columns: clamp(90px, 8.5vw, 150px) 1fr;
	gap: clamp(24px, 3vw, 56px);
}
.klv-timeline__year {
	font-family: var(--klv-font-display);
	font-size: clamp(1.6rem, 2.4vw, 2.9rem);
	font-weight: 400;
	line-height: 0.9;
	color: var(--klv-ink);
	text-align: left;
}
.klv-timeline__text {
	position: relative;
	padding-left: clamp(22px, 2.6vw, 46px);
	padding-bottom: 6px;
	font-weight: 300;
	font-size: var(--klv-fs-body);
	line-height: 1.5;
	display: grid;
	gap: 1.2em;
	align-content: start;
}
.klv-timeline__text p { margin: 0; max-width: 62ch; }
.klv-timeline__text::before {
	content: "";
	position: absolute;
	left: -4px;
	top: clamp(10px, 1vw, 16px);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--klv-teal);
}
.klv-timeline__quote { margin-top: clamp(56px, 7vw, 120px); }
@media (max-width: 860px) {
	.klv-timeline__item { grid-template-columns: 1fr; gap: 12px; }
	.klv-timeline__year { text-align: left; }
	.klv-timeline::before { display: none; }
	.klv-timeline__text::before { display: none; }
	.klv-timeline__text { padding-left: 0; }
}

/* Person-kortenes overskrifter i samme lette vægt som sitets øvrige overskrifter */
.klv-card__title { font-weight: 400; }

/* Tidslinje-animation: aktivt år fremhævet, resten dæmpet */
.klv-timeline__text::before { transition: transform 0.5s cubic-bezier(0.34, 1.4, 0.44, 1), box-shadow 0.5s ease; }
.klv-timeline.klv-anim .klv-timeline__item.is-active .klv-timeline__text::before {
	transform: scale(1.5);
	box-shadow: 0 0 0 7px rgba(0, 63, 71, 0.12);
}

/* Tidslinje: lille overskrift på hvert nedslag */
.klv-timeline__label {
	font-family: var(--klv-font-display);
	font-size: clamp(1.05rem, 1.15vw, 1.375rem);
	font-weight: 600;
	color: var(--klv-ink);
	margin: 0 0 2px;
	line-height: 1.3;
}

/* Forside: "Udvikling/Vækst/Eksekvering" tv. og manchetten th. i to spalter */
body.home main .klv-section:has(.klv-h-giant) {
	display: grid;
	grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
	gap: clamp(32px, 5vw, 110px);
	align-items: center;
}
@media (max-width: 860px) {
	body.home main .klv-section:has(.klv-h-giant) { display: block; }
}

/* Person-kortenes overskrifter i samme snit som forsidens manchet (Inter Tight, let) */
.klv-card__title {
	font-family: "Inter Tight", "Inter", -apple-system, sans-serif;
	font-size: var(--klv-fs-lede);
	font-weight: 250;
	line-height: 1.45;
}


/* Forside: story-sektionen som to spalter - overskrift/manchet tv. (sticky), tidslinje th. */
.klv-storysplit { align-items: flex-start; }
.klv-storysplit > .e-con:first-child {
	align-self: flex-start;
	position: sticky;
	top: 120px;
}
.klv-storysplit .klv-story__title { margin-bottom: clamp(20px, 2.2vw, 40px); }
@media (max-width: 860px) {
	.klv-storysplit > .e-con:first-child { position: static; }
}

/* CV: usynlig kolonne mellem årstal og titel, så alle titler flugter */
.klv-cv td > span {
	display: grid;
	grid-template-columns: clamp(110px, 8vw, 150px) 1fr;
	gap: 0 16px;
	align-items: baseline;
}

/* Senior: forsidens typografi - manchet i bio-splitten og let lede i guld-sektionen */
body.page-id-8 .klv-lede { font-weight: 250; line-height: 1.45; }
body.page-id-8 .klv-splitflex:has(.klv-ar-7x10) .klv-prose.klv-stagger p:first-child {
	font-size: var(--klv-fs-lede);
	font-weight: 250;
	line-height: 1.45;
	max-width: none;
}

/* Senior: services som statisk grid (hurtigt overblik i stedet for slider) */
.klv-cardgrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: var(--klv-wide);
	margin: 0 auto;
}
.klv-cardgrid .klv-darkcard { aspect-ratio: 4 / 3; }
@media (max-width: 1100px) {
	.klv-cardgrid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.klv-cardgrid { grid-template-columns: 1fr; }
}

/* Service-sider: alle splits holder indholdets kant (Elementor-padding nulstillet) */
body.klv-heropage .klv-splitflex,
body.klv-heropage .klv-splitflex > .e-con { padding-inline: 0; }

/* Service-sider: samme visuelle afstand fra hero til titel som fra manchet til næste sektion */
body.klv-heropage .klv-hero-holder + .klv-section { padding-top: calc(var(--klv-afstand-1) + 20px); }

/* Hero-variant: titel og manchet nederst til venstre i billedet */
.klv-hero__text--bottom {
	place-content: end start;
	text-align: left;
	padding: clamp(24px, 3.5vw, 64px);
	background: linear-gradient(to top, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0) 55%);
}
.klv-hero__text--bottom .klv-hero__sub { margin: 12px 0 0; }

/* ---------------------------------------------------------------------
   Blog: kort-grid, arkiv og enkeltvisning
--------------------------------------------------------------------- */
.klv-bloggrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.klv-blogcard {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	aspect-ratio: 4 / 3;
	padding: 28px;
	border-radius: var(--klv-radius-card);
	overflow: hidden;
	background-size: cover;
	background-position: center;
	background-color: var(--klv-night);
	color: var(--klv-white);
	text-decoration: none;
	transition: transform 0.4s cubic-bezier(0.32, 0.72, 0.24, 1.02), box-shadow 0.4s ease;
}
.klv-blogcard::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.68), rgba(0, 0, 0, 0.05) 55%);
}
.klv-blogcard:hover { transform: translateY(-8px); box-shadow: 0 24px 54px rgba(10, 40, 44, 0.28); }
.klv-blogcard__date {
	position: relative;
	z-index: 2;
	font-size: var(--klv-fs-small);
	font-weight: 500;
	opacity: 0.85;
	margin-bottom: 6px;
}
.klv-blogcard__title {
	position: relative;
	z-index: 2;
	font-family: var(--klv-font-display);
	font-size: clamp(1.15rem, 1.35vw, 1.6rem);
	font-weight: 600;
	line-height: 1.3;
	margin: 0;
}
.klv-blogdate { font-size: var(--klv-fs-small); font-weight: 500; color: var(--klv-teal); margin-top: 14px; }
.klv-kicker a { color: inherit; text-decoration: none; }
.klv-kicker a:hover { text-decoration: underline; }
/* Enkeltvisning har sit eget tekstspor – se "Blog: artikel-layout" nederst */
@media (max-width: 1100px) {
	.klv-bloggrid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.klv-bloggrid { grid-template-columns: 1fr; }
}


/* Blogkort-titel som span */
.klv-blogcard__title { display: block; }

/* Salg: "Jeg omsætter..."-splitten følger systemet - manchet på første afsnit */
body.page-id-46 .klv-splitflex:has(.klv-ar-2x3) .klv-prose p:first-child {
	font-size: var(--klv-fs-lede);
	font-weight: 250;
	line-height: 1.45;
	max-width: none;
}

/* Undtagelse: statements med .klv-plain står som almindelig fed brødtekst */
.klv-prose--wide p.klv-plain,
.klv-prose--wide p.klv-plain:has(> strong:only-child) {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: normal;
	color: inherit;
}


/* ---------------------------------------------------------------------
   Blog: artikel-layout (enkeltvisning)
   Eget tekstspor, så salgssidens .klv-prose--wide-pynt ikke smitter af.
--------------------------------------------------------------------- */
.klv-artshell { max-width: 1020px; margin-inline: auto; }
body.single-post .klv-arthead { padding-bottom: 0; }
body.single-post .klv-artbody { padding-top: clamp(30px, 3.2vw, 56px); }
body.single-post .klv-artmore { padding-top: clamp(24px, 2.6vw, 48px); }

.klv-arttitle { margin: 0; max-width: 20ch; text-wrap: balance; }
.klv-artbanner { margin: clamp(34px, 4vw, 68px) 0 0; }
.klv-artbanner img {
	width: 100%;
	aspect-ratio: 21 / 9;
	object-fit: cover;
	border-radius: var(--klv-radius-card);
	box-shadow: 0 24px 60px rgba(10, 40, 44, 0.16);
}

/* Meta-spor til venstre, artikel til højre */
.klv-artgrid {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	gap: clamp(30px, 3.6vw, 64px);
	align-items: start;
}
.klv-artrail {
	position: sticky;
	top: 120px;
	display: grid;
	gap: 22px;
	align-content: start;
}
.klv-artrail__item { display: grid; gap: 4px; }
.klv-artrail__label {
	text-transform: uppercase;
	letter-spacing: 0.2em;
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--klv-teal);
}
.klv-artrail__val { font-size: 0.98rem; font-weight: 300; }
.klv-artrail__links { display: grid; gap: 10px; padding-top: 4px; }
.klv-artrail__link {
	font-size: 0.95rem;
	font-weight: 500;
	color: var(--klv-teal);
	text-decoration: none;
	justify-self: start;
	border-bottom: 1px solid rgba(0, 63, 71, 0.25);
	transition: border-color 0.25s ease, opacity 0.25s ease;
}
.klv-artrail__link:hover { border-color: var(--klv-teal); }
.klv-artrail__link--back::before { content: "\2190"; margin-right: 8px; }

/* Selve artiklen: læsbar spaltebredde og rigtig overskriftsrytme */
.klv-article {
	max-width: 66ch;
	display: grid;
	gap: 1.35em;
	font-size: var(--klv-fs-body);
	font-weight: 300;
	line-height: 1.65;
}
.klv-article > * { margin: 0; max-width: 100%; }
.klv-article > p:first-child {
	font-size: clamp(1.25rem, 1.55vw, 1.75rem);
	font-weight: 300;
	line-height: 1.45;
}
.klv-article h2,
.klv-article h3,
.klv-article h4 {
	font-family: var(--klv-font-display);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: normal;
	text-transform: none;
	color: var(--klv-night);
	margin-top: 0.7em;
}
.klv-article h2 { font-size: clamp(1.6rem, 2vw, 2.15rem); }
.klv-article h3 { font-size: clamp(1.35rem, 1.65vw, 1.8rem); }
.klv-article h4 { font-size: clamp(1.15rem, 1.35vw, 1.45rem); }
.klv-article strong { font-weight: 600; }
.klv-article a { color: var(--klv-teal); text-underline-offset: 3px; }
.klv-article img { border-radius: var(--klv-radius-card); }

/* Kun to skrifter i artiklen: display-font til overskrifter, brødtekst til resten.
   Statement = et afsnit der kun er fed tekst; det står som fremhævet brødtekst. */
.klv-article p:has(> strong:only-child) {
	font-weight: 600;
	color: var(--klv-night);
}
.klv-article p:has(> strong:only-child) strong { font-weight: inherit; }

/* Citat: et afsnit der kun er kursiv – rolig streg i marginen, ingen boks */
.klv-article p:has(> em:only-child) {
	font-style: italic;
	font-weight: 300;
	color: var(--klv-teal);
	border-left: 2px solid var(--klv-mint);
	padding-left: clamp(18px, 2vw, 28px);
	margin-block: 0.25em;
}
.klv-article p:has(> em:only-child) em { font-style: inherit; }

/* Lister med lette pile, som i det øvrige tekstspor */
.klv-article ul { list-style: none; padding: 0; display: grid; gap: 12px; }
.klv-article ul li { position: relative; padding-left: 34px; }
.klv-article ul li::before {
	content: "\2192";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--klv-teal);
	font-family: var(--klv-font-display);
	font-weight: 600;
}

/* "Flere indlæg" – skjules helt, når der ikke er andre indlæg */
.klv-artmore:not(:has(.klv-bloggrid)) { display: none; }
.klv-bloggrid__titel {
	font-family: var(--klv-font-display);
	font-size: clamp(1.5rem, 1.9vw, 2rem);
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 clamp(20px, 2.2vw, 34px);
}
.klv-artmore .klv-bloggrid { grid-template-columns: repeat(2, 1fr); }

@media (max-width: 900px) {
	.klv-artgrid { grid-template-columns: 1fr; gap: 26px; }
	.klv-artrail {
		position: static;
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 14px 32px;
		padding-bottom: 18px;
		border-bottom: 1px solid rgba(0, 63, 71, 0.16);
	}
	.klv-artrail__item { grid-auto-flow: column; align-items: baseline; gap: 8px; }
	.klv-artrail__links { grid-auto-flow: column; gap: 24px; padding-top: 0; }
	.klv-article { max-width: none; }
	.klv-artbanner img { aspect-ratio: 16 / 9; }
}
@media (max-width: 640px) {
	.klv-artmore .klv-bloggrid { grid-template-columns: 1fr; }
	.klv-artrail__links { grid-auto-flow: row; gap: 10px; }
}


/* ---------------------------------------------------------------------
   Senior: ydelsesliste i højre kolonne (afløser de mørke billedkort)
--------------------------------------------------------------------- */
.klv-ydelser {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
}
.klv-ydelser li {
	position: relative;
	padding: clamp(8px, 0.8vw, 11px) 0 clamp(8px, 0.8vw, 11px) 30px;
	border-top: 1px solid rgba(0, 63, 71, 0.18);
	font-size: var(--klv-fs-body);
	font-weight: 300;
	line-height: 1.4;
}
.klv-ydelser li::before {
	content: "\2192";
	position: absolute;
	left: 0;
	top: clamp(8px, 0.8vw, 11px);
	color: var(--klv-teal);
	font-family: var(--klv-font-display);
	font-weight: 600;
	transition: transform 0.25s ease;
}
.klv-ydelser li:last-child { border-bottom: 1px solid rgba(0, 63, 71, 0.18); }
.klv-ydelser li:hover::before { transform: translateX(5px); }
.klv-ydelser__titel {
	font-family: var(--klv-font-display);
	font-size: clamp(1.3rem, 1.5vw, 1.75rem);
	font-weight: 600;
	line-height: 1.2;
	color: var(--klv-night);
	margin: 0 0 10px;
}
/* Over glaskortene står rubrikken som sektionens øvrige overskrifter */
.elementor-widget-html:has(.klv-ydelser--kort) .klv-ydelser__titel {
	font-size: calc(var(--klv-fs-lede) - 5px);
	font-weight: 400;
	line-height: 1.15;
	text-align: center;
	margin-bottom: clamp(24px, 2.6vw, 40px);
}




/* Underoverskrifter i tekstspalter (fx senior: "Rammer for samarbejdet") */
.klv-h-sub .elementor-heading-title {
	font-family: var(--klv-font-display);
	font-size: clamp(1.3rem, 1.55vw, 1.75rem);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: normal;
	color: var(--klv-night);
}
.elementor-widget-heading.klv-h-sub { margin-top: clamp(14px, 1.6vw, 28px); }


/* Senior: "Et samarbejde med mig"-sektionen – overskrifter i fuld bredde,
   manchet i læsbar bredde og spalter justeret fra toppen. */
/* Sektion 2: samme lodrette rytme hele vejen – afstanden mellem widgets
   svarer til afstanden mellem to brødtekstafsnit (2 × 1.2em). */
.klv-tekstflow { gap: calc(2.4 * var(--klv-fs-body)); }
/* Knappen rykker 25 % tættere på afsnittet over den */
.klv-tekstflow > .elementor-widget-button { margin-top: calc(-0.6 * var(--klv-fs-body)); }
.klv-tekstflow .elementor-widget-heading.klv-value__title { margin-top: clamp(18px, 2.2vw, 40px); }
/* Overskrifterne i tekstspalten har samme størrelse som bio-manchetten */
.klv-tekstflow .klv-value__title .elementor-heading-title { font-size: var(--klv-fs-lede); }
body.page-id-8 .elementor-widget-heading.klv-value__title .elementor-heading-title {
	line-height: 1.15;
	text-wrap: balance;
}
/* Sektion 2 kører i fuld sektionsbredde – ingen ekstra bredde-begrænsning */
/* Begge billed-splits på senior-siden er centreret lodret */
body.page-id-8 .klv-splitflex .elementor-widget-heading.klv-value__title { margin-top: 0; }


/* ---------------------------------------------------------------------
   CV: årstal i fast tre-delt gitter – første tal mod venstre, bindestreg
   centreret og sidste tal mod højre, ens hele vejen ned i begge tabeller.
--------------------------------------------------------------------- */
.klv-aar {
	display: grid;
	grid-template-columns: 4ch max-content 4ch;
	column-gap: 0.6ch;
	justify-content: start;
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum" 1;
}
.klv-aar > span:first-child { text-align: left; }
.klv-aar > span:nth-child(2) { text-align: center; }
.klv-aar > span:last-child { text-align: right; }


/* Salg: to rækker i samme sektion skal have samme luft imellem sig
   som der er mellem to sektioner (69,12 + 69,12 = --klv-afstand-1). */
body.page-id-46 .klv-section:has(> .klv-splitflex + .klv-splitflex) { gap: var(--klv-afstand-1); }


/* ---------------------------------------------------------------------
   Service-heroes med lyse akvarel-videoer: hvid tekst skal kunne læses
--------------------------------------------------------------------- */
.klv-hero--page .klv-hero__text {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.46), rgba(0, 0, 0, 0.30) 48%, rgba(0, 0, 0, 0.24));
}
.klv-hero--page .klv-hero__title,
.klv-hero--page .klv-hero__sub {
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.55), 0 1px 4px rgba(0, 0, 0, 0.35);
}


/* ---------------------------------------------------------------------
   Ydelsesliste som glaskort (samme udtryk som coaching-accordion)
--------------------------------------------------------------------- */
.klv-ydelser--kort {
	display: grid;
	gap: 18px;
	border-top: 0;
}
.klv-ydelser--kort li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding: clamp(20px, 2vw, 34px) clamp(24px, 2.6vw, 44px);
	border: 0;
	background: linear-gradient(120deg, rgba(255, 255, 255, 0.9), rgba(244, 240, 250, 0.85));
	border-radius: 20px;
	box-shadow: 0 6px 26px rgba(15, 16, 21, 0.07);
	font-size: clamp(1.02rem, 1.1vw, 1.3rem);
	font-weight: 600;
	line-height: 1.35;
	color: var(--klv-teal);
	transition: box-shadow 0.45s ease, transform 0.45s cubic-bezier(0.32, 0.72, 0.24, 1.02);
}
.klv-ydelser--kort li::before {
	content: "";
	position: static;
	order: 2;
	width: 22px;
	height: 22px;
	flex: 0 0 auto;
	background: url("../img/icon-arrow.svg") no-repeat center / contain;
	transition: transform 0.3s ease;
}
.klv-ydelser--kort li:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 38px rgba(15, 16, 21, 0.11);
}
.klv-ydelser--kort li:hover::before { transform: translateX(4px); }


/* Udbytte-boks: rubrik + glaskort samlet i én ramme */
.klv-udbytte {
	background: linear-gradient(150deg, rgba(255, 255, 255, 0.55), rgba(233, 243, 242, 0.45));
	border: 1px solid rgba(0, 63, 71, 0.1);
	border-radius: 28px;
	padding: clamp(26px, 2.8vw, 48px);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	box-shadow: 0 18px 50px rgba(10, 40, 44, 0.06);
}
.klv-udbytte .klv-ydelser__titel { margin-top: 0; }
.klv-udbytte .klv-ydelser--kort li {
	background: rgba(255, 255, 255, 0.82);
	box-shadow: 0 4px 18px rgba(15, 16, 21, 0.06);
}
.klv-udbytte .klv-ydelser--kort li:hover {
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 12px 32px rgba(15, 16, 21, 0.1);
}


/* ---------------------------------------------------------------------
   Kontaktside: Charlotte og Martin side om side
--------------------------------------------------------------------- */
.klv-kontaktgrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 56px);
	max-width: 1100px;
	margin-inline: auto;
}
.klv-kontaktgrid .klv-profilecard { position: static; top: auto; }
.klv-profilecard__link {
	display: block;
	text-align: center;
	font-size: var(--klv-fs-small);
	font-weight: 500;
	color: var(--klv-teal);
	text-decoration: none;
}
.klv-profilecard__link:hover { text-decoration: underline; }
@media (max-width: 860px) {
	.klv-kontaktgrid { grid-template-columns: 1fr; }
}


/* Reservefald for browsere uden overflow: clip – forhindrer vandret scroll */
@supports not (overflow: clip) {
	body { overflow-x: hidden; }
}


/* ---------------------------------------------------------------------
   Mobilmenu: panel-undermenuerne er tegnet til desktop. Disse regler skal
   stå efter .klv-nav__sub.klv-panel-blokken for at vinde i kaskaden.
--------------------------------------------------------------------- */
@media (max-width: 860px) {
	.klv-nav__sub,
	.klv-nav__item.has-sub:hover .klv-nav__sub,
	.klv-nav__item.has-sub:focus-within .klv-nav__sub {
		position: static;
		left: auto;
		transform: none;
	}
	.klv-nav__sub.klv-panel {
		min-width: 0;
		width: auto;
		background: none;
		box-shadow: none;
		border-radius: 0;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		padding: 0 0 8px 8px;
	}
	.klv-nav__sub.klv-panel::before { display: none; }
	.klv-panel li { opacity: 1; transform: none; }
	.klv-panel a { padding: 10px 8px !important; gap: 12px; }
	.klv-panel__thumb { width: 44px; height: 44px; flex: 0 0 44px; }
	.klv-panel__arrow { display: none; }
	.klv-panel__num { display: none; }
}


/* ---------------------------------------------------------------------
   Personkort på mobil: billedet er absolut placeret på desktop og lå
   derfor bag teksten. Her flyder det i stedet ind under teksten.
   Skal stå sidst for at vinde over .klv-card__img-reglerne ovenfor.
--------------------------------------------------------------------- */
@media (max-width: 860px) {
	.klv-card {
		min-height: 0;
		padding-bottom: 0;
	}
	.klv-card__img,
	.klv-card__img.elementor-widget-image {
		position: static;
		right: auto;
		bottom: auto;
		height: auto;
		width: 100%;
		max-width: 100%;
		margin-top: clamp(20px, 4vw, 32px);
	}
	.klv-card__img.elementor-widget-image img {
		height: auto;
		width: auto;
		max-width: 100%;
		max-height: 46vh;
		margin-inline: auto;
		object-fit: contain;
		object-position: bottom center;
		display: block;
	}
	.klv-card__title, .klv-card__text { max-width: 100%; }
}


/* ---------------------------------------------------------------------
   CV på mobil: tabellen kan ikke presses ned i en telefonspalte, så
   rækkerne stakkes – firma, derefter årstal og stilling under hinanden.
   Skal stå sidst for at vinde over .klv-cv th/td-reglerne ovenfor.
--------------------------------------------------------------------- */
@media (max-width: 700px) {
	.klv-cv table,
	.klv-cv tbody,
	.klv-cv tr,
	.klv-cv th,
	.klv-cv td {
		display: block;
		width: auto;
	}
	.klv-cv tr {
		border-bottom: 1px solid rgba(30, 30, 30, 0.35);
		padding: 16px 0;
	}
	.klv-cv tr:last-child { border-bottom: 0; }
	.klv-cv th { padding: 0 0 10px; width: auto; }
	.klv-cv td { padding: 0; }
	.klv-cv td > span {
		grid-template-columns: 1fr;
		gap: 2px;
		padding: 8px 0 0;
	}
	.klv-cv td > span + span {
		margin-top: 8px;
		border-top: 1px solid rgba(30, 30, 30, 0.12);
	}
	.klv-cv .klv-aar { margin-bottom: 2px; }
}


/* ---------------------------------------------------------------------
   Mobil: stram sidekant på 20px hele vejen igennem. Gutteren er ellers
   8,6vw, hvilket giver 34px på en telefon.
--------------------------------------------------------------------- */
@media (max-width: 700px) {
	:root { --klv-gutter: 20px; }
	body:not(.home) .klv-hero-holder { padding: 0 20px !important; }
	.klv-hero-holder { padding-inline: 20px; }
}


/* Elementors containere lægger deres egen vandrette polstring oven i
   sektionens 20px – og to gange når de er indlejrede. Nulstil den på
   mobil, så alt flugter på præcis 20px. */
@media (max-width: 700px) {
	.klv-section .e-con,
	.klv-section .e-con-inner {
		padding-left: 0;
		padding-right: 0;
	}
	/* …men kort er selv en container og skal beholde sin indvendige luft */
	.klv-section .e-con.klv-card {
		padding-left: 28px;
		padding-right: 28px;
	}
}
