/* ============================================================
 Made by Webza main stylesheet
 Brand tokens follow the KMRE styletile (Petroleum / Cream / Byggegul).
 ============================================================ */

/* Lokalt hostede fonte — GDPR-venlig, ingen kald til Google */
@font-face {
	font-family: "Inter";
	src: url("../fonts/inter-latin.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Montserrat";
	src: url("../fonts/montserrat-latin.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	/* Brand */
	--c-petroleum: #1B4D52;
	--c-petroleum-light: #2C7A82;
	--c-petroleum-dark: #0D3438;
	--c-cream: #F8F5EF;
	--c-graphite: #2D2823;
	--c-yellow: #F2A900;
	--c-white: #FFFFFF;
	--c-sand: #EDE3D0;
	--c-heather: #A89078;

	/* Semantic */
	--c-bg: var(--c-cream);
	--c-bg-alt: var(--c-white);
	--c-bg-dark: var(--c-petroleum);
	--c-text: var(--c-graphite);
	--c-text-muted: rgba(45, 40, 35, 0.7);
	--c-text-on-dark: var(--c-cream);
	--c-link: var(--c-petroleum);
	--c-link-hover: var(--c-petroleum-light);
	--c-border: rgba(45, 40, 35, 0.12);
	--c-accent: var(--c-yellow);

	/* Typography Montserrat for headings, Inter for body. */
	--ff-display: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--ff-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	--fs-display: clamp(2.5rem, 5vw + 1rem, 4.5rem);
	--fs-h1: clamp(2rem, 3vw + 1rem, 3rem);
	--fs-h2: clamp(1.5rem, 1.5vw + 1rem, 2rem);
	--fs-h3: clamp(1.125rem, 0.5vw + 1rem, 1.375rem);
	--fs-body: 1rem;
	--fs-small: 0.875rem;
	--lh-tight: 1.15;
	--lh-snug: 1.3;
	--lh-body: 1.65;

	/* Spacing */
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.25rem;
	--space-6: 1.5rem;
	--space-7: 1.75rem;
	--space-8: 2rem;
	--space-10: 2.5rem;
	--space-12: 3rem;
	--space-16: 4rem;
	--space-20: 5rem;
	--space-24: 6rem;

	/* Layout */
	--container: 1200px;
	--container-narrow: 760px;
	--radius-sm: 0px;
	--radius: 0px;
	--radius-lg: 0px;
	--shadow-sm: 0 0 0 1px rgba(13, 52, 56, 0.10);
	--shadow: 0 0 0 1px rgba(13, 52, 56, 0.16);
	--shadow-lg: 0 0 0 2px var(--c-petroleum);

	/* Motion */
	--ease: cubic-bezier(0.2, 0.8, 0.2, 1);
	--dur-fast: 150ms;
	--dur: 250ms;
}

/* ---------- Industrial accent helpers ---------- */
.tape-accent {
	display: inline-block;
	width: 32px;
	height: 4px;
	background: var(--c-yellow);
	margin-bottom: var(--space-3);
	vertical-align: middle;
}

/* ---------- Reset / base ---------- */

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--ff-body);
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	color: var(--c-text);
	background: var(--c-bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--c-link); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color var(--dur) var(--ease); }
a:hover, a:focus-visible { color: var(--c-link-hover); }
:focus-visible { outline: 2px solid var(--c-petroleum); outline-offset: 3px; border-radius: 2px; }
button { font: inherit; }

h1, h2, h3, h4 {
	font-family: var(--ff-display);
	font-weight: 700;
	line-height: var(--lh-tight);
	margin: 0 0 var(--space-4);
	color: var(--c-petroleum);
	letter-spacing: -0.025em;
}
h1 { font-size: var(--fs-h1); font-weight: 800; letter-spacing: -0.035em; }
h2 { font-size: var(--fs-h2); }
h3 { font-family: var(--ff-display); font-weight: 700; font-size: var(--fs-h3); line-height: var(--lh-snug); letter-spacing: -0.015em; }
h4 { font-family: var(--ff-body); font-weight: 700; font-size: 1rem; letter-spacing: 0.02em; text-transform: uppercase; }
p { margin: 0 0 var(--space-4); }
.eyebrow { font-family: var(--ff-body); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--c-petroleum); margin-bottom: var(--space-3); display: inline-block; }

/* ---------- Layout ---------- */

.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--space-6); }
.container--narrow { max-width: var(--container-narrow); }
.section { padding-block: var(--space-20); }
.section--tight { padding-block: var(--space-12); }
.section--cream { background: var(--c-cream); }
.section--white { background: var(--c-white); }
.section--dark { background: var(--c-petroleum); color: var(--c-text-on-dark); }
.section--dark h1, .section--dark h2, .section--dark h3 { color: var(--c-cream); }
.section--dark a { color: var(--c-yellow); }
.section--dark .btn { color: var(--c-graphite); }
.section--dark .eyebrow { color: var(--c-yellow); }

.grid { display: grid; gap: var(--space-6); }
.grid--3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.grid--2 { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }

/* ---------- Skip link ---------- */
.skip-link { position: absolute; left: -9999px; top: 0; padding: var(--space-3) var(--space-4); background: var(--c-petroleum); color: var(--c-cream); z-index: 1000; }
.skip-link:focus { left: var(--space-4); top: var(--space-4); }

/* ---------- Topbjælke (kun desktop, lige under headeren) ---------- */

.site-topbar {
	background: var(--c-petroleum);
	color: var(--c-cream);
	padding-block: var(--space-2);
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.02em;
}
.site-topbar__text {
	margin: 0;
	text-align: center;
}
@media (max-width: 880px) {
	.site-topbar { display: none; }
}

/* ---------- Header ---------- */

.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--c-cream);
	border-bottom: 1px solid var(--c-border);
	backdrop-filter: saturate(180%) blur(8px);
}
.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-6);
	padding-block: var(--space-4);
}
.site-logo { display: inline-flex; align-items: center; text-decoration: none; flex-shrink: 0; }
.site-logo img,
.site-logo .custom-logo,
.site-logo .custom-logo-link img {
	height: 52px;
	width: auto;
	max-width: 220px;
	object-fit: contain;
	display: block;
}

.primary-nav { display: flex; align-items: center; gap: var(--space-2); }
.primary-nav ul { list-style: none; display: flex; align-items: center; gap: var(--space-2); margin: 0; padding: 0; }
.primary-nav li { white-space: nowrap; }
.primary-nav a {
	position: relative;
	display: inline-block;
	padding: var(--space-3) var(--space-2);
	color: var(--c-graphite);
	text-decoration: none;
	font-weight: 500;
	font-size: 0.95rem;
	letter-spacing: 0.01em;
	transition: color var(--dur) var(--ease);
}
.primary-nav a::after {
	content: "";
	position: absolute;
	left: var(--space-2);
	right: var(--space-2);
	bottom: calc(var(--space-2) - 2px);
	height: 2px;
	background: var(--c-petroleum);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--dur) var(--ease);
}
.primary-nav a:hover { color: var(--c-petroleum); }
.primary-nav a:hover::after { transform: scaleX(1); }
.primary-nav .current-menu-item > a,
.primary-nav .current_page_item > a,
.primary-nav .current-menu-ancestor > a { color: var(--c-petroleum); font-weight: 600; }
.primary-nav .current-menu-item > a::after,
.primary-nav .current_page_item > a::after,
.primary-nav .current-menu-ancestor > a::after { transform: scaleX(1); background: var(--c-yellow); }

.nav-toggle {
	display: none;
	background: transparent;
	border: 0;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border-radius: var(--radius-sm);
}
.nav-toggle span { display: block; width: 22px; height: 2px; background: var(--c-graphite); position: relative; transition: transform var(--dur) var(--ease); }
.nav-toggle span::before, .nav-toggle span::after { content: ""; position: absolute; left: 0; right: 0; height: 2px; background: var(--c-graphite); transition: transform var(--dur) var(--ease), top var(--dur) var(--ease); }
.nav-toggle span::before { top: -7px; }
.nav-toggle span::after { top: 7px; }
.nav-toggle[aria-expanded="true"] span { background: transparent; }
.nav-toggle[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] span::after { top: 0; transform: rotate(-45deg); }

@media (max-width: 880px) {
	.nav-toggle { display: inline-flex; }
	.primary-nav { position: absolute; left: 0; right: 0; top: 100%; background: var(--c-cream); border-bottom: 1px solid var(--c-border); padding: var(--space-4) var(--space-6) var(--space-6); display: none; }
	.primary-nav[data-open="true"] { display: block; }
	.primary-nav ul { flex-direction: column; gap: 0; align-items: stretch; }
	.primary-nav li { width: 100%; border-bottom: 1px solid var(--c-border); }
	.primary-nav li:last-child { border-bottom: 0; }
	.primary-nav a { display: block; padding: var(--space-4) var(--space-2); }
	.primary-nav a::after { display: none; }
}

/* ---------- Buttons ---------- */

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	padding: 0.9375rem 1.625rem;
	font-family: var(--ff-body);
	font-weight: 700;
	font-size: 0.9375rem;
	letter-spacing: 0.02em;
	line-height: 1;
	text-decoration: none;
	border-radius: var(--radius-sm);
	border: 2px solid transparent;
	cursor: pointer;
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur-fast) var(--ease);
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn--primary { background: var(--c-petroleum); color: var(--c-cream); }
.btn--primary:hover { background: var(--c-petroleum-dark); color: var(--c-cream); }
.btn--outline { background: transparent; color: var(--c-petroleum); border-color: var(--c-petroleum); }
.btn--outline:hover { background: var(--c-petroleum); color: var(--c-cream); }
.btn--accent { background: var(--c-yellow); color: var(--c-graphite); }
.btn--accent:hover { background: #d99100; color: var(--c-graphite); }
.btn--on-dark { background: var(--c-yellow); color: var(--c-graphite); border-color: var(--c-yellow); }

.link-arrow {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	font-weight: 600;
	color: var(--c-petroleum);
	text-decoration: none;
}
.link-arrow::after { content: "→"; transition: transform var(--dur) var(--ease); }
.link-arrow:hover::after { transform: translateX(4px); }

/* Back-link variant arrow on the left, slides further left on hover. */
.link-arrow--back::after { content: none; }
.link-arrow--back::before {
	content: "←";
	transition: transform var(--dur) var(--ease);
}
.link-arrow--back:hover::before { transform: translateX(-4px); }

/* ---------- Hero full-bleed video variant ---------- */

.hero--video {
	position: relative;
	min-height: min(82vh, 760px);
	display: flex;
	align-items: center;
	overflow: hidden;
	color: var(--c-cream);
	background: var(--c-petroleum-dark);
	padding: 0;
	border-radius: 0;
}
.hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 0;
	pointer-events: none;
}
.hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(180deg, rgba(13, 52, 56, 0.25) 0%, rgba(13, 52, 56, 0.45) 50%, rgba(13, 52, 56, 0.85) 100%),
		linear-gradient(90deg, rgba(13, 52, 56, 0.55) 0%, rgba(13, 52, 56, 0.0) 60%);
	pointer-events: none;
}
.hero--video .container {
	position: relative;
	z-index: 2;
	padding-block: var(--space-24) var(--space-24);
}
.hero--video .hero__title {
	color: var(--c-cream);
	font-weight: 800;
	font-size: clamp(2.5rem, 5.5vw + 1.5rem, 5.5rem);
	line-height: 0.98;
	letter-spacing: -0.04em;
	max-width: 18ch;
	margin-bottom: var(--space-6);
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.25);
}
.hero--video .hero__lead {
	color: rgba(248, 245, 239, 0.92);
	font-size: 1.125rem;
	max-width: 52ch;
	margin-bottom: var(--space-6);
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.25);
}
.hero--video .eyebrow,
.eyebrow--on-dark { color: var(--c-yellow); }
.hero--video .hero__cta { display: flex; gap: var(--space-3); flex-wrap: wrap; }

/* Ghost button used on the video hero transparent with a thin cream border. */
.btn--ghost {
	background: transparent;
	color: var(--c-cream);
	border-color: rgba(248, 245, 239, 0.55);
}
.btn--ghost:hover { background: rgba(248, 245, 239, 0.12); border-color: var(--c-cream); color: var(--c-cream); }

/* Subtle slow-zoom on the video so it's not perfectly static. */
@keyframes hero-video-pan {
	from { transform: scale(1); }
	to { transform: scale(1.06); }
}
.hero__video {
	animation: hero-video-pan 30s ease-in-out infinite alternate;
}
@media (prefers-reduced-motion: reduce) {
	.hero__video { animation: none; }
}

/* Mobile tweaks. */
@media (max-width: 720px) {
	.hero--video { min-height: min(70vh, 600px); }
	.hero--video .container { padding-block: var(--space-16) var(--space-12); }
}

/* ---------- Hero ---------- */

.hero {
	position: relative;
	padding-block: var(--space-24) var(--space-24);
	background: linear-gradient(180deg, var(--c-cream) 0%, var(--c-sand) 100%);
	overflow: hidden;
}
.hero__inner { display: grid; gap: var(--space-12); grid-template-columns: 1.1fr 1fr; align-items: center; }
@media (max-width: 880px) { .hero__inner { grid-template-columns: 1fr; } }
.hero__title { font-size: var(--fs-display); line-height: 1.05; margin-bottom: var(--space-6); }
.hero__lead { font-size: 1.125rem; color: var(--c-text); max-width: 52ch; margin-bottom: var(--space-8); }
.hero__cta { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.hero__visual {
	aspect-ratio: 4 / 5;
	border-radius: var(--radius-lg);
	background: var(--c-petroleum);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	box-shadow: var(--shadow-lg);
	position: relative;
	overflow: hidden;
}
/* Subtle gradient at the bottom so the badge stays readable on top of any photo. */
.hero__visual--has-image::after {
	content: "";
	position: absolute;
	inset: 50% 0 0 0;
	background: linear-gradient(to bottom, transparent 0%, rgba(13, 52, 56, 0.55) 100%);
	pointer-events: none;
}
.hero__visual--has-image .hero__badge { position: absolute; z-index: 1; }
.hero__badge {
	position: absolute;
	bottom: var(--space-6);
	left: var(--space-6);
	right: var(--space-6);
	padding: var(--space-4) var(--space-6);
	background: rgba(248, 245, 239, 0.95);
	border-radius: var(--radius);
	font-size: var(--fs-small);
	color: var(--c-graphite);
}

/* ---------- Nyheder newsroom magazine layout ---------- */

.news-hero { height: 400px;
	background-color: var(--c-petroleum-dark);
	background-size: cover;
	background-position: center;
	color: var(--c-cream);
	padding-block: 0;

	display: flex;
	align-items: flex-end;
	position: relative;
	overflow: hidden;
}
.news-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(13, 52, 56, 0.55) 0%, rgba(13, 52, 56, 0.85) 100%),
		linear-gradient(90deg, rgba(13, 52, 56, 0.4) 0%, rgba(13, 52, 56, 0) 60%);
	pointer-events: none;
}
.news-hero__inner { position: relative; z-index: 1; max-width: 880px; padding-bottom: var(--space-8); }
.news-hero__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	flex-wrap: wrap;
	margin-bottom: var(--space-5);
	padding-bottom: var(--space-4);
	border-bottom: 1px solid rgba(248, 245, 239, 0.18);
}
.news-hero__kicker {
	display: inline-flex;
	align-items: center;
	gap: var(--space-3);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: rgba(248, 245, 239, 0.6);
}
.news-hero__tape { display: none; }
.news-hero__count {
	font-size: 0.75rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(248, 245, 239, 0.6);
	font-weight: 600;
}
.news-hero h1 {
	color: var(--c-cream);
	font-weight: 800;
	font-size: clamp(2.75rem, 5vw + 1rem, 5rem);
	letter-spacing: -0.04em;
	line-height: 0.98;
	margin: 0 0 var(--space-5);
}
.news-hero__lead {
	color: rgba(248, 245, 239, 0.85);
	font-size: 1.125rem;
	line-height: 1.5;
	margin: 0;
	max-width: 60ch;
}

/* Video sidebar beside news cards */
.news-grid-layout { display: contents; }
.news-grid-layout.has-video {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: var(--space-8);
	align-items: start;
}
.news-grid-video video {
	display: block;
	width: 100%;
	aspect-ratio: 9/16;
	object-fit: cover;
}
.news-grid-video__label {
	margin-top: var(--space-3);
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--c-text-muted);
}
@media (max-width: 900px) {
	.news-grid-layout.has-video { grid-template-columns: 1fr; }
	.news-grid-video { display: flex; gap: var(--space-5); align-items: center; }
	.news-grid-video video { width: 160px; aspect-ratio: 9/16; flex-shrink: 0; }
	.news-grid-video__label { margin-top: 0; }
}

/* Featured story broadsheet feature */
.news-feature-section { padding-block: var(--space-16) var(--space-12); background: var(--c-cream); }
.news-feature {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 0;
	background: var(--c-white);
	overflow: hidden;
	color: inherit;
	text-decoration: none;
	border: 1px solid var(--c-border);
	transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 600ms cubic-bezier(0.22, 1, 0.36, 1);
}
.news-feature:hover {
	transform: translateY(-3px);
	box-shadow: 0 0 0 2px var(--c-petroleum);
}
.news-feature__media {
	background: var(--c-sand);
	background-size: cover;
	background-position: center;
	min-height: 460px;
	position: relative;
	overflow: hidden;
}
.news-feature__media-fallback {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, var(--c-petroleum) 0%, var(--c-petroleum-light) 100%);
}
.news-feature__body {
	padding: var(--space-12) var(--space-10) var(--space-10);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.news-feature__meta {
	display: flex;
	align-items: center;
	gap: var(--space-4);
	margin-bottom: var(--space-5);
	padding-bottom: var(--space-4);
	border-bottom: 1px solid var(--c-border);
}
.news-feature__date {
	font-family: var(--ff-body);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--c-text-muted);
	letter-spacing: 0.02em;
}
.news-feature__cat {
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--c-petroleum);
	padding: 4px 10px;
	border: 1px solid var(--c-petroleum);
	margin-left: auto;
}
.news-feature__title {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: clamp(1.875rem, 2vw + 1rem, 2.625rem);
	color: var(--c-petroleum);
	line-height: 1;
	letter-spacing: -0.04em;
	margin: 0 0 var(--space-4);
}
.news-feature__excerpt {
	color: var(--c-text);
	font-size: 1.0625rem;
	line-height: 1.55;
	margin: 0 0 var(--space-6);
}
.news-feature__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--c-petroleum);
	font-weight: 700;
	font-size: 0.9375rem;
	letter-spacing: 0.01em;
	margin-top: auto;
}
.news-feature__cta svg { transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1); }
.news-feature:hover .news-feature__cta svg { transform: translateX(5px); }

@media (max-width: 880px) {
	.news-feature { grid-template-columns: 1fr; }
	.news-feature__media { min-height: 280px; }
	.news-feature__body { padding: var(--space-8); }
}

/* Section header for the grid */
.news-grid-section { padding-block: var(--space-12) var(--space-20); background: var(--c-cream); }
.news-grid-head {
	display: flex;
	align-items: center;
	gap: var(--space-4);
	margin-bottom: var(--space-10);
}
.news-grid-head h3 {
	font-family: var(--ff-display);
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--c-petroleum);
	margin: 0;
}
.news-grid-rule { flex: 1; height: 2px; background: var(--c-petroleum); }

/* News card grid 3 columns on desktop, vertical cards (image top, body below) */
.news-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: var(--space-8) var(--space-6);
}
.news-card {
	display: flex;
	flex-direction: column;
	background: var(--c-white);
	color: inherit;
	text-decoration: none;
	border: 1px solid var(--c-border);
	transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 600ms cubic-bezier(0.22, 1, 0.36, 1);
}
.news-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 0 0 2px var(--c-petroleum);
}
.news-card__media {
	aspect-ratio: 16 / 10;
	background: var(--c-sand);
	background-size: cover;
	background-position: center;
	position: relative;
	overflow: hidden;
}
.news-card__cat {
	position: absolute;
	top: var(--space-3);
	left: var(--space-3);
	padding: 4px 10px;
	background: var(--c-petroleum);
	color: var(--c-cream);
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}
.news-card__body {
	padding: var(--space-6);
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	flex: 1;
}
.news-card__date {
	font-family: var(--ff-body);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--c-text-muted);
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
}
.news-card__title {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: 1.25rem;
	color: var(--c-petroleum);
	line-height: 1.1;
	letter-spacing: -0.025em;
	margin: 0;
}
.news-card__excerpt {
	color: var(--c-text-muted);
	font-size: 0.9375rem;
	line-height: 1.5;
	margin: 0;
}
.news-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--c-petroleum);
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: 0.02em;
	margin-top: auto;
}
.news-card__cta svg { transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1); }
.news-card:hover .news-card__cta svg { transform: translateX(4px); }

.news-pagination { margin-top: var(--space-12); }

@media (max-width: 540px) {
	.news-grid { grid-template-columns: 1fr; }
}

/* ---------- Related projects grid (single news/single projekt bottom) ---------- */
.related-projects {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-8);
}
.related-projects .feature-card {
	aspect-ratio: 4 / 3;
	min-height: 0;
}
@media (max-width: 880px) {
	.related-projects { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
}
@media (max-width: 720px) {
	.related-projects {
		display: flex;
		flex-direction: row;
		grid-template-columns: none;
		gap: var(--space-4);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-inline: var(--space-6);
		margin-inline: calc(-1 * var(--space-6));
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		scroll-padding-inline: var(--space-6);
	}
	.related-projects::-webkit-scrollbar { display: none; }
	.related-projects .feature-card {
		flex: 0 0 82%;
		max-width: 82%;
		scroll-snap-align: start;
		aspect-ratio: 4 / 3;
		min-height: 0;
	}
}

/* ---------- Featured projects (forside) editorial overlay grid ---------- */

.featured-grid {
	display: grid;
	gap: var(--space-8);
	grid-auto-rows: 1fr;
}
.featured-grid--3 {
	grid-template-columns: 2fr 1fr;
	grid-template-rows: 1fr 1fr;
	min-height: 760px;
}
.featured-grid--3 .feature-card--lead { grid-row: span 2; }
.featured-grid--2 { grid-template-columns: 1fr 1fr; min-height: 460px; }
.featured-grid--1 { grid-template-columns: 1fr; min-height: 480px; }

.feature-card {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 0;
	background: var(--c-petroleum);
	color: inherit;
	text-decoration: none;
	min-height: 320px;
	isolation: isolate;
	transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 600ms cubic-bezier(0.22, 1, 0.36, 1);
}
.feature-card:hover,
.feature-card:focus-visible {
	transform: translateY(-3px);
	box-shadow: 0 0 0 2px var(--c-petroleum);
}
.feature-card__media {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-color: var(--c-petroleum);
	transition: transform 1200ms cubic-bezier(0.22, 1, 0.36, 1);
	z-index: 0;
}
.feature-card:hover .feature-card__media,
.feature-card:focus-visible .feature-card__media { transform: scale(1.06); }

.feature-card__panel {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	background: var(--c-white);
	border-radius: 0;
	padding: 20px 24px;
	display: flex;
	align-items: center;
	gap: 16px;
	border-top: 2px solid var(--c-petroleum);
	transition: background 400ms cubic-bezier(0.22, 1, 0.36, 1);
}
.feature-card__text { flex: 1; min-width: 0; }
.feature-card__title {
	font-family: var(--ff-display);
	font-size: 1.0625rem;
	font-weight: 500;
	color: var(--c-graphite);
	margin: 0;
	line-height: 1.25;
	letter-spacing: -0.005em;
}
.featured-grid--3 .feature-card--lead .feature-card__title { font-size: 1.5rem; }
.archive-projects .feature-card__title { font-size: clamp(1.0625rem, 0.5vw + 0.95rem, 1.375rem); }

/* Smooth auto-height reveal using the grid-template-rows trick */
.feature-card__details {
	display: grid;
	grid-template-rows: 0fr;
	opacity: 0;
	transition:
		grid-template-rows 600ms cubic-bezier(0.22, 1, 0.36, 1),
		opacity 400ms cubic-bezier(0.22, 1, 0.36, 1);
}
.feature-card__details-inner {
	overflow: hidden;
	min-height: 0;
}
.feature-card__meta {
	display: block;
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--c-text-muted);
	font-weight: 600;
	margin-top: 14px;
	transform: translateY(8px);
	transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1) 100ms;
}
.feature-card__excerpt {
	color: var(--c-text-muted);
	font-size: 0.875rem;
	line-height: 1.5;
	margin: 8px 0 2px;
	transform: translateY(8px);
	transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1) 150ms;
}

.feature-card__arrow {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--c-graphite);
	color: var(--c-cream);
	border-radius: 0;
	transition: background 500ms cubic-bezier(0.22, 1, 0.36, 1);
}
.feature-card__arrow svg { transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1); }
.feature-card:hover .feature-card__arrow,
.feature-card:focus-visible .feature-card__arrow { background: var(--c-petroleum); }
.feature-card:hover .feature-card__arrow svg,
.feature-card:focus-visible .feature-card__arrow svg { transform: translateX(3px); }

/* Hover reveal only on devices that actually support hover (desktop) */
@media (hover: hover) and (pointer: fine) {
	.feature-card:hover .feature-card__details,
	.feature-card:focus-visible .feature-card__details {
		grid-template-rows: 1fr;
		opacity: 1;
	}
	.feature-card:hover .feature-card__meta,
	.feature-card:hover .feature-card__excerpt,
	.feature-card:focus-visible .feature-card__meta,
	.feature-card:focus-visible .feature-card__excerpt {
		transform: translateY(0);
	}
}

.feature-card:focus-visible {
	outline: 3px solid var(--c-yellow);
	outline-offset: 4px;
}

@media (max-width: 880px) {
	.featured-grid--3 {
		display: flex;
		flex-direction: row;
		grid-template-columns: none;
		grid-template-rows: none;
		min-height: 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		gap: var(--space-4);
		padding-inline: var(--space-6);
		margin-inline: calc(-1 * var(--space-6));
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		scroll-padding-inline: var(--space-6);
	}
	.featured-grid--3::-webkit-scrollbar { display: none; }
	.featured-grid--3 .feature-card {
		flex: 0 0 85%;
		max-width: 85%;
		scroll-snap-align: start;
		aspect-ratio: 4 / 3;
		min-height: 380px;
	}
	.featured-grid--3 .feature-card--lead { grid-row: auto; flex: 0 0 85%; max-width: 85%; }
	.feature-card { min-height: 360px; }
}

@media (prefers-reduced-motion: reduce) {
	.feature-card__media, .feature-card__details, .feature-card__arrow, .feature-card__arrow svg { transition: none; }
	.feature-card:hover .feature-card__media { transform: none; }
}

/* ---------- Cards ---------- */

.card {
	background: var(--c-white);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
	display: flex;
	flex-direction: column;
}
.card:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.card__media { aspect-ratio: 4 / 3; background: var(--c-sand); overflow: hidden; }
.card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur) var(--ease); }
.card:hover .card__media img { transform: scale(1.03); }
.card__body { padding: var(--space-6); display: flex; flex-direction: column; flex: 1 1 auto; gap: var(--space-2); }
.card__meta { font-size: var(--fs-small); color: var(--c-text-muted); }
.card__title { margin: 0 0 var(--space-2); font-family: var(--ff-display); font-size: 1.375rem; line-height: 1.2; color: var(--c-petroleum); }
.card__excerpt { color: var(--c-text-muted); margin-bottom: var(--space-4); }
.card a { text-decoration: none; color: inherit; }
.card a:hover .card__title { color: var(--c-petroleum-light); }
.card__more { margin-top: auto; }

/* ---------- Section header pattern (still used by featured projects + news) ---------- */

.services-row__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--space-6);
	flex-wrap: wrap;
	margin-bottom: var(--space-10);
	padding-bottom: var(--space-6);
	border-bottom: 1px solid var(--c-border);
}
.services-row__head h2 { margin: 0; }

/* ---------- Client logos ---------- */

.client-logos__title {
	text-align: center;
	margin: 0 0 var(--space-10);
	font-size: 1.5rem;
	color: var(--c-petroleum);
}
.client-logos__row {
	display: grid;
	grid-template-columns: repeat(var(--logo-count, 6), 1fr);
	gap: var(--space-6);
	align-items: center;
}
.client-logos__item {
	aspect-ratio: 3 / 2;
	background: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-4);
}
.client-logos__img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}
@media (max-width: 800px) {
	.client-logos__row { grid-template-columns: repeat(min(var(--logo-count, 6), 3), 1fr); }
}
@media (max-width: 480px) {
	.client-logos__row { grid-template-columns: repeat(min(var(--logo-count, 6), 2), 1fr); }
}

/* Auto-rullende karrusel når der er flere end 6 logoer. */
.client-logos__marquee {
	overflow: hidden;
	width: 100%;
	mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.client-logos__track {
	display: flex;
	gap: var(--space-6);
	width: max-content;
	animation: client-logos-scroll 40s linear infinite;
}
.client-logos__marquee:hover .client-logos__track,
.client-logos__marquee:focus-within .client-logos__track {
	animation-play-state: paused;
}
.client-logos__marquee .client-logos__item {
	width: 180px;
	flex-shrink: 0;
}
@keyframes client-logos-scroll {
	from { transform: translateX(0); }
	to { transform: translateX(calc(-50% - var(--space-6) / 2)); }
}
@media (max-width: 600px) {
	.client-logos__marquee .client-logos__item { width: 140px; }
}
@media (prefers-reduced-motion: reduce) {
	.client-logos__track { animation: none; }
}

/* ---------- Medarbejder-grid på kontakt-siden ---------- */

.employee-grid__heading {
	text-align: center;
	margin: 0 0 var(--space-10);
	font-size: var(--fs-h2);
}
.employee-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--space-8);
}
.employee-card {
	background: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: var(--radius-lg, 12px);
	padding: var(--space-6);
	text-align: center;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.employee-card__photo {
	width: 140px;
	height: 140px;
	margin: 0 auto var(--space-4);
	border-radius: 50%;
	overflow: hidden;
	background: var(--c-cream);
}
.employee-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.employee-card__photo-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-family: var(--ff-display);
	font-size: 3rem;
	color: var(--c-petroleum);
	background: var(--c-cream);
}
.employee-card__name {
	margin: 0 0 var(--space-1);
	font-size: 1.125rem;
	color: var(--c-petroleum);
}
.employee-card__role {
	margin: 0 0 var(--space-4);
	color: var(--c-text-muted);
	font-size: 0.875rem;
}
.employee-card__contact {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--space-2);
	font-size: 0.9375rem;
}
.employee-card__contact a {
	text-decoration: none;
	color: var(--c-petroleum);
	word-break: break-word;
}
.employee-card__contact a:hover {
	color: var(--c-petroleum-light);
	text-decoration: underline;
}

/* ---------- Forms ---------- */

.form { display: grid; gap: var(--space-5); }
.field { display: grid; gap: var(--space-2); }
.field label { font-weight: 500; font-size: var(--fs-small); color: var(--c-graphite); }
.field input, .field textarea, .field select {
	width: 100%;
	padding: 0.75rem 1rem;
	font: inherit;
	color: var(--c-graphite);
	background: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: var(--radius-sm);
	transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.field input:focus, .field textarea:focus, .field select:focus {
	border-color: var(--c-petroleum);
	box-shadow: 0 0 0 3px rgba(27, 77, 82, 0.15);
	outline: none;
}
.field textarea { min-height: 140px; resize: vertical; }
.form__feedback { padding: var(--space-4); border-radius: var(--radius-sm); font-size: var(--fs-small); }
.form__feedback--ok { background: rgba(27, 77, 82, 0.1); color: var(--c-petroleum-dark); }
.form__feedback--err { background: rgba(178, 41, 41, 0.1); color: #b22929; }
.honeypot { position: absolute; left: -9999px; }

/* ---------- Page family layout — sidebar sub-nav next to content ---------- */

.page-with-subnav {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: var(--space-12);
	align-items: start;
}
.page-with-subnav__main {
	max-width: 760px;
	transition: opacity 250ms cubic-bezier(0.22, 1, 0.36, 1);
}
.page-with-subnav__main.is-loading { opacity: 0.3; }
.page-with-subnav__main.is-revealing { animation: subnav-fade-in 400ms cubic-bezier(0.22, 1, 0.36, 1); }
@keyframes subnav-fade-in {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
	.page-with-subnav__main { transition: none; }
	.page-with-subnav__main.is-revealing { animation: none; }
}

.page-subnav-side {
	position: sticky;
	top: var(--space-6);
}
.page-subnav-side nav {
	background: var(--c-petroleum);
	color: var(--c-cream);
	padding: var(--space-8) 0;
	box-shadow: 0 4px 24px -16px rgba(13, 52, 56, 0.18);
}
.page-subnav-side__heading {
	font-family: var(--ff-body);
	font-weight: 700;
	font-size: 0.6875rem;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: rgba(248, 245, 239, 0.6);
	margin: 0 var(--space-7) var(--space-5);
	padding-bottom: var(--space-4);
	border-bottom: 1px solid rgba(248, 245, 239, 0.18);
}
.page-subnav-side ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
}
.page-subnav-side__link {
	display: block;
	padding: 13px var(--space-7);
	color: rgba(248, 245, 239, 0.78);
	text-decoration: none;
	font-weight: 500;
	font-size: 0.9375rem;
	border-left: 3px solid transparent;
	transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.page-subnav-side__link:hover {
	color: var(--c-cream);
	background: rgba(248, 245, 239, 0.05);
}
.page-subnav-side__link.is-active {
	color: var(--c-cream);
	border-left-color: var(--c-cream);
	font-weight: 700;
	background: rgba(248, 245, 239, 0.08);
}

@media (max-width: 880px) {
	.page-with-subnav { grid-template-columns: 1fr; gap: var(--space-8); }
	.page-subnav-side { position: static; }
}

/* Horisontal under-nav (Services-familien) — vises mellem header og hero. */
.page-subnav-top {
	background: var(--c-petroleum);
	color: var(--c-cream);
}
.page-subnav-top ul {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 0;
}
.page-subnav-top__link {
	display: block;
	padding: var(--space-4) var(--space-6);
	color: rgba(248, 245, 239, 0.78);
	text-decoration: none;
	font-weight: 500;
	font-size: 0.9375rem;
	border-bottom: 3px solid transparent;
	transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.page-subnav-top__link:hover {
	color: var(--c-cream);
	background: rgba(248, 245, 239, 0.05);
}
.page-subnav-top__link.is-active {
	color: var(--c-cream);
	border-bottom-color: var(--c-cream);
	font-weight: 700;
	background: rgba(248, 245, 239, 0.08);
}
@media (max-width: 800px) {
	.page-subnav-top {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.page-subnav-top .container { padding-inline: 0; }
	.page-subnav-top ul { flex-wrap: nowrap; padding-inline: var(--space-6); }
	.page-subnav-top__link {
		white-space: nowrap;
		padding: var(--space-3) var(--space-5);
		font-size: 0.875rem;
	}
}

/* TOC sidebar variant — nested H3 links indented under their H2. */
.page-toc-side__sublist {
	list-style: none;
	margin: 0;
	padding: 0;
}
.page-toc-side__link--sub {
	padding-left: var(--space-10);
	font-size: 0.8125rem;
	color: rgba(248, 245, 239, 0.6);
}
.page-toc-side__link--sub:hover { color: rgba(248, 245, 239, 0.9); }

/* Offset anchor jumps so headings don't hit the very top of the viewport. */
.page-with-subnav__main .prose :is(h2, h3) {
	scroll-margin-top: var(--space-8);
}
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

.page-hero__crumb {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--c-petroleum);
	text-decoration: none;
	margin-bottom: var(--space-3);
	border-bottom: 1px solid transparent;
	transition: border-color var(--dur) var(--ease);
}
.page-hero__crumb:hover { border-bottom-color: var(--c-petroleum); }
.page-hero__crumb::before { content: "← "; }

/* ---------- Page hero (sub-pages) ---------- */

.page-hero { height: 400px; padding-block: 0; display: flex; align-items: flex-end; background: var(--c-cream); border-bottom: 1px solid var(--c-border); }
.page-hero .container { padding-bottom: var(--space-6); width: 100%; }
.page-hero h1 { font-size: var(--fs-display); margin-bottom: var(--space-4); }
.page-hero p { font-size: 1.125rem; color: var(--c-text-muted); max-width: 60ch; margin: 0; }

/* Dark variant used on Projekter archive for a serious "portfolio" feel. */
.page-hero--dark {
	background-color: var(--c-petroleum-dark);
	background-size: cover;
	background-position: center;
	color: var(--c-cream);
	border-bottom: 0;
	padding-block: 0;

	display: flex;
	align-items: flex-end;
	position: relative;
	overflow: hidden;
}
.page-hero--dark::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(13, 52, 56, 0.55) 0%, rgba(13, 52, 56, 0.85) 100%),
		linear-gradient(90deg, rgba(13, 52, 56, 0.4) 0%, rgba(13, 52, 56, 0) 60%);
	pointer-events: none;
}
.page-hero--dark .container { position: relative; z-index: 1; }
.page-hero--dark h1 { color: var(--c-cream); }
.page-hero--dark p { color: rgba(248, 245, 239, 0.85); max-width: 60ch; }
.page-hero--dark .page-hero__crumb { color: rgba(248, 245, 239, 0.78); }
.page-hero--dark .page-hero__crumb:hover { border-bottom-color: var(--c-cream); color: var(--c-cream); }

/* Projekter archive 2-column overlay grid */
.archive-projects {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-12);
	margin-top: var(--space-24);
}
.archive-projects .feature-card {
	aspect-ratio: 16 / 10;
	min-height: 360px;
}
.archive-projects .feature-card__title {
	font-size: clamp(1.25rem, 1.5vw + 0.75rem, 1.875rem);
	letter-spacing: -0.015em;
}
@media (max-width: 720px) {
	.archive-projects {
		display: flex;
		flex-direction: row;
		grid-template-columns: none;
		gap: var(--space-4);
		margin-top: var(--space-8);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-inline: var(--space-6);
		margin-inline: calc(-1 * var(--space-6));
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		scroll-padding-inline: var(--space-6);
	}
	.archive-projects::-webkit-scrollbar { display: none; }
	.archive-projects .feature-card {
		flex: 0 0 82%;
		max-width: 82%;
		scroll-snap-align: start;
		aspect-ratio: 4 / 3;
		min-height: 0;
	}
}

/* ---------- Project single cinematic case-study ---------- */

/* Hero with full-bleed background image + dark overlay */
.projekt-hero {
	position: relative;
	min-height: 88vh;
	background-color: var(--c-petroleum-dark);
	background-size: cover;
	background-position: center;
	color: var(--c-cream);
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	padding-block: var(--space-24) 115px;
}
.projekt-hero__veil {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(13,52,56,0.25) 0%, rgba(13,52,56,0.55) 50%, rgba(13,52,56,0.92) 100%),
		linear-gradient(0deg, rgba(13,52,56,0.4) 0%, transparent 30%);
}
.projekt-hero__content {
	position: relative;
	z-index: 2;
	max-width: 880px;
}
.projekt-hero__kicker {
	display: inline-flex;
	align-items: center;
	gap: var(--space-3);
	font-size: 0.75rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	font-weight: 700;
	color: rgba(248, 245, 239, 0.7);
	margin-bottom: var(--space-6);
}
.projekt-hero__title {
	color: var(--c-cream);
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: clamp(2.75rem, 5.5vw + 1.5rem, 6rem);
	line-height: 0.98;
	letter-spacing: -0.04em;
	margin: 0 0 var(--space-5);
	text-shadow: 0 2px 24px rgba(0,0,0,0.25);
}
.projekt-hero__lead {
	font-size: 1.25rem;
	color: rgba(248,245,239,0.92);
	line-height: 1.45;
	margin: 0;
	max-width: 56ch;
	text-shadow: 0 1px 12px rgba(0,0,0,0.25);
}
.projekt-hero__scroll {
	position: absolute;
	left: 50%;
	bottom: 55px;
	transform: translateX(-50%);
	z-index: 3;
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(248,245,239,0.1);
	color: var(--c-cream);
	border: 1px solid rgba(248,245,239,0.25);
	border-radius: 0;
	cursor: pointer;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	animation: scroll-hint 2.5s ease-in-out infinite;
	transition: background 200ms ease;
}
.projekt-hero__scroll:hover { background: rgba(248,245,239,0.2); }
@keyframes scroll-hint {
	0%, 100% { transform: translate(-50%, 0); }
	50% { transform: translate(-50%, 6px); }
}
@media (prefers-reduced-motion: reduce) {
	.projekt-hero__scroll { animation: none; }
}

/* Subtle zoom on hero image as you scroll past */
.projekt-hero {
	background-attachment: scroll;
	background-size: cover;
	background-repeat: no-repeat;
	transition: background-size 80ms linear;
}

/* Body layout text left, sticky info-card right */
.projekt-body__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: var(--space-16);
	align-items: start;
}
.projekt-body__main { max-width: 760px; min-width: 0; }
.projekt-body__aside { position: sticky; top: 96px; }

.projekt-aside {
	background: var(--c-petroleum);
	color: var(--c-cream);
	padding: var(--space-8);
	border-radius: var(--radius);
	box-shadow: 0 4px 24px -16px rgba(13, 52, 56, 0.18);
}
.projekt-aside__heading {
	font-family: var(--ff-body);
	font-weight: 700;
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.24em;
	color: rgba(248, 245, 239, 0.6);
	margin: 0 0 var(--space-2);
}
.projekt-aside dl {
	display: grid;
	gap: 0;
	margin: 0 0 var(--space-6);
}
.projekt-aside dl > div {
	padding: var(--space-5) 0;
	border-bottom: 1px solid rgba(248, 245, 239, 0.18);
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
}
.projekt-aside dl > div:last-child { border-bottom: 0; padding-bottom: 0; }
.projekt-aside dt {
	font-size: 0.8125rem;
	color: rgba(248, 245, 239, 0.7);
	font-weight: 500;
	margin: 0;
	flex-shrink: 0;
	letter-spacing: 0;
	text-transform: none;
}
.projekt-aside dd {
	margin: 0;
	font-family: var(--ff-display);
	font-size: 0.9375rem;
	color: var(--c-cream);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.01em;
	text-align: right;
}
.projekt-aside__cta {
	width: 100%;
	font-size: 0.875rem;
	padding: 0.75rem 1rem;
}
.projekt-aside__more {
	margin-top: var(--space-6);
	padding-top: var(--space-5);
	border-top: 1px solid rgba(248, 245, 239, 0.18);
}
.projekt-aside__more-title {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.875rem;
	color: var(--c-cream);
	margin: 0 0 var(--space-2);
	line-height: 1.4;
	letter-spacing: -0.005em;
}
.projekt-aside__more-text {
	font-size: 0.8125rem;
	color: rgba(248, 245, 239, 0.75);
	margin: 0;
	line-height: 1.5;
}
.projekt-aside__more-text a {
	color: var(--c-cream);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid rgba(248, 245, 239, 0.4);
	transition: border-color 200ms ease;
}
.projekt-aside__more-text a:hover {
	border-bottom-color: var(--c-cream);
}

@media (max-width: 880px) {
	.projekt-body__layout { grid-template-columns: 1fr; gap: var(--space-8); }
	.projekt-body__aside { position: static; order: -1; }
	.projekt-aside { padding: var(--space-6); }
}

/* Body content auto-numbered sections + dramatic typography */
#projekt-body { padding-block: var(--space-24) var(--space-20); }
.projekt-content {
	font-size: 1.0625rem;
	line-height: 1.7;
}
.projekt-content > p:first-of-type {
	font-family: var(--ff-display);
	font-size: clamp(1.375rem, 1.25vw + 1rem, 1.875rem);
	color: var(--c-petroleum);
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: var(--space-12);
	letter-spacing: -0.02em;
}
.projekt-content > p:first-of-type strong { font-weight: 800; color: var(--c-graphite); }
.projekt-content h2 {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: clamp(2rem, 2vw + 1rem, 3.25rem);
	line-height: 0.98;
	letter-spacing: -0.04em;
	margin: var(--space-20) 0 var(--space-6);
	color: var(--c-petroleum);
	position: relative;
	padding-top: var(--space-6);
	border-top: 2px solid var(--c-petroleum);
}
.projekt-content p {
	margin: 0 0 var(--space-5);
	color: var(--c-text);
}
.projekt-content p:not(:first-of-type) { font-size: 1.0625rem; }

/* Inline images inside the main column */
.projekt-content figure.wp-block-image {
	margin: var(--space-12) 0;
	width: 100%;
	max-width: 100%;
}
.projekt-content .parallax-frame {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--c-petroleum);
	border-radius: var(--radius);
	box-shadow: 0 16px 40px -20px rgba(0,0,0,0.25);
}
.projekt-content .parallax-frame img {
	position: absolute;
	top: -15%;
	left: 0;
	width: 100%;
	height: 130%;
	object-fit: cover;
	object-position: center;
	will-change: transform;
	display: block;
}
.projekt-content figure.wp-block-image figcaption {
	max-width: 760px;
	margin: var(--space-4) auto 0;
	padding: 0 var(--space-6);
	color: var(--c-text-muted);
	font-size: 0.875rem;
	text-align: center;
	font-style: italic;
	letter-spacing: 0.005em;
}

@media (max-width: 880px) {
	.projekt-content figure.wp-block-image { margin: var(--space-12) calc(-1 * var(--space-6)); width: auto; }
	.projekt-content .parallax-frame { aspect-ratio: 4 / 3; border-radius: var(--radius); }
}

/* Scroll-triggered reveal animation */
.reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1), transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
	will-change: opacity, transform;
}
.reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
	.reveal { opacity: 1; transform: none; transition: none; }
}

/* Gallery Apple-style clean grid with lightbox */
.projekt-gallery {
	background: #f5f5f7;
	color: #1d1d1f;
	padding-block: var(--space-24);
}
.projekt-gallery__head {
	margin-bottom: var(--space-12);
	max-width: 680px;
}
.projekt-gallery__heading {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: clamp(1.875rem, 1.5vw + 1rem, 2.5rem);
	color: #1d1d1f;
	margin: 0 0 var(--space-3);
	letter-spacing: -0.022em;
	line-height: 1.1;
}
.projekt-gallery__sub {
	color: #6e6e73;
	font-size: 1rem;
	margin: 0;
	line-height: 1.5;
}
.projekt-gallery__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-6);
}
.projekt-gallery__item {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: 0;
	aspect-ratio: 16 / 10;
	background: #e8e8ed;
	cursor: zoom-in;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
	transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 400ms cubic-bezier(0.22, 1, 0.36, 1);
}
.projekt-gallery__item:hover {
	transform: translateY(-2px);
	box-shadow: 0 0 0 2px var(--c-petroleum);
}
.projekt-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 1200ms cubic-bezier(0.22, 1, 0.36, 1);
}
.projekt-gallery__item:hover img { transform: scale(1.03); }
.projekt-gallery__item figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: var(--space-10) var(--space-6) var(--space-5);
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
	color: #fff;
	font-size: 0.875rem;
	line-height: 1.4;
	opacity: 0;
	transition: opacity 300ms ease;
	pointer-events: none;
}
.projekt-gallery__item:hover figcaption { opacity: 1; }
@media (max-width: 720px) {
	.projekt-gallery__grid { grid-template-columns: 1fr; gap: var(--space-4); }
	.projekt-gallery__item figcaption { opacity: 1; }
}

/* Lightbox overlay (Apple-style frosted glass) */
.mbw-lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.92);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-8);
	opacity: 0;
	cursor: zoom-out;
	transition: opacity 300ms cubic-bezier(0.22, 1, 0.36, 1);
}
.mbw-lightbox.is-open { opacity: 1; }
.mbw-lightbox__figure {
	margin: 0;
	max-width: 92vw;
	max-height: 92vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-4);
	transform: scale(0.96);
	transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
}
.mbw-lightbox.is-open .mbw-lightbox__figure { transform: scale(1); }
.mbw-lightbox img {
	max-width: 100%;
	max-height: 80vh;
	width: auto;
	height: auto;
	display: block;
	border-radius: 0;
	box-shadow: 0 32px 96px rgba(0, 0, 0, 0.5);
	cursor: default;
}
.mbw-lightbox figcaption {
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.9375rem;
	text-align: center;
	max-width: 60ch;
	margin: 0;
	line-height: 1.5;
}
.mbw-lightbox__close {
	position: absolute;
	top: var(--space-6);
	right: var(--space-6);
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	transition: background 200ms ease, transform 100ms ease;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.mbw-lightbox__close:hover { background: rgba(255, 255, 255, 0.22); }
.mbw-lightbox__close:active { transform: scale(0.95); }
.mbw-lightbox__nav {
	position: absolute;
	top: 50%;
	width: 48px;
	height: 48px;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	transition: background 200ms ease, transform 100ms ease;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.mbw-lightbox__nav:hover { background: rgba(255, 255, 255, 0.22); }
.mbw-lightbox__nav:active { transform: translateY(-50%) scale(0.95); }
.mbw-lightbox__nav--prev { left: var(--space-6); }
.mbw-lightbox__nav--next { right: var(--space-6); }
@media (max-width: 720px) {
	.mbw-lightbox__nav { display: none; }
}
body.mbw-lightbox-open { overflow: hidden; }

/* Closing CTA + back link */
.projekt-cta {
	padding-block: var(--space-24);
	background: var(--c-petroleum);
	position: relative;
	overflow: hidden;
}
.projekt-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(900px 320px at 80% 20%, rgba(44, 122, 130, 0.5), transparent 60%),
		radial-gradient(700px 280px at 10% 90%, rgba(242, 169, 0, 0.12), transparent 70%);
	pointer-events: none;
}
.projekt-cta .container { position: relative; z-index: 1; }
.projekt-cta h2 {
	color: var(--c-cream);
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: clamp(2rem, 2.5vw + 1rem, 3.5rem);
	margin-bottom: var(--space-4);
	letter-spacing: -0.025em;
	line-height: 1.05;
}
.projekt-cta p {
	color: rgba(248,245,239,0.82);
	font-size: 1.125rem;
	margin: 0 auto var(--space-8);
	max-width: 52ch;
}
.projekt-cta__buttons {
	display: flex;
	gap: var(--space-3);
	justify-content: center;
	flex-wrap: wrap;
}
.projekt-back {
	padding-block: var(--space-12);
	background: var(--c-cream);
}

/* ---------- Project single ---------- */

.project-meta { display: flex; gap: var(--space-6); flex-wrap: wrap; margin-bottom: var(--space-6); padding: var(--space-4) var(--space-6); background: var(--c-sand); border-radius: var(--radius); }
.project-meta dt { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-text-muted); margin-bottom: 2px; }
.project-meta dd { margin: 0; font-weight: 500; color: var(--c-graphite); }
.project-meta > div { min-width: 100px; }

/* ---------- Footer ---------- */

.site-footer { background: var(--c-petroleum-dark); color: var(--c-cream); padding-block: var(--space-16) var(--space-8); }
.site-footer a { color: var(--c-cream); }
.site-footer a:hover { color: var(--c-yellow); }
.site-footer__cols { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: var(--space-12); margin-bottom: var(--space-12); }
@media (max-width: 768px) { .site-footer__cols { grid-template-columns: 1fr 1fr; gap: var(--space-8); } }
@media (max-width: 480px) { .site-footer__cols { grid-template-columns: 1fr; } }
.site-footer h4 { color: var(--c-cream); font-size: 0.85rem; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: var(--space-4); }
.site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-2); }
.site-footer__brand img { height: 64px; width: auto; margin-bottom: var(--space-4); }
.site-footer__brand p { color: rgba(248, 245, 239, 0.7); max-width: 32ch; }
.site-footer__bottom { border-top: 1px solid rgba(248, 245, 239, 0.15); padding-top: var(--space-6); display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); flex-wrap: wrap; font-size: var(--fs-small); color: rgba(248, 245, 239, 0.7); }
.site-footer__credit { font-size: 0.65rem; letter-spacing: 0.05em; color: rgba(248, 245, 239, 0.3); }
.site-footer__credit a { color: inherit; text-decoration: none; }
.site-footer__credit a:hover { color: rgba(248, 245, 239, 0.6); }

/* ---------- Utilities ---------- */
.center { text-align: center; }
.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }
.mx-auto { margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* ---------- Lorem placeholder note styling ---------- */
.lorem { color: var(--c-text-muted); }

/* ---------- Services overview page ---------- */

.services-intro {
	max-width: var(--container-narrow);
	margin: 0 auto var(--space-16);
	text-align: center;
}

/* ── Services bento grid ── */
.services-cards-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr;
	grid-auto-rows: 280px;
	gap: var(--space-2);
}

/* First card spans 2 rows = tall feature card */
.service-card:first-child {
	grid-row: span 2;
}

.service-card {
	position: relative;
	display: block;
	overflow: hidden;
	background: var(--c-petroleum-dark);
	text-decoration: none;
	border-radius: var(--radius-sm);
}
.service-card__img {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.6s var(--ease);
	will-change: transform;
}
.service-card:hover .service-card__img { transform: scale(1.06); }
.service-card::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(10,40,43,0.96) 0%, rgba(10,40,43,0.5) 50%, rgba(10,40,43,0.12) 100%);
	pointer-events: none;
	transition: opacity 0.4s var(--ease);
}
.service-card:hover::after { opacity: 0.85; }
.service-card__body {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: var(--space-6);
	z-index: 1;
}
.service-card:first-child .service-card__body { padding: var(--space-8); }
.service-card__num {
	display: block;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--c-yellow);
	margin-bottom: var(--space-2);
}
.service-card__title {
	font-family: var(--ff-display);
	font-size: clamp(1.1rem, 1.6vw, 1.4rem);
	font-weight: 700;
	color: var(--c-cream);
	margin: 0 0 var(--space-2);
	line-height: 1.15;
}
.service-card:first-child .service-card__title {
	font-size: clamp(1.4rem, 2.2vw, 1.9rem);
	margin-bottom: var(--space-3);
}
.service-card__excerpt {
	font-size: 0.85rem;
	color: rgba(248,245,239,0.65);
	line-height: 1.5;
	margin: 0 0 var(--space-3);
	max-width: 30ch;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.service-card:first-child .service-card__excerpt {
	font-size: 0.9rem;
	max-width: 34ch;
}
.service-card__cta {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	color: rgba(248,245,239,0.45);
	letter-spacing: 0.05em;
	transition: color var(--dur) var(--ease);
}
.service-card:hover .service-card__cta { color: var(--c-yellow); }

@media (max-width: 900px) {
	.services-cards-grid {
		grid-template-columns: 1fr 1fr;
		grid-auto-rows: 240px;
	}
	.service-card:first-child { grid-row: span 1; }
}
@media (max-width: 560px) {
	.services-cards-grid {
		grid-template-columns: 1fr;
		grid-auto-rows: 220px;
	}
	.service-card__excerpt { display: none; }
}

/* ---------- Service child page – 2-column layout ---------- */
.service-child-layout { max-width: var(--container); }
.service-child-layout .prose {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 var(--space-12);
  align-items: start;
}
.service-child-layout .prose > * { grid-column: 1; }
.service-child-layout .prose h2,
.service-child-layout .prose .wp-block-heading { order: -1; }
.service-child-layout .prose figure.wp-block-image,
.service-child-layout .prose .wp-block-image {
  grid-column: 2;
  grid-row: 1 / 99;
  margin: 0;
}
.service-child-layout .prose figure.wp-block-image img,
.service-child-layout .prose .wp-block-image img {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 768px) {
  .service-child-layout .prose {
    display: block;
  }
  .service-child-layout .prose figure.wp-block-image {
    margin-top: var(--space-8);
  }
}



/* ---------- Single news post – 2-column layout ---------- */
.news-post-layout {
  max-width: var(--container);
  margin-inline: auto;
}
.news-post-layout .prose {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 var(--space-12);
  align-items: start;
}
.news-post-layout .prose > * { grid-column: 1 !important; }
.news-post-layout .prose h2,
.news-post-layout .prose .wp-block-heading { order: -1 !important; }
.news-post-layout .prose figure.wp-block-image,
.news-post-layout .prose .wp-block-image {
  grid-column: 2 !important;
  grid-row: 1 / 99 !important;
  margin: 0 !important;
}
.news-post-layout .prose figure.wp-block-image img,
.news-post-layout .prose .wp-block-image img {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 768px) {
  .news-post-layout .prose { display: block !important; }
  .news-post-layout .prose > * { grid-column: unset !important; }
  .news-post-layout .prose figure.wp-block-image,
  .news-post-layout .prose .wp-block-image { grid-column: unset !important; grid-row: unset !important; }
}

/* ---------- Reference indhold (single-reference) – 2-kolonne layout ---------- */
.single-reference .projekt-body__layout { grid-template-columns: 1fr; }
.single-reference .projekt-body__main { max-width: 100%; }
.single-reference .projekt-content.prose {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 var(--space-12);
  align-items: start;
}
.single-reference .projekt-content.prose > * { grid-column: 1 !important; }
.single-reference .projekt-content.prose h2,
.single-reference .projekt-content.prose .wp-block-heading { order: -1 !important; }
.single-reference .projekt-content.prose figure.wp-block-image,
.single-reference .projekt-content.prose .wp-block-image {
  grid-column: 2 !important;
  grid-row: 1 / 99 !important;
  margin: 0 !important;
}
.single-reference .projekt-content.prose figure.wp-block-image img,
.single-reference .projekt-content.prose .wp-block-image img {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 768px) {
  .single-reference .projekt-body__layout { grid-template-columns: 1fr; }
  .single-reference .projekt-body__main { max-width: 100%; }
  .single-reference .projekt-content.prose { display: block !important; }
  .single-reference .projekt-content.prose > * { grid-column: unset !important; }
  .single-reference .projekt-content.prose figure.wp-block-image { grid-column: unset !important; grid-row: unset !important; }
}

/* ---------- Nyhed indhold (single-news) – 2-kolonne layout (billede venstre, tekst højre) ---------- */
.single-news .prose {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 var(--space-12);
  align-items: start;
}
.single-news .prose > * { grid-column: 2 !important; }
.single-news .prose h2,
.single-news .prose .wp-block-heading { order: -1 !important; grid-column: 2 !important; }
.single-news .prose figure.wp-block-image,
.single-news .prose .wp-block-image {
  grid-column: 1 !important;
  grid-row: 1 / 99 !important;
  margin: 0 !important;
}
.single-news .prose figure.wp-block-image img,
.single-news .prose .wp-block-image img {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 768px) {
  .single-news .prose { display: block !important; }
  .single-news .prose > * { grid-column: unset !important; }
  .single-news .prose figure.wp-block-image { grid-column: unset !important; grid-row: unset !important; }
}

/* ═══════════════════════════════════════════════
   Om KMRE — values strip
   ═══════════════════════════════════════════════ */
.om-values {
	background: var(--c-petroleum-dark);
	padding: var(--space-16) 0;
}
.om-values__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--space-1);
}
.om-values__card {
	padding: var(--space-8) var(--space-6);
	border-left: 1px solid rgba(255,255,255,0.08);
	position: relative;
}
.om-values__card:first-child { border-left: none; }
.om-values__letter {
	display: block;
	font-family: var(--ff-display);
	font-size: clamp(3rem, 6vw, 5rem);
	font-weight: 700;
	line-height: 1;
	color: var(--c-yellow);
	opacity: 0.6;
	margin-bottom: var(--space-3);
}
.om-values__label {
	font-family: var(--ff-display);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--c-cream);
	margin: 0 0 var(--space-3);
	line-height: 1.2;
}
.om-values__text {
	font-size: 0.85rem;
	color: rgba(248,245,239,0.55);
	line-height: 1.6;
	margin: 0;
}

/* Om KMRE — intro */
.om-intro {
	background: var(--c-cream);
	padding: var(--space-12) 0 0;
}
.om-intro__inner {
	max-width: 680px;
	margin-inline: auto;
	font-size: 1.1rem;
	color: var(--c-text);
}

/* Om KMRE — content sections (full-bleed alternating) */
.om-cards {
	display: flex;
	flex-direction: column;
}
.om-card {
	padding: var(--space-16) 0;
}
.om-card--light {
	background: var(--c-cream);
}
.om-card--dark {
	background: var(--c-petroleum);
}
.om-card__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-16);
	align-items: start;
}
.om-card__title {
	font-family: var(--ff-display);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.02em;
	text-wrap: balance;
	margin: 0;
	position: sticky;
	top: var(--space-8);
}
.om-card--light .om-card__title {
	color: var(--c-petroleum-dark);
}
.om-card--dark .om-card__title {
	color: var(--c-cream);
}
.om-card__body.prose {
	font-size: 1rem;
	line-height: 1.8;
	padding-top: var(--space-2);
}
.om-card--light .om-card__body.prose { color: var(--c-text); }
.om-card--dark  .om-card__body.prose { color: rgba(248,245,239,0.75); }
.om-card__body.prose p { margin-bottom: var(--space-4); }
.om-card__body.prose p:last-child { margin-bottom: 0; }
.om-card__body.prose h3 {
	font-family: var(--ff-display);
	font-size: 1rem;
	font-weight: 700;
	margin: var(--space-6) 0 var(--space-2);
}
.om-card--light .om-card__body.prose h3 { color: var(--c-petroleum-dark); }
.om-card--dark  .om-card__body.prose h3 { color: var(--c-cream); }
@media (max-width: 860px) {
	.om-card__inner {
		grid-template-columns: 1fr;
		gap: var(--space-6);
	}
	.om-card__title { position: static; }
}

/* Om KMRE — team */
.om-team {
	background: var(--c-petrol-pale, #E6EFEF);
	padding: var(--space-16) 0;
}
.om-team__heading {
	font-family: var(--ff-display);
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 700;
	color: var(--c-petroleum-dark);
	margin: 0 0 var(--space-10);
}
.om-team__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: var(--space-6);
}
.om-team__card {
	background: var(--c-cream);
	border-radius: var(--radius);
	overflow: hidden;
}
.om-team__photo {
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--c-petroleum-dark);
}
.om-team__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	display: block;
	transition: transform 0.5s var(--ease);
}
.om-team__card:hover .om-team__photo img { transform: scale(1.04); }
.om-team__initials {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ff-display);
	font-size: 3rem;
	font-weight: 700;
	color: rgba(255,255,255,0.25);
}
.om-team__info {
	padding: var(--space-5) var(--space-5) var(--space-6);
}
.om-team__name {
	display: block;
	font-family: var(--ff-display);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--c-petroleum-dark);
	margin-bottom: var(--space-1);
}
.om-team__role {
	display: block;
	font-size: 0.78rem;
	color: var(--c-yellow);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: var(--space-4);
}
.om-team__contacts {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
}
.om-team__contact {
	font-size: 0.8rem;
	color: var(--c-petroleum-dark);
	text-decoration: none;
	opacity: 0.65;
	transition: opacity var(--dur) var(--ease);
}
.om-team__contact:hover { opacity: 1; }

@media (max-width: 768px) {
	.om-values__grid { grid-template-columns: repeat(2, 1fr); }
	.om-values__card:nth-child(3) { border-left: none; }
	.om-team__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
	.om-values__grid { grid-template-columns: 1fr 1fr; }
	.om-team__grid { grid-template-columns: 1fr 1fr; }
}

/* ═══════════════════════════════════════════════
   Ledige stillinger
   ═══════════════════════════════════════════════ */
.jobs-wrap {
	max-width: 760px;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: var(--space-12);
}
.jobs-empty {
	text-align: center;
	padding: var(--space-16) 0 var(--space-8);
}
.jobs-empty__icon {
	color: var(--c-yellow);
	margin-bottom: var(--space-4);
}
.jobs-empty__title {
	font-family: var(--ff-display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--c-petroleum-dark);
	margin: 0 0 var(--space-3);
}
.jobs-empty__text {
	color: var(--c-muted, #6B7D7F);
	max-width: 46ch;
	margin-inline: auto;
}
.jobs-content.prose h2 {
	font-family: var(--ff-display);
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--c-petroleum-dark);
	margin-top: var(--space-10);
	padding-top: var(--space-8);
	border-top: 1px solid var(--c-border, #D8D2C5);
}
.jobs-content.prose h2:first-child { margin-top: 0; border-top: none; padding-top: 0; }
.jobs-cta-box {
	border-radius: var(--radius);
	overflow: hidden;
}
.jobs-cta-box__inner {
	background: var(--c-petroleum-dark);
	padding: var(--space-10) var(--space-10);
}
.jobs-cta-box__title {
	font-family: var(--ff-display);
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--c-cream);
	margin: 0 0 var(--space-3);
}
.jobs-cta-box__text {
	font-size: 0.9rem;
	color: rgba(248,245,239,0.65);
	margin: 0 0 var(--space-6);
	max-width: 50ch;
}
.jobs-cta-box__actions {
	display: flex;
	gap: var(--space-3);
	flex-wrap: wrap;
}

/* ── Job listings ────────────────────────────────────────────────── */
.jobs-list {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	margin-bottom: var(--space-12);
}
.job-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-6);
	background: var(--c-white);
	padding: var(--space-6) var(--space-8);
	border-left: 3px solid var(--c-yellow);
	text-decoration: none;
	transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.job-card:hover {
	background: var(--c-petroleum-tint, #EBF3F4);
	border-color: var(--c-petroleum);
}
.job-card__main { flex: 1; min-width: 0; }
.job-card__badge {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--c-petroleum);
	background: var(--c-petroleum-tint, #EBF3F4);
	padding: 2px 8px;
	border-radius: 2px;
	margin-bottom: var(--space-2);
}
.job-card__title {
	font-family: var(--ff-display);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--c-petroleum-dark);
	margin: 0 0 var(--space-2);
	line-height: 1.2;
}
.job-card__meta {
	display: flex;
	gap: var(--space-5);
	flex-wrap: wrap;
}
.job-card__meta-item {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 0.85rem;
	color: var(--c-text-muted);
}
.job-card__arrow {
	color: var(--c-yellow);
	flex-shrink: 0;
	transition: transform var(--dur) var(--ease);
}
.job-card:hover .job-card__arrow { transform: translateX(4px); }

/* ── Single stilling ─────────────────────────────────────────────── */
.job-hero-meta {
	display: flex;
	gap: var(--space-6);
	flex-wrap: wrap;
	margin-top: var(--space-4);
	color: rgba(248,245,239,0.7);
	font-size: 0.9rem;
}
.job-hero-meta span {
	display: flex;
	align-items: center;
	gap: 6px;
}
.job-layout {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: var(--space-12);
	align-items: start;
}
.job-body.prose {
	font-size: 1rem;
	line-height: 1.75;
}
.job-aside {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	position: sticky;
	top: var(--space-8);
}
.job-aside__box {
	background: var(--c-white);
	padding: var(--space-6);
	border-top: 3px solid var(--c-yellow);
}
.job-aside__heading {
	font-family: var(--ff-display);
	font-size: 1rem;
	font-weight: 700;
	color: var(--c-petroleum-dark);
	margin: 0 0 var(--space-4);
}
.job-aside__contact-name {
	font-size: 0.9rem;
	color: var(--c-text-muted);
	margin: 0 0 var(--space-4);
}
.job-aside__details {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}
.job-aside__details li {
	display: flex;
	justify-content: space-between;
	font-size: 0.875rem;
	padding-bottom: var(--space-3);
	border-bottom: 1px solid var(--c-border);
}
.job-aside__details li:last-child { border-bottom: none; padding-bottom: 0; }
.job-aside__detail-label {
	color: var(--c-text-muted);
}
.job-aside__back {
	font-size: 0.875rem;
	color: var(--c-petroleum);
	text-decoration: none;
}
.job-aside__back:hover { text-decoration: underline; }
@media (max-width: 860px) {
	.job-layout {
		grid-template-columns: 1fr;
	}
	.job-aside { position: static; }
}

/* ── Job contact card (sidebar) ──────────────────────────────────── */
.job-contact-card__label {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--c-petroleum);
	margin: 0 0 var(--space-4);
}
.job-contact-card__person {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	margin-bottom: var(--space-4);
}
.job-contact-card__photo {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	background: var(--c-petroleum-tint, #EBF3F4);
}
.job-contact-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.job-contact-card__initials {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ff-display);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--c-petroleum);
}
.job-contact-card__name {
	display: block;
	font-family: var(--ff-display);
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--c-petroleum-dark);
}
.job-contact-card__role {
	display: block;
	font-size: 0.8rem;
	color: var(--c-text-muted);
	margin-top: 2px;
}
.job-contact-card__links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	border-top: 1px solid var(--c-border);
	padding-top: var(--space-4);
}
.job-contact-card__links a {
	font-size: 0.875rem;
	color: var(--c-petroleum);
	text-decoration: none;
}
.job-contact-card__links a:hover { text-decoration: underline; }

/* ── Job hero watermark ──────────────────────────────────────────── */
.page-hero--job {
	position: relative;
	overflow: hidden;
}
.page-hero__watermark {
	position: absolute;
	right: -5%;
	top: 50%;
	transform: translateY(-50%);
	height: 220%;
	width: auto;
	opacity: 0.03;
	pointer-events: none;
	user-select: none;
	filter: brightness(10);
}
