/*
Theme Name: POSID
Theme URI: https://www.posid.de/
Author: POSID TECHNOLOGIES GmbH
Description: Individuelles WordPress Block Theme für POSID.
Version: 1.0.0
Text Domain: posid
*/


/* =========================================================
   POSID – DESIGN TOKENS
========================================================= */

:root {
	--posid-red: #d71920;
	--posid-dark: #16323a;
	--posid-dark-soft: #29454c;
	--posid-offwhite: #f5f5f2;
	--posid-lightgray: #e7e9e8;
	--posid-gray: #727b7d;
	--posid-white: #ffffff;

	--posid-content: 760px;
	--posid-wide: 1240px;

	--posid-xs: 0.5rem;
	--posid-s: 1rem;
	--posid-m: 1.5rem;
	--posid-l: 2.5rem;
	--posid-xl: 4rem;
	--posid-xxl: 6rem;

	--posid-section-space: clamp(4rem, 6vw, 5.5rem);

	--posid-transition: 180ms ease;
}


/* =========================================================
   DOCUMENT
========================================================= */

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;

	background: var(--posid-white);
	color: var(--posid-dark);

	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

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

img,
svg,
video {
	display: block;

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


/* =========================================================
   ACCESSIBILITY
========================================================= */

:focus-visible {
	outline: 3px solid var(--posid-red);
	outline-offset: 3px;
}


/* =========================================================
   CONTAINERS
========================================================= */

.posid-container {
	width: min(calc(100% - 2rem), var(--posid-wide));
	margin-inline: auto;
}

.posid-container--text {
	width: min(calc(100% - 2rem), var(--posid-content));
	margin-inline: auto;
}


/* =========================================================
   GENERIC SECTIONS
========================================================= */

.posid-section {
	padding-block: var(--posid-section-space);
}

.posid-section--compact {
	padding-block: clamp(3rem, 5vw, 5rem);
}

.posid-section--dark {
	background: var(--posid-dark);
	color: var(--posid-white);
}

.posid-section--offwhite {
	background: var(--posid-offwhite);
}


/* =========================================================
   TYPOGRAPHY HELPERS
========================================================= */

.posid-eyebrow {
	margin: 0 0 1rem;

	color: var(--posid-red);

	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.posid-lead {
	max-width: 720px;

	font-size: clamp(1.1rem, 1.6vw, 1.35rem);
	line-height: 1.55;
}

.posid-text-muted {
	color: var(--posid-gray);
}


/* =========================================================
   BUTTONS
========================================================= */

.wp-block-button__link,
.posid-button {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	gap: 0.5rem;

	min-height: 48px;
	padding: 0.9rem 1.35rem;

	border: 1px solid var(--posid-red);
	border-radius: 0;

	background: var(--posid-red);
	color: var(--posid-white);

	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1;

	text-decoration: none;

	transition:
		background-color var(--posid-transition),
		border-color var(--posid-transition),
		color var(--posid-transition);
}

.wp-block-button__link:hover,
.posid-button:hover {
	background: #b8141a;
	border-color: #b8141a;
	color: var(--posid-white);
}

.posid-button--secondary {
	background: transparent;
	color: var(--posid-dark);
	border-color: var(--posid-dark);
}

.posid-button--secondary:hover {
	background: var(--posid-dark);
	color: var(--posid-white);
}

.posid-section--dark .posid-button--secondary {
	color: var(--posid-white);
	border-color: var(--posid-white);
}

.posid-section--dark .posid-button--secondary:hover {
	background: var(--posid-white);
	color: var(--posid-dark);
}


/* =========================================================
   GENERIC GRIDS
========================================================= */

.posid-grid {
	display: grid;
	gap: var(--posid-l);
}

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

.posid-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.posid-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}


/* =========================================================
   GENERIC STACK
========================================================= */

.posid-stack {
	display: flex;
	flex-direction: column;

	gap: var(--posid-m);
}


/* =========================================================
   GENERIC CARDS
========================================================= */

.posid-card {
	height: 100%;

	padding: var(--posid-l);

	border: 1px solid var(--posid-lightgray);

	background: var(--posid-white);
}

.posid-card--dark {
	border-color: rgba(255, 255, 255, 0.14);

	background: var(--posid-dark-soft);
	color: var(--posid-white);
}


/* =========================================================
   LINKS
========================================================= */

a {
	text-underline-offset: 0.15em;
}

.posid-link-arrow::after {
	content: " →";
}


/* =========================================================
   HEADER
========================================================= */

.posid-header {
	position: sticky;
	top: 0;

	z-index: 100;

	width: 100%;

	background: rgba(255, 255, 255, 0.97);

	border-bottom: 1px solid var(--posid-lightgray);
}

.posid-header__inner {
	min-height: 84px;

	padding-inline: 1.5rem;

	gap: 2rem;

	align-items: center;
}

.posid-header .wp-block-site-logo {
	display: flex;

	align-items: center;

	flex: 0 0 auto;

	margin: 0;
}

.posid-header .custom-logo {
	display: block;

	width: auto;
	max-width: 170px;
	max-height: 52px;
	height: auto;

	object-fit: contain;
}

.posid-nav {
	margin-left: auto;
}

.posid-nav .wp-block-navigation__container {
	align-items: center;

	gap: 1.6rem;
}

.posid-nav .wp-block-navigation-item__content {
	color: var(--posid-dark);

	font-size: 0.8rem;
	font-weight: 600;

	letter-spacing: 0.03em;

	text-decoration: none;

	transition: color var(--posid-transition);
}

.posid-nav .wp-block-navigation-item__content:hover,
.posid-nav .wp-block-navigation-item__content:focus-visible {
	color: var(--posid-red);
}

.posid-header__cta {
	flex: 0 0 auto;

	margin-left: 0.5rem;
}

.posid-header__cta .wp-block-button__link {
	min-height: 52px;

	padding-inline: 1.5rem;

	white-space: nowrap;
}


/* =========================================================
   FOOTER
========================================================= */

.posid-footer {
	margin-top: var(--posid-section-space);

	padding: clamp(3rem, 6vw, 5rem) 1.5rem 1.5rem;

	background: var(--posid-dark);
	color: var(--posid-white);
}

.posid-footer__inner {
	gap: 2.5rem;
}

.posid-footer__brand {
	max-width: 320px;
}

.posid-footer .wp-block-site-logo {
	display: flex;

	align-items: center;

	margin: 0;
}

.posid-footer .custom-logo {
	display: block;

	width: auto;
	max-width: 150px;
	height: auto;

	filter: brightness(0) invert(1);
}

.posid-footer h3 {
	margin: 0 0 1rem;

	color: var(--posid-white);

	font-size: 0.8rem;
	font-weight: 700;

	line-height: 1.2;

	letter-spacing: 0.08em;

	text-transform: uppercase;
}

.posid-footer p,
.posid-footer li,
.posid-footer a {
	font-size: 0.9rem;
	line-height: 1.6;
}

.posid-footer p {
	color: rgba(255, 255, 255, 0.78);
}

.posid-footer a {
	color: var(--posid-white);

	text-decoration: none;
}

.posid-footer a:hover,
.posid-footer a:focus-visible {
	color: var(--posid-red);
}

.posid-footer__links {
	margin: 0;
	padding: 0;

	list-style: none;
}

.posid-footer__links li {
	margin: 0;
	padding: 0;

	list-style: none;
}

.posid-footer__links li + li {
	margin-top: 0.5rem;
}

.posid-footer__bottom {
	margin-top: 3rem;

	padding-top: 1.5rem;

	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.posid-footer__bottom p {
	margin: 0;

	color: rgba(255, 255, 255, 0.68);
}

.posid-footer__bottom a {
	color: var(--posid-white);

	font-weight: 600;
}


/* =========================================================
   PATTERN – SECTION INTRO
========================================================= */

.posid-section-intro {
	max-width: 900px;

	margin-inline: auto;

	text-align: left;
}

.posid-section-intro h2 {
	margin-top: 0;
	margin-bottom: 1.25rem;
}


/* =========================================================
   PATTERN – KEY STATEMENT
========================================================= */

.posid-key-statement {
	max-width: 980px;

	margin-inline: auto;

	padding-block: clamp(3rem, 6vw, 6rem);

	text-align: center;
}

.posid-key-statement h2 {
	margin: 0;

	font-size: clamp(2.5rem, 5vw, 4.75rem);
	line-height: 1.05;
}

.posid-key-statement .posid-eyebrow {
	margin-bottom: 1.25rem;
}


/* =========================================================
   POSID – MAIN CONTENT PATTERN SYSTEM
========================================================= */

/*
 * Alle großen POSID-Patterns nutzen exakt dieselbe Außenbreite.
 * Sie brechen bewusst aus dem schmalen 760px-Textcontainer aus.
 */

.posid-process,
.posid-service-grid,
.posid-solution-grid,
.posid-cta {
	position: relative;

	left: 50%;

	transform: translateX(-50%);

	width: min(var(--posid-wide), calc(100vw - 4rem));
	max-width: none !important;
}

/* =========================================================
   GLOBAL PATTERN SPACING
========================================================= */

.posid-process,
.posid-service-grid,
.posid-solution-grid {
	padding-block: 0;
	margin-block: clamp(4.5rem, 6vw, 6rem);
}

.posid-cta {
	margin-block: clamp(4.5rem, 6vw, 6rem);
}

/* =========================================================
   GLOBAL PATTERN HEADINGS
========================================================= */

.posid-process > .posid-eyebrow,
.posid-service-grid > .posid-eyebrow,
.posid-solution-grid > .posid-eyebrow {
	margin: 0 0 1.25rem;

	color: var(--posid-red);
}

.posid-process > h2,
.posid-service-grid > h2,
.posid-solution-grid > h2 {
	width: 100%;
	max-width: 100%;

	margin: 0 0 3.5rem;

	color: var(--posid-dark);

	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1.08;
	letter-spacing: -0.02em;
}
.posid-process > .posid-eyebrow,
.posid-service-grid > .posid-eyebrow,
.posid-solution-grid > .posid-eyebrow,
.posid-process > h2,
.posid-service-grid > h2,
.posid-solution-grid > h2 {
	text-align: left;
}

/* =========================================================
   PATTERN – 4 STEP PROCESS
========================================================= */

.posid-process .posid-grid--4 {
	display: grid;

	grid-template-columns: repeat(4, minmax(0, 1fr));

	gap: clamp(2rem, 3vw, 3rem);

	width: 100%;

	margin: 0;
}

.posid-process__item {
	padding-top: 1.5rem;

	border-top: 1px solid var(--posid-lightgray);
}

.posid-process__number {
	margin: 0 0 1.25rem;

	color: var(--posid-red);

	font-size: 0.8rem;
	font-weight: 700;

	line-height: 1;

	letter-spacing: 0.08em;
}

.posid-process__item h3 {
	margin: 0 0 1rem;

	color: var(--posid-dark);

	font-size: 1.25rem;

	line-height: 1.2;
}

.posid-process__item p:last-child {
	max-width: 250px;

	margin: 0;

	color: var(--posid-gray);

	line-height: 1.55;
}


/* =========================================================
   PATTERN – SERVICE GRID
========================================================= */

.posid-service-grid .posid-grid--4 {
	display: grid;

	grid-template-columns: repeat(4, minmax(0, 1fr));

	gap: 1.75rem;

	width: 100%;

	margin: 0;
}

.posid-service-grid .posid-card {
	display: flex;
	flex-direction: column;

	min-width: 0;
	min-height: 390px;

	padding: 2rem;

	border: 1px solid var(--posid-lightgray);

	background: var(--posid-white);
}

.posid-service-grid .posid-card .posid-process__number {
	margin: 0 0 1.25rem;

	color: var(--posid-red);
}

.posid-service-grid .posid-card h3 {
	margin: 0 0 1.25rem;

	color: var(--posid-dark);

	font-size: 1.25rem;

	line-height: 1.2;
}

.posid-service-grid .posid-card > p:not(.posid-process__number):not(:last-child) {
	margin: 0;

	color: var(--posid-dark);

	line-height: 1.55;
}

.posid-service-grid .posid-card p:last-child {
	margin-top: auto;
	margin-bottom: 0;

	padding-top: 2rem;
}


/* =========================================================
   PATTERN – SOLUTION GRID
========================================================= */

.posid-solution-grid .posid-grid--2 {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 2.5rem;

	width: 100%;

	margin: 0;
}

.posid-solution-grid .posid-card {
	display: flex;
	flex-direction: column;

	min-width: 0;
	min-height: 300px;

	padding: 2.5rem;

	border: 1px solid var(--posid-lightgray);

	background: var(--posid-white);
}

.posid-solution-grid .posid-card h3 {
	margin: 0 0 1.5rem;

	color: var(--posid-dark);
}

.posid-solution-grid .posid-card > p:not(:last-child) {
	max-width: 34rem;

	margin: 0;

	line-height: 1.55;
}

.posid-solution-grid .posid-card p:last-child {
	margin-top: auto;
	margin-bottom: 0;

	padding-top: 2rem;
}

.posid-solution-grid .posid-card--featured {
	border-color: var(--posid-red);

	background: var(--posid-offwhite);
}


/* =========================================================
   CARD LINKS
========================================================= */

.posid-service-grid a,
.posid-solution-grid a {
	color: var(--posid-red);

	text-decoration: underline;

	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.posid-service-grid a:hover,
.posid-service-grid a:focus-visible,
.posid-solution-grid a:hover,
.posid-solution-grid a:focus-visible {
	color: var(--posid-dark);
}


/* =========================================================
   PATTERN – CTA
========================================================= */

.posid-cta {
	padding: clamp(3.5rem, 5vw, 5rem);

	background: var(--posid-dark);
	color: var(--posid-white);
}

.posid-cta__inner {
	display: flex;

	align-items: center;
	justify-content: space-between;

	width: 100%;

	gap: 3rem;
}

.posid-cta__inner > .wp-block-group {
	max-width: 700px;
}

.posid-cta .posid-eyebrow {
	margin: 0 0 1rem;

	color: var(--posid-red);
}

.posid-cta h2 {
	margin: 0 0 1rem;

	color: var(--posid-white);
}

.posid-cta p {
	max-width: 680px;

	margin: 0;

	color: rgba(255, 255, 255, 0.78);

	line-height: 1.55;
}

.posid-cta .wp-block-buttons {
	flex: 0 0 auto;

	margin: 0;
}

.posid-cta .wp-block-button__link {
	min-width: 190px;

	background: var(--posid-red);
	border-color: var(--posid-red);

	color: var(--posid-white);
}

.posid-cta .wp-block-button__link:hover,
.posid-cta .wp-block-button__link:focus-visible {
	background: var(--posid-white);
	border-color: var(--posid-white);

	color: var(--posid-dark);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

	.posid-process,
	.posid-service-grid,
	.posid-solution-grid,
	.posid-cta {
		width: min(900px, calc(100vw - 3rem));
	}

	.posid-process .posid-grid--4,
	.posid-service-grid .posid-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));

		gap: 1.5rem;
	}

	.posid-service-grid .posid-card {
		min-height: 320px;
	}

	.posid-solution-grid .posid-grid--2 {
		gap: 1.5rem;
	}

	.posid-solution-grid .posid-card {
		min-height: 260px;

		padding: 2rem;
	}

	.posid-cta__inner {
		align-items: flex-start;
	}

	.posid-header__inner {
		min-height: 72px;

		padding-inline: 1rem;

		gap: 1rem;
	}

	.posid-header .custom-logo {
		max-width: 150px;
		max-height: 46px;
	}

	.posid-header__cta {
		display: none;
	}

	.posid-nav {
		margin-left: auto;
	}
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.posid-container,
	.posid-container--text {
		width: min(calc(100% - 1.5rem), var(--posid-wide));
	}

	.posid-grid--2,
	.posid-grid--3,
	.posid-grid--4 {
		grid-template-columns: 1fr;
	}

	.posid-process,
	.posid-service-grid,
	.posid-solution-grid,
	.posid-cta {
		width: calc(100vw - 2rem);
	}

	.posid-process,
	.posid-service-grid,
	.posid-solution-grid {
		padding-block: 4rem;
	}

	.posid-process > h2,
	.posid-service-grid > h2,
	.posid-solution-grid > h2 {
		margin-bottom: 2.5rem;
	}

	.posid-process .posid-grid--4,
	.posid-service-grid .posid-grid--4,
	.posid-solution-grid .posid-grid--2 {
		grid-template-columns: 1fr;

		gap: 1rem;
	}

	.posid-process__item {
		padding-bottom: 1.5rem;
	}

	.posid-service-grid .posid-card,
	.posid-solution-grid .posid-card {
		min-height: auto;

		padding: 1.5rem;
	}

	.posid-cta {
		margin-block: 4rem;

		padding: 2rem 1.5rem;
	}

	.posid-cta__inner {
		flex-direction: column;

		align-items: stretch;

		gap: 2rem;
	}

	.posid-cta .wp-block-buttons,
	.posid-cta .wp-block-button,
	.posid-cta .wp-block-button__link {
		width: 100%;
	}

	.wp-block-buttons {
		flex-direction: column;

		align-items: stretch;
	}

	.wp-block-button,
	.wp-block-button__link,
	.posid-button {
		width: 100%;
	}

	.posid-header__inner {
		min-height: 68px;

		padding-inline: 0.75rem;
	}

	.posid-header .custom-logo {
		max-width: 135px;
		max-height: 42px;
	}

	.posid-footer {
		padding: 3rem 1rem 1.25rem;
	}

	.posid-footer__bottom {
		gap: 1rem;

		align-items: flex-start;
	}
}

.posid-process > .posid-eyebrow,
.posid-service-grid > .posid-eyebrow,
.posid-solution-grid > .posid-eyebrow,
.posid-process > h2,
.posid-service-grid > h2,
.posid-solution-grid > h2 {
	margin-left: 0;
	margin-right: 0;
}

.posid-process > .posid-eyebrow,
.posid-service-grid > .posid-eyebrow,
.posid-solution-grid > .posid-eyebrow {
	width: 100%;
	max-width: none;
}
/* =========================================================
   HOMEPAGE HERO
========================================================= */

.posid-home-hero {
	position: relative;
	left: 50%;
	transform: translateX(-50%);

	width: min(1400px, calc(100vw - 3rem));
	max-width: none !important;

	padding-block: clamp(4.5rem, 7vw, 7rem);
}

.posid-home-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	gap: clamp(3rem, 5vw, 6rem);

	align-items: center;

	width: 100%;
}

.posid-home-hero__content {
	max-width: 640px;
}

.posid-home-hero .posid-eyebrow {
	margin: 0 0 1.5rem;
	color: var(--posid-red);
}

.posid-home-hero__title {
	margin: 0 0 1.75rem;

	color: var(--posid-dark);

	font-size: clamp(3rem, 5.2vw, 5.25rem);
	line-height: 0.98;
	letter-spacing: -0.035em;
}

.posid-home-hero__lead {
	max-width: 620px;
	margin: 0 0 2rem;

	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	line-height: 1.6;
}

.posid-home-hero__systems {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 0.7rem 2rem;

	margin-bottom: 2.25rem;
}

.posid-home-hero__systems p {
	position: relative;

	margin: 0;
	padding-left: 1.1rem;

	font-size: 0.95rem;
	line-height: 1.4;
}

.posid-home-hero__systems p::before {
	content: "";

	position: absolute;
	left: 0;
	top: 0.58em;

	width: 5px;
	height: 5px;

	border-radius: 50%;
	background: var(--posid-red);
}

.posid-home-hero__buttons {
	display: flex;
	gap: 1rem;
	align-items: center;
}

.posid-home-hero__buttons .is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--posid-dark);
	border-color: var(--posid-dark);
}

.posid-home-hero__buttons .is-style-outline .wp-block-button__link:hover,
.posid-home-hero__buttons .is-style-outline .wp-block-button__link:focus-visible {
	background: var(--posid-dark);
	color: var(--posid-white);
}

.posid-home-hero__visual {
	position: relative;

	min-height: 560px;

	padding: 0;

	border: 0;

	background: transparent;
}

.posid-home-hero__visual-label {
	margin: 0 0 1rem;

	color: var(--posid-red);

	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.posid-home-hero__visual > p:last-child {
	max-width: 420px;
	margin: 0;

	color: var(--posid-gray);
	line-height: 1.55;
}


/* Tablet */

@media (max-width: 1100px) {

	.posid-home-hero {
		width: min(900px, calc(100vw - 3rem));
	}

	.posid-home-hero__inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}

	.posid-home-hero__content {
		max-width: 760px;
	}

	.posid-home-hero__visual {
		min-height: 420px;
	}
}


/* Mobile */

@media (max-width: 767px) {

	.posid-home-hero {
		width: calc(100vw - 2rem);
		padding-block: 3rem;
	}

	.posid-home-hero__title {
		font-size: clamp(2.5rem, 12vw, 4rem);
	}

	.posid-home-hero__systems {
		grid-template-columns: 1fr;
		gap: 0.75rem;
	}

	.posid-home-hero__buttons {
		flex-direction: column;
		align-items: stretch;
	}

	.posid-home-hero__buttons .wp-block-button,
	.posid-home-hero__buttons .wp-block-button__link {
		width: 100%;
	}

	.posid-home-hero__visual {
		min-height: 320px;
		padding: 1.5rem;
	}
}
/* =========================================================
   HERO – ENERGY ARCHITECTURE
========================================================= */

.posid-energy-map {
	width: 100%;
	height: 100%;
	min-height: 500px;

	display: flex;
	align-items: center;
	justify-content: center;
}

.posid-energy-map svg {
	width: 100%;
	height: auto;

	overflow: visible;
}


/* Hintergrundraster */

.energy-grid {
	opacity: 0.22;
}

.energy-grid path {
	fill: none;

	stroke: #bfc7c8;
	stroke-width: 1;
	stroke-dasharray: 3 8;
}


/* Energieflüsse */

.energy-flows .flow {
	fill: none;

	stroke-width: 4;
	stroke-linecap: round;
	stroke-dasharray: 9 10;
}

.flow-red {
	stroke: #d71920;
}

.flow-blue {
	stroke: #2d6599;
}

.flow-green {
	stroke: #4f846c;
}

.flow-yellow {
	stroke: #d9a62e;
}

.flow-digital {
	stroke: #788488;

	stroke-width: 2.5;
	stroke-dasharray: 4 7;
}


/* Technische Nodes */

.energy-node rect,
.energy-node polygon,
.energy-node polyline,
.energy-node line,
.energy-node path,
.energy-node circle {
	fill: #ffffff;

	stroke: #16323a;
	stroke-width: 2;
}

.energy-node text {
	fill: #16323a;

	font-size: 15px;
	font-weight: 700;

	text-anchor: middle;

	letter-spacing: 0.05em;
}

.energy-node text.sub {
	fill: #727b7d;

	font-size: 9px;
	font-weight: 600;
}


/* Batteriespeicher */

.energy-node .battery-fill {
	fill: #4f846c;
	stroke: none;
}


/* acharge Steuerung */

.energy-control rect {
	fill: #16323a;

	stroke: #16323a;
	stroke-width: 2;
}

.energy-control text {
	fill: #ffffff;

	font-size: 13px;
	font-weight: 700;

	letter-spacing: 0.07em;
}

.energy-control text.acharge {
	fill: #d71920;

	font-size: 12px;
}


/* Animation */

@media (prefers-reduced-motion: no-preference) {

	.energy-flows .flow {
		animation: posidEnergyFlow 4.5s linear infinite;
	}

	.flow-blue {
		animation-delay: -1s;
	}

	.flow-green {
		animation-delay: -2s;
	}

	.flow-yellow {
		animation-delay: -3s;
	}

	.flow-digital {
		animation-duration: 7s;
	}
}

@keyframes posidEnergyFlow {
	to {
		stroke-dashoffset: -38;
	}
}


/* Tablet */

@media (max-width: 1100px) {

	.posid-energy-map {
		min-height: 390px;
	}
}


/* Mobile */

@media (max-width: 767px) {

	.posid-energy-map {
		min-height: 300px;
	}

	.energy-node text {
		font-size: 13px;
	}
}
.posid-energy-architecture-img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
}
/* =========================================================
   HOMEPAGE HERO – WORDPRESS COLUMNS FIX
   ========================================================= */

.posid-home-hero {
	width: min(1400px, calc(100vw - 3rem)) !important;
	max-width: none !important;
}

.posid-home-hero__inner.wp-block-columns {
	display: grid !important;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr) !important;
	gap: clamp(3rem, 5vw, 6rem) !important;
	align-items: center !important;
	width: 100% !important;
	max-width: none !important;
}

.posid-home-hero__inner > .wp-block-column {
	width: auto !important;
	min-width: 0 !important;
	flex-basis: auto !important;
	flex-grow: 0 !important;
}

.posid-home-hero__content {
	width: 100% !important;
	max-width: 640px !important;
}

.posid-home-hero__title {
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
}

.posid-home-hero__visual {
	width: 100% !important;
	min-width: 0 !important;
}

.posid-home-hero__visual img,
.posid-energy-architecture-img {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-width: none !important;
}
/* =========================================================
   HOMEPAGE – CHALLENGE
   ========================================================= */

.posid-home-challenge {
	width: min(var(--posid-wide), calc(100vw - 3rem));
	margin-inline: auto;
	padding-block: clamp(4.5rem, 6vw, 6rem);
}

.posid-home-challenge > .posid-eyebrow {
	margin: 0 0 1.25rem;
	color: var(--posid-red);
}

.posid-home-challenge__title {
	max-width: 900px;
	margin: 0 0 1.75rem;
	color: var(--posid-dark);
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.posid-home-challenge__text {
	max-width: 820px;
	margin: 0;
	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	line-height: 1.7;
	color: var(--posid-dark-soft);
}
/* =========================================================
   HOMEPAGE – PRINCIPLE / 4-STEP
   ========================================================= */

.posid-home-principle {
	width: min(var(--posid-wide), calc(100vw - 3rem));
	margin-inline: auto;
	padding-block: clamp(4.5rem, 6vw, 6rem);
}

.posid-home-principle > .posid-eyebrow {
	margin: 0 0 1.25rem;
	color: var(--posid-red);
}

.posid-home-principle__title {
	max-width: 980px;
	margin: 0 0 3.5rem;
	color: var(--posid-dark);
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.posid-home-principle__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
}

.posid-home-principle__step {
	padding: 1.75rem 1.5rem;
	border-top: 3px solid var(--posid-red);
	background: var(--posid-offwhite);
}

.posid-home-principle__step > p:first-child {
	margin: 0 0 1.25rem;
	color: var(--posid-red);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.posid-home-principle__step h3 {
	margin: 0 0 1rem;
	color: var(--posid-dark);
	font-size: 1.3rem;
	line-height: 1.2;
}

.posid-home-principle__step > p:last-child {
	margin: 0;
	color: var(--posid-dark-soft);
	font-size: 0.98rem;
	line-height: 1.6;
}

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

@media (max-width: 600px) {
	.posid-home-principle__steps {
		grid-template-columns: 1fr;
	}
}
/* =========================================================
   FIX – HOMEPAGE 4-STEP GRID
   ========================================================= */

.posid-home-principle__steps {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 1.5rem !important;
	width: 100% !important;
	max-width: none !important;
}

.posid-home-principle__steps > .posid-home-principle__step {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 1.75rem 1.5rem !important;
	border-top: 3px solid var(--posid-red) !important;
	background: var(--posid-offwhite) !important;
}

.posid-home-principle__step > * {
	width: auto !important;
	max-width: none !important;
}

.posid-home-principle__step > p:first-child {
	margin: 0 0 1.25rem !important;
	color: var(--posid-red) !important;
	font-weight: 700;
}

.posid-home-principle__step h3 {
	margin: 0 0 1rem !important;
}

.posid-home-principle__step > p:last-child {
	margin: 0 !important;
}

@media (max-width: 900px) {
	.posid-home-principle__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 600px) {
	.posid-home-principle__steps {
		grid-template-columns: 1fr !important;
	}
}

/* =========================================================
   HOMEPAGE – TARGET GROUPS
   ========================================================= */

.posid-home-targets {
	width: min(var(--posid-wide), calc(100vw - 3rem));
	margin-inline: auto;
	padding-block: clamp(4.5rem, 6vw, 6rem);
}

.posid-home-targets > .posid-eyebrow {
	margin: 0 0 1.25rem;
	color: var(--posid-red);
}

.posid-home-targets__title {
	max-width: 950px;
	margin: 0 0 3rem;
	color: var(--posid-dark);
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.posid-home-targets__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
}

.posid-home-targets__card {
	padding: 2rem;
	background: var(--posid-offwhite);
	border-top: 3px solid var(--posid-red);
}

.posid-home-targets__card h3 {
	margin: 0 0 1rem;
	color: var(--posid-dark);
	font-size: 1.45rem;
	line-height: 1.2;
}

.posid-home-targets__card p {
	margin: 0 0 1.5rem;
	color: var(--posid-dark-soft);
	line-height: 1.65;
}

.posid-home-targets__card a {
	color: var(--posid-red);
	font-weight: 700;
	text-decoration: none;
}

.posid-home-targets__card a:hover {
	text-decoration: underline;
}

@media (max-width: 750px) {
	.posid-home-targets__grid {
		grid-template-columns: 1fr;
	}
}
/* =========================================================
   HOMEPAGE – SERVICES + CASES
   ========================================================= */

.posid-home-services,
.posid-home-cases {
	width: min(var(--posid-wide), calc(100vw - 3rem));
	margin-inline: auto;
	padding-block: clamp(4.5rem, 6vw, 6rem);
}

.posid-home-services > .posid-eyebrow,
.posid-home-cases > .posid-eyebrow {
	margin: 0 0 1.25rem;
	color: var(--posid-red);
}

.posid-home-services__title,
.posid-home-cases__title {
	max-width: 950px;
	margin: 0 0 3rem;
	color: var(--posid-dark);
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.posid-home-services__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}

.posid-home-services__card {
	padding: 1.75rem;
	background: var(--posid-offwhite);
	border-top: 3px solid var(--posid-red);
}

.posid-home-services__card h3 {
	margin: 0 0 1rem;
	color: var(--posid-dark);
	font-size: 1.3rem;
	line-height: 1.2;
}

.posid-home-services__card p {
	margin: 0 0 1.5rem;
	color: var(--posid-dark-soft);
	line-height: 1.6;
}

.posid-home-services__card a,
.posid-home-cases__link {
	color: var(--posid-red);
	font-weight: 700;
	text-decoration: none;
}

.posid-home-services__card a:hover,
.posid-home-cases__link:hover {
	text-decoration: underline;
}

.posid-home-cases__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
	margin-bottom: 2rem;
}

.posid-home-cases__item {
	padding: 1.75rem;
	background: var(--posid-dark);
	color: var(--posid-white);
}

.posid-home-cases__item span {
	display: block;
	margin-bottom: 0.75rem;
	color: var(--posid-red);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.posid-home-cases__item h3 {
	margin: 0;
	color: var(--posid-white);
	font-size: 1.45rem;
}

@media (max-width: 950px) {
	.posid-home-services__grid,
	.posid-home-cases__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 650px) {
	.posid-home-services__grid,
	.posid-home-cases__grid {
		grid-template-columns: 1fr;
	}
}
/* =========================================================
   FIX – HOMEPAGE SERVICES
   ========================================================= */

.posid-home-services__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 1.5rem !important;
}

.posid-home-services__card {
	min-width: 0 !important;
}

.posid-home-services__card h3,
.posid-home-services__card p,
.posid-home-services__card a {
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
}

@media (max-width: 700px) {
	.posid-home-services__grid {
		grid-template-columns: 1fr !important;
	}
}
/* =========================================================
   FIX – HOMEPAGE PRINCIPLE CARDS
   ========================================================= */

.posid-home-principle__steps {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 1.5rem !important;
}

.posid-home-principle__step {
	min-width: 0 !important;
}

.posid-home-principle__step h3,
.posid-home-principle__step p {
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
}

@media (max-width: 700px) {
	.posid-home-principle__steps {
		grid-template-columns: 1fr !important;
	}
}
/* =========================================================
   HOMEPAGE – ACHARGE / INDEPENDENT / KNOWLEDGE / COMPANY / CTA
   ========================================================= */

.posid-home-acharge,
.posid-home-independent,
.posid-home-knowledge,
.posid-home-company,
.posid-home-final-cta {
	width: min(var(--posid-wide), calc(100vw - 3rem));
	margin-inline: auto;
	padding-block: clamp(4.5rem, 6vw, 6rem);
}


/* ACHARGE */

.posid-home-acharge {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(3rem, 6vw, 6rem);
	align-items: center;
}

.posid-home-acharge__content h2,
.posid-home-independent h2,
.posid-home-knowledge h2,
.posid-home-company h2,
.posid-home-final-cta h2 {
	margin: 0 0 1.5rem;
	color: var(--posid-dark);
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.posid-home-acharge__content > p:not(.posid-eyebrow),
.posid-home-independent > p:not(.posid-eyebrow),
.posid-home-knowledge__intro > p:not(.posid-eyebrow),
.posid-home-company p {
	color: var(--posid-dark-soft);
	font-size: 1.05rem;
	line-height: 1.7;
}

.posid-home-button {
	display: inline-block;
	margin-top: 1.5rem;
	padding: 0.95rem 1.25rem;
	background: var(--posid-red);
	color: var(--posid-white);
	font-weight: 700;
	text-decoration: none;
}

.posid-home-acharge__visual {
	min-height: 320px;
	padding: 2.5rem;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background: var(--posid-dark);
	color: var(--posid-white);
}

.posid-home-acharge__visual span {
	margin-bottom: 1rem;
	color: var(--posid-red);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.posid-home-acharge__visual strong {
	max-width: 420px;
	font-size: clamp(1.5rem, 2.3vw, 2.3rem);
	line-height: 1.15;
}


/* HERSTELLERUNABHÄNGIG */

.posid-home-independent {
	border-top: 1px solid var(--posid-lightgray);
	border-bottom: 1px solid var(--posid-lightgray);
}

.posid-home-independent h2 {
	max-width: 950px;
}

.posid-home-independent > p:not(.posid-eyebrow) {
	max-width: 820px;
}


/* WISSEN */

.posid-home-knowledge {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(3rem, 6vw, 6rem);
	align-items: start;
}

.posid-home-knowledge__intro a,
.posid-home-company a {
	color: var(--posid-red);
	font-weight: 700;
	text-decoration: none;
}

.posid-home-knowledge__topics {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.posid-home-knowledge__topics div {
	padding: 1.5rem;
	background: var(--posid-offwhite);
	border-top: 3px solid var(--posid-red);
}

.posid-home-knowledge__topics span {
	display: block;
	margin-bottom: 1rem;
	color: var(--posid-red);
	font-size: 0.8rem;
	font-weight: 700;
}

.posid-home-knowledge__topics strong {
	color: var(--posid-dark);
	font-size: 1.1rem;
}


/* UNTERNEHMEN */

.posid-home-company__grid {
	display: grid;
	grid-template-columns: 1fr 0.8fr;
	gap: clamp(3rem, 6vw, 6rem);
	align-items: start;
}


/* FINAL CTA */

.posid-home-final-cta {
	padding-inline: clamp(2rem, 5vw, 4rem);
	background: var(--posid-dark);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 3rem;
}

.posid-home-final-cta h2 {
	max-width: 780px;
	color: var(--posid-white);
}

.posid-home-final-cta p:not(.posid-eyebrow) {
	max-width: 700px;
	margin-bottom: 0;
	color: rgba(255,255,255,0.82);
	font-size: 1.05rem;
	line-height: 1.7;
}

.posid-home-final-cta__button {
	flex: 0 0 auto;
	display: inline-block;
	padding: 1rem 1.4rem;
	background: var(--posid-red);
	color: var(--posid-white);
	font-weight: 700;
	text-decoration: none;
}


/* RESPONSIVE */

@media (max-width: 850px) {

	.posid-home-acharge,
	.posid-home-knowledge,
	.posid-home-company__grid {
		grid-template-columns: 1fr;
	}

	.posid-home-final-cta {
		display: block;
	}

	.posid-home-final-cta__button {
		margin-top: 2rem;
	}
}

@media (max-width: 600px) {

	.posid-home-knowledge__topics {
		grid-template-columns: 1fr;
	}

	.posid-home-final-cta {
		padding-inline: 1.5rem;
	}
}
/* =========================================================
   HOMEPAGE – ACHARGE / INDEPENDENT / KNOWLEDGE / COMPANY / CTA
   ========================================================= */

.posid-home-acharge,
.posid-home-independent,
.posid-home-knowledge,
.posid-home-company,
.posid-home-final-cta {
	width: min(var(--posid-wide), calc(100vw - 3rem));
	margin-inline: auto;
	padding-block: clamp(4.5rem, 6vw, 6rem);
}


/* ACHARGE */

.posid-home-acharge {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(3rem, 6vw, 6rem);
	align-items: center;
}

.posid-home-acharge__content h2,
.posid-home-independent h2,
.posid-home-knowledge h2,
.posid-home-company h2,
.posid-home-final-cta h2 {
	margin: 0 0 1.5rem;
	color: var(--posid-dark);
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.posid-home-acharge__content > p:not(.posid-eyebrow),
.posid-home-independent > p:not(.posid-eyebrow),
.posid-home-knowledge__intro > p:not(.posid-eyebrow),
.posid-home-company p {
	color: var(--posid-dark-soft);
	font-size: 1.05rem;
	line-height: 1.7;
}

.posid-home-button {
	display: inline-block;
	margin-top: 1.5rem;
	padding: 0.95rem 1.25rem;
	background: var(--posid-red);
	color: var(--posid-white);
	font-weight: 700;
	text-decoration: none;
}

.posid-home-acharge__visual {
	min-height: 320px;
	padding: 2.5rem;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background: var(--posid-dark);
	color: var(--posid-white);
}

.posid-home-acharge__visual span {
	margin-bottom: 1rem;
	color: var(--posid-red);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.posid-home-acharge__visual strong {
	max-width: 420px;
	font-size: clamp(1.5rem, 2.3vw, 2.3rem);
	line-height: 1.15;
}


/* HERSTELLERUNABHÄNGIG */

.posid-home-independent {
	border-top: 1px solid var(--posid-lightgray);
	border-bottom: 1px solid var(--posid-lightgray);
}

.posid-home-independent h2 {
	max-width: 950px;
}

.posid-home-independent > p:not(.posid-eyebrow) {
	max-width: 820px;
}


/* WISSEN */

.posid-home-knowledge {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(3rem, 6vw, 6rem);
	align-items: start;
}

.posid-home-knowledge__intro a,
.posid-home-company a {
	color: var(--posid-red);
	font-weight: 700;
	text-decoration: none;
}

.posid-home-knowledge__topics {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.posid-home-knowledge__topics div {
	padding: 1.5rem;
	background: var(--posid-offwhite);
	border-top: 3px solid var(--posid-red);
}

.posid-home-knowledge__topics span {
	display: block;
	margin-bottom: 1rem;
	color: var(--posid-red);
	font-size: 0.8rem;
	font-weight: 700;
}

.posid-home-knowledge__topics strong {
	color: var(--posid-dark);
	font-size: 1.1rem;
}


/* UNTERNEHMEN */

.posid-home-company__grid {
	display: grid;
	grid-template-columns: 1fr 0.8fr;
	gap: clamp(3rem, 6vw, 6rem);
	align-items: start;
}


/* FINAL CTA */

.posid-home-final-cta {
	padding-inline: clamp(2rem, 5vw, 4rem);
	background: var(--posid-dark);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 3rem;
}

.posid-home-final-cta h2 {
	max-width: 780px;
	color: var(--posid-white);
}

.posid-home-final-cta p:not(.posid-eyebrow) {
	max-width: 700px;
	margin-bottom: 0;
	color: rgba(255,255,255,0.82);
	font-size: 1.05rem;
	line-height: 1.7;
}

.posid-home-final-cta__button {
	flex: 0 0 auto;
	display: inline-block;
	padding: 1rem 1.4rem;
	background: var(--posid-red);
	color: var(--posid-white);
	font-weight: 700;
	text-decoration: none;
}


/* RESPONSIVE */

@media (max-width: 850px) {
	.posid-home-acharge,
	.posid-home-knowledge,
	.posid-home-company__grid {
		grid-template-columns: 1fr;
	}

	.posid-home-final-cta {
		display: block;
	}

	.posid-home-final-cta__button {
		margin-top: 2rem;
	}
}

@media (max-width: 600px) {
	.posid-home-knowledge__topics {
		grid-template-columns: 1fr;
	}

	.posid-home-final-cta {
		padding-inline: 1.5rem;
	}
}
/* =========================================================
   HOMEPAGE – SECTION SPACING
   ========================================================= */

.posid-home-challenge,
.posid-home-principle,
.posid-home-targets,
.posid-home-services,
.posid-home-cases,
.posid-home-acharge,
.posid-home-independent,
.posid-home-knowledge,
.posid-home-company {
	margin-top: clamp(5rem, 8vw, 8rem);
	margin-bottom: clamp(5rem, 8vw, 8rem);
}

/* verhindert doppelte Abstände durch vorhandenes padding */
.posid-home-challenge,
.posid-home-principle,
.posid-home-targets,
.posid-home-services,
.posid-home-cases,
.posid-home-acharge,
.posid-home-independent,
.posid-home-knowledge,
.posid-home-company {
	padding-top: 0;
	padding-bottom: 0;
}

/* Abschluss-CTA etwas dichter halten */
.posid-home-final-cta {
	margin-top: clamp(5rem, 8vw, 8rem);
}
/* =========================================================
   HOMEPAGE – ALIGNMENT + SPACING FIX
   ========================================================= */

/* Breitere Startseiten-Sektionen */
.posid-home-challenge,
.posid-home-principle,
.posid-home-targets,
.posid-home-services,
.posid-home-cases,
.posid-home-acharge,
.posid-home-independent,
.posid-home-knowledge,
.posid-home-company {
	width: min(1400px, calc(100vw - 4rem)) !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Sauberer Abstand innerhalb der Challenge */
.posid-home-challenge > .posid-eyebrow {
	margin-bottom: 0.9rem !important;
}

.posid-home-challenge__title {
	margin-top: 0 !important;
	margin-bottom: 1.25rem !important;
}

.posid-home-challenge__text {
	margin-top: 0 !important;
}


/* Sauberer Abstand innerhalb des Prinzip-Bereichs */
.posid-home-principle > .posid-eyebrow {
	margin-bottom: 0.9rem !important;
}

.posid-home-principle__title {
	margin-top: 0 !important;
	margin-bottom: 2.5rem !important;
}


/* Gleiche Logik für HTML-Sektionen */
.posid-home-targets > .posid-eyebrow,
.posid-home-services > .posid-eyebrow,
.posid-home-cases > .posid-eyebrow,
.posid-home-independent > .posid-eyebrow,
.posid-home-company > .posid-eyebrow {
	margin-bottom: 0.9rem !important;
}

.posid-home-targets__title,
.posid-home-services__title,
.posid-home-cases__title,
.posid-home-independent h2,
.posid-home-company h2 {
	margin-top: 0 !important;
}


/* Abstand zwischen kompletten Sektionen */
.posid-home-challenge,
.posid-home-principle,
.posid-home-targets,
.posid-home-services,
.posid-home-cases,
.posid-home-acharge,
.posid-home-independent,
.posid-home-knowledge,
.posid-home-company {
	margin-top: clamp(5.5rem, 7vw, 7.5rem) !important;
	margin-bottom: clamp(5.5rem, 7vw, 7.5rem) !important;
}


/* Tablet / Mobil etwas mehr Rand */
@media (max-width: 900px) {
	.posid-home-challenge,
	.posid-home-principle,
	.posid-home-targets,
	.posid-home-services,
	.posid-home-cases,
	.posid-home-acharge,
	.posid-home-independent,
	.posid-home-knowledge,
	.posid-home-company {
		width: calc(100vw - 2rem) !important;
	}
}
/* =========================================================
   HOMEPAGE – MASTER WIDTH + SPACING FIX
   MUSS GANZ UNTEN STEHEN
   ========================================================= */

/* Sektionen aus dem engen Gutenberg-Container herausziehen */
.posid-home-challenge,
.posid-home-principle,
.posid-home-targets,
.posid-home-services,
.posid-home-cases,
.posid-home-acharge,
.posid-home-independent,
.posid-home-knowledge,
.posid-home-company {
	position: relative !important;
	left: 50% !important;
	transform: translateX(-50%) !important;

	width: min(1400px, calc(100vw - 4rem)) !important;
	max-width: none !important;

	margin-top: clamp(4rem, 5vw, 5.5rem) !important;
	margin-bottom: clamp(4rem, 5vw, 5.5rem) !important;

	padding-top: 0 !important;
	padding-bottom: 0 !important;
}


/* =========================================================
   HERAUSFORDERUNG
   ========================================================= */

.posid-home-challenge {
	display: block !important;
	text-align: left !important;
}

.posid-home-challenge > .posid-eyebrow {
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 1rem 0 !important;
	text-align: left !important;
}

.posid-home-challenge__title {
	width: 100% !important;
	max-width: 1050px !important;
	margin: 0 0 1.25rem 0 !important;
	text-align: left !important;
}

.posid-home-challenge__text {
	width: 100% !important;
	max-width: 900px !important;
	margin: 0 !important;
	text-align: left !important;
}


/* =========================================================
   PRINZIP
   ========================================================= */

.posid-home-principle {
	display: block !important;
	text-align: left !important;
}

.posid-home-principle > .posid-eyebrow {
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 1rem 0 !important;
	text-align: left !important;
}

.posid-home-principle__title {
	width: 100% !important;
	max-width: 1050px !important;
	margin: 0 0 2.5rem 0 !important;
	text-align: left !important;
}


/* =========================================================
   HTML-SEKTIONEN – ÜBERSCHRIFTEN SAUBER AUSRICHTEN
   ========================================================= */

.posid-home-targets > .posid-eyebrow,
.posid-home-services > .posid-eyebrow,
.posid-home-cases > .posid-eyebrow,
.posid-home-independent > .posid-eyebrow,
.posid-home-company > .posid-eyebrow {
	margin: 0 0 1rem 0 !important;
	text-align: left !important;
}

.posid-home-targets__title,
.posid-home-services__title,
.posid-home-cases__title,
.posid-home-independent h2,
.posid-home-company h2 {
	margin-top: 0 !important;
	text-align: left !important;
}


/* MOBILE */

@media (max-width: 900px) {
	.posid-home-challenge,
	.posid-home-principle,
	.posid-home-targets,
	.posid-home-services,
	.posid-home-cases,
	.posid-home-acharge,
	.posid-home-independent,
	.posid-home-knowledge,
	.posid-home-company {
		width: calc(100vw - 2rem) !important;
	}
}
/* =========================================================
   HOMEPAGE – CHALLENGE + PRINCIPLE HTML VERSION
   ========================================================= */

.posid-home-challenge-html,
.posid-home-principle-html {
	width: min(1400px, calc(100vw - 4rem));
	max-width: none;
	margin-inline: auto;
	padding: 0;
}

.posid-home-challenge-html {
	margin-top: clamp(5rem, 7vw, 7rem);
	margin-bottom: clamp(6rem, 8vw, 8rem);
}

.posid-home-principle-html {
	margin-top: 0;
	margin-bottom: clamp(6rem, 8vw, 8rem);
}


/* EYEBROW */

.posid-home-challenge-html > .posid-eyebrow,
.posid-home-principle-html > .posid-eyebrow {
	margin: 0 0 1rem;
	color: var(--posid-red);
}


/* HEADLINES */

.posid-home-challenge-html h2,
.posid-home-principle-html h2 {
	max-width: 1050px;
	margin: 0 0 1.5rem;
	color: var(--posid-dark);
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.posid-home-principle-html h2 {
	margin-bottom: 3rem;
}


/* CHALLENGE TEXT */

.posid-home-challenge-html__text {
	max-width: 900px;
	margin: 0;
	color: var(--posid-dark-soft);
	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	line-height: 1.7;
}


/* PRINCIPLE GRID */

.posid-home-principle-html__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
}

.posid-home-principle-html__grid article {
	padding: 2rem;
	background: var(--posid-offwhite);
	border-top: 3px solid var(--posid-red);
}

.posid-home-principle-html__grid span {
	display: block;
	margin-bottom: 1.25rem;
	color: var(--posid-red);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.posid-home-principle-html__grid h3 {
	margin: 0 0 0.9rem;
	color: var(--posid-dark);
	font-size: 1.3rem;
	line-height: 1.2;
}

.posid-home-principle-html__grid p {
	margin: 0;
	color: var(--posid-dark-soft);
	line-height: 1.65;
}


/* RESPONSIVE */

@media (max-width: 700px) {

	.posid-home-challenge-html,
	.posid-home-principle-html {
		width: calc(100vw - 2rem);
	}

	.posid-home-principle-html__grid {
		grid-template-columns: 1fr;
	}
}
/* =========================================================
   FINAL FIX – CHALLENGE + PRINCIPLE ALIGNMENT
   ========================================================= */

.posid-home-challenge-html,
.posid-home-principle-html {
	position: relative !important;
	left: 50% !important;
	transform: translateX(-50%) !important;

	width: min(var(--posid-wide), calc(100vw - 4rem)) !important;
	max-width: none !important;

	margin-left: 0 !important;
	margin-right: 0 !important;
}


/* HERAUSFORDERUNG */

.posid-home-challenge-html {
	margin-top: clamp(5rem, 7vw, 7rem) !important;
	margin-bottom: clamp(6rem, 8vw, 8rem) !important;
}

.posid-home-challenge-html > .posid-eyebrow {
	margin: 0 0 1rem !important;
}

.posid-home-challenge-html h2 {
	max-width: 950px !important;
	margin: 0 0 1.25rem !important;
}

.posid-home-challenge-html__text {
	max-width: 850px !important;
	margin: 0 !important;
}


/* PRINZIP */

.posid-home-principle-html {
	margin-top: 0 !important;
	margin-bottom: clamp(6rem, 8vw, 8rem) !important;
}

.posid-home-principle-html > .posid-eyebrow {
	margin: 0 0 1rem !important;
}

.posid-home-principle-html > h2 {
	max-width: 950px !important;
	margin: 0 0 2.75rem !important;
}


/* KARTEN */

.posid-home-principle-html__grid {
	width: 100% !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 1.5rem !important;
}

.posid-home-principle-html__grid article {
	width: auto !important;
	min-width: 0 !important;
	padding: 2rem !important;
}


/* MOBIL */

@media (max-width: 700px) {

	.posid-home-challenge-html,
	.posid-home-principle-html {
		width: calc(100vw - 2rem) !important;
	}

	.posid-home-principle-html__grid {
		grid-template-columns: 1fr !important;
	}
}
/* =========================================================
   FINAL WIDTH ALIGNMENT
   ========================================================= */

.posid-home-challenge-html,
.posid-home-principle-html {
	width: min(1400px, calc(100vw - 4rem)) !important;
}
/* =========================================================
   SERVICE PAGES
   ========================================================= */

.posid-service-page {
	color: var(--posid-dark);
}

.posid-service-hero,
.posid-service-section,
.posid-service-next,
.posid-service-cta {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: min(1400px, calc(100vw - 4rem));
	max-width: none;
}


/* HERO */

.posid-service-hero {
	padding-block: clamp(5rem, 8vw, 8rem);
}

.posid-service-hero h1 {
	max-width: 1000px;
	margin: 0 0 2rem;
	font-size: clamp(3rem, 5vw, 5rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.posid-service-hero__lead {
	max-width: 850px;
	margin: 0;
	font-size: clamp(1.1rem, 1.5vw, 1.3rem);
	line-height: 1.65;
	color: var(--posid-dark-soft);
}


/* STANDARD SECTION */

.posid-service-section {
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-service-section > .posid-eyebrow,
.posid-service-hero > .posid-eyebrow,
.posid-service-next .posid-eyebrow,
.posid-service-cta .posid-eyebrow {
	margin: 0 0 1rem;
}

.posid-service-section h2,
.posid-service-next h2,
.posid-service-cta h2 {
	max-width: 950px;
	margin: 0 0 1.5rem;
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}


/* SPLIT */

.posid-service-section--split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(3rem, 7vw, 7rem);
}

.posid-service-copy p {
	margin-top: 0;
	margin-bottom: 1.25rem;
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}


/* GRID */

.posid-service-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 3rem;
}

.posid-service-grid article {
	padding: 2rem;
	background: var(--posid-offwhite);
	border-top: 3px solid var(--posid-red);
}

.posid-service-grid span {
	display: block;
	margin-bottom: 1.2rem;
	color: var(--posid-red);
	font-size: 0.82rem;
	font-weight: 700;
}

.posid-service-grid h3 {
	margin: 0 0 0.9rem;
	font-size: 1.35rem;
	line-height: 1.2;
}

.posid-service-grid p {
	margin: 0;
	color: var(--posid-dark-soft);
	line-height: 1.65;
}


/* RESULT */

.posid-service-result {
	padding-block: clamp(4rem, 6vw, 6rem);
	border-top: 1px solid var(--posid-lightgray);
	border-bottom: 1px solid var(--posid-lightgray);
}

.posid-service-result > p:not(.posid-eyebrow) {
	max-width: 850px;
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}


/* NEXT */

.posid-service-next {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 3rem;
	align-items: end;
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-service-next p:not(.posid-eyebrow) {
	max-width: 750px;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}

.posid-service-next > a {
	color: var(--posid-red);
	font-weight: 700;
	text-decoration: none;
}


/* CTA */

.posid-service-cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 3rem;
	padding: clamp(3rem, 5vw, 5rem);
	margin-bottom: clamp(5rem, 7vw, 7rem);
	background: var(--posid-dark);
}

.posid-service-cta h2 {
	margin-bottom: 0;
	color: var(--posid-white);
}

.posid-service-cta > a {
	flex: 0 0 auto;
	padding: 1rem 1.4rem;
	background: var(--posid-red);
	color: var(--posid-white);
	font-weight: 700;
	text-decoration: none;
}


/* RESPONSIVE */

@media (max-width: 800px) {

	.posid-service-hero,
	.posid-service-section,
	.posid-service-next,
	.posid-service-cta {
		width: calc(100vw - 2rem);
	}

	.posid-service-section--split,
	.posid-service-next {
		grid-template-columns: 1fr;
	}

	.posid-service-grid {
		grid-template-columns: 1fr;
	}

	.posid-service-cta {
		display: block;
	}

	.posid-service-cta > a {
		display: inline-block;
		margin-top: 2rem;
	}
}
/* =========================================================
   SOLUTION PAGES
   ========================================================= */

.posid-solution-page {
	color: var(--posid-dark);
}

.posid-solution-hero,
.posid-solution-section,
.posid-solution-next,
.posid-solution-cta {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: min(1400px, calc(100vw - 4rem));
	max-width: none;
}


/* HERO */

.posid-solution-hero {
	padding-block: clamp(5rem, 8vw, 8rem);
}

.posid-solution-hero h1 {
	max-width: 1050px;
	margin: 0 0 2rem;
	font-size: clamp(3rem, 5vw, 5rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.posid-solution-hero__lead {
	max-width: 850px;
	margin: 0;
	font-size: clamp(1.1rem, 1.5vw, 1.3rem);
	line-height: 1.65;
	color: var(--posid-dark-soft);
}


/* STANDARD */

.posid-solution-section {
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-solution-section > .posid-eyebrow,
.posid-solution-hero > .posid-eyebrow,
.posid-solution-next .posid-eyebrow,
.posid-solution-cta .posid-eyebrow {
	margin: 0 0 1rem;
}

.posid-solution-section h2,
.posid-solution-next h2,
.posid-solution-cta h2 {
	max-width: 950px;
	margin: 0 0 1.5rem;
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}


/* SPLIT */

.posid-solution-section--split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(3rem, 7vw, 7rem);
}

.posid-solution-copy p {
	margin-top: 0;
	margin-bottom: 1.25rem;
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}


/* GRID */

.posid-solution-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 3rem;
}

.posid-solution-grid article {
	padding: 2rem;
	background: var(--posid-offwhite);
	border-top: 3px solid var(--posid-red);
}

.posid-solution-grid span {
	display: block;
	margin-bottom: 1.2rem;
	color: var(--posid-red);
	font-size: 0.82rem;
	font-weight: 700;
}

.posid-solution-grid h3 {
	margin: 0 0 0.9rem;
	font-size: 1.35rem;
	line-height: 1.2;
}

.posid-solution-grid p {
	margin: 0;
	color: var(--posid-dark-soft);
	line-height: 1.65;
}


/* RESULT */

.posid-solution-result {
	padding-block: clamp(4rem, 6vw, 6rem);
	border-top: 1px solid var(--posid-lightgray);
	border-bottom: 1px solid var(--posid-lightgray);
}

.posid-solution-result > p:not(.posid-eyebrow) {
	max-width: 850px;
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}


/* NEXT */

.posid-solution-next {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 3rem;
	align-items: end;
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-solution-next p:not(.posid-eyebrow) {
	max-width: 750px;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}

.posid-solution-next > a {
	color: var(--posid-red);
	font-weight: 700;
	text-decoration: none;
}


/* CTA */

.posid-solution-cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 3rem;
	padding: clamp(3rem, 5vw, 5rem);
	margin-bottom: clamp(5rem, 7vw, 7rem);
	background: var(--posid-dark);
}

.posid-solution-cta h2 {
	margin-bottom: 0;
	color: var(--posid-white);
}

.posid-solution-cta > a {
	flex: 0 0 auto;
	padding: 1rem 1.4rem;
	background: var(--posid-red);
	color: var(--posid-white);
	font-weight: 700;
	text-decoration: none;
}


/* RESPONSIVE */

@media (max-width: 800px) {

	.posid-solution-hero,
	.posid-solution-section,
	.posid-solution-next,
	.posid-solution-cta {
		width: calc(100vw - 2rem);
	}

	.posid-solution-section--split,
	.posid-solution-next {
		grid-template-columns: 1fr;
	}

	.posid-solution-grid {
		grid-template-columns: 1fr;
	}

	.posid-solution-cta {
		display: block;
	}

	.posid-solution-cta > a {
		display: inline-block;
		margin-top: 2rem;
	}
}
/* =========================================================
   PROJECTS PAGE
   ========================================================= */

.posid-projects-page {
	color: var(--posid-dark);
}

.posid-projects-hero,
.posid-projects-intro,
.posid-projects-grid-section,
.posid-projects-principle,
.posid-projects-cta {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: min(1400px, calc(100vw - 4rem));
	max-width: none;
}


/* HERO */

.posid-projects-hero {
	padding-block: clamp(5rem, 8vw, 8rem);
}

.posid-projects-hero h1 {
	max-width: 1050px;
	margin: 0 0 2rem;
	font-size: clamp(3rem, 5vw, 5rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.posid-projects-hero__lead {
	max-width: 850px;
	margin: 0;
	font-size: clamp(1.1rem, 1.5vw, 1.3rem);
	line-height: 1.65;
	color: var(--posid-dark-soft);
}


/* INTRO */

.posid-projects-intro {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(3rem, 7vw, 7rem);
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-projects-intro h2,
.posid-projects-principle h2,
.posid-projects-cta h2 {
	margin: 0 0 1.5rem;
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.posid-projects-intro p,
.posid-projects-principle p {
	margin-top: 0;
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}


/* PROJECT GRID */

.posid-projects-grid-section {
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-projects-grid-section > .posid-eyebrow,
.posid-projects-hero > .posid-eyebrow,
.posid-projects-intro .posid-eyebrow,
.posid-projects-principle .posid-eyebrow,
.posid-projects-cta .posid-eyebrow {
	margin: 0 0 1rem;
}

.posid-projects-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
}

.posid-project-card {
	padding: 2rem;
	background: var(--posid-offwhite);
	border-top: 3px solid var(--posid-red);
}

.posid-project-card > span {
	display: block;
	margin-bottom: 0.8rem;
	color: var(--posid-red);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.posid-project-card h2 {
	margin: 0 0 1.25rem;
	font-size: clamp(1.8rem, 2.5vw, 2.5rem);
	line-height: 1.1;
}

.posid-project-card p {
	margin: 0 0 1.5rem;
	color: var(--posid-dark-soft);
	line-height: 1.65;
}

.posid-project-card ul {
	margin: 0;
	padding-left: 1.2rem;
	color: var(--posid-dark-soft);
	line-height: 1.7;
}


/* PRINCIPLE */

.posid-projects-principle {
	margin-block: clamp(5rem, 7vw, 7rem);
	padding-block: clamp(4rem, 6vw, 6rem);
	border-top: 1px solid var(--posid-lightgray);
	border-bottom: 1px solid var(--posid-lightgray);
}

.posid-projects-principle h2 {
	max-width: 950px;
}

.posid-projects-principle > p:not(.posid-eyebrow) {
	max-width: 850px;
}


/* CTA */

.posid-projects-cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 3rem;
	padding: clamp(3rem, 5vw, 5rem);
	margin-bottom: clamp(5rem, 7vw, 7rem);
	background: var(--posid-dark);
}

.posid-projects-cta h2 {
	margin-bottom: 0;
	color: var(--posid-white);
}

.posid-projects-cta > a {
	flex: 0 0 auto;
	padding: 1rem 1.4rem;
	background: var(--posid-red);
	color: var(--posid-white);
	font-weight: 700;
	text-decoration: none;
}


/* RESPONSIVE */

@media (max-width: 800px) {

	.posid-projects-hero,
	.posid-projects-intro,
	.posid-projects-grid-section,
	.posid-projects-principle,
	.posid-projects-cta {
		width: calc(100vw - 2rem);
	}

	.posid-projects-intro,
	.posid-projects-grid {
		grid-template-columns: 1fr;
	}

	.posid-projects-cta {
		display: block;
	}

	.posid-projects-cta > a {
		display: inline-block;
		margin-top: 2rem;
	}
}
/* =========================================================
   KNOWLEDGE PAGE
   ========================================================= */

.posid-knowledge-page {
	color: var(--posid-dark);
}

.posid-knowledge-hero,
.posid-knowledge-intro,
.posid-knowledge-section,
.posid-knowledge-cta {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: min(1400px, calc(100vw - 4rem));
	max-width: none;
}


/* HERO */

.posid-knowledge-hero {
	padding-block: clamp(5rem, 8vw, 8rem);
}

.posid-knowledge-hero h1 {
	max-width: 1050px;
	margin: 0 0 2rem;
	font-size: clamp(3rem, 5vw, 5rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.posid-knowledge-hero__lead {
	max-width: 850px;
	margin: 0;
	font-size: clamp(1.1rem, 1.5vw, 1.3rem);
	line-height: 1.65;
	color: var(--posid-dark-soft);
}


/* INTRO */

.posid-knowledge-intro {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(3rem, 7vw, 7rem);
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-knowledge-intro h2,
.posid-knowledge-section h2,
.posid-knowledge-cta h2 {
	margin: 0 0 1.5rem;
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.posid-knowledge-intro p {
	margin-top: 0;
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}


/* SECTIONS */

.posid-knowledge-section {
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-knowledge-section > .posid-eyebrow,
.posid-knowledge-hero > .posid-eyebrow,
.posid-knowledge-intro .posid-eyebrow,
.posid-knowledge-cta .posid-eyebrow {
	margin: 0 0 1rem;
}


/* THEMEN */

.posid-knowledge-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 3rem;
}

.posid-knowledge-grid article {
	padding: 2rem;
	background: var(--posid-offwhite);
	border-top: 3px solid var(--posid-red);
}

.posid-knowledge-grid span {
	display: block;
	margin-bottom: 1rem;
	color: var(--posid-red);
	font-size: 0.82rem;
	font-weight: 700;
}

.posid-knowledge-grid h3 {
	margin: 0 0 0.9rem;
	font-size: 1.35rem;
	line-height: 1.2;
}

.posid-knowledge-grid p {
	margin: 0;
	color: var(--posid-dark-soft);
	line-height: 1.65;
}


/* ARTIKEL */

.posid-knowledge-articles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 3rem;
}

.posid-knowledge-articles article {
	padding: 2rem;
	border: 1px solid var(--posid-lightgray);
}

.posid-knowledge-articles span {
	display: block;
	margin-bottom: 1rem;
	color: var(--posid-red);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.posid-knowledge-articles h3 {
	margin: 0 0 1rem;
	font-size: 1.3rem;
	line-height: 1.25;
}

.posid-knowledge-articles p {
	margin: 0;
	color: var(--posid-dark-soft);
	line-height: 1.65;
}


/* CTA */

.posid-knowledge-cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 3rem;
	padding: clamp(3rem, 5vw, 5rem);
	margin-bottom: clamp(5rem, 7vw, 7rem);
	background: var(--posid-dark);
}

.posid-knowledge-cta h2 {
	margin-bottom: 0;
	color: var(--posid-white);
}

.posid-knowledge-cta > a {
	flex: 0 0 auto;
	padding: 1rem 1.4rem;
	background: var(--posid-red);
	color: var(--posid-white);
	font-weight: 700;
	text-decoration: none;
}


/* RESPONSIVE */

@media (max-width: 850px) {

	.posid-knowledge-hero,
	.posid-knowledge-intro,
	.posid-knowledge-section,
	.posid-knowledge-cta {
		width: calc(100vw - 2rem);
	}

	.posid-knowledge-intro,
	.posid-knowledge-grid,
	.posid-knowledge-articles {
		grid-template-columns: 1fr;
	}

	.posid-knowledge-cta {
		display: block;
	}

	.posid-knowledge-cta > a {
		display: inline-block;
		margin-top: 2rem;
	}
}
/* =========================================================
   ACHARGE PAGE
   ========================================================= */

.posid-acharge-page {
	color: var(--posid-dark);
}

.posid-acharge-hero,
.posid-acharge-section,
.posid-acharge-roles,
.posid-acharge-cta {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: min(1400px, calc(100vw - 4rem));
	max-width: none;
}


/* HERO */

.posid-acharge-hero {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(3rem, 6vw, 6rem);
	align-items: center;
	padding-block: clamp(5rem, 8vw, 8rem);
}

.posid-acharge-hero h1 {
	max-width: 950px;
	margin: 0 0 2rem;
	font-size: clamp(3rem, 5vw, 5rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.posid-acharge-hero__lead {
	max-width: 760px;
	margin: 0;
	font-size: clamp(1.1rem, 1.5vw, 1.3rem);
	line-height: 1.65;
	color: var(--posid-dark-soft);
}

.posid-acharge-button {
	display: inline-block;
	margin-top: 2rem;
	padding: 1rem 1.4rem;
	background: var(--posid-red);
	color: var(--posid-white);
	font-weight: 700;
	text-decoration: none;
}

.posid-acharge-hero__visual {
	min-height: 360px;
	padding: 2.5rem;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background: var(--posid-dark);
	color: var(--posid-white);
}

.posid-acharge-hero__visual span {
	margin-bottom: 1rem;
	color: var(--posid-red);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.posid-acharge-hero__visual strong {
	max-width: 460px;
	font-size: clamp(1.7rem, 2.6vw, 2.7rem);
	line-height: 1.15;
}


/* STANDARD */

.posid-acharge-section,
.posid-acharge-roles {
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-acharge-section h2,
.posid-acharge-roles h2,
.posid-acharge-cta h2 {
	max-width: 1000px;
	margin: 0 0 1.5rem;
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.posid-acharge-section > .posid-eyebrow,
.posid-acharge-roles > .posid-eyebrow,
.posid-acharge-cta .posid-eyebrow {
	margin: 0 0 1rem;
}


/* SPLIT */

.posid-acharge-section--split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(3rem, 7vw, 7rem);
}

.posid-acharge-copy p {
	margin-top: 0;
	margin-bottom: 1.25rem;
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}


/* GRID */

.posid-acharge-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 3rem;
}

.posid-acharge-grid article,
.posid-acharge-roles__grid article {
	padding: 2rem;
	background: var(--posid-offwhite);
	border-top: 3px solid var(--posid-red);
}

.posid-acharge-grid span,
.posid-acharge-roles__grid span {
	display: block;
	margin-bottom: 1rem;
	color: var(--posid-red);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.posid-acharge-grid h3,
.posid-acharge-roles__grid h3 {
	margin: 0 0 0.9rem;
	font-size: 1.35rem;
	line-height: 1.2;
}

.posid-acharge-grid p,
.posid-acharge-roles__grid p {
	margin: 0;
	color: var(--posid-dark-soft);
	line-height: 1.65;
}


/* ROLLEN */

.posid-acharge-roles__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 3rem;
}


/* RESULT */

.posid-acharge-result {
	padding-block: clamp(4rem, 6vw, 6rem);
	border-top: 1px solid var(--posid-lightgray);
	border-bottom: 1px solid var(--posid-lightgray);
}

.posid-acharge-result > p:not(.posid-eyebrow) {
	max-width: 850px;
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}


/* CTA */

.posid-acharge-cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 3rem;
	padding: clamp(3rem, 5vw, 5rem);
	margin-bottom: clamp(5rem, 7vw, 7rem);
	background: var(--posid-dark);
}

.posid-acharge-cta h2 {
	margin-bottom: 0;
	color: var(--posid-white);
}

.posid-acharge-cta > a {
	flex: 0 0 auto;
	padding: 1rem 1.4rem;
	background: var(--posid-red);
	color: var(--posid-white);
	font-weight: 700;
	text-decoration: none;
}


/* RESPONSIVE */

@media (max-width: 850px) {

	.posid-acharge-hero,
	.posid-acharge-section,
	.posid-acharge-roles,
	.posid-acharge-cta {
		width: calc(100vw - 2rem);
	}

	.posid-acharge-hero,
	.posid-acharge-section--split,
	.posid-acharge-grid,
	.posid-acharge-roles__grid {
		grid-template-columns: 1fr;
	}

	.posid-acharge-cta {
		display: block;
	}

	.posid-acharge-cta > a {
		display: inline-block;
		margin-top: 2rem;
	}
}
/* =========================================================
   COMPANY PAGE
   ========================================================= */

.posid-company-page {
	color: var(--posid-dark);
}

.posid-company-hero,
.posid-company-section,
.posid-company-cta {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: min(1400px, calc(100vw - 4rem));
	max-width: none;
}


/* HERO */

.posid-company-hero {
	padding-block: clamp(5rem, 8vw, 8rem);
}

.posid-company-hero h1 {
	max-width: 1050px;
	margin: 0 0 2rem;
	font-size: clamp(3rem, 5vw, 5rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.posid-company-hero__lead {
	max-width: 850px;
	margin: 0;
	font-size: clamp(1.1rem, 1.5vw, 1.3rem);
	line-height: 1.65;
	color: var(--posid-dark-soft);
}


/* STANDARD */

.posid-company-section {
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-company-section h2,
.posid-company-cta h2 {
	max-width: 950px;
	margin: 0 0 1.5rem;
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.posid-company-section > .posid-eyebrow,
.posid-company-hero > .posid-eyebrow,
.posid-company-cta .posid-eyebrow {
	margin: 0 0 1rem;
}


/* SPLIT */

.posid-company-section--split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(3rem, 7vw, 7rem);
}

.posid-company-copy p {
	margin-top: 0;
	margin-bottom: 1.25rem;
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}


/* GRID */

.posid-company-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 3rem;
}

.posid-company-grid article {
	padding: 2rem;
	background: var(--posid-offwhite);
	border-top: 3px solid var(--posid-red);
}

.posid-company-grid span {
	display: block;
	margin-bottom: 1rem;
	color: var(--posid-red);
	font-size: 0.82rem;
	font-weight: 700;
}

.posid-company-grid h3 {
	margin: 0 0 0.9rem;
	font-size: 1.35rem;
	line-height: 1.2;
}

.posid-company-grid p {
	margin: 0;
	color: var(--posid-dark-soft);
	line-height: 1.65;
}


/* PRINCIPLE */

.posid-company-principle {
	padding-block: clamp(4rem, 6vw, 6rem);
	border-top: 1px solid var(--posid-lightgray);
	border-bottom: 1px solid var(--posid-lightgray);
}

.posid-company-principle > p:not(.posid-eyebrow) {
	max-width: 850px;
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}


/* CTA */

.posid-company-cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 3rem;
	padding: clamp(3rem, 5vw, 5rem);
	margin-bottom: clamp(5rem, 7vw, 7rem);
	background: var(--posid-dark);
}

.posid-company-cta h2 {
	margin-bottom: 0;
	color: var(--posid-white);
}

.posid-company-cta > a {
	flex: 0 0 auto;
	padding: 1rem 1.4rem;
	background: var(--posid-red);
	color: var(--posid-white);
	font-weight: 700;
	text-decoration: none;
}


/* RESPONSIVE */

@media (max-width: 850px) {

	.posid-company-hero,
	.posid-company-section,
	.posid-company-cta {
		width: calc(100vw - 2rem);
	}

	.posid-company-section--split,
	.posid-company-grid {
		grid-template-columns: 1fr;
	}

	.posid-company-cta {
		display: block;
	}

	.posid-company-cta > a {
		display: inline-block;
		margin-top: 2rem;
	}
}
/* =========================================================
   PARTNER PAGE
   ========================================================= */

.posid-partner-page {
	color: var(--posid-dark);
}

.posid-partner-hero,
.posid-partner-section,
.posid-partner-cta {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: min(1400px, calc(100vw - 4rem));
	max-width: none;
}

.posid-partner-hero {
	padding-block: clamp(5rem, 8vw, 8rem);
}

.posid-partner-hero h1 {
	max-width: 1050px;
	margin: 0 0 2rem;
	font-size: clamp(3rem, 5vw, 5rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.posid-partner-hero__lead {
	max-width: 850px;
	margin: 0;
	font-size: clamp(1.1rem, 1.5vw, 1.3rem);
	line-height: 1.65;
	color: var(--posid-dark-soft);
}

.posid-partner-section {
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-partner-section h2,
.posid-partner-cta h2 {
	max-width: 950px;
	margin: 0 0 1.5rem;
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.posid-partner-section--split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(3rem, 7vw, 7rem);
}

.posid-partner-copy p,
.posid-partner-highlight > p:not(.posid-eyebrow) {
	margin-top: 0;
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}

.posid-partner-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 3rem;
}

.posid-partner-grid article {
	padding: 2rem;
	background: var(--posid-offwhite);
	border-top: 3px solid var(--posid-red);
}

.posid-partner-grid span {
	display: block;
	margin-bottom: 1rem;
	color: var(--posid-red);
	font-size: 0.82rem;
	font-weight: 700;
}

.posid-partner-grid h3 {
	margin: 0 0 0.9rem;
	font-size: 1.35rem;
	line-height: 1.2;
}

.posid-partner-grid p {
	margin: 0;
	color: var(--posid-dark-soft);
	line-height: 1.65;
}

.posid-partner-highlight {
	padding-block: clamp(4rem, 6vw, 6rem);
	border-top: 1px solid var(--posid-lightgray);
	border-bottom: 1px solid var(--posid-lightgray);
}

.posid-partner-highlight > p:not(.posid-eyebrow) {
	max-width: 850px;
}

.posid-partner-highlight > a {
	color: var(--posid-red);
	font-weight: 700;
	text-decoration: none;
}

.posid-partner-cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 3rem;
	padding: clamp(3rem, 5vw, 5rem);
	margin-bottom: clamp(5rem, 7vw, 7rem);
	background: var(--posid-dark);
}

.posid-partner-cta h2 {
	margin-bottom: 0;
	color: var(--posid-white);
}

.posid-partner-cta > a {
	flex: 0 0 auto;
	padding: 1rem 1.4rem;
	background: var(--posid-red);
	color: var(--posid-white);
	font-weight: 700;
	text-decoration: none;
}

@media (max-width: 850px) {

	.posid-partner-hero,
	.posid-partner-section,
	.posid-partner-cta {
		width: calc(100vw - 2rem);
	}

	.posid-partner-section--split,
	.posid-partner-grid {
		grid-template-columns: 1fr;
	}

	.posid-partner-cta {
		display: block;
	}

	.posid-partner-cta > a {
		display: inline-block;
		margin-top: 2rem;
	}
}
/* =========================================================
   CONTACT PAGE
   ========================================================= */

.posid-contact-page {
	color: var(--posid-dark);
}

.posid-contact-hero,
.posid-contact-section,
.posid-contact-cta {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: min(1400px, calc(100vw - 4rem));
	max-width: none;
}

.posid-contact-hero {
	padding-block: clamp(5rem, 8vw, 8rem);
}

.posid-contact-hero h1 {
	max-width: 1050px;
	margin: 0 0 2rem;
	font-size: clamp(3rem, 5vw, 5rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.posid-contact-hero__lead {
	max-width: 850px;
	margin: 0;
	font-size: clamp(1.1rem, 1.5vw, 1.3rem);
	line-height: 1.65;
	color: var(--posid-dark-soft);
}

.posid-contact-section {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: clamp(3rem, 7vw, 7rem);
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-contact-info h2 {
	margin: 0 0 1.5rem;
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.posid-contact-info > p:not(.posid-eyebrow) {
	max-width: 760px;
	color: var(--posid-dark-soft);
	font-size: 1.05rem;
	line-height: 1.7;
}

.posid-contact-topics {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 2rem;
}

.posid-contact-topics span {
	padding: 0.7rem 1rem;
	background: var(--posid-offwhite);
	border-left: 3px solid var(--posid-red);
	font-size: 0.95rem;
}

.posid-contact-box {
	padding: 2.5rem;
	background: var(--posid-offwhite);
	border-top: 3px solid var(--posid-red);
}

.posid-contact-box h3 {
	margin: 0 0 1.5rem;
	font-size: 1.8rem;
}

.posid-contact-box p {
	color: var(--posid-dark-soft);
	line-height: 1.7;
}

.posid-contact-box a {
	color: var(--posid-red);
	font-weight: 700;
	text-decoration: none;
}

.posid-contact-cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 3rem;
	padding: clamp(3rem, 5vw, 5rem);
	margin-bottom: clamp(5rem, 7vw, 7rem);
	background: var(--posid-dark);
}

.posid-contact-cta h2 {
	margin: 0 0 1rem;
	color: var(--posid-white);
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
}

.posid-contact-cta p:not(.posid-eyebrow) {
	max-width: 700px;
	margin: 0;
	color: rgba(255,255,255,0.82);
	line-height: 1.7;
}

.posid-contact-cta > a {
	flex: 0 0 auto;
	padding: 1rem 1.4rem;
	background: var(--posid-red);
	color: var(--posid-white);
	font-weight: 700;
	text-decoration: none;
}

@media (max-width: 850px) {

	.posid-contact-hero,
	.posid-contact-section,
	.posid-contact-cta {
		width: calc(100vw - 2rem);
	}

	.posid-contact-section {
		grid-template-columns: 1fr;
	}

	.posid-contact-cta {
		display: block;
	}

	.posid-contact-cta > a {
		display: inline-block;
		margin-top: 2rem;
	}
}
/* =========================================================
   SERVICES OVERVIEW PAGE
   ========================================================= */

.posid-services-overview {
	color: var(--posid-dark);
}

.posid-services-overview__hero,
.posid-services-overview__intro,
.posid-services-overview__section,
.posid-services-overview__process,
.posid-services-overview__cta {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: min(1400px, calc(100vw - 4rem));
	max-width: none;
}


/* HERO */

.posid-services-overview__hero {
	padding-block: clamp(5rem, 8vw, 8rem);
}

.posid-services-overview__hero h1 {
	max-width: 1050px;
	margin: 0 0 2rem;
	font-size: clamp(3rem, 5vw, 5rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.posid-services-overview__lead {
	max-width: 850px;
	margin: 0;
	font-size: clamp(1.1rem, 1.5vw, 1.3rem);
	line-height: 1.65;
	color: var(--posid-dark-soft);
}


/* INTRO */

.posid-services-overview__intro {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(3rem, 7vw, 7rem);
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-services-overview__intro h2,
.posid-services-overview__section h2,
.posid-services-overview__process h2,
.posid-services-overview__cta h2 {
	max-width: 950px;
	margin: 0 0 1.5rem;
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.posid-services-overview__intro p {
	margin-top: 0;
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}


/* LEISTUNGEN */

.posid-services-overview__section {
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-services-overview__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 3rem;
}

.posid-services-overview__grid article {
	padding: 2rem;
	background: var(--posid-offwhite);
	border-top: 3px solid var(--posid-red);
}

.posid-services-overview__grid span {
	display: block;
	margin-bottom: 1rem;
	color: var(--posid-red);
	font-size: 0.82rem;
	font-weight: 700;
}

.posid-services-overview__grid h3 {
	margin: 0 0 0.9rem;
	font-size: 1.35rem;
	line-height: 1.2;
}

.posid-services-overview__grid p {
	margin: 0 0 1.5rem;
	color: var(--posid-dark-soft);
	line-height: 1.65;
}

.posid-services-overview__grid a {
	color: var(--posid-red);
	font-weight: 700;
	text-decoration: none;
}


/* PROZESS */

.posid-services-overview__process {
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-services-overview__process-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 3rem;
}

.posid-services-overview__process-grid div {
	padding: 1.5rem;
	background: var(--posid-offwhite);
	border-top: 3px solid var(--posid-red);
}

.posid-services-overview__process-grid span {
	display: block;
	margin-bottom: 0.8rem;
	color: var(--posid-red);
	font-size: 0.82rem;
	font-weight: 700;
}

.posid-services-overview__process-grid strong {
	color: var(--posid-dark);
	font-size: 1.05rem;
}


/* CTA */

.posid-services-overview__cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 3rem;
	padding: clamp(3rem, 5vw, 5rem);
	margin-bottom: clamp(5rem, 7vw, 7rem);
	background: var(--posid-dark);
}

.posid-services-overview__cta h2 {
	margin-bottom: 0;
	color: var(--posid-white);
}

.posid-services-overview__cta > a {
	flex: 0 0 auto;
	padding: 1rem 1.4rem;
	background: var(--posid-red);
	color: var(--posid-white);
	font-weight: 700;
	text-decoration: none;
}


/* RESPONSIVE */

@media (max-width: 850px) {

	.posid-services-overview__hero,
	.posid-services-overview__intro,
	.posid-services-overview__section,
	.posid-services-overview__process,
	.posid-services-overview__cta {
		width: calc(100vw - 2rem);
	}

	.posid-services-overview__intro,
	.posid-services-overview__grid {
		grid-template-columns: 1fr;
	}

	.posid-services-overview__process-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.posid-services-overview__cta {
		display: block;
	}

	.posid-services-overview__cta > a {
		display: inline-block;
		margin-top: 2rem;
	}
}

@media (max-width: 600px) {
	.posid-services-overview__process-grid {
		grid-template-columns: 1fr;
	}
}
/* =========================================================
   SOLUTIONS OVERVIEW PAGE
   ========================================================= */

.posid-solutions-overview {
	color: var(--posid-dark);
}

.posid-solutions-overview__hero,
.posid-solutions-overview__intro,
.posid-solutions-overview__section,
.posid-solutions-overview__system,
.posid-solutions-overview__cta {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: min(1400px, calc(100vw - 4rem));
	max-width: none;
}


/* HERO */

.posid-solutions-overview__hero {
	padding-block: clamp(5rem, 8vw, 8rem);
}

.posid-solutions-overview__hero h1 {
	max-width: 1050px;
	margin: 0 0 2rem;
	font-size: clamp(3rem, 5vw, 5rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.posid-solutions-overview__lead {
	max-width: 850px;
	margin: 0;
	font-size: clamp(1.1rem, 1.5vw, 1.3rem);
	line-height: 1.65;
	color: var(--posid-dark-soft);
}


/* INTRO */

.posid-solutions-overview__intro {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(3rem, 7vw, 7rem);
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-solutions-overview__intro h2,
.posid-solutions-overview__section h2,
.posid-solutions-overview__system h2,
.posid-solutions-overview__cta h2 {
	max-width: 950px;
	margin: 0 0 1.5rem;
	font-size: clamp(2.2rem, 3.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.posid-solutions-overview__intro p {
	margin-top: 0;
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}


/* GRID */

.posid-solutions-overview__section {
	margin-block: clamp(5rem, 7vw, 7rem);
}

.posid-solutions-overview__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 3rem;
}

.posid-solutions-overview__grid article {
	padding: 2rem;
	background: var(--posid-offwhite);
	border-top: 3px solid var(--posid-red);
}

.posid-solutions-overview__grid span {
	display: block;
	margin-bottom: 1rem;
	color: var(--posid-red);
	font-size: 0.82rem;
	font-weight: 700;
}

.posid-solutions-overview__grid h3 {
	margin: 0 0 0.9rem;
	font-size: 1.35rem;
	line-height: 1.2;
}

.posid-solutions-overview__grid p {
	margin: 0 0 1.5rem;
	color: var(--posid-dark-soft);
	line-height: 1.65;
}

.posid-solutions-overview__grid a {
	color: var(--posid-red);
	font-weight: 700;
	text-decoration: none;
}


/* SYSTEM */

.posid-solutions-overview__system {
	margin-block: clamp(5rem, 7vw, 7rem);
	padding-block: clamp(4rem, 6vw, 6rem);
	border-top: 1px solid var(--posid-lightgray);
	border-bottom: 1px solid var(--posid-lightgray);
}

.posid-solutions-overview__system > p:not(.posid-eyebrow) {
	max-width: 850px;
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}


/* CTA */

.posid-solutions-overview__cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 3rem;
	padding: clamp(3rem, 5vw, 5rem);
	margin-bottom: clamp(5rem, 7vw, 7rem);
	background: var(--posid-dark);
}

.posid-solutions-overview__cta h2 {
	margin-bottom: 0;
	color: var(--posid-white);
}

.posid-solutions-overview__cta > a {
	flex: 0 0 auto;
	padding: 1rem 1.4rem;
	background: var(--posid-red);
	color: var(--posid-white);
	font-weight: 700;
	text-decoration: none;
}


/* RESPONSIVE */

@media (max-width: 850px) {

	.posid-solutions-overview__hero,
	.posid-solutions-overview__intro,
	.posid-solutions-overview__section,
	.posid-solutions-overview__system,
	.posid-solutions-overview__cta {
		width: calc(100vw - 2rem);
	}

	.posid-solutions-overview__intro,
	.posid-solutions-overview__grid {
		grid-template-columns: 1fr;
	}

	.posid-solutions-overview__cta {
		display: block;
	}

	.posid-solutions-overview__cta > a {
		display: inline-block;
		margin-top: 2rem;
	}
}
/* =========================================================
   LEGAL PAGES
   ========================================================= */

.posid-legal-page {
	color: var(--posid-dark);
}

.posid-legal-hero,
.posid-legal-content {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: min(1100px, calc(100vw - 4rem));
	max-width: none;
}

.posid-legal-hero {
	padding-block: clamp(4rem, 7vw, 7rem);
}

.posid-legal-hero h1 {
	margin: 0;
	font-size: clamp(3rem, 5vw, 5rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.posid-legal-content {
	padding-bottom: clamp(5rem, 7vw, 7rem);
}

.posid-legal-content h2 {
	margin: 3rem 0 1rem;
	font-size: 1.7rem;
}

.posid-legal-content p {
	max-width: 850px;
	line-height: 1.7;
	color: var(--posid-dark-soft);
}

.posid-legal-content a {
	color: var(--posid-red);
}

@media (max-width: 700px) {
	.posid-legal-hero,
	.posid-legal-content {
		width: calc(100vw - 2rem);
	}
}
/* =========================================================
   MOBILE FIX – HEADER + HOMEPAGE HERO
   ========================================================= */

@media (max-width: 700px) {

	/* HERO – kompletter Bereich */
	.posid-home-hero {
		position: relative !important;
		left: 50% !important;
		transform: translateX(-50%) !important;

		width: calc(100vw - 2rem) !important;
		max-width: none !important;

		padding-top: 3rem !important;
		padding-bottom: 4rem !important;
	}


	/* Zwei Desktop-Spalten auf dem Handy wirklich auflösen */
	.posid-home-hero__inner.wp-block-columns,
	.posid-home-hero__inner {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
	}

	.posid-home-hero__inner > .wp-block-column {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		flex-basis: 100% !important;
		margin: 0 !important;
	}


	/* Linker Textbereich */
	.posid-home-hero__content {
		width: 100% !important;
		max-width: none !important;
	}


	/* Eyebrow */
	.posid-home-hero .posid-eyebrow {
		width: 100% !important;
		max-width: none !important;
		margin: 0 0 1.25rem !important;

		font-size: 0.82rem !important;
		line-height: 1.35 !important;
		letter-spacing: 0.11em !important;

		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}


	/* Hauptüberschrift */
	.posid-home-hero__title {
		width: 100% !important;
		max-width: 100% !important;

		margin: 0 0 1.5rem !important;

		font-size: clamp(2.7rem, 12vw, 4rem) !important;
		line-height: 0.98 !important;
		letter-spacing: -0.035em !important;

		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}


	/* Leadtext */
	.posid-home-hero__lead {
		width: 100% !important;
		max-width: 100% !important;

		margin: 0 0 1.75rem !important;

		font-size: 1.05rem !important;
		line-height: 1.6 !important;

		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}


	/* Systempunkte */
	.posid-home-hero__systems {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0.65rem !important;

		width: 100% !important;
		margin-bottom: 2rem !important;
	}


	/* Buttons */
	.posid-home-hero__buttons {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0.75rem !important;

		width: 100% !important;
	}

	.posid-home-hero__buttons .wp-block-button,
	.posid-home-hero__buttons .wp-block-button__link {
		width: 100% !important;
	}


	/* Energiearchitektur unter den Text setzen */
	.posid-home-hero__visual {
		display: block !important;

		width: 100% !important;
		max-width: none !important;
		min-height: 0 !important;

		margin-top: 3rem !important;
		padding: 0 !important;
	}

	.posid-home-hero__visual img,
	.posid-energy-architecture-img {
		display: block !important;

		width: 100% !important;
		max-width: 520px !important;
		height: auto !important;

		margin: 0 auto !important;
	}
}
/* =========================================================
   MOBILE HERO – FINAL TUNING
   ========================================================= */

@media (max-width: 700px) {

	.posid-home-hero__title {
		font-size: clamp(2.45rem, 10.8vw, 3.35rem) !important;
		line-height: 1 !important;
		max-width: 100% !important;
	}

	.posid-home-hero__systems {
		display: block !important;
		width: 100% !important;
	}

	.posid-home-hero__systems p {
		width: 100% !important;
		margin: 0 0 0.75rem !important;
		padding-left: 1.25rem !important;
		text-align: left !important;
	}

	.posid-home-hero__systems p::before {
		left: 0 !important;
	}
}
/* =========================================================
   MOBILE HERO – SAUBERES SEITENRASTER
   ========================================================= */

@media (max-width: 700px) {

	.posid-home-hero {
		position: relative !important;

		left: auto !important;
		transform: none !important;

		width: auto !important;
		max-width: none !important;

		margin-left: 1.25rem !important;
		margin-right: 1.25rem !important;

		padding-left: 0 !important;
		padding-right: 0 !important;

		box-sizing: border-box !important;
	}

	.posid-home-hero__inner,
	.posid-home-hero__content,
	.posid-home-hero__lead,
	.posid-home-hero__systems,
	.posid-home-hero__buttons,
	.posid-home-hero__visual {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.posid-home-hero__title {
		width: 100% !important;
		max-width: 100% !important;

		font-size: clamp(2.4rem, 10.2vw, 3.2rem) !important;

		overflow-wrap: normal !important;
		word-break: normal !important;
	}

	.posid-home-hero__lead {
		padding-right: 0 !important;
	}

	.posid-home-hero__buttons {
		align-items: stretch !important;
	}

	.posid-home-hero__buttons .wp-block-button,
	.posid-home-hero__buttons .wp-block-button__link {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}
/* =========================================================
   MOBILE – GLOBAL HOMEPAGE ALIGNMENT FIX
   ========================================================= */

@media (max-width: 700px) {

	/* Alle später eingebauten Homepage-Sektionen
	   in dasselbe mobile Seitenraster setzen */
	.posid-home-challenge-html,
	.posid-home-principle-html,
	.posid-home-targets,
	.posid-home-services,
	.posid-home-cases,
	.posid-home-acharge,
	.posid-home-independent,
	.posid-home-knowledge,
	.posid-home-company,
	.posid-home-final-cta {
		position: relative !important;

		left: auto !important;
		transform: none !important;

		width: auto !important;
		max-width: none !important;

		margin-left: 1.25rem !important;
		margin-right: 1.25rem !important;

		padding-left: 0 !important;
		padding-right: 0 !important;

		box-sizing: border-box !important;
	}


	/* Überschriften niemals rechts herauslaufen lassen */
	.posid-home-challenge-html h2,
	.posid-home-principle-html h2,
	.posid-home-targets__title,
	.posid-home-services__title,
	.posid-home-cases__title,
	.posid-home-acharge h2,
	.posid-home-independent h2,
	.posid-home-knowledge h2,
	.posid-home-company h2,
	.posid-home-final-cta h2 {
		width: 100% !important;
		max-width: 100% !important;

		font-size: clamp(2rem, 9vw, 3rem) !important;

		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;

		box-sizing: border-box !important;
	}


	/* Alle Grids auf eine Spalte */
	.posid-home-principle-html__grid,
	.posid-home-targets__grid,
	.posid-home-services__grid,
	.posid-home-cases__grid,
	.posid-home-knowledge__topics,
	.posid-home-company__grid {
		display: grid !important;
		grid-template-columns: 1fr !important;

		width: 100% !important;
		max-width: 100% !important;

		box-sizing: border-box !important;
	}


	/* Karten dürfen nicht über den Bildschirm hinausragen */
	.posid-home-principle-html__grid article,
	.posid-home-targets__card,
	.posid-home-services__card,
	.posid-home-cases__item,
	.posid-home-knowledge__topics div {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		box-sizing: border-box !important;
	}


	/* acharge und Wissen ebenfalls untereinander */
	.posid-home-acharge,
	.posid-home-knowledge {
		display: grid !important;
		grid-template-columns: 1fr !important;
	}


	/* Abschluss-CTA */
	.posid-home-final-cta {
		display: block !important;
		padding: 2rem !important;
	}

	.posid-home-final-cta__button {
		display: inline-block !important;
		margin-top: 1.5rem !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}
/* =========================================================
   MOBILE – ALL INNER PAGE HERO HEADLINES
   ========================================================= */

@media (max-width: 700px) {

	.posid-service-hero,
	.posid-solution-hero,
	.posid-projects-hero,
	.posid-knowledge-hero,
	.posid-acharge-hero,
	.posid-company-hero,
	.posid-partner-hero,
	.posid-contact-hero,
	.posid-services-overview__hero,
	.posid-solutions-overview__hero,
	.posid-legal-hero {
		position: relative !important;
		left: auto !important;
		transform: none !important;

		width: auto !important;
		max-width: none !important;

		margin-left: 1.25rem !important;
		margin-right: 1.25rem !important;

		padding-left: 0 !important;
		padding-right: 0 !important;

		box-sizing: border-box !important;
	}

	.posid-service-hero h1,
	.posid-solution-hero h1,
	.posid-projects-hero h1,
	.posid-knowledge-hero h1,
	.posid-acharge-hero h1,
	.posid-company-hero h1,
	.posid-partner-hero h1,
	.posid-contact-hero h1,
	.posid-services-overview__hero h1,
	.posid-solutions-overview__hero h1,
	.posid-legal-hero h1 {
		width: 100% !important;
		max-width: 100% !important;

		font-size: clamp(2.35rem, 10vw, 3.2rem) !important;
		line-height: 1 !important;

		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;

		box-sizing: border-box !important;
	}

	.posid-service-hero__lead,
	.posid-solution-hero__lead,
	.posid-projects-hero__lead,
	.posid-knowledge-hero__lead,
	.posid-acharge-hero__lead,
	.posid-company-hero__lead,
	.posid-partner-hero__lead,
	.posid-contact-hero__lead,
	.posid-services-overview__lead,
	.posid-solutions-overview__lead {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}
/* =========================================================
   MOBILE – INNER PAGE SECTION SPACING
   ========================================================= */

@media (max-width: 700px) {

	.posid-service-hero,
	.posid-solution-hero,
	.posid-projects-hero,
	.posid-knowledge-hero,
	.posid-acharge-hero,
	.posid-company-hero,
	.posid-partner-hero,
	.posid-contact-hero,
	.posid-services-overview__hero,
	.posid-solutions-overview__hero {
		padding-top: 3.5rem !important;
		padding-bottom: 3.5rem !important;
	}

	.posid-service-section,
	.posid-solution-section,
	.posid-projects-intro,
	.posid-projects-grid-section,
	.posid-knowledge-intro,
	.posid-knowledge-section,
	.posid-acharge-section,
	.posid-acharge-roles,
	.posid-company-section,
	.posid-partner-section,
	.posid-contact-section,
	.posid-services-overview__intro,
	.posid-services-overview__section,
	.posid-services-overview__process,
	.posid-solutions-overview__intro,
	.posid-solutions-overview__section,
	.posid-solutions-overview__system {
		margin-top: 3.5rem !important;
		margin-bottom: 3.5rem !important;
	}
}
/* =========================================================
   HOMEPAGE HERO – LARGE ENERGY ARCHITECTURE
   ========================================================= */

.posid-home-hero__inner {
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr) !important;
	gap: clamp(2rem, 4vw, 4.5rem) !important;
}

.posid-home-hero__visual {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: visible !important;
	min-height: 620px !important;
}

.posid-energy-architecture-img {
	display: block !important;
	width: 118% !important;
	max-width: none !important;
	height: auto !important;
	margin-left: -4% !important;
}


/* MOBILE */

@media (max-width: 700px) {

	.posid-home-hero__inner {
		display: block !important;
	}

	.posid-home-hero__visual {
		width: 100% !important;
		min-height: 0 !important;
		margin-top: 3rem !important;
		overflow: hidden !important;
	}

	.posid-energy-architecture-img {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		height: auto !important;
	}
}
/* =========================================================
   HOMEPAGE HERO – VISUAL PROPORTIONS FINAL
   ========================================================= */

@media (min-width: 1101px) {

	.posid-home-hero {
		width: min(1480px, calc(100vw - 3rem)) !important;
		padding-top: clamp(4rem, 5vw, 5.5rem) !important;
		padding-bottom: clamp(4rem, 5vw, 5.5rem) !important;
	}

	.posid-home-hero__inner {
		grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr) !important;
		gap: clamp(1.5rem, 2.5vw, 3rem) !important;
		align-items: center !important;
	}

	.posid-home-hero__content {
		max-width: 590px !important;
	}

	.posid-home-hero__title {
		font-size: clamp(3.4rem, 4.7vw, 4.9rem) !important;
		line-height: 0.98 !important;
	}

	.posid-home-hero__visual {
		min-height: 610px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		overflow: visible !important;
	}

	.posid-energy-architecture-img {
		width: 132% !important;
		max-width: none !important;
		height: auto !important;
		margin-left: -4% !important;
	}
}
/* =========================================================
   HOMEPAGE HERO – FEATURE ICONS
   ========================================================= */

.posid-hero-features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem 2rem;
	margin: 2rem 0 2.25rem;
}

.posid-hero-feature {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	color: var(--posid-dark);
	font-size: 0.95rem;
	line-height: 1.35;
}

.posid-hero-feature__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	flex: 0 0 1.5rem;
	color: var(--posid-dark);
	font-size: 1rem;
	line-height: 1;
}

@media (max-width: 700px) {
	.posid-hero-features {
		grid-template-columns: 1fr;
		gap: 0.75rem;
	}
}
/* =========================================================
   POSID – VISUAL DESIGN PASS
   HEADER + HOMEPAGE HERO
   ========================================================= */


/* ---------- HEADER ---------- */

header.wp-block-template-part {
	background: #f3f5f5 !important;
	border: 0 !important;
	box-shadow: none !important;
}

header.wp-block-template-part > .wp-block-group {
	padding-top: 1.25rem !important;
	padding-bottom: 1.25rem !important;
	border: 0 !important;
}

/* Logo deutlich größer */
header.wp-block-template-part .wp-block-site-logo img {
	width: 165px !important;
	max-width: 165px !important;
	height: auto !important;
}

/* Navigation größer und kräftiger */
header.wp-block-template-part .wp-block-navigation-item__content {
	font-family: "Helvetica Neue", Arial, sans-serif !important;
	font-size: 0.94rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;
}

/* Header CTA */
header.wp-block-template-part .wp-block-button__link {
	padding: 1rem 1.55rem !important;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
}


/* ---------- HERO: GRAUER GESAMTHINTERGRUND ---------- */

@media (min-width: 1101px) {

	.posid-home-hero {
		width: 100vw !important;
		max-width: none !important;

		background: #f3f5f5 !important;

		padding-top: 2.75rem !important;
		padding-bottom: 3.5rem !important;

		padding-left: max(3rem, calc((100vw - 1500px) / 2)) !important;
		padding-right: max(3rem, calc((100vw - 1500px) / 2)) !important;

		box-sizing: border-box !important;
	}

	.posid-home-hero__inner {
		width: 100% !important;
		max-width: 1500px !important;
		margin: 0 auto !important;

		grid-template-columns:
			minmax(0, 0.78fr)
			minmax(0, 1.22fr) !important;

		gap: clamp(2rem, 3vw, 4rem) !important;
		align-items: center !important;
	}


	/* ---------- TYPOGRAFIE ---------- */

	.posid-home-hero__content {
		max-width: 600px !important;
	}

	.posid-home-hero .posid-eyebrow {
		margin-bottom: 1.4rem !important;

		font-size: 0.82rem !important;
		font-weight: 700 !important;
		letter-spacing: 0.11em !important;
	}

	.posid-home-hero__title {
		margin-bottom: 1.6rem !important;

		font-family: "Helvetica Neue", Arial, sans-serif !important;
		font-size: clamp(3.5rem, 4.5vw, 4.85rem) !important;
		font-weight: 700 !important;
		line-height: 0.98 !important;
		letter-spacing: -0.04em !important;
	}

	.posid-home-hero__lead {
		max-width: 570px !important;
		margin-bottom: 1.7rem !important;

		font-size: 1.08rem !important;
		line-height: 1.58 !important;
	}


	/* ---------- FEATURE-ICONS ---------- */

	/* WICHTIG:
	   alten 2-Spalten-Container abschalten */
	.posid-home-hero__systems {
		display: block !important;
		width: 100% !important;
		margin-bottom: 1.9rem !important;
	}

	.posid-hero-features {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

		width: 100% !important;

		gap: 0.7rem 1.5rem !important;
		margin: 0 !important;
	}

	.posid-hero-feature {
		display: flex !important;
		align-items: center !important;

		min-width: 0 !important;
		gap: 0.65rem !important;

		font-size: 0.9rem !important;
		line-height: 1.25 !important;
	}

	.posid-hero-feature__icon {
		width: 1.3rem !important;
		height: 1.3rem !important;
		flex: 0 0 1.3rem !important;

		color: var(--posid-red) !important;
		font-size: 1rem !important;
	}


	/* ---------- HERO-BUTTONS ---------- */

	.posid-home-hero__buttons {
		gap: 1rem !important;
	}

	.posid-home-hero__buttons .wp-block-button__link {
		padding: 0.95rem 1.3rem !important;

		font-size: 0.86rem !important;
		font-weight: 700 !important;
		text-transform: uppercase !important;
	}


	/* ---------- ENERGIEARCHITEKTUR ---------- */

	.posid-home-hero__visual {
		min-height: 570px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		background: transparent !important;
		overflow: visible !important;
	}

	.posid-energy-architecture-img {
		display: block !important;

		width: 125% !important;
		max-width: none !important;
		height: auto !important;

		margin: 0 -8% 0 -3% !important;

		/* nimmt dem Bild den rechteckigen Weiß-Eindruck */
		mix-blend-mode: multiply;
	}
}


/* ---------- MOBILE HEADER ---------- */

@media (max-width: 700px) {

	header.wp-block-template-part {
		background: #f3f5f5 !important;
		border-bottom: 0 !important;
	}

	header.wp-block-template-part .wp-block-site-logo img {
		width: 145px !important;
		max-width: 145px !important;
	}

	.posid-home-hero {
		background: #f3f5f5 !important;
	}

	.posid-home-hero__systems {
		display: block !important;
	}

	.posid-hero-features {
		grid-template-columns: 1fr !important;
	}

	.posid-energy-architecture-img {
		mix-blend-mode: multiply;
	}
}
/* =========================================================
   HERO – BACKGROUND + TECH ICONS FINAL
   ========================================================= */

/* Bild und Hero optisch auf denselben Grundton setzen */
.posid-home-hero {
	background: #f8f9f9 !important;
}

.posid-home-hero__visual {
	background: #f8f9f9 !important;
}

.posid-energy-architecture-img {
	background: #f8f9f9 !important;
	mix-blend-mode: multiply !important;
}


/* Technische Feature-Icons */

.posid-hero-feature {
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	min-width: 0 !important;
}

.posid-hero-feature__icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 1.45rem !important;
	height: 1.45rem !important;
	flex: 0 0 1.45rem !important;

	color: #17353d !important;
}

.posid-hero-feature__icon svg {
	display: block;
	width: 100%;
	height: 100%;

	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Lade-/Energieakzent wie in der Vorlage */
.posid-hero-feature:nth-child(1) .posid-hero-feature__icon,
.posid-hero-feature:nth-child(2) .posid-hero-feature__icon {
	color: #17353d !important;
}

.posid-hero-feature span:last-child {
	color: var(--posid-dark);
	font-size: 0.94rem;
	font-weight: 500;
}


/* Desktop */
@media (min-width: 1101px) {

	.posid-hero-features {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0.9rem 2.2rem !important;
	}

}


/* Mobile */
@media (max-width: 700px) {

	.posid-home-hero,
	.posid-home-hero__visual {
		background: #f8f9f9 !important;
	}

	.posid-hero-features {
		grid-template-columns: 1fr !important;
		gap: 0.85rem !important;
	}
}
/* =========================================================
   POSID – HERO / HEADER MATCH ZUR FREIGEGEBENEN VORLAGE
   ========================================================= */

:root {
	--posid-hero-bg: #f3f5f5;
}


/* ---------------------------------------------------------
   HEADER UND HERO = EIN GEMEINSAMER HINTERGRUND
   --------------------------------------------------------- */

header.wp-block-template-part,
header.wp-block-template-part > .wp-block-group,
.posid-home-hero {
	background: var(--posid-hero-bg) !important;
	border: 0 !important;
	box-shadow: none !important;
}


/* ---------------------------------------------------------
   HEADER DESKTOP
   --------------------------------------------------------- */

@media (min-width: 1101px) {

	header.wp-block-template-part > .wp-block-group {
		width: 100% !important;
		max-width: none !important;

		padding-top: 1.5rem !important;
		padding-bottom: 1.5rem !important;

		padding-left: max(3rem, calc((100vw - 1500px) / 2)) !important;
		padding-right: max(3rem, calc((100vw - 1500px) / 2)) !important;

		box-sizing: border-box !important;
	}

	/* Logo größer */
	header.wp-block-template-part .wp-block-site-logo img {
		width: 190px !important;
		max-width: 190px !important;
		height: auto !important;
	}

	/* Navigation */
	header.wp-block-template-part .wp-block-navigation-item__content {
		font-size: 0.95rem !important;
		font-weight: 700 !important;
		letter-spacing: 0.015em !important;
	}

}


/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

@media (min-width: 1101px) {

	.posid-home-hero {
		width: 100vw !important;
		max-width: none !important;

		padding-top: 3.5rem !important;
		padding-bottom: 4.5rem !important;

		padding-left: max(3rem, calc((100vw - 1500px) / 2)) !important;
		padding-right: max(3rem, calc((100vw - 1500px) / 2)) !important;

		box-sizing: border-box !important;
	}

	.posid-home-hero__inner {
		max-width: 1500px !important;
		margin: 0 auto !important;

		grid-template-columns:
			minmax(0, 0.82fr)
			minmax(0, 1.18fr) !important;

		gap: 4rem !important;
		align-items: center !important;
	}

	.posid-home-hero__content {
		max-width: 620px !important;
	}


	/* Eyebrow */
	.posid-home-hero .posid-eyebrow {
		margin-bottom: 1.5rem !important;

		font-size: 0.82rem !important;
		font-weight: 700 !important;
		letter-spacing: 0.13em !important;
	}


	/* H1 – mehr Luft */
	.posid-home-hero__title {
		margin-top: 0 !important;
		margin-bottom: 1.8rem !important;

		font-size: clamp(3.55rem, 4.25vw, 4.8rem) !important;

		font-weight: 700 !important;

		line-height: 1.08 !important;

		letter-spacing: -0.035em !important;
	}


	/* Einleitung */
	.posid-home-hero__lead {
		max-width: 590px !important;

		margin-bottom: 2rem !important;

		font-size: 1.07rem !important;
		line-height: 1.62 !important;
	}

}


/* ---------------------------------------------------------
   HERO FEATURES
   --------------------------------------------------------- */

.posid-home-hero__systems {
	display: block !important;
}

.posid-hero-features {
	display: grid !important;

	grid-template-columns:
		repeat(2, minmax(0, 1fr)) !important;

	gap: 0 !important;

	margin: 0 0 2rem !important;
}


/* einzelne Zeile */
.posid-hero-feature {
	position: relative;

	display: flex !important;
	align-items: center !important;

	min-height: 2.4rem;

	padding: 0.35rem 1.35rem 0.35rem 0 !important;

	gap: 0.7rem !important;

	font-size: 0.93rem !important;
	font-weight: 500 !important;

	white-space: nowrap;
}


/* kleiner Trennstrich zwischen linker und rechter Spalte */
.posid-hero-feature:nth-child(odd)::after {
	content: "";

	position: absolute;

	right: 0.65rem;
	top: 50%;

	width: 1px;
	height: 1rem;

	background: #c8cece;

	transform: translateY(-50%);
}


/* Icons */
.posid-hero-feature__icon {
	width: 1.4rem !important;
	height: 1.4rem !important;

	flex: 0 0 1.4rem !important;

	color: #17343c !important;
}


/* ---------------------------------------------------------
   BILD – VORERST NUR SAUBER EINPASSEN
   --------------------------------------------------------- */

.posid-energy-visual {
	width: 100% !important;

	background: transparent !important;

	overflow: visible !important;
}

.posid-energy-architecture-img {
	display: block !important;

	width: 100% !important;
	max-width: none !important;

	height: auto !important;

	margin: 0 !important;

	background: transparent !important;

	mix-blend-mode: multiply !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 700px) {

	header.wp-block-template-part,
	header.wp-block-template-part > .wp-block-group,
	.posid-home-hero {
		background: var(--posid-hero-bg) !important;
	}

	header.wp-block-template-part .wp-block-site-logo img {
		width: 155px !important;
		max-width: 155px !important;
	}

	.posid-home-hero__title {
		line-height: 1.08 !important;
	}

	.posid-hero-features {
		grid-template-columns: 1fr !important;
	}

	.posid-hero-feature:nth-child(odd)::after {
		display: none;
	}

}
/* =========================================================
   POSID – VISUAL MATCH PASS 2
   ========================================================= */

:root {
	/* wertigeres, dunkleres POSID-Rot */
	--posid-red: #b91f2a;
}


/* ---------------------------------------------------------
   ALLE ROTEN TEXTE / EYEBROWS
   --------------------------------------------------------- */

.posid-eyebrow,
.posid-home-hero .posid-eyebrow,
[class*="eyebrow"],
.has-posid-red-color {
	color: var(--posid-red) !important;
}


/* ---------------------------------------------------------
   LOGO GRÖSSER + WEITER LINKS
   --------------------------------------------------------- */

@media (min-width: 1101px) {

	header.wp-block-template-part > .wp-block-group {
		padding-left: max(2rem, calc((100vw - 1600px) / 2)) !important;
		padding-right: max(2rem, calc((100vw - 1600px) / 2)) !important;
	}

	header.wp-block-template-part .wp-block-site-logo img {
		width: 225px !important;
		max-width: 225px !important;
		height: auto !important;
	}

}


/* ---------------------------------------------------------
   HERO TYPOGRAFIE
   --------------------------------------------------------- */

.posid-home-hero__title {
	position: relative;

	font-family:
		"Avenir Next",
		"Avenir",
		"Segoe UI",
		Arial,
		sans-serif !important;

	font-weight: 700 !important;
	letter-spacing: -0.025em !important;
	line-height: 1.1 !important;

	padding-bottom: 1.3rem !important;
}


/* roter Akzentstrich unter der H1 */

.posid-home-hero__title::after {
	content: "";

	display: block;

	width: 3.25rem;
	height: 3px;

	margin-top: 1.35rem;

	background: var(--posid-red);

	border-radius: 999px;
}


/* ---------------------------------------------------------
   6 LEISTUNGS-PUNKTE
   --------------------------------------------------------- */

.posid-hero-features {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

	column-gap: 2rem !important;
	row-gap: 0 !important;
}


/* vertikale Trennstriche wieder entfernen */
.posid-hero-feature::after {
	display: none !important;
}


/* horizontale Linien wie in der Vorlage */
.posid-hero-feature {
	min-height: 2.65rem !important;

	padding:
		0.55rem 0
		0.55rem 0 !important;

	border-bottom:
		1px solid #d5dada !important;
}


/* letzte Reihe ohne Linie */
.posid-hero-feature:nth-last-child(-n+2) {
	border-bottom: 0 !important;
}


/* ---------------------------------------------------------
   BUTTONS GLOBAL
   --------------------------------------------------------- */

.wp-block-button__link,
.posid-home-hero__buttons .wp-block-button__link,
header.wp-block-template-part .wp-block-button__link {
	background: var(--posid-red) !important;

	border-radius: 6px !important;

	color: #fff !important;

	font-weight: 700 !important;

	box-shadow: none !important;

	transition:
		background-color 0.2s ease,
		transform 0.2s ease;
}


@media (hover: hover) {

	.wp-block-button__link:hover {
		background: #981923 !important;
		transform: translateY(-1px);
	}

}
/* =========================================================
   POSID – VISUAL MATCH PASS 2
   ========================================================= */

:root {
	/* wertigeres, dunkleres POSID-Rot */
	--posid-red: #b91f2a;
}


/* ---------------------------------------------------------
   ALLE ROTEN TEXTE / EYEBROWS
   --------------------------------------------------------- */

.posid-eyebrow,
.posid-home-hero .posid-eyebrow,
[class*="eyebrow"],
.has-posid-red-color {
	color: var(--posid-red) !important;
}


/* ---------------------------------------------------------
   LOGO GRÖSSER + WEITER LINKS
   --------------------------------------------------------- */

@media (min-width: 1101px) {

	header.wp-block-template-part > .wp-block-group {
		padding-left: max(2rem, calc((100vw - 1600px) / 2)) !important;
		padding-right: max(2rem, calc((100vw - 1600px) / 2)) !important;
	}

	header.wp-block-template-part .wp-block-site-logo img {
		width: 225px !important;
		max-width: 225px !important;
		height: auto !important;
	}

}


/* ---------------------------------------------------------
   HERO TYPOGRAFIE
   --------------------------------------------------------- */

.posid-home-hero__title {
	position: relative;

	font-family:
		"Avenir Next",
		"Avenir",
		"Segoe UI",
		Arial,
		sans-serif !important;

	font-weight: 700 !important;
	letter-spacing: -0.025em !important;
	line-height: 1.1 !important;

	padding-bottom: 1.3rem !important;
}


/* roter Akzentstrich unter der H1 */

.posid-home-hero__title::after {
	content: "";

	display: block;

	width: 3.25rem;
	height: 3px;

	margin-top: 1.35rem;

	background: var(--posid-red);

	border-radius: 999px;
}


/* ---------------------------------------------------------
   6 LEISTUNGS-PUNKTE
   --------------------------------------------------------- */

.posid-hero-features {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

	column-gap: 2rem !important;
	row-gap: 0 !important;
}


/* vertikale Trennstriche wieder entfernen */
.posid-hero-feature::after {
	display: none !important;
}


/* horizontale Linien wie in der Vorlage */
.posid-hero-feature {
	min-height: 2.65rem !important;

	padding:
		0.55rem 0
		0.55rem 0 !important;

	border-bottom:
		1px solid #d5dada !important;
}


/* letzte Reihe ohne Linie */
.posid-hero-feature:nth-last-child(-n+2) {
	border-bottom: 0 !important;
}


/* ---------------------------------------------------------
   BUTTONS GLOBAL
   --------------------------------------------------------- */

.wp-block-button__link,
.posid-home-hero__buttons .wp-block-button__link,
header.wp-block-template-part .wp-block-button__link {
	background: var(--posid-red) !important;

	border-radius: 6px !important;

	color: #fff !important;

	font-weight: 700 !important;

	box-shadow: none !important;

	transition:
		background-color 0.2s ease,
		transform 0.2s ease;
}


@media (hover: hover) {

	.wp-block-button__link:hover {
		background: #981923 !important;
		transform: translateY(-1px);
	}

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 700px) {

	.posid-hero-feature {
		border-bottom: 1px solid #d5dada !important;
	}

	.posid-hero-feature:last-child {
		border-bottom: 0 !important;
	}

	.posid-home-hero__title::after {
		width: 2.8rem;
	}

}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 700px) {

	.posid-hero-feature {
		border-bottom: 1px solid #d5dada !important;
	}

	.posid-hero-feature:last-child {
		border-bottom: 0 !important;
	}

	.posid-home-hero__title::after {
		width: 2.8rem;
	}

}
/* =========================================================
   POSID – MATCH ZUR REFERENZVORLAGE
   ========================================================= */

:root {
	--posid-red: #99151b;
	--posid-hero-bg: #f4f5f4;
}


/* HEADER + HERO GLEICHER HINTERGRUND */

header.wp-block-template-part,
header.wp-block-template-part > .wp-block-group,
.posid-home-hero {
	background: var(--posid-hero-bg) !important;
}


/* DESKTOP HEADER */

@media (min-width: 1101px) {

	header.wp-block-template-part > .wp-block-group {
		padding-left: 4.5rem !important;
		padding-right: 3.5rem !important;
	}

	header.wp-block-template-part .wp-block-site-logo img {
		width: 245px !important;
		max-width: 245px !important;
		height: auto !important;
	}

	header.wp-block-template-part .wp-block-navigation-item__content {
		font-size: 0.95rem !important;
		font-weight: 700 !important;
	}

}


/* HERO TEXTBEREICH */

.posid-home-hero__content {
	max-width: 610px !important;
}

.posid-home-hero__title {
	font-family:
		"Avenir Next",
		"Avenir",
		"Segoe UI",
		Helvetica,
		Arial,
		sans-serif !important;

	font-size: clamp(3.55rem, 4.1vw, 4.7rem) !important;

	font-weight: 650 !important;

	line-height: 1.12 !important;

	letter-spacing: -0.03em !important;

	margin-bottom: 1.5rem !important;

	padding-bottom: 0 !important;
}


/* roter Strich */

.posid-home-hero__title::after {
	content: "";

	display: block;

	width: 3.6rem;
	height: 2px;

	margin-top: 1.25rem;

	background: var(--posid-red);

	border-radius: 99px;
}


/* Hero Einleitung */

.posid-home-hero__lead {
	font-size: 1.08rem !important;
	line-height: 1.6 !important;
	margin-bottom: 1.7rem !important;
}


/* 6 SYSTEMPUNKTE */

.posid-hero-features {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

	column-gap: 2.75rem !important;
	row-gap: 0 !important;

	margin-top: 0.5rem !important;
	margin-bottom: 2rem !important;
}

.posid-hero-feature {
	min-height: 2.75rem !important;

	display: flex !important;
	align-items: center !important;

	padding: 0.5rem 0 !important;

	border-bottom: 1px solid #d9dddd !important;

	font-size: 0.95rem !important;
}

.posid-hero-feature:nth-last-child(-n+2) {
	border-bottom: 0 !important;
}


/* BUTTONS */

.posid-home-hero__buttons {
	display: flex !important;
	gap: 1rem !important;
	align-items: center !important;
}

.posid-home-hero__buttons .wp-block-button__link {
	border-radius: 5px !important;

	padding: 1rem 1.35rem !important;

	font-size: 0.87rem !important;

	font-weight: 700 !important;
}


/* ERSTER BUTTON = ROT */

.posid-home-hero__buttons
.wp-block-button:first-child
.wp-block-button__link {

	background: var(--posid-red) !important;

	color: #fff !important;

	border: 1px solid var(--posid-red) !important;
}


/* ZWEITER BUTTON = OUTLINE */

.posid-home-hero__buttons
.wp-block-button:nth-child(2)
.wp-block-button__link {

	background: transparent !important;

	color: var(--posid-dark) !important;

	border: 1px solid #7a8588 !important;
}


/* EYEBROW */

.posid-home-hero .posid-eyebrow {
	color: var(--posid-red) !important;
}


/* BILD RECHTS */

@media (min-width: 1101px) {

	.posid-home-hero__inner {
		grid-template-columns:
			minmax(0, 0.74fr)
			minmax(0, 1.26fr) !important;

		gap: 3rem !important;
	}

	.posid-home-hero__visual {
		min-height: 610px !important;

		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.posid-energy-architecture-img {
		width: 110% !important;
		max-width: none !important;

		margin-left: -2% !important;
	}
}


/* MOBILE */

@media (max-width: 700px) {

	.posid-home-hero__buttons {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.posid-home-hero__buttons .wp-block-button,
	.posid-home-hero__buttons .wp-block-button__link {
		width: 100% !important;
	}

}
/* =========================================================
   POSID – HEADER BREITER / LOGO LINKS AUSRICHTEN
   ========================================================= */

@media (min-width: 1101px) {

	header.wp-block-template-part > .wp-block-group {
		width: 100% !important;
		max-width: none !important;

		padding-left: max(4rem, calc((100vw - 1580px) / 2)) !important;
		padding-right: max(4rem, calc((100vw - 1580px) / 2)) !important;

		box-sizing: border-box !important;
	}

	/* inneren Gutenberg-Container nicht mehr künstlich verengen */
	header.wp-block-template-part > .wp-block-group > .wp-block-group {
		width: 100% !important;
		max-width: 1580px !important;

		margin-left: auto !important;
		margin-right: auto !important;

		justify-content: space-between !important;
	}

	/* Logo */
	header.wp-block-template-part .wp-block-site-logo {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	header.wp-block-template-part .wp-block-site-logo img {
		width: 245px !important;
		max-width: 245px !important;
	}

}
/* =========================================================
   POSID – HEADER LOGO FINAL ALIGNMENT
   ========================================================= */

@media (min-width: 1101px) {

	header.wp-block-template-part .wp-block-site-logo {
		margin: 0 !important;
		padding: 0 !important;
	}

	header.wp-block-template-part .wp-block-site-logo a {
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	header.wp-block-template-part .wp-block-site-logo img {
		display: block !important;

		width: 285px !important;
		max-width: 285px !important;
		height: auto !important;

		margin: 0 !important;
		padding: 0 !important;
	}

	/* Header-Raster auf dieselbe linke Kante wie der Hero setzen */
	header.wp-block-template-part > .wp-block-group {
		padding-left: max(3rem, calc((100vw - 1500px) / 2)) !important;
		padding-right: max(3rem, calc((100vw - 1500px) / 2)) !important;
	}

	header.wp-block-template-part .wp-block-row {
		width: 100% !important;
		max-width: 1500px !important;

		margin-left: auto !important;
		margin-right: auto !important;

		justify-content: space-between !important;
	}

}
/* =========================================================
   POSID – LOGO TEST / RASTER ZURÜCKSETZEN
   ========================================================= */

@media (min-width: 1101px) {

	header.wp-block-template-part > .wp-block-group {
		padding-left: 4.5rem !important;
		padding-right: 3.5rem !important;
	}

	header.wp-block-template-part .wp-block-row {
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	header.wp-block-template-part .wp-block-site-logo img {
		width: 245px !important;
		max-width: 245px !important;
	}

}
/* =========================================================
   POSID – HEADER LOGO DIREKT
   ========================================================= */

@media (min-width: 1101px) {

	.posid-header-logo {
		margin: 0 !important;
		padding: 0 !important;
	}

	.posid-header-logo img {
		width: 310px !important;
		max-width: 310px !important;
		height: auto !important;

		display: block !important;

		margin: 0 !important;
		padding: 0 !important;
	}

}
/* =========================================================
   POSID – LOGO WRAPPER FIX
   WordPress begrenzt den Site-Logo-Block
   ========================================================= */

@media (min-width: 1101px) {

	/* kompletter WordPress-Logo-Block */
	header .posid-header-logo {
		width: 260px !important;
		min-width: 260px !important;
		max-width: 260px !important;

		flex: 0 0 260px !important;

		margin: 0 !important;
		padding: 0 !important;
	}

	header .posid-header-logo a {
		display: block !important;

		width: 260px !important;
		max-width: none !important;

		margin: 0 !important;
		padding: 0 !important;
	}

	header .posid-header-logo img {
		display: block !important;

		width: 260px !important;
		min-width: 260px !important;
		max-width: none !important;

		height: auto !important;

		margin: 0 !important;
		padding: 0 !important;
	}
}
/* =========================================================
   POSID – CUSTOM HEADER LOGO
   ========================================================= */

.posid-header-logo-custom {
	display: block !important;
	width: 240px !important;
	flex: 0 0 240px !important;

	margin: 0 !important;
	padding: 0 !important;

	text-decoration: none !important;
}

.posid-header-logo-custom img {
	display: block !important;
	width: 100% !important;
	height: auto !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* Desktop */
@media (min-width: 1101px) {

	header.wp-block-template-part > .wp-block-group {
		padding-left: max(3rem, calc((100vw - 1500px) / 2)) !important;
		padding-right: max(3rem, calc((100vw - 1500px) / 2)) !important;
	}

	header.wp-block-template-part .wp-block-row {
		width: 100% !important;
		max-width: 1500px !important;

		margin-left: auto !important;
		margin-right: auto !important;

		justify-content: space-between !important;
		align-items: center !important;
	}
}


/* Mobile */
@media (max-width: 700px) {

	.posid-header-logo-custom {
		width: 165px !important;
		flex-basis: 165px !important;
	}
}
/* =========================================================
   POSID – CUSTOM LOGO FEINTUNING
   ========================================================= */

@media (min-width: 1101px) {

	.posid-header-logo-custom {
		width: 210px !important;
		flex: 0 0 210px !important;

		margin-left: -20px !important;
	}

}
/* =========================================================
   POSID – HERO FEINSCHLIFF
   TYPOGRAFIE + BILDINTEGRATION
   ========================================================= */


/* ---------- H1 näher an die Referenz ---------- */

.posid-home-hero__title {
	font-family:
		"Avenir Next",
		Avenir,
		"Helvetica Neue",
		Arial,
		sans-serif !important;

	font-weight: 600 !important;

	letter-spacing: -0.022em !important;
	line-height: 1.12 !important;

	margin-top: 0 !important;
	margin-bottom: 1.6rem !important;

	padding-bottom: 0 !important;
}


/* kurzer dunkelroter Strich wie in der Vorlage */

.posid-home-hero__title::after {
	content: "" !important;

	display: block !important;

	width: 58px !important;
	height: 2px !important;

	margin-top: 1.35rem !important;

	background: #99151b !important;

	border-radius: 999px !important;
}


/* etwas mehr Abstand nach dem Strich */

.posid-home-hero__lead {
	margin-top: 0 !important;
}


/* ---------- Bild besser in Hero einblenden ---------- */

.posid-energy-visual {
	background: transparent !important;
}

.posid-energy-architecture-img {
	display: block !important;

	width: 100% !important;
	height: auto !important;

	background: transparent !important;

	/*
	 * DARKEN ist hier besser als MULTIPLY:
	 * der helle Bildhintergrund verschwindet stärker
	 * im grauen Hero-Hintergrund.
	 */
	mix-blend-mode: darken !important;
}


/* Desktop: Grafik etwas größer wie in der Referenz */

@media (min-width: 1101px) {

	.posid-home-hero__visual {
		overflow: visible !important;
	}

	.posid-energy-visual {
		width: 108% !important;
		margin-left: -2% !important;
	}

}


/* Mobile bleibt normal */

@media (max-width: 700px) {

	.posid-energy-visual {
		width: 100% !important;
		margin-left: 0 !important;
	}

}
/* =========================================================
   POSID – ENERGIEARCHITEKTUR POSITION / GRÖSSE
   ========================================================= */

.posid-energy-visual {
	background: transparent !important;
	overflow: visible !important;
}

.posid-energy-architecture-img {
	display: block !important;
	background: transparent !important;
	mix-blend-mode: normal !important;

	width: 132% !important;
	max-width: none !important;

	margin-left: -13% !important;
	margin-top: -7% !important;

	height: auto !important;
}


/* Desktop */
@media (min-width: 1101px) {

	.posid-home-hero__visual {
		overflow: visible !important;
		align-self: stretch !important;
		display: flex !important;
		align-items: flex-start !important;
		justify-content: center !important;
	}

}


/* Mobile */
@media (max-width: 700px) {

	.posid-energy-architecture-img {
		width: 100% !important;
		margin-left: 0 !important;
		margin-top: 0 !important;
	}
}
/* =========================================================
   POSID – ENERGIEGRAFIK GRÖSSE FINAL
   ========================================================= */

.posid-home-hero__visual {
	background: transparent !important;
	overflow: visible !important;
}

figure.posid-hero-energy-image {
	display: block !important;

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;
	overflow: visible !important;

	transform:
		translate(5%, 10%)
		scale(1.43) !important;

	transform-origin: center center !important;
}

figure.posid-hero-energy-image img {
	display: block !important;

	width: 100% !important;
	max-width: none !important;
	height: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;
}


/* MOBILE */

@media (max-width: 700px) {

	figure.posid-hero-energy-image {
		transform: none !important;
		width: 100% !important;
	}
}/* =========================================================
   POSID – VERTRAUEN DURCH ERFAHRUNG FINAL
   ========================================================= */

.posid-trust {
	width: 100vw !important;
	max-width: none !important;

	position: relative;
	left: 50%;
	transform: translateX(-50%);

	box-sizing: border-box;

	background: #ffffff;

	padding:
		1.25rem
		max(3rem, calc((100vw - 1500px) / 2))
		2.5rem;
}


/* Überschrift exakt auf der Linie */

.posid-trust__headline {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	max-width: 1500px;

	margin: 0 auto 1.8rem;

	color: var(--posid-dark);

	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;

	white-space: nowrap;
}

.posid-trust__headline::before {
	content: "";

	position: absolute;

	left: 0;
	right: 0;
	top: 50%;

	height: 1px;

	background: #d6dada;

	transform: translateY(-50%);

	z-index: 0;
}

.posid-trust__headline span {
	position: relative;
	z-index: 1;

	background: #ffffff;

	padding: 0 1.25rem;
}


/* Logo-Reihe */

.posid-trust__logos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));

	align-items: center;

	width: 100%;
	max-width: 1200px;

	margin: 0 auto;

	gap: 4rem;
}


/* einzelne Logo-Fläche */

.posid-trust__logo {
	display: flex;
	align-items: center;
	justify-content: center;

	height: 110px;
	min-width: 0;
}

.posid-trust__logo img {
	display: block;

	width: auto;
	max-width: 100%;
	height: auto;

	object-fit: contain;
}


/* Logos deutlich größer */

.posid-trust__logo--acemo img {
	max-height: 82px;
}

.posid-trust__logo--tanke img {
	max-height: 78px;
}

.posid-trust__logo--univers img {
	max-height: 76px;
}


/* MOBILE */

@media (max-width: 700px) {

	.posid-trust {
		padding:
			1.4rem
			1.25rem
			2rem;
	}

	.posid-trust__headline {
		font-size: 0.68rem;
		letter-spacing: 0.03em;
	}

	.posid-trust__headline span {
		padding: 0 0.8rem;
	}

	.posid-trust__logos {
		grid-template-columns: 1fr;
		gap: 1.6rem;
	}

	.posid-trust__logo {
		height: 80px;
	}

	.posid-trust__logo--acemo img {
	max-height: 78px;
}

.posid-trust__logo--tanke img {
	max-height: 68px;
}

.posid-trust__logo--univers img {
	max-height: 66px;

}
/* =========================================================
   POSID – DIE HERAUSFORDERUNG
   ========================================================= */

.posid-challenge {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(4rem, 7vw, 8rem);

	width: min(1240px, calc(100% - 3rem));
	margin: 0 auto;

	padding: clamp(5.5rem, 8vw, 8rem) 0;

	align-items: start;
}


/* ---------- LINKE SEITE ---------- */

.posid-section-eyebrow {
	margin: 0 0 1.25rem;

	color: var(--posid-red);

	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1.3;

	text-transform: uppercase;
}


.posid-challenge__intro h2 {
	max-width: 620px;

	margin: 0;

	color: var(--posid-dark);

	font-family:
		"Avenir Next",
		Avenir,
		"Helvetica Neue",
		Arial,
		sans-serif;

	font-size: clamp(2.7rem, 4vw, 4.2rem);
	font-weight: 600;

	line-height: 1.08;
	letter-spacing: -0.025em;
}


.posid-challenge__accent {
	width: 3.4rem;
	height: 2px;

	margin: 1.6rem 0 2rem;

	background: var(--posid-red);

	border-radius: 99px;
}


.posid-challenge__lead {
	max-width: 590px;

	margin: 0 0 1.25rem;

	color: var(--posid-dark);

	font-size: 1.12rem;
	line-height: 1.65;
}


.posid-challenge__text {
	max-width: 570px;

	margin: 0;

	color: var(--posid-gray);

	font-size: 1rem;
	line-height: 1.65;
}


/* ---------- RECHTE SEITE ---------- */

.posid-challenge__topics {
	border-top: 1px solid #ccd2d2;
}


.posid-challenge__topic {
	display: grid;
	grid-template-columns: 3.6rem 1fr;
	gap: 1.4rem;

	padding: 1.55rem 0;

	border-bottom: 1px solid #ccd2d2;
}


.posid-challenge__number {
	padding-top: 0.15rem;

	color: var(--posid-red);

	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}


.posid-challenge__topic h3 {
	margin: 0 0 0.45rem;

	color: var(--posid-dark);

	font-size: 1.18rem;
	font-weight: 650;

	line-height: 1.3;
}


.posid-challenge__topic p {
	max-width: 580px;

	margin: 0;

	color: var(--posid-gray);

	font-size: 0.96rem;
	line-height: 1.6;
}


/* ---------- MOBILE ---------- */

@media (max-width: 700px) {

	.posid-challenge {
		grid-template-columns: 1fr;
		gap: 3rem;

		width: calc(100% - 2.5rem);

		padding: 4.5rem 0;
	}

	.posid-challenge__intro h2 {
		font-size: clamp(2.35rem, 11vw, 3.2rem);
	}

	.posid-challenge__topic {
		grid-template-columns: 2.6rem 1fr;
		gap: 1rem;

		padding: 1.35rem 0;
	}


}
/* =========================================================
   STARTSEITE – ABSTAND ZWISCHEN INHALT UND FOOTER ENTFERNEN
   ========================================================= */

body.home .wp-site-blocks > footer.wp-block-template-part {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}

body.home main + footer.wp-block-template-part {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}

body.home main {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}/* =========================================================
   STARTSEITE – WEISSEN ABSTAND VOR FOOTER ENTFERNEN
   Template-Struktur: Header > Gruppe/Inhalt > Footer
   ========================================================= */

body.home .wp-site-blocks > .wp-block-group {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

body.home .wp-site-blocks > .wp-block-group + footer.wp-block-template-part {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

body.home .wp-site-blocks {
	row-gap: 0 !important;
	gap: 0 !important;
}/* =========================================================
   STARTSEITE – WEISSEN TEMPLATE-ABSTAND VOR FOOTER SCHLIESSEN
   ========================================================= */

body.home footer.wp-block-template-part {
	margin-top: -76px !important;
	position: relative;
	z-index: 5;
}/* =========================================================
   POSID – HAUPTINHALT DIREKT AN FOOTER
   ========================================================= */

.posid-main-wrapper {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.posid-main-wrapper > .wp-block-post-content {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.posid-main-wrapper + footer.wp-block-template-part {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

.wp-site-blocks {
	gap: 0 !important;
}/* =========================================================
   STARTSEITE – GLOBALEN BLOCKABSTAND VOR FOOTER ENTFERNEN
   ========================================================= */

body.home .wp-site-blocks > .posid-main-wrapper + footer,
body.home .wp-site-blocks > .posid-main-wrapper + .wp-block-template-part {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}

body.home .wp-site-blocks > * + * {
	margin-block-start: 0 !important;
}
/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

	html {
		scroll-behavior: auto;
	}

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

		scroll-behavior: auto !important;
	}
}/* MOBILE – HERO HEADLINE */
@media (max-width: 767px) {
	.posid-hero-title {
		font-size: clamp(2.15rem, 9vw, 3rem) !important;
		line-height: 1.06 !important;
		letter-spacing: -0.025em !important;
		max-width: 100% !important;
		overflow-wrap: break-word;
		word-break: normal;
	}/* MOBILE – HEADER + HERO BREITE */
@media (max-width: 767px) {

	/* Kein horizontales Herausragen */
	html,
	body {
		overflow-x: hidden;
	}

	/* Header auf Handy sauber innerhalb des Screens */
	header.wp-block-template-part {
		overflow: hidden;
	}

	header.wp-block-template-part .wp-block-group {
		max-width: 100% !important;
	}

	header.wp-block-template-part .wp-block-button__link {
		font-size: 0.72rem !important;
		line-height: 1.1 !important;
		padding: 0.85rem 0.9rem !important;
		white-space: nowrap !important;
	}

	/* Hero-Hintergrund auf volle mobile Breite */
	body.home main,
	body.home .wp-block-post-content {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.home .wp-block-post-content > .wp-block-group:first-child {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 1.25rem !important;
		padding-right: 1.25rem !important;
		background: #f5f5f2 !important;
	}

	/* Hero-Spalten dürfen nicht überlaufen */
	body.home .wp-block-post-content > .wp-block-group:first-child .wp-block-columns {
		width: 100% !important;
		max-width: 100% !important;
	}

	body.home .wp-block-post-content > .wp-block-group:first-child .wp-block-column {
		min-width: 0 !important;
	}

	/* Feature-Zeilen im Hero */
	body.home .wp-block-post-content > .wp-block-group:first-child .wp-block-group {
		max-width: 100% !important;
	}

	body.home .wp-block-post-content > .wp-block-group:first-child p,
	body.home .wp-block-post-content > .wp-block-group:first-child span {
		overflow-wrap: break-word;
	}
}/* MOBILE – MENÜ + HERO-FEATURES */
@media (max-width: 767px) {

	/* WordPress-Menübutton deutlich sichtbar machen */
	.wp-block-navigation__responsive-container-open {
		width: 44px !important;
		height: 44px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 0 !important;
		border: 1px solid #17343c !important;
		border-radius: 4px !important;
		color: #17343c !important;
		background: transparent !important;
	}

	.wp-block-navigation__responsive-container-open svg {
		width: 28px !important;
		height: 28px !important;
	}

	.wp-block-navigation__responsive-container-open svg path,
	.wp-block-navigation__responsive-container-open svg line {
		stroke: #17343c !important;
		stroke-width: 2.2 !important;
	}

	/* Hero-Featurebereich auf Mobil wirklich einspaltig */
	body.home .wp-block-post-content > .wp-block-group:first-child
	.wp-block-columns {
		display: block !important;
	}

	body.home .wp-block-post-content > .wp-block-group:first-child
	.wp-block-column {
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: 100% !important;
	}

	/* Featuretexte dürfen nicht mehr aus dem Bildschirm laufen */
	body.home .wp-block-post-content > .wp-block-group:first-child
	.wp-block-column p,
	body.home .wp-block-post-content > .wp-block-group:first-child
	.wp-block-column span {
		max-width: 100% !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	/* Etwas Luft zwischen den Featurezeilen */
	body.home .wp-block-post-content > .wp-block-group:first-child
	.wp-block-column {
		margin-bottom: 0.5rem;
	}
}/* MOBILE – HERO FEATURES KOMPAKTER */
@media (max-width: 767px) {

	body.home .wp-block-post-content > .wp-block-group:first-child
	.wp-block-column {
		margin-bottom: 0.2rem !important;
	}

	body.home .wp-block-post-content > .wp-block-group:first-child
	.wp-block-column p,
	body.home .wp-block-post-content > .wp-block-group:first-child
	.wp-block-column span {
		font-size: 0.95rem !important;
		line-height: 1.25 !important;
	}

	body.home .wp-block-post-content > .wp-block-group:first-child
	.wp-block-column .wp-block-group {
		gap: 0.45rem !important;
	}
}/* MOBILE – HERO FEATURE-TEXTE FEINJUSTIEREN */
@media (max-width: 767px) {

	body.home .wp-block-post-content > .wp-block-group:first-child
	.wp-block-column p,
	body.home .wp-block-post-content > .wp-block-group:first-child
	.wp-block-column span {
		font-size: 0.88rem !important;
		line-height: 1.2 !important;
	}

	body.home .wp-block-post-content > .wp-block-group:first-child
	.wp-block-column .wp-block-group {
		gap: 0.25rem !important;
	}

}/* MOBILE – HERO-BILD WIEDER SICHTBAR */
@media (max-width: 767px) {

	body.home .wp-block-post-content > .wp-block-group:first-child
	.wp-block-columns {
		display: flex !important;
		flex-direction: column !important;
	}

	body.home .wp-block-post-content > .wp-block-group:first-child
	.wp-block-column:last-child {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-top: 1.5rem !important;
	}

	body.home .wp-block-post-content > .wp-block-group:first-child
	.wp-block-column:last-child img {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		max-width: 100% !important;
		object-fit: contain !important;
	}
}/* MOBILE LANDSCAPE – HERO-HINTERGRUND VOLLE BREITE */
@media (max-width: 900px) and (orientation: landscape) {

	body.home .wp-block-post-content > .wp-block-group:first-child {
		width: 100vw !important;
		max-width: 100vw !important;

		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;

		padding-left: 2rem !important;
		padding-right: 2rem !important;

		background: #f5f5f2 !important;
		box-sizing: border-box !important;
	}

	body.home main,
	body.home .wp-block-post-content {
		overflow-x: hidden !important;
	}
}