/* MARCH PUMPEN – Startseite
   Kopfbereich (Template) + Abschnitte aus dem Seiteninhalt + dynamische Abschnitte (Shortcodes).
   Farben, Abstände und Schriften nur über die Variablen aus base.css. */

.is-home .site-main { overflow-x: clip; }
.has-cta-band .site-footer { margin-top: 0; }

/* Überschriften der Startseite */
.is-home .site-main :where(h1, h2, h3) {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 700;
	letter-spacing: -.01em;
	text-wrap: balance;
}
.is-home .site-main :where(h1) { font-size: clamp(2.75rem, 6.4vw, 5.6rem); line-height: .95; }
.is-home .site-main :where(h2) { font-size: clamp(2.2rem, 5vw, 4.4rem); line-height: 1; }
.is-home .site-main :where(h3) { font-size: 1.4rem; line-height: 1.15; }
.is-home .site-main :where(p, ul, ol, figure, blockquote, address) { margin: 0; padding: 0; }
.is-home .site-main :where(ul, ol) { list-style: none; }

/* Buttons, die base.css nicht kennt */
.btn--outline { border-color: rgba(255, 255, 255, .55); color: #fff; background: rgba(255, 255, 255, .06); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.btn--outline:hover { background: rgba(255, 255, 255, .18); border-color: #fff; }

/* Textlink mit Pfeil */
.home-link { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; color: var(--color-cyan); text-decoration: none; }
.home-link::after { content: "\2192"; transition: transform .2s var(--ease); }
.home-link:hover::after { transform: translateX(6px); }

/* Abschnitte */
.home-section { position: relative; isolation: isolate; padding-block: clamp(4.5rem, 10vw, 8.5rem); overflow: hidden; }
.home-section__head { margin-bottom: clamp(2rem, 4vw, 3.5rem); }

/* Einblendung beim Scrollen (ohne JS sofort sichtbar) */
.js [data-anim] { opacity: 0; transition: opacity .9s ease, transform .9s var(--ease); transition-delay: var(--d, 0s); }
.js [data-anim="up"] { transform: translateY(40px); }
.js [data-anim="left"] { transform: translateX(-50px); }
.js [data-anim].is-visible { opacity: 1; transform: none; }

/* ------------------------------------------------------------------
   Kopfbereich
   ------------------------------------------------------------------ */
.home-hero {
	--mx: 70%;
	--my: 40%;
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	min-height: min(calc(100svh - 6.25rem), 58rem);
	overflow: hidden;
	background: var(--color-bg);
}
.home-hero__scenes,
.home-hero__scene { position: absolute; inset: 0; margin: 0; padding: 0; list-style: none; }
.home-hero__scene { opacity: 0; transition: opacity 1.4s ease; }
.home-hero__scene.is-active { opacity: 1; }
.home-hero__scene img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; }
.home-hero__scene.is-active img { animation: home-camera 14s ease-out forwards; }
.home-hero__scene--plain img { filter: brightness(.85); }
.home-hero__scene--photo img { filter: brightness(.7) saturate(1.1); }
.home-hero__scene--invert img { filter: invert(1) hue-rotate(180deg) brightness(1.15) saturate(1.3); }
.home-hero.is-paused .home-hero__scene.is-active img { animation-play-state: paused; }
@keyframes home-camera { from { transform: scale(1); } to { transform: scale(1.12) translate3d(-1.5%, -1%, 0); } }

.home-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(5, 15, 26, .92) 0%, rgba(5, 15, 26, .8) 48%, rgba(5, 15, 26, .35) 75%, rgba(5, 15, 26, 0) 100%),
		linear-gradient(0deg, var(--color-bg) 0%, transparent 32%);
}
.home-hero__glow {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: radial-gradient(28rem circle at var(--mx) var(--my), rgba(71, 208, 255, .2), transparent 60%);
	mix-blend-mode: screen;
}
.home-hero__grid {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: .13;
	pointer-events: none;
	background-image: linear-gradient(rgba(105, 164, 201, .5) 1px, transparent 1px), linear-gradient(90deg, rgba(105, 164, 201, .5) 1px, transparent 1px);
	background-size: 64px 64px;
	-webkit-mask-image: linear-gradient(90deg, #000 5%, transparent 75%);
	mask-image: linear-gradient(90deg, #000 5%, transparent 75%);
}

.home-hero__content { position: relative; z-index: 2; flex: 1; display: flex; align-items: center; padding-block: clamp(3rem, 8vw, 6rem) 2rem; }
.home-hero__col { max-width: 72rem; }
.home-hero__line { display: block; overflow: hidden; padding-bottom: .06em; margin-bottom: -.06em; }
.home-hero__line > span { display: block; animation: home-rise 1s var(--ease) both; }
.home-hero__line:nth-child(2) > span { animation-delay: .12s; }
.home-hero__line:nth-child(3) > span { animation-delay: .24s; }
@keyframes home-rise { from { transform: translateY(105%); } to { transform: none; } }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2rem; animation: home-fade 1s ease .6s both; }
@keyframes home-fade { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

.home-hero__foot { position: relative; z-index: 2; padding-bottom: clamp(1.25rem, 3vw, 2rem); }
.home-hero__foot-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem 3rem; align-items: end; }

.home-stats { display: grid; grid-auto-flow: column; justify-content: start; padding-top: 1.1rem; border-top: 1px solid var(--color-line); }
.home-stats > div { padding-right: 2rem; margin-right: 2rem; border-right: 1px solid var(--color-line); }
.home-stats > div:last-child { margin-right: 0; padding-right: 0; border-right: 0; }
.home-stats b { display: block; font-family: var(--font-display); font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1; color: var(--color-cyan); font-variant-numeric: tabular-nums; }
.home-stats > div > span { display: block; max-width: 11rem; margin-top: .3rem; font-size: .9rem; line-height: 1.35; color: var(--color-text-muted); }

.home-scene-controls { display: flex; align-items: center; gap: .6rem; }
.home-scene-controls__list { display: flex; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.home-scene-btn,
.home-pause {
	position: relative;
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	overflow: hidden;
	border: 2px solid rgba(255, 255, 255, .3);
	border-radius: 50%;
	background: rgba(5, 15, 26, .55);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	font-weight: 700;
	font-size: .95rem;
}
.home-scene-btn::before { content: ""; position: absolute; inset: 0; background: var(--color-blue); transform: scaleY(0); transform-origin: bottom; }
.home-scene-btn span { position: relative; }
.home-scene-btn[aria-current="true"] { border-color: var(--color-cyan); }
.home-scene-btn[aria-current="true"]::before { animation: home-fill 7s linear forwards; }
.home-hero.is-paused .home-scene-btn[aria-current="true"]::before { animation-play-state: paused; }
@keyframes home-fill { to { transform: scaleY(1); } }
.home-pause svg { width: 1rem; height: 1rem; fill: currentColor; }
.home-pause__play { display: none; }
.home-pause[aria-pressed="false"] .home-pause__play { display: block; }
.home-pause[aria-pressed="false"] .home-pause__pause { display: none; }

/* ------------------------------------------------------------------
   Laufband (Seiteninhalt: <div class="home-marquee"><ul>…</ul></div>)
   ------------------------------------------------------------------ */
.home-marquee { position: relative; overflow: hidden; padding-block: 1.1rem; background: linear-gradient(90deg, #072b47, #0a4f7e); }
.home-marquee__track { display: flex; width: max-content; animation: home-marquee 70s linear infinite; }
.home-marquee:hover .home-marquee__track { animation-play-state: paused; }
.home-marquee ul { display: flex; flex: none; }
.home-marquee li { display: flex; align-items: center; font-family: var(--font-display); font-size: 1.35rem; font-weight: 700; white-space: nowrap; }
.home-marquee li::after { content: ""; width: .5rem; height: .5rem; margin-inline: 1.6rem; background: var(--color-cyan); transform: rotate(45deg); }
@keyframes home-marquee { to { transform: translateX(-50%); } }

/* ------------------------------------------------------------------
   Schnittmodell-Band (Seiteninhalt: section.home-story)
   ------------------------------------------------------------------ */
.home-story { position: relative; overflow: hidden; background: radial-gradient(ellipse at 50% 35%, #0d2a45 0%, var(--color-bg) 72%); }
.home-story__frame { position: relative; display: flex; align-items: flex-end; min-height: clamp(30rem, 62vw, 46rem); }
.home-story__word {
	position: absolute;
	left: -1%;
	top: 6%;
	white-space: nowrap;
	font-family: var(--font-display);
	font-size: clamp(7rem, 22vw, 20rem);
	font-weight: 700;
	line-height: .8;
	color: transparent;
	-webkit-text-stroke: 2px rgba(71, 208, 255, .18);
	user-select: none;
}
.home-story__img { position: absolute; inset: -6% 0; z-index: 1; width: 100%; height: 112%; object-fit: cover; object-position: 40% 50%; filter: drop-shadow(0 30px 60px rgba(0, 0, 0, .5)); }
.home-story__veil { position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(0deg, rgba(5, 15, 26, .96) 0%, rgba(5, 15, 26, .55) 32%, transparent 55%), linear-gradient(180deg, var(--color-bg) 0%, transparent 18%); }
.home-story__text { position: relative; z-index: 3; padding-bottom: clamp(2rem, 5vw, 3.5rem); }
.home-story__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem 3rem; }
.home-story__facts li { padding-top: 1rem; border-top: 2px solid var(--color-cyan); }
.home-story__facts strong { display: block; font-family: var(--font-display); font-size: clamp(1.5rem, 2.6vw, 2.3rem); line-height: 1.1; }
.home-story__facts span { display: block; margin-top: .4rem; color: var(--color-text-muted); }

/* ------------------------------------------------------------------
   Zwei Wege (Seiteninhalt: section.home-section > .home-ways)
   ------------------------------------------------------------------ */
.home-ways__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.home-way {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	min-height: clamp(26rem, 52vw, 40rem);
	padding: clamp(1.5rem, 3vw, 2.6rem);
	overflow: hidden;
	border: 1px solid var(--color-line);
	border-radius: 1.6rem;
	text-decoration: none;
	transition: border-color .3s;
}
.home-way:hover { border-color: var(--color-cyan); }
.home-way img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.home-way:hover img { transform: scale(1.07); }
.home-way::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(5, 15, 26, .1) 0%, rgba(5, 15, 26, .55) 50%, rgba(5, 15, 26, .95) 100%); }
.home-way--cut { background: linear-gradient(135deg, #0a2036, #0d3a5e); }
.home-way--cut img { object-position: 30% 50%; }
.is-home .site-main .home-way h3 { font-size: clamp(2rem, 3.8vw, 3.2rem); line-height: 1.02; }
.home-way .home-link { margin-top: 1rem; }

/* ------------------------------------------------------------------
   Produkte (Shortcode [march_produkte]): dunkle Fläche mit Punktraster, Karten in Inhaltsbreite, Pfeile statt Scrollbalken
   ------------------------------------------------------------------ */
.home-products {
	--gap: 1.5rem;
	background:
		radial-gradient(40rem 26rem at 85% 30%, rgba(11, 143, 223, .16), transparent 70%),
		radial-gradient(34rem 22rem at 5% 85%, rgba(71, 208, 255, .08), transparent 70%),
		radial-gradient(rgba(105, 164, 201, .22) 1px, transparent 1.5px) 0 0 / 28px 28px,
		var(--color-bg-alt);
	border-block: 1px solid var(--color-line);
}
/* Mit Canvas-Punkten (home.js) entfällt das statische Punktraster */
.home-products.has-dots {
	background:
		radial-gradient(40rem 26rem at 85% 30%, rgba(11, 143, 223, .16), transparent 70%),
		radial-gradient(34rem 22rem at 5% 85%, rgba(71, 208, 255, .08), transparent 70%),
		var(--color-bg-alt);
}
.home-products__dots { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; pointer-events: none; }
.home-products__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.5rem 3rem; }
.is-home .site-main .home-products h2 { max-width: 46rem; }

.home-track-controls { display: flex; gap: .6rem; }
.home-track-controls button { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; padding: 0; border: 2px solid var(--color-line); border-radius: 50%; background: rgba(255, 255, 255, .06); color: inherit; transition: background-color .2s, color .2s, opacity .2s; }
.home-track-controls button:hover:not(:disabled) { border-color: var(--color-cyan); color: var(--color-cyan); }
.home-track-controls button:disabled { opacity: .3; cursor: default; }

.home-products .home-products__track {
	display: flex;
	gap: var(--gap);
	margin: 0;
	padding: 1rem 0 1.5rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
}
.home-products .home-products__track::-webkit-scrollbar { display: none; }
.home-product {
	position: relative;
	flex: 0 0 calc((100% - 2 * var(--gap)) / 3);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	scroll-snap-align: start;
	border: 1px solid var(--color-line);
	border-radius: 1.5rem;
	background: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .02));
	transition: transform .3s var(--ease), box-shadow .3s, border-color .3s;
}
.home-product:hover,
.home-product:has(a:focus-visible) { transform: translateY(-4px); border-color: var(--color-cyan); }
.home-product:has(a:focus-visible) { outline: 3px solid var(--color-cyan); outline-offset: 3px; }
.home-product__media { position: relative; display: grid; place-items: center; padding: 1.5rem 1.5rem 0; overflow: hidden; }
.home-product__media::before { content: ""; position: absolute; top: 10%; width: 72%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(71, 208, 255, .3), transparent 70%); }
.home-product__media img { position: relative; width: 82%; max-height: 18rem; object-fit: contain; transition: transform .6s var(--ease); }
.home-product:hover .home-product__media img { transform: scale(1.06) rotate(-2deg); }
.home-product__body { display: flex; flex-direction: column; gap: .5rem; padding: 1rem 1.6rem 1.7rem; }
.is-home .site-main .home-product__body h3 { font-size: clamp(1.45rem, 2vw, 1.9rem); }
.home-product__body h3 a { text-decoration: none; }
.home-product__body h3 a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.home-product__body h3 a:focus-visible { outline: none; }
.home-product__body p { color: var(--color-text-muted); font-size: 1rem; }

.home-products__progress { height: 3px; margin-top: 1.5rem; background: rgba(255, 255, 255, .12); border-radius: 2px; overflow: hidden; }
.home-products__progress span { display: block; height: 100%; width: 0; background: var(--color-cyan); transition: width .2s; }

.home-products__more { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 2rem; }
.home-products__more a { padding: .55rem 1.1rem; border: 1px solid var(--color-line); border-radius: 999px; background: rgba(255, 255, 255, .05); color: inherit; font-size: .95rem; font-weight: 700; text-decoration: none; transition: background-color .2s, border-color .2s, color .2s; }
.home-products__more a:hover { background: var(--color-blue-dark); border-color: var(--color-blue-dark); color: #fff; }
.home-products .btn .icon { transition: transform .2s var(--ease); }
.home-products .btn:hover .icon { transform: translateX(4px); }

/* ------------------------------------------------------------------
   Anwendungen (Shortcode [march_anwendungen])
   ------------------------------------------------------------------ */
.home-apps { padding-block: clamp(3.5rem, 7vw, 6rem) clamp(5rem, 10vw, 8.5rem); }
.home-apps__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: brightness(.6) saturate(.95); }
.home-apps::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(90deg, rgba(5, 15, 26, .9) 0%, rgba(5, 15, 26, .72) 60%, rgba(5, 15, 26, .5) 100%),
		linear-gradient(0deg, var(--color-bg) 0%, transparent 25%),
		linear-gradient(180deg, var(--color-bg) 0%, transparent 18%);
}
.home-apps__head { margin-bottom: clamp(1.75rem, 3vw, 2.5rem); text-align: center; }
.home-apps__list { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(var(--rows, 7), auto); grid-auto-flow: column; gap: .5rem 1.25rem; }
.home-apps__list a {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 0 1rem;
	min-height: 4.9rem;
	padding: .8rem 1.1rem;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: .9rem;
	background: rgba(5, 15, 26, .45);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	text-decoration: none;
	transition: background-color .25s, border-color .25s;
}
/* Akzentbalken links wächst beim Hover, ohne dass sich Text verschiebt */
.home-apps__list a::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--color-cyan); transform: scaleY(0); transition: transform .3s var(--ease); }
.home-apps__icon { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: .7rem; background: rgba(71, 208, 255, .12); color: var(--color-cyan); transition: background-color .25s, color .25s; }
.home-apps__icon .icon { width: 1.3rem; height: 1.3rem; }
.home-apps__text { min-width: 0; }
.home-apps__list strong { display: block; font-family: var(--font-display); font-size: clamp(1.2rem, 1.8vw, 1.5rem); line-height: 1.15; font-weight: 700; color: rgba(255, 255, 255, .85); transition: color .25s; }
.home-apps__list span.home-apps__examples { display: block; margin-top: .1rem; overflow: hidden; font-size: .9rem; color: var(--color-text-muted); text-overflow: ellipsis; white-space: nowrap; }
.home-apps__arrow { color: var(--color-cyan); opacity: 0; transition: opacity .25s; }
.home-apps__arrow .icon { width: 1.25rem; height: 1.25rem; }
.home-apps__list a:hover,
.home-apps__list a:focus-visible { border-color: rgba(71, 208, 255, .45); background: rgba(10, 40, 66, .7); }
.home-apps__list a:hover::before,
.home-apps__list a:focus-visible::before { transform: scaleY(1); }
.home-apps__list a:hover .home-apps__icon,
.home-apps__list a:focus-visible .home-apps__icon { background: var(--color-cyan); color: var(--color-bg); }
.home-apps__list a:hover strong,
.home-apps__list a:focus-visible strong { color: #fff; }
.home-apps__list a:hover .home-apps__arrow,
.home-apps__list a:focus-visible .home-apps__arrow { opacity: 1; }
.home-apps .home-more { text-align: center; }

/* ------------------------------------------------------------------
   Zahlen-Bühne (Seiteninhalt: section.home-numbers)
   ------------------------------------------------------------------ */
.home-numbers {
	display: flex;
	align-items: center;
	min-height: min(90vh, 50rem);
	background: linear-gradient(180deg, #071d33 0%, #041320 100%);
	border-top: 1px solid var(--color-line);
}
/* Abstrakter Hintergrund: kreisende Bögen wie das Magnetfeld einer Kupplung */
.home-numbers__bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.home-numbers__bg::before { content: ""; position: absolute; right: -6%; top: 50%; width: 70vw; max-width: 60rem; aspect-ratio: 1; transform: translateY(-50%); border-radius: 50%; background: radial-gradient(circle, rgba(11, 143, 223, .28), rgba(11, 143, 223, .08) 45%, transparent 70%); animation: home-pulse 8s ease-in-out infinite; }
.home-numbers__bg::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(105, 164, 201, .5) 1px, transparent 1px), linear-gradient(90deg, rgba(105, 164, 201, .5) 1px, transparent 1px); background-size: 64px 64px; opacity: .06; -webkit-mask-image: linear-gradient(90deg, transparent 10%, #000 90%); mask-image: linear-gradient(90deg, transparent 10%, #000 90%); }
.home-numbers__bg i {
	position: absolute;
	right: -8%;
	top: 50%;
	width: var(--s);
	aspect-ratio: 1;
	margin-top: calc(var(--s) / -2);
	border-radius: 50%;
	background: conic-gradient(from 0deg, rgba(71, 208, 255, .9), transparent 28%, transparent 58%, rgba(71, 208, 255, .35) 78%, transparent 92%);
	-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
	mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
	opacity: var(--o, .6);
	animation: home-spin var(--t) linear infinite;
}
.home-numbers__bg i:nth-child(1) { --s: 22rem; --t: 14s; --o: .8; }
.home-numbers__bg i:nth-child(2) { --s: 34rem; --t: 24s; --o: .55; animation-direction: reverse; }
.home-numbers__bg i:nth-child(3) { --s: 48rem; --t: 38s; --o: .4; }
.home-numbers__bg i:nth-child(4) { --s: 64rem; --t: 56s; --o: .25; animation-direction: reverse; }
@keyframes home-spin { to { transform: rotate(360deg); } }
@keyframes home-pulse { 50% { opacity: .55; transform: translateY(-50%) scale(1.08); } }
.home-numbers__big { display: flex; flex-wrap: wrap; gap: .2em 1.2em; font-family: var(--font-display); font-size: clamp(4.5rem, 15vw, 13rem); font-weight: 700; line-height: .9; letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: #fff; }
.home-numbers__big > span { text-shadow: 0 10px 60px rgba(0, 0, 0, .6); }
.home-numbers__big small { margin-left: .1em; font-size: .32em; color: var(--color-cyan); letter-spacing: 0; }
.is-home .site-main .home-numbers__text { max-width: 32rem; margin-top: 3.25rem; font-size: 1.25rem; }
.home-numbers .home-link { margin-top: 1.2rem; }

/* ------------------------------------------------------------------
   Erfahrungsberichte (Shortcode [march_berichte])
   ------------------------------------------------------------------ */
.home-reports__strip { display: flex; gap: .75rem; max-width: 100rem; height: clamp(30rem, 78vh, 46rem); margin-inline: auto; padding-inline: var(--gutter); }
.home-report {
	position: relative;
	isolation: isolate;
	flex: 1 1 0;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--color-line);
	border-radius: 1.6rem;
	transition: flex-grow .7s var(--ease), border-color .3s;
}
.home-report.is-open { flex-grow: 5; border-color: var(--color-cyan); }
.home-report__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.home-report.is-open .home-report__img { transform: scale(1.06); }
.home-report::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(5, 15, 26, .92) 0%, rgba(5, 15, 26, .74) 35%, rgba(5, 15, 26, .8) 60%, rgba(5, 15, 26, .97) 100%); transition: opacity .5s; }
.home-report:not(.is-open):hover::before { opacity: .85; }
.home-report__title,
.home-report__panel p { text-shadow: 0 1px 14px rgba(5, 15, 26, .8); }
.home-reports .home-section__head,
.home-reports .home-more { text-align: center; }
.is-home .site-main .home-reports .home-more { margin-top: 3.5rem; }
.home-report__toggle { position: absolute; inset: 0; z-index: 2; width: 100%; padding: 0; border: 0; background: transparent; text-align: left; }
.home-report__toggle:focus-visible { outline-offset: -6px; }
.home-report__title { position: absolute; left: 1.4rem; bottom: 1.6rem; max-width: 22rem; font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; line-height: 1.1; }
.home-report:not(.is-open) .home-report__title { left: 1.6rem; bottom: 1.4rem; max-width: none; font-size: 1.4rem; white-space: nowrap; transform: rotate(-90deg); transform-origin: left bottom; }
.home-report.is-open .home-report__title { top: 1.6rem; bottom: auto; max-width: 30rem; font-size: clamp(1.8rem, 2.8vw, 2.5rem); }
.home-report__panel { position: absolute; z-index: 3; left: 1.4rem; right: 1.4rem; bottom: 1.6rem; opacity: 0; visibility: hidden; transform: translateY(18px); transition: opacity .5s ease .25s, transform .5s var(--ease) .25s, visibility 0s .7s; }
.home-report.is-open .home-report__panel { opacity: 1; visibility: visible; transform: none; transition-delay: .3s, .3s, 0s; }
.home-report__panel p { max-width: 30rem; margin-bottom: .8rem; }
.is-home .site-main .home-report__panel p.home-report__series { margin-bottom: 1rem; font-size: .95rem; color: var(--color-text-muted); }
.home-report__series a { color: var(--color-cyan); font-weight: 700; }

/* ------------------------------------------------------------------
   Gespräch (Seiteninhalt: section.home-talk)
   Selektoren mit .is-home .site-main, sonst überschreibt die Grundregel der Startseite Abstände.
   ------------------------------------------------------------------ */
.home-talk { display: flex; align-items: center; min-height: min(100vh, 56rem); padding-block: clamp(4rem, 8vw, 7rem); background: linear-gradient(120deg, #041626 0%, #07335a 55%, #0a5589 100%); }
.home-talk::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .035; background-image: linear-gradient(90deg, #fff 1px, transparent 1px), linear-gradient(#fff 1px, transparent 1px); background-size: 72px 72px; }
.home-talk__person { position: absolute; z-index: -1; right: 0; bottom: 0; width: min(58vw, 62rem); height: 100%; }
.home-talk__person img { position: absolute; right: 0; bottom: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; opacity: .9; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 45%); mask-image: linear-gradient(90deg, transparent 0%, #000 45%); }
.home-talk .container { width: 100%; }
.home-talk__inner { position: relative; max-width: 42rem; }

.is-home .site-main .home-talk h2 { font-size: clamp(2.2rem, 4.6vw, 4rem); }
.is-home .site-main .home-talk .home-call { display: block; margin-top: 1.75rem; font-family: var(--font-display); font-size: clamp(2rem, 4.2vw, 3.6rem); font-weight: 700; line-height: 1.05; letter-spacing: -.01em; text-decoration: none; overflow-wrap: anywhere; }
.home-call:hover { color: var(--color-cyan); }

.is-home .site-main .home-talk__reasons { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 2.25rem; }
.home-talk__reasons a { display: inline-flex; align-items: center; min-height: 3rem; padding: .5rem 1.3rem; border: 1px solid rgba(255, 255, 255, .45); border-radius: 999px; background: rgba(255, 255, 255, .08); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-weight: 700; text-decoration: none; transition: background-color .2s, color .2s, border-color .2s; }
.home-talk__reasons a:hover { background: #fff; border-color: #fff; color: var(--color-blue-deep); }

.is-home .site-main .home-talk blockquote { max-width: 34rem; margin-top: 3rem; padding: .2rem 0 .2rem 1.4rem; border-left: 3px solid var(--color-cyan); }
.is-home .site-main .home-talk blockquote p { font-size: 1.25rem; line-height: 1.5; }
.is-home .site-main .home-talk cite { display: block; margin-top: .9rem; font-size: .95rem; font-style: normal; line-height: 1.5; color: var(--color-text-muted); }

.is-home .site-main .home-talk__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 3rem; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .22); counter-reset: step; color: var(--color-text-muted); font-size: 1rem; line-height: 1.45; }
.home-talk__steps li { counter-increment: step; }
.home-talk__steps li::before { content: counter(step); display: grid; place-items: center; width: 2.25rem; height: 2.25rem; margin-bottom: .7rem; border: 1.5px solid var(--color-cyan); border-radius: 50%; font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; color: #fff; }

/* ------------------------------------------------------------------
   Aktuelles (Shortcode [march_aktuelles])
   ------------------------------------------------------------------ */
.home-news__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.home-card {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	min-height: clamp(22rem, 36vw, 30rem);
	padding: 1.6rem;
	overflow: hidden;
	border: 1px solid var(--color-line);
	border-radius: 1.6rem;
	background: linear-gradient(135deg, #0a2036, #0d3a5e);
	transition: border-color .3s;
}
.home-card:hover,
.home-card:has(a:focus-visible) { border-color: var(--color-cyan); }
.home-card:has(a:focus-visible) { outline: 3px solid var(--color-cyan); outline-offset: 3px; }
.home-card__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.home-card__img--contain { object-fit: contain; padding: 1.5rem 1.5rem 5rem; }
.home-card:hover .home-card__img { transform: scale(1.06); }
.home-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(5, 15, 26, .95) 0%, rgba(5, 15, 26, .1) 65%); }
.home-card time { display: block; font-size: .95rem; font-variant-numeric: tabular-nums; color: var(--color-text-muted); }
.is-home .site-main .home-card h3 { margin-top: .2rem; font-size: 1.5rem; }
.home-card h3 a { text-decoration: none; }
.home-card h3 a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.home-card h3 a:focus-visible { outline: none; }
.is-home .site-main .home-news .home-more { margin-top: 3.5rem; }

/* ------------------------------------------------------------------
   Standort (Seiteninhalt: section.home-location), dezentes Band wie das Abschluss-Band auf „Über uns“
   ------------------------------------------------------------------ */
.home-location { background: var(--color-bg-alt); border-top: 1px solid var(--color-line); }
.home-location__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 3rem; padding-block: clamp(2.5rem, 5vw, 4rem); }
.is-home .site-main .home-location h2 { margin-bottom: .5rem; font-size: clamp(1.9rem, 3.4vw, 3rem); line-height: 1.05; }
.is-home .site-main .home-location p { color: var(--color-text-muted); font-size: 1.15rem; }

/* ------------------------------------------------------------------
   Responsiv
   ------------------------------------------------------------------ */
@media (max-width: 62.5rem) {
	.home-product { flex-basis: calc((100% - var(--gap)) / 2); }
	.home-hero__foot-inner,
	.home-ways__grid,
	.home-story__facts,
	.home-news__grid { grid-template-columns: 1fr; }
	.home-stats { grid-auto-flow: row; grid-template-columns: repeat(2, auto); row-gap: 1rem; }
	.home-stats > div:nth-child(2n) { margin-right: 0; padding-right: 0; border-right: 0; }
	.home-reports__strip { flex-direction: column; height: auto; }
	.home-report,
	.home-report.is-open { flex: none; min-height: 6rem; transition: min-height .6s var(--ease); }
	.home-report.is-open { min-height: 30rem; }
	.home-report:not(.is-open) .home-report__title { top: 50%; bottom: auto; transform: translateY(-50%); left: 1.4rem; }
	.home-report.is-open .home-report__title { top: 1.4rem; }
	.home-talk__person { width: 100%; opacity: .35; }
	.home-apps__list { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; }
}
@media (max-width: 42.5rem) {
	.home-product { flex-basis: 82%; }
	.home-hero__actions .btn { width: 100%; }
	.is-home .site-main .home-talk__steps { grid-template-columns: 1fr; gap: 1.1rem; }
	.home-talk__steps li { display: flex; align-items: center; gap: .9rem; }
	.home-talk__steps li::before { flex: none; margin: 0; }
	.home-scene-controls__list { display: none; }
	.home-stats { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.home-stats > div { padding-right: .75rem; margin-right: .75rem; }
	.home-story__frame { min-height: 36rem; }
	.home-apps__examples { display: none !important; }
	.home-apps__list a { padding: .65rem .9rem; }
}

/* Ohne JavaScript: Laufband als Umbruch, alle Berichte aufgeklappt untereinander */
html:not(.js) .home-marquee ul { flex-wrap: wrap; justify-content: center; row-gap: .6rem; }
html:not(.js) .home-reports__strip { flex-direction: column; height: auto; }
html:not(.js) .home-report { flex: none; min-height: 28rem; }
html:not(.js) .home-report__toggle { display: none; }
html:not(.js) .home-report__title { top: 1.4rem; bottom: auto; transform: none; white-space: normal; }
html:not(.js) .home-report__panel { opacity: 1; visibility: visible; transform: none; }

/* Bewegung reduzieren: alles bleibt lesbar */
@media (prefers-reduced-motion: reduce) {
	.js [data-anim] { opacity: 1; transform: none; }
	.home-hero__line > span { transform: none; }
	.home-marquee__track { width: auto; flex-wrap: wrap; }
	.home-marquee ul { flex-wrap: wrap; justify-content: center; row-gap: .6rem; }
	.home-marquee ul[aria-hidden="true"] { display: none; }
}
