/* Orvetura, statische Fassung: eine CSS-Datei für alle Seiten, Schrift Antic vom eigenen Webspace, keine externen
   Ressourcen. Gebaut aus dem Orvetura-Quellstand mit werkzeug/baue_static.py. */
@font-face { font-family: "Antic"; src: url("fonts/antic/Antic-Regular.woff2") format("woff2"), url("fonts/antic/Antic-Regular.woff") format("woff"); font-weight: 400; font-style: normal; font-display: swap; }


/* Grundlage ------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body {
	margin: 0; overflow-x: clip; background: #f4f8f8; color: #172c31;
	font-family: "Antic", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	line-height: 1.65; -webkit-font-smoothing: antialiased;
}
body::before {
	content: ""; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: -2; pointer-events: none;
	background: radial-gradient(circle at 4% 6%, rgba(55,183,156,.14), transparent 28rem),
	            radial-gradient(circle at 94% 24%, rgba(76,134,242,.11), transparent 34rem);
}
a { color: #1e6f5f; text-underline-offset: .2em; }
a:hover { color: #172c31; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #9a63e6; outline-offset: 4px; }
.ov-skip { position: fixed; top: .7rem; left: .7rem; z-index: 999; transform: translateY(-180%); padding: .7rem 1rem; border-radius: 8px; background: #172c31; color: #fff; font-weight: 800; }
.ov-skip:focus { transform: none; color: #fff; }

/* Kopf mit Marke und Menü. Ohne JavaScript bleibt die Navigation sichtbar und bricht um,
   mit JavaScript (Klasse .js aus site.js) wird sie auf schmalen Bildschirmen zum Klappmenü. ---- */
.ov-anker { scroll-margin-top: 84px; }
.ov-kopf {
	position: sticky; top: 0; z-index: 100;
	background: rgba(244,248,248,.88); border-bottom: 1px solid rgba(23,44,49,.08);
	-webkit-backdrop-filter: blur(22px) saturate(135%); backdrop-filter: blur(22px) saturate(135%);
}
.ov-kopf-innen {
	position: relative; width: 100%; max-width: 1212px; min-height: 78px; margin: 0 auto; padding: 0 1rem;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1.5rem;
}
.ov-marke { display: inline-flex; align-items: center; gap: .7rem; color: #172c31; text-decoration: none; }
.ov-marke:hover { color: #172c31; }
.ov-marke strong { display: block; font-size: 1.06rem; letter-spacing: .02em; line-height: 1.2; }
.ov-marke small { display: block; color: #3b575e; font-size: .63rem; letter-spacing: .11em; text-transform: uppercase; line-height: 1.3; }
.ov-marke-ring {
	position: relative; display: flex; align-items: center; justify-content: center; flex: 0 0 auto;
	width: 42px; height: 42px; border-radius: 50%;
	background: conic-gradient(from 210deg, #37b79c, #1fa8c4, #4c86f2, #9a63e6, #37b79c);
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.6), 0 5px 16px rgba(31,168,196,.2);
}
.ov-marke-ring::before { content: ""; width: 20px; height: 20px; border-radius: 50%; background: #f4f8f8; }
.ov-marke-ring i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #fff; transform: translate(11px,-9px); }
.ov-fuss .ov-marke, .ov-fuss .ov-marke:hover { color: #fff; }
.ov-fuss .ov-marke small { color: rgba(255,255,255,.62); }
.ov-fuss .ov-marke-ring::before { background: #172c31; }
.ov-nav { display: flex; flex-wrap: wrap; align-items: center; gap: .1rem; }
.ov-nav a { display: block; padding: .55rem .62rem; border-radius: 9px; color: #3b575e; font-size: .86rem; font-weight: 700; line-height: 1.2; text-decoration: none; }
.ov-nav a:hover { background: rgba(55,183,156,.12); color: #1d6c5c; }
.ov-nav .ov-nav-cta { margin-left: .4rem; padding: .66rem .9rem; background: #172c31; color: #fff; }
.ov-nav .ov-nav-cta:hover { background: #23464d; color: #fff; }
.ov-menue-knopf { display: none; padding: .5rem; border: 0; border-radius: 8px; background: none; cursor: pointer; }
.ov-menue-knopf span { display: block; width: 24px; height: 2px; margin: 5px; background: #172c31; transition: transform .18s, opacity .18s; }
.ov-menue-knopf[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ov-menue-knopf[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ov-menue-knopf[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (min-width: 961px) and (max-width: 1180px) {
	.ov-nav a { padding: .5rem .45rem; font-size: .82rem; }
	.ov-nav .ov-nav-cta { margin-left: .25rem; padding: .6rem .75rem; }
}
@media (max-width: 960px) {
	.ov-nav { padding-bottom: .6rem; }
	/* ohne JavaScript ist der Kopf mit umbrochener Navigation höher: nicht kleben, damit Sprungziele frei bleiben */
	html:not(.js) .ov-kopf { position: relative; }
	.js .ov-kopf-innen { flex-wrap: nowrap; }
	.js .ov-menue-knopf { display: block; }
	.js .ov-nav {
		display: none; position: absolute; top: 100%; right: 0; width: 88%; max-width: 390px;
		max-height: 85vh; overflow-y: auto; padding: 1.2rem 1.2rem 2rem;
		background: #f4f8f8; border-left: 1px solid rgba(23,44,49,.1); box-shadow: -20px 30px 50px rgba(23,44,49,.17);
	}
	.js .ov-nav.ist-offen { display: block; }
	.js .ov-nav a { margin: .15rem; font-size: 1rem; }
	.js .ov-nav .ov-nav-cta { margin: .75rem .15rem; text-align: center; }
}

/* Inhalt und Fuß: Breite steuern die Abschnitte selbst ---------------------- */
main { overflow: hidden; }
.ov-wrap { width: 100%; max-width: 1212px; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; }
.ov-narrow { width: 100%; max-width: 812px; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; }
.ov-vollbreite { position: relative; left: 50%; right: 50%; width: 100vw; margin-left: -50vw; margin-right: -50vw; }

/* Typografie ------------------------------------------------------------- */
.ov-seite h1, .ov-seite h2, .ov-seite h3 { margin: 0; color: #172c31; line-height: 1.08; letter-spacing: -.035em; font-family: inherit; }
.ov-seite h1 { font-size: 2.75rem; font-weight: 850; }
.ov-seite h2 { font-size: 2rem; font-weight: 820; }
.ov-seite h3 { font-size: 1.22rem; letter-spacing: -.015em; }
.ov-seite p { margin: 1rem 0 0; }
.ov-seite ul { padding-left: 1.2rem; }
.ov-eyebrow { display: inline-block; margin-bottom: 1.2rem; color: #276f61; font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.ov-lead { max-width: 690px; margin: 1.4rem 0 0; color: #3b575e; font-size: 1.1rem; line-height: 1.6; }
@media (min-width: 760px) {
	.ov-seite h1 { font-size: 4rem; }
	.ov-seite h2 { font-size: 2.8rem; }
	.ov-lead { font-size: 1.2rem; }
}
@media (min-width: 1100px) {
	.ov-seite h1 { font-size: 5.2rem; }
	.ov-seite h2 { font-size: 3.4rem; }
	.ov-lead { font-size: 1.3rem; }
}

/* Knöpfe ----------------------------------------------------------------- */
.ov-hero-actions, .ov-section-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.ov-button {
	display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 48px;
	padding: .73rem 1.1rem; border: 2px solid #172c31; border-radius: 10px; background: #172c31; color: #fff;
	font-weight: 800; text-decoration: none; box-shadow: 0 7px 20px rgba(23,44,49,.18); transition: transform .18s, box-shadow .18s;
}
.ov-button:hover { transform: translateY(-2px); color: #fff; box-shadow: 0 12px 28px rgba(23,44,49,.22); }
.ov-button.ov-secondary { background: transparent; color: #172c31; box-shadow: none; }
.ov-button.ov-secondary:hover { background: #fff; color: #172c31; }

/* Startbild ---------------------------------------------------------------- */
.ov-hero { padding: 3.5rem 0 5rem; }
.ov-hero-grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); align-items: center; gap: 4rem; }
.ov-hero-visual { position: relative; min-height: 500px; }
.ov-orbit {
	position: absolute; top: 4%; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center;
	border: 1px solid rgba(44,143,121,.22); border-radius: 50%;
	background: radial-gradient(circle, rgba(255,255,255,.82) 0 19%, rgba(55,183,156,.08) 20% 42%, transparent 43%);
	box-shadow: inset 0 0 80px rgba(31,168,196,.06);
}
.ov-orbit::before, .ov-orbit::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(76,134,242,.25); }
.ov-orbit::before { top: 14%; right: 14%; bottom: 14%; left: 14%; transform: rotate(18deg); }
.ov-orbit::after { top: 29%; right: 29%; bottom: 29%; left: 29%; border-color: rgba(154,99,230,.28); }
.ov-core {
	position: relative; z-index: 2; width: 150px; height: 150px; display: flex; align-items: center; justify-content: center;
	border-radius: 36% 64% 61% 39% / 43% 37% 63% 57%;
	background: linear-gradient(115deg, #2fb58f 0%, #1fa8c4 45%, #4c86f2 78%, #9a63e6 100%);
	color: #fff; font-weight: 850; box-shadow: 0 25px 70px rgba(31,168,196,.28); animation: ov-float 7s ease-in-out infinite;
}
.ov-core::after { content: ""; position: absolute; top: 5px; right: 5px; bottom: 5px; left: 5px; border: 1px solid rgba(255,255,255,.48); border-radius: inherit; }
.ov-node {
	position: absolute; z-index: 3; width: 150px; padding: .75rem .8rem; border: 1px solid rgba(255,255,255,.8); border-radius: 13px;
	background: rgba(255,255,255,.78); box-shadow: 0 8px 30px rgba(23,44,49,.09);
	-webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); font-size: .73rem; line-height: 1.4; color: #3b575e;
}
.ov-node strong { display: block; color: #172c31; font-size: .8rem; }
.ov-node::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: .4rem; border-radius: 50%; background: #37b79c; }
.ov-n1 { top: 8%; left: 2%; } .ov-n2 { top: 21%; right: -2%; } .ov-n3 { bottom: 16%; left: -2%; } .ov-n4 { right: 4%; bottom: 3%; }
@keyframes ov-float { 50% { transform: translateY(-12px) rotate(2deg); } }

/* Leiste, Abschnitte, Karten ---------------------------------------------- */
.ov-truth-strip { padding: 1.1rem 0; background: #172c31; color: #fff; }
.ov-truth-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.ov-truth-item { display: flex; gap: .8rem; align-items: flex-start; padding: .8rem; }
.ov-truth-item span { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; font-size: .75rem; font-weight: 800; }
.ov-truth-item strong { display: block; }
.ov-truth-item small { color: rgba(255,255,255,.68); }
.ov-section { padding: 4.5rem 0; }
.ov-section.ov-soft { background: rgba(232,240,241,.72); }
@media (min-width: 760px) { .ov-section { padding: 7rem 0; } .ov-hero { padding: 6rem 0 5rem; } }
.ov-section-head { max-width: 820px; margin-bottom: 3rem; }
.ov-section-head p { color: #3b575e; font-size: 1.08rem; }
.ov-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.ov-card {
	position: relative; z-index: 0; padding: 1.55rem; border: 1px solid rgba(255,255,255,.8); border-radius: 22px;
	background: rgba(255,255,255,.66); box-shadow: 0 8px 30px rgba(23,44,49,.09);
	-webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
}
.ov-card::before { content: ""; position: absolute; top: -1px; right: -1px; bottom: -1px; left: -1px; z-index: -1; border-radius: inherit; background: linear-gradient(135deg, rgba(55,183,156,.28), rgba(76,134,242,.13), rgba(154,99,230,.18)); }
.ov-card p { margin: .7rem 0 0; color: #3b575e; }
.ov-card-index { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin-bottom: 1.2rem; border-radius: 11px; background: rgba(55,183,156,.13); color: #226f60; font-weight: 850; }
.ov-card-link { display: inline-block; margin-top: 1rem; font-weight: 800; text-decoration: none; }
.ov-split { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.ov-panel { padding: 2.5rem; border-radius: 22px; background: rgba(255,255,255,.7); box-shadow: 0 24px 70px rgba(23,44,49,.12); border: 1px solid rgba(255,255,255,.8); }
.ov-decision { display: grid; gap: .8rem; }
.ov-decision-row { display: grid; grid-template-columns: 42px 1fr auto; gap: .8rem; align-items: center; padding: 1rem; border-radius: 12px; background: #f4f8f8; line-height: 1.4; }
.ov-decision-row > span:first-child { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; background: #fff; color: #2c8f79; font-weight: 850; }
.ov-decision-row strong { display: block; }
.ov-decision-row small { color: #627b81; }
.ov-badge { padding: .23rem .55rem; border-radius: 999px; background: rgba(55,183,156,.12); color: #226b5d; font-size: .68rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.ov-badge.ov-wait { background: rgba(230,140,0,.12); color: #754900; }
.ov-badge.ov-block { background: rgba(192,57,43,.11); color: #8b1a1a; }
.ov-steps { display: grid; gap: 0; counter-reset: ovsteps; }
.ov-step { position: relative; display: grid; grid-template-columns: 86px 1fr; gap: 1.4rem; padding: 0 0 3rem; }
.ov-step::before { counter-increment: ovsteps; content: counter(ovsteps, decimal-leading-zero); position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 20px; background: #172c31; color: #fff; font-weight: 850; }
.ov-step:not(:last-child)::after { content: ""; position: absolute; top: 64px; left: 31px; bottom: 0; width: 2px; background: linear-gradient(#2c8f79, #4c86f2); }
.ov-step p { margin: .45rem 0; color: #3b575e; }
.ov-quote { padding: 3rem; border-radius: 22px; background: #172c31; color: #fff; }
.ov-quote p { margin: 0; font-size: 1.6rem; font-weight: 750; line-height: 1.25; letter-spacing: -.025em; color: #fff; }
.ov-quote small { display: block; margin-top: 1.2rem; color: rgba(255,255,255,.65); }
@media (min-width: 900px) { .ov-quote p { font-size: 2.4rem; } .ov-quote { padding: 4rem; } }
.ov-page-hero { padding: 4rem 0 3rem; }
@media (min-width: 760px) { .ov-page-hero { padding: 7rem 0 5rem; } }
.ov-page-hero h1 { max-width: 970px; }
.ov-page-hero .ov-lead { max-width: 820px; }
.ov-page-meta { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 2rem; }
.ov-page-meta span { padding: .4rem .65rem; border-radius: 999px; background: rgba(55,183,156,.1); color: #246c5e; font-size: .75rem; font-weight: 800; }
.ov-feature-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.ov-feature { padding: 1.4rem; border-left: 3px solid #2c8f79; background: rgba(255,255,255,.58); border-radius: 0 12px 12px 0; }
.ov-feature p { margin: .4rem 0 0; color: #3b575e; }
.ov-status-board { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.ov-status-card { padding: 1.5rem; border-radius: 22px; background: #fff; box-shadow: 0 8px 30px rgba(23,44,49,.09); }
.ov-status-dot { width: 11px; height: 11px; border-radius: 50%; background: #2c8f79; box-shadow: 0 0 0 5px rgba(55,183,156,.12); }
.ov-status-card.ov-open .ov-status-dot { background: #d08800; box-shadow: 0 0 0 5px rgba(208,136,0,.12); }
.ov-status-card.ov-restricted .ov-status-dot { background: #b43b31; box-shadow: 0 0 0 5px rgba(180,59,49,.11); }
.ov-status-card h3 { margin-top: 1.1rem; }
.ov-status-card p { color: #3b575e; }
.ov-faq { display: grid; gap: .7rem; }
.ov-faq details { padding: 1.15rem 1.3rem; border: 1px solid rgba(23,44,49,.1); border-radius: 12px; background: rgba(255,255,255,.64); }
.ov-faq summary { cursor: pointer; color: #172c31; font-weight: 800; }
.ov-faq p { color: #3b575e; }
.ov-contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 3rem; align-items: start; }
.ov-contact-grid li { color: #3b575e; margin: .3rem 0; }
.ov-form-note { font-size: .8rem; color: #627b81; }
.ov-legal h2 { margin-top: 2.5rem; font-size: 1.65rem; }
.ov-legal p, .ov-legal li { color: #3b575e; }

/* Fuß -------------------------------------------------------------------- */
footer.ov-fuss { padding: 4rem 0 1.5rem; background: #172c31; color: rgba(255,255,255,.8); }
.ov-footer-grid { display: grid; grid-template-columns: 1.8fr 1fr 1fr; gap: 3rem; }
.ov-footer-grid p { max-width: 400px; color: rgba(255,255,255,.62); }
.ov-footer-grid > div:not(:first-child) { display: grid; align-content: start; gap: .5rem; }
.ov-footer-grid > div > strong { margin-bottom: .45rem; color: #fff; }
.ov-footer-grid a { color: rgba(255,255,255,.72); text-decoration: none; }
.ov-footer-grid a:hover { color: #fff; }
.ov-footer-bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.1); font-size: .78rem; color: rgba(255,255,255,.5); }

/* Mittlere und kleine Bildschirme ----------------------------------------- */
@media (max-width: 960px) {
	.ov-hero-grid, .ov-split, .ov-contact-grid { grid-template-columns: 1fr; }
	.ov-hero-visual { min-height: 430px; max-width: 600px; width: 100%; margin: 0 auto; }
	.ov-grid-3, .ov-status-board { grid-template-columns: 1fr 1fr; }
	.ov-truth-grid, .ov-feature-list { grid-template-columns: 1fr; }
	.ov-split { gap: 3rem; }
}
@media (max-width: 620px) {
	.ov-hero { padding-top: 3rem; }
	.ov-hero-visual { min-height: 370px; }
	.ov-node { width: 125px; font-size: .65rem; }
	.ov-n1 { left: 0; } .ov-n2 { right: 0; } .ov-n3 { left: 0; } .ov-n4 { right: 0; }
	.ov-core { width: 112px; height: 112px; }
	.ov-grid-3, .ov-status-board { grid-template-columns: 1fr; }
	.ov-step { grid-template-columns: 64px 1fr; gap: 1rem; }
	.ov-step::before { width: 54px; height: 54px; border-radius: 16px; }
	.ov-step:not(:last-child)::after { top: 54px; left: 26px; }
	.ov-footer-grid { grid-template-columns: 1fr; }
	.ov-footer-bottom { display: block; }
	.ov-footer-bottom span { display: block; }
	.ov-decision-row { grid-template-columns: 38px 1fr; }
	.ov-decision-row .ov-badge { grid-column: 2; justify-self: start; }
	.ov-panel { padding: 1.5rem; }
	.ov-quote { padding: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Seite Orvetura Lite: Orbit mit sechs Bereichen und Zusammenhangsgrafik ---- */
.ov-orbit-6 .ov-core { width: 160px; height: 160px; font-size: 1.05rem; text-align: center; line-height: 1.2; }
.ov-orbit-6 .ov-l1 { top: 0; left: 33%; }
.ov-orbit-6 .ov-l2 { top: 20%; right: -4%; }
.ov-orbit-6 .ov-l3 { bottom: 20%; right: -4%; }
.ov-orbit-6 .ov-l4 { bottom: 0; left: 33%; }
.ov-orbit-6 .ov-l5 { bottom: 20%; left: -4%; }
.ov-orbit-6 .ov-l6 { top: 20%; left: -4%; }
.ov-lite-map { display: grid; gap: 0; justify-items: center; margin-bottom: 3rem; }
.ov-lite-tools { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; }
.ov-lite-tools span { padding: .55rem .9rem; border-radius: 999px; background: #fff; border: 1px solid rgba(44,143,121,.25); box-shadow: 0 8px 30px rgba(23,44,49,.07); color: #172c31; font-size: .88rem; font-weight: 750; }
.ov-lite-connector { width: 2px; height: 2.6rem; background: linear-gradient(#37b79c, #4c86f2); }
.ov-lite-contract { max-width: 640px; padding: 1.1rem 1.4rem; border-radius: 16px; text-align: center; color: #fff; background: linear-gradient(115deg, #2fb58f 0%, #1fa8c4 45%, #4c86f2 78%, #9a63e6 100%); box-shadow: 0 18px 50px rgba(31,168,196,.22); }
.ov-lite-contract strong { display: block; font-size: 1.05rem; }
.ov-lite-contract small { display: block; margin-top: .3rem; color: rgba(255,255,255,.9); }
.ov-lite-core { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .5rem; padding: 1.2rem 1.4rem; border-radius: 18px; background: #172c31; color: #fff; }
.ov-lite-core b { margin-right: .4rem; font-weight: 850; }
.ov-lite-core span { padding: .4rem .7rem; border-radius: 10px; background: rgba(255,255,255,.1); font-size: .85rem; font-weight: 700; }
.ov-lite-core i { font-style: normal; color: rgba(255,255,255,.55); }
.ov-lite-list { margin: .8rem 0 0; padding: 0; list-style: none; }
.ov-lite-list li { padding: .55rem 0; border-top: 1px solid rgba(23,44,49,.08); color: #3b575e; font-size: .95rem; line-height: 1.45; }
.ov-lite-list li strong { display: block; color: #172c31; font-size: .95rem; }
@media (max-width: 620px) {
	.ov-hero-visual-6 { min-height: 0; }
	.ov-orbit-6 { position: relative; top: auto; right: auto; bottom: auto; left: auto; display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; padding: 1.4rem .8rem; border-radius: 22px; }
	.ov-orbit-6::before, .ov-orbit-6::after { display: none; }
	.ov-orbit-6 .ov-core { grid-column: 1 / -1; justify-self: center; width: 118px; height: 118px; margin-bottom: .6rem; font-size: .9rem; }
	.ov-orbit-6 .ov-node { position: static; width: auto; }
	.ov-lite-core span { font-size: .78rem; }
}

/* Seite Ein Tag mit OrveturaOS: Zeitleiste -------------------------------- */
.ov-tag-zeitleiste { display: grid; gap: 0; }
.ov-tag-schritt { position: relative; display: grid; grid-template-columns: 96px 1fr; gap: 1.4rem; padding: 0 0 2.4rem; }
.ov-tag-zeit { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; width: 72px; height: 48px; border-radius: 14px; background: #172c31; color: #fff; font-weight: 850; font-size: .95rem; }
.ov-tag-schritt:not(:last-child)::after { content: ""; position: absolute; top: 48px; left: 35px; bottom: 0; width: 2px; background: linear-gradient(#2c8f79, #4c86f2); }
.ov-tag-schritt h3 { margin-top: .6rem; }
.ov-tag-schritt p { margin: .45rem 0 0; color: #3b575e; max-width: 760px; }
@media (max-width: 620px) {
	.ov-tag-schritt { grid-template-columns: 64px 1fr; gap: 1rem; }
	.ov-tag-zeit { width: 58px; height: 40px; font-size: .82rem; border-radius: 12px; }
	.ov-tag-schritt:not(:last-child)::after { top: 40px; left: 28px; }
	.ov-tag-schritt h3 { margin-top: .4rem; }
}
/* Mehr Menüpunkte: auf mittleren Breiten etwas enger */
@media (min-width: 961px) and (max-width: 1180px) {
	.ov-kopf-innen { gap: 1rem; }
}

/* Kapitel der einen Seite: Überschriften eine Ebene tiefer, gleiche Optik ---- */
.ov-kapitel { border-top: 1px solid rgba(23,44,49,.08); }
.ov-kapitel h2, .ov-kapitel h3, .ov-kapitel h4 { margin: 0; color: #172c31; line-height: 1.08; letter-spacing: -.035em; font-family: inherit; }
.ov-kapitel h2 { font-size: 2.5rem; font-weight: 850; }
.ov-kapitel h3 { font-size: 2rem; font-weight: 820; }
.ov-kapitel h4 { font-size: 1.22rem; letter-spacing: -.015em; }
.ov-kapitel .ov-page-hero h2 { max-width: 970px; }
.ov-kapitel .ov-tag-schritt h4 { margin-top: .6rem; }
.ov-kapitel .ov-legal h3 { margin-top: 2.5rem; font-size: 1.65rem; }
@media (min-width: 760px) {
	.ov-kapitel h2 { font-size: 3.6rem; }
	.ov-kapitel h3 { font-size: 2.8rem; }
}
@media (min-width: 1100px) {
	.ov-kapitel h2 { font-size: 4.4rem; }
	.ov-kapitel h3 { font-size: 3.2rem; }
}
/* Schrittnummern sind Gestaltung: für Bildschirmleser stumm (leerer CSS-Alternativtext, Owner 2026-10-31).
   Browser ohne diese Schreibweise behalten die erste Angabe und zeigen die Nummer wie bisher. */
.ov-step::before { content: counter(ovsteps, decimal-leading-zero); content: counter(ovsteps, decimal-leading-zero) / ""; }

/* Entscheidungskarten: Frage und Zusatz in einer Zeile, getrennt durch genau ein Leerzeichen (Auftrag Punkt 12) */
.ov-decision-row strong, .ov-decision-row small { display: inline; }
/* Fokus auch für den Menüknopf sichtbar */
.ov-menue-knopf:focus-visible { outline: 3px solid #9a63e6; outline-offset: 4px; }
/* Gliederung ohne Sprung: ehemalige h4 unter dem Kapiteltitel sind h3, behalten aber ihre Größe */
.ov-kapitel h3.ov-h-klein { font-size: 1.22rem; font-weight: 700; letter-spacing: -.015em; }
/* Rechtsseiten: lange Wörter wie "Datenschutzerklärung" müssen in die schmale Spalte passen */
.ov-legal h1 { font-size: 2rem; overflow-wrap: anywhere; }
@media (min-width: 760px) { .ov-legal h1 { font-size: 3rem; } }
@media (min-width: 1100px) { .ov-legal h1 { font-size: 3.6rem; } }
/* Menüpunkt der aktuellen Seite (Lite, Ein Tag) */
.ov-nav a[aria-current="page"] { background: rgba(55,183,156,.12); color: #1d6c5c; }
/* Wer dahinter steht: Foto neben dem Text, auf schmalen Bildschirmen darüber */
.ov-person { display: grid; gap: 1.8rem; align-items: start; }
.ov-person-foto { display: block; width: 100%; max-width: 200px; height: auto; border-radius: 24px; box-shadow: 0 18px 40px rgba(23,44,49,.14); }
.ov-person-text { max-width: 760px; }
.ov-person-text h3 { margin-top: .5rem; }
.ov-person-text p { margin: 1rem 0 0; }
.ov-person-text .ov-person-rolle { margin-top: .6rem; color: #1d6c5c; font-weight: 700; }
.ov-person-zitat { margin: 1.6rem 0 0; padding: .2rem 0 .2rem 1.2rem; border-left: 3px solid #37b79c; }
.ov-person-zitat p { margin: 0; color: #172c31; font-size: 1.2rem; font-weight: 700; line-height: 1.45; }
@media (min-width: 760px) { .ov-person { grid-template-columns: 220px minmax(0, 1fr); gap: 3rem; } .ov-person-foto { max-width: 220px; } }
.ov-person-text h2 { margin-top: .5rem; }
/* Kapitelseiten: ehemalige h4 unter dem Kapiteltitel sind jetzt h2 mit der Größe einer Kartenüberschrift */
.ov-unterseite h2.ov-h-klein { font-size: 1.22rem; font-weight: 700; letter-spacing: -.015em; }
/* Kontaktformular (Gestaltung aus dem Prototyp) */
.ov-contact-form { display: grid; gap: 1rem; margin-top: 1.2rem; }
.ov-field { display: grid; gap: .35rem; }
.ov-field label { font-size: .83rem; font-weight: 800; }
.ov-field input, .ov-field textarea, .ov-field select { width: 100%; padding: .78rem .85rem; border: 1.5px solid rgba(23,44,49,.6); border-radius: 10px; background: #fff; color: #172c31; font: inherit; }
.ov-field [aria-invalid="true"] { border-color: #b3261e; }
.ov-form-note { color: #587076; }
.ov-field textarea { min-height: 150px; resize: vertical; }
.ov-field[hidden] { display: none; }
.ov-pflicht::after { content: " *"; content: " *" / ""; }
.ov-contact-form .ov-form-note { margin: 0; }
.ov-contact-form .ov-button { justify-self: start; border: 0; cursor: pointer; font: inherit; }
.ov-contact-form .ov-button:disabled { opacity: .45; cursor: not-allowed; }
.ov-honig { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
/* Einwilligung zur Statistik: unten, beide Knöpfe gleich gewichtet */
.ov-einwilligung { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 200; max-width: 720px; margin: 0 auto; padding: 1.2rem 1.3rem; border-radius: 18px; background: #172c31; color: #fff; box-shadow: 0 20px 50px rgba(23,44,49,.3); }
.ov-einwilligung p { margin: 0 0 1rem; font-size: .95rem; line-height: 1.5; }
.ov-einwilligung a { color: #9fe3d2; }
.ov-einwilligung-knoepfe { display: flex; flex-wrap: wrap; gap: .6rem; }
.ov-einwilligung button { padding: .7rem 1.1rem; border: 1.5px solid #fff; border-radius: 10px; background: transparent; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.ov-einwilligung button:hover { background: #fff; color: #172c31; }
.ov-einwilligung button:focus-visible, .ov-cookie-knopf:focus-visible { outline: 3px solid #9a63e6; outline-offset: 4px; }
.ov-einwilligung:focus-visible { outline: 3px solid #9a63e6; outline-offset: 4px; }
.ov-cookie-knopf { display: block; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; opacity: .78; }
.ov-cookie-knopf[hidden] { display: none; }
html { scroll-padding-top: 96px; }
.ov-cookie-knopf:hover { opacity: 1; text-decoration: underline; }
