/* =========================================================================
   Co-Intend – Theme-Ergänzungen
   =========================================================================
   Das Hauptdesign kommt direkt aus dem Webflow-Export
   (assets/css/webflow/cointend.webflow.css). Hier sind nur die Ergänzungen
   + Overrides die WordPress-spezifisch sind.
   ========================================================================= */

/* -------------------------------------------------------------------------
   Layout-Fixes — Webflow CSS hatte den Footer als Mega-Overlay konstruiert
   (display:none + min-height:100vh) und den Header als position:fixed.
   In einer normalen WP-Seite wollen wir den Footer immer sichtbar haben
   und der Content-Wrapper muss unter der fixed Navbar starten.
   ------------------------------------------------------------------------- */

/* -------------------------------------------------------------------------
   Co-Intend Site-Footer
   ------------------------------------------------------------------------- */
/* =========================================================================
   HEADER — eigenes Redesign (.ci-nav), brand-treu, sticky, monochrom
   ========================================================================= */
.ci-nav {
	position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
	background: #0e1011; color: #fff;
	border-bottom: 1px solid #262829;
}
.ci-nav__inner {
	max-width: 1480px; margin: 0 auto;
	display: flex; align-items: center; justify-content: space-between;
	gap: 1.5rem; padding: 0 clamp(1rem, 4vw, 3rem); height: 92px;
}
.ci-nav__logo { display: inline-flex; align-items: center; flex-shrink: 0; }
.ci-nav__logo-img, .ci-nav__logo img { height: 64px; width: auto; display: block; filter: brightness(0) invert(1); }

.ci-nav__menu { display: flex; align-items: center; gap: 1.6rem; flex: 1; justify-content: center; }
.ci-nav__item { position: relative; }
.ci-nav__link {
	display: inline-flex; align-items: center; gap: 0.35rem;
	font-family: Inter, sans-serif; font-size: 15px; font-weight: 600;
	color: rgba(255,255,255,0.88); text-decoration: none; line-height: 1;
	padding: 6px 0; transition: color .2s ease; white-space: nowrap;
}
.ci-nav__link:hover, .ci-nav__link.is-current { color: #fff; }
.ci-nav__link.is-current { box-shadow: inset 0 -2px 0 #304499; }
.ci-nav__caret { font-size: 10px; transition: transform .25s ease; color: rgba(255,255,255,0.6); }
.ci-nav__item--has-drop:hover .ci-nav__caret,
.ci-nav__item--has-drop:focus-within .ci-nav__caret { transform: rotate(180deg); }

/* Dropdown */
.ci-nav__drop {
	position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(8px);
	min-width: 280px; background: #fff; border-radius: 4px;
	box-shadow: 0 30px 70px -25px rgba(0,0,0,0.45);
	padding: 0.5rem; display: flex; flex-direction: column; gap: 0.1rem;
	opacity: 0; visibility: hidden; transition: opacity .22s ease, transform .22s ease, visibility .22s;
	z-index: 1001;
}
.ci-nav__item--has-drop:hover .ci-nav__drop,
.ci-nav__item--has-drop:focus-within .ci-nav__drop {
	opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0);
}
.ci-nav__drop-link {
	display: block; padding: 0.65rem 0.9rem; border-radius: 3px;
	font-family: Inter, sans-serif; font-size: 15px; font-weight: 500;
	color: #0e1011; text-decoration: none; white-space: nowrap;
	transition: background .18s ease, color .18s ease;
}
.ci-nav__drop-link:hover { background: #f8f8f8; color: #304499; }

.ci-nav__right { display: flex; align-items: center; gap: 1rem; flex-shrink: 0; }
.ci-nav__contact {
	font-family: Inter, sans-serif; font-size: 15px; font-weight: 600;
	color: rgba(255,255,255,0.88); text-decoration: none; transition: color .2s ease; white-space: nowrap;
}
.ci-nav__contact:hover { color: #fff; }

/* Nav-CTA (Erstgespräch) — auf dunklem Grund invers */
.ci-nav .is-nav-cta, .ci-nav__right .is-nav-cta {
	background: #fff; color: #0e1011; border: 2px solid #fff;
	padding: 9px 20px; border-radius: 3px; font-size: 14px; font-weight: 600;
	text-decoration: none; white-space: nowrap; line-height: 1;
	transition: background .25s ease, color .25s ease;
}
.ci-nav .is-nav-cta:hover, .ci-nav__right .is-nav-cta:hover { background: transparent; color: #fff; }

/* Burger (mobil) */
.ci-nav__burger { display: none; width: 30px; height: 30px; position: relative; }
.ci-nav__burger .menu-toggle-line {
	position: absolute; left: 4px; right: 4px; height: 2px; background: #fff;
	transition: transform .3s ease, opacity .3s ease;
}
.ci-nav__burger .menu-toggle-line.top { top: 11px; }
.ci-nav__burger .menu-toggle-line.bottom { bottom: 11px; }
.mobile-menu-toggle.is-open .menu-toggle-line.top { transform: translateY(3px) rotate(45deg); }
.mobile-menu-toggle.is-open .menu-toggle-line.bottom { transform: translateY(-3px) rotate(-45deg); }

/* Mobile-Overlay (unter dem 92px-Header) */
.ci-nav-mobile {
	display: none; position: fixed; inset: 92px 0 0 0; z-index: 999;
	background: #0e1011; overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.mobile-menu.is-open { display: block !important; }
body.mobile-menu-open { overflow: hidden; }
.ci-nav-mobile__inner { padding: 2rem clamp(1.5rem, 6vw, 3rem) 4rem; display: flex; flex-direction: column; gap: 2rem; }
.ci-nav-mobile__group { display: flex; flex-direction: column; gap: 0.2rem; }
.ci-nav-mobile__label {
	font-family: 'Inconsolata', monospace; font-size: 13px; letter-spacing: 1.5px;
	text-transform: uppercase; color: #304499; margin-bottom: 0.6rem;
}
.ci-nav-mobile__link {
	font-family: 'Anton SC', Inter, sans-serif; text-transform: uppercase;
	font-size: 26px; line-height: 1.2; color: #fff; text-decoration: none; padding: 6px 0;
}
.ci-nav-mobile__sublink {
	font-family: Inter, sans-serif; font-size: 17px; color: rgba(255,255,255,0.82);
	text-decoration: none; padding: 7px 0;
}
.ci-nav-mobile__sublink:hover, .ci-nav-mobile__link:hover { color: #304499; }
.ci-nav-mobile__actions { display: flex; flex-direction: column; gap: 1rem; margin-top: 1rem; padding-top: 2rem; border-top: 1px solid #262829; align-items: flex-start; }
.ci-nav-mobile__actions .is-nav-cta {
	background: #fff; color: #0e1011; border: 2px solid #fff;
	padding: 12px 26px; border-radius: 3px; font-size: 15px; font-weight: 600; text-decoration: none;
}

@media (max-width: 1100px) {
	.ci-nav__menu, .ci-nav__contact { display: none; }
	.ci-nav__burger { display: inline-block; }
	.ci-nav-mobile { inset: 80px 0 0 0; }
	.ci-nav__inner { height: 80px; }
	.ci-nav__logo-img, .ci-nav__logo img { height: 54px; }
}

/* =========================================================================
   FOOTER — Redesign „Marken-Blau" (#304499) mit Gold-Akzent (#cfbc86)
   Brand-Spalte (Logo · Claim · Social), 4 Link-Spalten, dezente Wortmarke
   als Wasserzeichen, schlanke Rechtsleiste.
   ========================================================================= */
.ci-ft { background: #304499; color: #fff; font-family: Inter, sans-serif; position: relative; z-index: 1; overflow: hidden; }
.ci-ft a { color: inherit; }

/* CTA */
.ci-ft__cta { padding: clamp(2.25rem, 4vw, 3.25rem) clamp(1.5rem, 6vw, 6rem) clamp(1.5rem, 2.5vw, 2rem); border-bottom: 1px solid rgba(255,255,255,0.16); }
.ci-ft__cta-inner { max-width: 820px; }
.ci-ft__cta-eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; color: #cfbc86; margin: 0 0 0.8rem; }
.ci-ft__cta-h { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(26px, 3.4vw, 44px); line-height: 1.04; letter-spacing: -0.02em; text-transform: uppercase; color: #fff; margin: 0 0 1.4rem; }
.ci-ft__cta-actions { display: flex; align-items: center; gap: 1.6rem; flex-wrap: wrap; }
.ci-ft .is-ft-cta {
	display: inline-block; background: #cfbc86; color: #26305f; border: 2px solid #cfbc86;
	padding: 14px 30px; border-radius: 3px; font-size: 15px; font-weight: 700; text-decoration: none;
	transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.ci-ft .is-ft-cta:hover { background: transparent; color: #fff; border-color: #fff; }
.ci-ft a.ci-ft__cta-link { font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.45); padding-bottom: 3px; transition: color .2s ease, border-color .2s ease; }
.ci-ft a.ci-ft__cta-link:hover { color: #cfbc86; border-color: #cfbc86; }

/* Hauptbereich: Brand-Spalte + Link-Spalten */
.ci-ft__main { display: grid; grid-template-columns: 1.3fr 2.6fr; gap: 2.5rem; padding: clamp(2.25rem, 3.5vw, 3.25rem) clamp(1.5rem, 6vw, 6rem) clamp(0.75rem, 1.5vw, 1.25rem); }
.ci-ft__brandcol { display: flex; flex-direction: column; gap: 1.2rem; max-width: 340px; }
.ci-ft__logo { display: inline-flex; align-items: center; }
.ci-ft__logo img { height: 46px; width: auto; display: block; filter: brightness(0) invert(1); }
.ci-ft__tagline { font-size: 15px; line-height: 1.6; color: rgba(255,255,255,0.78); margin: 0; }
.ci-ft__socials { display: flex; gap: 0.7rem; margin-top: 0.2rem; }
.ci-ft__socials a { width: 40px; height: 40px; border: 1px solid rgba(255,255,255,0.28); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.ci-ft__socials a:hover { background: #cfbc86; border-color: #cfbc86; color: #26305f; }
.ci-ft__socials svg { width: 18px; height: 18px; fill: currentColor; }

.ci-ft__cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
@media (max-width: 991px) { .ci-ft__main { grid-template-columns: 1fr; gap: 2.5rem; } .ci-ft__cols { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ci-ft__cols { grid-template-columns: 1fr; } }
.ci-ft__label { font-family: 'Inconsolata', monospace; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: #cfbc86; margin-bottom: 1.1rem; }
.ci-ft__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.62rem; }
.ci-ft__link { display: inline-block; color: rgba(255,255,255,0.85); text-decoration: none; font-size: 15px; width: fit-content; transition: color .2s ease; }
.ci-ft__link span { display: inline-block; border-bottom: 1px solid transparent; padding-bottom: 2px; transition: border-color .25s ease; }
.ci-ft__link:hover { color: #fff; }
.ci-ft__link:hover span { border-color: #cfbc86; }
.ci-ft__contact { font-style: normal; font-size: 15px; line-height: 1.7; color: rgba(255,255,255,0.82); }
.ci-ft__contact strong { color: #fff; font-weight: 600; }
.ci-ft__contact a { color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.3); }
.ci-ft__contact a:hover { border-color: #cfbc86; }

/* Dezente Wortmarke (Wasserzeichen) */
.ci-ft__brand { padding: 0 clamp(1.5rem, 6vw, 6rem); pointer-events: none; }
.ci-ft__wordmark {
	display: block; font-family: 'Anton SC', Inter, sans-serif; text-transform: uppercase;
	font-size: clamp(30px, 6vw, 74px); line-height: 0.95; letter-spacing: -0.02em;
	color: rgba(255,255,255,0.10); white-space: nowrap; margin: 0;
}

.ci-ft__bottom {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.8rem 2rem;
	margin-top: clamp(0.5rem, 1.2vw, 1rem);
	padding: 1.3rem clamp(1.5rem, 6vw, 6rem) 1.6rem; border-top: 1px solid rgba(255,255,255,0.16);
	font-family: 'Inconsolata', monospace; font-size: 13px; color: rgba(255,255,255,0.6);
}
.ci-ft__bottom .ci-ft__logo { flex-shrink: 0; display: inline-flex; align-items: center; }
.ci-ft__bottom .ci-ft__logo img { height: 34px; }
.ci-ft__legal { display: flex; flex-wrap: wrap; gap: 0.4rem 1.4rem; }
.ci-ft__legal a { color: rgba(255,255,255,0.7); text-decoration: none; transition: color .2s ease; }
.ci-ft__legal a:hover { color: #cfbc86; }
.ci-ft__made a { color: rgba(255,255,255,0.85); text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.3); }
.ci-ft__made a:hover { color: #cfbc86; border-color: #cfbc86; }

/* Der fixed Header (.ci-nav) ist dunkel; jede Seite startet mit einer Hero-
   Section, die genug Eigen-Padding (120px+) hat, um unter dem Header zu
   beginnen. KEIN padding-top auf .main-wrapper → der dunkle Hero läuft
   nahtlos hinter den dunklen Header (kein weißer Streifen). */
.main-wrapper { background: #0e1011; }

/* Fallback-Template (index.php, Suche): hat keinen Hero → eigener Header-Abstand */
.ci-legal { background: #fff; color: #0e1011; padding: clamp(140px, 18vh, 220px) 6vw 5rem; max-width: 860px; margin: 0 auto; }
.ci-legal h1 { font-family: 'Anton SC', Inter, sans-serif; text-transform: uppercase; font-size: clamp(34px, 5vw, 64px); line-height: 1.05; margin: 0 0 1.5rem; }
.ci-legal a { color: #0e1011; }

/* index-preloader nutzt position:absolute + top:-100% (für eine IX2-Animation,
   die wir hier nicht haben). Wir machen das Element wieder sichtbar. */
.heading-style-large.index-preloader,
.heading-style-large.index-preload-anim-2 {
	position: static !important;
	top: auto !important;
}

/* Webflow .body class (für body) — sicherstellen dass body normal scrollt */
body.body {
	overflow-x: hidden;
}

/* -------------------------------------------------------------------------
   Elementor + Webflow: Reset Container, damit unsere ci-widgets full-width
   rendern statt von Elementor's content-width eingerahmt zu sein.
   ------------------------------------------------------------------------- */
.elementor-widget-ci-hero .elementor-widget-container,
.elementor-widget-ci-services .elementor-widget-container,
.elementor-widget-ci-testimonials .elementor-widget-container,
.elementor-widget-ci-signup-cta .elementor-widget-container,
.elementor-widget-ci-programs .elementor-widget-container {
	margin: 0;
	padding: 0;
}

.elementor-widget-ci-hero,
.elementor-widget-ci-services,
.elementor-widget-ci-testimonials,
.elementor-widget-ci-signup-cta,
.elementor-widget-ci-programs {
	width: 100%;
	max-width: 100%;
}

/* -------------------------------------------------------------------------
   Blog – Author-Card (single.php)
   ------------------------------------------------------------------------- */
.post-author-card {
	display: flex;
	gap: 32px;
	align-items: flex-start;
	padding: 40px;
	border: 1px solid var(--global-colors--border-default, #e8eded);
	border-radius: 14px;
	background: var(--global-colors--background-muted, #f8f8f8);
}
.post-author-image {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
.post-author-card p { margin: 6px 0; }

/* -------------------------------------------------------------------------
   WPML Language-Switcher (im Webflow-Markup-Dropdown)
   ------------------------------------------------------------------------- */
.navbar-right .wpml-ls-legacy-dropdown,
.navbar-right .wpml-ls-legacy-list-horizontal {
	display: inline-block;
}
.navbar-right .wpml-ls-legacy-dropdown a,
.navbar-right .wpml-ls-legacy-list-horizontal a {
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 500px;
	padding: 4px 12px;
	font-family: Inter, sans-serif;
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* -------------------------------------------------------------------------
   WP-Pagination im Webflow-Stil
   ------------------------------------------------------------------------- */
.pagination, .navigation.pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 60px;
}
.pagination .page-numbers,
.navigation.pagination .page-numbers {
	padding: 10px 16px;
	border: 1px solid #e8eded;
	border-radius: 500px;
	font-size: 14px;
	text-transform: uppercase;
	color: #0e1011;
	text-decoration: none;
}
.pagination .page-numbers.current {
	background: #0e1011;
	color: #fff;
	border-color: #0e1011;
}


/* -------------------------------------------------------------------------
   Hero-Animationen (CSS-only, läuft on page-load)
   ------------------------------------------------------------------------- */
@keyframes ci-mask-up {
	from { transform: translate3d(0, 105%, 0); }
	to   { transform: translate3d(0, 0, 0); }
}
@keyframes ci-fade-up {
	from { opacity: 0; transform: translate3d(0, 30px, 0); }
	to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes ci-fade-in-left {
	from { opacity: 0; transform: translate3d(-30px, 0, 0); }
	to   { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* Hero-Headlines: animierter Mask-Reveal in Kaskade */
.section-home-hero .overflow-hidden1 > h1,
.section-home-hero .overflow-hidden1 > h2 {
	display: block;
	animation: ci-mask-up 1s cubic-bezier(.4, 0, .2, 1) both;
	will-change: transform;
}
.section-home-hero .overflow-hidden1:nth-of-type(1) > h2,
.section-home-hero .overflow-hidden1:nth-of-type(1) > h1 { animation-delay: .15s; }
.section-home-hero .overflow-hidden1:nth-of-type(2) > h2 { animation-delay: .30s; }
.section-home-hero .overflow-hidden1:nth-of-type(3) > h2 { animation-delay: .45s; }
.section-home-hero .overflow-hidden1:nth-of-type(4) > h2 { animation-delay: .60s; }
.section-home-hero .overflow-hidden1:nth-of-type(5) > h2 { animation-delay: .75s; }

/* Hero-Image: Fade von links */
.section-home-hero .home-hero-image {
	animation: ci-fade-in-left 1.2s cubic-bezier(.4, 0, .2, 1) both;
	animation-delay: .1s;
}
/* Hero Lead-Text, Meta, Button: Fade-up gestaffelt */
.section-home-hero .text-meta,
.section-home-hero .heading-alt-h2 {
	animation: ci-fade-up .9s cubic-bezier(.4, 0, .2, 1) both;
	animation-delay: .7s;
}
.section-home-hero .div-block-3,
.section-home-hero .button-gradient {
	animation: ci-fade-up .9s cubic-bezier(.4, 0, .2, 1) both;
	animation-delay: .85s;
}
.section-home-hero .txt1 {
	animation: ci-fade-up .9s cubic-bezier(.4, 0, .2, 1) both;
	animation-delay: 1.0s;
}

/* Footer "Lean In" Animation beim Page-Load (sichtbar wenn man runter-scrollt) */
.footer-top .overflow-hidden1 > h2 {
	animation: ci-mask-up 1s cubic-bezier(.4, 0, .2, 1) both;
	animation-delay: 0.2s;
}

/* Reveal für später-im-Scroll Elemente (JS-driven mit IntersectionObserver) */
.ci-reveal {
	opacity: 0;
	transform: translate3d(0, 30px, 0);
	transition: opacity .8s cubic-bezier(.4, 0, .2, 1), transform .8s cubic-bezier(.4, 0, .2, 1);
	transition-delay: var(--ci-delay, 0s);
}
.ci-reveal.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

/* Mask-Reveal für Services + Testimonials (gerendert mit JS reveal) */
.overflow-hidden1 > .ci-reveal--mask {
	display: block;
	transform: translate3d(0, 105%, 0);
	opacity: 1;
	transition: transform .9s cubic-bezier(.4, 0, .2, 1);
	transition-delay: var(--ci-delay, 0s);
	will-change: transform;
}
.overflow-hidden1 > .ci-reveal--mask.is-visible {
	transform: translate3d(0, 0, 0);
}

/* Image-Parallax beim Service-Item — sanftes Scaling on hover */
.home-services-item-image .image-cover-parallax {
	transition: transform .9s cubic-bezier(.25, .46, .45, .94);
}
.home-services-item4:hover .image-cover-parallax {
	transform: scale(1.04);
}

/* Footer-Heading „Lean In" – Mask-Reveal Spezial */
.footer-top .heading-style-xxlarge.ci-reveal--mask {
	display: inline-block;
}

/* Reduced motion: Animationen aus */
@media (prefers-reduced-motion: reduce) {
	.ci-reveal,
	.overflow-hidden1 > .ci-reveal--mask {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* =========================================================================
   Programs-Widget (Angebote-Seite) — eigene Klassen, kein Webflow-Konflikt
   ========================================================================= */
.ci-programs {
	background: #fff;
	color: #0e1011;
	font-family: Inter, sans-serif;
}

/* HERO */
.ci-programs__hero {
	padding: clamp(140px, 16vh, 200px) 6vw 6vw;
	background: #f8f8f8;
	text-align: left;
}
.ci-programs__hero-inner {
	max-width: 1200px;
	margin: 0 auto;
}
.ci-programs__mask {
	overflow: hidden;
	display: block;
}
.ci-programs__h1 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(64px, 14vw, 220px);
	line-height: 0.9;
	letter-spacing: -0.02em;
	margin: 0;
	text-transform: uppercase;
	color: #0e1011;
	animation: ci-mask-up 1s cubic-bezier(.4, 0, .2, 1) .2s both;
}
.ci-programs__hero-lead {
	font-family: 'Gambetta', 'Inter', sans-serif;
	font-style: italic;
	font-size: clamp(22px, 2.5vw, 36px);
	line-height: 1.3;
	color: #0e1011;
	max-width: 800px;
	margin: 2rem 0 0;
}

/* PROGRAMM-BLÖCKE */
.ci-programs__item {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	max-width: 1400px;
	margin: 0 auto;
	padding: 6vw 6vw;
	align-items: center;
	background: #fff;
	border-bottom: 1px solid #e8eded;
}
.ci-programs__item.is-reverse {
	background: #f8f8f8;
}
.ci-programs__item.is-reverse .ci-programs__item-media {
	order: 2;
}
@media (max-width: 991px) {
	.ci-programs__item {
		grid-template-columns: 1fr;
		gap: 2.5rem;
		padding: 10vw 6vw;
	}
	.ci-programs__item.is-reverse .ci-programs__item-media {
		order: 0; /* Bild oben auf mobile */
	}
}

.ci-programs__item-media {
	overflow: hidden;
	border-radius: 4px;
}
.ci-programs__item-img {
	width: 100%;
	height: 100%;
	max-height: 600px;
	object-fit: cover;
	transition: transform .8s cubic-bezier(.4, 0, .2, 1);
}
.ci-programs__item:hover .ci-programs__item-img {
	transform: scale(1.03);
}

.ci-programs__item-content {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.ci-programs__eyebrow {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(28px, 3.5vw, 52px);
	line-height: 1;
	color: #999;
	text-transform: uppercase;
	letter-spacing: -0.01em;
}
.ci-programs__h2 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(36px, 5vw, 72px);
	line-height: 1;
	margin: 0;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	color: #0e1011;
}
.ci-programs__h2.is-light {
	color: #fff;
}
.ci-programs__lead {
	font-size: 18px;
	line-height: 1.6;
	color: #0e1011;
	margin: 0;
}
.ci-programs__details {
	font-size: 16px;
	line-height: 1.6;
	color: #0e1011;
}
.ci-programs__details h4 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: 22px;
	margin: 2rem 0 0.6em;
	text-transform: uppercase;
	color: #0e1011;
}
.ci-programs__details ul {
	padding-left: 1.5rem;
	margin: 0.5rem 0 1rem;
}
.ci-programs__details li {
	margin-bottom: 0.4rem;
}
.ci-programs__details strong {
	color: #0e1011;
}
.ci-programs__details p {
	margin: 0 0 1em;
}

.ci-programs__btn {
	display: inline-block;
	background: #0e1011;
	color: #fff;
	padding: 14px 32px;
	border-radius: 500px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	margin-top: 1rem;
	width: fit-content;
	transition: background .3s ease, color .3s ease;
}
.ci-programs__btn:hover {
	background: transparent;
	color: #0e1011;
	box-shadow: inset 0 0 0 2px #0e1011;
}

/* CLOSING-SECTION */
.ci-programs__closing {
	background: #0e1011;
	color: #fff;
	padding: 10vw 6vw;
	text-align: center;
}
.ci-programs__closing-inner {
	max-width: 900px;
	margin: 0 auto;
}
.ci-programs__closing-lead {
	font-family: 'Gambetta', Inter, sans-serif;
	font-style: italic;
	font-size: clamp(20px, 2.2vw, 28px);
	line-height: 1.4;
	color: rgba(255,255,255,0.85);
	margin: 2rem 0 0;
}

/* =========================================================================
   Article-Widget (Deep Democracy, Methoden-Pages)
   Eigene Klassen — kein Webflow-CSS-Konflikt.
   ========================================================================= */
.ci-article {
	background: #fff;
	color: #0e1011;
	font-family: Inter, sans-serif;
}

/* HERO */
.ci-article__hero {
	background: #0e1011;
	color: #fff;
	padding: clamp(120px, 18vh, 220px) 6vw 6vw;
	position: relative;
}
.ci-article__hero-inner {
	max-width: 900px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.ci-article__eyebrow {
	font-family: 'Inconsolata', monospace;
	font-size: 14px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: rgba(255,255,255,0.55);
	margin-bottom: 1.5rem;
	animation: ci-fade-up .8s cubic-bezier(.4, 0, .2, 1) both;
}
.ci-article__mask {
	overflow: hidden;
	display: block;
}
.ci-article__h1 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(56px, 9vw, 140px);
	line-height: 0.95;
	letter-spacing: -0.025em;
	margin: 0;
	/* Headroom, damit die Reveal-Maske (overflow:hidden) die Umlaut-Punkte
	   (Ü/Ö/Ä) am Titelanfang nicht abschneidet. */
	padding-top: 0.16em;
	color: #fff;
	text-transform: uppercase;
	animation: ci-mask-up 1s cubic-bezier(.4, 0, .2, 1) .15s both;
}
.ci-article__lead {
	font-family: 'Gambetta', 'Inter', sans-serif;
	font-style: italic;
	font-size: clamp(22px, 2.5vw, 32px);
	line-height: 1.4;
	color: rgba(255,255,255,0.92);
	margin: 2rem 0 0;
	max-width: 800px;
	animation: ci-fade-up 1s cubic-bezier(.4, 0, .2, 1) .35s both;
}
.ci-article__hero-media {
	max-width: 1200px;
	margin: 5rem auto -8rem;
	border-radius: 4px;
	overflow: hidden;
	position: relative;
	z-index: 3;
	animation: ci-fade-up 1.2s cubic-bezier(.4, 0, .2, 1) .5s both;
}
.ci-article__hero-img {
	width: 100%;
	height: auto;
	max-height: 600px;
	object-fit: cover;
	display: block;
}

/* BODY */
.ci-article__body {
	/* Breiter + schlankeres Seiten-Padding: vorher 760px max-width PLUS 6vw
	   Padding -> Textspalte schrumpfte auf ~550px (wirkte wie schmale Box).
	   Jetzt ~840px nutzbare Spalte, ausgewogen zum vollbreiten Hero-Bild. */
	max-width: 900px;
	margin: 0 auto;
	padding: 6rem clamp(1.25rem, 3vw, 2rem) 6rem;
}
@media (max-width: 991px) {
	.ci-article__body { padding-top: 4rem; }
}

.ci-article__section {
	margin: 5rem 0;
}
.ci-article__section:first-child {
	margin-top: 0;
}
.ci-article__h2 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(36px, 5vw, 64px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	margin: 0 0 1.2rem;
	color: #0e1011;
}
.ci-article__h2.is-light {
	color: #fff;
}
.ci-article__h3 {
	font-family: Inter, sans-serif;
	font-size: clamp(22px, 2.5vw, 28px);
	font-weight: 600;
	margin: 0 0 1rem;
	color: #0e1011;
}

.ci-article__prose {
	font-size: 19px;
	line-height: 1.7;
	color: #0e1011;
}
.ci-article__prose p {
	margin: 0 0 1.5em;
}
.ci-article__prose p:last-child {
	margin-bottom: 0;
}
.ci-article__prose ul,
.ci-article__prose ol {
	padding-left: 1.5rem;
	margin: 1.5em 0;
}
.ci-article__prose li {
	margin-bottom: 0.6em;
}
.ci-article__prose strong {
	color: #0e1011;
	font-weight: 600;
}
.ci-article__prose a {
	color: #0e1011;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	transition: text-decoration-thickness .2s ease;
}
.ci-article__prose a:hover {
	text-decoration-thickness: 3px;
}

/* Drop-Cap am ersten Absatz der ersten Section */
.ci-article__section:first-child .ci-article__prose > p:first-child::first-letter {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: 5em;
	line-height: 0.85;
	float: left;
	margin: 0.05em 0.1em 0 -0.05em;
	color: #0e1011;
}

/* PULLOUT-QUOTE */
.ci-article__pullout {
	margin: 5rem -3vw;
	padding: 4rem 6vw;
	background: #f8f8f8;
	border-left: 4px solid #0e1011;
}
.ci-article__pullout-quote {
	font-family: 'Gambetta', Inter, sans-serif;
	font-style: italic;
	font-size: clamp(28px, 3.5vw, 42px);
	line-height: 1.3;
	color: #0e1011;
	margin: 0;
	quotes: '„' '"';
}
.ci-article__pullout-quote::before { content: open-quote; }
.ci-article__pullout-quote::after  { content: close-quote; }
.ci-article__pullout-source {
	font-family: 'Inconsolata', monospace;
	font-size: 14px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #999;
	margin-top: 1.2rem;
}

/* INLINE-FIGURE */
.ci-article__figure {
	margin: 5rem -3vw;
	overflow: hidden;
	border-radius: 4px;
}
.ci-article__figure-img {
	width: 100%;
	height: auto;
	display: block;
}
.ci-article__figcaption {
	font-family: 'Inconsolata', monospace;
	font-size: 13px;
	color: #999;
	margin-top: 1rem;
	padding: 0 6vw;
	font-style: italic;
}

/* HIGHLIGHT-LIST-BLOCK */
.ci-article__highlight {
	margin: 4rem 0;
	padding: 3rem 2.5rem;
	background: #f8f8f8;
	border-radius: 8px;
	border-top: 4px solid #304499;
}
.ci-article__highlight-h {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(22px, 2.4vw, 32px);
	margin: 0 0 1.5rem;
	text-transform: uppercase;
	color: #0e1011;
}
.ci-article__highlight-body {
	font-size: 18px;
	line-height: 1.6;
	color: #0e1011;
}
.ci-article__highlight-body ul {
	padding-left: 1.5rem;
	margin: 0;
}
.ci-article__highlight-body li {
	margin-bottom: 0.6em;
	color: #0e1011;
	font-weight: 500;
}
.ci-article__highlight-body strong {
	font-weight: 600;
}

/* TRAINER-BLOCK */
.ci-article__trainer {
	background: #0e1011;
	color: #fff;
	padding: 8rem 6vw;
}
.ci-article__trainer-inner {
	max-width: 900px;
	margin: 0 auto;
}
.ci-article__trainer-body {
	font-size: 19px;
	line-height: 1.7;
	color: rgba(255,255,255,0.92);
	margin-top: 2.5rem;
}
.ci-article__trainer-body p {
	margin: 0 0 1.5em;
}
.ci-article__trainer-body strong {
	color: #fff;
	font-weight: 600;
}

/* CLOSING-CTA */
.ci-article__cta {
	background: #f8f8f8;
	padding: 10rem 6vw;
	text-align: center;
}
.ci-article__cta-inner {
	max-width: 800px;
	margin: 0 auto;
}
.ci-article__cta-h {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(36px, 5vw, 64px);
	line-height: 1.1;
	margin: 0 0 2.5rem;
	text-transform: uppercase;
	color: #0e1011;
}
.ci-article__cta-btn {
	display: inline-block;
	background: #0e1011;
	color: #fff;
	padding: 18px 40px;
	border-radius: 500px;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	transition: background .3s ease, color .3s ease;
}
.ci-article__cta-btn:hover {
	background: transparent;
	color: #0e1011;
	box-shadow: inset 0 0 0 2px #0e1011;
}

/* Elementor-Container-Override für ci-article */
.elementor-widget-ci-article,
.elementor-widget-ci-article .elementor-widget-container {
	width: 100%; max-width: 100%; margin: 0; padding: 0;
}

/* =========================================================================
   ci-article Section: Logo-Grid (Happy School Partner/Sponsoren)
   ========================================================================= */
.ci-article__section--full {
	position: relative;
	left: 50%;
	right: 50%;
	width: 100vw;
	margin-left: -50vw;
	margin-right: -50vw;
	max-width: none;
	padding: 5rem 6vw;
	background: #f8f8f8;
}
.ci-article__section--full > * {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
.ci-article__logos {
	margin-top: 3rem;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	align-items: center;
}
@media (max-width: 991px) {
	.ci-article__logos { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
	.ci-article__logos { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
}
.ci-article__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: #f8f8f8;
	border-radius: 4px;
	min-height: 100px;
	transition: background .25s ease, transform .25s ease;
}
.ci-article__logo:hover {
	background: #eee;
	transform: translateY(-2px);
}
.ci-article__logo img {
	max-height: 60px;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.7;
	transition: filter .3s ease, opacity .3s ease;
}
.ci-article__logo:hover img {
	filter: grayscale(0%);
	opacity: 1;
}

/* =========================================================================
   ci-article Section: Profile (Trainer-Bio mit Bild + Quote + Liste)
   ========================================================================= */
/* Profile breaks out of the 760px body container to be full-width */
.ci-article__profile {
	position: relative;
	left: 50%;
	right: 50%;
	width: 100vw;
	margin: 6rem -50vw;
	max-width: none;
	padding: clamp(5rem, 10vw, 9rem) 6vw;
	display: grid;
	grid-template-columns: 5fr 6fr;
	gap: clamp(2.5rem, 6vw, 6rem);
	align-items: center;
	background: #fff;
}
.ci-article__profile.is-reverse {
	background: #f8f8f8;
}
.ci-article__profile > * {
	max-width: 600px;
	justify-self: center;
}
.ci-article__profile.is-reverse .ci-article__profile-media {
	order: 2;
}
@media (max-width: 991px) {
	.ci-article__profile,
	.ci-article__profile.is-reverse {
		grid-template-columns: 1fr;
		gap: 2.5rem;
		padding: 4rem 6vw;
	}
	.ci-article__profile.is-reverse .ci-article__profile-media { order: 0; }
}

.ci-article__profile-media {
	overflow: hidden;
	border-radius: 4px;
	position: relative;
	aspect-ratio: 4/5;
	max-width: 560px;
	box-shadow: 0 30px 80px -30px rgba(0,0,0,.25);
}
.ci-article__profile-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .8s cubic-bezier(.25, .46, .45, .94);
}
.ci-article__profile:hover .ci-article__profile-media img {
	transform: scale(1.04);
}
.ci-article__profile-content {
	padding: 0;
	max-width: 640px;
}

/* Quote – sehr prominent oben */
.ci-article__profile-quote {
	font-family: 'Gambetta', Inter, sans-serif;
	font-style: italic;
	font-weight: 500;
	font-size: clamp(28px, 3.4vw, 46px);
	line-height: 1.2;
	color: #0e1011;
	margin: 0 0 3rem;
	border-left: none;
	padding: 0;
	quotes: '„' '"';
}
.ci-article__profile-quote::before {
	content: '„';
	color: #cfbc86;
	font-size: 1.4em;
	line-height: 0.7;
	vertical-align: -0.18em;
	margin-right: 0.05em;
	display: inline-block;
}
.ci-article__profile-quote::after {
	content: '"';
	color: #cfbc86;
	font-size: 1.4em;
	line-height: 0.7;
	vertical-align: -0.18em;
	margin-left: 0.05em;
	display: inline-block;
}

.ci-article__profile-name {
	font-size: clamp(36px, 4.5vw, 60px) !important;
	margin: 0 0 0.5rem !important;
	line-height: 0.95 !important;
}
.ci-article__profile-role {
	font-family: 'Inconsolata', monospace;
	font-size: 13px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #999;
	margin: 0 0 2.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid #e8eded;
}
.ci-article__profile-body {
	font-size: 17px;
	line-height: 1.7;
	color: #0e1011;
}
.ci-article__profile-body p {
	margin: 0 0 1.2em;
}
.ci-article__profile-body h4 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: 20px;
	margin: 2.5rem 0 1rem;
	text-transform: uppercase;
	color: #0e1011;
}
.ci-article__profile-body ul {
	padding-left: 1.4rem;
	margin: 1rem 0;
}
.ci-article__profile-body li {
	margin-bottom: 0.4rem;
	font-size: 16px;
}

/* Credentials-Box (Aus-und-Weiterbildungen) */
.ci-credentials {
	margin: 2.5rem 0 0;
	padding: 2rem 1.8rem;
	background: #0e1011;
	color: #fff;
	border-radius: 4px;
	border-left: 4px solid #304499;
}
.ci-article__profile.is-reverse .ci-credentials {
	background: #fff;
	color: #0e1011;
	border-left-color: #0e1011;
	box-shadow: 0 20px 50px -25px rgba(0,0,0,.18);
}
.ci-credentials__label {
	font-family: 'Inconsolata', monospace;
	font-size: 12px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #304499;
	margin-bottom: 1.2rem;
}
.ci-article__profile.is-reverse .ci-credentials__label {
	color: #999;
}
.ci-credentials ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.ci-credentials li {
	padding: 0.7rem 0 !important;
	border-bottom: 1px solid rgba(255,255,255,0.1);
	font-size: 14px !important;
	line-height: 1.45 !important;
	margin: 0 !important;
}
.ci-article__profile.is-reverse .ci-credentials li {
	border-bottom-color: #e8eded;
	color: #0e1011;
}
.ci-credentials li:last-child {
	border-bottom: none;
	padding-bottom: 0 !important;
}
.ci-credentials li:first-child {
	padding-top: 0 !important;
}
.ci-article__profile-body strong {
	color: #0e1011;
	font-weight: 600;
}

/* =========================================================================
   Kontakt-Page Composition: ci-contact
   ========================================================================= */
.ci-contact {
	background: #fff;
}
.ci-contact__hero {
	background: #0e1011;
	color: #fff;
	padding: clamp(140px, 22vh, 260px) 6vw 8rem;
	text-align: center;
}
.ci-contact__eyebrow {
	font-family: 'Inconsolata', monospace;
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: rgba(255,255,255,0.6);
	margin-bottom: 2rem;
}
.ci-contact__h1 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(64px, 12vw, 200px);
	line-height: 0.9;
	letter-spacing: -0.03em;
	margin: 0;
	color: #fff;
	text-transform: uppercase;
	animation: ci-mask-up 1s cubic-bezier(.4, 0, .2, 1) both;
}
.ci-contact__lead {
	font-family: 'Gambetta', Inter, sans-serif;
	font-style: italic;
	font-size: clamp(22px, 2.5vw, 32px);
	line-height: 1.4;
	color: rgba(255,255,255,0.92);
	margin: 2.5rem auto 0;
	max-width: 700px;
	animation: ci-fade-up 1s cubic-bezier(.4, 0, .2, 1) .3s both;
}

.ci-contact__main {
	max-width: 1200px;
	margin: -4rem auto 0;
	padding: 0 6vw 6vw;
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 4rem;
	position: relative;
	z-index: 2;
}
@media (max-width: 991px) {
	.ci-contact__main { grid-template-columns: 1fr; gap: 3rem; }
}
.ci-contact__sidebar {
	background: #fff;
	padding: 3rem;
	border-radius: 4px;
	box-shadow: 0 30px 80px -40px rgba(0,0,0,.25);
}
.ci-contact__sidebar h3 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: 28px;
	margin: 0 0 1.5rem;
	text-transform: uppercase;
}
.ci-contact__sidebar p {
	font-size: 17px;
	line-height: 1.7;
	margin: 0 0 1.2rem;
	color: #0e1011;
}
.ci-contact__sidebar a {
	color: #0e1011;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.ci-contact__form-block {
	background: #fff;
	padding: 3rem;
	border-radius: 4px;
	box-shadow: 0 30px 80px -40px rgba(0,0,0,.25);
}
.ci-contact__form-block h3 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: 28px;
	margin: 0 0 2rem;
	text-transform: uppercase;
}

/* Notfall-Block */
.ci-contact__notfall {
	background: #0e1011;
	color: #fff;
	padding: 8rem 6vw;
	text-align: center;
}
.ci-contact__notfall h2 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(40px, 6vw, 80px);
	line-height: 1.0;
	margin: 0 0 2rem;
	text-transform: uppercase;
	color: #fff;
}
.ci-contact__notfall p {
	font-family: Inter, sans-serif;
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.5;
	max-width: 700px;
	margin: 0 auto 2.5rem;
	color: rgba(255,255,255,0.95);
}
.ci-contact__notfall a.ci-contact__phone {
	display: inline-block;
	background: #fff;
	color: #0e1011;
	padding: 18px 40px;
	border-radius: 500px;
	font-size: 20px;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 1px;
}
.ci-contact__notfall a.ci-contact__phone:hover {
	background: #0e1011;
	color: #fff;
}

/* =========================================================================
   Blog – Archive (archive.php / home.php)
   Eigene Klassen .ci-blog__*
   ========================================================================= */
.ci-blog__hero {
	background: #0e1011;
	color: #fff;
	padding: clamp(140px, 22vh, 240px) 6vw 6vw;
	text-align: left;
}
.ci-blog__hero-inner {
	max-width: 1200px;
	margin: 0 auto;
}
.ci-blog__eyebrow {
	font-family: 'Inconsolata', monospace;
	font-size: 14px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: rgba(255,255,255,0.55);
	margin-bottom: 1.5rem;
	animation: ci-fade-up .8s cubic-bezier(.4, 0, .2, 1) both;
}
.ci-blog__mask {
	overflow: hidden;
}
.ci-blog__h1 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(64px, 12vw, 180px);
	line-height: 0.9;
	letter-spacing: -0.025em;
	margin: 0;
	color: #fff;
	text-transform: uppercase;
	animation: ci-mask-up 1s cubic-bezier(.4, 0, .2, 1) .15s both;
}
.ci-blog__lead {
	font-family: 'Gambetta', Inter, sans-serif;
	font-style: italic;
	font-size: clamp(22px, 2.5vw, 32px);
	line-height: 1.4;
	color: rgba(255,255,255,0.92);
	margin: 2rem 0 0;
	max-width: 800px;
	animation: ci-fade-up 1s cubic-bezier(.4, 0, .2, 1) .35s both;
}

.ci-blog__grid-wrap {
	background: #f8f8f8;
	padding: 6vw 6vw 8vw;
}
.ci-blog__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.5rem;
	max-width: 1300px;
	margin: 0 auto;
}
@media (max-width: 991px) {
	.ci-blog__grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
}
@media (max-width: 640px) {
	.ci-blog__grid { grid-template-columns: 1fr; }
}

.ci-blog__card {
	background: #fff;
	border-radius: 4px;
	overflow: hidden;
	transition: transform .35s ease, box-shadow .35s ease;
}
.ci-blog__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 30px 60px -30px rgba(0,0,0,.18);
}
.ci-blog__card-link {
	display: block;
	color: inherit;
	text-decoration: none;
	height: 100%;
}
.ci-blog__card-media {
	background: #eee;
	overflow: hidden;
	aspect-ratio: 3/2;
}
.ci-blog__card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s ease;
}
.ci-blog__card:hover .ci-blog__card-img {
	transform: scale(1.05);
}
.ci-blog__card-body {
	padding: 1.8rem 1.6rem 2rem;
}
.ci-blog__card-meta {
	font-family: 'Inconsolata', monospace;
	font-size: 12px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #999;
	margin-bottom: 0.8rem;
	display: flex;
	gap: 0.4rem;
	flex-wrap: wrap;
	align-items: center;
}
.ci-blog__card-cat {
	color: #0e1011;
	font-weight: 600;
}
.ci-blog__card-sep {
	opacity: 0.5;
}
.ci-blog__card-title {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: 24px;
	line-height: 1.15;
	text-transform: uppercase;
	margin: 0 0 0.8rem;
	color: #0e1011;
}
.ci-blog__card-excerpt {
	font-size: 15px;
	color: #0e1011;
	line-height: 1.55;
	margin: 0 0 1rem;
}
.ci-blog__card-more {
	font-family: 'Inconsolata', monospace;
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #0e1011;
	font-weight: 600;
}
.ci-blog__card-more span {
	display: inline-block;
	transition: transform .25s ease;
	margin-left: 4px;
}
.ci-blog__card:hover .ci-blog__card-more span {
	transform: translateX(6px);
}

/* Pagination */
.ci-blog__pagination {
	display: flex;
	justify-content: center;
	margin-top: 5rem;
}
.ci-blog__pagination .nav-links {
	display: flex;
	gap: 0.5rem;
}
.ci-blog__pagination .page-numbers {
	padding: 12px 18px;
	border: 1px solid #e8eded;
	border-radius: 500px;
	font-family: 'Inconsolata', monospace;
	font-size: 14px;
	text-transform: uppercase;
	color: #0e1011;
	text-decoration: none;
	transition: background .25s ease, color .25s ease;
}
.ci-blog__pagination .page-numbers:hover,
.ci-blog__pagination .page-numbers.current {
	background: #0e1011;
	color: #fff;
	border-color: #0e1011;
}

.ci-blog__empty {
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
	padding: 4rem 0;
	color: #999;
	font-size: 18px;
}

/* =========================================================================
   Blog – Single Post (single.php)
   Eigene Klassen .ci-blog-post__*
   ========================================================================= */
.ci-blog-post {
	background: #fff;
}

/* Hero */
.ci-blog-post__hero {
	background: #0e1011;
	color: #fff;
	padding: clamp(140px, 22vh, 240px) 6vw 6vw;
}
.ci-blog-post__hero-inner {
	max-width: 900px;
	margin: 0 auto;
}
.ci-blog-post__meta-top {
	display: flex;
	gap: 0.8rem;
	flex-wrap: wrap;
	align-items: center;
	font-family: 'Inconsolata', monospace;
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: rgba(255,255,255,0.7);
	margin-bottom: 2rem;
	animation: ci-fade-up .8s cubic-bezier(.4, 0, .2, 1) both;
}
.ci-blog-post__cat {
	background: rgba(255,255,255,0.1);
	color: #fff;
	padding: 4px 12px;
	border-radius: 500px;
	text-decoration: none;
	transition: background .25s ease;
}
.ci-blog-post__cat:hover {
	background: rgba(255,255,255,0.2);
}
.ci-blog-post__mask {
	overflow: hidden;
}
.ci-blog-post__title {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(40px, 7vw, 88px);
	line-height: 1.0;
	letter-spacing: -0.025em;
	margin: 0;
	color: #fff;
	text-transform: uppercase;
	animation: ci-mask-up 1s cubic-bezier(.4, 0, .2, 1) .15s both;
}
.ci-blog-post__excerpt {
	font-family: 'Gambetta', Inter, sans-serif;
	font-style: italic;
	font-size: clamp(20px, 2.2vw, 28px);
	line-height: 1.4;
	color: rgba(255,255,255,0.9);
	margin: 2rem 0 0;
	animation: ci-fade-up 1s cubic-bezier(.4, 0, .2, 1) .35s both;
}

/* Cover-Image */
.ci-blog-post__cover {
	max-width: 1200px;
	margin: -6rem auto 0;
	padding: 0 6vw;
}
.ci-blog-post__cover-img {
	width: 100%;
	max-height: 600px;
	object-fit: cover;
	border-radius: 4px;
	display: block;
	animation: ci-fade-up 1.2s cubic-bezier(.4, 0, .2, 1) .5s both;
}

/* Body */
.ci-blog-post__body {
	padding: 5rem 6vw;
}
.ci-blog-post__prose {
	max-width: 760px;
	margin: 0 auto;
	font-size: 19px;
	line-height: 1.7;
	color: #0e1011;
}
.ci-blog-post__prose p {
	margin: 0 0 1.5em;
}
.ci-blog-post__prose p:last-child { margin-bottom: 0; }
.ci-blog-post__prose h2 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.1;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	margin: 3rem 0 1.2rem;
	color: #0e1011;
}
.ci-blog-post__prose h3 {
	font-family: Inter, sans-serif;
	font-size: clamp(20px, 2.4vw, 26px);
	font-weight: 600;
	margin: 2.5rem 0 1rem;
	color: #0e1011;
}
.ci-blog-post__prose h4 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: 20px;
	margin: 2rem 0 0.8rem;
	text-transform: uppercase;
	color: #0e1011;
}
.ci-blog-post__prose ul,
.ci-blog-post__prose ol {
	padding-left: 1.5rem;
	margin: 1.5em 0;
}
.ci-blog-post__prose li {
	margin-bottom: 0.6em;
}
.ci-blog-post__prose strong {
	color: #0e1011;
	font-weight: 600;
}
.ci-blog-post__prose em {
	font-family: 'Gambetta', Inter, sans-serif;
	font-style: italic;
}
.ci-blog-post__prose a {
	color: #0e1011;
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 1px;
	transition: text-decoration-thickness .2s ease;
}
.ci-blog-post__prose a:hover {
	text-decoration-thickness: 3px;
}
.ci-blog-post__prose blockquote {
	border-left: 4px solid #cfbc86;
	padding: 0.5rem 0 0.5rem 2rem;
	margin: 2rem 0;
	font-family: 'Gambetta', Inter, sans-serif;
	font-style: italic;
	font-size: 22px;
	color: #0e1011;
}
.ci-blog-post__prose img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
	margin: 2rem 0;
}

/* Drop-Cap */
.ci-blog-post__prose > p:first-child::first-letter {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: 5em;
	line-height: 0.85;
	float: left;
	margin: 0.05em 0.12em 0 -0.05em;
	color: #0e1011;
}

/* Author-Card */
.ci-blog-post__author {
	background: #f8f8f8;
	padding: 4rem 6vw;
	border-top: 1px solid #e8eded;
	border-bottom: 1px solid #e8eded;
}
.ci-blog-post__author-inner {
	max-width: 800px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 2.5rem;
	align-items: start;
}
@media (max-width: 640px) {
	.ci-blog-post__author-inner { grid-template-columns: 1fr; }
}
.ci-blog-post__author-img {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	object-fit: cover;
}
.ci-blog-post__author-label {
	font-family: 'Inconsolata', monospace;
	font-size: 13px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #999;
	margin-bottom: 0.6rem;
}
.ci-blog-post__author-name {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: 28px;
	text-transform: uppercase;
	margin: 0 0 0.4rem;
	color: #0e1011;
}
.ci-blog-post__author-sub {
	font-family: Inter, sans-serif;
	font-size: 14px;
	color: #999;
	margin: 0 0 1rem;
}
.ci-blog-post__author-bio {
	font-size: 16px;
	line-height: 1.6;
	color: #0e1011;
	margin: 0;
}

/* Related-Posts */
.ci-blog-post__related {
	background: #fff;
	padding: 6rem 6vw;
}
.ci-blog-post__related-inner {
	max-width: 1300px;
	margin: 0 auto;
}
.ci-blog-post__related-h {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(36px, 5vw, 64px);
	margin: 0 0 3rem;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	color: #0e1011;
}
.ci-blog-post__related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}
@media (max-width: 991px) {
	.ci-blog-post__related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.ci-blog-post__related-grid { grid-template-columns: 1fr; }
}
.ci-blog-post__related-link {
	display: block;
	color: inherit;
	text-decoration: none;
}
.ci-blog-post__related-media {
	overflow: hidden;
	aspect-ratio: 16/10;
	margin-bottom: 1rem;
	border-radius: 4px;
}
.ci-blog-post__related-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}
.ci-blog-post__related-card:hover .ci-blog-post__related-media img {
	transform: scale(1.05);
}
.ci-blog-post__related-date {
	display: block;
	font-family: 'Inconsolata', monospace;
	font-size: 12px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #999;
	margin-bottom: 0.6rem;
}
.ci-blog-post__related-title {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: 20px;
	line-height: 1.2;
	text-transform: uppercase;
	margin: 0;
	color: #0e1011;
}

/* Closing-CTA */
.ci-blog-post__cta {
	background: #0e1011;
	color: #fff;
	padding: 8rem 6vw;
	text-align: center;
}
.ci-blog-post__cta-inner {
	max-width: 700px;
	margin: 0 auto;
}
.ci-blog-post__cta-h {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(36px, 5vw, 64px);
	line-height: 1.1;
	margin: 0 0 1.5rem;
	text-transform: uppercase;
	color: #fff;
}
.ci-blog-post__cta-lead {
	font-size: 18px;
	color: rgba(255,255,255,0.85);
	margin: 0 0 2.5rem;
	line-height: 1.5;
}
.ci-blog-post__cta-btn {
	display: inline-block;
	background: #fff;
	color: #0e1011;
	padding: 18px 40px;
	border-radius: 500px;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	transition: background .3s ease, color .3s ease, box-shadow .3s ease;
}
.ci-blog-post__cta-btn:hover {
	background: transparent;
	color: #fff;
	box-shadow: inset 0 0 0 2px #fff;
}

/* =========================================================================
   Breadcrumbs
   ========================================================================= */
.ci-breadcrumbs {
	font-family: 'Inconsolata', monospace;
	font-size: 13px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: rgba(255,255,255,0.6);
	margin-bottom: 1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	align-items: center;
}
.ci-breadcrumbs__link {
	color: rgba(255,255,255,0.7);
	text-decoration: none;
	transition: color .2s ease;
}
.ci-breadcrumbs__link:hover {
	color: #fff;
	text-decoration: underline;
}
.ci-breadcrumbs__sep {
	opacity: 0.4;
}
.ci-breadcrumbs__current {
	color: #fff;
}
/* Light-Variante (auf hellem Hintergrund) */
.ci-breadcrumbs.is-dark .ci-breadcrumbs__link {
	color: #999;
}
.ci-breadcrumbs.is-dark .ci-breadcrumbs__link:hover {
	color: #0e1011;
}
.ci-breadcrumbs.is-dark .ci-breadcrumbs__current {
	color: #0e1011;
}

/* =========================================================================
   Book-Button (universell, Amelia + Fallback)
   ========================================================================= */
.ci-book-btn {
	display: inline-block;
	padding: 14px 28px;
	border-radius: 500px;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	background: #0e1011;
	color: #fff;
	border: 2px solid #0e1011;
	cursor: pointer;
	transition: background .25s ease, color .25s ease, transform .25s ease;
}
.ci-book-btn:hover {
	background: transparent;
	color: #0e1011;
	transform: translateY(-2px);
}
.ci-book-btn.is-primary {
	background: #304499;
	color: #fff;
	border-color: #304499;
}
.ci-book-btn.is-primary:hover {
	background: transparent;
	color: #fff;
	border-color: #fff;
}
.ci-book-btn.is-secondary {
	background: transparent;
	color: #0e1011;
	border-color: #0e1011;
}
.ci-book-btn.is-secondary:hover {
	background: #0e1011;
	color: #fff;
}
.ci-book-btn.is-light {
	background: #fff;
	color: #0e1011;
	border-color: #fff;
}
.ci-book-btn.is-light:hover {
	background: transparent;
	color: #fff;
	border-color: #fff;
}

/* =========================================================================
   Sticky CTA (rechts unten)
   ========================================================================= */
.ci-sticky-cta {
	position: fixed;
	right: 1.5rem;
	bottom: 1.5rem;
	z-index: 900;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .35s ease, transform .35s ease;
	pointer-events: none;
}
.ci-sticky-cta[data-hidden="false"] {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
.ci-sticky-cta .ci-book-btn.is-sticky {
	background: #0e1011;
	color: #0e1011;
	border-color: transparent;
	box-shadow: 0 20px 50px -15px rgba(0,0,0,0.35);
	padding: 16px 32px;
	font-size: 15px;
	font-weight: 700;
}
.ci-sticky-cta .ci-book-btn.is-sticky:hover {
	transform: translateY(-3px);
	box-shadow: 0 25px 55px -10px rgba(0,0,0,0.45);
	background: #0e1011;
	color: #fff;
}
/* Mobile: full-width unten */
@media (max-width: 640px) {
	.ci-sticky-cta {
		left: 1rem;
		right: 1rem;
		bottom: 1rem;
		display: flex;
	}
	.ci-sticky-cta .ci-book-btn.is-sticky {
		width: 100%;
		text-align: center;
	}
}

/* =========================================================================
   /buchen/ Booking-Page
   ========================================================================= */
.ci-booking {
	background: #fff;
}
.ci-booking__hero {
	background: #0e1011;
	color: #fff;
	padding: clamp(140px, 22vh, 240px) 6vw 6vw;
}
.ci-booking__hero-inner {
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
}
.ci-booking__eyebrow {
	font-family: 'Inconsolata', monospace;
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: rgba(255,255,255,0.6);
	margin-bottom: 2rem;
}
.ci-booking__mask {
	overflow: hidden;
}
.ci-booking__h1 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(56px, 10vw, 140px);
	line-height: 0.95;
	letter-spacing: -0.025em;
	margin: 0;
	color: #fff;
	text-transform: uppercase;
	animation: ci-mask-up 1s cubic-bezier(.4, 0, .2, 1) .15s both;
}
.ci-booking__lead {
	font-family: 'Gambetta', Inter, sans-serif;
	font-style: italic;
	font-size: clamp(20px, 2.4vw, 30px);
	line-height: 1.4;
	color: rgba(255,255,255,0.9);
	margin: 2rem auto 0;
	max-width: 750px;
	animation: ci-fade-up 1s cubic-bezier(.4, 0, .2, 1) .4s both;
}

/* 3 Service-Cards */
.ci-booking__cards {
	max-width: 1300px;
	margin: -4rem auto 0;
	padding: 0 6vw;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	position: relative;
	z-index: 2;
}
@media (max-width: 991px) {
	.ci-booking__cards { grid-template-columns: 1fr; gap: 1.5rem; }
}
.ci-booking__card {
	background: #fff;
	padding: 2.5rem 2rem;
	border-radius: 4px;
	box-shadow: 0 30px 80px -30px rgba(0,0,0,.25);
	display: flex;
	flex-direction: column;
}
.ci-booking__card-meta {
	font-family: 'Inconsolata', monospace;
	font-size: 12px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #304499;
	margin-bottom: 1.2rem;
}
.ci-booking__card-title {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: 28px;
	line-height: 1.1;
	margin: 0 0 1rem;
	text-transform: uppercase;
	color: #0e1011;
}
.ci-booking__card-desc {
	font-size: 15px;
	line-height: 1.6;
	color: #0e1011;
	margin: 0 0 2rem;
	flex-grow: 1;
}

/* Calendar-Section */
.ci-booking__calendar {
	background: #f8f8f8;
	padding: 8rem 6vw;
	margin-top: 6rem;
}
.ci-booking__calendar-inner {
	max-width: 1100px;
	margin: 0 auto;
}
.ci-booking__h2 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(36px, 5vw, 60px);
	line-height: 1.0;
	margin: 0 0 3rem;
	text-transform: uppercase;
	color: #0e1011;
	text-align: center;
}

/* Fallback wenn Amelia inaktiv */
.ci-book-fallback {
	background: #fff;
	padding: 3rem;
	border-radius: 4px;
	text-align: center;
	box-shadow: 0 20px 50px -25px rgba(0,0,0,.15);
}
.ci-book-fallback p {
	font-size: 17px;
	color: #0e1011;
	margin: 0 0 2rem;
	line-height: 1.6;
}

/* Notfall-Block */
.ci-booking__notfall {
	background: #0e1011;
	color: #fff;
	padding: 6rem 6vw;
	text-align: center;
}
.ci-booking__notfall-inner {
	max-width: 700px;
	margin: 0 auto;
}
.ci-booking__notfall h2 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(32px, 5vw, 56px);
	margin: 0 0 1rem;
	text-transform: uppercase;
	color: #fff;
}
.ci-booking__notfall p {
	font-size: 18px;
	color: rgba(255,255,255,0.95);
	margin: 0 0 2rem;
}
.ci-booking__notfall-phone {
	display: inline-block;
	background: #fff;
	color: #0e1011;
	padding: 18px 40px;
	border-radius: 500px;
	font-size: 22px;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 1px;
	transition: transform .25s ease;
}
.ci-booking__notfall-phone:hover {
	transform: translateY(-3px);
}

/* =========================================================================
   HOMEPAGE NEU (Vertriebssystem-Wireframe) — eigene Klassen
   ========================================================================= */

/* ── 1. HERO (Conversion) ──────────────────────────────────────────── */
.ci-hero2 {
	background: #0e1011;
	color: #fff;
	padding: clamp(120px, 18vh, 200px) 6vw 5rem;
}
/* Textgeführter Hero (kein Seitenbild) — Headline + CTA + Trust dominieren,
   visueller Beweis folgt direkt im Video-Band darunter. */
.ci-hero2__inner {
	max-width: 1240px;
	margin: 0 auto;
}
.ci-hero2__content { max-width: 1040px; }
.ci-hero2__eyebrow {
	font-family: 'Inconsolata', monospace;
	font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase;
	color: rgba(255,255,255,0.6); margin-bottom: 1.8rem;
	animation: ci-fade-up .8s cubic-bezier(.4,0,.2,1) both;
}
.ci-hero2__mask { overflow: hidden; }
.ci-hero2__h1 {
	font-family: 'Anton SC', Inter, sans-serif;
	font-size: clamp(44px, 6.5vw, 104px);
	line-height: 0.98; letter-spacing: -0.02em; margin: 0;
	text-transform: uppercase; color: #fff;
	animation: ci-mask-up 1s cubic-bezier(.4,0,.2,1) .15s both;
}
.ci-hero2__lead {
	font-size: clamp(18px, 2vw, 23px); line-height: 1.5;
	color: rgba(255,255,255,0.88); margin: 1.8rem 0 0; max-width: 640px;
	animation: ci-fade-up 1s cubic-bezier(.4,0,.2,1) .35s both;
}
.ci-hero2__ctas {
	display: flex; flex-wrap: wrap; gap: 1rem; align-items: center;
	margin: 2.5rem 0 0;
	animation: ci-fade-up 1s cubic-bezier(.4,0,.2,1) .5s both;
}
.ci-hero2__cta-secondary {
	color: #fff; text-decoration: none; font-weight: 600; font-size: 16px;
	padding: 14px 8px; transition: opacity .2s ease;
}
.ci-hero2__cta-secondary span { transition: transform .25s ease; display: inline-block; }
.ci-hero2__cta-secondary:hover span { transform: translateX(5px); }
.ci-hero2__trust {
	list-style: none; margin: 2.5rem 0 0; padding: 0;
	display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem;
	animation: ci-fade-up 1s cubic-bezier(.4,0,.2,1) .65s both;
}
.ci-hero2__trust li {
	font-family: 'Inconsolata', monospace; font-size: 13px;
	color: rgba(255,255,255,0.55); position: relative; padding-left: 1.3rem;
}
.ci-hero2__trust li::before {
	content: '✓'; position: absolute; left: 0; color: #cfbc86;
}
.ci-hero2__media { position: relative; }
.ci-hero2__img {
	width: 100%; border-radius: 4px; aspect-ratio: 4/5; object-fit: cover;
	box-shadow: 0 40px 90px -40px rgba(0,0,0,.6);
	animation: ci-fade-up 1.1s cubic-bezier(.4,0,.2,1) .4s both;
}
.ci-hero2__video {
	width: 100%; border-radius: 4px; aspect-ratio: 4/5; object-fit: cover;
	background: #181a1b; display: block;
	box-shadow: 0 40px 90px -40px rgba(0,0,0,.6);
	animation: ci-fade-up 1.1s cubic-bezier(.4,0,.2,1) .4s both;
}
.ci-hero2__brand {
	position: absolute; bottom: 1.5rem; left: 1.5rem;
	font-size: clamp(20px, 2.5vw, 30px); color: #fff;
	text-shadow: 0 2px 20px rgba(0,0,0,.5);
}

/* Nav-CTA (Header Erstgespräch-Button) */
.button-emergency.is-nav-cta, .ci-book-btn.is-nav-cta {
	background: #0e1011; color: #fff; border: 2px solid #0e1011;
	padding: 11px 22px; border-radius: 3px; font-size: 14px; font-weight: 600;
	text-decoration: none; white-space: nowrap; transition: background .25s, color .25s;
}
.button-emergency.is-nav-cta:hover, .ci-book-btn.is-nav-cta:hover { background: transparent; color: #0e1011; }

/* ── 2. PFAD-SELEKTOR ──────────────────────────────────────────────── */
.ci-paths { background: #f8f8f8; padding: clamp(4rem, 8vw, 7rem) 6vw; }
.ci-paths__inner { max-width: 1300px; margin: 0 auto; }
.ci-paths__heading {
	font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(32px, 4.5vw, 56px);
	text-transform: uppercase; text-align: center; margin: 0 0 3rem; color: #0e1011;
}
.ci-paths__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; }
@media (max-width: 900px) { .ci-paths__grid { grid-template-columns: 1fr; } }
.ci-path-card {
	background: #fff; border-radius: 6px; padding: 2.5rem 2rem; text-decoration: none;
	color: #0e1011; display: flex; flex-direction: column; align-items: flex-start;
	border-top: 4px solid #304499; transition: transform .3s ease, box-shadow .3s ease;
}
.ci-path-card:hover { transform: translateY(-5px); box-shadow: 0 30px 60px -30px rgba(0,0,0,.2); }
.ci-path-card__icon {
	width: 56px; height: 56px; border-radius: 50%; background: #0e1011; color: #fff;
	display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 1.5rem;
}
.ci-path-card__kicker {
	font-family: 'Inconsolata', monospace; font-size: 13px; letter-spacing: 1px;
	text-transform: uppercase; color: #999; margin-bottom: 0.5rem;
}
.ci-path-card__title {
	font-family: 'Anton SC', Inter, sans-serif; font-size: 26px; text-transform: uppercase;
	margin: 0 0 0.8rem; color: #0e1011;
}
.ci-path-card__desc { font-size: 15px; line-height: 1.6; color: #0e1011; margin: 0 0 1.5rem; flex-grow: 1; }
.ci-path-card__cta { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 1px; text-transform: uppercase; font-weight: 600; }
.ci-path-card__cta span { transition: transform .25s ease; display: inline-block; }
.ci-path-card:hover .ci-path-card__cta span { transform: translateX(5px); }

/* ── 3. PAIN ───────────────────────────────────────────────────────── */
.ci-pain { background: #fff; padding: clamp(4rem, 8vw, 7rem) 6vw; }
.ci-pain__inner { max-width: 1100px; margin: 0 auto; text-align: center; }
.ci-pain__eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: #d65b5d; margin-bottom: 1.2rem; }
.ci-pain__heading { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(34px, 5vw, 64px); text-transform: uppercase; margin: 0 0 1rem; color: #0e1011; }
.ci-pain__lead { font-size: 19px; line-height: 1.6; color: #0e1011; max-width: 700px; margin: 0 auto 3.5rem; }
.ci-pain__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; text-align: left; }
@media (max-width: 900px) { .ci-pain__grid { grid-template-columns: 1fr; } }
.ci-pain__item { padding: 2rem; background: #f8f8f8; border-radius: 6px; }
.ci-pain__icon { font-size: 28px; color: #d65b5d; margin-bottom: 1rem; display: block; }
.ci-pain__item-title { font-family: 'Anton SC', Inter, sans-serif; font-size: 22px; text-transform: uppercase; margin: 0 0 0.6rem; color: #0e1011; }
.ci-pain__item-desc { font-size: 15px; line-height: 1.6; color: #0e1011; margin: 0; }
.ci-pain__cta-wrap { margin-top: 3rem; }
.ci-pain__cta { font-family: 'Inter', sans-serif; font-weight: 600; font-size: 17px; color: #0e1011; text-decoration: none; border-bottom: 2px solid #0e1011; padding-bottom: 4px; }
.ci-pain__cta span { transition: transform .25s ease; display: inline-block; }
.ci-pain__cta:hover span { transform: translateX(5px); }

/* ── 4. METHODE ────────────────────────────────────────────────────── */
.ci-method { background: #0e1011; color: #fff; padding: clamp(4rem, 8vw, 8rem) 6vw; }
.ci-method__inner { max-width: 1200px; margin: 0 auto; text-align: center; }
.ci-method__eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,0.55); margin-bottom: 1.2rem; }
.ci-method__heading { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(36px, 5.5vw, 72px); text-transform: uppercase; margin: 0 0 1rem; color: #fff; }
.ci-method__lead { font-size: 19px; line-height: 1.6; color: rgba(255,255,255,0.85); max-width: 700px; margin: 0 auto 3.5rem; }
.ci-method__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
@media (max-width: 900px) { .ci-method__grid { grid-template-columns: 1fr; } }
.ci-method__item { padding: 2.5rem 2rem; border: 1px solid rgba(255,255,255,0.12); border-radius: 6px; text-align: left; }
.ci-method__transform { margin-bottom: 1.2rem; }
.ci-method__from { font-family: 'Gambetta', Inter, sans-serif; font-style: italic; font-size: 20px; color: rgba(255,255,255,0.5); }
.ci-method__arrow { color: #304499; margin: 0 0.5rem; font-weight: 700; }
.ci-method__to { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(22px,2.4vw,30px); text-transform: uppercase; color: #fff; display: block; margin-top: 0.4rem; }
.ci-method__desc { font-size: 15px; line-height: 1.6; color: rgba(255,255,255,0.75); margin: 0; }
.ci-method__foot { margin-top: 3rem; display: flex; flex-wrap: wrap; gap: 1.5rem; justify-content: center; align-items: center; }
.ci-method__badge { font-family: 'Inconsolata', monospace; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; color: #304499; }
.ci-method__cta { color: #fff; font-weight: 600; text-decoration: none; border-bottom: 2px solid #304499; padding-bottom: 4px; }
.ci-method__cta span { transition: transform .25s ease; display: inline-block; }
.ci-method__cta:hover span { transform: translateX(5px); }

/* ── 5. AUTORITÄT ──────────────────────────────────────────────────── */
.ci-authority { background: #f8f8f8; padding: clamp(4rem, 8vw, 8rem) 6vw; }
.ci-authority__inner { max-width: 1300px; margin: 0 auto; display: grid; grid-template-columns: 1.2fr 0.8fr; gap: clamp(2rem,5vw,5rem); align-items: center; }
@media (max-width: 991px) { .ci-authority__inner { grid-template-columns: 1fr; gap: 3rem; } }
.ci-authority__eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: #999; margin-bottom: 1.2rem; }
.ci-authority__heading { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(34px, 5vw, 64px); text-transform: uppercase; margin: 0 0 1.5rem; color: #0e1011; }
.ci-authority__lead { font-size: 18px; line-height: 1.7; color: #0e1011; }
.ci-authority__lead strong { color: #0e1011; }
.ci-authority__badges { list-style: none; margin: 2rem 0; padding: 0; display: grid; gap: 0.8rem; }
.ci-authority__badges li { font-size: 15px; color: #0e1011; padding-left: 0.3rem; }
.ci-authority__badges i { color: #304499; margin-right: 0.6rem; }
.ci-authority__cta { display: inline-block; background: #0e1011; color: #fff; padding: 14px 30px; border-radius: 500px; font-weight: 600; text-decoration: none; transition: background .25s, color .25s; border: 2px solid #0e1011; }
.ci-authority__cta:hover { background: transparent; color: #0e1011; }
.ci-authority__cta span { transition: transform .25s ease; display: inline-block; }
.ci-authority__cta:hover span { transform: translateX(5px); }
.ci-authority__trainers { display: flex; flex-direction: column; gap: 1.5rem; }
.ci-authority__trainer { display: flex; align-items: center; gap: 1.2rem; background: #fff; padding: 1rem 1.2rem; border-radius: 6px; box-shadow: 0 20px 50px -35px rgba(0,0,0,.25); }
.ci-authority__trainer img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.ci-authority__trainer-name { display: block; font-family: 'Anton SC', Inter, sans-serif; font-size: 20px; text-transform: uppercase; color: #0e1011; }
.ci-authority__trainer-role { display: block; font-family: 'Inconsolata', monospace; font-size: 13px; color: #999; }

/* ── 7. STATS ──────────────────────────────────────────────────────── */
.ci-stats { background: #0e1011; color: #fff; padding: clamp(3rem, 6vw, 5rem) 6vw; }
.ci-stats__inner { max-width: 1200px; margin: 0 auto; }
.ci-stats__numbers { display: grid; grid-template-columns: repeat(4,1fr); gap: 2rem; text-align: center; }
@media (max-width: 700px) { .ci-stats__numbers { grid-template-columns: repeat(2,1fr); gap: 2.5rem; } }
.ci-stats__value { display: block; font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(44px, 6vw, 76px); line-height: 1; color: #cfbc86; }
.ci-stats__label { display: block; font-size: 14px; line-height: 1.4; color: rgba(255,255,255,0.7); margin-top: 0.8rem; }
.ci-stats__logo-intro { text-align: center; font-family: 'Inconsolata', monospace; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,0.5); margin: 3rem 0 1.5rem; }
.ci-stats__logos { display: flex; flex-wrap: wrap; gap: 2rem; justify-content: center; align-items: center; }
.ci-stats__logo img { max-height: 44px; width: auto; filter: grayscale(1) brightness(0) invert(1); opacity: 0.6; }

/* ── 8. EVENTS-TEASER ──────────────────────────────────────────────── */
.ci-events { background: #fff; padding: clamp(4rem, 8vw, 7rem) 6vw; }
.ci-events__inner { max-width: 1100px; margin: 0 auto; }
.ci-events__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; margin-bottom: 2.5rem; flex-wrap: wrap; }
.ci-events__eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: #999; margin-bottom: 0.6rem; }
.ci-events__heading { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(30px, 4vw, 52px); text-transform: uppercase; margin: 0; color: #0e1011; }
.ci-events__all { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 1px; text-transform: uppercase; font-weight: 600; color: #0e1011; text-decoration: none; white-space: nowrap; }
.ci-events__all span { transition: transform .25s ease; display: inline-block; }
.ci-events__all:hover span { transform: translateX(5px); }
.ci-events__list { display: flex; flex-direction: column; }
.ci-event-row { display: grid; grid-template-columns: 160px 1fr auto; gap: 1.5rem; align-items: center; padding: 1.6rem 0; border-top: 1px solid #e8eded; }
.ci-event-row:last-child { border-bottom: 1px solid #e8eded; }
@media (max-width: 768px) { .ci-event-row { grid-template-columns: 1fr; gap: 0.8rem; } }
.ci-event-row__date { font-family: 'Anton SC', Inter, sans-serif; font-size: 18px; text-transform: uppercase; color: #cfbc86; }
.ci-event-row__title { font-size: 19px; font-weight: 600; margin: 0 0 0.3rem; color: #0e1011; }
.ci-event-row__meta { display: flex; gap: 1.2rem; font-size: 14px; color: #999; flex-wrap: wrap; }
.ci-event-row__action { display: flex; align-items: center; gap: 1rem; }
@media (max-width: 768px) { .ci-event-row__action { flex-direction: column; align-items: flex-start; } }
.ci-event-row__seats { font-family: 'Inconsolata', monospace; font-size: 12px; letter-spacing: 0.5px; text-transform: uppercase; color: #d65b5d; font-weight: 600; }

/* ── 9. CASE-TEASER ────────────────────────────────────────────────── */
.ci-case { background: #f8f8f8; padding: clamp(4rem, 8vw, 8rem) 6vw; }
.ci-case__inner { max-width: 1300px; margin: 0 auto; display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(2rem,5vw,5rem); align-items: center; }
@media (max-width: 991px) { .ci-case__inner { grid-template-columns: 1fr; gap: 2.5rem; } }
.ci-case__media { overflow: hidden; border-radius: 6px; aspect-ratio: 4/3; }
.ci-case__media img { width: 100%; height: 100%; object-fit: cover; }
.ci-case__eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: #999; margin-bottom: 1rem; }
.ci-case__heading { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(30px, 4vw, 52px); text-transform: uppercase; margin: 0 0 2rem; color: #0e1011; line-height: 1.05; }
.ci-case__steps { margin: 0 0 2rem; }
.ci-case__steps dt { font-family: 'Inconsolata', monospace; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: #304499; margin-top: 1.2rem; }
.ci-case__steps dd { margin: 0.3rem 0 0; font-size: 16px; line-height: 1.6; color: #0e1011; }
.ci-case__quote { font-family: 'Gambetta', Inter, sans-serif; font-style: italic; font-size: 20px; line-height: 1.4; color: #0e1011; border-left: 3px solid #cfbc86; padding-left: 1.5rem; margin: 0 0 2rem; }
.ci-case__quote cite { display: block; font-style: normal; font-family: 'Inconsolata', monospace; font-size: 13px; text-transform: uppercase; color: #999; margin-top: 0.8rem; }

/* ── 10. NEWSLETTER / LEADMAGNET ───────────────────────────────────── */
.ci-newsletter { background: #0e1011; color: #fff; padding: clamp(4rem, 8vw, 7rem) 6vw; }
.ci-newsletter__inner { max-width: 720px; margin: 0 auto; text-align: center; }
.ci-newsletter__heading { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(30px, 4.5vw, 56px); text-transform: uppercase; margin: 0 0 1rem; color: #fff; }
.ci-newsletter__lead { font-size: 17px; line-height: 1.6; color: rgba(255,255,255,0.95); margin: 0 0 2rem; }
.ci-newsletter__form { display: flex; gap: 0.8rem; max-width: 520px; margin: 0 auto; flex-wrap: wrap; }
.ci-newsletter__input { flex: 1; min-width: 220px; padding: 16px 20px; border: 0; border-radius: 500px; font-size: 16px; font-family: Inter, sans-serif; }
.ci-newsletter__btn { padding: 16px 32px; border: 0; border-radius: 500px; background: #0e1011; color: #fff; font-weight: 700; font-size: 15px; cursor: pointer; white-space: nowrap; transition: transform .2s; }
.ci-newsletter__btn:hover { transform: translateY(-2px); }
.ci-newsletter__privacy { font-size: 12px; color: rgba(255,255,255,0.8); margin: 1rem 0 0; }
.ci-newsletter__privacy a { color: #fff; }
.ci-newsletter__done, .ci-newsletter__fail { background: rgba(255,255,255,0.15); padding: 1rem 1.5rem; border-radius: 8px; margin: 1rem auto 0; max-width: 520px; font-weight: 600; }

/* =========================================================================
   /termine/ — Amelia Event-Hub
   ========================================================================= */
.ci-termine { background: #fff; }

/* Hero */
.ci-termine__hero { background: #0e1011; color: #fff; padding: clamp(140px, 22vh, 240px) 6vw 5rem; text-align: center; }
.ci-termine__hero-inner { max-width: 900px; margin: 0 auto; }
.ci-termine__eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-bottom: 1.5rem; }
.ci-termine__mask { overflow: hidden; }
.ci-termine__h1 { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(48px, 9vw, 130px); line-height: 0.95; letter-spacing: -0.025em; margin: 0; text-transform: uppercase; color: #fff; animation: ci-mask-up 1s cubic-bezier(.4,0,.2,1) .15s both; }
.ci-termine__lead { font-family: 'Gambetta', Inter, sans-serif; font-style: italic; font-size: clamp(20px, 2.4vw, 30px); line-height: 1.4; color: rgba(255,255,255,0.9); margin: 2rem auto 0; max-width: 720px; animation: ci-fade-up 1s cubic-bezier(.4,0,.2,1) .35s both; }

/* So läuft die Buchung */
.ci-termine__steps { background: #f8f8f8; padding: 3rem 6vw; }
.ci-termine__steps-inner { max-width: 1000px; margin: 0 auto; display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; }
@media (max-width: 768px) { .ci-termine__steps-inner { grid-template-columns: 1fr; gap: 1.2rem; } }
.ci-termine__step { display: flex; gap: 1rem; align-items: flex-start; }
.ci-termine__step-num { flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; background: #0e1011; color: #fff; display: flex; align-items: center; justify-content: center; font-family: 'Anton SC', Inter, sans-serif; font-size: 18px; }
.ci-termine__step h3 { font-family: 'Anton SC', Inter, sans-serif; font-size: 18px; text-transform: uppercase; margin: 0 0 0.3rem; color: #0e1011; }
.ci-termine__step p { font-size: 14px; color: #0e1011; margin: 0; line-height: 1.5; }

/* Tabs */
.ci-termine__tabs { max-width: 1000px; margin: 4rem auto 0; padding: 0 6vw; display: flex; gap: 0.5rem; flex-wrap: wrap; justify-content: center; }
.ci-termine__tab { background: #f8f8f8; border: 2px solid transparent; border-radius: 500px; padding: 12px 24px; font-family: Inter, sans-serif; font-size: 15px; font-weight: 600; color: #0e1011; cursor: pointer; transition: all .25s ease; }
.ci-termine__tab i { margin-right: 0.5rem; opacity: 0.7; }
.ci-termine__tab:hover { background: #eee; }
.ci-termine__tab.is-active { background: #0e1011; color: #fff; }
.ci-termine__tab.is-active i { opacity: 1; }

/* Panels */
.ci-termine__panels { max-width: 1000px; margin: 0 auto; padding: 3rem 6vw 5rem; }
.ci-termine__panel[hidden] { display: none; }
.ci-termine__panel-head { text-align: center; margin-bottom: 2.5rem; }
.ci-termine__panel-head h2 { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(28px, 4vw, 48px); text-transform: uppercase; margin: 0 0 0.8rem; color: #0e1011; }
.ci-termine__panel-head p { font-size: 17px; line-height: 1.6; color: #0e1011; max-width: 640px; margin: 0 auto; }
.ci-termine__embed { min-height: 120px; }

/* Amelia-Container im Theme-Look (sanfte Overrides) */
.ci-termine__embed .amelia-app-booking,
.ci-termine__embed .amelia-service-booking { font-family: Inter, sans-serif !important; }

/* Fallback-Box */
.ci-termine__fallback { background: #f8f8f8; border-radius: 8px; padding: 3rem 2rem; text-align: center; border-top: 4px solid #304499; }
.ci-termine__fallback p { font-size: 17px; line-height: 1.6; color: #0e1011; margin: 0 0 1.5rem; }

/* Custom inquiry */
.ci-termine__custom { background: #0e1011; color: #fff; padding: 5rem 6vw; text-align: center; }
.ci-termine__custom-inner { max-width: 700px; margin: 0 auto; }
.ci-termine__custom h2 { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(30px, 4.5vw, 56px); text-transform: uppercase; margin: 0 0 1rem; color: #0e1011; }
.ci-termine__custom p { font-size: 18px; color: rgba(14,16,17,0.72); margin: 0 0 2rem; line-height: 1.5; }

/* FAQ */
.ci-termine__faq { background: #f8f8f8; padding: 5rem 6vw; }
.ci-termine__faq-inner { max-width: 800px; margin: 0 auto; }
.ci-termine__faq-h { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(30px, 4.5vw, 56px); text-transform: uppercase; margin: 0 0 2.5rem; color: #0e1011; text-align: center; }
.ci-faq-item { background: #fff; border-radius: 8px; margin-bottom: 0.8rem; overflow: hidden; }
.ci-faq-q { cursor: pointer; padding: 1.4rem 1.6rem; font-family: Inter, sans-serif; font-size: 17px; font-weight: 600; color: #0e1011; list-style: none; position: relative; padding-right: 3rem; }
.ci-faq-q::-webkit-details-marker { display: none; }
.ci-faq-q::after { content: '+'; position: absolute; right: 1.6rem; top: 50%; transform: translateY(-50%); font-size: 24px; color: #304499; transition: transform .25s ease; }
.ci-faq-item[open] .ci-faq-q::after { transform: translateY(-50%) rotate(45deg); }
.ci-faq-a { padding: 0 1.6rem 1.4rem; }
.ci-faq-a p { margin: 0; font-size: 16px; line-height: 1.6; color: #0e1011; }

/* =========================================================================
   ci-solution — Leistungsseiten-Template
   ========================================================================= */
.ci-solution { background: #fff; color: #0e1011; }
.ci-solution__eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: #999; margin-bottom: 1.2rem; }
.ci-solution__mask { overflow: hidden; }
.ci-solution__h1 { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(40px, 6vw, 88px); line-height: 0.98; letter-spacing: -0.02em; margin: 0; text-transform: uppercase; color: #0e1011; }
.ci-solution__h2 { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(32px, 4.5vw, 60px); line-height: 1.0; letter-spacing: -0.02em; margin: 0 0 1.5rem; text-transform: uppercase; color: #0e1011; }
.ci-solution__h2.is-center { text-align: center; }
.ci-solution__h2.is-light { color: #fff; }

/* 1. Hero */
.ci-solution__hero { background: #0e1011; color: #fff; padding: clamp(140px, 20vh, 220px) 6vw 5rem; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(2rem,5vw,5rem); align-items: center; }
@media (max-width: 991px) { .ci-solution__hero { grid-template-columns: 1fr; gap: 2.5rem; } }
.ci-solution__hero .ci-solution__eyebrow { color: rgba(255,255,255,0.6); }
.ci-solution__hero .ci-solution__h1 { color: #fff; animation: ci-mask-up 1s cubic-bezier(.4,0,.2,1) .15s both; }
.ci-solution__lead { font-size: clamp(18px, 2vw, 23px); line-height: 1.5; color: rgba(255,255,255,0.88); margin: 1.8rem 0 0; }
.ci-solution__hero-cta { margin-top: 2.5rem; }
.ci-solution__hero-media img { width: 100%; border-radius: 4px; aspect-ratio: 4/5; object-fit: cover; box-shadow: 0 40px 90px -40px rgba(0,0,0,.6); }

/* 2. Symptome */
.ci-solution__symptoms { background: #f8f8f8; padding: clamp(4rem,8vw,7rem) 6vw; }
.ci-solution__symptoms-inner { max-width: 900px; margin: 0 auto; }
.ci-solution__symptoms-h { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(28px,4vw,52px); text-transform: uppercase; text-align: center; margin: 0 0 2.5rem; color: #0e1011; }
.ci-solution__symptoms-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
@media (max-width: 700px) { .ci-solution__symptoms-list { grid-template-columns: 1fr; } }
.ci-solution__symptoms-list li { background: #fff; padding: 1.4rem 1.6rem; border-radius: 6px; font-size: 17px; line-height: 1.5; color: #0e1011; display: flex; gap: 0.8rem; align-items: flex-start; }
.ci-solution__symptoms-list i { color: #d65b5d; margin-top: 0.3rem; flex-shrink: 0; }

/* 3. Lösung */
.ci-solution__solution { padding: clamp(4rem,8vw,7rem) 6vw; max-width: 1300px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,5rem); align-items: center; }
.ci-solution__solution.is-text-only { grid-template-columns: 1fr; max-width: 820px; }
@media (max-width: 991px) { .ci-solution__solution { grid-template-columns: 1fr; gap: 2.5rem; } }
.ci-solution__prose { font-size: 18px; line-height: 1.7; color: #0e1011; }
.ci-solution__prose p { margin: 0 0 1.2em; }
.ci-solution__prose strong { color: #0e1011; }
.ci-solution__prose ul { padding-left: 1.4rem; margin: 1rem 0; }
.ci-solution__prose li { margin-bottom: 0.5rem; }
.ci-solution__solution-media img { width: 100%; border-radius: 4px; aspect-ratio: 4/3; object-fit: cover; }

/* 4. Ablauf */
.ci-solution__steps { background: #fff; padding: clamp(4rem,8vw,7rem) 6vw; border-top: 1px solid #e8eded; }
.ci-solution__steps-inner { max-width: 1200px; margin: 0 auto; }
.ci-solution__steps-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 991px) { .ci-solution__steps-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .ci-solution__steps-grid { grid-template-columns: 1fr; } }
.ci-solution__step-num { font-family: 'Anton SC', Inter, sans-serif; font-size: 44px; color: #cfbc86; line-height: 1; display: block; margin-bottom: 1rem; }
.ci-solution__step-title { font-family: 'Anton SC', Inter, sans-serif; font-size: 20px; text-transform: uppercase; margin: 0 0 0.6rem; color: #0e1011; }
.ci-solution__step-desc { font-size: 15px; line-height: 1.6; color: #0e1011; margin: 0; }

/* 5. Ergebnisse */
.ci-solution__outcomes { background: #0e1011; color: #fff; padding: clamp(4rem,8vw,7rem) 6vw; }
.ci-solution__outcomes-inner { max-width: 1000px; margin: 0 auto; }
.ci-solution__outcomes-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 2.5rem; }
@media (max-width: 700px) { .ci-solution__outcomes-grid { grid-template-columns: 1fr; } }
.ci-solution__outcome { font-size: 17px; line-height: 1.5; color: #fff; display: flex; gap: 0.8rem; align-items: flex-start; padding: 1.2rem 0; border-bottom: 1px solid rgba(255,255,255,0.12); }
.ci-solution__outcome i { color: #cfbc86; margin-top: 0.3rem; flex-shrink: 0; }

/* 6. Formate */
.ci-solution__formats { background: #f8f8f8; padding: clamp(4rem,8vw,7rem) 6vw; }
.ci-solution__formats-inner { max-width: 1200px; margin: 0 auto; }
.ci-solution__formats-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 2rem; margin-top: 3rem; }
.ci-solution__format { background: #fff; border-radius: 8px; padding: 2.5rem 2rem; border-top: 4px solid #0e1011; display: flex; flex-direction: column; }
.ci-solution__format-meta { font-family: 'Inconsolata', monospace; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: #304499; margin-bottom: 1rem; }
.ci-solution__format-title { font-family: 'Anton SC', Inter, sans-serif; font-size: 24px; text-transform: uppercase; margin: 0 0 0.8rem; color: #0e1011; }
.ci-solution__format-desc { font-size: 15px; line-height: 1.6; color: #0e1011; margin: 0 0 1.5rem; flex-grow: 1; }
.ci-solution__format-price { font-family: 'Anton SC', Inter, sans-serif; font-size: 22px; color: #0e1011; }

/* 7. FAQ — nutzt .ci-faq-item aus /termine/ */
.ci-solution__faq { background: #fff; padding: clamp(4rem,8vw,7rem) 6vw; }
.ci-solution__faq-inner { max-width: 800px; margin: 0 auto; }
.ci-solution__faq .ci-faq-item { background: #f8f8f8; border-radius: 8px; margin-bottom: 0.8rem; overflow: hidden; }

/* 8. Finaler CTA */
.ci-solution__cta { background: #0e1011; color: #fff; padding: clamp(4rem,8vw,7rem) 6vw; text-align: center; }
.ci-solution__cta-inner { max-width: 760px; margin: 0 auto; }
.ci-solution__cta-h { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(32px,5vw,60px); text-transform: uppercase; margin: 0 0 1rem; color: #fff; }
.ci-solution__cta-lead { font-size: 18px; line-height: 1.5; color: rgba(255,255,255,0.95); margin: 0 0 2.5rem; }
.ci-solution__cta-actions { display: flex; gap: 1.5rem; justify-content: center; align-items: center; flex-wrap: wrap; }
.ci-solution__cta-secondary { color: #fff; font-weight: 600; text-decoration: none; border-bottom: 2px solid rgba(255,255,255,0.6); padding-bottom: 3px; }
.ci-solution__cta-secondary span { display: inline-block; transition: transform .25s ease; }
.ci-solution__cta-secondary:hover span { transform: translateX(5px); }

/* Elementor container reset */
.elementor-widget-ci-solution, .elementor-widget-ci-solution .elementor-widget-container { width: 100%; max-width: 100%; margin: 0; padding: 0; }

/* =========================================================================
   Case Studies — Grid (Widget + Archive), Single, Hero, CTA
   ========================================================================= */
.ci-cases { background: #fff; padding: clamp(4rem,8vw,7rem) 6vw; }
.ci-cases--widget { background: #f8f8f8; }
.ci-cases__inner { max-width: 1300px; margin: 0 auto; }
.ci-cases__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; margin-bottom: 2.5rem; flex-wrap: wrap; }
.ci-cases__eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: #999; margin-bottom: 0.6rem; }
.ci-cases__heading { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(30px,4.5vw,56px); text-transform: uppercase; margin: 0; color: #0e1011; }
.ci-cases__all { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 1px; text-transform: uppercase; font-weight: 600; color: #0e1011; text-decoration: none; white-space: nowrap; }
.ci-cases__all span { display: inline-block; transition: transform .25s ease; }
.ci-cases__all:hover span { transform: translateX(5px); }
.ci-cases__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; }
@media (max-width:991px){ .ci-cases__grid{ grid-template-columns: repeat(2,1fr); } }
@media (max-width:640px){ .ci-cases__grid{ grid-template-columns: 1fr; } }
.ci-cases__card { display: block; background: #fff; border-radius: 6px; overflow: hidden; text-decoration: none; color: #0e1011; transition: transform .35s ease, box-shadow .35s ease; border: 1px solid #eee; }
.ci-cases--widget .ci-cases__card { border: none; }
.ci-cases__card:hover { transform: translateY(-5px); box-shadow: 0 30px 60px -30px rgba(0,0,0,.2); }
.ci-cases__card-media { aspect-ratio: 3/2; overflow: hidden; background: #eee; }
.ci-cases__card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.ci-cases__card:hover .ci-cases__card-media img { transform: scale(1.05); }
.ci-cases__card-body { padding: 1.8rem 1.6rem 2rem; }
.ci-cases__card-client { font-family: 'Inconsolata', monospace; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: #304499; margin-bottom: 0.8rem; }
.ci-cases__card-title { font-family: 'Anton SC', Inter, sans-serif; font-size: 22px; line-height: 1.15; text-transform: uppercase; margin: 0 0 0.8rem; color: #0e1011; }
.ci-cases__card-result { font-size: 15px; line-height: 1.55; color: #0e1011; margin: 0 0 1.2rem; }
.ci-cases__card-more { font-family: 'Inconsolata', monospace; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; font-weight: 600; color: #0e1011; }
.ci-cases__card-more span { display: inline-block; transition: transform .25s ease; }
.ci-cases__card:hover .ci-cases__card-more span { transform: translateX(5px); }
.ci-cases__empty { text-align: center; color: #999; font-size: 18px; }

/* Archive Hero */
.ci-cases-hero { background: #0e1011; color: #fff; padding: clamp(140px,22vh,240px) 6vw 5rem; }
.ci-cases-hero__inner { max-width: 900px; margin: 0 auto; }
.ci-cases-hero__eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-bottom: 1.5rem; }
.ci-cases-hero__mask { overflow: hidden; }
.ci-cases-hero__h1 { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(48px,9vw,130px); line-height: 0.95; letter-spacing: -0.025em; margin: 0; text-transform: uppercase; color: #fff; animation: ci-mask-up 1s cubic-bezier(.4,0,.2,1) .15s both; }
.ci-cases-hero__lead { font-family: 'Gambetta', Inter, sans-serif; font-style: italic; font-size: clamp(20px,2.4vw,30px); line-height: 1.4; color: rgba(255,255,255,0.9); margin: 2rem 0 0; }
.ci-cases-cta { background: #f8f8f8; padding: clamp(4rem,8vw,6rem) 6vw; text-align: center; }
.ci-cases-cta__inner { max-width: 700px; margin: 0 auto; }
.ci-cases-cta__inner h2 { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(30px,4.5vw,52px); text-transform: uppercase; margin: 0 0 2rem; color: #0e1011; }

/* Single Case */
.ci-case-single { background: #fff; }
.ci-case-single__hero { background: #0e1011; color: #fff; padding: clamp(140px,20vh,220px) 6vw 4rem; }
.ci-case-single__hero-inner { max-width: 900px; margin: 0 auto; }
.ci-case-single__client { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: #304499; margin-bottom: 1.2rem; }
.ci-case-single__mask { overflow: hidden; }
.ci-case-single__h1 { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(40px,6vw,84px); line-height: 1.0; letter-spacing: -0.02em; margin: 0; text-transform: uppercase; color: #fff; animation: ci-mask-up 1s cubic-bezier(.4,0,.2,1) .15s both; }
.ci-case-single__excerpt { font-family: 'Gambetta', Inter, sans-serif; font-style: italic; font-size: clamp(20px,2.2vw,28px); line-height: 1.4; color: rgba(255,255,255,0.9); margin: 1.5rem 0 0; }
.ci-case-single__cover { max-width: 1200px; margin: -4rem auto 0; padding: 0 6vw; }
.ci-case-single__cover img { width: 100%; max-height: 560px; object-fit: cover; border-radius: 6px; display: block; }
.ci-case-single__grid { max-width: 1100px; margin: 0 auto; padding: clamp(4rem,8vw,6rem) 6vw; display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; }
@media (max-width:900px){ .ci-case-single__grid{ grid-template-columns: 1fr; } }
.ci-case-single__block { background: #f8f8f8; border-radius: 8px; padding: 2rem; }
.ci-case-single__block.is-result { background: #0e1011; color: #fff; }
.ci-case-single__block-label { font-family: 'Inconsolata', monospace; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: #304499; margin-bottom: 1rem; }
.ci-case-single__block p { font-size: 16px; line-height: 1.6; margin: 0; }
.ci-case-single__quote-wrap { background: #f8f8f8; padding: 0 6vw clamp(4rem,8vw,6rem); }
.ci-case-single__quote { max-width: 820px; margin: 0 auto; font-family: 'Gambetta', Inter, sans-serif; font-style: italic; font-size: clamp(24px,3vw,40px); line-height: 1.3; color: #0e1011; border-left: 4px solid #cfbc86; padding-left: 2rem; }
.ci-case-single__quote cite { display: block; font-style: normal; font-family: 'Inconsolata', monospace; font-size: 14px; text-transform: uppercase; color: #999; margin-top: 1.2rem; }
.ci-case-single__body { max-width: 760px; margin: 0 auto; padding: 0 6vw clamp(3rem,6vw,5rem); }
.ci-case-single__prose { font-size: 18px; line-height: 1.7; color: #0e1011; }
.ci-case-single__cta { background: #0e1011; color: #fff; padding: clamp(4rem,8vw,6rem) 6vw; text-align: center; }
.ci-case-single__cta-inner { max-width: 700px; margin: 0 auto; }
.ci-case-single__cta-h { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(30px,4.5vw,52px); text-transform: uppercase; margin: 0 0 2rem; color: #fff; }
.ci-case-single__cta-actions { display: flex; gap: 1.5rem; justify-content: center; align-items: center; flex-wrap: wrap; }
.ci-case-single__cta-secondary { color: #fff; font-weight: 600; text-decoration: none; border-bottom: 2px solid rgba(255,255,255,0.6); padding-bottom: 3px; }
.ci-case-single__cta-secondary span { display: inline-block; transition: transform .25s ease; }
.ci-case-single__cta-secondary:hover span { transform: translateX(5px); }
.elementor-widget-ci-case-studies, .elementor-widget-ci-case-studies .elementor-widget-container { width:100%; max-width:100%; margin:0; padding:0; }

/* =========================================================================
   Glossar (Archive + Single Term)
   ========================================================================= */
.ci-glossar-hero { background: #0e1011; color: #fff; padding: clamp(140px,22vh,240px) 6vw 5rem; }
.ci-glossar-hero__inner { max-width: 900px; margin: 0 auto; }
.ci-glossar-hero__eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-bottom: 1.5rem; }
.ci-glossar-hero__mask { overflow: hidden; }
.ci-glossar-hero__h1 { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(44px,8vw,110px); line-height: 0.95; letter-spacing: -0.025em; margin: 0; text-transform: uppercase; color: #fff; animation: ci-mask-up 1s cubic-bezier(.4,0,.2,1) .15s both; }
.ci-glossar-hero__lead { font-family: 'Gambetta', Inter, sans-serif; font-style: italic; font-size: clamp(20px,2.4vw,30px); line-height: 1.4; color: rgba(255,255,255,0.9); margin: 2rem 0 0; }

.ci-glossar { background: #fff; padding: clamp(4rem,8vw,7rem) 6vw; }
.ci-glossar__inner { max-width: 1200px; margin: 0 auto; }
.ci-glossar__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
@media (max-width:991px){ .ci-glossar__grid{ grid-template-columns: repeat(2,1fr); } }
@media (max-width:640px){ .ci-glossar__grid{ grid-template-columns: 1fr; } }
.ci-glossar__card { display: block; background: #f8f8f8; border-radius: 6px; padding: 1.8rem; text-decoration: none; color: #0e1011; position: relative; transition: transform .3s ease, box-shadow .3s ease; }
.ci-glossar__card:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -28px rgba(0,0,0,.22); }
.ci-glossar__term { font-family: 'Anton SC', Inter, sans-serif; font-size: 22px; text-transform: uppercase; margin: 0 0 0.6rem; color: #0e1011; }
.ci-glossar__def { font-size: 15px; line-height: 1.55; color: #0e1011; margin: 0 0 1rem; }
.ci-glossar__more { font-family: 'Inconsolata', monospace; color: #304499; font-size: 18px; }
.ci-glossar__empty { text-align: center; color: #999; }
.ci-glossar-cta { background: #0e1011; color: #fff; padding: clamp(4rem,8vw,6rem) 6vw; text-align: center; }
.ci-glossar-cta__inner { max-width: 700px; margin: 0 auto; }
.ci-glossar-cta__inner h2 { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(30px,4.5vw,52px); text-transform: uppercase; margin: 0 0 2rem; color: #0e1011; }

/* Single Term */
.ci-term { background: #fff; }
.ci-term__hero { background: #0e1011; color: #fff; padding: clamp(140px,20vh,220px) 6vw 4rem; }
.ci-term__hero-inner { max-width: 820px; margin: 0 auto; }
.ci-term__eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: #304499; margin-bottom: 1.2rem; }
.ci-term__mask { overflow: hidden; }
.ci-term__h1 { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(40px,6vw,84px); line-height: 1.0; letter-spacing: -0.02em; margin: 0; text-transform: uppercase; color: #fff; animation: ci-mask-up 1s cubic-bezier(.4,0,.2,1) .15s both; }
.ci-term__lead { font-family: 'Gambetta', Inter, sans-serif; font-style: italic; font-size: clamp(20px,2.2vw,28px); line-height: 1.4; color: rgba(255,255,255,0.9); margin: 1.5rem 0 0; }
/* Body volle Breite mit 6vw-Padding; Inhalt auf 820px (wie Hero-Inner)
   zentriert -> Fließtext fluchtet mit der Headline statt eingerückt zu sein. */
.ci-term__body { max-width: none; margin: 0; padding: clamp(2rem,4vw,3.5rem) 6vw clamp(3rem,6vw,5rem); }
.ci-term__prose, .ci-term__related { max-width: 820px; margin-left: auto; margin-right: auto; }
.ci-term__prose { font-size: 19px; line-height: 1.7; color: #0e1011; }
.ci-term__prose p { margin: 0 0 1.4em; }
.ci-term__prose strong { color: #0e1011; }
.ci-term__prose a { color: #0e1011; text-decoration: underline; text-underline-offset: 3px; }
.ci-term__related { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid #e8eded; }
.ci-term__related-label { font-family: 'Inconsolata', monospace; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: #999; margin-bottom: 1rem; }
.ci-term__related-list { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.ci-term__related-list a { background: #f8f8f8; border-radius: 500px; padding: 0.5rem 1rem; font-size: 14px; color: #0e1011; text-decoration: none; transition: background .2s ease, color .2s ease; }
.ci-term__related-list a:hover { background: #0e1011; color: #fff; }
.ci-term__cta { background: #0e1011; color: #fff; padding: clamp(4rem,8vw,6rem) 6vw; text-align: center; }
.ci-term__cta-inner { max-width: 700px; margin: 0 auto; }
.ci-term__cta-inner h2 { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(28px,4vw,48px); text-transform: uppercase; margin: 0 0 1rem; color: #0e1011; }
.ci-term__cta-inner p { font-size: 17px; color: rgba(14,16,17,0.72); margin: 0 0 2rem; }
.ci-term__cta-actions { display: flex; gap: 1.5rem; justify-content: center; align-items: center; flex-wrap: wrap; }
.ci-term__cta-secondary { color: #fff; font-weight: 600; text-decoration: none; border-bottom: 2px solid rgba(255,255,255,0.6); padding-bottom: 3px; }
.ci-term__cta-secondary span { display: inline-block; transition: transform .25s ease; }
.ci-term__cta-secondary:hover span { transform: translateX(5px); }

/* =========================================================================
   Blog-Teaser (Homepage / Wissens-Hub)
   ========================================================================= */
.ci-blog-teaser { background: #f8f8f8; padding: clamp(4rem,8vw,7rem) 6vw; }
.ci-blog-teaser__inner { max-width: 1200px; margin: 0 auto; }
.ci-blog-teaser__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 3rem; flex-wrap: wrap; }
.ci-blog-teaser__eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; color: #304499; margin-bottom: 1rem; }
.ci-blog-teaser__heading { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(30px,4.5vw,54px); line-height: 1.0; letter-spacing: -0.02em; text-transform: uppercase; color: #0e1011; margin: 0; }
.ci-blog-teaser__lead { font-family: 'Gambetta', Inter, sans-serif; font-style: italic; font-size: clamp(17px,1.8vw,22px); line-height: 1.45; color: #0e1011; margin: 1rem 0 0; max-width: 540px; }
.ci-blog-teaser__all { flex-shrink: 0; font-family: 'Inconsolata', monospace; font-size: 16px; text-transform: uppercase; letter-spacing: 1px; color: #0e1011; text-decoration: none; border-bottom: 2px solid #304499; padding-bottom: 4px; transition: color .2s ease; white-space: nowrap; }
.ci-blog-teaser__all span { display: inline-block; transition: transform .25s ease; }
.ci-blog-teaser__all:hover span { transform: translateX(5px); }
.ci-blog-teaser__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.8rem; }
@media (max-width:991px){ .ci-blog-teaser__grid{ grid-template-columns: repeat(2,1fr); } }
@media (max-width:640px){ .ci-blog-teaser__grid{ grid-template-columns: 1fr; } }
.ci-blog-teaser__card { background: #fff; border-radius: 6px; overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; }
.ci-blog-teaser__card:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -28px rgba(0,0,0,.22); }
.ci-blog-teaser__card-link { display: block; text-decoration: none; color: #0e1011; height: 100%; }
.ci-blog-teaser__card-media { aspect-ratio: 16/10; overflow: hidden; background: #e8eded; }
.ci-blog-teaser__card-img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.ci-blog-teaser__card:hover .ci-blog-teaser__card-img { transform: scale(1.05); }
.ci-blog-teaser__card-body { padding: 1.5rem 1.5rem 1.8rem; }
.ci-blog-teaser__card-meta { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; font-family: 'Inconsolata', monospace; font-size: 13px; color: #999; margin-bottom: 0.8rem; }
.ci-blog-teaser__card-cat { color: #304499; font-weight: 600; }
.ci-blog-teaser__card-sep { color: #999; }
.ci-blog-teaser__card-title { font-family: 'Anton SC', Inter, sans-serif; font-size: 21px; line-height: 1.12; text-transform: uppercase; color: #0e1011; margin: 0 0 0.7rem; }
.ci-blog-teaser__card-excerpt { font-size: 15px; line-height: 1.55; color: #0e1011; margin: 0 0 1.1rem; }
.ci-blog-teaser__card-more { font-family: 'Inconsolata', monospace; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; color: #0e1011; }
.ci-blog-teaser__card-more span { display: inline-block; transition: transform .25s ease; }
.ci-blog-teaser__card:hover .ci-blog-teaser__card-more span { transform: translateX(5px); }

/* =========================================================================
   Newsletter (Mautic-fähig)
   ========================================================================= */
.ci-newsletter { background: #0e1011; color: #fff; padding: clamp(4rem,8vw,6.5rem) 6vw; }
.ci-newsletter__inner { max-width: 720px; margin: 0 auto; text-align: center; }
.ci-newsletter__eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; color: #304499; margin-bottom: 1rem; }
.ci-newsletter__heading { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(28px,4.5vw,52px); line-height: 1.0; letter-spacing: -0.02em; text-transform: uppercase; color: #fff; margin: 0 0 1rem; }
.ci-newsletter__lead { font-size: 17px; line-height: 1.6; color: rgba(255,255,255,0.85); margin: 0 auto 2rem; max-width: 560px; }
.ci-newsletter__msg { font-size: 15px; border-radius: 6px; padding: 0.8rem 1.2rem; margin: 0 auto 1.5rem; max-width: 480px; }
.ci-newsletter__msg--ok { background: rgba(30,171,178,0.18); color: #8fe3e8; }
.ci-newsletter__msg--err { background: rgba(214,91,93,0.18); color: #f0a9aa; }
.ci-newsletter__form { display: flex; gap: 0.6rem; max-width: 520px; margin: 0 auto; flex-wrap: wrap; }
.ci-newsletter__field { flex: 1 1 220px; min-width: 0; padding: 0.95rem 1.1rem; border: 1px solid rgba(255,255,255,0.25); border-radius: 6px; background: rgba(255,255,255,0.06); color: #fff; font-size: 16px; font-family: 'Inter', sans-serif; }
.ci-newsletter__field::placeholder { color: rgba(255,255,255,0.5); }
.ci-newsletter__field:focus { outline: none; border-color: #304499; background: rgba(255,255,255,0.1); }
.ci-newsletter__btn { flex: 0 0 auto; padding: 0.95rem 1.8rem; border: none; border-radius: 6px; background: #304499; color: #fff; font-family: 'Inconsolata', monospace; font-size: 16px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.ci-newsletter__btn:hover { background: #3d54b8; transform: translateY(-2px); }
.ci-newsletter__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ci-newsletter__fineprint { font-size: 12px; color: rgba(255,255,255,0.5); margin: 1.2rem auto 0; max-width: 480px; }
.ci-newsletter__fineprint a { color: rgba(255,255,255,0.7); text-decoration: underline; }

/* =========================================================================
   Produkte — Hub-Grid (.ci-products) + Detailseite (.ci-product)
   ========================================================================= */
.ci-products { background: #f8f8f8; padding: clamp(4rem,8vw,7rem) 6vw; }
.ci-products__inner { max-width: 1300px; margin: 0 auto; }
.ci-products__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; margin-bottom: 3rem; flex-wrap: wrap; }
.ci-products__eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; color: #304499; margin-bottom: 1rem; }
.ci-products__heading { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(32px,4.5vw,60px); line-height: 1.0; text-transform: uppercase; color: #0e1011; margin: 0; }
.ci-products__lead { font-family: 'Gambetta', Inter, sans-serif; font-style: italic; font-size: clamp(17px,1.9vw,23px); line-height: 1.45; color: #0e1011; margin: 1rem 0 0; max-width: 560px; }
.ci-products__all { flex-shrink: 0; font-family: 'Inconsolata', monospace; font-size: 15px; letter-spacing: 1px; text-transform: uppercase; font-weight: 600; color: #0e1011; text-decoration: none; border-bottom: 2px solid #304499; padding-bottom: 4px; white-space: nowrap; }
.ci-products__all span { display: inline-block; transition: transform .25s ease; }
.ci-products__all:hover span { transform: translateX(5px); }
.ci-products__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; }
@media (max-width:991px){ .ci-products__grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width:640px){ .ci-products__grid { grid-template-columns: 1fr; } }
.ci-products__card { display: flex; flex-direction: column; background: #fff; border-radius: 6px; overflow: hidden; text-decoration: none; color: #0e1011; border: 1px solid #e8eded; transition: transform .35s ease, box-shadow .35s ease; }
.ci-products__card:hover { transform: translateY(-5px); box-shadow: 0 30px 60px -30px rgba(0,0,0,.2); }
.ci-products__card-media { aspect-ratio: 3/2; overflow: hidden; background: #eee; }
.ci-products__card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.ci-products__card:hover .ci-products__card-media img { transform: scale(1.05); }
.ci-products__card-body { padding: 1.8rem 1.6rem 2rem; display: flex; flex-direction: column; flex-grow: 1; }
.ci-products__card-eyebrow { font-family: 'Inconsolata', monospace; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: #304499; margin-bottom: 0.7rem; }
.ci-products__card-title { font-family: 'Anton SC', Inter, sans-serif; font-size: 23px; line-height: 1.12; text-transform: uppercase; margin: 0 0 0.7rem; color: #0e1011; }
.ci-products__card-excerpt { font-size: 15px; line-height: 1.55; color: #0e1011; margin: 0 0 1.2rem; flex-grow: 1; }
.ci-products__card-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 0.8rem; margin-bottom: 1rem; flex-wrap: wrap; }
.ci-products__card-format { font-family: 'Inconsolata', monospace; font-size: 12px; letter-spacing: 0.5px; text-transform: uppercase; color: #999; }
.ci-products__card-price { font-family: 'Anton SC', Inter, sans-serif; font-size: 20px; color: #0e1011; }
.ci-products__card-more { font-family: 'Inconsolata', monospace; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; font-weight: 600; color: #304499; }
.ci-products__card-more span { display: inline-block; transition: transform .25s ease; }
.ci-products__card:hover .ci-products__card-more span { transform: translateX(5px); }

/* Detailseite */
.ci-product { background: #fff; }
.ci-product__hero { background: #0e1011; color: #fff; padding: clamp(140px,18vh,210px) 6vw 4rem; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(2rem,5vw,5rem); align-items: center; }
@media (max-width:991px){ .ci-product__hero { grid-template-columns: 1fr; gap: 2.5rem; } }
.ci-product__eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: #304499; margin-bottom: 1.2rem; }
.ci-product__mask { overflow: hidden; }
.ci-product__h1 { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(36px,5.5vw,78px); line-height: 1.0; letter-spacing: -0.02em; margin: 0; text-transform: uppercase; color: #fff; animation: ci-mask-up 1s cubic-bezier(.4,0,.2,1) .15s both; }
.ci-product__subtitle { font-family: 'Gambetta', Inter, sans-serif; font-style: italic; font-size: clamp(18px,2.2vw,26px); color: rgba(255,255,255,0.85); margin: 1rem 0 0; }
.ci-product__lead { font-size: clamp(17px,1.9vw,21px); line-height: 1.55; color: rgba(255,255,255,0.88); margin: 1.5rem 0 0; }
.ci-product__cta-row { display: flex; align-items: center; gap: 1.5rem; margin-top: 2.2rem; flex-wrap: wrap; }
.ci-product__price-inline { font-family: 'Anton SC', Inter, sans-serif; font-size: 22px; color: #fff; display: flex; flex-direction: column; }
.ci-product__price-inline small { font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 400; color: rgba(255,255,255,0.6); }
.ci-product__hero-media img { width: 100%; border-radius: 4px; aspect-ratio: 4/3; object-fit: cover; box-shadow: 0 40px 90px -40px rgba(0,0,0,.6); }
.ci-product__facts { max-width: 1100px; margin: -2.5rem auto 0; padding: 0 6vw; position: relative; z-index: 2; display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 1px; background: #e8eded; border: 1px solid #e8eded; border-radius: 6px; overflow: hidden; }
.ci-product__fact { background: #fff; padding: 1.4rem 1.6rem; display: flex; flex-direction: column; gap: 0.3rem; }
.ci-product__fact.is-price { background: #0e1011; color: #fff; }
.ci-product__fact-label { font-family: 'Inconsolata', monospace; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: #999; }
.ci-product__fact.is-price .ci-product__fact-label { color: #304499; }
.ci-product__fact-value { font-family: 'Anton SC', Inter, sans-serif; font-size: 18px; text-transform: uppercase; color: inherit; }
.ci-product__fact-note { font-size: 12px; color: rgba(255,255,255,0.6); }
.ci-product__body { max-width: 1100px; margin: 0 auto; padding: clamp(3rem,6vw,5rem) 6vw; display: grid; grid-template-columns: 1.6fr 1fr; gap: clamp(2rem,5vw,4rem); align-items: start; }
@media (max-width:900px){ .ci-product__body { grid-template-columns: 1fr; } }
.ci-product__prose { font-size: 17px; line-height: 1.7; color: #0e1011; }
.ci-product__prose h2 { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(24px,3vw,38px); text-transform: uppercase; margin: 2rem 0 1rem; line-height: 1.1; }
.ci-product__prose h2:first-child { margin-top: 0; }
.ci-product__prose h3 { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(18px,2vw,24px); text-transform: uppercase; margin: 1.8rem 0 0.8rem; }
.ci-product__prose ul { padding-left: 1.3rem; margin: 1rem 0; }
.ci-product__prose li { margin-bottom: 0.5rem; }
.ci-product__prose a { color: #304499; text-decoration: underline; text-underline-offset: 3px; }
.ci-product__prose strong { color: #0e1011; }
.ci-product__dates { position: sticky; top: 110px; background: #f8f8f8; border-radius: 8px; padding: 2rem; border-top: 4px solid #304499; }
.ci-product__dates-label { font-family: 'Inconsolata', monospace; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: #304499; margin-bottom: 1rem; }
.ci-product__dates-list { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; flex-direction: column; gap: 0.7rem; }
.ci-product__dates-list li { font-size: 15px; line-height: 1.4; color: #0e1011; padding-bottom: 0.7rem; border-bottom: 1px solid #e8eded; }
.ci-product__dates-list li:last-child { border-bottom: none; }
.ci-product__related { max-width: 1300px; margin: 0 auto; padding: clamp(3rem,6vw,5rem) 6vw; border-top: 1px solid #e8eded; }
.ci-product__related-h { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(26px,4vw,46px); text-transform: uppercase; margin: 0 0 2.5rem; color: #0e1011; }
.ci-product__related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; }
@media (max-width:991px){ .ci-product__related-grid { grid-template-columns: 1fr; } }
.ci-product__final { background: #0e1011; color: #fff; padding: clamp(4rem,8vw,6rem) 6vw; text-align: center; }
.ci-product__final-inner { max-width: 700px; margin: 0 auto; }
.ci-product__final-h { font-family: 'Anton SC', Inter, sans-serif; font-size: clamp(28px,4vw,52px); text-transform: uppercase; margin: 0 0 1rem; color: #fff; }
.ci-product__final-lead { font-size: 17px; line-height: 1.55; color: rgba(255,255,255,0.9); margin: 0 0 2rem; }
.ci-product__final-actions { display: flex; gap: 1.5rem; justify-content: center; align-items: center; flex-wrap: wrap; }
.ci-product__final-secondary { color: #fff; font-weight: 600; text-decoration: none; border-bottom: 2px solid rgba(255,255,255,0.6); padding-bottom: 3px; }
.ci-product__final-secondary span { display: inline-block; transition: transform .25s ease; }
.ci-product__final-secondary:hover span { transform: translateX(5px); }
.elementor-widget-ci-products, .elementor-widget-ci-products .elementor-widget-container { width:100%; max-width:100%; margin:0; padding:0; }
/* =========================================================================
   LIGHT-THEME OVERRIDE v2 — Inhalt hell, Header (.ci-nav) + Footer (.ci-ft)
   bleiben dunkel. Scope-basiert: ganze Sektion + ALLE Kinder auf dunklen
   Text, danach Akzente/Buttons/Medien mit höherer Spezifität zurückholen.
   ========================================================================= */

.main-wrapper { background: #fff; }

/* ---- 1. Geflippte Sektionen: Fläche hell + Text dunkel (inkl. aller Kinder) ---- */
.ci-hero2, .ci-hero2 *,
.ci-method, .ci-method *,
.ci-stats, .ci-stats *,
.ci-newsletter, .ci-newsletter *,
.ci-termine__hero, .ci-termine__hero *,
.ci-termine__custom, .ci-termine__custom *,
.ci-solution__hero, .ci-solution__hero *,
.ci-solution__outcomes, .ci-solution__outcomes *,
.ci-solution__cta, .ci-solution__cta *,
.ci-cases-hero, .ci-cases-hero *,
.ci-case-single__hero, .ci-case-single__hero *,
.ci-case-single__cta, .ci-case-single__cta *,
.ci-glossar-hero, .ci-glossar-hero *,
.ci-glossar-cta, .ci-glossar-cta *,
.ci-term__hero, .ci-term__hero *,
.ci-term__cta, .ci-term__cta *,
.ci-product__hero, .ci-product__hero *,
.ci-product__final, .ci-product__final *,
.ci-article__hero, .ci-article__hero *,
.ci-article__trainer, .ci-article__trainer *,
.ci-contact__hero, .ci-contact__hero *,
.ci-blog__hero, .ci-blog__hero *,
.ci-blog-post__hero, .ci-blog-post__hero *,
.ci-blog-post__cta, .ci-blog-post__cta *,
.ci-booking__hero, .ci-booking__hero *,
.ci-programs__closing, .ci-programs__closing * {
	color: #0e1011;
}

/* Sektions-Hintergründe */
.ci-hero2, .ci-termine__hero, .ci-solution__hero, .ci-cases-hero, .ci-case-single__hero,
.ci-glossar-hero, .ci-term__hero, .ci-product__hero, .ci-article__hero, .ci-contact__hero,
.ci-blog__hero, .ci-blog-post__hero, .ci-booking__hero {
	background: #fff;
}
.ci-hero2 { border-bottom: 1px solid #e8eded; }

.ci-method, .ci-stats, .ci-newsletter, .ci-termine__custom, .ci-solution__outcomes,
.ci-solution__cta, .ci-case-single__cta, .ci-glossar-cta, .ci-term__cta, .ci-product__final,
.ci-blog-post__cta, .ci-programs__closing, .ci-article__trainer {
	background: #f8f8f8;
	border-top: 1px solid #e8eded;
}

/* ---- 2. Akzente zurückholen (höhere Spezifität als .sektion *) ---- */
.ci-hero2 .ci-hero2__eyebrow,
.ci-method .ci-method__eyebrow,
.ci-solution__hero .ci-solution__eyebrow,
.ci-cases-hero .ci-cases-hero__eyebrow,
.ci-glossar-hero .ci-glossar-hero__eyebrow,
.ci-term__hero .ci-term__eyebrow,
.ci-product__hero .ci-product__eyebrow,
.ci-newsletter .ci-newsletter__eyebrow,
.ci-cases-hero .ci-cases-hero__client,
.ci-case-single__hero .ci-case-single__client,
.ci-product__hero .ci-product__eyebrow { color: #304499; }

.ci-stats .ci-stats__value { color: #cfbc86; }
.ci-hero2 .ci-hero2__trust li::before { color: #cfbc86; }
.ci-method .ci-method__arrow { color: #304499; }
.ci-product__hero .ci-product__price-inline small { color: #6b6f70; }

/* gedämpfte Sekundärtexte: lesbares Grau statt hart schwarz */
.ci-hero2 .ci-hero2__trust li,
.ci-method .ci-method__from,
.ci-stats .ci-stats__label,
.ci-stats .ci-stats__logo-intro,
.ci-newsletter .ci-newsletter__fineprint,
.ci-glossar-hero .ci-glossar-hero__lead,
.ci-cases-hero .ci-cases-hero__lead { color: #6b6f70; }

/* ---- 3. Buttons in hellen Sektionen ---- */
/* „is-light" war weiß-auf-dunkel → blau-auf-hell */
.ci-book-btn.is-light { background: #304499; color: #fff; border-color: #304499; }
.ci-book-btn.is-light:hover { background: transparent; color: #304499; }
/* Newsletter-Button */
.ci-newsletter .ci-newsletter__btn { background: #304499; color: #fff; }
.ci-newsletter .ci-newsletter__btn:hover { background: #26367a; }
/* Sekundär-CTA-Links: dunkel + blauer Unterstrich */
.ci-hero2__cta-secondary, .ci-solution__cta-secondary, .ci-case-single__cta-secondary,
.ci-term__cta-secondary, .ci-product__final-secondary {
	color: #0e1011; border-bottom-color: #304499;
}

/* ---- 4. Formularfelder (Newsletter) auf hell ---- */
.ci-newsletter .ci-newsletter__field { background: #fff; border: 1px solid #e8eded; color: #0e1011; }
.ci-newsletter .ci-newsletter__field::placeholder { color: #999; }

/* ---- 5. Trenner/Borders die transluzent-weiß waren → helle Border ---- */
.ci-method__item { border-color: #e8eded; }
.ci-solution__outcome { border-bottom-color: #e8eded; }
.ci-termine__custom { border-top: 4px solid #304499; }

/* ---- 6. Medien: füllend (cover) in natürlichen Rahmen, NICHT winzig (contain) ---- */
/* Hero-Bild: Querformat-Rahmen statt 4/5, damit Video/Bild groß und füllend ist */
.ci-hero2__media { width: 100%; }
.ci-hero2__img, .ci-hero2__video {
	width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover;
	border-radius: 6px; display: block; background: #f8f8f8;
}
.ci-product__hero-media img, .ci-solution__hero-media img {
	aspect-ratio: 4/3; object-fit: cover;
}
/* Hero-Standbild: Fokus leicht oberhalb der Mitte (Gesichter im Bild) */
.ci-hero2__img { object-position: 50% 35%; }

/* =========================================================================
   HERO-VIDEO-BAND — „Sehen Sie die Methode wirken" (Klick-zum-Abspielen, Ton)
   Ersetzt das stumme Autoplay-Loop im Hero: kein Bewegungs-Wettstreit mit dem
   CTA, schnellerer LCP, Video als bewusste Interaktion mit Ton.
   ========================================================================= */
.ci-hero2-video { background: #0e1011; padding: clamp(3rem,6vw,5.5rem) 6vw; }
.ci-hero2-video__inner { max-width: 1000px; margin: 0 auto; text-align: center; }
.ci-hero2-video__eyebrow { font-family: 'Inconsolata', monospace; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; color: #cfbc86; margin-bottom: 1rem; }
.ci-hero2-video__h2 { font-family: 'Anton SC', Inter, sans-serif; text-transform: uppercase; font-size: clamp(28px,4vw,48px); line-height: 1.05; color: #fff; margin: 0 0 1.8rem; }
.ci-hero2-video__player { position: relative; max-width: 880px; margin: 0 auto; aspect-ratio: 16/9; border-radius: 14px; overflow: hidden; cursor: pointer; box-shadow: 0 40px 90px -40px rgba(0,0,0,.6); background: #000; }
.ci-hero2-video__poster { width: 100%; height: 100%; object-fit: cover; display: block; }
.ci-hero2-video__scrim { position: absolute; inset: 0; background: rgba(14,16,17,.28); transition: background .25s ease; }
.ci-hero2-video__player:hover .ci-hero2-video__scrim { background: rgba(14,16,17,.16); }
.ci-hero2-video__play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 84px; height: 84px; border-radius: 50%; background: #cfbc86; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 30px rgba(0,0,0,.4); transition: transform .2s ease; }
.ci-hero2-video__player:hover .ci-hero2-video__play { transform: translate(-50%,-50%) scale(1.06); }
.ci-hero2-video__play svg { width: 30px; height: 34px; fill: #26305f; margin-left: 5px; }
.ci-hero2-video__meta { position: absolute; bottom: 16px; left: 20px; color: #fff; font-family: Inter, sans-serif; font-size: 14px; background: rgba(0,0,0,.4); padding: 6px 12px; border-radius: 6px; }
.ci-hero2-video__player:focus-visible { outline: 3px solid #cfbc86; outline-offset: 3px; }
.ci-hero2-video__player.is-playing { cursor: default; }
.ci-hero2-video__video { width: 100%; height: 100%; display: block; background: #000; }
/* Karten-Thumbnails bleiben füllend (cover) — contain ließ sie verschwinden */
.ci-products__card-media img, .ci-cases__card-media img, .ci-blog-teaser__card-img,
.ci-case__media img, .ci-solution__solution-media img {
	object-fit: cover;
}

/* =========================================================================
   FRONTPAGE-FIXES v1.0.43 — Blog-Bilder, Testimonials, Icons
   ========================================================================= */

/* ---- Blog-Teaser-Karten: Bild natürlicher (3/2) + Karte als Flex-Spalte ---- */
.ci-blog-teaser__card { display: flex; flex-direction: column; }
.ci-blog-teaser__card-link { display: flex; flex-direction: column; height: 100%; }
.ci-blog-teaser__card-media { aspect-ratio: 3 / 2; }
.ci-blog-teaser__card-img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ci-blog-teaser__card-body { flex: 1 1 auto; display: flex; flex-direction: column; }

/* ---- Testimonials: kompakt statt riesiger Webflow-Default-Abstände ---- */
.section-home-clients { padding: clamp(3rem, 6vw, 5rem) 6vw; max-width: 1300px; margin: 0 auto; }
.section-home-clients .section-top { margin-bottom: clamp(2rem, 4vw, 3rem); }
.section-home-clients .overflow-hidden1 { overflow: visible; }
.section-home-clients .heading-style-xxlarge {
	font-family: 'Anton SC', Inter, sans-serif; text-transform: uppercase;
	font-size: clamp(32px, 5vw, 64px); line-height: 1.0; letter-spacing: -0.02em;
	margin: 0; color: #0e1011;
}
.section-home-clients .heading-alt-small {
	font-size: clamp(16px, 1.8vw, 19px); line-height: 1.5; color: #6b6f70; margin: 1rem 0 0; max-width: 640px;
}
.section-home-clients .max-width-huge { max-width: 640px; }
.section-home-clients .div-block-2 { margin: 0; }
.section-home-clients .margin-bottom { margin-bottom: 0; }   /* Webflow-Riesenabstände neutralisieren */
.section-home-clients .margin-tiny,
.section-home-clients .margin-small,
.section-home-clients .margin-xsmall,
.section-home-clients .margin-medium,
.section-home-clients .margin-xlarge { margin: 0; padding: 0; }

.home-clients-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; margin-top: 2.5rem; }
@media (max-width: 800px) { .home-clients-grid { grid-template-columns: 1fr; } }
.clients-item {
	background: #f8f8f8; border-radius: 8px; padding: 2.2rem 2rem;
	display: flex; flex-direction: column; gap: 0.8rem;
}
.clients-item.background-color-muted-2 { background: #eee; }
.clients-item .light-mode img { width: 36px; height: auto; margin-bottom: 0.4rem; }
.clients-item .dark-mode { display: none; }
.clients-item .heading-alt-h5 {
	font-family: 'Gambetta', Inter, sans-serif; font-style: italic;
	font-size: clamp(19px, 2.2vw, 26px); line-height: 1.3; color: #0e1011; margin: 0;
}
.clients-item .text-color-muted { color: #4a4d4e; }
.clients-item .txt1 { font-size: 16px; line-height: 1.6; margin: 0; }
.home-clients-item-author { display: flex; align-items: center; gap: 0.9rem; margin-top: 0.6rem; }
.home-clients-item-author .border-radius-circle { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.home-clients-item-author .heading-alt-h6 { font-family: Inter, sans-serif; font-weight: 600; font-size: 16px; color: #0e1011; margin: 0; font-style: normal; }
.home-clients-item-author .heading-alt-h6 em { font-style: normal; }
.home-clients-item-author .text-meta-small { font-family: 'Inconsolata', monospace; font-size: 13px; color: #6b6f70; }
.home-clients-item-author .text-meta-small em { font-style: normal; }

/* ---- Pfad-Selektor-Icons: sicherstellen dass FA-Glyphen sichtbar/zentriert sind ---- */
.ci-path-card__icon i, .ci-pain__icon i, .ci-method i, .ci-authority__badges i { line-height: 1; }

/* =========================================================================
   VISUELLE BUGFIXES (Audit staging.co-intend.de)
   Korrigieren Darstellungsfehler aus dem Webflow-Export, die in WordPress
   ohne webflow.js bzw. durch 100vw/Grid-Verhalten entstehen.
   ========================================================================= */

/* -------------------------------------------------------------------------
   FIX 1 — Horizontaler Overflow (Seite lässt sich seitlich scrollen).
   Ursache: .section-home-clients hatte width:100vw. 100vw enthält die
   Breite der vertikalen Scrollbar, die Section wird dadurch ~15px breiter
   als der sichtbare Viewport -> horizontale Scrollbar + abgeschnittener
   rechter Rand. width:100% respektiert den Scrollbar-Bereich.
   ------------------------------------------------------------------------- */
.section-home-clients { width: 100%; max-width: 100%; }

/* Globaler Schutz gegen horizontalen Overflow durch 100vw-/Full-Bleed-Sektionen
   (z. B. .ci-article__section--full). overflow-x:clip kappt den Scrollbar-
   Überstand, ohne — anders als overflow:hidden — position:sticky zu brechen. */
html { overflow-x: clip; }

/* -------------------------------------------------------------------------
   FIX 2 — Grid-„Blowout" im Kontakt-/CTA-Bereich (.split) bei schmalen
   Viewports (~480–991px). Grid-Items haben per Default min-width:auto und
   können nicht unter ihre Inhaltsbreite schrumpfen -> die große Anton-
   Überschrift drückt die Spalte über den Container hinaus.
   min-width:0 erlaubt das Schrumpfen, der Inhalt bricht korrekt um.
   ------------------------------------------------------------------------- */
.split > * { min-width: 0; }
.spread-vertical.limit { max-width: 100%; min-width: 0; }

/* -------------------------------------------------------------------------
   FIX 3 — Doppelte Radio-Buttons im Kontaktformular.
   Der Webflow-Export blendet den nativen <input type=radio> normalerweise
   per webflow.js aus. Ohne dieses JS waren BEIDE sichtbar: der native
   Kreis UND der gestylte .radio-button-Kreis. Zudem zeigte der gestylte
   Kreis keinen „ausgewählt"-Zustand (Klasse .w--redirected-checked wird
   nur von webflow.js gesetzt).
   Lösung: nativen Input visuell ausblenden (bleibt klickbar über das Label)
   und den ausgewählten Zustand per CSS :has() am gestylten Kreis abbilden.
   ------------------------------------------------------------------------- */
.radio-button-field input[type="radio"] {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	margin: 0;
	pointer-events: none;
}
.radio-button-field:has(input[type="radio"]:checked) .radio-button {
	border-width: 5px;
	border-color: var(--mintgrün);
}

/* -------------------------------------------------------------------------
   FIX 4 — Unsichtbarer Link „Datenschutzerklärung" im Newsletter-Hinweis.
   Eine globale Link-Farbe (weiß, für dunkle Sektionen) wurde auf den
   Feinprint auf hellem Hintergrund vererbt -> weißer Text auf hell =
   unsichtbar. Link erbt jetzt die Textfarbe des Hinweises und ist
   unterstrichen erkennbar.
   ------------------------------------------------------------------------- */
.ci-newsletter__fineprint a { color: inherit; text-decoration: underline; }

/* =========================================================================
   REDESIGN-ERGÄNZUNGEN (Header hell + Farb-Logo, Bild-Zuschnitt)
   ========================================================================= */

/* -------------------------------------------------------------------------
   HEADER HELL + FARB-LOGO
   Der dunkle Header zwang das Logo per filter:brightness(0) invert(1) auf
   Weiß. Header wird jetzt hell -> das Farb-Logo (goldenes Symbol + blauer
   Schriftzug) wird ohne Filter angezeigt; Navigations-, Button- und Burger-
   Farben werden für hellen Grund umgestellt.
   ------------------------------------------------------------------------- */
.ci-nav {
	background: #ffffff;
	color: #0e1011;
	border-bottom: 1px solid #ececec;
	box-shadow: 0 2px 14px -10px rgba(0,0,0,0.25);
}
/* Farb-Logo zeigen (Monochrom-Filter entfernen) */
.ci-nav__logo-img, .ci-nav__logo img { filter: none; }

/* Navigations-Links dunkel auf hell */
.ci-nav__link, .ci-nav__contact { color: #3a3d3e; }
.ci-nav__link:hover, .ci-nav__link.is-current, .ci-nav__contact:hover { color: #0e1011; }
.ci-nav__caret { color: rgba(14,16,17,0.45); }

/* Nav-CTA „Erstgespräch": Marken-Blau auf hell */
.ci-nav .is-nav-cta, .ci-nav__right .is-nav-cta {
	background: #304499; color: #fff; border-color: #304499;
}
.ci-nav .is-nav-cta:hover, .ci-nav__right .is-nav-cta:hover {
	background: transparent; color: #304499;
}

/* Burger-Linien dunkel auf hellem Header */
.ci-nav__burger .menu-toggle-line { background: #0e1011; }

/* -------------------------------------------------------------------------
   BILD-ZUSCHNITT — Hochformat-Rahmen für Hochformat-Fotos
   Die Foto-Quellen sind überwiegend Hochformat (~2:3). In flachen Karten
   (4:3 / 16:10) sieht man dadurch nur einen schmalen Streifen der Person.
   Lösung: die Personen-Karten bekommen ein Hochformat (3:4), das zu den
   Bildern passt -> minimaler Beschnitt, ganze Person sichtbar. Fokus liegt
   leicht über der Mitte, wo bei Porträts die Gesichter sitzen.
   ------------------------------------------------------------------------- */
.ci-blog-teaser__card-media,
.ci-cases__card-media,
.ci-products__card-media { aspect-ratio: 3 / 4; position: relative; }

/* Bild absolut füllen — height:100% greift bei aspect-ratio-Containern nicht
   zuverlässig, wodurch flachere (Querformat-)Fotos die Kachel nicht ausfüllten
   und ein grauer Rest sichtbar blieb. inset:0 garantiert volle Abdeckung. */
.ci-blog-teaser__card-media .ci-blog-teaser__card-img,
.ci-cases__card-media img,
.ci-products__card-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 32%;
}
.ci-case__media img { object-position: 50% 32%; }

/* Runde Personen-Thumbnails (Team, Testimonial-Autor:innen) */
.ci-authority__trainer img,
.home-clients-item-author .border-radius-circle { object-position: 50% 25%; }

/* -------------------------------------------------------------------------
   STICKY-CTA „Termin buchen" — war dunkler Text auf dunklem Grund (Kontrast
   1.0, unsichtbar). Jetzt Marken-Blau mit weißem Text -> klar lesbar.
   ------------------------------------------------------------------------- */
.ci-sticky-cta .ci-book-btn.is-sticky {
	background: #304499;
	color: #fff;
	border-color: #304499;
}
.ci-sticky-cta .ci-book-btn.is-sticky:hover {
	background: #0e1011;
	color: #fff;
	border-color: #0e1011;
}

/* (Footer-Feintuning ist in den neuen .ci-ft-Regeln oben enthalten.) */

/* =========================================================================
   HERO — Dunkles Editorial-Redesign
   Dunkler Grund (#0e1011) + feine Körnung + dezenter Blau-Schimmer,
   Gold-Akzent auf der Schlüssel-Aussage, goldener CTA. Geht nahtlos in das
   dunkle Video-Band über. (Muss nach den Hell-Overrides stehen → gewinnt.)
   ========================================================================= */
.ci-hero2 { background: #0e1011; border-bottom: none; position: relative; overflow: hidden; }
.ci-hero2::before {
	content: ''; position: absolute; inset: 0; pointer-events: none;
	background-image: radial-gradient(rgba(255,255,255,0.045) 1px, transparent 1px);
	background-size: 4px 4px;
}
.ci-hero2::after {
	content: ''; position: absolute; top: -22%; right: -8%; width: 560px; height: 560px;
	border-radius: 50%; pointer-events: none;
	background: radial-gradient(circle, rgba(48,68,153,0.45), transparent 70%);
}
.ci-hero2__inner { position: relative; z-index: 2; }
.ci-hero2 *, .ci-hero2 li { color: #fff; }
.ci-hero2 .ci-hero2__eyebrow { color: #cfbc86; }
.ci-hero2 .ci-hero2__h1 { color: #fff; }
.ci-hero2 .ci-hero2__h1 .hl { color: #cfbc86; }
.ci-hero2 .ci-hero2__lead { color: rgba(255,255,255,0.82); }
.ci-hero2 .ci-hero2__trust li { color: rgba(255,255,255,0.58); }
.ci-hero2 .ci-hero2__cta-secondary { color: #fff; }
.ci-hero2 .ci-book-btn.is-primary { background: #cfbc86; color: #26305f; border-color: #cfbc86; }
.ci-hero2 .ci-book-btn.is-primary:hover { background: transparent; color: #fff; border-color: #fff; }
