/* ============================================================
   IT-ZU Design System v2 — "Quiet Dark"
   01: tokens, reset, typography, buttons, global chrome
   ============================================================ */

:root {
	--bg: #07090d;
	--bg-alt: #0b0e14;
	--surface: #10141c;
	--surface-2: #151a24;
	--surface-3: #1a2130;
	--border: #1d2431;
	--border-strong: #2b3446;
	--text: #e9edf4;
	--text-2: #9aa5b6;
	--text-3: #667186;
	--accent: #4d8dff;
	--accent-soft: rgba(77, 141, 255, 0.12);
	--accent-2: #22d3ee;
	--gradient: linear-gradient(100deg, #4d8dff, #22d3ee);
	--ok: #34d399;
	--warn: #fbbf24;
	--danger: #f87171;
	--font: 'Inter', system-ui, -apple-system, sans-serif;
	--mono: 'JetBrains Mono', ui-monospace, monospace;
	--radius: 14px;
	--radius-sm: 9px;
	--container: 1160px;
	--narrow: 760px;
	--section-y: clamp(4rem, 9vw, 7.5rem);
	--shadow-lg: 0 24px 64px -16px rgba(0, 0, 0, 0.55);
	--ring: 0 0 0 3px rgba(77, 141, 255, 0.35);
}

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

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	background: var(--bg);
	color: var(--text);
	font-family: var(--font);
	font-size: 1rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

img, svg, video { display: block; max-width: 100%; }
input, button, textarea, select { font: inherit; color: inherit; }
a { color: var(--accent); text-decoration: none; }
a:hover { color: #7caeff; }
ul, ol { padding-left: 1.2em; }

h1, h2, h3, h4 {
	font-weight: 750;
	line-height: 1.15;
	letter-spacing: -0.022em;
	color: var(--text);
	text-wrap: balance;
}

code {
	font-family: var(--mono);
	font-size: 0.86em;
	background: var(--surface-2);
	border: 1px solid var(--border);
	border-radius: 6px;
	padding: 0.12em 0.42em;
	color: #9ecbff;
	overflow-wrap: anywhere;
}

pre {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	padding: 1.1rem 1.3rem;
	overflow-x: auto;
	margin: 1.4rem 0;
}
pre code { background: none; border: 0; padding: 0; }

::selection { background: rgba(77, 141, 255, 0.35); }

:focus-visible { outline: none; box-shadow: var(--ring); border-radius: 4px; }

/* ---------- buttons ---------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.72rem 1.45rem;
	border-radius: 999px;
	border: 1px solid transparent;
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.2;
	cursor: pointer;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease;
	white-space: nowrap;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }

.btn-primary {
	background: var(--gradient);
	color: #061020;
	box-shadow: 0 8px 24px -8px rgba(77, 141, 255, 0.55);
}
.btn-primary:hover { color: #061020; box-shadow: 0 12px 32px -8px rgba(77, 141, 255, 0.7); }

.btn-secondary {
	background: var(--surface-2);
	border-color: var(--border-strong);
	color: var(--text);
}
.btn-secondary:hover { background: var(--surface-3); color: var(--text); border-color: #3a4660; }

.btn-outline {
	background: transparent;
	border-color: var(--border-strong);
	color: var(--text-2);
}
.btn-outline:hover { border-color: var(--accent); color: var(--text); background: var(--accent-soft); }

.btn-lg { padding: 0.95rem 1.9rem; font-size: 1.02rem; }

/* ---------- reveal animation ---------- */
.reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.revealed { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	.reveal { opacity: 1; transform: none; transition: none; }
	html { scroll-behavior: auto; }
}

/* ---------- page transition ---------- */
.itzu-page-transition { animation: itzu-page-in 0.45s cubic-bezier(0.16, 1, 0.3, 1); }
.itzu-page-exit { opacity: 0; transform: translateY(-10px); transition: opacity 0.25s ease, transform 0.25s ease; }
@keyframes itzu-page-in {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: none; }
}

/* ---------- skip nav ---------- */
.itzu-skip-nav {
	position: fixed;
	top: -100px;
	left: 1rem;
	z-index: 3000;
	background: var(--accent);
	color: #061020;
	padding: 0.6rem 1.1rem;
	border-radius: var(--radius-sm);
	font-weight: 600;
	transition: top 0.2s ease;
}
.itzu-skip-nav:focus { top: 1rem; color: #061020; }

/* ---------- scroll progress ---------- */
.itzu-scroll-progress {
	position: fixed;
	inset: 0 0 auto 0;
	height: 2px;
	z-index: 2000;
	background: transparent;
	pointer-events: none;
}
.itzu-scroll-progress__bar {
	height: 100%;
	width: 0;
	background: var(--gradient);
}

/* ---------- back to top ---------- */
.itzu-back-to-top {
	position: fixed;
	right: 1.4rem;
	bottom: 1.4rem;
	z-index: 900;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: 1px solid var(--border-strong);
	background: var(--surface-2);
	color: var(--text-2);
	font-size: 1.15rem;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: all 0.25s ease;
}
.itzu-back-to-top--visible { opacity: 1; visibility: visible; transform: none; }
.itzu-back-to-top:hover { border-color: var(--accent); color: var(--text); }

/* ---------- floating cta ---------- */
.itzu-floating-cta {
	position: fixed;
	left: 1.5rem;
	right: auto;
	bottom: 1.5rem;
	transform: translateY(120%);
	z-index: 950;
	opacity: 0;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease;
}
.itzu-floating-cta--visible { transform: translateY(0); opacity: 1; }
.itzu-floating-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	min-width: 3rem;
	height: 3rem;
	background: var(--gradient);
	color: #061020;
	font-weight: 650;
	padding: 0 0.9rem;
	border-radius: 999px;
	box-shadow: var(--shadow-lg);
	white-space: nowrap;
	transition: gap 0.3s cubic-bezier(0.16, 1, 0.3, 1), padding 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.itzu-floating-cta__btn > span:last-child {
	max-width: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-width 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease;
}
.itzu-floating-cta__btn:hover,
.itzu-floating-cta__btn:focus-visible {
	color: #061020;
	gap: 0.5rem;
	padding: 0 1.4rem 0 1.1rem;
}
.itzu-floating-cta__btn:hover > span:last-child,
.itzu-floating-cta__btn:focus-visible > span:last-child {
	max-width: 16rem;
	opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
	.itzu-floating-cta__btn,
	.itzu-floating-cta__btn > span:last-child { transition: none; }
}
@media (max-width: 768px) {
	.itzu-floating-cta { left: 1rem; bottom: 1rem; }
}

/* ---------- cookie banner ---------- */
.itzu-cookie {
	position: fixed;
	left: 50%;
	bottom: 1.2rem;
	transform: translate(-50%, 130%);
	width: min(620px, calc(100vw - 2rem));
	z-index: 1500;
	background: var(--surface-2);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius);
	padding: 1.1rem 1.25rem;
	box-shadow: var(--shadow-lg);
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.itzu-cookie--visible { transform: translate(-50%, 0); }
.itzu-cookie__inner { display: flex; gap: 1.25rem; align-items: center; flex-wrap: wrap; }
.itzu-cookie__text { flex: 1 1 300px; font-size: 0.88rem; color: var(--text-2); }
.itzu-cookie__text strong { display: block; color: var(--text); margin-bottom: 0.2rem; font-size: 0.95rem; }
.itzu-cookie__actions { display: flex; gap: 0.5rem; }
.itzu-cookie__btn {
	border: 1px solid var(--border-strong);
	background: transparent;
	color: var(--text-2);
	border-radius: 999px;
	padding: 0.5rem 1.05rem;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.18s ease;
}
.itzu-cookie__btn--accept { background: var(--accent); border-color: var(--accent); color: #061020; }
.itzu-cookie__btn--accept:hover { background: #6ba1ff; }
.itzu-cookie__btn--reject:hover { color: var(--text); border-color: #3a4660; }

/* ---------- language switch feedback ---------- */
.itzu-translating main { opacity: 0.4; transition: opacity 0.2s ease; }


/* ============================================================
   02: site shell — header, navigation, language switcher, footer
   ============================================================ */

/* ---------- header ---------- */
.itzu-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	gap: 1.5rem;
	padding: 0 clamp(1rem, 4vw, 2.5rem);
	height: 68px;
	background: rgba(7, 9, 13, 0.72);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid transparent;
	transition: border-color 0.25s ease, background 0.25s ease;
}
.itzu-header.scrolled {
	border-bottom-color: var(--border);
	background: rgba(7, 9, 13, 0.88);
}

.itzu-header__logo { flex-shrink: 0; display: flex; align-items: center; }
/* logo artwork is dark navy — give it a light chip so it reads on dark bg */
.itzu-header__logo-img {
	height: 42px;
	width: auto;
	background: #eef1f6;
	border-radius: 9px;
	padding: 4px 10px;
}

.itzu-header nav { flex: 1; min-width: 0; }

.itzu-header__nav {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.itzu-header__nav > li > a {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.5rem 0.8rem;
	border-radius: 999px;
	color: var(--text-2);
	font-size: 0.92rem;
	font-weight: 550;
	transition: color 0.18s ease, background 0.18s ease;
}
.itzu-header__nav > li > a:hover { color: var(--text); background: var(--surface-2); }

.itzu-header__dropdown { position: relative; }
.itzu-header__dropdown-arrow { font-size: 0.6rem; opacity: 0.7; transition: transform 0.2s ease; }

.itzu-header__dropdown-menu {
	position: absolute;
	top: calc(100% + 10px);
	left: 50%;
	transform: translateX(-50%) translateY(6px);
	width: min(680px, calc(100vw - 2rem));
	background: var(--surface);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
	padding: 0.75rem;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}
.itzu-header__dropdown:hover .itzu-header__dropdown-menu,
.itzu-header__dropdown.open .itzu-header__dropdown-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}
.itzu-header__dropdown:hover .itzu-header__dropdown-arrow,
.itzu-header__dropdown.open .itzu-header__dropdown-arrow { transform: rotate(180deg); }

/* Edge-anchored menus: prevent viewport overflow for left-/right-most triggers.
   Leistungen (leftmost) anchors its left edge; EMRE-RMM (near right) anchors its
   right edge — so the centered default never spills off-screen. */
.itzu-header__dropdown--left .itzu-header__dropdown-menu {
	left: 0;
	right: auto;
	transform: translateX(0) translateY(6px);
}
.itzu-header__dropdown--left:hover .itzu-header__dropdown-menu,
.itzu-header__dropdown--left.open .itzu-header__dropdown-menu {
	transform: translateX(0) translateY(0);
}
.itzu-header__dropdown--right .itzu-header__dropdown-menu {
	left: auto;
	right: 0;
	transform: translateX(0) translateY(6px);
}
.itzu-header__dropdown--right:hover .itzu-header__dropdown-menu,
.itzu-header__dropdown--right.open .itzu-header__dropdown-menu {
	transform: translateX(0) translateY(0);
}

.itzu-header__dropdown-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.15rem;
}
.itzu-header__dropdown-item {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.55rem 0.7rem;
	border-radius: var(--radius-sm);
	color: var(--text-2);
	font-size: 0.9rem;
	transition: background 0.15s ease, color 0.15s ease;
}
.itzu-header__dropdown-item:hover { background: var(--surface-2); color: var(--text); }
.itzu-header__dropdown-thumb { display: none; }
.itzu-header__dropdown-icon {
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: var(--accent-soft);
	color: var(--accent);
	font-family: var(--mono);
	font-size: 0.72rem;
	font-weight: 600;
}
.itzu-header__dropdown-text { line-height: 1.3; }

.itzu-header__dropdown-footer {
	border-top: 1px solid var(--border);
	margin-top: 0.6rem;
	padding: 0.65rem 0.7rem 0.15rem;
}
.itzu-header__dropdown-all { font-size: 0.88rem; font-weight: 600; }

.itzu-header__right { flex-shrink: 0; display: flex; align-items: center; }

/* ---------- language switcher ---------- */
.itzu-lang { position: relative; }
.itzu-lang__flags {
	display: flex;
	align-items: center;
	gap: 0.15rem;
	list-style: none;
	margin: 0;
	padding: 0.25rem;
	background: var(--surface-2);
	border: 1px solid var(--border);
	border-radius: 999px;
}
.itzu-lang__option {
	display: inline-flex;
	padding: 0.3rem 0.4rem;
	border-radius: 999px;
	cursor: pointer;
	opacity: 0.45;
	transition: opacity 0.15s ease, background 0.15s ease;
}
.itzu-lang__option img { border-radius: 3px; }
.itzu-lang__option:hover { opacity: 0.9; }
.itzu-lang__option--active { opacity: 1; background: var(--surface-3); }

/* trigger/dropdown variant built by i18n.js on small screens */
.itzu-lang__trigger {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	background: var(--surface-2);
	border: 1px solid var(--border);
	border-radius: 999px;
	padding: 0.4rem 0.8rem;
	color: var(--text-2);
	font-size: 0.85rem;
	cursor: pointer;
}
.itzu-lang__dropdown--visible { display: flex !important; }

/* ---------- hamburger ---------- */
.itzu-header__hamburger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 42px;
	height: 42px;
	padding: 0 10px;
	background: var(--surface-2);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	cursor: pointer;
}
.itzu-header__hamburger span {
	display: block;
	height: 2px;
	background: var(--text);
	border-radius: 2px;
	transition: transform 0.25s ease, opacity 0.25s ease;
}
.itzu-header__hamburger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.itzu-header__hamburger.is-open span:nth-child(2) { opacity: 0; }
.itzu-header__hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- footer ---------- */
.itzu-footer {
	border-top: 1px solid var(--border);
	background: var(--bg-alt);
	padding: 4.5rem clamp(1rem, 4vw, 2.5rem) 2rem;
	margin-top: var(--section-y);
}
.itzu-footer__grid {
	max-width: var(--container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 0.8fr 1.2fr;
	gap: 2.5rem;
}
.itzu-footer__brand-name { margin-bottom: 1rem; }
.itzu-footer__logo-img {
	height: 44px;
	width: auto;
	background: #eef1f6;
	border-radius: 9px;
	padding: 4px 10px;
}
.itzu-footer__brand-desc { color: var(--text-3); font-size: 0.88rem; max-width: 34ch; }

.itzu-footer__col-title {
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	color: var(--text-2);
	margin-bottom: 1rem;
}
.itzu-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.45rem; }
.itzu-footer__links a { color: var(--text-3); font-size: 0.88rem; transition: color 0.15s ease; }
.itzu-footer__links a:hover { color: var(--text); }

.itzu-footer__bottom {
	max-width: var(--container);
	margin: 3.5rem auto 0;
	padding-top: 1.6rem;
	border-top: 1px solid var(--border);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}
.itzu-footer__copy { color: var(--text-3); font-size: 0.84rem; }
.itzu-footer__badges { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.itzu-footer__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.78rem;
	color: var(--text-2);
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: 999px;
	padding: 0.35rem 0.85rem;
}
.itzu-footer__badge-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ok);
	box-shadow: 0 0 8px var(--ok);
	animation: itzu-pulse 2.4s ease infinite;
}
@keyframes itzu-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.45; }
}

/* ---------- responsive shell ---------- */
@media (max-width: 1100px) {
	.itzu-header__nav > li > a { padding: 0.5rem 0.55rem; font-size: 0.86rem; }
}

@media (max-width: 960px) {
	.itzu-header__hamburger { display: flex; }
	.itzu-header nav { position: static; }
	.itzu-header__nav {
		position: fixed;
		inset: 68px 0 auto 0;
		max-height: calc(100dvh - 68px);
		overflow-y: auto;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: var(--bg-alt);
		border-bottom: 1px solid var(--border-strong);
		padding: 0.75rem 1rem 1.25rem;
		display: none;
	}
	.itzu-header__nav.active { display: flex; }
	.itzu-header__nav > li > a { display: flex; padding: 0.85rem 0.6rem; font-size: 1rem; border-radius: var(--radius-sm); }
	.itzu-header__dropdown-menu {
		position: static;
		transform: none;
		width: 100%;
		opacity: 1;
		visibility: hidden;
		display: none;
		box-shadow: none;
		border: 0;
		border-left: 2px solid var(--border-strong);
		border-radius: 0;
		padding: 0 0 0 0.75rem;
		margin: 0 0 0.5rem 0.75rem;
	}
	.itzu-header__dropdown.open .itzu-header__dropdown-menu { display: block; visibility: visible; }
	.itzu-header__dropdown-grid { grid-template-columns: 1fr; }
	.itzu-footer__grid { grid-template-columns: 1fr 1fr; }
	.itzu-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
	.itzu-footer__grid { grid-template-columns: 1fr; }
	.itzu-lang__flags { flex-wrap: wrap; max-width: 160px; justify-content: center; }
}


/* ============================================================
   03: showcase sections — hero+terminal, rmm showcase, social
   proof, two worlds, no-backdoors, contact person, cta
   ============================================================ */

/* ---------- hero ---------- */
.itzu-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(4rem, 10vw, 7.5rem) clamp(1rem, 4vw, 2.5rem) clamp(3.5rem, 8vw, 6rem);
}
.itzu-hero__bg { position: absolute; inset: 0; pointer-events: none; }
.itzu-hero__bg-img { display: none; }
.itzu-hero__bg-gradient {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 70% 55% at 22% 0%, rgba(77, 141, 255, 0.13), transparent 60%),
		radial-gradient(ellipse 55% 45% at 85% 15%, rgba(34, 211, 238, 0.08), transparent 60%);
}
.itzu-hero__bg-grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(154, 165, 182, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(154, 165, 182, 0.05) 1px, transparent 1px);
	background-size: 44px 44px;
	mask-image: radial-gradient(ellipse 80% 70% at 50% 0%, #000 30%, transparent 75%);
	-webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 0%, #000 30%, transparent 75%);
}
.itzu-hero__bg-orbs, .itzu-hero__bg-noise { position: absolute; inset: 0; }
.itzu-hero__bg-orb { position: absolute; border-radius: 50%; filter: blur(90px); opacity: 0.35; }
.itzu-hero__bg-orb--1 { width: 420px; height: 420px; top: -160px; left: -120px; background: rgba(77, 141, 255, 0.35); }
.itzu-hero__bg-orb--2 { width: 340px; height: 340px; bottom: -140px; right: -80px; background: rgba(34, 211, 238, 0.25); }
.itzu-hero__bg-orb--3 { display: none; }

.itzu-hero__content {
	position: relative;
	max-width: var(--container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(2.5rem, 6vw, 5rem);
	align-items: center;
}

.itzu-hero__label {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	background: var(--surface);
	border: 1px solid var(--border-strong);
	border-radius: 999px;
	padding: 0.4rem 1rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--text-2);
	margin-bottom: 1.6rem;
}
.itzu-hero__label-dot {
	width: 8px; height: 8px; border-radius: 50%;
	background: var(--ok);
	box-shadow: 0 0 10px var(--ok);
	animation: itzu-pulse 2.4s ease infinite;
}

.itzu-hero__title {
	font-size: clamp(2.3rem, 5vw, 3.6rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	margin-bottom: 1.4rem;
}
.itzu-hero__title-gradient,
.itzu-hero__title-morph {
	background: var(--gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.itzu-hero__title-morph--blink { border-right: 3px solid var(--accent); }

.itzu-hero__subtitle {
	color: var(--text-2);
	font-size: clamp(1rem, 1.6vw, 1.14rem);
	max-width: 54ch;
	margin-bottom: 2.1rem;
}

.itzu-hero__actions { display: flex; gap: 0.8rem; flex-wrap: wrap; margin-bottom: 2.4rem; }
.itzu-hero__cta-primary { box-shadow: 0 10px 34px -10px rgba(77, 141, 255, 0.65); }

.itzu-hero__trust-row { display: flex; flex-direction: column; gap: 1rem; }
.itzu-hero__trust-divider { height: 1px; background: var(--border); max-width: 460px; }
.itzu-hero__trust-badges { display: flex; align-items: center; flex-wrap: wrap; gap: 0.55rem; }
.itzu-hero__trust-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: var(--text-3);
	font-size: 0.83rem;
	font-weight: 550;
}
.itzu-hero__trust-badge-icon { color: var(--ok); }
.itzu-hero__trust-badge-sep { width: 4px; height: 4px; border-radius: 50%; background: var(--border-strong); }

.itzu-hero__review { margin-top: 0.4rem; }
.itzu-hero__review-inner,
.itzu-hero__review-content { display: inline-flex; align-items: center; gap: 0.7rem; flex-wrap: wrap; }
.itzu-hero__review-stars { color: var(--warn); letter-spacing: 2px; font-size: 0.95rem; }
.itzu-hero__review-score { font-weight: 750; }
.itzu-hero__review-meta, .itzu-hero__review-count { color: var(--text-3); font-size: 0.83rem; }
.itzu-hero__review-google { color: var(--text-2); font-size: 0.83rem; font-weight: 600; }

/* terminal */
.itzu-hero__visual { position: relative; min-width: 0; }
.itzu-hero__terminal-glow {
	position: absolute;
	inset: -30px;
	background: radial-gradient(ellipse at 50% 45%, rgba(77, 141, 255, 0.18), transparent 65%);
	filter: blur(12px);
	pointer-events: none;
}
.itzu-hero__terminal-wrapper { position: relative; }
.itzu-hero__terminal {
	background: #0a0e15;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
	overflow: hidden;
}
.itzu-hero__terminal-bar {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	background: var(--surface-2);
	border-bottom: 1px solid var(--border);
	padding: 0.65rem 1rem;
}
.itzu-hero__terminal-dots { display: flex; gap: 6px; }
.itzu-hero__terminal-dot { width: 11px; height: 11px; border-radius: 50%; }
.itzu-hero__terminal-dot--red { background: #ff5f57; }
.itzu-hero__terminal-dot--yellow { background: #febc2e; }
.itzu-hero__terminal-dot--green { background: #28c840; }
.itzu-hero__terminal-title {
	flex: 1;
	text-align: center;
	font-family: var(--mono);
	font-size: 0.74rem;
	color: var(--text-3);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.itzu-hero__terminal-actions { display: flex; gap: 0.6rem; }
.itzu-hero__terminal-action { color: var(--text-3); font-size: 0.75rem; }

.itzu-hero__terminal-body {
	padding: 1.15rem 1.25rem 1.35rem;
	font-family: var(--mono);
	font-size: 0.82rem;
	line-height: 1.9;
	display: block;
}
.itzu-hero__terminal-line { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.itzu-hero__terminal-line.reveal { transform: translateY(8px); }
.itzu-hero__terminal-prompt { color: var(--accent-2); margin-right: 0.5rem; }
.itzu-hero__terminal-cmd { color: var(--text); }
.itzu-hero__terminal-comment { color: var(--text-3); }
.itzu-hero__terminal-ok { color: var(--ok); }
.itzu-hero__terminal-status { display: flex; align-items: center; gap: 0.6rem; min-width: 0; }
.itzu-hero__terminal-status > * { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.itzu-hero__terminal-bar-viz {
	flex: 0 1 130px;
	min-width: 36px;
	height: 6px;
	border-radius: 999px;
	background: var(--surface-3);
	overflow: hidden;
}
.itzu-hero__terminal-bar-fill {
	display: block;
	height: 100%;
	width: 0;
	border-radius: inherit;
	background: var(--gradient);
	transition: width 1.1s cubic-bezier(0.16, 1, 0.3, 1);
}
.itzu-hero__terminal-pct { color: var(--text-2); font-size: 0.76rem; }

/* ---------- generic section headers used inside showcase blocks ---------- */
.itzu-rmm-showcase__title,
.itzu-twocolumns__title,
.itzu-nobackdoors__title,
.itzu-cta__title {
	font-size: clamp(1.7rem, 3.4vw, 2.5rem);
	letter-spacing: -0.025em;
}

/* ---------- EMRE-RMM showcase ---------- */
.itzu-rmm-showcase {
	position: relative;
	overflow: hidden;
	max-width: var(--container);
	margin: var(--section-y) auto 0;
	padding: clamp(2rem, 5vw, 3.5rem);
	background: linear-gradient(160deg, var(--surface) 0%, var(--bg-alt) 100%);
	border: 1px solid var(--border-strong);
	border-radius: calc(var(--radius) + 6px);
}
.itzu-rmm-showcase__orb { position: absolute; border-radius: 50%; filter: blur(80px); opacity: 0.3; pointer-events: none; }
.itzu-rmm-showcase__orb--1 { width: 320px; height: 320px; top: -120px; right: -60px; background: rgba(77, 141, 255, 0.4); }
.itzu-rmm-showcase__orb--2 { width: 260px; height: 260px; bottom: -100px; left: -50px; background: rgba(34, 211, 238, 0.3); }
/* markup: inner > [badge, title, content > [info > [stats, actions], visual]] */
.itzu-rmm-showcase__inner { position: relative; }
.itzu-rmm-showcase__title { max-width: 22ch; }
.itzu-rmm-showcase__content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
	margin-top: 1.6rem;
}
.itzu-rmm-showcase__badge {
	display: inline-block;
	background: var(--accent-soft);
	color: var(--accent);
	border: 1px solid rgba(77, 141, 255, 0.3);
	border-radius: 999px;
	padding: 0.32rem 0.95rem;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	margin-bottom: 1.2rem;
}
.itzu-rmm-showcase__title { margin-bottom: 1rem; }
.itzu-rmm-showcase__info { color: var(--text-2); max-width: 50ch; }
.itzu-rmm-showcase__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
	gap: 1rem;
	margin: 1.8rem 0;
}
.itzu-rmm-showcase__stat {
	background: var(--surface-2);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	padding: 0.9rem 1rem;
}
.itzu-rmm-showcase__stat-number {
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	background: var(--gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.itzu-rmm-showcase__stat-label { color: var(--text-3); font-size: 0.78rem; margin-top: 0.15rem; }
.itzu-rmm-showcase__actions { display: flex; gap: 0.8rem; flex-wrap: wrap; }
.itzu-rmm-showcase__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	border-radius: 999px;
	padding: 0.7rem 1.4rem;
	font-weight: 600;
	font-size: 0.92rem;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.itzu-rmm-showcase__btn:hover { transform: translateY(-1px); }
.itzu-rmm-showcase__btn--primary { background: var(--gradient); color: #061020; }
.itzu-rmm-showcase__btn--primary:hover { color: #061020; }
.itzu-rmm-showcase__btn--secondary { border: 1px solid var(--border-strong); color: var(--text-2); }
.itzu-rmm-showcase__btn--secondary:hover { color: var(--text); border-color: var(--accent); }

.itzu-rmm-showcase__visual { min-width: 0; }
.itzu-rmm-showcase__frame {
	background: #0a0e15;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow-lg);
}
.itzu-rmm-showcase__frame-bar {
	display: flex;
	gap: 6px;
	padding: 0.6rem 0.9rem;
	background: var(--surface-2);
	border-bottom: 1px solid var(--border);
}
.itzu-rmm-showcase__frame-dot { width: 10px; height: 10px; border-radius: 50%; }
.itzu-rmm-showcase__frame-dot--red { background: #ff5f57; }
.itzu-rmm-showcase__frame-dot--yellow { background: #febc2e; }
.itzu-rmm-showcase__frame-dot--green { background: #28c840; }
.itzu-rmm-showcase__frame img { width: 100%; }

/* ---------- social proof ---------- */
.itzu-social-proof {
	max-width: var(--container);
	margin: var(--section-y) auto 0;
	padding: 0 clamp(1rem, 4vw, 2.5rem);
}
.itzu-social-proof__inner {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 1px;
	background: var(--border);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
}
.itzu-social-proof__item {
	background: var(--surface);
	padding: 1.8rem 1.2rem;
	text-align: center;
}
.itzu-social-proof__icon { font-size: 1.15rem; margin-bottom: 0.5rem; }
.itzu-social-proof__number {
	font-size: 1.9rem;
	font-weight: 800;
	letter-spacing: -0.025em;
}
.itzu-social-proof__number--accent {
	background: var(--gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.itzu-social-proof__label { color: var(--text-3); font-size: 0.82rem; margin-top: 0.3rem; }

/* ---------- two worlds ---------- */
.itzu-twocolumns {
	max-width: var(--container);
	margin: var(--section-y) auto 0;
	padding: 0 clamp(1rem, 4vw, 2.5rem);
}
.itzu-twocolumns__header { text-align: center; max-width: 640px; margin: 0 auto 3rem; }
.itzu-twocolumns__subtitle { color: var(--text-2); margin-top: 0.9rem; }
.itzu-twocolumns__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 1.4rem;
}
.itzu-twocolumns__card {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
	transition: transform 0.25s ease, border-color 0.25s ease;
}
.itzu-twocolumns__card:hover { transform: translateY(-4px); border-color: var(--border-strong); }
.itzu-twocolumns__card-visual { position: relative; aspect-ratio: 16 / 7; overflow: hidden; }
.itzu-twocolumns__card-img { width: 100%; height: 100%; object-fit: cover; opacity: 0.55; }
.itzu-twocolumns__card-icon-large {
	position: absolute;
	left: 1.4rem;
	bottom: 1rem;
	font-size: 2rem;
	filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.6));
}
.itzu-twocolumns__card-body { padding: 1.6rem 1.6rem 1.8rem; }
.itzu-twocolumns__card-title { font-size: 1.25rem; margin-bottom: 0.6rem; }
.itzu-twocolumns__card-desc { color: var(--text-2); font-size: 0.93rem; margin-bottom: 1rem; }
.itzu-twocolumns__card-list { list-style: none; padding: 0; display: grid; gap: 0.5rem; color: var(--text-2); font-size: 0.9rem; }
.itzu-twocolumns__card-list li { padding-left: 1.4rem; position: relative; }
.itzu-twocolumns__card-list li::before { content: '✓'; position: absolute; left: 0; color: var(--ok); font-weight: 700; }
.itzu-twocolumns__card-link { display: inline-block; margin-top: 1.2rem; font-weight: 600; font-size: 0.92rem; }

/* ---------- no backdoors ---------- */
.itzu-nobackdoors {
	position: relative;
	overflow: hidden;
	max-width: var(--container);
	margin: var(--section-y) auto 0;
	border: 1px solid var(--border-strong);
	border-radius: calc(var(--radius) + 6px);
	background: var(--surface);
}
.itzu-nobackdoors__bg-image { position: absolute; inset: 0; }
.itzu-nobackdoors__bg-image img { width: 100%; height: 100%; object-fit: cover; opacity: 0.05; }
.itzu-nobackdoors__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: clamp(2rem, 5vw, 4rem);
	padding: clamp(2rem, 5vw, 3.5rem);
	align-items: center;
}
.itzu-nobackdoors__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: rgba(52, 211, 153, 0.1);
	color: var(--ok);
	border: 1px solid rgba(52, 211, 153, 0.3);
	border-radius: 999px;
	padding: 0.35rem 1rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: 1.2rem;
}
.itzu-nobackdoors__title { margin-bottom: 1rem; }
.itzu-nobackdoors__desc { color: var(--text-2); max-width: 52ch; }
.itzu-nobackdoors__checklist-area { display: grid; gap: 0.7rem; }
.itzu-nobackdoors__checklist { list-style: none; padding: 0; display: grid; gap: 0.7rem; }
.itzu-nobackdoors__check {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	background: var(--surface-2);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	padding: 0.85rem 1.05rem;
	color: var(--text-2);
	font-size: 0.92rem;
}
/* markup already carries its own check icon — no ::before here */

/* ---------- contact person ---------- */
.itzu-contact-person {
	position: relative;
	max-width: var(--container);
	margin: var(--section-y) auto 0;
	padding: 0 clamp(1rem, 4vw, 2.5rem);
}
.itzu-contact-person__bg-image { display: none; }
.itzu-contact-person__container {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(2rem, 5vw, 4rem);
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: calc(var(--radius) + 6px);
	padding: clamp(2rem, 5vw, 3.5rem);
	align-items: center;
}
.itzu-contact-person__visual { text-align: center; }
.itzu-contact-person__photo-wrapper { position: relative; display: inline-block; }
.itzu-contact-person__photo-placeholder {
	width: 170px;
	height: 170px;
	border-radius: 50%;
	background: var(--gradient);
	color: #061020;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3rem;
	font-weight: 800;
	margin: 0 auto;
	box-shadow: 0 16px 48px -12px rgba(77, 141, 255, 0.5);
}
.itzu-contact-person__photo { display: block; line-height: 0; }
.itzu-contact-person__photo-wrapper img { width: 170px; height: 170px; border-radius: 50%; object-fit: cover; object-position: 50% 45%; margin: 0 auto; display: block; }
.itzu-contact-person__photo-img {
	border: 3px solid rgba(77, 141, 255, 0.35);
	background: var(--gradient);
	box-shadow: 0 16px 48px -12px rgba(77, 141, 255, 0.5);
}
.itzu-contact-person__status-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-top: 1rem;
	background: var(--surface-2);
	border: 1px solid var(--border);
	border-radius: 999px;
	padding: 0.35rem 0.95rem;
	font-size: 0.8rem;
	color: var(--text-2);
}
.itzu-contact-person__status-dot {
	width: 8px; height: 8px; border-radius: 50%;
	background: var(--ok);
	box-shadow: 0 0 8px var(--ok);
	animation: itzu-pulse 2.4s ease infinite;
}
.itzu-contact-person__label {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 0.7rem;
}
.itzu-contact-person__name { font-size: clamp(1.5rem, 3vw, 2.1rem); }
.itzu-contact-person__role { color: var(--text-2); margin: 0.35rem 0 1.1rem; }
.itzu-contact-person__quote {
	border-left: 3px solid var(--accent);
	padding-left: 1.1rem;
	color: var(--text-2);
	font-style: italic;
	margin-bottom: 1.4rem;
}
.itzu-contact-person__expertise { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.6rem; }
.itzu-contact-person__expertise-item {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: var(--surface-2);
	border: 1px solid var(--border);
	border-radius: 999px;
	padding: 0.35rem 0.9rem;
	font-size: 0.82rem;
	color: var(--text-2);
}
.itzu-contact-person__expertise-icon { color: var(--accent); }
.itzu-contact-person__actions { display: flex; gap: 0.8rem; flex-wrap: wrap; }
.itzu-contact-person__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	border: 1px solid var(--border-strong);
	border-radius: 999px;
	padding: 0.7rem 1.4rem;
	font-weight: 600;
	font-size: 0.92rem;
	color: var(--text-2);
	transition: all 0.18s ease;
}
.itzu-contact-person__btn:hover { color: var(--text); border-color: var(--accent); transform: translateY(-1px); }
.itzu-contact-person__btn--primary { background: var(--gradient); border-color: transparent; color: #061020; }
.itzu-contact-person__btn--primary:hover { color: #061020; }
.itzu-contact-person__trust-badges { display: flex; gap: 1.2rem; flex-wrap: wrap; margin-top: 1.6rem; }
.itzu-contact-person__trust-badge { color: var(--text-3); font-size: 0.82rem; }

/* ---------- CTA banner ---------- */
.itzu-cta {
	position: relative;
	overflow: hidden;
	max-width: var(--container);
	margin: var(--section-y) auto 0;
	border-radius: calc(var(--radius) + 6px);
	border: 1px solid var(--border-strong);
	background:
		radial-gradient(ellipse 90% 120% at 50% -20%, rgba(77, 141, 255, 0.22), transparent 60%),
		var(--surface);
	text-align: center;
	padding: clamp(3rem, 7vw, 5rem) clamp(1.5rem, 5vw, 4rem);
}
.itzu-cta__bg-image { position: absolute; inset: 0; }
.itzu-cta__bg-image img { width: 100%; height: 100%; object-fit: cover; opacity: 0.08; }
.itzu-cta__content { position: relative; max-width: 640px; margin: 0 auto; }
.itzu-cta__title { margin-bottom: 1rem; }
.itzu-cta__title-gradient {
	background: var(--gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.itzu-cta__subtitle { color: var(--text-2); margin-bottom: 2rem; }
.itzu-cta__actions { display: flex; gap: 0.8rem; justify-content: center; flex-wrap: wrap; }
.itzu-cta__availability {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1.6rem;
	color: var(--text-3);
	font-size: 0.85rem;
}
.itzu-cta__availability-dot {
	width: 8px; height: 8px; border-radius: 50%;
	background: var(--ok);
	box-shadow: 0 0 8px var(--ok);
	animation: itzu-pulse 2.4s ease infinite;
}

/* ---------- responsive showcase ---------- */
@media (max-width: 960px) {
	.itzu-hero__content { grid-template-columns: minmax(0, 1fr); }
	.itzu-hero__visual { max-width: 560px; }
	.itzu-rmm-showcase__content,
	.itzu-nobackdoors__inner,
	.itzu-contact-person__container { grid-template-columns: minmax(0, 1fr); }
	.itzu-rmm-showcase,
	.itzu-nobackdoors { margin-left: 1rem; margin-right: 1rem; }
}


/* ============================================================
   04: content components — wiki index & articles, services,
   pricing, projects, case studies, team, forms, faq, misc
   ============================================================ */

/* ---------- wiki article hero ---------- */
.itzu-wikid-hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--border);
	background: var(--bg-alt);
}
.itzu-wikid-hero__bg { position: absolute; inset: 0; }
.itzu-wikid-hero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.1; }
.itzu-wikid-hero__bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 0%, var(--bg-alt) 92%);
}
.itzu-wikid-hero__content {
	position: relative;
	max-width: var(--container);
	margin: 0 auto;
	padding: clamp(3rem, 7vw, 5rem) clamp(1rem, 4vw, 2.5rem);
}
.itzu-wikid-hero__back {
	display: inline-block;
	color: var(--text-3);
	font-size: 0.88rem;
	font-weight: 550;
	margin-bottom: 1.6rem;
	transition: color 0.15s ease;
}
.itzu-wikid-hero__back:hover { color: var(--text); }
.itzu-wikid-hero__badge {
	display: inline-block;
	background: var(--accent-soft);
	color: var(--accent);
	border: 1px solid rgba(77, 141, 255, 0.3);
	border-radius: 999px;
	padding: 0.3rem 0.9rem;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	margin-bottom: 1.1rem;
}
.itzu-wikid-hero__title { font-size: clamp(1.9rem, 4vw, 2.9rem); max-width: 24ch; }
.itzu-wikid-hero__lead {
	color: var(--text-2);
	font-size: 1.04rem;
	max-width: 72ch;
	margin-top: 1.2rem;
}
.itzu-wikid-hero__search { margin-top: 1.5rem; }

/* ---------- wiki article body ---------- */
.itzu-wikid {
	max-width: var(--container);
	margin: 0 auto;
	padding: clamp(2.5rem, 6vw, 4rem) clamp(1rem, 4vw, 2.5rem);
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: start;
}
.itzu-wikid__sidebar {
	position: sticky;
	top: 92px;
	display: grid;
	gap: 1.2rem;
}
.itzu-wikid__infobox,
.itzu-wikid__toc {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1.3rem 1.4rem;
}
.itzu-wikid__infobox-title,
.itzu-wikid__toc-title {
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--text-2);
	margin-bottom: 0.9rem;
}
.itzu-wikid__infobox-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.itzu-wikid__infobox-table td { padding: 0.42rem 0; border-bottom: 1px solid var(--border); vertical-align: top; }
.itzu-wikid__infobox-table tr:last-child td { border-bottom: 0; }
.itzu-wikid__infobox-table td:first-child { color: var(--text-3); padding-right: 0.8rem; white-space: nowrap; }
.itzu-wikid__toc ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.15rem; }
.itzu-wikid__toc a {
	display: block;
	color: var(--text-2);
	font-size: 0.9rem;
	padding: 0.4rem 0.6rem;
	border-radius: 7px;
	border-left: 2px solid transparent;
	transition: all 0.15s ease;
}
.itzu-wikid__toc a:hover { color: var(--text); background: var(--surface-2); border-left-color: var(--accent); }
.itzu-wikid-toc-cat {
	margin-top: 0.6rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--text-3);
	padding: 0.3rem 0.6rem 0.1rem;
}

.itzu-wikid__main { min-width: 0; max-width: var(--narrow); }
.itzu-wikid__main section { margin-bottom: 3rem; }
.itzu-wikid__main h2 {
	font-size: 1.55rem;
	margin-bottom: 1.1rem;
	padding-top: 0.5rem;
	scroll-margin-top: 90px;
}
.itzu-wikid__main h3 { font-size: 1.15rem; margin: 1.6rem 0 0.8rem; }
.itzu-wikid__main p { color: var(--text-2); margin-bottom: 1.1rem; }
.itzu-wikid__main p strong, .itzu-wikid__list strong { color: var(--text); }
.itzu-wikid__main table { width: 100%; border-collapse: collapse; font-size: 0.9rem; margin: 1.4rem 0; }
.itzu-wikid__main table th,
.itzu-wikid__main table td { text-align: left; padding: 0.6rem 0.8rem; border: 1px solid var(--border); color: var(--text-2); }
.itzu-wikid__main table th { background: var(--surface); color: var(--text); }

.itzu-wikid__list { list-style: none; padding: 0; display: grid; gap: 0.8rem; margin: 1.2rem 0; }
.itzu-wikid__list li {
	background: var(--surface);
	border: 1px solid var(--border);
	border-left: 3px solid var(--accent);
	border-radius: var(--radius-sm);
	padding: 0.95rem 1.15rem;
	color: var(--text-2);
	font-size: 0.93rem;
}

.itzu-wikid__image-feature {
	border-radius: var(--radius);
	overflow: hidden;
	border: 1px solid var(--border);
	margin-bottom: 2.4rem;
	background: var(--surface);
}
.itzu-wikid__image-feature img { width: 100%; max-height: 380px; object-fit: cover; }
.itzu-wikid__image-caption {
	display: block;
	padding: 0.85rem 1.15rem;
	color: var(--text-3);
	font-size: 0.82rem;
	border-top: 1px solid var(--border);
}

.itzu-wikid__cta {
	background: linear-gradient(140deg, var(--surface) 0%, var(--bg-alt) 100%);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius);
	padding: 1.8rem 1.9rem;
	margin-top: 2.5rem;
}
.itzu-wikid__cta-title { font-size: 1.2rem; margin-bottom: 0.5rem; }
.itzu-wikid__cta-text { color: var(--text-2); font-size: 0.93rem; margin-bottom: 1.2rem; }
.itzu-wikid__cta-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	background: var(--gradient);
	color: #061020;
	border-radius: 999px;
	padding: 0.65rem 1.35rem;
	font-weight: 600;
	font-size: 0.92rem;
}
.itzu-wikid__cta-btn:hover { color: #061020; }

.itzu-wikid__nav-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
	margin-top: 2rem;
}
.itzu-wikid__nav-card {
	display: block;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	padding: 1.1rem 1.2rem;
	transition: border-color 0.2s ease, transform 0.2s ease;
}
.itzu-wikid__nav-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.itzu-wikid__nav-label { color: var(--text-3); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.itzu-wikid__nav-icon { margin-right: 0.3rem; }
.itzu-wikid__nav-title { color: var(--text); font-weight: 650; margin-top: 0.3rem; }
.itzu-wikid__nav-desc { color: var(--text-3); font-size: 0.84rem; margin-top: 0.25rem; }

/* ---------- wiki index ---------- */
.itzu-wiki-hero__search-input {
	width: min(480px, 100%);
	background: var(--surface);
	border: 1px solid var(--border-strong);
	border-radius: 999px;
	padding: 0.8rem 1.2rem 0.8rem 2.8rem;
	color: var(--text);
	font-size: 0.95rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.itzu-wiki-hero__search-input:focus { border-color: var(--accent); box-shadow: var(--ring); outline: none; }
.itzu-wiki-hero__search-input::placeholder { color: var(--text-3); }
.itzu-wiki-hero__search-icon { position: absolute; margin: 0.85rem 0 0 1.05rem; color: var(--text-3); pointer-events: none; }

.itzu-wiki-categories {
	position: sticky;
	top: 68px;
	z-index: 50;
	background: rgba(7, 9, 13, 0.85);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--border);
}
.itzu-wiki-categories__inner {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0.7rem clamp(1rem, 4vw, 2.5rem);
	display: flex;
	gap: 0.45rem;
	overflow-x: auto;
	scrollbar-width: none;
}
.itzu-wiki-categories__inner::-webkit-scrollbar { display: none; }
.itzu-wiki-cat {
	flex-shrink: 0;
	background: transparent;
	border: 1px solid var(--border-strong);
	border-radius: 999px;
	color: var(--text-2);
	padding: 0.42rem 1.05rem;
	font-size: 0.85rem;
	font-weight: 550;
	cursor: pointer;
	transition: all 0.18s ease;
}
.itzu-wiki-cat:hover { color: var(--text); border-color: var(--accent); }
.itzu-wiki-cat.active { background: var(--accent); border-color: var(--accent); color: #061020; }

.itzu-wiki-count {
	max-width: var(--container);
	margin: 1.6rem auto 0;
	padding: 0 clamp(1rem, 4vw, 2.5rem);
	color: var(--text-3);
	font-size: 0.88rem;
}

.itzu-wiki-cards {
	max-width: var(--container);
	margin: 1.2rem auto 0;
	padding: 0 clamp(1rem, 4vw, 2.5rem);
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.3rem;
}
.itzu-wiki-card {
	display: flex;
	flex-direction: column;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
	transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}
.itzu-wiki-card:hover {
	transform: translateY(-4px);
	border-color: var(--border-strong);
	box-shadow: 0 18px 44px -18px rgba(0, 0, 0, 0.6);
}
.itzu-wiki-card.hidden { display: none; }
.itzu-wiki-card__image { position: relative; aspect-ratio: 16 / 8.2; overflow: hidden; }
.itzu-wiki-card__image img { width: 100%; height: 100%; object-fit: cover; opacity: 0.72; transition: transform 0.35s ease, opacity 0.35s ease; }
.itzu-wiki-card:hover .itzu-wiki-card__image img { transform: scale(1.045); opacity: 0.9; }
.itzu-wiki-card__badge {
	position: absolute;
	top: 0.8rem;
	left: 0.8rem;
	background: rgba(7, 9, 13, 0.78);
	backdrop-filter: blur(6px);
	border: 1px solid var(--border-strong);
	color: var(--text-2);
	border-radius: 999px;
	padding: 0.22rem 0.75rem;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.itzu-wiki-card__body { display: flex; flex-direction: column; flex: 1; padding: 1.2rem 1.3rem 1.35rem; }
.itzu-wiki-card__title { font-size: 1.05rem; color: var(--text); margin-bottom: 0.5rem; }
.itzu-wiki-card__excerpt {
	color: var(--text-3);
	font-size: 0.88rem;
	margin-bottom: 1rem;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.itzu-wiki-card__meta { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; flex-wrap: wrap; }
.itzu-wiki-card__tag { color: var(--text-3); font-size: 0.78rem; }
.itzu-wiki-card__read { color: var(--accent); font-size: 0.85rem; font-weight: 600; }

.itzu-wiki-stats {
	max-width: var(--container);
	margin: var(--section-y) auto 0;
	padding: 0 clamp(1rem, 4vw, 2.5rem);
}
.itzu-wiki-stats__inner {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 1px;
	background: var(--border);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
}
.itzu-wiki-stats__item { background: var(--surface); text-align: center; padding: 1.7rem 1rem; }
.itzu-wiki-stats__number {
	font-size: 1.8rem;
	font-weight: 800;
	background: var(--gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.itzu-wiki-stats__label { color: var(--text-3); font-size: 0.82rem; margin-top: 0.25rem; }

.itzu-wiki-no-results {
	max-width: var(--container);
	margin: 3rem auto;
	padding: 3rem 1.5rem;
	text-align: center;
	color: var(--text-2);
}
.itzu-wiki-no-results__icon { font-size: 2rem; margin-bottom: 0.8rem; }
.itzu-wiki-no-results__title { font-size: 1.2rem; font-weight: 700; color: var(--text); }
.itzu-wiki-no-results__text { color: var(--text-3); margin-top: 0.4rem; }

/* ---------- services ---------- */
.itzu-services__category { max-width: var(--container); margin: var(--section-y) auto 0; padding: 0 clamp(1rem, 4vw, 2.5rem); }
.itzu-services__category-header { display: flex; align-items: center; gap: 1rem; margin-bottom: 0.7rem; }
.itzu-services__category-icon {
	width: 46px; height: 46px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--accent-soft);
	border: 1px solid rgba(77, 141, 255, 0.25);
	border-radius: 12px;
	font-size: 1.25rem;
}
.itzu-services__category-title { font-size: clamp(1.35rem, 2.6vw, 1.8rem); }
.itzu-services__category-desc { color: var(--text-2); max-width: 68ch; margin-bottom: 2rem; }
.itzu-services__category-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	gap: 1.3rem;
}

.itzu-service-card {
	display: flex;
	flex-direction: column;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
	transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}
.itzu-service-card:hover {
	transform: translateY(-4px);
	border-color: var(--border-strong);
	box-shadow: 0 18px 44px -18px rgba(0, 0, 0, 0.6);
}
.itzu-service-card__image { aspect-ratio: 16 / 7.5; overflow: hidden; }
.itzu-service-card__image img { width: 100%; height: 100%; object-fit: cover; opacity: 0.68; transition: transform 0.35s ease, opacity 0.35s ease; }
.itzu-service-card:hover .itzu-service-card__image img { transform: scale(1.05); opacity: 0.88; }
.itzu-service-card__icon {
	width: 44px; height: 44px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--accent-soft);
	color: var(--accent);
	border-radius: 11px;
	font-weight: 700;
	font-family: var(--mono);
	font-size: 0.85rem;
	margin: 1.2rem 1.3rem 0;
}
.itzu-service-card__title { font-size: 1.08rem; margin: 0.9rem 1.3rem 0; }
.itzu-service-card__desc { color: var(--text-3); font-size: 0.89rem; margin: 0.5rem 1.3rem 0; }
.itzu-service-card__features { list-style: none; padding: 0.9rem 1.3rem 0; margin: 0; display: grid; gap: 0.4rem; color: var(--text-2); font-size: 0.86rem; }
.itzu-service-card__features li { padding-left: 1.3rem; position: relative; }
.itzu-service-card__features li::before { content: '✓'; position: absolute; left: 0; color: var(--ok); font-weight: 700; }
.itzu-service-card__tags { display: flex; flex-wrap: wrap; gap: 0.4rem; padding: 0.9rem 1.3rem 0; }
.itzu-service-card__tag {
	background: var(--surface-2);
	border: 1px solid var(--border);
	color: var(--text-3);
	border-radius: 999px;
	padding: 0.18rem 0.7rem;
	font-size: 0.74rem;
}
.itzu-service-card__link { display: inline-block; margin: 1rem 1.3rem 1.3rem; font-weight: 600; font-size: 0.9rem; }

/* ---------- leistungen page blocks ---------- */
.itzu-leistungen-section { max-width: var(--container); margin: var(--section-y) auto 0; padding: 0 clamp(1rem, 4vw, 2.5rem); }
.itzu-leistungen-section__inner { max-width: 700px; }
.itzu-leistungen-section__title { font-size: clamp(1.6rem, 3.2vw, 2.3rem); margin-bottom: 0.9rem; }
.itzu-leistungen-section__lead { color: var(--text-2); }

.itzu-leistungen-stats { max-width: var(--container); margin: 3rem auto 0; padding: 0 clamp(1rem, 4vw, 2.5rem); }
.itzu-leistungen-stats__inner {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 1px;
	background: var(--border);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
}
.itzu-leistungen-stats__item { background: var(--surface); text-align: center; padding: 1.7rem 1rem; }
.itzu-leistungen-stats__number {
	font-size: 1.8rem;
	font-weight: 800;
	background: var(--gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.itzu-leistungen-stats__label { color: var(--text-3); font-size: 0.82rem; margin-top: 0.25rem; }

.itzu-leistungen-steps {
	max-width: var(--container);
	margin: 2.5rem auto 0;
	padding: 0 clamp(1rem, 4vw, 2.5rem);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 1.2rem;
	counter-reset: steps;
}
.itzu-leistungen-steps__item {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1.5rem 1.5rem 1.6rem;
	color: var(--text-2);
	font-size: 0.92rem;
}
.itzu-leistungen-steps__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px; height: 38px;
	border-radius: 50%;
	background: var(--accent-soft);
	color: var(--accent);
	font-weight: 750;
	margin-bottom: 0.9rem;
}

/* ---------- pricing ---------- */
.itzu-pricing__grid,
.itzu-web-pricing__grid {
	max-width: var(--container);
	margin: 2.5rem auto 0;
	padding: 0 clamp(1rem, 4vw, 2.5rem);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 1.3rem;
	align-items: stretch;
}
.itzu-pricing-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1.8rem 1.7rem;
	transition: transform 0.22s ease, border-color 0.22s ease;
}
.itzu-pricing-card:hover { transform: translateY(-4px); border-color: var(--border-strong); }
.itzu-pricing-card--gold,
.itzu-pricing-card--premium {
	border-color: rgba(77, 141, 255, 0.45);
	background: linear-gradient(170deg, rgba(77, 141, 255, 0.07) 0%, var(--surface) 45%);
}
.itzu-pricing-card__popular {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--gradient);
	color: #061020;
	border-radius: 999px;
	padding: 0.28rem 1rem;
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	white-space: nowrap;
}
.itzu-pricing-card__tier, .itzu-pricing-card__icon { font-size: 1.4rem; }
.itzu-pricing-card__name { font-size: 1.15rem; font-weight: 750; margin-top: 0.6rem; }
.itzu-pricing-card__desc { color: var(--text-3); font-size: 0.86rem; margin-top: 0.35rem; }
.itzu-pricing-card__price { display: flex; align-items: baseline; gap: 0.25rem; margin: 1.2rem 0 0.2rem; }
.itzu-pricing-card__amount { font-size: 2.3rem; font-weight: 800; letter-spacing: -0.03em; }
.itzu-pricing-card__currency { font-size: 1.2rem; font-weight: 700; color: var(--text-2); }
.itzu-pricing-card__period { color: var(--text-3); font-size: 0.85rem; }
.itzu-pricing-card__setup { color: var(--text-3); font-size: 0.82rem; margin-bottom: 1.1rem; }
.itzu-pricing-card__highlight {
	background: var(--accent-soft);
	border: 1px solid rgba(77, 141, 255, 0.25);
	color: var(--accent);
	border-radius: var(--radius-sm);
	padding: 0.55rem 0.85rem;
	font-size: 0.82rem;
	font-weight: 600;
	margin-bottom: 1.1rem;
}
.itzu-pricing-card__features { list-style: none; padding: 0; margin: 0 0 1.4rem; display: grid; gap: 0.5rem; color: var(--text-2); font-size: 0.88rem; }
.itzu-pricing-card__features li { padding-left: 1.4rem; position: relative; }
.itzu-pricing-card__check::before,
.itzu-pricing-card__features li::before { content: '✓'; position: absolute; left: 0; color: var(--ok); font-weight: 700; }
.itzu-pricing-card__cta {
	margin-top: auto;
	display: inline-flex;
	justify-content: center;
	background: var(--surface-2);
	border: 1px solid var(--border-strong);
	color: var(--text);
	border-radius: 999px;
	padding: 0.7rem 1.3rem;
	font-weight: 600;
	font-size: 0.92rem;
	transition: all 0.18s ease;
}
.itzu-pricing-card__cta:hover { border-color: var(--accent); background: var(--accent-soft); color: var(--text); }
.itzu-pricing-card--gold .itzu-pricing-card__cta,
.itzu-pricing-card--premium .itzu-pricing-card__cta { background: var(--gradient); border-color: transparent; color: #061020; }
.itzu-pricing-card__cancel { color: var(--text-3); font-size: 0.78rem; text-align: center; margin-top: 0.7rem; }

.itzu-angebote-vorteil {
	max-width: var(--container);
	margin: var(--section-y) auto 0;
	padding: 0 clamp(1rem, 4vw, 2.5rem);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1.2rem;
}
.itzu-angebote-vorteil__card {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1.6rem;
	color: var(--text-2);
	font-size: 0.92rem;
}
.itzu-angebote-vorteil__icon { font-size: 1.5rem; margin-bottom: 0.8rem; }

/* ---------- comparison table ---------- */
.itzu-comparison { max-width: var(--container); margin: var(--section-y) auto 0; padding: 0 clamp(1rem, 4vw, 2.5rem); }
.itzu-comparison__table-wrap {
	overflow-x: auto;
	border: 1px solid var(--border);
	border-radius: var(--radius);
}
.itzu-comparison__table { width: 100%; border-collapse: collapse; font-size: 0.9rem; min-width: 640px; }
.itzu-comparison__table th,
.itzu-comparison__table td { padding: 0.85rem 1.1rem; text-align: left; border-bottom: 1px solid var(--border); color: var(--text-2); }
.itzu-comparison__table thead th { background: var(--surface); color: var(--text); font-weight: 700; }
.itzu-comparison__table tr:last-child td { border-bottom: 0; }
.itzu-comparison__check { color: var(--ok); font-weight: 700; }
.itzu-comparison__cross { color: var(--danger); font-weight: 700; }

/* ---------- project cards ---------- */
.itzu-projekt-card {
	display: flex;
	flex-direction: column;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
	transition: transform 0.22s ease, border-color 0.22s ease;
}
.itzu-projekt-card:hover { transform: translateY(-4px); border-color: var(--border-strong); }
.itzu-projekt-card__image { aspect-ratio: 16 / 8; overflow: hidden; }
.itzu-projekt-card__image img { width: 100%; height: 100%; object-fit: cover; opacity: 0.7; }
.itzu-projekt-card__body { padding: 1.3rem 1.4rem 1.5rem; display: flex; flex-direction: column; gap: 0.6rem; flex: 1; }
.itzu-projekt-card__category { color: var(--accent); font-size: 0.76rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; }
.itzu-projekt-card__title { font-size: 1.12rem; }
.itzu-projekt-card__desc { color: var(--text-3); font-size: 0.89rem; }
.itzu-projekt-card__status {
	align-self: flex-start;
	border-radius: 999px;
	padding: 0.2rem 0.75rem;
	font-size: 0.74rem;
	font-weight: 650;
}
.itzu-projekt-card__status--active { background: rgba(52, 211, 153, 0.12); color: var(--ok); border: 1px solid rgba(52, 211, 153, 0.3); }
.itzu-projekt-card__status--completed { background: var(--accent-soft); color: var(--accent); border: 1px solid rgba(77, 141, 255, 0.3); }
.itzu-projekt-card__results { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.4rem; color: var(--text-2); font-size: 0.87rem; }
.itzu-projekt-card__result-item { display: flex; gap: 0.5rem; align-items: baseline; }
.itzu-projekt-card__result-icon { color: var(--ok); }
.itzu-projekt-card__tech { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: auto; padding-top: 0.6rem; }
.itzu-projekt-card__tech-tag {
	background: var(--surface-2);
	border: 1px solid var(--border);
	color: var(--text-3);
	border-radius: 999px;
	padding: 0.16rem 0.65rem;
	font-size: 0.73rem;
	font-family: var(--mono);
}

/* ---------- before / after (Vorher / Nachher) ---------- */
.itzu-ba {
	background: linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: clamp(1.3rem, 3.5vw, 2.2rem);
	margin-bottom: 2.4rem;
}
.itzu-ba__head { margin-bottom: 1.4rem; }
.itzu-ba__badge {
	display: inline-block;
	background: rgba(52, 211, 153, 0.12);
	color: var(--ok);
	border: 1px solid rgba(52, 211, 153, 0.3);
	border-radius: 999px;
	padding: 0.2rem 0.75rem;
	font-size: 0.74rem;
	font-weight: 650;
	margin-bottom: 0.7rem;
}
.itzu-ba__category { color: var(--accent); font-size: 0.76rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; margin-bottom: 0.3rem; }
.itzu-ba__title { font-size: clamp(1.3rem, 2.6vw, 1.75rem); line-height: 1.25; margin: 0 0 0.6rem; }
.itzu-ba__lead { color: var(--text-2); font-size: 0.95rem; max-width: 68ch; }
.itzu-ba__compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.9rem;
	margin: 0 0 1.6rem;
}
.itzu-ba__pane {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: var(--radius-sm);
	border: 1px solid var(--border);
}
.itzu-ba__pane img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.itzu-ba__pane:hover img { transform: scale(1.04); }
.itzu-ba__pane--before img { filter: saturate(0.85) brightness(0.92); }
.itzu-ba__tag {
	position: absolute;
	top: 0.7rem;
	left: 0.7rem;
	border-radius: 999px;
	padding: 0.22rem 0.8rem;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	backdrop-filter: blur(4px);
}
.itzu-ba__tag--before { background: rgba(248, 113, 113, 0.22); color: #fca5a5; border: 1px solid rgba(248, 113, 113, 0.45); }
.itzu-ba__tag--after { background: rgba(52, 211, 153, 0.22); color: #6ee7b7; border: 1px solid rgba(52, 211, 153, 0.45); }
.itzu-ba__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.6rem;
	margin-bottom: 1.4rem;
}
.itzu-ba__col h3 { font-size: 1.02rem; margin: 0 0 0.6rem; }
.itzu-ba__col p { color: var(--text-2); font-size: 0.9rem; }
.itzu-ba__col ul { margin: 0; padding-left: 1.1rem; color: var(--text-2); font-size: 0.9rem; display: grid; gap: 0.35rem; }
.itzu-ba__tech { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1.4rem; }
.itzu-ba__results { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 0.8rem; }
@media (max-width: 560px) {
	.itzu-ba__compare { grid-template-columns: 1fr; }
}

/* ---------- case studies ---------- */
.itzu-casestudy__section { max-width: var(--container); margin: var(--section-y) auto 0; padding: 0 clamp(1rem, 4vw, 2.5rem); }
.itzu-casestudy__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1.3rem; margin-top: 2rem; }
.itzu-casestudy__card {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1.6rem 1.7rem;
	transition: transform 0.22s ease, border-color 0.22s ease;
}
.itzu-casestudy__card:hover { transform: translateY(-4px); border-color: var(--border-strong); }
.itzu-casestudy__card-header { display: flex; align-items: center; gap: 0.9rem; margin-bottom: 1rem; }
.itzu-casestudy__card-icon {
	width: 44px; height: 44px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--accent-soft);
	border-radius: 11px;
	font-size: 1.2rem;
	flex-shrink: 0;
}
.itzu-casestudy__card-category { color: var(--accent); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; }
.itzu-casestudy__card-name { font-weight: 700; }
.itzu-casestudy__card-meta { color: var(--text-3); font-size: 0.82rem; }
.itzu-casestudy__card-body,
.itzu-casestudy__card-content { color: var(--text-2); font-size: 0.92rem; }
.itzu-casestudy__results { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 0.8rem; margin-top: 1.2rem; }
.itzu-casestudy__result { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 0.8rem 0.9rem; }
.itzu-casestudy__result-value {
	font-size: 1.25rem;
	font-weight: 800;
	background: var(--gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.itzu-casestudy__result-label { color: var(--text-3); font-size: 0.76rem; margin-top: 0.15rem; }
.itzu-casestudy__tech { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 1.1rem; }
.itzu-casestudy__card-arrow { color: var(--accent); }
.itzu-casestudy__card-left { display: flex; align-items: center; gap: 0.9rem; }

/* ---------- featured before / after (Vorher / Nachher) ---------- */
.itzu-ba {
	position: relative;
	margin: 0 0 3rem;
	padding: 1.8rem clamp(1.1rem, 3vw, 2rem) 2rem;
	border: 1px solid var(--border-strong);
	border-radius: var(--radius);
	background: linear-gradient(155deg, rgba(77, 141, 255, 0.07), var(--surface) 60%);
	overflow: hidden;
}
.itzu-ba::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 3px;
	background: var(--gradient);
}
.itzu-ba__head { max-width: 760px; }
.itzu-ba__badge {
	display: inline-block;
	padding: 0.32rem 0.8rem;
	border-radius: 999px;
	background: var(--gradient);
	color: #061020;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
.itzu-ba__category { color: var(--accent); font-size: 0.76rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; margin-top: 0.9rem; }
.itzu-ba__title { font-size: clamp(1.35rem, 3vw, 1.8rem); line-height: 1.2; margin: 0.4rem 0 0.6rem; }
.itzu-ba__lead { color: var(--text-2); font-size: 0.96rem; line-height: 1.6; margin: 0; }
.itzu-ba__compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin: 1.6rem 0 0;
	align-items: stretch;
}
.itzu-ba__pane {
	position: relative;
	margin: 0;
	border-radius: var(--radius-sm);
	overflow: hidden;
	border: 1px solid var(--border);
	background: var(--surface-2);
}
.itzu-ba__pane img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 0.45s ease;
}
.itzu-ba__pane:hover img { transform: scale(1.035); }
.itzu-ba__pane--before img { filter: saturate(0.92) brightness(0.97); }
.itzu-ba__tag {
	position: absolute;
	top: 0.7rem;
	left: 0.7rem;
	margin: 0;
	padding: 0.3rem 0.75rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	backdrop-filter: blur(6px);
}
.itzu-ba__tag--before { background: rgba(248, 113, 113, 0.16); color: #fca5a5; border: 1px solid rgba(248, 113, 113, 0.4); }
.itzu-ba__tag--after { background: rgba(52, 211, 153, 0.16); color: var(--ok); border: 1px solid rgba(52, 211, 153, 0.4); }
.itzu-ba__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.4rem;
	margin-top: 1.8rem;
}
.itzu-ba__col h3 { font-size: 1.02rem; margin: 0 0 0.7rem; }
.itzu-ba__col p { color: var(--text-2); font-size: 0.92rem; line-height: 1.6; margin: 0; }
.itzu-ba__col ul { margin: 0; padding-left: 1.1rem; display: grid; gap: 0.4rem; color: var(--text-2); font-size: 0.92rem; }
.itzu-ba__col ul li::marker { color: var(--accent); }
.itzu-ba__tech { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 1.6rem; }
.itzu-ba__results { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 0.8rem; margin-top: 1.4rem; }
@media (max-width: 560px) {
	.itzu-ba__compare { grid-template-columns: 1fr; }
}

/* ---------- team ---------- */
.itzu-team__featured { max-width: var(--container); margin: 2.5rem auto 0; padding: 0 clamp(1rem, 4vw, 2.5rem); }
.itzu-team__card {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1.8rem;
	display: flex;
	gap: 1.6rem;
	align-items: center;
	flex-wrap: wrap;
}
.itzu-team__card--featured { border-color: var(--border-strong); background: linear-gradient(150deg, rgba(77, 141, 255, 0.06), var(--surface) 55%); }
.itzu-team__photo,
.itzu-team__initials {
	width: 110px; height: 110px;
	border-radius: 50%;
	flex-shrink: 0;
	object-fit: cover;
}
.itzu-team__photo--large, .itzu-team__initials { width: 130px; height: 130px; }
.itzu-team__photo {
	overflow: hidden;
	border: 3px solid rgba(77, 141, 255, 0.35);
	background: var(--gradient);
	box-shadow: 0 14px 40px -14px rgba(77, 141, 255, 0.5);
}
.itzu-team__photo picture, .itzu-team__photo img { display: block; width: 100%; height: 100%; }
.itzu-team__photo img { object-fit: cover; object-position: 50% 45%; border-radius: 50%; }
.itzu-team__initials {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--gradient);
	color: #061020;
	font-size: 2.2rem;
	font-weight: 800;
}
.itzu-team__info { flex: 1; min-width: 240px; }
.itzu-team__name { font-size: 1.3rem; font-weight: 750; }
.itzu-team__role { color: var(--accent); font-size: 0.9rem; font-weight: 600; margin: 0.2rem 0 0.7rem; }
.itzu-team__bio { color: var(--text-2); font-size: 0.93rem; }
.itzu-team__quote { border-left: 3px solid var(--accent); padding-left: 1rem; color: var(--text-2); font-style: italic; margin-top: 0.9rem; }

/* ---------- web referenzen ---------- */
.itzu-web-referenz { max-width: var(--container); margin: var(--section-y) auto 0; padding: 0 clamp(1rem, 4vw, 2.5rem); }
.itzu-web-referenz__showcase {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: clamp(2rem, 5vw, 3.5rem);
	align-items: center;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: clamp(1.5rem, 4vw, 2.8rem);
}
.itzu-web-referenz__browser { background: #0a0e15; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); overflow: hidden; }
.itzu-web-referenz__browser-bar {
	display: flex;
	align-items: center;
	gap: 6px;
	background: var(--surface-2);
	border-bottom: 1px solid var(--border);
	padding: 0.55rem 0.9rem;
}
.itzu-web-referenz__browser-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--border-strong); }
.itzu-web-referenz__browser-url {
	flex: 1;
	background: var(--bg);
	border-radius: 6px;
	padding: 0.25rem 0.8rem;
	font-family: var(--mono);
	font-size: 0.74rem;
	color: var(--text-3);
	margin-left: 0.5rem;
}
.itzu-web-referenz__preview img { width: 100%; }
.itzu-web-referenz__preview-placeholder {
	aspect-ratio: 16 / 10;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--text-3);
	background: var(--surface-2);
}
.itzu-web-referenz__details { min-width: 0; }
.itzu-web-referenz__tags { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.9rem 0; }
.itzu-web-referenz__tech {
	background: var(--surface-2);
	border: 1px solid var(--border);
	color: var(--text-3);
	border-radius: 999px;
	padding: 0.18rem 0.7rem;
	font-size: 0.74rem;
	font-family: var(--mono);
}
.itzu-web-referenz__highlights { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: 0.55rem; color: var(--text-2); font-size: 0.9rem; }
.itzu-web-referenz__highlight { display: flex; gap: 0.55rem; align-items: baseline; }
.itzu-web-referenz__highlight-icon { color: var(--ok); }
.itzu-web-referenz__metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 0.8rem; margin-top: 1.2rem; }
.itzu-web-referenz__metric { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 0.75rem 0.85rem; }
.itzu-web-referenz__metric-value { font-size: 1.2rem; font-weight: 800; color: var(--text); }
.itzu-web-referenz__metric-label { color: var(--text-3); font-size: 0.75rem; }

/* ---------- kontakt info + form ---------- */
.itzu-kontakt-info { max-width: var(--container); margin: var(--section-y) auto 0; padding: 0 clamp(1rem, 4vw, 2.5rem); }
.itzu-kontakt-info__container { max-width: var(--container); margin: 0 auto; }
.itzu-kontakt-info__header { text-align: center; max-width: 620px; margin: 0 auto 2.5rem; }
.itzu-kontakt-info__title { font-size: clamp(1.6rem, 3.2vw, 2.3rem); }
.itzu-kontakt-info__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1.2rem; }
.itzu-kontakt-info__card {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1.6rem;
	text-align: center;
	color: var(--text-2);
	font-size: 0.92rem;
	transition: border-color 0.2s ease, transform 0.2s ease;
}
.itzu-kontakt-info__card:hover { border-color: var(--border-strong); transform: translateY(-3px); }
.itzu-kontakt-info__icon {
	width: 48px; height: 48px;
	margin: 0 auto 0.9rem;
	display: flex; align-items: center; justify-content: center;
	background: var(--accent-soft);
	border-radius: 12px;
	font-size: 1.25rem;
}
.itzu-kontakt-info__card-title { font-weight: 700; color: var(--text); margin-bottom: 0.35rem; }
.itzu-kontakt-info__label { color: var(--text-3); font-size: 0.8rem; }
.itzu-kontakt-info__note { color: var(--text-3); font-size: 0.84rem; text-align: center; margin-top: 1.4rem; }

.itzu-form { max-width: var(--container); margin: var(--section-y) auto 0; padding: 0 clamp(1rem, 4vw, 2.5rem); }
.itzu-form__container {
	max-width: 720px;
	margin: 0 auto;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: calc(var(--radius) + 4px);
	padding: clamp(1.8rem, 4vw, 3rem);
}
.itzu-form__header { text-align: center; margin-bottom: 2rem; }
.itzu-form__title { font-size: clamp(1.5rem, 3vw, 2rem); }
.itzu-form__subtitle { color: var(--text-2); margin-top: 0.6rem; }
.itzu-form__form { display: grid; gap: 1.1rem; }
.itzu-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.itzu-form__field { display: grid; gap: 0.4rem; }
.itzu-form__label, .itzu-form__field-label { font-size: 0.86rem; font-weight: 600; color: var(--text-2); }
.itzu-form__required { color: var(--danger); }
.itzu-form__input,
.itzu-form__select,
.itzu-form__textarea {
	width: 100%;
	background: var(--bg-alt);
	border: 1px solid var(--border-strong);
	border-radius: var(--radius-sm);
	padding: 0.7rem 0.95rem;
	color: var(--text);
	font-size: 0.94rem;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.itzu-form__input:focus, .itzu-form__select:focus, .itzu-form__textarea:focus { border-color: var(--accent); box-shadow: var(--ring); outline: none; }
.itzu-form__input::placeholder, .itzu-form__textarea::placeholder { color: var(--text-3); }
.itzu-form__textarea { min-height: 140px; resize: vertical; }
.itzu-form__select { appearance: none; }
.itzu-form__input--error { border-color: var(--danger); }
.itzu-form__error { color: var(--danger); font-size: 0.8rem; display: none; }
.itzu-form__error--visible { display: block; }
.itzu-form__hp { position: absolute; left: -9999px; opacity: 0; height: 0; overflow: hidden; }
.itzu-form__checkbox-field { display: flex; }
.itzu-form__checkbox-label { display: flex; gap: 0.6rem; align-items: flex-start; color: var(--text-2); font-size: 0.86rem; cursor: pointer; }
.itzu-form__checkbox { accent-color: var(--accent); margin-top: 0.2rem; }
.itzu-form__checkbox-custom { display: none; }
.itzu-form__submit {
	justify-self: start;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: var(--gradient);
	color: #061020;
	border: 0;
	border-radius: 999px;
	padding: 0.85rem 1.8rem;
	font-weight: 650;
	font-size: 0.98rem;
	cursor: pointer;
	box-shadow: 0 8px 24px -8px rgba(77, 141, 255, 0.55);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.itzu-form__submit:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 32px -8px rgba(77, 141, 255, 0.7);
}
.itzu-form__submit:disabled { opacity: 0.6; transform: none; cursor: default; }
.itzu-form__success {
	text-align: center;
	padding: 2.5rem 1rem;
	color: var(--text-2);
}
.itzu-form__success-icon { font-size: 2.4rem; margin-bottom: 1rem; color: var(--ok); }

/* ---------- faq ---------- */
.itzu-faq { max-width: 860px; margin: var(--section-y) auto 0; padding: 0 clamp(1rem, 4vw, 2.5rem); }
.itzu-faq__title { font-size: clamp(1.6rem, 3.2vw, 2.3rem); text-align: center; }
.itzu-faq__subtitle { color: var(--text-2); text-align: center; margin: 0.8rem 0 2.2rem; }
.itzu-faq__list { display: grid; gap: 0.7rem; }
.itzu-faq__item {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	overflow: hidden;
	transition: border-color 0.2s ease;
}
.itzu-faq__item.active { border-color: var(--border-strong); }
.itzu-faq__question {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	background: none;
	border: 0;
	text-align: left;
	padding: 1.05rem 1.3rem;
	color: var(--text);
	font-weight: 600;
	font-size: 0.97rem;
	cursor: pointer;
}
.itzu-faq__arrow { color: var(--text-3); transition: transform 0.25s ease; flex-shrink: 0; }
.itzu-faq__item.active .itzu-faq__arrow { transform: rotate(180deg); }
.itzu-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.itzu-faq__item.active .itzu-faq__answer { max-height: 600px; }
.itzu-faq__answer-inner { padding: 0 1.3rem 1.25rem; color: var(--text-2); font-size: 0.92rem; }

/* ---------- bildnachweise ---------- */
.itzu-bildnachweise { max-width: var(--narrow); margin: var(--section-y) auto 0; padding: 0 clamp(1rem, 4vw, 2.5rem); }
.itzu-bildnachweise__title { font-size: 1.1rem; margin-bottom: 1rem; }
.itzu-bildnachweise__list { list-style: none; padding: 0; display: grid; gap: 0.35rem; }
.itzu-bildnachweise__item { color: var(--text-3); font-size: 0.8rem; }

/* ---------- responsive content ---------- */
@media (max-width: 900px) {
	.itzu-wikid { grid-template-columns: minmax(0, 1fr); }
	.itzu-wikid__sidebar { position: static; order: 2; }
	.itzu-wikid__main { order: 1; max-width: none; }
	.itzu-web-referenz__showcase { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 620px) {
	.itzu-form__row { grid-template-columns: minmax(0, 1fr); }
}


/* ============================================================
   05: homepage-only blocks — compact services grid
   ============================================================ */

.itzu-svc {
	max-width: var(--container);
	margin: var(--section-y) auto 0;
	padding: 0 clamp(1rem, 4vw, 2.5rem);
}
.itzu-svc__header { text-align: center; margin-bottom: 2.2rem; }
.itzu-svc__title { font-size: clamp(1.7rem, 3.4vw, 2.5rem); letter-spacing: -0.025em; }
.itzu-svc__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 0.7rem;
}
.itzu-svc__item {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	padding: 0.85rem 1rem;
	color: var(--text-2);
	font-size: 0.92rem;
	font-weight: 550;
	transition: all 0.18s ease;
}
.itzu-svc__item:hover {
	color: var(--text);
	border-color: var(--accent);
	background: var(--accent-soft);
	transform: translateY(-2px);
}
.itzu-svc__icon {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	background: var(--accent-soft);
	color: var(--accent);
	font-family: var(--mono);
	font-size: 0.74rem;
	font-weight: 600;
}
.itzu-svc__footer { text-align: center; margin-top: 1.8rem; }
.itzu-svc__all { font-weight: 600; font-size: 0.95rem; }


/* ============================================================
   06: booking calendar widget (#terminWidget) — v2
   ============================================================ */

.itzu-termin {
	background: var(--surface);
	border: 1px solid var(--border-strong);
	border-radius: calc(var(--radius) + 4px);
	margin: 1.6rem 0;
	overflow: hidden;
	box-shadow: 0 18px 48px -20px rgba(0, 0, 0, 0.55);
}

/* ---------- two-pane layout ---------- */
.itzu-termin__layout {
	display: grid;
	grid-template-columns: 232px minmax(0, 1fr);
}

/* meta panel */
.itzu-termin__meta {
	background: var(--bg-alt);
	border-right: 1px solid var(--border);
	padding: 1.5rem 1.4rem;
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
}
.itzu-termin__meta-logo {
	height: 34px;
	width: fit-content;
	background: #eef1f6;
	border-radius: 7px;
	padding: 3px 8px;
}
.itzu-termin__meta-title {
	font-weight: 750;
	font-size: 1.05rem;
	letter-spacing: -0.01em;
	color: var(--text);
}
.itzu-termin__meta-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.6rem;
}
.itzu-termin__meta-list li {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	color: var(--text-2);
	font-size: 0.85rem;
}
.itzu-termin__meta-ico {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	color: var(--accent);
}
.itzu-termin__steps {
	list-style: none;
	margin: auto 0 0;
	padding: 1.1rem 0 0;
	border-top: 1px solid var(--border);
	display: grid;
	gap: 0.55rem;
}
.itzu-termin__step {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	color: var(--text-3);
	font-size: 0.84rem;
	font-weight: 550;
}
.itzu-termin__step-num {
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid var(--border-strong);
	font-size: 0.72rem;
	font-weight: 700;
}
.itzu-termin__step--active { color: var(--text); }
.itzu-termin__step--active .itzu-termin__step-num {
	background: var(--accent);
	border-color: var(--accent);
	color: #061020;
}
.itzu-termin__step--done .itzu-termin__step-num {
	background: rgba(52, 211, 153, 0.15);
	border-color: var(--ok);
	color: var(--ok);
}

/* calendar pane */
.itzu-termin__cal { padding: 1.4rem 1.5rem 1.2rem; min-width: 0; }
.itzu-termin__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem;
	margin-bottom: 1.1rem;
}
.itzu-termin__range { font-weight: 700; font-size: 1rem; letter-spacing: -0.01em; }
.itzu-termin__navs { display: flex; gap: 0.4rem; }
.itzu-termin__nav {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid var(--border-strong);
	background: transparent;
	color: var(--text-2);
	font-size: 0.95rem;
	cursor: pointer;
	transition: all 0.15s ease;
}
.itzu-termin__nav:hover:not(:disabled) { color: var(--text); border-color: var(--accent); background: var(--accent-soft); }
.itzu-termin__nav:disabled { opacity: 0.35; cursor: default; }

.itzu-termin__grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.6rem;
	min-height: 120px;
}
.itzu-termin__col { display: grid; gap: 0.4rem; align-content: start; }
.itzu-termin__day {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.15rem;
	padding-bottom: 0.55rem;
	margin-bottom: 0.2rem;
	border-bottom: 1px solid var(--border);
}
.itzu-termin__day-wd {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--text-3);
}
.itzu-termin__day-num {
	width: 30px;
	height: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-weight: 700;
	font-size: 0.92rem;
	color: var(--text-2);
}
.itzu-termin__day--today .itzu-termin__day-num {
	background: var(--accent);
	color: #061020;
}

.itzu-termin__slot {
	border: 1px solid rgba(77, 141, 255, 0.45);
	background: transparent;
	color: var(--accent);
	border-radius: var(--radius-sm);
	padding: 0.5rem 0.2rem;
	font-size: 0.86rem;
	font-weight: 650;
	font-variant-numeric: tabular-nums;
	cursor: pointer;
	transition: all 0.13s ease;
}
.itzu-termin__slot:hover {
	background: var(--accent-soft);
	border-color: var(--accent);
	transform: translateY(-1px);
}
.itzu-termin__slot--selected {
	background: var(--accent);
	border-color: var(--accent);
	color: #061020;
}
.itzu-termin__none { text-align: center; color: var(--text-3); padding: 0.6rem 0; }
.itzu-termin__empty {
	grid-column: 1 / -1;
	text-align: center;
	color: var(--text-3);
	font-size: 0.9rem;
	padding: 2rem 1rem;
}
.itzu-termin__freehint {
	margin: 1rem 0 0;
	color: var(--text-3);
	font-size: 0.78rem;
	text-align: right;
}

/* ---------- form / success ---------- */
.itzu-termin__form {
	border-top: 1px solid var(--border);
	background: var(--bg-alt);
	padding: 1.4rem 1.5rem 1.6rem;
	display: grid;
	gap: 1rem;
}
.itzu-termin__form[hidden],
.itzu-termin__success[hidden] { display: none; }
.itzu-termin__chosen {
	background: var(--accent-soft);
	border: 1px solid rgba(77, 141, 255, 0.3);
	border-radius: var(--radius-sm);
	padding: 0.75rem 1rem;
	font-size: 0.93rem;
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
	align-items: baseline;
}
.itzu-termin__error { color: var(--danger); font-size: 0.88rem; margin: 0; }
.itzu-termin__hint { color: var(--text-3); font-size: 0.82rem; margin: 0; }
.itzu-termin__success {
	border-top: 1px solid var(--border);
	background: var(--bg-alt);
	padding: 2rem 1.5rem 2.2rem;
	text-align: center;
	color: var(--text-2);
}
.itzu-termin__success p { max-width: 46ch; margin: 0.5rem auto 0; }

/* ---------- responsive ---------- */
@media (max-width: 860px) {
	.itzu-termin__layout { grid-template-columns: minmax(0, 1fr); }
	.itzu-termin__meta {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		border-right: 0;
		border-bottom: 1px solid var(--border);
		padding: 1.1rem 1.2rem;
		gap: 0.8rem 1.4rem;
	}
	.itzu-termin__meta-title { flex-basis: 100%; order: -1; }
	.itzu-termin__meta-logo { display: none; }
	.itzu-termin__steps { display: none; }
}
@media (max-width: 640px) {
	.itzu-termin__cal { padding: 1.1rem 0.8rem 1rem; }
	.itzu-termin__grid { gap: 0.3rem; }
	.itzu-termin__slot { font-size: 0.74rem; padding: 0.42rem 0.1rem; }
	.itzu-termin__day-wd { font-size: 0.62rem; }
	.itzu-termin__day-num { width: 26px; height: 26px; font-size: 0.82rem; }
}


/* ============================================================
   IT-ZU Design System v3 — "Dimension"
   07: global 3D layer — stage, material, light, tilt

   Loads last, so it composes on top of 01-06 without editing them.
   Guardrails baked in:
     - the header/nav is deliberately excluded (its mobile nav is
       position:fixed and would be re-parented by any transform)
     - tilt is opt-in via .d3-tilt, added by site-extras.js only on
       fine-pointer, non-reduced-motion, desktop viewports
     - every 3D pose collapses to flat on touch/mobile/print
   ============================================================ */

:root {
	/* light comes from above-front-left; shadows are contact + ambient + cast */
	--elev-1:
		0 1px 2px rgba(0, 0, 0, 0.4),
		0 3px 10px -3px rgba(0, 0, 0, 0.45);
	--elev-2:
		0 2px 4px rgba(0, 0, 0, 0.35),
		0 10px 26px -8px rgba(0, 0, 0, 0.55),
		0 24px 48px -20px rgba(0, 0, 0, 0.5);
	--elev-3:
		0 3px 6px rgba(0, 0, 0, 0.35),
		0 18px 40px -10px rgba(0, 0, 0, 0.6),
		0 44px 80px -28px rgba(0, 0, 0, 0.7);
	--elev-accent: 0 22px 60px -22px rgba(77, 141, 255, 0.5);

	/* rim = the lit top edge of a physical panel */
	--rim: inset 0 1px 0 rgba(255, 255, 255, 0.07);
	--rim-strong: inset 0 1px 0 rgba(255, 255, 255, 0.12);

	--d3-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--d3-tilt-max: 5;
}

/* ------------------------------------------------------------
   1. STAGE — the page floats in a lit, slightly hazy room
   ------------------------------------------------------------ */

body::before {
	content: '';
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(ellipse 60% 50% at 15% -5%, rgba(77, 141, 255, 0.10), transparent 62%),
		radial-gradient(ellipse 50% 45% at 88% 8%, rgba(34, 211, 238, 0.06), transparent 60%),
		radial-gradient(ellipse 55% 50% at 50% 108%, rgba(77, 141, 255, 0.06), transparent 62%);
	animation: d3-drift 34s ease-in-out infinite alternate;
}

/* grain + vignette: kills gradient banding and seats the content in depth */
body::after {
	content: '';
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	opacity: 0.5;
	background-image:
		radial-gradient(ellipse 90% 80% at 50% 50%, transparent 55%, rgba(0, 0, 0, 0.45) 100%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.28'/%3E%3C/svg%3E");
	background-size: cover, 160px 160px;
	mix-blend-mode: soft-light;
}

@keyframes d3-drift {
	from { transform: translate3d(0, 0, 0) scale(1); }
	to { transform: translate3d(0, -1.5%, 0) scale(1.06); }
}

/* ------------------------------------------------------------
   2. MATERIAL — surfaces read as panels that catch light
   ------------------------------------------------------------ */

.itzu-pricing-card,
.itzu-service-card,
.itzu-wiki-card,
.itzu-twocolumns__card,
.itzu-casestudy__card,
.itzu-projekt-card,
.itzu-team__card,
.itzu-kontakt-info__card,
.itzu-angebote-vorteil__card,
.itzu-wikid__nav-card,
.itzu-svc__item,
.itzu-faq__item,
.itzu-wikid__infobox,
.itzu-hero__terminal,
.itzu-rmm-showcase__frame,
.itzu-web-referenz__browser {
	box-shadow: var(--elev-1), var(--rim);
}

/* the accent-bearing cards sit higher off the page */
.itzu-pricing-card--gold,
.itzu-pricing-card--premium {
	box-shadow: var(--elev-2), var(--rim-strong);
}

/* ------------------------------------------------------------
   3. TILT ENGINE — .d3-tilt is attached by site-extras.js
   Doubled class (.d3-tilt.d3-tilt) to out-specify the existing
   `.itzu-*-card:hover { transform: translateY(...) }` rules in 03-05.
   ------------------------------------------------------------ */

.d3-tilt.d3-tilt {
	--d3-rx: 0deg;
	--d3-ry: 0deg;
	--d3-lift: 0px;
	--d3-scale: 1;
	transform:
		perspective(var(--d3-persp, 1000px))
		rotateX(var(--d3-rx))
		rotateY(var(--d3-ry))
		translate3d(0, var(--d3-lift), 0)
		scale(var(--d3-scale));
	transition:
		transform 0.6s var(--d3-ease),
		box-shadow 0.6s var(--d3-ease),
		border-color 0.3s ease;
}

.d3-tilt.d3-tilt:hover {
	--d3-lift: -6px;
	--d3-scale: 1.012;
	box-shadow: var(--elev-3), var(--rim-strong);
	border-color: var(--border-strong);
}

/* while the pointer is inside, follow it almost instantly; the long
   ease above then plays on the way back to rest */
.d3-tilt.d3-tilt.is-tilting {
	transition:
		transform 0.1s linear,
		box-shadow 0.3s ease,
		border-color 0.3s ease;
}

/* specular sheen tracking the pointer — no target class uses ::after */
.d3-tilt::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.45s ease;
	background: radial-gradient(
		420px circle at var(--d3-mx, 50%) var(--d3-my, 0%),
		rgba(255, 255, 255, 0.09),
		rgba(255, 255, 255, 0.02) 42%,
		transparent 68%
	);
}
.d3-tilt:hover::after { opacity: 1; }

/* cards that were position:static need a containing block for the sheen */
.itzu-team__card.d3-tilt,
.itzu-angebote-vorteil__card.d3-tilt,
.itzu-svc__item.d3-tilt,
.itzu-casestudy__card.d3-tilt,
.itzu-kontakt-info__card.d3-tilt,
.itzu-wikid__nav-card.d3-tilt {
	position: relative;
}

/* keep real content above the sheen film */
.itzu-pricing-card > *,
.itzu-service-card > *,
.itzu-wiki-card > *,
.itzu-twocolumns__card > * {
	position: relative;
	z-index: 2;
}

/* ------------------------------------------------------------
   4. HERO — signature pose: the terminal is a panel in space
   ------------------------------------------------------------ */

@media (min-width: 961px) and (hover: hover) and (pointer: fine) {
	.itzu-hero__visual {
		perspective: 1300px;
		perspective-origin: 62% 45%;
	}
	.itzu-hero__terminal-wrapper {
		transform: rotateY(-10deg) rotateX(3.5deg);
		transition: transform 1s var(--d3-ease);
		will-change: transform;
	}
	.itzu-hero__terminal {
		box-shadow: var(--elev-3), var(--elev-accent), var(--rim-strong);
	}
	/* the glow sits physically behind the panel, not on it */
	.itzu-hero__terminal-glow {
		transform: translateZ(-90px) scale(1.14);
	}
	/* straighten on approach so the terminal is easy to actually read */
	.itzu-hero__visual:hover .itzu-hero__terminal-wrapper {
		transform: rotateY(-1.5deg) rotateX(0.5deg);
	}

	[dir='rtl'] .itzu-hero__visual { perspective-origin: 38% 45%; }
	[dir='rtl'] .itzu-hero__terminal-wrapper { transform: rotateY(10deg) rotateX(3.5deg); }
	[dir='rtl'] .itzu-hero__visual:hover .itzu-hero__terminal-wrapper { transform: rotateY(1.5deg) rotateX(0.5deg); }
}

/* orbs drift slowly — the room breathes */
.itzu-hero__bg-orb--1 { animation: d3-orb-a 26s ease-in-out infinite alternate; }
.itzu-hero__bg-orb--2 { animation: d3-orb-b 32s ease-in-out infinite alternate; }

@keyframes d3-orb-a {
	from { transform: translate3d(0, 0, 0) scale(1); }
	to { transform: translate3d(60px, 40px, 0) scale(1.16); }
}
@keyframes d3-orb-b {
	from { transform: translate3d(0, 0, 0) scale(1.1); }
	to { transform: translate3d(-50px, -30px, 0) scale(1); }
}

/* ------------------------------------------------------------
   5. RMM SHOWCASE — the dashboard frame gets the same treatment
   ------------------------------------------------------------ */

@media (min-width: 961px) and (hover: hover) and (pointer: fine) {
	.itzu-rmm-showcase__visual { perspective: 1400px; }
	.itzu-rmm-showcase__frame {
		transform: rotateY(7.5deg) rotateX(2.5deg);
		transition: transform 1s var(--d3-ease);
		box-shadow: var(--elev-3), var(--rim-strong);
	}
	.itzu-rmm-showcase__visual:hover .itzu-rmm-showcase__frame {
		transform: rotateY(1deg) rotateX(0.5deg);
	}
	[dir='rtl'] .itzu-rmm-showcase__frame { transform: rotateY(-7.5deg) rotateX(2.5deg); }
	[dir='rtl'] .itzu-rmm-showcase__visual:hover .itzu-rmm-showcase__frame { transform: rotateY(-1deg) rotateX(0.5deg); }
}

/* ------------------------------------------------------------
   5b. PRICING PODIUM — the featured tier stands forward.
   Rides the tilt engine's --d3-scale, so it composes with hover
   instead of fighting it, and flattens with everything else.
   ------------------------------------------------------------ */

@media (min-width: 961px) {
	.itzu-pricing-card--gold.d3-tilt,
	.itzu-pricing-card--premium.d3-tilt {
		--d3-scale: 1.035;
		z-index: 2;
	}
	.itzu-pricing-card--gold.d3-tilt:hover,
	.itzu-pricing-card--premium.d3-tilt:hover {
		--d3-scale: 1.05;
		box-shadow: var(--elev-3), var(--elev-accent), var(--rim-strong);
	}
}

/* ------------------------------------------------------------
   5c. GLASS — only where something interesting sits behind
   ------------------------------------------------------------ */

.itzu-hero__label,
.itzu-cookie,
.itzu-floating-cta__btn {
	backdrop-filter: blur(12px) saturate(1.25);
	-webkit-backdrop-filter: blur(12px) saturate(1.25);
}
.itzu-hero__label { background: rgba(16, 20, 28, 0.55); box-shadow: var(--rim); }
.itzu-cookie { background: rgba(21, 26, 36, 0.82); box-shadow: var(--elev-3), var(--rim); }

/* ------------------------------------------------------------
   6. CONTROLS — buttons gain a physical press
   ------------------------------------------------------------ */

.btn-primary {
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.22) inset, 0 10px 28px -10px rgba(77, 141, 255, 0.6);
}
.btn-primary:hover {
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.28) inset, 0 16px 38px -10px rgba(77, 141, 255, 0.75);
	transform: translateY(-2px);
}
.btn-primary:active { transform: translateY(0) scale(0.985); }

.btn-secondary, .btn-outline { box-shadow: var(--rim); }
.btn-secondary:active, .btn-outline:active { transform: translateY(0) scale(0.985); }

/* service icon chips lift out of their card */
.itzu-svc__item .itzu-svc__icon,
.itzu-service-card__icon {
	box-shadow: var(--rim), 0 4px 12px -4px rgba(0, 0, 0, 0.5);
	transition: transform 0.4s var(--d3-ease), box-shadow 0.4s var(--d3-ease);
}
.itzu-svc__item:hover .itzu-svc__icon,
.itzu-service-card:hover .itzu-service-card__icon {
	transform: translateY(-2px) scale(1.06);
	box-shadow: var(--rim-strong), 0 10px 22px -6px rgba(77, 141, 255, 0.5);
}

/* ------------------------------------------------------------
   7. GUARDRAILS
   ------------------------------------------------------------ */

/* touch + small screens: everything lies flat, no hover poses, no sheen */
@media (max-width: 960px), (hover: none), (pointer: coarse) {
	.d3-tilt.d3-tilt {
		transform: none;
		transition: box-shadow 0.3s ease, border-color 0.3s ease;
	}
	.d3-tilt::after { display: none; }
	.itzu-hero__terminal-wrapper,
	.itzu-rmm-showcase__frame { transform: none; }
	.itzu-hero__terminal-glow { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	body::before { animation: none; }
	.itzu-hero__bg-orb--1,
	.itzu-hero__bg-orb--2 { animation: none; }
	.d3-tilt.d3-tilt,
	.d3-tilt.d3-tilt:hover {
		transform: none;
		transition: box-shadow 0.2s ease, border-color 0.2s ease;
	}
	.d3-tilt::after { display: none; }
	.itzu-hero__terminal-wrapper,
	.itzu-hero__visual:hover .itzu-hero__terminal-wrapper,
	.itzu-rmm-showcase__frame,
	.itzu-rmm-showcase__visual:hover .itzu-rmm-showcase__frame {
		transform: none;
		transition: none;
	}
	.itzu-hero__terminal-glow { transform: none; }
}

/* keyboard users must never get a tilted, sheen-covered focus target */
.d3-tilt:focus-within {
	--d3-rx: 0deg;
	--d3-ry: 0deg;
	--d3-scale: 1;
}

@media print {
	body::before, body::after { display: none; }
	.d3-tilt.d3-tilt,
	.itzu-hero__terminal-wrapper,
	.itzu-rmm-showcase__frame { transform: none; box-shadow: none; }
	.d3-tilt::after { display: none; }
}

/* ---------- content protection ----------
   Kein Markieren/Kopieren von Texten, kein Ziehen/Speichern von Bildern.
   Formularfelder bleiben voll bedienbar. */
html { -webkit-touch-callout: none; }
body {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
input, textarea, select, [contenteditable="true"] {
	-webkit-user-select: text;
	-moz-user-select: text;
	-ms-user-select: text;
	user-select: text;
}
img, picture, svg, video, canvas {
	-webkit-user-drag: none;
	-khtml-user-drag: none;
	-moz-user-drag: none;
	user-drag: none;
	-webkit-touch-callout: none;
}
::selection { background: transparent; color: inherit; }
input::selection, textarea::selection { background: var(--accent); color: #061020; }

@media print {
	body > * { display: none !important; }
	body::after {
		content: "© IT-ZU — Inhalte dieser Website sind urheberrechtlich geschützt. Ausdruck nicht gestattet.";
		display: block;
		padding: 2rem;
		font: 400 12pt/1.6 sans-serif;
		color: #000;
	}
}
